Search

2012年7月25日 星期三

groboduino ver.1.1

    一般在製作機器人會用到多顆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:
  1. IC1:ATMega328、168、8
  2. IC2:7805(線性穩壓)
  3. C1、C2:10uF/25v有極性電解電容
  4. C3:0.1uF陶瓷電容(104)(可有可無,如果你的USB to TTL模組有DTR腳位接上可以Auto Reset,否則要手動)
  5. C4、C5:22p陶瓷電容(22)
  6. R1:10k Ohm
  7. R2:220  Ohm
  8. TX1:16MHz石英振盪器
  9. L1、L2:5mm LED(L2可有可無,連接Digital Pin13是為了方便實驗)
  10. B1:2Pin 按鈕
  11. S1:2Pin 搖頭開關
  12. S2:2Pin 任意開關(可有可無用來連接Digital Pin旁與Analog Pin旁的電源)
  13. 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

2012年7月23日 星期一

關於台灣基礎科學的書籍...

    其實最近對於電晶體工作原理以及應用有很大的興趣,打算找本書搭捷運時可以看,但是去翻以前一位光電Ph.D朋友送的史密斯電子學根本很難理解內容(對我來說),想說找看看有無台灣教授自己出版不錯的書籍,沒想到google根本沒看到幾人推薦,大多數還是都推薦史密斯那本,後來看對岸的網站他們有人推日本人寫的專門講電晶體的書給非電子背景看的,看了一下確實不錯,不過我發現連對岸網友推他們自己國內教授出版的其實也不多(他們最奇怪的是某大學研究GPU Architecture的團隊自己出版的書竟然是用英文...),所以我覺得台灣的技術力落後美日等國的一個因素就是自己出版的基礎書籍普遍不夠好,因為如果是那些所謂"聖經"翻譯書我相信翻譯者不太可能能完全把字裡行間的意義按照原文忠實呈現,更不要說譯者本身對於這領域的理解程度,還是要書籍撰寫者自己完全消化甚至真的實驗過知道原因才好,如果我們的基礎書籍有不錯的質量相信整體技術實力水平能提昇不少,更不要說特定專門領域書籍一直缺乏,比如Realtime Rndering相關連翻譯都沒有,當然這類書籍要翻譯的好也不容易,大陸出版的目前看來還是不如去買原文算了XD但是最少他們出版社會去蒐集意見下次出版相關書籍時改進,所以我希望台灣的圖書不管翻譯還是自己出本質量都能在提高。

2012年7月18日 星期三

一直覺得缺了什麼...

    原來是缺了自己Layout PCB的樂趣,所以趁上個週末工作進度被其他組員拖延索性就來玩玩PCB Layout,不過近年工作常用Linux系統除了做RTR之研究才會開Windows,因此想起前陣子Google一下似乎只有Eagle PCB是Linux上較好的選擇而且感覺對我這業餘電子愛好者友善Debian運作也正常,所以先用RA1這個業餘Audio玩家第一個入門的耳擴做為練習對象(不過我的第一次不是這個:">),畫了一個出來然後試聽效果還不錯!果然製成PCB比較穩定,比用洞洞板效果還好,而且因為零件位置以及佈線都固定好了,所以只要直接把零件放上焊接即可使用,不過Eagle PCB有些零件要自己建置Library,比如六孔的雙連可變電阻以及五孔的3.5mm耳機座,Eagle PCB在輸出圖檔時就是以畫面顯示為準,例如下了"display all"的command然後在輸出PDF檔案就會把所有圖層輸出,如果先下"display none"在下"display bottom pads vias"就能顯示底層佈線、板子、孔,接著在輸出時就會輸出這三個圖層為PDF了,至於輸出為PDF檔案的方法要去 File -> Print 就有選項可以輸出,最後一點是Eagle PCB似乎免費版本有面積限制的bug,所以可能找時間要來reversing看看如何解除這個bug XD。

以下為RA1clone外加虛接地的PCB Layout有興趣可以下載來洗一片玩玩:


完成結果:




2012年7月1日 星期日

關於洗電路板的那些事

    半夜工作沒靈感就來分享現在我洗電路板跟本Blogger第一篇洗板文的方法改進。

    現在我洗板都一個面會印兩張(雙面板就要印四張)投影片對準疊在一起,因為常常列印機印出品質不好會有斷線,所以一個面多印幾張疊在一起可以互補,線條很大也可以用油性奇異筆補上,然後金屬蝕刻溶液我都改用氯化鐵了,因為環保蝕刻液太麻煩了還要控溫速度才會快,否則常常洗一個板子蝕刻銅薄要一個半小時實在很沒效率,用氯化鐵二十分鐘就搞定,氯化鐵高雄在長明街可以買到調配好的液體,一罐NTD:50元左右可以洗十五次電路板吧,或者是去化工行有賣塊狀的可以自行調配,然後蝕刻完的氯化鐵可以回收到瓶子下次可以繼續使用,不用的時候千萬不要直接倒入水溝,可以問化工行如何處理能否幫忙處理,最後通常自己洗板的金屬基材都是銅,因此時間久了會氧化會使電導效率變差,查爾斯大大說可以用松香水(這個好像也是助焊劑的成份)混合不知道什麼的把洗完的電路板泡入之後風乾可以防止氧化,不過我發現一種叫「CPL 層膜保護劑」的噴霧,可以直接將洗完(包含鑽孔)的電路板噴上然後等五分鐘左右風乾,接著表面會有一層絕緣、防潮、抗化學侵蝕的表層看起來很像鋼彈模型用的消光漆,雖然他是絕緣的但是把零件焊接在上面時銲錫會把它溶掉(感覺它應該也是助焊劑成份)跟銅薄連接,當整個電路板焊接完成時可以在噴上一次保護焊接點表面,這個高雄長明街一罐賣NTD:160元,如果要去除可以用「ULS 氧化物清潔劑」(沒用過)去除它,我有時後會幫RAC座背後露出的金屬導體噴上防止生鏽。

    近年工作加上自己開發大多都是以Linux平台為主,所以我畫PCB都是用Eagle這軟體,目前還不會畫太複雜的東西,只能畫畫像是之前的測光錶或是YAHA耳擴,在某個論壇看到有人說線路最好不要畫銳角跟直角,因為這兩種會導致線徑有太大差異會使阻抗不均,而且尖端會有EMI的問題這樣,整體來說Eagle對我這種不是電子科班的還算不難使用。