然而3D印表機看似安全,其實也是有些潛在的危險性。最危險的莫過於加熱的噴頭以及熱床了,動輒200多度的高溫在運作,萬一有個意外很可能會導致起火燃燒,更何況列印的時間幾小時,往往都沒有人在旁邊顧的,如此一來保護的功能就更加重要了。
Marlin的設計者在這個方面也下足了苦心,可惜在保護功能中有些美中不足的地方,是什麼呢?
以下我會逐一介紹。
首先,我們加熱保護功能主要落在噴頭上,加熱床並不是這篇文章討論的重點,不過我有空會再做個加熱床的實驗。(我想都大同小異)
先考慮到網路上許多人談論的問題,我先假設加熱棒與熱敏電阻(偵測溫度的感測器)會發生的狀況大約如下:
1.熱敏電阻電線脫落。
2.熱敏電阻短路。
3.熱敏電阻接著,但加熱棒的電線脫落。
4.熱敏電阻接著,但加熱棒的加熱頭脫落。
5.熱敏電阻頭脫落,但加熱棒依舊接著。
以下我會就這五種情況依序地做實驗。
首先,我們加熱保護功能主要落在噴頭上,加熱床並不是這篇文章討論的重點,不過我有空會再做個加熱床的實驗。(我想都大同小異)
先考慮到網路上許多人談論的問題,我先假設加熱棒與熱敏電阻(偵測溫度的感測器)會發生的狀況大約如下:
1.熱敏電阻電線脫落。
2.熱敏電阻短路。
3.熱敏電阻接著,但加熱棒的電線脫落。
4.熱敏電阻接著,但加熱棒的加熱頭脫落。
5.熱敏電阻頭脫落,但加熱棒依舊接著。
以下我會就這五種情況依序地做實驗。
1.熱敏電阻電線脫落:
【熱敏電阻電線脫落】(拔掉熱敏電阻接頭模擬)在這種情況下,無論是離線的LCD或是Repetier-Host都會顯示Err.MINTEMP,因為熱敏電阻脫落的關係,導致溫度偵測錯誤,因此在加熱的過程中如果熱敏電阻電線脫落,加熱器會直接關閉。
【Repetier-Host熱敏電阻電線脫落顯示】
【LCD熱敏電阻電線脫落顯示】
【LCD熱敏電阻短路顯示】
4.熱敏電阻接著,但加熱棒的加熱頭脫落:
這個狀況我沒圖片,因為我懶得把加熱棒拔下來。但是大家可以想像一下這種狀況,大概就是加熱棒持續加熱,但是溫度一樣保持在室溫,如此一來可能會導致危險,因為掉落的加熱棒會不斷的加熱輸出。(如果有碰到易燃物會很危險)因此這種狀況,就很像接下來的狀況五,熱敏電阻依舊偵測到的是室溫,而控制器也沒出現錯誤,但是加熱棒卻不斷的加熱。因為這個狀況其實跟第五種狀況會發生一樣的事情,因此我直接從第五種狀況還解釋,也是本文章所要講的最重要的一節。
5.熱敏電阻頭脫落,但加熱棒依舊接著:
【熱敏電阻頭脫落,但加熱棒依舊接著】
看這張圖片可能看不出來我在接甚麼,為了避免麻煩(懶得拆加熱快上的熱敏電阻),因此我直接將旁邊加熱床的溫度Sensor,用來接上噴頭所屬的溫度感測接腳T0,如此一來就模擬了這種狀況,熱敏電阻脫落在外,但加熱棒接著。
我透過簡單的實驗來演示這個狀況的危險性(本狀況同第四種狀況)。
【加熱棒持續加熱】
但是Marlin的設計者不可能沒有想到這一點,因此裡面有一個很聰明的設計,可以適當的偵測是否有上述兩種異常狀況,但是美中不足的就是它預設是關閉的。
【Marlin→Configuration_adv.h加熱異常保護預設關閉】
【Marlin→Configuration_adv.h加熱異常保護預設關閉】
//// Heating sanity check:
// This waits for the watch period in milliseconds whenever an M104 or M109 increases the target temperature
// If the temperature has not increased at the end of that period, the target temperature is set to zero.
// It can be reset with another M104/M109. This check is also only triggered if the target temperature and the current temperature
// differ by at least 2x WATCH_TEMP_INCREASE
//#define WATCH_TEMP_PERIOD 40000 //40 seconds
//#define WATCH_TEMP_INCREASE 10 //Heat up at least 10 degree in 20 seconds
這段程式碼的意思簡單來說,就是如果40秒過去了,感測器溫度還是沒變化就關閉加熱棒。
但我一直不曉得為什麼這麼好的功能預設是關閉的。
因此請務必打開這項功能!
【開啟加熱異常保護功能】
【可以編譯通過,但依舊沒有保護功能】
開啟之後神奇的事情發生了,在第四種或第五種狀況下,加熱超過40秒之後,加熱棒會自動關閉並顯示錯誤。
【Repetier-Host加熱異常,自動關閉加熱】
大家也可以修改時間,例如我修改成20秒關閉
【修改加熱異常保護功能時間】
1.熱敏電阻電線脫落:
顯示Err:MINTEMP,加熱棒關閉。
2.熱敏電阻短路:
顯示Err:MAXTEMP,加熱棒關閉。
3.熱敏電阻接著,但加熱棒的電線脫落:
請開啟加熱異常保護功能,40秒後偵測到沒升溫自動關閉。
4.熱敏電阻接著,但加熱棒的加熱頭脫落:
請開啟加熱異常保護功能,40秒後偵測到沒升溫自動關閉。
5.熱敏電阻頭脫落,但加熱棒依舊接著:
請開啟加熱異常保護功能,40秒後偵測到沒升溫自動關閉。
希望大家都能把這個功能開啟,再多加上一層保護!
不過記得在開啟後,可以像我實驗看看,確保功能有確實作動
剛好適逢過年,祝福各位新年平安,財源廣進 。
20230307補充:現在大部分的人都是購買成機了,而我的使用經驗中其實也應該都有這項保護裝置了,所以確實不需要太多緊張就是。但我的經驗是如果今天溫度會一直亂跳,加熱棒在列印中的降溫太高,且調整PID之後還是如此,那可能就要檢查一下是否溫度Sensor或加熱棒是否有異常了。