ATmega 실습보드제작 (ATmega 세미나) 시니어컴 (www.seniorcom.co.kr) 다음카페 (http://cafe.daum.net/avr0) 안도랑 (ahndr@seniorcom.co.kr)
. ATmega 보드 ATmega 보드(SC-ATmega-S) 는그림 과같다. 좌/ 우측의커넥터를잘확인하고회로도를참고하면서납땜을해야한다. 회로도에서 는 V를의미하고 는 0V 를의미한다. J CON J 0 R 0K ISP C 0uF SW RESET PE_MISO U C 0.uF PE0_MOSI C 0uF C 0.uF MHz C0 0.uF /RESET R0 0K PA0 PA PA PA PA PA PA PA PB0 PB_SCK PB PB PB PB PB PB PC0 PC PC PC PC PC PC PC D R 0 IC 0 PA0 (AD0) PA (AD) PA (AD) PA (AD) PA (AD) PA (AD) PA (AD) PA (AD) ATmega 0 PB0 (SS) PB (SCK) PB (MOSI) PB (MISO) PB (OC0) PB (OCA) PB (OCB) PB (OC/OCC) PC0 (A) PC (A) PC (A0) PC (A) 0 PC (A) PC (A) PC (A) PC (A) 0 RESET PEN XTAL XTAL J serial (SCL/INT0) PD0 (SDA/INT) PD (RxD/INT) PD (TxD/INT) PD (IC) PD (XCK) PD (T) PD (T) PD (RxD0/PDI) PE0 (TxD0/PDO) PE (XCL0/AIN0) PE (OCA/AIN) PE (OCB/INT) PE (OCC/INT) PE (T/INT) PE (IC/INT) PE (ADC0) PF0 (ADC) PF (ADC) PF (ADC) PF (TCK/ADC) PF (TMS/ADC) PF (TDO/ADC) PF (TDI/ADC) PF A AREF (WR) PG0 (RD) PG (ALE) PG (TOSC) PG (TOSC) PG C0 uf C uf RXD TXD 0 0 PD0 PD PD PD PD PD PD PD PE0_MOSI PE_MISO PE PE PE PE PE PE PF0 PF PF PF PF PF PF PF Seniorcom ATmega Board www.seniorcom.co.kr PG0 PG PG PG PG V+ V- RIN TOUT RIN TOUT MAX L 0uH C 0.uF U C+ C uf C- C+ C uf C- ROUT TIN ROUT TIN 0 PE0_MOSI PE_MISO PE PE PE PE PE PE PD0 PD PD PD PD PD PD PD PC0 PC PC PC PC PC PC PC RXD TXD PE0_MOSI PE_MISO J 0 0 0 CONA J 0 0 0 CONA PB0 PB_SCK PB PB PB PB PB PB PG0 PG PG PG PG PA0 PA PA PA PA PA PA PA PF PF PF PF PF PF PF PF0
. SC-P000D 기판 SC-P000D 기판은그림과같이납땜하기쉽지않고시간을많이걸리는부분인전원부와 핀시리얼포트용커넥터가연결되어있는만능기판이다. 크기는가로 0mm 세로 00mm 로되어있다. DC잭을통하여어뎁터를연결할수있고입력전압은 DC ~V를입력하면출력전압은 DC V 가출력된다. 그림 는 SC-P000D 기판의회로도를보여준다. 브리지다이오드를연결하여입력 DC 전압의극성이반대가되더라도출력은일정하게 DC V가출력되게되어있고전원이입력되면 를통하여전원의입력상태를표시해준다. 기판의상단한줄은(V) 가연결되어있고하단한줄은 가연결되어있다. 그래서납땜할경우 와 를연결할때쉽게사용할수있게하였다.
. ATmega 실습보드제작 () ATmega 보드연결및전원입력확인 먼저그림 와같이 ATmega 보드를기판위에올려놓고납땜하여기판에고정시킨다. 그리고그림 과같이 ATmega 보드의 와 를 SC-000D 기판위의 LM0의출력단에 를연결하고기판하단의 에 를연결해준다. 여기까지하고기판에어뎁터를연결하고스위치를 On하면 ATmega 보드에있는 가 On 되면전원이잘된것을알수있다.
() FND(세그먼트 어레이) 연결 FND는그림 과같이 FND와저항 0Ω을배치하고뒷면에납땜을하여 FND 와저항을고정시킨다. 그림 과같이회로도와 FND 저항을확인하면서납땜하면된다. 납땜시주의사항은뒷면으로보고있기때문에핀번호가반대가된다. 그래서데이터선 PA0~PA과 FND 선택선 PE~PE의핀번호가바뀌지않도록주의하여연결해야한다. J, J는그림 ATmega 보드의커넥터를통하여기판에연결되어있는커넥터이다. 그리고 SND0SR의핀번호는그림 을참고하면된다. PA PA PA PA PA0 PA PA PA 0 FND 회로 U DP G F E D C B A SND0SR DIG DIG DIG DIG DIG DIG 0 PE PE PE PE PE PE J J PE0_MOSI PE_MISO PE PE PE PE PE PE PD0 PD PD PD PD PD PD PD 0 0 0 PB0 PB_SCK PB PB PB PB PB PB PG0 PG PG PG PG PC0 PC PC PC PC PC PC PC RXD TXD 0 0 0 PA0 PA PA PA PA PA PA PA PF PF PF PF PF PF PF PF0 CONA CONA
참고로 FND 는캐소드(Cathode) 공통이기때문에 FND 선택선쪽에 Low 신호() 가입력되고데이터선쪽에 High 신호(V) 가입력되어야 FND의각각의 가 On 되게구성되어있다. 그림 은 FND의핀배열을보여준다. 좌측하단이 번이고시계반대방향으로번호가증가한다. 여기까지완성이되었다면테스트프로그램인 fnd_test.hex를 ATmega 에다운로드하여 FND가켜지는것을확인하면된다. 다음에 FND 에대한설명을하겠다. ) FND(Flexible Numeric Display) FND(Flexible Numeric Display) 를 - 세그먼트라고도하는데주로숫자를표시하는데사용된다. 그리고 FND는 그림 0과같이 개의 로이루어져있고애노드(Anode) 공통인 A 형과캐소드(common cathode) 공통인 K형 이있다.A형은공통단자에 (V) 를연결하여신호는저항을통하여연결하는데 Low(0V) 신호를입력하면 가 On되고 High(V) 신호를입력하면 가 Off 된다. 그리고 K형은공통단자에 (0V) 를연결하고신호는저 항을통하여연결하는데 High(V) 를입력하면 가 On 되고 Low(0V) 를입력하면 Off 된다. A형은전류가 에서공급되어신호를입력해주는소자로흘러들어가는형태이고 K형은전류가소자에서공급 되어 로흘러가는형태이다. 그래서 A형은외부에서전원이공급되는형태이기때문에모든 를다 On 시켜 도전류공급이원활하여빛의밝기가변하지않고밝은반면에 K형은소자에서전원이공급되는형태이기때문에 소자에서는전류의공급량이한정되어있기때문에모든 를 On 시킬경우에는빛의밝기가어두어지는현상이 나타날수있다. FND FND
FND FND를이용하여숫자를표시할때는필요한숫자에따라서 On시켜야할 와 Off 시켜야할 에맞추어신 호를입력하여숫자를표시하게된다. 예를들어숫자 을표시하고자한다면 b 와 c를 On하고나머지는모 두 Off 해야한다. 그림 은 FND 를이용하여숫자를표시방법을보여준다. 그리고표 은 A형과 K형 FND에숫 자를표시하기위해서필요한값들을보여준다. 그리고점은애노드공통인경우에는 0이면 On 되고캐소드공통인 경우에는 이면 On 된다. 그리고 진수데이터는숫자를표시하기위해서출력해줘야하는 진수데이터를나타 낸다. 예를들어애노드공통인경우 0 을표시하고싶다면출력데이터를 0x0을출력하면 FND 에 0 이표시된다. 애노드공통 FND 비트 D0 D D D D D D D 진수 데이터 (A 형) 캐소드공통 (K 형) 비트 D0 D D D D D D D 진수 데이터 표시숫자 a b c d e f g dot 표시숫자 a b c d e f g dot 0 0 0 0 0 0 0 0xC0 0 0 0 0xF 0 0 0xF 0 0 0 0 0 0 0x0 0 0 0 0 0 0xA 0 0 0 0xB 0 0 0 0 0 0xB0 0 0 0 0xF 0 0 0 0 0x 0 0 0 0 0x 0 0 0 0 0 0x 0 0 0 0xD 0 0 0 0 0 0 0x 0 0 0xD 0 0 0 0xF 0 0 0 0 0 0x0 0 0 0 0 0 0 0 0x0 0 0xF 0 0 0 0 0 0 0x0 0 0 0xF A 0 0 0 0 0 0 0x A 0 0 0x b 0 0 0 0 0 0x b 0 0 0 0xC C 0 0 0 0 0xC C 0 0 0 0 0x d 0 0 0 0 0 0xA d 0 0 0 0xE E 0 0 0 0 0 0x E 0 0 0 0x F 0 0 0 0 0xE F 0 0 0 0 0x ) FND(- 세그먼트) 어레이 여러개의 FND가붙어있는 FND 어레이가있는데종류는애노드공통(A 형) 과캐소드공통(K 형) 이있다. 그리고 공통단자는 FND의숫자만큼있고 a,b,c,d,e,f,g,dot단자는모든 FND 가공통으로사용한다. 그래서그림
와같이 개의 FND가있고이것은애노드공통이라고하면항상한개의 FND 만켜질수있다. 처음것을켜고싶다면 com단자에만 V 신호를입력하고 com, com, com에는 0V를입력하고 a, b, c, d, e, f, g, dot 단자에신호를입력하면가장왼쪽의것만켜질것이다. 그리고두번째 FND만켜고싶다면 com 만 V 신호를나머진 0V 신호를입력하고 a, b, c, d, e, f, g, dot 단자에신호를입력하면된다. com와 com도 같은방법으로할수있다. 만약 com~com에 V 신호를다입력한다면모두같은숫자가쓰여질것이다. 그리고 실제로각각다른숫자를 개에동시에켜는방법은없다. 그러나다켜진것처럼보일수는있다. com을먼저 on하고다음은 com, com, com를순서적으로 on 시키고이것을반복하게되면모든 FND는 on/off를반복하 게된다. 천천히 on/off를할경우에는한개만 on 된것처럼보이지만빠르게반복한다면착시현상에의하여 개 가모두다른값을가지고 on 된것처럼보일것이다. 그래서 FND 어레이를사용할때주의해야할점은계속해서 반복적으로같은위치에같은숫자를써줘야한다는것이다. 그렇지않는다면숫자가쓰여지지않거나한개만 on 된것처럼보일것이다. () 리모콘수신회로를제외한나머지회로납땜 ^^ FND는그림 과같이 FND와저항 0Ω을배치하고뒷면에납땜을하여 FND 와저항을고정시킨다.
회로를만들때어레이저항을사용하게되는데사용되는어레이저항은 개의핀으로구성되어있는데있다. 이중맨위쪽에있는핀( 점이찍혀있는핀) 이 번이된다. 여기에서 번핀은 에연결하고나머지는각각의 에연결하면된다. 그리고 연결시에는주의를해야한다. 그림 과같은회로에서 의리드선( 다리) 가긴쪽(+) 이저항에연결되어야하고리드선이짧은쪽(-) 이 ATmega 보드의커넥터에연결되어야한다. 여기에서도 PC0~PC 를잘연결해야한다. 그리고 회로의부품배치는가장오른쪽 가 PC0가연결되고가장왼쪽 가 PC이연결되도록연결하는것이좋다. AR PC0 PC PC PC PC PC PC PC 0ohm 케릭터 LCD 회로제작은기판의윗면에서봤을경우 LCD를연결할커넥터가왼쪽이 번이되고오른쪽이 번이될수있도록연결해야한다. 만약반대가된다면 LCD 가동작하지않기때문에주의를해야한다. 그리고가변저항 0K 는글씨의농도를조절하는가변저항이다. 그래서 LCD를장착할경우에도보일수있도록배치를하여야한다. 여기에서는 LCD 의하단에연결하였다. 스위치회로와 CDS회로를아래와같이연결하면된다. VR 0K R PG0 PG PG PB0 PB_SCK PB PB 0 PB PB PB PB 0ohm J PD PD PD PD PD0 AR 0k SW SW DIP- SW INT 수정된부분 ADC 에연결하기위해 PA0 를 PF0 로변경합니다. PF0 0K UA LM0 + - K K CDS CLCD 마지막으로시리얼포트연결은 ATmega 보드의위쪽에 J 커넥터의 G, R, T 핀중에서 R, T를커넥터의 번과 번에연결하고 는아래쪽기판에서 번핀에연결하면된다. RS-C J RX TX ATmega 시리얼포트
그림, 그림 은완성된보드의윗면과밑면을보여준다.
() 리모콘수신회로납땜 처음엔리모콘이없던회로였는데추가하여마지막에넣게되었습니다.^^ 리모콘수신센서는 개의다리를가지고있습니다. 그리고정면에서봤을때왼쪽이 번이고가운데가 번, 오른쪽이 번입니다. 아래와같이콘덴서를연결하고센서를연결하면됩니다. 그리고번핀은PD 에연결하면됩니다. U Vcc M0H0 Vout PD C uf~00uf IR 리모콘수신회로