最近文章

Arduino筆記(二十五):Mini DVD 繪圖機

[2017/06/04]
大概有一、兩個星期,沒有特別製作一些有趣的主題,花了一些時間研究 3D印表機及CNC畫圖/雕刻機,一直想用 42型的馬達製作 CNC繪圖/雕刻機。看到網路上有人將 2個 DVD光碟機拆來當作繪圖機,想說有空也來實做看看,瞭解其原理及程序後,再動手製作較大型的 CNC繪圖機。

利用端午節的連續假期,在住家附近的資源回收商,買了兩個DVD 光碟機跟 6個 42型步進馬達,回家打算研究一下如何透過光碟機的步進馬達,做成X-Y軸式的繪圖機。先看看最後的成品,再來細說過程中遭遇的困難與挑戰。


[製作過程]

(1) 拆開光碟機後,就利用兩個外殼,加上兩個 L型支架,鑽孔鎖上螺絲。


(2) 將步進馬達的延長排線剪斷,上面有 4個接點,將 4條電線分別焊接到這 4個點。


(3) 量好距離,將固定螺絲的位置鑽孔,鎖上六角螺絲,直立的部分是 X 軸(橫向),平面的部分是 Y 軸(直向)。固定時,需要注意 水平與垂直,不可歪斜太多,否則會造成墨水著色不均或歪斜的情況。繼續製作的過程中,發生幾個狀況,讓我不得不對重新調整。例如:

• 其中一個 DVD(X軸橫向) 買來時,上面的支架塑膠已經稍有裂開 (下圖左上角處),還可使用,測試列印幾次後,就卡住完全不動,害我不得已再去買一個舊的光碟機來替換。

• 買來的是  ASUS光碟機,又發生一個插曲:打開外殼一看,真的傻眼了,驅動改用一般的馬達,不是用螺旋桿式的步進馬達。不得已只好再去買一個 TEAC的 DVD光碟機,還好價格非常非常便宜。(原來買的兩個是 SANYO 跟 Samsung兩款,斷裂塑膠片的是  Samsung 那一台)


• 替換的光碟機,因螺絲孔位與前一個不同,需重新鑽洞,剛好卡到 L型支架,不得已將 L型支架轉 90度,變成長邊在水平端,短邊在直立端。還好重新鑽孔,已經熟悉了,不會太難。


(4) 依照下圖連接線路。




(5) 安裝 Y 軸(直向)端平台,這個平台規格是 10cm * 10cm。剛開始,使用珍珠板(圖左)切割一個10 cm正方的平台,也對準光碟機讀寫頭的形狀挖出空心,使用熱溶膠固定。測試幾下,發現太軟了,只好改用較硬的木板(圖右)。



(6) 安裝畫筆的筆架,筆架的穩固跟畫出來圖的品質有很大的關係,我也是在這個地方花很多時間調整。

• 剛開始,將筆放進大小差不多的紙筒內,發現差一點點,就用大吸管,多加幾層當作固定,將紙筒上方切開,放進一截貼有雙面膠的導電帶。看似可以,由於紙筒僅用兩條電線捆住,無法完全固定的情況下,晃的很厲害,畫出來的圖更是亂七八糟。


• 最後因為 X 軸(橫向)的光碟機滑動桿卡住,決定改用另一種畫筆的移動方式。於是將拆下了的光碟機,找到開啟光碟機的機構,將上下部分切開,只留中間一段。兩片塑膠可順利滑動,一片固定畫筆,一片固定在 X 軸(橫向)的讀寫頭上,同時也將 SG-90的伺服馬達固定在這片塑膠上。改良如下圖。

• SG-90的伺服馬達,上下移動時,將另一片塑膠提起/放下,提起時,畫筆離開紙面,放下時畫圖。



• 測試繪圖時,發現 Y 軸(直向)端的平台鎖的太靠近內側,畫出來的圖,剛好畫到圖紙的邊緣,於是加上4個六角螺絲,將X 軸(橫向)的支架向外延伸。


到這裡才算是告一段落,當然後續也有陸續調整,如延長 Y 軸(直向)端的步進馬達電線長度、將畫筆再加以穩固等。

[列印程序]

(1)  先將程式上傳到 Arduino,我參考的是 Electric DIY Lab 網站的程式,您可到 mediafire 去下載。這裡發生一個狀況是,原本該下筆畫畫的,變成提筆不畫,該提筆的變成畫圖,剛好相反,原因是我的SG-90步進馬達的搖臂跟原作者的方向相反,只好將原本上下筆的兩段程式 up 跟 down對調過來,因程式較長,就不放在部落格上。

(2) 編輯圖形產生 gcode,我用 Inkscape 加裝擴充套件  unicorn,輸出gcode時,會產生以下錯誤。找了一下網路文章,還沒解決,改天在另外寫一篇如何使用 Inkscape 產生 gcode的文章。


(3) 執行 GCTRL 程式開始列印,GCTRL畫面如下:


• 先按「P」,選擇串列埠
• 再按「h」,讓筆的位置當作起點
• 再按「g」,選擇 gcode檔案,按下確定後,就會開始列印

以下是列印時的部分影片,讓大家看一下實際運作的情況為何?礙於上傳的檔案受限於100MB,僅傳一小部分列印實況。
video

[參考資料]

• Electric DIY Lab:How to make Mini CNC plotter machine at home using Arduino, L293d Motor shield & old DVD drive
• Instructables.com:Mini CNC Machine Arduino Based & Adafruit Driver Motor L293D V1 & 2*Mini Stepper CD/DVD Player 

沒有留言