ALUNAR社M508のConfiguration.hとMarlinオリジナルの違い

最終更新日

相変わらずの3Dプリンターの話題ですが、閑話休題的に、ALUNAR M508に添付されているファームウエアと大元のMarlinの違いについてのメモを書いておきます。

SDカードで同梱されていたファームはMarlinのversion 1.1.1をベースにしています。器械にあわせて、大元のConfiguration.hが書き換えられています。

その主なものを

diff -u ALUNAR添付のConfiguration.h github配布のMarlinのConfiguration.h

で比較してみます(M508ファームを基準にMarlin大元を比較する並びであることに注意ください)。

Marlinの現行バージョンは1.1.8に上がっているので、1.1.1を雛形にして今後の書き換えの参考にしようかと思います。

 

その1. ボード定義が違う

#ifndef MOTHERBOARD
– #define MOTHERBOARD BOARD_MKS_BASE
+ #define MOTHERBOARD BOARD_RAMPS_14_EFB
#endif

BOARD MKS BASEというのはRAMPS派生の一体型ボードらしいです。http://reprap.org/wiki/MKS_BASE_1.0

あくまで派生であって、電気的にもRAMPSの回路と違うので注意が必要となります1)2018/05/28追記。MKS BASEは現在version 1.5まで上がっており、RAMPS 1.4との互換性をうたっているようです。ALUNAR m508のボードはそのMKS BASEをベースに変形させた基板ですね。変形」というのは、MKS BASEの場合複数のEXTRUDER対応回路があるのですが、m508ボードは単一EXTRUDERでの使用を前提に単純化されています。なおボードにはHY_BASE_L V1.0と印刷されています。

 

その2:ホットベッドセンサーの定義(センサー有りに変更必要)

-#define TEMP_SENSOR_BED 1
+#define TEMP_SENSOR_BED 0

その3:ノズル温度制御の微分パラメタが違う

– #define DEFAULT_Kd 144
+ #define DEFAULT_Kd 114

これはUltimakerの定義だそうです。

その4:最小座標のストップ定義が違う

-#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
-#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
-#define Z_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
+#define X_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
+#define Y_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
+#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.

M-508の基板は本家のRAMPSと違ってプルアップされているので、ストッパースイッチやセンサーがオンになるとLOWに落ちて、ストップしてくれるということですね。

その5:XYZEの4モーターのステップ定義が違う

-#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100 , 400, 96 }
+#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 4000, 500 }

Z軸やExtruder用値がぜんぜん違う理由はわけわからん人なので、今後

https://www.matterhackers.com/news/3d-printer-firmware-settings-stepper-motor-configuration

などを見て勉強することにして、とりあえずこれじゃないとだめということで。

その6:X軸の方向定義が違う

-#define INVERT_X_DIR true
+#define INVERT_X_DIR false

設定変更せずに動かすとどうなるかというと、X軸が逆方向に動いてガガガガガガとなります(多分)。怖いですね。

その7:エクストルーダーの送り方向が違う

-#define INVERT_E0_DIR true
+#define INVERT_E0_DIR false

これを設定変更せずに動かすと、いつまでたってもフィラメントは入っていきません(多分)。むなしいですね。

その8:ホームポジション移動後のX,Y軸移動動作が違う

-#define X_MIN_POS -10
-#define Y_MIN_POS -15
+#define X_MIN_POS 0
+#define Y_MIN_POS 0

これは結構大切な変更だと思います。ベッドの枠外にX軸1cm、Y軸1.5cm動いた上でZ軸が降りてくる、と。もし何かの問題があってストッパースイッチが効かずにZ軸ホームがベッドの下まで潜り込んでしまったとしても、ノズルがベッドにあたってしまうことがなくなるという工夫ですね(多分)。

その9:ヒータ温度が違う

-#define PREHEAT_1_TEMP_HOTEND 200
-#define PREHEAT_1_TEMP_BED 50
+#define PREHEAT_1_TEMP_HOTEND 180
+#define PREHEAT_1_TEMP_BED 70

-#define PREHEAT_2_TEMP_HOTEND 250
+#define PREHEAT_2_TEMP_HOTEND 240

その10:SDカードサポートの有無

-#define SDSUPPORT
+//#define SDSUPPORT

M508はSDカードありますもんね。

その11:液晶コントロールパネルの有無

-#define REPRAP_DISCOUNT_SMART_CONTROLLER
+//#define REPRAP_DISCOUNT_SMART_CONTROLLER

これもありますものね。

というわけで以上11箇所の変更をした上で最新ファームを書き込む必要がありそうです。

次はいよいよ近接センサーを使ったオートレベリングの実際です。

 

 

 

References   [ + ]

1. 2018/05/28追記。MKS BASEは現在version 1.5まで上がっており、RAMPS 1.4との互換性をうたっているようです。ALUNAR m508のボードはそのMKS BASEをベースに変形させた基板ですね。変形」というのは、MKS BASEの場合複数のEXTRUDER対応回路があるのですが、m508ボードは単一EXTRUDERでの使用を前提に単純化されています。なおボードにはHY_BASE_L V1.0と印刷されています。

3件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


コメントする