2016年1月3日 星期日

3DP : Prusa i3 變身為雷雕機

還沒開始玩 3D printer 前,拆了電腦的舊光碟機、噴墨印表機和平臺式掃瞄器,為的是想組一臺需要 X/Y/Z 三軸的繪圖機,更進一步是想加裝雷射頭,變成雷射雕刻機,甚至是雷射切割機。2014年底,繪圖機組好了,光碟機拆了好幾臺,雷射頭取下了,但雷射頭卻沒能成功上電燒東西。2015年初接觸 3D printer 後,拼裝的繪圖機被放到角落閒置,直到年底了,前一陣子把和朋友淘來的 500mw 雷射拆封測試,才又拿出來玩耍,一個小小的想法,在滿一年後才完成。
利用噴墨印表機和掃瞄器組合的雷雕機 (2015.12.)
兩部光碟機和一部軟磁機組合的迷你繪圖機 (2014.12.23)

玩了幾天只剩 X/Y 兩軸的拼裝雷射雕刻機,最大的困擾的是不同的目標物高度不同,得再重新調整焦距;如果雷射是安裝在可移動的 Z 軸上,只要調整 Z 軸的高度就可以對焦。心想,既然得將固定半天的雷射頭拆下來裝在 Z 軸上,乾脆安裝在 3D printer 上,可以順便研究一下不改 3D printer 靭體如何玩雷射。底下是 Prusa i3 加裝雷射的筆記。

Prusa i3 加裝雷射模組

硬體安裝


器材清單
  • 雷射:M-33A405-500-G (405NM藍紫光點狀,output 500mw,input 5V / 600mA)。
  • MOSFET : 3D printer 熱床溫控的 MOSFET 模組。
  • 雷射固定架

我買的雷射使用的是 5V 變壓器,為了能讓 3D printer 可以用 G-code 來控制電源的開或關,要稍微改以下供電的流程:
  • 雷射模組變壓器輸出端的電線剪開,變壓器這端接到 MOSFET 模組輸入「Power」端的+-極。
  • MOSFET 模組「HOTBED」端(要先確認正負極),接到雷射的正負極。
  • MOSFET 模組的控制訊號腳位和 GND 腳位接到 RAMPS 的 D6 ( 或 D4 / D5 / D11) 及 GND。接好後,我們就可以用「M42 P6 S...」來控制雷射要送多少電。
    例如,當我們對 RAMPS 上的這個訊號腳位(以 D6為例):
    送出 G-code「M42 P6 S255」時,雷射就會以最大的電力(255)打開。
    當送出 G-code 「M42 P6 S0」 時,雷射就會被斷電關閉。
MKS Hotbed MOSFET


如果有接過 3D printer 的外掛風扇,應該會較清楚怎麼運作,它們的原理是一樣的。

而 RAMPS 的 D4 / D5 / D6 / D11 腳位的位置在哪裡,可以參考 RepRap wiki 中的這張圖:
至於使用其它相容板的,就要自己查一下該板子的手冊囉!

雷射模組的線路如果已經改接好,並將雷射固在機器上,就可以開始測試能不能以 G-codes 控制開與關,不過,可別忘了:
  • 再一次確認兩組電源線及一組訊號線的腳位有接正確。
  • 「戴上護目鏡」
最後才打開電源測試。


調整焦距


用 G-code 可以控制雷射的電源後,下一步驟就是調整雷射的焦距,讓它可以發揮最大的效能。剛開始為了調整雷射的焦距,兩隻手好忙;換了不同的材料後,又要再重新瞎忙才能找到最佳的高度。

基於前面忙到快瞎掉才調好雷射焦距的經驗,於是先用 Inkscape 在 50mm x 50mm 的範內,畫了 16個 10mm x 10mm 的正方形;前面的圖儲存為 dxf 格式的檔案後,再利用 dxf2gocde 輸出為 G-code;最後以此為樣版,用 JavaScript 寫了一個小工具,可以依個人的需求設定起啟的 Z 軸高度、畫每一個正方形前調高多少、速度、......等參數,最後依設定產生測試雷射最佳焦距的 G-code。

將 G-code 貼入文字檔中,由 3D printer 的控制軟體將G-code送出並執行,我們只要觀察雷射過後結果來觀察哪一個方塊雷射的效果最好,就能找到該材料最佳的高度設定。G-code 產生器的 JavaScript 放在底下的網頁中:


有興趣的人可以先下載上面的網頁,修改 HTML 原始碼中的自訂參數,以後就可以少設定一些參數,而且可以在本機中執行。

設定參數,並產生 G-code
在 Repetier-Host 中貼上 G-code ,並執行「列印」
執行 G-code ,雷射打在名片上
雷射過的名片

畫圖產生 G-code


確定已經可以利用 3D printer 控制軟體送 G-code 控制雷射後,接下來就是重頭戲,要用什麼工具來產生圖形的 G-code 了?

玩 3D printer 通常會搭配「切片工具」幫我們把 3D 模型檔轉為 G-code,像 Cura 甚至可以將圖片檔轉為 3D 模型來進行切片。可惜 Cura 無法直接處理 SVG 格式的向量圖形,另外,如果要加上控制雷射開關的 G-code,也是得再用別的工具來置換或新增部份 G-code。

因為需要加上控制雷射開關的需求,Inkscape 加上有人已經寫好的 extensions ,在一個軟體內搞定繪圖和產出 G-code,似乎是較好的解決方案。底下是我覺得還不錯的 Inkscape extensions :


上面這兩個 extensions 的好處是都可以自訂雷射開啟和關閉的 G-code,這樣子,所產生的 G-code 就可以直接使用,不用再進行後製。兩個哪一個較好呢?只能說各具特色,前者在輸出的選項能自訂的較多,而且使用到 G1/G2/G3 來繪圖,執行的效率可能高一些;後者則是對照片輸出的樣式較有變化,基本上是用「畫點」的方式來繪圖,速度可能慢一些。哈~如果能合併兩者的功能就更棒了!

除了使用 Inkscape 加上 extensions 外,另外還有個人覺得滿強大的工具 dxf2gcode:

利用 dxf2gcode ,我們可以將 dxf 格式的圖檔轉成 G-code,看起來好像沒有什麼,其實 dxf2gcode 可沒那麼陽春!

首先,dxf 格式的檔案很多繪圖工具都可以輸出成這種檔案,當然包括 Inkscape。dxf2gcode最強大的地方是輸出的 G-code 格式可以自訂,而且我們還可以將設定儲存成不同的設定檔,輸出 G-code 時,只要選擇要套用哪個設定檔,即可輸出不同的 G-code。這樣一來,像我應用在一般紙、飛機木、厚紙板、泡棉......,不同的材質、厚度......,常用的可以預先編寫好設定檔,輸出的會是最適合的 G-code,不用再做修改了。

有關 dxf2gcode 的設定檔如何修改,可以參考 wiki 中的說明和範例:

這部份要另寫一篇才行,心得寫好後再附於本文中連結。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
※※※※※※※※別忘了護目鏡及其它防護作業※※※※※※※※
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

相關文章




21 則留言:

  1. 謝謝你的G-code產生程式
    真的讓我一拿到雷射頭就很輕易地能測試參數並且上機成功

    回覆刪除
    回覆
    1. 您好:
      很開心知道這工具有幫到您的忙哦~~

      刪除
  2. 有你真好,才剛開始摸雷射雕刻機,爬文了很多地方,您的文章最完整,雖然還有很多地方看不懂,例如廠商說賣我的雷雕機不能更改供電,但我覺得一定是可以的,您這篇文又讓我前進了一步,感謝您

    回覆刪除
  3. 想請問一下熱床溫控的 MOSFET 模組您是在那購買的
    我依照外掛風扇那篇文章做出來的模組只能控制雷射頭開和關而已
    無法雕出灰階的圖
    網路上找了很久都沒能找模組成品的販售
    或是能否麻煩您指點如何製作
    謝謝

    回覆刪除
    回覆
    1. 您好:
      其實在照片下方有關鍵字了「MKS Hotbed MOSFET」,那片是朋友幫忙在淘寶上買回來的。

      刪除
    2. 感謝您的回覆,我再上網找找
      您的文章真是讓我受益良多
      很多技術上的訊息都是從您這學習得到的
      還有您提供的工具程式,讓我上手方便許多
      感謝您無私的分享

      刪除
    3. 您好:
      今天又將機器測試一下
      將MOSFET模組的控制訊號腳位由D11改接至D6後
      雷射頭的控制的就完全正常, 可以雕出灰階圖像了
      在網上爬了文找到(https://github.com/MarlinFirmware/Marlin/issues/2104), 討論中有提到
      "It's probably because the different PWM capable pins use different timers and Marlin needs some timers for its interrupts."
      以致於D11應該不適用做MOSFET控制訊號的輸出腳位
      以上訊息供做參考
      再次感謝您的技術分享, 讓我得以享受做個MAKER的快樂

      刪除
    4. Leon 您好:
      恭喜您成功了!
      我運氣不錯,一直都是用 D6, 文章中說可以用哪幾個腳位是看 RAMPS 1.4 電路圖上標 SERVOS 的,並沒有一個個去試。可是我覺得既然可以供 SERVOS 的 PWM 用,給風扇和雷射控制,應該也是可以。您這麼提醒,下回不能用,我知道要換個 pin 試試。感謝您的分享。 ^_^

      刪除
    5. 請問
      http://www.makerbase.com.cn/en/product/detail.php/id-70.html MKS hotbed 是這顆嗎?

      刪除
  4. 受到這篇文章啟發,也去買一組500mW 405nm雷射要裝在CNC雕刻機上,希望能成功,謝謝

    回覆刪除
    回覆
    1. 後來繼續試大概 50% duty cycle 風扇便運轉起來,觸摸散熱片並無明顯溫度,應該是無礙。)
      今天進展到mosfet模組,發現 PWM 在 low duty cycle 時,雷射模組的散熱風扇不會運轉,大概是電壓不足的關係,不知會不會影響雷射模組的散熱?您也有遇到同樣情況嗎?

      刪除
    2. 您好:
      看來, 您比較專業。我的風扇沒有特別去調整線路, 結果和您的一樣。如果想讓風扇能持續的轉, 應該要將它的電源獨立。就個人目前的使用經驗, 還沒有將雷射燒掉。

      刪除
    3. 不敢當,只是好奇而已,主要還是憑藉您這篇分享去做。50%時風扇能轉想必已經足夠。緊接著又繼續拜讀 Raster 2 Laser GCode generator 這篇,真是前人種樹、後人乘涼,感激不盡 :D

      刪除
  5. 作者已經移除這則留言。

    回覆刪除
  6. 請問三支柱像atom 3d印表機也可以這樣改嗎

    回覆刪除
    回覆
    1. 您好:
      基本上應該可以, 會有差異是 Delta 型的 firmware 好像不支援類似 G2、G3 這種畫弧的 G-codes; 另外, 它的座標 0, 0 是在中心, 而不像 Pruasa i3 是在左下角, 這樣子, 有些轉 Laser G-codes 的工具只能輸出到第一象限, 另外三個象限就用不到了, 可 laser 的面積就被壓縮, 得特別處理才行。

      有個疑問, atom 不是也有雷射模組?

      刪除
    2. 我只會組裝 沒有電子方面的知識 要問清楚一點 不能畫弧的意思是 只能做平面式的列印嗎。 你說的特別處理 是什麼意思 用軟體去處理嗎

      刪除
  7. 我的不是atom,類似而已,以前在建國商場看店面大花20000買的誰知現在倒了連維修都不知要找誰
    謝謝

    回覆刪除
  8. 小弟有點好奇溫控獏組在這裡的功用

    能不能直接把雷射頭接D6,不通過溫控模組?

    回覆刪除
    回覆
    1. 您好:
      本文中的那個雷射模組吃的是 5V , 不確定由 Arduino 接過來的電流是否夠, 而我自己剛好有溫控模組可以控制電射原來的電源, 就這樣用了由 scanner + printer 改裝時的架構。如果您的雷射是 12V 的, 其實可以直接接在 3D printer 原來也是供電 12V 的風扇接點; 我後來買的 12V 雷射就是吃散熱風扇的電。接法其實都可以試試, 哈~板子燒了可不負責哦!

      刪除

 
© 2009. Design by Pocket