一般在製作機器人會用到多顆Servo即伺服馬達,而用MCU去控制多顆Servo時兩者會獨立供電,比如MCU吃一個電源然後N顆Servo也吃一個電源並且各自獨立,如果用Arduino的話因為不能直接把Servo插在Arduino上,所以還要用洞洞板另外製作一個擴充板有點佔空間,因此我畫了一個將兩者結合的groboduino ver.1.1,因為Arduino使用ATMega328或者相容的MCU都是用Arduino定義的Digital Pin去發送PWM控制Servo,所以這塊groboduino上的Digital Pin旁邊就是一個獨立的電源可以接上鎳氫電池,而Analog Pin旁邊的電源就是吃跟MCU的電源一樣的來源,而Digital Pin旁邊的電源也可以透過S2短路(看下面零件佈置圖)選擇跟Analog Pin旁邊的電源連接,不過要注意這時候不要接上電池否則可能會有燒毀的危險,而Bet那兩個孔(P1)就是給Battery即鎳氫電池吃的,然後中間上面那三個孔(P2)從零件佈置圖左到右分別是:接地(GND)、電源(給MCU的)、DTR(如果USB to TTL模組有這個腳位接上的話可以Auto Reset否則要手動),groboduino還有一個特點是他的大小跟四顆三號電池盒的大小差不多,所以安裝到機器人上時能夠層疊使重心好控制,不過因為ATMega328本身的限制所以建議最多控制12顆Servo(扣掉TxD、RxD拿來裝藍牙之類的遙控模組),可能製作12軸的六足或者四足也能製作人形機器人的雙腿XD,可能等我有時間製作下個版本用ATMega2560才能在控制更多Servo,最後製作時記得焊接要先將零件佈置圖上那兩條紅色的跳線先焊上。
Part List:
- IC1:ATMega328、168、8
- IC2:7805(線性穩壓)
- C1、C2:10uF/25v有極性電解電容
- C3:0.1uF陶瓷電容(104)(可有可無,如果你的USB to TTL模組有DTR腳位接上可以Auto Reset,否則要手動)
- C4、C5:22p陶瓷電容(22)
- R1:10k Ohm
- R2:220 Ohm
- TX1:16MHz石英振盪器
- L1、L2:5mm LED(L2可有可無,連接Digital Pin13是為了方便實驗)
- B1:2Pin 按鈕
- S1:2Pin 搖頭開關
- S2:2Pin 任意開關(可有可無用來連接Digital Pin旁與Analog Pin旁的電源)
- P1~P22:可以選擇用排母或者排針(P3~P16對應Arduino Digital 0~13,P17~P22對應Arduino Analog 0~5)
完成正面
完成反面
影片中的測試軟體可以參考「wxWidgets Connect Arduino(Linux)」,影片中的官方版本Arduino UNO暫時拿來當USB to TTL模組,因為我原本的獨立模組給人了XD
=============2012/07/26===============
原本是1.0版本沒想到隔天改一下到1.1XD,因為我發現給MCU吃的電源到12VDC(9VDC正常)時ATMega328會當機,原來我忘記Arduino官方版本是將R1那個電阻走過線性穩壓才連接到Reset Pin,所以我將R1位置稍微更換一下,另外有人對於電源有疑慮的話請看下圖,紅色線條的部份都是MCU用的電源+極,而黃色線條部份是給Servo用的即鎳氫電池電池盒的+極,然後綠色是接地要共接,如果S2接上時黃色就被紅色取代而且不要接電池,如果還有問題可以回報:)
=============2012/07/30===============
手邊有太多陶瓷振盪器所以畫了一個陶瓷振盪器版本取代原本的石英振盪器以及兩個起振的22PF陶瓷電容。
groboduino ver.1.2 Film
手邊有太多陶瓷振盪器所以畫了一個陶瓷振盪器版本取代原本的石英振盪器以及兩個起振的22PF陶瓷電容。
groboduino ver.1.2 Film