'AVR'에 해당되는 글 6건

  1. 2007/06/02 Duty비란? (1)
  2. 2007/05/19 [5/18]도서 대출 완료! (6)
  3. 2007/05/18 [5/17]드디어 LED 켜기 성공! (7)
  4. 2007/05/08 [스크랩] AVR, 8051, PIC 비교 (4)
  5. 2007/04/23 AVR Atmega8, 16, 128 Datasheet (4)
  6. 2007/04/19 AVR로 갑니다.

Duty비란?

Robots 2007/06/02 10:02
Duty비란 주기를 가지는 Pulse에서 쓰이는 용어이다.
일반적으로 Duty비라고 하면 On Duty Ratio를 가리키는 경우가 대부분인데, 이는 한 주기에 대해서 펄스가 On 상태인 시간의 비율을 뜻한다.
다음 그림을 보자.

사용자 삽입 이미지


위 그림에서 T는 주기이고, t1과 t2는 각각 펄스가 On인 상태의 시간과 Off인 상태의 시간을 나타낸다. 이 때 On Duty Ratio는 t1/T이고, Off Duty Ratio는 t2/T이다.

PWM(펄스폭 변조)을 이용하여 DC모터의 제어를 할 때에는 Duty비를 조절하면 된다. DC모터의 경우 전류를 주지 않아도 회전 관성에 의해 계속 회전하는 특성을 가진다. 이러한 특성때문에 PWM을 이용하여 제어가 가능한 것이다. 즉, 펄스가 On인 동안은 모터가 가속되지만, Off인 동안은 관성을 이용하여 감속하며 회전하기 때문에, On인 구간, 즉 Duty비가 크면 클 수록 가속 구간이 많아지기 때문에 모터의 속도는 빨라지게 된다.

일반적으로 마이크로 컨트롤러에 있는 타이머/카운터의 경우 PWM 기능을 내장하고 있는데, 카운터 0x00부터 0xff까지를 펄스 한 주기로 보고, Compare Match를 On/Off의 전환점으로 보면 PWM 파형이 발생된다.

사용자 삽입 이미지



2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry

5월 18일.

그래도 저주는 없었나봅니다.
드디어 ATmega128의 최강도서라고 불리는 《AVR ATmega128 마스터》- 윤덕용 저, Ohm 을 도서관에서 빌리는 데 성공했습니다. 지금까지 이녀석 빌리려고 도서관에 몇 번을 왔다갔다했는지 모릅니다.

도서 대출카드 없어서 실패.
누가 빌려가서 실패.
어린이날, 휴관일이라서 실패.
월요일, 정기 휴관일이라서 실패.

이런 실패들을 딛고 드디어 오늘 대출에 성공했습니다.

내용은 확실히 탄탄한 것 같습니다. 쭉 읽다보니 인터넷에 있는 자료들이 다 이 책에서 나왔다는 것을 알 수 있더군요.

포트 I/O 부분까지 읽다가 잠들어버렸습니다... 꾸준히 읽어야되겠습니다.




2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry

5월 17일.

드디어 마이컴을 이용하여 LED를 제어하는 데 성공했습니다!

어제 오늘 계속 프로그램 다운로드가 안되어서 못하고 있었는데, AVR Studio 4에서 다운로드 할 때 뜨는 펌웨어 업그레이드 메시지에서 취소를 누르니 다운로드가 정상적으로 되는군요.

연결은 매우 원시적?으로 했습니다. 아직 회로를 설계하는 기술이 없어서, 어떤 게 좋은 회로인지 감이 안잡히더군요.

사용자 삽입 이미지

사용자 삽입 이미지

처음으로 켠 LED의 모습입니다. LED에 불이 들어왔을 때 너무 기뻐 울 뻔(ㅡㅡ;) 했다는...;;

위 LED를 켠 소스코드입니다.

(Language : c)
  1. #include <avr/io.h>
  2.  
  3. int main(void)
  4. {
  5.     DDRA=0xff;
  6.     PORTA=0xff;
  7.     return 0;
  8. }

보시다시피 캐소드 커먼 방식입니다. 전구가 많아지면 빛이 약해진다는,,,

처음 LED를 켜고 이번엔 센서를 해보겠다는 마음으로 백방으로 일단 발광 소자에서는 LED와 같은 방법으로 발광을 시켰고, 수광은 VCC - 수광 - 저항 - 입력포트 순으로 연결을 하였습니다. 그런데 전혀 반응을 안하더군요. 테스터기로 찍어보니 빛의 밝기에 따라 전류의 양은 변하던데, 전압이 안 변해서 읽지를 못하는 건지 아무튼 3~4시간정도 센서와 씨름하다가 결국에는 카페에 질문 하나 올려 놓고 포기했습니다.

그래도 그걸로 끝내긴 뭐해서 LED와 슈퍼플럭스 8개를 쭉 달아서 순차적으로 불이 들어오는 것을 만들어봤습니다.

사용자 삽입 이미지

사용자 삽입 이미지사용자 삽입 이미지사용자 삽입 이미지

이번엔 애노드 커먼 방식으로 했습니다. 확실히 밝더군요.

8개의 LED 순차적으로 점등 (Language : c)
  1. #include <avr/io.h>
  2.  
  3. int table[8]={0x7e, 0xfc, 0xf9, 0xf3, 0xe7, 0xcf, 0x9f, 0x3f};
  4.  
  5. void DELAY(int time)
  6. {
  7.     while(time>0)
  8.         time--;
  9. }
  10.  
  11. int main(void)
  12. {
  13.     int i;
  14.     DDRA=0xff;
  15.     PORTA=0xff;
  16.     for(i=0;i<8;i++)
  17.     {
  18.         PORTA=table[i];
  19.         DELAY(10000);
  20.     }
  21.     return 0;
  22. }


오늘은 이것으로 만족해야겠습니다.
인터넷을 뒤져보니 센서 활용에는 ADC가 필수던데, 다음번엔 ADC 공부좀 해서 센싱에 성공해야겠습니다.



2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry
* 스크랩한 글입니다.

제 경험으로 쓰자면 객관적이라기 보다 주간적인 성격이 짙겠군요.
전 8051, AVR, PIC를 모두 사용해봤습니다. 제가 모르는 것도 많아서 틀릴 수도 있습니다.

* 동작 속도
PIC : 20M -> 내부적으로 1/4 분주 -> 5Mips
8051 : 20M -> 내부적으로 1/7~8 분주? -> 2.5~3 Mips
AVR8515 : 8M -> 내부 분주 안함 -> 8Mips

경험상 8051은 AVR8515보다 늦다는 게 느껴지더군요. 특히 UART.
8051은 CISC구조고, 나머지 둘은 RISC구조입니다.

* 명령어 개수
PIC : 약 35개
8051 : 약 120 개
AVR8515 : 약 120 개

PIC는 명령어가 적어서 배우기는 편하지만 구현시에 짱돌을 많이 굴려야 함다.

* 가격
PIC -> OTP 타입이 있는 제품은 싸다. 즉, 제품 단가가 싸다.
8051 -> 역시 OTP 타입이 있어서 제품 개발시 단가가 싸다.
AVR8515 -> OTP 타입이 없어서 단가가 비싸다.

AVR이 가격 면에서 가장 뒤쳐집니다.

* 메모리
PIC -> 수십 바이트 정도?
8051 -> 128 + ext RAM(max 64k)
AVR8515 -> 512 + ext RAM(max 64k), + eeprom(512)
PIC는 메모리가 매우 적으며, 외부 램도 지원 안합니다.

메모리는 AVR이 가장 많습니다. 8051도 뒤지지는 않구요.
특히 AVR은 EEPROM(내부 램 사이즈와 동일)을 내장하고 있습니다.

* ROM 지원
8051 -> 내부롬(변종은 Flash가 들어 있음) + 외부롬(64K max)
PIC -> 수 KB.(flash타입이나 eeprom타입은 거의 없으며 eprom 타입은 있음) : 개발이 까다로울 수 있음
AVR8515 -> 8KB flash, 다른 패밀리도 모두 flash를 채택하여 개발이 쉬움

8051은 초창기에 flash 타입이 없었으나 요즘에는 atmel, philips에서 지원.
PIC는 주로 OTP, EPROM 타입이 대부분
AVR은 모두 flash를 채택하였다는 것이 특징

* 프로그램 방식
8051 -> 일부는 롬라이터, 일부는 ISP(In system programmer)
PIC -> 롬라이터, UV Erasure 필요
AVR8515 -> ISP 방식으로 회로 상에서 프로그래밍

* 개발언어
8051 -> 어셈블러도 좋고, c도 좋다. 하지만 C는 느리다.
PIC -> 어셈블러는 좋으나 c는 하드웨어 구조상 문제점이 많다.
c가 생성하는 코드 효율도 나쁘다.
AVR8515 -> 어셈블러, C, 어셈블러+C 모두 좋다.
C의 경우 속도차가 있지만 무시해도 좋다.

* 특히 8051이나 PIC의 경우는 C 컴파일러의 가격이 비싸다.
* 하지만, AVR의 경우는 상용에 뒤쳐지지 않는 무료 "AVR-GCC"가 있다.
* 참고로 gcc가 포팅된 CPU중에서 8비트 CPU는 AVR 뿐...
* AVR용 프로그래머는 공짜가 많다.


AVR => 기존의 마이크로 프로세서에 RAM + ROM을 부착한 형태, 프로세서 교육용으로 적합, 부품 가격은 약 7~8천원. 계측기나 고급 기종에 적합, 업그레이드가 용이.

PIC => 부품 가겨이 매우싸고 심플, 하지만 콘트로러의 성격이 강함. 양산용으로 적합.

8051 => avr과 pic의 장단점의 중간 정도? 무던하다. 하지만 좀 느리다. 플래쉬 타입 이용시 업그레이드 용이.


위의 내용은 본인의 개인적인 생각이며, 즉흥적인 생각이다. 이점을 고려하기 바란다.




2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry
TAG 8051, AVR, PIC, 로봇

AVR Atmega8, Atmega16, Atmega128 Datasheet입니다.
핀 정보, 내부 블록 다이어그램, 레지스터 정보, 명령어 정보 등이 있습니다.
위의 세 파일은 요약본이고, 아래의 세 파일은 풀 버전입니다.


2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry

AVR로 갑니다.

Robots 2007/04/19 23:28

로봇 대회 출전이 임박하여 마이크로 프로세서 구입에 대해 대충 알아보았습니다.

마이크로 프로세서는 제조 회사에 따라 크게 세 가지가 있습니다.

Intel - 8051, Atmel - AVR, Comfile - PIC
제일 많이 사용하는 것이 무엇인지는 모르겠습니다. 사람들마다 자기가 쓰는 것이 가장 많이 쓰이는 것이라고 하기 때문에 객관적이고 정확한 정보를 얻기가 힘들군요.
사용자 삽입 이미지

ATMEL128 Basic Extension Board (출처 : AVR Mall)



저는 이 중 AVR을 사용하기로 했습니다. 네이버에 큰 카페 가 하나 있어 정보를 얻기 수월할 것 같고, 전용 온라인 샵 이 있기 때문이었습니다. 그리고 왠지 모르게 다른 것들보다 끌리더군요.

아직 로봇의 설계가 되어 있지 않기 때문에 어떤 부품을 사야 할 지는 모르겠습니다. 조만간 설계를 끝내서 부품은 한꺼번에 주문하려고 합니다. 그 동안에는 관련 서적을 구입(혹은 대여)하여 공부를 착실히 해야겠습니다. C Programming이라고는 하지만 중요한 것은 C 실력이 아닌, 라이브러리를 얼마나 많이 알고 잘 다룰 수 있느냐이니까요. 지금까지 해 왔던 것과는 전혀 별개의 것으로 인식하고 새로 시작하는 마음으로 해야겠습니다. 특히 전자쪽은 진짜로 처음 접하는 것이기 때문에 어려움이 많겠지만, 이번 기회를 잘 살려서 전자 쪽에도 지식을 뚫어 놓아야겠습니다.

AVR 프로세서에도 여러 가지가 있습니다. 동작 클럭이나 플래시의 크기에 따라 Atmega4 ~ Atmega128까지 다양한데요, 가격도 얼마 안 하는데 이왕 사는 거 좋은 거 사는 게 낫겠다 싶어서 Atmega128 생각하고 있습니다. 프로세서만 사면 4,400원밖에 안 하는데 보드에 얹혀져 있는 컨트롤러는 18,000원이네요. 거기에 ISP(컴퓨터와 연결하여 프로그램을 다운받는 장치)까지 사려면 5만원돈 깨지겠네요. 서보 모터가 하나에 16,000원 정도 하니까 두어 개 생각하고, 기타 부품까지 생각하면... 대략 100,000원 잡아야 되지 않을까요. 역시 로봇은 혼자서는 무리입니다. 왜 팀인지 이제야 알겠습니다...

일단는 사는 것은 급하게 생각하지 말고 공부를 통해 충분히 내공을 쌓은 후 결정해야겠습니다.
다음은 유용한 사이트 링크입니다.

온라인 샵 - AVR Mall
네이버 카페 - 당근이의 AVR 갖구 놀기
PIC Study - 마하전자기술연구소



2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
Posted by Harry