2018年8月8日 星期三

D-force V2 升級 Marlin Bugfix 1.1.x 步驟



這一台D-force V2 300己升級雙噴,但試過後平常是拆掉第二噴,免得刮料;可是因為它是我最大台的3D列印機,偶而會拿它來印比較大的工件,其時就會遇到一個問題:斷料,快印完時斷料而沒人顧很慘的,所以就想加個斷料偵測器,可是它不是open source,而且我想它的codebase應該也不夠新,就自己動手改了。我fork了Marlin, 研究後決定branch bugfix 1.1.x來用,這一版對delta機型支援比較好,source code在此:https://github.com/PhilXing/Marlin/tree/D-force-V2-300,有興趣者可以fork一版到你自己的github裏或下載回去玩玩看,以下就是試用時的幾個比較關鍵的環節。由於在我快完工時Marlin正式release了1.1.9版, 所以我也跟進一版, 喜歡正式版本的人可以在這裏取得: https://github.com/PhilXing/Marlin/tree/D-force-V2-1.1.9。使用方法目前看到並沒有什麼不同。

我是使用Arduino 1.8.5來編譯上傳,我假設你己經會用它了。當然要使用USB線和對應的驅動程式,一旦更新後,USB COM port X(看你的電腦指定到COM幾),baud rate就要改成250000,之前沒有原始碼的baud rate並不是250000(是115200?),如果你發現連不上了,或是D-force一直重開機,那大概就是這個問題。
再來就是探針的servo馬達設定,因為我不知原始的設定,所以就依社團前輩提示的50度待命,15度佈署的設定來改, 如果你發現探針動作有異,請依以下步驟調整:1.拆除旋臂, 2.重開機, 3.將旋臂鎖至待命位置, 4.使用 "M280 P0 S50" , "M280 P0 S15"來確認探針是否依指令到位。
我預設是雙噴頭,單噴也是可以用,如果要改成只支援單噴,就要到configuration.h裏把這裏改成1。

還有configuration_adv.h裏把E1_AUTO_FAN_PIN 改為 -1。

如果你是400/500?, 那麼桿長要改一下, 請自己拿尺量一下桿子兩端螺絲的距離後, 用它來代替這個值。不用非常準,因為執行自動校正後會調好,但也不能差太多,自動校正會失敗的。
再來就是安裝切片程式或是pronterface, 此處我假設己安裝好, 然後:
 . Contro==Restore failsafe: 或是下"M502"指令
 . Prepare==Delta Calibration==Auto Calibrate: 或是下"G33"指令
 . Prepare==Level Bed: 或是下"G29"指令
 . Prepare==Delta Calibration==Probe Z-offset: 用影印紙調整噴頭高度,不用太緊。
 . PID hotend: 把噴頭移到印床高度附近("G1 Z1 F6000"), 風扇打開("M106 S255")後, 下"M303 C8 S200"調測噴頭PID。
 . PID bed: 下"M303 E-1C8 S70"指令調測印床PID
 . Control==Store Settings: 或是下"M500"指令
在校正過程中我發現推桿會和風扇干涉,所以畫了一個風扇座和一個導風罩來處理這問題:https://www.thingiverse.com/thing:3039057
如果不改風扇座,那就要把邊界加大來避免推桿和風扇磨擦的狀況,我試了一下,30就夠了。偵測範圍越大床會越平。