一波三折的土炮寫字機
我對 CoreXY 型式的 X-Y 機器人一直有強烈的好奇,自從看到 Evil Mad Scientist 做的 AxiDraw 寫字機器人,就一直很想弄一台來。美金 450 的價格不是問題,它值這個錢,運送到台灣的運費要美金 75,雖然貴,但看在這機器根本就是實心鐵塊的份上,也還說得過去。但我下單之後,收到 EMS 寄來的 email,說他們沒辦法保證他們的包裝在經過長途運送後機器不會有問題,尤其是中國的 local carrier 名聲很差,常常弄壞貨物。我說 I am at Taiwan, not China,我們的 local carrier 很 gentle 的,但對方堅持 Taiwan is China (哇咧靠腰…),硬是不肯賣給我。
AxiDraw 算是個半開源的專案,它其實是一個 CoreXY 型式的機械臂,配上一個夾筆的裝置,再用一塊叫做 EiBotBoard 的小板子驅動。EiBorBoard,簡稱 EBB,是 Brian Schmalz 設計的一塊步進馬達驅動板,最早用在一個叫做 EggBot 的畫蛋機器人上 (就是你可以把一顆蛋夾上去讓它在上面畫圖,我沒蓋你…)。Brian Schmalz 在 maker 界的控制電路設計領域還蠻有名的,他也常協助裝置藝術家製作所需要的控制器和機電元件。舊金山國際機場 terminal 2 裡很有名的 Butterfly Wall 就是他和藝術家 Charles Sowers 一起完成的。
Brian Schmalz 有開放 EBB 所有的設計資料和 firmware 的 source code,雖然我對 PICmicro 不算非常熟悉,但要照著文件把板子做出來應該還難不倒我。板子上那兩顆 A4983 步進馬達驅動 IC 則比較少見,可能得上淘寶去找,畢竟現在已經沒有人在用光碟機了,步進馬達的需求大減。
EBB 不是問題,如果我能找到 CoreXY 的機架,應該就可以如法炮製做一台出來。
這幾年淘寶出現很多便宜的 X-Y 機器人機架,大部份都是給便宜的雷射雕刻機用的,但它們都是 X-Y 兩軸分開的,一軸移動雷射頭、一軸移動工件,沒辦法做成寫字機器人。而且 EBB 原來的程式是為 CoreXY 設計的,如果要改成 XY 形式的話可能要費一番工夫去修改。
CoreXY 機構
傳統的 X-Y 平台機構是利用兩條皮帶各自驅動 X 軸和 Y 軸,因此驅動 Y 軸的整組機構包括馬達、皮帶和皮帶滑輪等,必需裝置在一個 Y 軸平台上,整個平台由 X 軸的皮帶驅動。
而這幾年很流行的 CoreXY 機構,則是利用一條皮帶串起兩個馬達和工作平台,再利用四個中央滑輪和一個末端滑輪的巧妙機構,配合兩顆馬達的轉速差就可以控制繪圖頭的位置。如果兩顆馬達往同一個方向轉,繪圖頭就會在 X 軸上移動,如果兩顆馬達往不同的方向轉,繪圖頭就會在 Y 軸上移動。
CoreXY 機構最大的好處是它的兩顆馬達都固定在機架上不用移動,整個 Y 軸平台上只有滑輪和繪圖頭。除此之外,不管是 X 軸還是 Y 軸方向的移動,都是兩顆馬達的步數相加或相減,因此控制的精度是 X-Y 的兩倍。如果寫成數學式,就是:
ΔX= (ΔA + ΔB) / 2, ΔY= (ΔA – ΔB) / 2
踏破鐵鞋無覓處
雖然淘寶上滿是 X-Y 機構的簡易雷射雕刻機,但就是沒有 CoreXY 機構的平台。某日我在淘寶上找其它東西時,突然被投到一個 “XY 繪圖機器人套件” 的廣告。仔細看了一下它的機構,居然是 CoreXY 的。
我馬上敲賣家,問他這個套件的細節。賣家告訴我這是 CoreXY 的散件,含兩顆步進馬達跟中央滑輪平台,但它沒有抓筆的機構。除此之外它有附一套 Arduino 的 CNC shield,也就是那些雷射雕刻機很常用的 Arduino GRBL firmware 所用的板子。我還沒動手做 EBB,先用 Arduino 跟 CNC shield 來試試也行。
這是 Arduino 跟 CNC shield 合在一起的樣子,它上面的步進馬達驅動模組是分開賣的,最多可以插到四顆,控制四個軸。除了雷射雕刻機外,很多土炮的 3D 印表機也用這一套板子去驅動步進馬達跟噴頭: X、Y、Z 三軸再加上噴頭,剛好四個軸。
我拿到套件後先把它裝起來,調整一下皮帶的張力,再把馬達的線都固定好,就用 CNC shield 試機了。
這個 CoreXY 的套件很簡單,就只有兩個步進馬達,連 limit switch 都沒有,因此在開使使用之前都要手動歸零,也就是先把馬達關掉再拉著皮帶把平台移回原點。
現在有 CoreXY 平台了,但還沒有可以抓筆的機構。我問賣家,抓筆的機構有沒有著落,他介紹了我另外一個賣家,說那邊有。
於是我就從另一個賣家那邊買到了用一顆 SG90 伺服馬達驅動的抓筆機構,看起來跟 AxiDraw 原廠的有幾分相似,但左右是相反的。
在跟他買抓筆機構的時候,我突然想到,如果他的抓筆機構跟 AxiDraw 長得那麼像,那他會不會剛好有做 EBB 呢… Bingo! 他真的有賣 EBB,一片 RMB 120,還送一個 9V 的電源。相較於 Evil Mad Scientist 的EBB 一片要價 50 塊美金,這個價錢就實惠多了,不值得我自己做。但他告訴我,他只打板子,不燒 firmware 不測試,能不能動會不會動要怎麼用,全看我自己。
不管怎麼樣,我先跟他買了再說,能不能用就看我的本事了。
又等集運把貨運到後,選了個良辰吉時,我開始組裝機器。先把抓筆機構設法固定到繪圖頭上,這著實費了我一番工夫。原來的 CoreXY 機架末端是一個陽極處理過的鋁塊,我得在上面鑽個洞,才能把固定伺服馬達的塑膠件鎖上去。
這個馬達底座的塑件也很扯,居然是用 3D 印表機印的。不過品質還算 OK 啦。
把抓筆機構裝好後,我就把 Arduino CNC shield 換掉,準備開始試機。我之所以一定要用 EBB 而不用 Arduino CNC shield,是因為 Evil Mad Scientist 有幫 EBB 做了一套 InkScribe 的 extension,可以在 InkScribe 中直接控制 EBB,把利用 InkScribe 設計的向量圖直接吐給 EBB 叫它畫。如果用 CNC shield 的話,還要把圖形轉成 G code 再餵給 Grbl。
多災多難
我把 EBB 的 firmware 燒好後,就把步進馬達的八條線接上去,把抓筆的 servo 插上去,準備開始試機。賣家送了一個 9V 的 adapter 給我,我就用它來推 EBB 和步進馬達。沒想到試機時,InkScribe 寫出來的字歪歪斜斜的,相當不準,而且我用 manual mode 下指令給 EBB 叫它讓繪圖頭走直線時,居然沒辦法走直線,走起來歪歪斜斜的。
CoreXY 走直線時,靠的是兩顆馬達同步同速運轉,因此顯然兩顆步進馬達沒辦法用同樣的速度轉動。我本來以為可能是我沒把馬達的線接好,讓步進馬達欠相,但這是四線式的bipolar 步進馬達,不是六線式的 unipolar,任何一條線沒接好它都不會動。難道 EBB 上的馬達 driver 有壞 ? 但每一相都有電流啊。
最後我懷疑到那顆號稱 9V/1A 的 adapter 上。根據經驗,淘寶上的這種 adapter 多半電流都不足。我猜它沒辦法供應馬達所需要的電流,才會讓步進馬達欠步。
我開始翻箱倒櫃,尋找家裡有沒有合用的 adapter,結果找到一顆 16V/3.5A 的 IBM ThinkPad 240 電源供應器。雖然 240 已經不在身邊,但這顆電源在陪我橫渡了美國又遊歷了大半個世界後,仍然安安靜靜躺在置物箱中等待我的召喚。
我記得 EBB 可以吃很高的電壓,為了保險起見,我查了一下 EBB 的電路圖,看了一下它的電源電路。
圖上很大方地寫著 9V to 25V DC。它的 3.3V 是用 LM317 產生的,LM317 可以耐到 37V,而步進馬達的驅動 IC A4983 則可以耐到 37V,C14 的耐壓寫著 at least 35V,因此供 16V 給它絕對沒問題。
於是,我就把 16V 的 ThinkPad 240 電源供應器插上去。連 DC 頭的規格都一樣,內正外負 4mm,剛剛好。
然後呢 ?
然後就爆了。
板子上傳來 “碰” 一聲,一股焦臭味伴隨著一陣輕煙飄上來。
我急忙把電源關掉,看看到底出了什麼事。
一顆電解電容炸了。炸得醬汁四溢,非常血腥。
我看了一下,這不就是剛剛電路圖上寫著 at least 35V,耐壓最少 35V 的那顆 C14 嗎 ? 怎麼才 16V 你就頂不住了呢 ? 即使已經炸了,它上面還白紙黑字寫著 100 35V,怎麼才 16V 你就頂不住了呢 ?怎麼才 16V 你就頂不住了呢 ?………..
我是聽過大陸有黑心電容器啦,但多半發生在數千 uF 那種容量很大很貴的電容器上,這麼小小一顆 100uF 的電解電容不用偷料吧 ?
電解電容會炸,除了耐壓超過外,另一個可能就是極性接反。
我找出 EBB 的 layout 來看:
黃色框框的地方就是炸掉的 C14。從銅箔的圖樣看起來,右邊那個焊點應該是 ground,因為它用 thermal relief 接到大片的鋪銅。那個 3.3V 的 silk screen 不知道是誰家的,但絕對不是 C14 的。
再看看手上的板子,C14 的黑色 mark 居然在左邊。不管是插腳的還是 SMD 的,電解電容的 mark 都在負極,這不用查 datasheet 我都知道。隨便找兩個 datasheet 來看:
左邊是 Kemet 的,右邊是 Panasonic 的,都是很常用的鋁電解電容品牌。沒有意外,黑色的 mark 是負極。
所以板子上的 C14 極性打反了,就在我升高電壓之後,它就耐不住炸了。剛剛用 9V 沒炸不知道該算幸還是不幸 ?
一時沒有 100uF/35V 這麼大的電容,我就隨便找了個 47uF/35V 的鉭電擋著先。
把原來的電容拆下來時,還可以看到慘烈的災情在板子上留下不可抹滅的印記。
既然這顆電容會打反,難保其它零件不會打反,於是換完電容後我又仔細地檢查了一遍板子上所有的零件,確定都沒有問題後才上電。
果然用 16V/3A 的電源供電後,步進馬達就發出悅耳的線圈音頻,準確地工作,寫出來的字也不再歪歪斜斜,直線就是直線。
EBB 的電源結構是不管你用幾伏特供電,步進馬達就是吃這個電壓,因此用 16V 驅動時馬達的扭力一定比用 9V 時大得多。我想既然扭力比較大的話,我就來超頻一下把寫字的速度調快一點…
然後呢 ?
然後又爆了。
這次更慘烈,兩顆步進馬達驅動 IC A4983 其中一顆炸了。
我早該想到的,馬達的電壓提高那麼多,我應該先把限流條低的,不然 driver 上的 power dissipation 會變成將近四倍啊,又沒加散熱片,不燒才怪。
這下沒戲唱了,我手上不可能有多的 A4983,當然也沒辦法修 EBB 了。
劫後餘生
我再度上網跟賣家訂了兩片 EBB。為什麼要訂兩片 ? 以防我手賤再把它弄壞啊…
中間經過了很長… 很長的時間,經過了 9/26 的梅姬颱風,經過了累死人的 IMPACT 2016,經過了兩堂自然體驗課…
我終於收到新的 EBB 板了。
這是新收到的 EBB 板,畫面上是 EBB 作者 Schmalz的網頁。不意外,C14 還是反的。我想他整批打件打出來的應該都一樣,不知道其它的買家有沒有遇到一樣的問題 ?
我把 C14 解焊,倒過來再焊回去,又檢查了一次電路板上所有的零件,確定它們都沒有問題。
我的寫字機終於復活了!
請問這樣一台花了多少錢呢~~?
前前後後加起來大概台幣三四千元吧,包含從大陸弄過來的運費
請問您向那個淘寶賣家買EBB?
感謝~
請問可以分享機構套件賣家資料嗎? 感恩