CNC






Arduino筆記(25):Mini DVD 繪圖機

大概有一、兩個星期,沒有特別製作一些有趣的主題,花了一些時間研究 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,僅傳一小部分列印實況。

[參考資料]

• 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 










原文網址:https://read01.com/AJ753.html


舊DVD驅動器沒用了?DIY一個白菜價的3D印表機吧

2016/01/04 來源:雷鋒網
編者註:本文來自Instructables。
這個點子其實也是從Instructables上得來的,之前我在網站上看到過一個創客用CD盤做了一個數控工具機。這些閒置物品在創客手裡都煥發了第二春,什麼繪畫機器人,雷射切割機和鑽床等等,不過我還暫時沒見過有人做3D印表機,至少沒有廉價版的。所以我就用舊的DVD驅動器打造了一台白菜價的3D印表機,如果你也感興趣,就跟我一起來吧。

第一步:不喜歡看長長的教程?那就看視頻吧。

如果你是個視覺動物,不喜歡看冗長的文字教程,那麼可以直接觀看下面的視頻教程:

第二步:準備零部件

我做這個項目其實也是為了廢物再利用,畢竟家裡老電腦上許多零件如果不用就浪費掉了。除了3D列印筆,其他的都是點廢舊部件,相信也不難找到。以下就是我們需要的零部件清單:
1. 3個DVD驅動器。
2. 3個步進電機驅動器(也很便宜,6美元而已)。
3. PC電源。
4. Arduino Uno開發板(10美元)。
5. 3D列印筆(45美元)。
6. 螺絲和螺母若干。
7. 2塊電氣箱蓋(不是必須,可以用其他東西代替)。
8. 烙鐵和焊料。
9. 熱熔膠。
總花費:55美元左右(是不是很便宜)。

第三步:拆掉光碟機

想拆解光碟機其實很簡單,不過人們總是忽視掉一些問題,第一個就是拆掉驅動機構的前面板。其實中間有個小技巧,你只需拿個曲別針插進彈出孔就好。拉出托盤後,前面板會折斷。搞定後你就可以卸下光碟機上的螺絲並取下其金屬和塑料的外殼了。
現在你就能看到光碟機的所有零部件了,包括馬達,雷射器,LED燈和傳動裝置等等。裡面其實有很多有用的零件,不過在這個項目中,我們主要用的是那塊帶有步進馬達的金屬電動托盤(上面有螺杆的那部分)和雷射安全罩。我們需要這些零部件是因為它們能給我們提供馬達,導軌和外殼,這樣我們就能製作一個完美的數控軸。好吧,我們需要斷開這些零部件之間的連線然後將它們拆解下來。此外你還可以將托盤上的無刷直流電機拆下來,雖然在這裡用不到,但在四軸無人機上它可是重要的零部件。隨後,請拆下雷射器,玻璃部件和光碟機磁頭等。另外,請延長步進馬達上的線材以備後用。在多數的步進馬達上我們都能看到一條連接在主板上的帶狀電纜,在這裡你可以放心剪斷它,隨後請在接口終端上焊上4條新線(至少6″ 長)。為了防止以後弄混,我還為這些線編了碼。搞定了我們準備的三個光碟機後就可以進行下一步了。
為了給電動托盤找個容身之所,我又拿來了光碟機盒。好吧,現在我們就先從Y軸開始吧,Y軸主要負責前進和後退的動作,所以如圖請將一個電動托盤平行的安裝在光碟機盒上,擺好位置後確定其朝向角度是否正確,然後再用主板螺絲將其固定好。
X軸的製作則正好與Y軸相反,它要與光碟機盒最長的那部分垂直,其他的則可參考Y軸的安裝。搞定了X軸和Y軸,我們就可以製作Z軸了,Z軸需要安裝在雷射安全罩上(X軸),所以我們得找些零件為它做個安裝平台,在這裡我用主板螺絲支撐起一個電器蓋板作為安裝平台。此外,在Y軸上我也如法炮製製作了一個安裝平台。

第五步:製作支架

分別搞定了X、Y和Z軸的製作後就要進行總裝了,這裡我們要將X和Z軸安裝在Y軸上。安裝時X軸要和Y軸垂直(看起來像字母L),隨後對其進行微調,讓Z軸和X軸對齊。最後對三個部分進行整理,保證他們動起來後不會相互碰撞。校準和整理完成後,就可以用螺絲將它們固定住了。在這裡我還用了個L型支架來加固,不過其實螺絲的強度應該就足夠了。

第六步:走線

想要讓它們動起來,我們得把線走好,這裡你需要準備5個零部件:
  • 1個Arduino開發板
  • 3個步進電機驅動器
  • 1個PC電源
除了這些,你還得多準備點線材和烙鐵,焊料等。關於焊接等工作,你可以參考下面連結中的弗里茨示意圖(連結),它會告訴你關於連接接口和引腳的所有事。好啦,我們開始這一步的詳解吧。
Arduino Uno將是這個項目的大腦,它將負責控制所有部件。不過它也不是萬能的,在控制步進電機上就出了點問題,想要解決它,我們需要三個「步進電機驅動」。請參考圖中將步進電機驅動,電機,Arduino開發板和電源來起來。
在電源這部分我們要稍加注意,因為這種老式電源的線實在過於複雜,你得找好到底哪根線可以輸出合適的電壓。
在這裡我用的是綠色那條線,如果這條線沒有接正確,就無法開啟電源。我們可以用一根短線來當跳線,將綠線和黑色的地線連起來。想要驅動步進電機驅動器,你得將一根5V的紅線黑黑色的底線連接起來。這一步其實挺麻煩,你得將它們分出來並分別連接到3個步進電機驅動器上(可參考上圖)。

第七步:改造3D列印筆

3D列印筆上共有三個控制按鈕,它們可以控制列印產品的厚度和列印筆的正擠壓和負擠壓(擠列印材料)等一系列動作,其中最重要的是正擠壓的控制,該按鈕可以將列印材料擠出來,這也是進行3D列印的關鍵。
手動控制肯定沒有電腦控制精確,所以我們要對3D列印筆的電路進行改造,這樣我們就可以用Arduino對其進行精確控制了。隨後我們要把3D列印筆拆開並搞定控制正擠壓的按鈕,下面是拆解的詳細步驟:
  • 卸掉螺絲並拆掉列印筆的後蓋。
  • 斷開電源線。
  • 卸掉上部的固定螺絲並撬下電源接口。
  • 按下滑動按鈕並將其卸下。
  • 卸下滑動按鈕的金屬條。
  • 卸掉絲管支架上的螺絲。
  • 抬起絲管和主板並將其卸下。
  • 拆掉噴嘴。
拆掉列印筆後,就可以看到控制正擠壓的按鈕了,它的四個角上分別有四個接口。隨後我們要分別進行測試,看看哪兩個接口可以順利控制電機。不過在進行測試之前,我們還得再將噴嘴和電源接口連起來,要不然3D列印筆就無法啟動了。當加熱按鈕變綠之後,將一個1k ohm電阻器的一端搭在一個接口上,另一端搭載另一個上。以此方法分別測試四個接口,若聽到擠壓電機開始旋轉,我們就成功了。找到這兩個對的接口後,我們要用一條線將其連接起來。不過在焊接時要注意,因為它實在是太小了,若焊料過多會影響未來的工作。
在將列印筆還原之前,先用1k Ohm的電阻器對其進行測試,在確定它能正常工作而且焊接無缺憾後(可以用熱熔膠給它加個雙保險),就可以重新將列印筆組裝起來了。記得用刀片或者電鑽在後蓋上開一個洞給線留出空間。

第八步:製作一個開關電路

請下載連結中的電路圖
下一步就是製作電路了,通過它我們能用Arduino控制正擠壓按鈕。這個電路的核心是電晶體,有了它我們才能對電子信號進行放大和開關,其中的開關功能更是我們夢寐以求的。
所有的電晶體都有3個引腳,包括基座,集電器和發射器。不過電晶體的類型不同,其引腳的排布方式也不同,所以用之前還是先問一下度娘為好。分清三個引腳扮演的角色後,請將一根按鈕線連在集電器上,另一根連在發射器上,在線的問題上不用糾結,怎麼連都可以。隨後我們要將Arduino開發板和電晶體連起來。首先將地線接上集電器,隨後將Arduino的12號引腳連上基座,這樣我們的開關就快完成了。記得在12號引腳和基座間加一個電阻器,不過選電阻器時要兼顧到列印筆,下一步中我就會告訴你如何根據列印筆選擇合適的電阻器。

第九步:怎樣確定到底哪個是可以正常工作的電阻呢?

電阻值對保證3D列印筆和電晶體的正常運行很重要,想選出合適的電阻你可以參考下面幾個建議。首先,將列印筆連上集電器和發射器,隨後將Arduino的地線接口連上集電器。之後我們就可以開始測試了,但千萬不要打開Arduino。列印筆開機後,請用線將基座和Arduino的地線接口連接起來。如果它能打開列印筆的開關,就說明電阻值有些低。這時我們就要增加電阻。開始時請使用1k Ohm的電阻,如果不行就換成10k Ohm的,如果開關依然會打開,就繼續增加電阻值,直到開關不再自動打開。
測試結束後我們就能搞清接地線時需要多大電阻了,下一步我們還要給它通電,找出此時多大電阻才能阻止開關打開。將剛剛測試好的電阻連在Arduino的5V接口上,然後打開Arduino。如果開關未能開啟,說明此時電阻有些高,所以我們要一步步減小電阻。將電阻降到47k Ohm時,開關依舊沒打開,隨後我又將電阻降到22k Ohm,功夫不負有心人,終於成功了。所以22k Ohm就是我們要找的那個電阻值。

第十步:安裝3D列印筆

製作好開關電路後,我們就可以進行總裝了。此時我們要將3D列印筆裝在Z軸上,為了保持列印筆的穩定,我用衣服夾和熱熔膠將它緊緊固定住。

第十一步:相關軟體

進行完以上的步驟後,我們硬體部分的製作就順利完成了,剩下的就是驅動軟體了。驅動我們的數控工具機的程式語言名為G-Code,它會精確的計算出X,Y和Z軸需要移動的角度和距離。當然,靠Arduino來解讀G-Code代碼可能會有些吃力,所以我們還要安裝一個名為GRBL的解譯程序。下面就是在Arduino上安裝該程序的詳細步驟:
  • 下載Arduino專用的GRBL Hex文檔(我用的是0.8c版,我的Arduino Uno型號為Atmega328)。
  • 下載XLoader軟體。
  • 將Arduino連上你的PC。
  • 在Xloader軟體上選擇GRBL Hex文檔,在下拉式菜單中選擇Arduino,隨後選擇連接Arduino的串行通訊埠。
  • 點擊「上傳」將GRBL軟體上傳至Arduino。
裝好了輔助軟體的Arduino就一切準備就緒了,不過我們還得給它添加一些軟體以便控制數控工具機的動作。這裡我們要使用的軟體名為GRBL控制器,下載安裝後請在其中選擇你的Arduino接口並點擊「打開」來連接。
確保你的3D列印筆和電源都能正常工作,並將Arduino連上電腦。隨後你就可以用螢幕右下角的箭頭來控制電機了。注意,右下角的下拉框請設定為1,而不是默認的10。如果某一個軸的平台在運行中出錯(運行方向與命令相反),請進入工具>選項,將原本設定顛倒過來。在列印筆的控制上,我們需要勾選「啟動主軸」的選項,這一步可以控制列印筆的開關。另外,軟體左邊的控制區域則可通過一些代碼來進行控制操作,「M3」代表開啟列印筆,「M5」則代表關閉列印筆。這些代碼一定要記清楚。

第十二步:列印測試

搞定了軟體,我們就離勝利又近了一步。現在你可以在MakerCam.com上為印表機製作測試圖了。你也可以使用類似Slic3r的3D列印軟體,不過它與我們機器的兼容性不好,後期轉制和編輯太費勁。而在MakerCam上就不會出現這種問題,你可以通過下面幾步製作出自己的測試圖:
  • 點擊「插入」按鈕並選擇一個圖形當作基本圖像。
  • 使用左上角工具欄中的箭頭工具來選中整個圖像。
  • 將其移動到左下角的網格中。
  • 你可以通過工具欄中的手形工具對圖片進行相應修改,隨後再將其拖回螢幕中央。
  • 通過頁面右上角的工具,你可將圖片尺寸精確到厘米級。
  • 進入「編輯>比例選擇」,你可對其進行比例修改,讓其符合我們的列印規格。
  • 隨後,進入「相機>跟隨路徑操作」,並使用下列數值進行列印測試:
  • 「目標深度」就是你列印物體的高度,在這裡我的數值為-1。
  • 「安全高度」和「曲面餘量」則可設定為0.
  • 「逐步降低」則代表列印材料每層的高度。對於初學者來說,我推薦將數值設定為0.2,不過如果你想列印的薄一點,可以降低這一數值。
  • 「進給速率」則代表了列印的速度。我將其設定為50,此時列印筆的擠壓速度最低。
  • 「下刀速率」則代表了噴嘴上下移動的速度。這點其實不怎麼重要,不過我還是把它設定為50。
  • 隨後進入「凸輪>計算選擇」來計算路徑。
  • 最後,進入「凸輪>輸出Gcode」來保存你製作圖像的G-Code。
在通過GRBL控制器對Gcode進行轉碼之前,我們還需要做些設置,以便它能兼容我們的3D印表機。現在,我們在文本編輯器(如Notepad等)中打開之前在makercam.com上保存的文檔,這時你會看到一堆「天書」,這就是G-Code代碼,這些代碼隨後會發送到Arduino成為一項項指令。我們需要將「M3」和「M5」 指令添加進去,以便更好的控制3D列印筆的列印動作。下面是添加指令的詳細步驟:
  • 「G17」之下是第一個「M3」指令。不過這時開始列印有點早了,所以還是將「M3」指令寫在「F50」指令後吧。
  • 在下面的代碼中,每次看到「F50」,請在其下一行中加入「M3」指令。
  • 下一步我們要做的就是尋找「Z0」指令,它會將噴嘴設定為0毫米,這樣一來噴嘴就直接和列印底座親嘴了。所以每次見到「Z0」指令,請直接將其刪除,隨後用「M5」指令替代它。
  • 在最後的「M5」指令後,我們應該讓Z軸回到初始位置。因為之前我將列印高度設為-1,所以在最後Z軸高度應設為-2.
  • 在設定完Z軸高度後,我們需要讓X軸和Y軸也在列印結束後回到它們的初始位置。請在Z軸的代碼下輸入「G0 X0 Y0」 來完成這一指令。
  • 保存代碼後就可以開始列印了。

第十三步:開始享受3D列印

最後一步相當簡單。只要將Z軸上的3D列印筆移動到Y軸平台上就行(中間要留有空隙)。隨後做下列印前的最後檢查,確保電源開啟,Arduino連上電腦,列印筆開始加熱。接著打開GRBL控制器軟體並連上開發板。在螢幕上點擊」選擇文件」按鈕,隨後就可以選擇你想要列印的文件了。最後,點擊「開始」按鈕,然後就可以期待你自己的3D列印大作了。
趕緊去試試吧!












留言

熱門文章