2010년 10월 7일 목요일

[BTPT 2/3] 아두이노 모터 컨트롤 보드 만들기

아카데미 RC 탱크에는 기본으로 유선 조정기 (아래 그림에서 왼쪽 검은 뭉치)가 포함되어 있습니다.



유선 조정기는 모터마다 있는 접점 두 개 씩을 기계적으로 스위칭 할 수 있게 네 선으로 이루어져 있습니다.


건전지(AA*2)까지 조정기에 들어가기 때문에, 탱크의 몸체에는 모터를 제외하면 많은 부분이 빈 공간으로 남아 있습니다. 위 사진에서 바디에 올려둔 건전지 홀더는 크기를 가늠하기 위한 것으로 기본 포함 부품은 아니에요.


이 빈 공간에 아두이노를 올려 무선 조정을 해 보도록 하려고 합니다.


기본으로 들어있는 기어박스는 토이모터라고 부르는 3V DC 모터가 들어있습니다. 앞 포스트에서 썼던 것 같은 묵직한 로드는 필요 없을 것 같아 가장 싼 모터 드라이버 IC인 ba6208을 사서 테스트 해 보았습니다. 좌 우 채널에 각각 드라이버가 하나씩 들어가야 겠죠.




영 시원찮게 돌기에 기어박스 불량이 아닌가 하고...(아닙니다) 일단 계속 진행 합니다.


무선 통신을 위해 위드로봇의 블루투스 시리얼 모듈 myBluetooth-EX를 장만했습니다. 이 모듈은 속도가 고정된 대신 설정이 필요 없고, 아두이노의 기본 전압인 5V에 그냥 꼽아도 잘 동작합니다. (보통 무선 모듈들은 3.3V CMOS라 변환 회로가 필요해요)


해서 전체적인 구상은 아래와 같이 되었습니다.



단순한 구성이지만 기존 아두이노 보드는 탱크의 몸체에 들어가기 너무 크기에, ATmega8 칩을 사용해 필요한 기능을 넣어 다시 보드를 만들었습니다. 보드 뜨고 알게된 오류를 수정한 흔적이 있습니다. :)




또한 건전지 3V를 5V로 변환하기 위해 예전에 다뤄본 TL499ACP를 사용해 DC2DC 승압 회로도 포함시켰습니다.


TL499ACP의 최대 출력 A는 100mA인데, 다행히 myBluetoothEX가 사용하는 피크 전압 (약 50mA)을 충분히 커버할 수 있네요.


지그비(약 150mA)나 와이파이(약 500mA)로 갔으면 좃2the망 할 뻔 했다는.


블루투스 장치를 거의 사용하지 않아서 좀 애매한 무선 통신이 아닌가 했는데 전원 소모가 이렇게 작으니 모바일 기계에 표준 장창되는게 당연하게 느껴지는 대목이었습니다.


건전지 홀더를 AAA*4로 바꾸고, 다음과 같이 탱크 몸체에 적절하게 배치 가능하다는 희망이 보였습니다..




헌데.. 모터 드라이브 테스트에서 빌빌대던게 ba6208 때문이더군요.. (12V 모터에 적합) 싸구려 모터에 싸구려 드라이브라는 가정이 틀렸네요. 저전압 모터용 드라이브 IC인 lb1630을 다시 장만하고, 보드를 다시 뜨기는 싫어서(어짜피 모터 드라이버 IC는 전원2핀 입력 2핀 출력 2핀 이니까) LB1630-to-BA6208 보드를 만들었습니다.



 



BA6208을 뽑고 장착. 다행히 몸체의 높이를 넘지 않았네요. 



미리 마련해둔 ICSP를 사용해 Atmega8용 아두이노 부트로더를 심어 주었습니다.


이것으로 탱크 준비는 끝. 이제 조종기로 넘어가겠습니다.