中野島ロボット

小さなロボットの自作記事を書いています。

週刊中ロボ243 idbox! FW修正 温度異常での停止が無くなった。

はじめに
最近3Dプリンタidbox!の調子が悪いのて確認して修理しました。現象は印刷を開始してしばらく(数分)すると、エラーが出力されて止まってしまいます。止まらないで完走するときもあるのですが、最近は完走率が50%を切ってきたので、原因を調査していました。

エラーの内容
現象は印刷中にエラー出て途中で印刷が止まってしまいます。

エラーは

16:26:33.886 : Error:Thermal Runaway, system stopped! Heater_ID: 0
16:26:33.886 : Error:Printer halted. kill() called!

とあります。

ヒーターID:0はホットエンドなので、”熱暴走してるんでシステム止めますよ”て意味です。どうやらプリンタ側の問題のようです。

対策
ファームウェアを書き換えてとりあえず現象は止まりました。FWの書き換えた所は、二箇所で、熱暴走の温度範囲を広くしました。
ファイル Configuration_adv.h

変更箇所:一部抜粋

/**
 * Thermal Protection protects your printer from damage and fire if a
 * thermistor falls out or temperature sensors fail in any way.
 *
 * The issue: If a thermistor falls out or a temperature sensor fails,
 * Marlin can no longer sense the actual temperature. Since a disconnected
 * thermistor reads as a low temperature, the firmware will keep the heater on.
 *
 * The solution: Once the temperature reaches the target, start observing.
 * If the temperature stays too far below the target (hysteresis) for too long (period),
 * the firmware will halt the machine as a safety precaution.
 *
 * If you get false positives for "Thermal Runaway" increase THERMAL_PROTECTION_HYSTERESIS and/or THERMAL_PROTECTION_PERIOD
 */
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
//  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
//  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

  #define THERMAL_PROTECTION_PERIOD 60        // Seconds
  #define THERMAL_PROTECTION_HYSTERESIS 10     // Degrees Celsius

デフォルトでは設定温度から4度を超えると、安全機能が働いて止めてしまう設定になっていました。

  #define THERMAL_PROTECTION_PERIOD 40        // Seconds
  #define THERMAL_PROTECTION_HYSTERESIS 4     // Degrees Celsius

なので、これを10℃まで拡大して様子見することにします。周期はおまじないなので少しだけ増加させておきました。

  #define THERMAL_PROTECTION_PERIOD 60        // Seconds
  #define THERMAL_PROTECTION_HYSTERESIS 10     // Degrees Celsius


なおファームウェアの書き換えは、こちらのページを参考にして下さい。

www.nakarobo.com

予想原因
最初は温度センサの接続不良や断線を疑い、次にUSBケーブルやノイズの混入を疑いましたが違いました。
この冬は電気代が高くなったので、部屋の中でも少し厚着をして、暖房温度を低めにしていましたが、昔は定着を良くするために、部屋を十分暖めてから印刷を開始していました。
idbox!は、冷却ファンの風量調節ができないので、印刷が始まりホットエンドが風を切り出すと、周囲の温度が低いと、いったんホットエンドの温度が急激に下がってしまいます。
ほんとうはヘッドを保温するのが良いのですが、idbox!のヘッド周りの作りが結構ギリギリなので断熱綿が取り付けられません。
おわりに
しばらく印刷させていますが、症状は出なくなりました。ヒーターの能力が下がっているのか、温度計計測用のサーミスターが壊れたのかもしれないと思っていたのですが、意外と早く直った感じです。ただ、本当に調子が悪くなっている可能性もあります。
ともあれこれで、3Dプリンタがまた二台体制になるので、ロボット制作も公開に向けてスピードアップできると思います。


f:id:nakarobo:20230314125004j:image

おしまい

参考:Marlinの温度関係設定メモ.md · GitHub

Amazon情報
これをまけば対策になりますが、idbox!は結構ヘッド周りが狭いので難しいです。

ホットベットの断熱綿もあるんですね。これも冬場は有効かもしれません。