AVR 시리즈 ATTINY2313 제어 연습용 MCU모듈 만들기 - AVR 시작하기

2012.12.28 21:24




현재 군 복무중인 상태입니다.



블로그를 변경하고 첫 포스팅입니다.

이전 블로그에서 다른 분이 만들어둔 기판을 사용했더니 제가 설계해놓은 PCB가 아니라서 공개도 어렵고 설명도 드리기 어려워서 직접 단면기판으로 MCU모듈을 제작했습니다. 그럼 간단하게 MCU가 뭔지 알아 보겠습니다.



MCU가 무엇일까요?


MCU(Micro Controller Unit)란 일반PC 컴퓨터의 CPU랑 같은 역할을 하지만 특정분야의 특수 목적용으로 만들어졌고 컴퓨터처럼 CPU, RAM, ROM 등으로 따로 분리되어있는 것이 아니라 ONE-CHIP 하나의 칩에 모든 필요한 모든기능이 다 들어가 있습니다.

위에서 사용된 칩은 다양한 PIC, 8051, AVR, ARM들 에서 Atmel에서 만들어진 AVR 중 Tiny 시리즈이며 8비트로 동작합니다.

제가 설계해놓은 PCB가 일종의 PC 컴퓨터 본체라면 이제 C언어로 코딩해서 AVR의 플래시메모리에 원하는 동작을 설계해 넣기만 하면됩니다.



ATTINY2313의 기능은? 핀배치?



ATTINY2313의 핀아웃 입니다. 먼저 괄호안의 영문자가 해당핀에 기능이고 포트는 

(PORT 포트 + A, B, D + 포트번호)로 지정되며 차후의 레지스터 개념에도 PORTx로 표현되고 x는 TINY2313에서 사용 될 수 있는 A, B, D를 사용 할 수 있습니다.

각 포트는 A포트 3핀 B포트 8핀 D포트 7핀으로 구성되 있고, A포트는 RESET, XTAL1, XTAL2로 사용되고 있어 I/O 핀으로 사용할 수 없고 B포트와 D포트를 입출력으로 사용 할 수 있습니다.

나중에 알게 되지만 AVR 기능핀중 MISO, MOSI, SCK, RESET 4핀만 프로그래머(ISP)로 연결해주면 다른시리즈의AVR도  쉽게 프로그램이 됩니다.

보다 자세한 내용은 데이터시트를 참고하세요.!



설계된 회로는 다음과 같습니다.




앞으로 모든 회로 아트윅은 이글캐드로 작성되서 올릴 예정입니다.

위 회로는 single side 모듈로 회로로 포트 번호순으로 핀이 연결 되어있습니다.

위에서 설명 드렸다 싶이 RESET핀과 XTAL1과 XTAL2는 설계시 크리스탈을 사용하도록 

만들었기 때문에 포트A 입출력 포트로 사용 할 수 없습니다.

그리고 회로가 간단해서 브레드보드에 간단히 꾸며서 연습해도 될 것 같습니다.



사용 된 부품은?


- ATTINY2313V-10PU 1개

- IC소켓 20핀 1개

- 크리스탈 8Mhz 1개

- 핀헤더 Straight타입 40핀 짜리 부러뜨려 6핀으로 사용.

- 3파이 LED RED 1개

- 핀헤더 Angle타입 40핀짜리 부러뜨려 20핀 1개

- 세라믹 콘덴서 20pF 2개

- 모노리틱 콘덴서 0.1uF(104) 1개

- 저항(1/4W) 100k 1개

- 저항(1/4W) 1k 1개

- 몰렉스커넥터 2P 1개

 

에칭 제작


ATTINY2313 모듈은  직접 회로도를 그리고 PCB 아트윅을 해서 레이저 프린터로 인쇄 후에

공 PCB 기판에 전사 후 에칭 드릴링과정을 거쳐 직접 손으로 제작한 모듈입니다.

이 포스팅이 PCB에칭 포스팅이 아니라 상세한 사진은 나오지 않습니다.

PCB 디자인은 이글캐드로 작성되었고 거버파일은 없습니다.



 ATTINY2313 MCU모듈 PCB디자인 다운로드 - 구글드라이브로 연결됩니다.



PCB는 이글캐드로 작성되었고 이글캐드에서 바로 작업 후에 단면으로 작업했으므로  Pad와 Bottom 레이어를 남겨두고 인쇄합니다.

이 때 레이저 프린터를 사용하셔야 되구요. 용지는 시트지나 박리지를 사용합니다.

인쇄후에 토너가 묻은 부분을 기판의 동판크기와 각도를 잘 맞춰서 다리미로 촘촘이 눌러줍니다.



전사시키면 깨끗하게 다 토너가 붙어있지는 않을 겁니다. 남은 빈공간은 네임펜이나 유성 매직으로 채워주세요.



다음으로 생략 된 부분이 많은데 에칭과정을 거치게 되면 위 사진처럼 토너가 있던 부분을 제외

하고는 구리부분이 모두 녹아서 제거됩니다.

에칭과정을 마치면 납땜 할 PAD 부분에 부품이 들어 갈 수 있도록 드릴로 구멍을 뚫어줍니다.



드릴링을 완료했고 실크스크린을 전사합니다.

실크스크린은 꼭 필요한 과정은 아니고 아름다운 PCB기판을 만들기 위해서 저는 실크스크린도

전사시켜서 예쁘게 만들려고 노력했으나 JP1 커넥터 부분이 다 떨어져 버렸네요. ;



마지막으로 전자를 안다면 익숙한 과정 부품을 맞는 위치에 넣고 납땜 합니다.



납으로 모든 배선트레이스와 구리부분을 칠해 두었는데 이렇게 해둔이유는 구리(동판)의 부식을

막기 위해서 입니다.

차후에 납땜이 잘 안될수도 있고 해서 PCB코팅제나 없으면 납으로 코팅해 둡니다.

이 과정은 꼭 필요하지는 않고 깨끗하게 사용하고 싶으신 분은 코팅해주세요.! 


ATTINY2313 모듈 핀아웃



뭔가 내용중 안넣은것이 있는가 했더니 핀 아웃을 기재하지 않았네요.^

만든 ATTINY2313 모듈을 총 20핀으로 2313의 모든 핀이 Single Side로 헤더핀으로 되어 있습니다. 각 핀은

1번

2번

3번

4번

5번

6번

7번

8번

9번

10번

VCC

RST

PD0

PD1

X-TAL2

X-TAL1

PD2

PD3

PD4

PD5

11번 

12번

13번

14번 

15번

16번

17번

18번

19번

20번

PD6

PB0

PB1

PB2

PB3

PB4

PB5

PB6

PB7

GND 

이렇게 구성되어있어서 브레드보드에 꼽아 손쉽게 실습 할 수 있습니다.^



정리하면서..


앞으로 만든 모듈로 여러가지 제어 연습을 할 생각이고 차후에 특수목적PCB를 만들어서 AVR프로젝트도 진행해볼 생각입니다. 정리 목적의 블로그가 되면서 딱딱한 어투가 사용되서 어색하지만 댓글로 격려라도 해주셨으면 좋겠습니다.!


BinGoon AVR/AVR 연습, Tutorial , , , , , , , ,

  1. Blog Icon
    Mr도리

    열정적인 모습 멋져요..앞으로 자주 애용할게요~
    이글캐드는 어디서 구하나요?

  2. 프리웨어는 보드 크기 제한이 있지만 무리없이 작업할수 있어요^
    다른 사용방법으로는 어둠에 많이 있습니다^

  3. 훌륭해요 좋은정보 감사합니다.

  4. 감사드립니다^ 앞으로도 자주 방문해주세요^

  5. Blog Icon
    배우자

    감사합니다 열정에 찬사를 보냅니다

  6. 응원 감사 드립니다^, 더 유용하고 새로운 정보로 곧 찾아 뵙겠습니다 :-)

  7. Blog Icon
    허문욱

    앞서 댓글 넣은 할애비 뻘로, 오리무중인데 열심히 파고 들어가볼 예정, 이러 왜 이렇게 만들어서 무엇에 쓰려는 물건인지? 난 지금 창작로봇 만들기란 책 읽고 있는 중에 ATTINY 2313이란 용어가 나와서 검색해 보았걸랑, 하여간 자네 무언가 일을 터뜨려 보게나!!!

  8. 안녕하세요^ , 이번주와 다음주는 시험기간 중이라 계속해서 댓글을 달수 없음을 미리 말씀드립니다.^
    먼저 ATTINY2313의 경우에 간단히 비유 하자면 컴퓨터의 CPU라고 할수 있습니다.^ , 컴퓨터의 CPU는 정수와 소수 들을 연산해서 연산한 결과를 모니터로 나타내 주는데요. AVR 시리즈 중에 하나인 ATTINY2313은 각 포트 A, B, D포트에 명령을 내려주면 5V의 전압을 출력하거나, 0V의 전압을 출력해 줄수 있습니다. 이외에도 입력받는 클럭 xMhz 에 따라서 시간을 재는 기능 등 다양한 기능을 사용하실수 있습니다.^ (x는 장착하신 수정 발진기 크기에 따라서 변합니다.)
    PCB로 만들어 둔 이유는 계속해서 납땜을 하면서 테스트 하기에는 너무 번거롭기 때문에 핀헤더, 기판에 보시면 달려있는 20개의 다리들을 달아서 브레드 보드에 꼽아 LED 구동 연습을 하기위해서 만들었습니다.^ 그리고 취미로 하시는 것이라면 아두이노 쪽으로 넘어가시는 것도 나쁘지 않아 보이네요 ㅎㅎ, 그리고 관심가져주셔서 감사드립니다.^ 곧 방학 중 양질의 포스팅을 작성하겠습니다.^^

  9. Blog Icon
    허문욱

    시험 칠 때는 시험에 몰두해서 좋은 성적을 내보시게^^

  10. 이제 시험 하루 남았네요^ 열심히 하겠습니다.^

  11. Blog Icon
    12345

    mcu 모듈을 만들려고 하는데요 실크 스크린도 시트지로 프린트 해서 다름질 하면 되는 건가요?

  12. 안녕하세요.^
    패턴은 그냥 인쇄해서 다림질 해서, 에칭해 주시고, 홀을 뚫으신 다음에 PCB의 Top면에 홀을 뚫을때 생긴 거친부분을 자로 문지르셔서 어느정도 평평하게 하신다음에 반전인쇄 하신다음 홀에 맞춰서 다림질 해주시면 됩니다.^

  13. Blog Icon
    12345

    감사합니다. 좋은 하루 되세요^^*

  14. Blog Icon
    입문

    안녕하세요 제가 여기 블로그 보고 ATTINY 모듈 만들려고 하는데요

    디바이스에서 세라믹 콘덴서 20PF가 없고 22PF뿐이 없는데 이걸로 대체 가능 할까요?

    또 부품을 사려고 하는데 모델명이 없어서 이 부품이 맞나 질문드려요

    RIC-DIP-20핀 X-TAL 8M (ATS Type), Fundamental 일반박스헤더 Dual 2x5pin

    Straight(2.54mm), 핀헤더 Single 1x40Pin Straight(2.54mm), CH0640-02 (Molex 5051-02)

    그리고 마지막으로 모노리틱 콘덴서 없어서 세라믹 콘덴서 대체해도 무방한지 모르겠네요ㅠㅠ

    끝으로 블로그와 똑같은 ATTINY 모듈 파는곳은 없나요?
    인터넷 검색해도 나오지가 않네요 ㅠㅠ

    취직 축하드리고요 늦었지만 새해 복 많이 받으세요

  15. 안녕하세요.^ 질문주셔서 감사드립니다.
    먼저 크리스탈 8Mhz에 사용되는 20pF 세라믹 콘덴서는 20~22pF안으로 대치가 가능합니다. 또한 질문주신 부품 링크를 걸자면
    IC 소켓 - http://www.devicemart.co.kr/goods/view.php?seq=2802
    X-tal 8Mhz - http://www.devicemart.co.kr/goods/view.php?seq=64
    핀헤더 (angle) - http://www.devicemart.co.kr/goods/view.php?seq=5715
    그리고 배터리 커넥터는 5045-02와 5051-02가 각각 암수로 짝인데요, 배터리 홀더의 커넥터에 따라서 PCB의 배터리 커넥터를 핀헤더로 변경하여 납땜하셔도 문제는 없습니다. 또 모노리틱 콘덴서는 적층세라믹 콘덴서로 세라믹 콘덴서로 변경하셔도 문제 없답니다.

    제가 집에서 CAD툴을 이용해서 직접 PCB패턴을 그려 기판을 만들어 낸것이라서 같은 제품을 인터넷에 따로 판매하고 있지는 않습니다. 혹시 만드시기 어려우시다면 디바이스마트에서 Attiny2313모듈과 AVRISP를 서로 커넥터가 호환되는 제품을 판매하고있으니 그것을 구매해서 블로그의 AVR연습에서 구성한 포트번호에 맞게만 연결해 주시면 이 모듈과 똑같이 작동이 가능합니다.^^
    도움 되시기를 바라겠습니다.^

  16. Blog Icon
    DJCorso

    많이 배우고 가겠습니다. 이번에 엘이디 제어공부를 새롭게 시작하고 있습니다. 감사합니다.

  17. 도움되는 글이 되서 다행입니다.^^ 타지에 있어서 한 동안 업데이트가 어려울 수 있습니다. 그럼 계속해서 가끔 찾아주세요.

  18. ATTINY2313V-10PU 대신에 ATTINY2313-20PU 써도 되요? 모르고 이거 주문했는데...ㅋㅋ

  19. 여기저기 댓글 달아 주셨네요. ㅎㅎ 감사드립니다.
    Attiny2313V-10PU와 Attiny2313-20PU와 같은제품입니다. 컴퓨터로 치면 펜티엄4 2.4Ghz랑 펜티엄4 3Ghz를 비교하는 느낌이에요. 10PU는 10Mhz까지 크리스탈로 입력이 가능하고, 20PU는 20Mhz까지 크리스탈로 입력이 가능한 AVR이에요. 기능은 똑같습니다.^^ 참고해 주세요.^

  20. Blog Icon
    임재성

    안녕하세요. ATtiny2313 모듈을 만들기위해 블로그를 참고하고 있는데요.
    사용된 부품이 아래와 같다고하셨는데,
    1.ATtiny2313v-10pu
    2.IC소켓 20핀
    3.크리스탈 8Mhz
    4.박스커넥터 2열 5핀
    5.3파이 LED RED
    6.핀헤더 10핀
    7.세라믹 콘덴서 20pF
    8.모노리틱 콘덴서 0.1uF(104)
    9.저항(1/4W) 100k
    10.저항(1/4W) 1k
    11.몰렉스 커넥터 2P

    -1번. MCU는 제가코딩하고싶은게 ATtiny2313A-PU라 이걸로 대체해도 회로에 사용된 RC 용량에 상관없는건가요?
    -그리고 위 댓글도 확인하여서 다른 부품은 거의다 찾았는데
    6번. 핀헤더는 그림 보면 20핀으로 보이는데 링크는 핀헤더 Single 1x40Pin Rightangle(2.54mm)으로 40핀짜린데 이게 맞는건가요?
    -그리고 댓글상에서는 베터리커넥터 5045-01, 5051-02라고 말씀하신 부분이 처음 필요부품에서 말씀하신 11번. 몰렉스커넥터가 맞나요?
    이게 전원공급받는2핀짜리부분이죠? 여기에 전원공급하는 암케이블은 어떤걸써야하나요?
    -마지막으로 4번. 박스커넥터 2열 5핀이라고 말씀하신것을 못찼겠는데 그림상에선 지금 빠진 부품은 1열 6핀으로 보이는 ISP를 받아들이는 단자같은데 이게 맞는지, 그리고 맞다면 디바이스마트 링크좀 부탁드립니다.

    아,그리고 지금만드려고 하는 이모듈을 따로 파는것도 있다고하셨는데 http://www.devicemart.co.kr/goods/view.php?seq=1077849
    이제품을 말씀하시는게 맞나요? 이건 실장되있는 MCU에 코딩을 할순있는것같은데 제가 원하는건 각각다른 MCU에 코딩을 하고싶기때문에 빈군님께서 만드신것처럼 IC소켓에 MCU를 끼웠다 뺐다할수있는걸 찾는데 그런건못찼겠네요..

  21. 댓글확인이 늦었지만, 바로 답변드리도록 하겠습니다.
    먼저
    1. Attiny2313은 5V입력시에 어떤것으로 대치해도 문제가 없습니다.
    Attiny2313V는 저전압입력가능 타입, Attiny2313-PU, Attiny2313A 등등 일반적인 타입이나, 모두 같은 Attiny2313입니다. 뒤에 -10PU는 컴퓨터로 치자면 펜티엄4 2.4Ghz, 펜티엄4 3Ghz를 따지는 부분입니다. 주파수 값이 다른 크리스탈을 이용할 때 최대로 이용할 수 있는 주파수 값입니다. -10PU인 경우 10Mhz 크리스탈 까지 이용가능!!!

    2. 핀헤더 같은 경우는 20핀 짜리를 구매하셔서 부러트려 사용하기 쉽도록 중간에 움푹 들어가 있습니다. 이것을 6칸만 부서트려서 사용하면 되겠습니다.^^

    3. 이거 부품을 잘못 작성해 두었네요. 이전에 제작한 부품의 일부가 끼어 들어갔습니다. 박스커넥터는 6핀 핀헤더로 대체되었고, 10핀 핀헤더 부품이라고 된 부분은 핀헤더 Angle타입 40핀 짜리를 구매하셔서 20핀만 사용하시면 됩니다.

    4. 2핀 전원인 몰렉스 커넥터의 경우 http://www.devicemart.co.kr/goods/view.php?seq=461 5045-02 제품을 보드에 땜하시고, 5051-02와 5051용 클림프로 전선에 찝은다음 5051-02 Female에 넣어 전선을 완성하면 됩니다.
    http://www.devicemart.co.kr/goods/view.php?seq=3576 5051클림프
    http://www.devicemart.co.kr/goods/view.php?seq=500 5051-02 Female
    클림프 연결작업이 어렵다면 클림프 작업이 된 전선을 구매 하셔서 배터리 홀더의 선과 연결해 주시면 되겠습니다. 마지막으로 MCU를 뺐다끼웠다 하는 모델을 이전에는 많이 판매 하였는데 대부분 없어졌네요, 그리고 부품에 혼동을 주어서 대단히 죄송합니다. PCB 제작이 어려우시면, 만능기판에 회로도 대로 땜하셔서 사용하셔도 됩니다. 부족하지만 도움되었길 바랍니다. 혹시 더 필요하신 부분 있으시면, 댓글 남겨주시기 바랍니다. BinGoon

티스토리 툴바