這里和大家討論下國(guó)產(chǎn)的類Ultimaker3d打印機(jī)的固件修改升級(jí)方法,如何判斷自己的機(jī)器是不是Ultimaker機(jī)型,可以參考下圖(十字軸結(jié)構(gòu)就是了)
這里以我多年之前買的一臺(tái) iMaker 3D打印機(jī)為例,本質(zhì)上是一臺(tái) Ultimaker v1.5.7硬件的機(jī)器,因此使用 Ultimaker 的軟件跟固件都是沒(méi)有問(wèn)題的。
具體信息如下:搬家之前,由于房間空間限制,已經(jīng)在角落里落灰許久了。最近搬完家,有地方折騰了,打算打印幾個(gè)小物件玩玩。可是實(shí)際運(yùn)行時(shí)候發(fā)生打印嚴(yán)重變形的問(wèn)題。具體的表現(xiàn)就是Z軸上(也就是高度方向上)發(fā)生嚴(yán)重的拉伸現(xiàn)象,整個(gè)打印物體的高度被拉伸,比如那個(gè)自帶的三厘米左右的小機(jī)器人,被莫名拉伸到十幾厘米,導(dǎo)致結(jié)構(gòu)松散,嚴(yán)重變形,易碎。剛剛開(kāi)始以為是升級(jí)固件導(dǎo)致的問(wèn)題,但是還原到以前可以正常使用的固件,問(wèn)題依舊。以為是USB通訊導(dǎo)致的問(wèn)題,使用SD卡打印的效果依舊是這個(gè)樣子。一時(shí)間毫無(wú)頭緒。于是準(zhǔn)備拆開(kāi)看看硬件部分是不是損壞了。結(jié)果發(fā)現(xiàn) Z 軸控制器中的一個(gè)跳線帽丟了! 如下圖:
底部電路
Z軸部分跳線
從上圖可以看到 Z 軸的 MS3 位置的跳線帽丟了。根據(jù)說(shuō)明,這個(gè)跳線帽插上之后是 1/16 細(xì)分,否則是1/8細(xì)分,相當(dāng)于把 Z 軸的下降速度提升了一倍!
這個(gè)設(shè)備使用的是開(kāi)源的 Ultimaker v1.5.7 的電路圖,更詳細(xì)的內(nèi)容參考 Ultimaker's v1.5.7 PCB
正常的跳線狀態(tài),如下圖所示:
找了個(gè)跳線帽插上之后,恢復(fù)正常。 由于這個(gè)板子是使用的官方的電路圖進(jìn)行了簡(jiǎn)單的修改,因此應(yīng)該可以直接刷官方的 Marlin Ultimaker 固件的,但是使用官方提供的 Marlin Ultimaker 固件之后,加熱床失效了。無(wú)論如何都不能加熱。
看了一下官方的固件代碼,發(fā)現(xiàn)默認(rèn)情況下,加熱床是關(guān)閉的。也就是官方提供的固件默認(rèn)是沒(méi)有加熱床的(源代碼的 Configuration.h,中 #define TEMP_SENSOR_BED 0 我們需要根據(jù)實(shí)際情況修改,一般修改為#define TEMP_SENSOR_BED 1 即可。但是如果是某些特殊品牌的,根據(jù) Configuration.h 里面的說(shuō)明進(jìn)行修改)。因此我們只能自己從官方固件代碼修改之后重新編譯。
iMaker自帶的熱床沒(méi)有牌子,一般是 4.7K 的上拉熱敏電阻。因此定義 #define TEMP_SENSOR_BED 1 即可。
編譯方法
1.首先下載 Arduino 開(kāi)發(fā)工具 https://www.arduino.cc/en/Main/Software?setlang=cn
2.下載一份最新的代碼,Linux下命令行操作如下:
- $ git clone https://github.com/Ultimaker/Marlin.git
-
- $ cd Marlin
-
- $ git checkout Marlin_v1
-
- $ cd Marlin
-
- $ sed -i "s/^#define[ \t]*TEMP_SENSOR_BED*/#define TEMP_SENSOR_BED 1/g" Configuration.h
復(fù)制代碼 Windows 下可以瀏覽器直接下載最新代碼https://codeload.github.com/Ultimaker/Marlin/zip/Marlin_v1,然后手動(dòng)修改 Configuration.h 文件里的 #define TEMP_SENSOR_BED 0 為 #define TEMP_SENSOR_BED 1
3.使用最新的 Arduino 1.8.9 版本,這個(gè)版本的庫(kù)比較全,已經(jīng)不需要安裝其它附加庫(kù)了。也可以本站下載一份拷貝。 arduino-1.8.9-windows.exe4.使用 Arduino 1.8.9 打開(kāi)項(xiàng)目目錄下的Marlin目錄下的Marlin.ino 并將設(shè)備選擇成Arduino Mega 2560,如下圖:
然后選擇 “項(xiàng)目” 菜單中的 “導(dǎo)出已編譯的二進(jìn)制文件”,如下圖:
編譯完成后,會(huì)在代碼目錄下生成 Marlin.ino.mega.hex,Marlin.ino.with_bootloader.mega.hex兩個(gè)文件,我們使用第一個(gè)即可, bootloader盡量不要升級(jí)。
文件可以用 Ultimaker Cura 進(jìn)行升級(jí)即可。Cura最新版本4.2.1下載地址http://www.ryphqz.cn/forum-98-1.html
目前我使用的固件代碼,可以在這里下載Marlin-Marlin_v1里面包含已經(jīng)編譯好的固件。
|
全部評(píng)論46