ALUNAR-M508オートレベリング化まとめ:前編

最終更新日

最新版(1.1.8)Marlinを使う場合のConfiguration.hのALUNAR-M508設定向け変更箇所がわかったので、目標とする最新Marlinによるオートレベリングを実現したいと思います1)ALUNAR-M508用の1.1.8版Marlinソースをgithubでアップされている人がいらっしゃって、それを使うのもいいのですが、Configuration.h自体のdefineを書き換えた上で、Configuraion_Alunar.hというような独自ファイルをincludeし、さらにConfiguration.hのdefineを再定義するというソースになっているので、今後のことを考えて利用断念しました。また、標準添付のConfiguration_adv.hを使って再定義を付け加えるという手もありますが、これも今後混乱する気がするのでやめました。Configuration.hを直接書き換えて、comment に//Changed 日付、とか書いておく程度におさめるのが間違いがなさそうです。

まず前記事では触れなかったオートレベリング関係のConfiguration.h設定について書きます。

Marlin 1.1.8のオートレベリングでは次の5種類の方法から一つを選びます。

(1)AUTO_BED_LEVELING_3POINT(3点基準で自動計測)

(2)AUTO_BED_LEVELING_LINEAR(線形グリッドによる(傾き補正を用いた)自動計測)

(3)AUTO_BED_LEVELING_BILINEAR(双線型グリッドによる自動計測)

(4) AUTO_BED_LEVELING_UBL (Unified Bed Leveling)(統一平面として多くの点を基準に自動計測)

(5)MESH_BED_LEVELING(手動指定で網状に複数点を計測)。

なおこれ以外に手動で計測点を指定できるPROBE_MANUALLYもあります。。

わたしのような初心者は(1)-(3)によるレベリングでいいだろうということで、今回は(3)を選びます。(1)の3点計測が簡便なのですが、ベッド自体がかなりフラットでないと意味がなさそうなので、デフォルトで9点計測できる(3)にしました。

なお、Marlinのオートレベリングの一般解説としてはCHITOさんのブログ記事がわかりやすく選択の参考になりました。下は同氏による(4)のテスト動画。このベッドを叩きつけるようなデルタプリンタの動き、迫力です。

 

まず、Configuration.hの書き換えを行います(ALNUAR社配布のM508用Marlin(1.1.1ベース)でも一緒だと思いますが試してません)。

その1。AUTO_BED_LEVELING_BILINEARに直接関係する設定

#define FIX_MOUNTED_PROBE //近接センサーを使うので、この定義のコメントアウトを外す。サーボモーターやSLEDを使う場合は、他の該当定義を有効にする必要がある。

#define AUTO_BED_LEVELING_BILINEAR //コメントアウトを外す

#define LEFT_PROBE_BED_POSITION 58 //センサー(プローブ)がノズル位置から左側にずれるので、センサーがベッド枠内に残るようにする。そうしないとX座標移動が0に近くなって、センシング対象=ベッドからはずれ、結果Z軸が降りすぎて「ガガガガガガ」の恐怖が訪れる。

#define RIGHT_PROBE_BED_POSITION 199 //右側はギリギリまで動かす。まあそれでもセンサーの実(X)座標位置は、199マイナス(ノズルからセンサーの距離)に留まります。
#define BACK_PROBE_BED_POSITION 180//奥は適当なところで。

その2。Z軸のXY復帰位置をベッド中央にする

#define Z_SAFE_HOMING  //コメントアウトを外す。オートレベリングしないとしても外すのが吉だと思います。

その3.設定をEEPROMに書き込めるようにする

#define EEPROM_SETTINGS //コメントアウトを外す。これをしておかないと、ソフトウエアインターフェースからM500コマンド(save data)を発行してもstored failedが出ます

その4.Z軸のマイナス座標移動を禁止しているMIN_SOFTWARE_ENDSTOPSを無効に(これについては後述)

//#define MIN_SOFTWARE_ENDSTOPS //コメントアウトする。

その5.テストをした上で変更したほうがいい定数が一つ

#define Z_PROBE_OFFSET_FROM_EXTRUDER 0 //デフォルトは0になっていますが、テストの後、後述のように書き換える。

 

上記定義に加え、前記事記載のALUNAR-M508用定義部分を書き換えてコンパイル・アップロードすれば、G29(オートレベリング)を発行するだけで一応動いてくれます。

時間にして50秒程度かかります。なお動画の途中で変な音楽が鳴っているのは、メンタリストシーズン7をかけっぱなしでやってたからですね。。。気にしないで下さいませ。

少し長くなったので、残りは次記事にまわします

References   [ + ]

1. ALUNAR-M508用の1.1.8版Marlinソースをgithubでアップされている人がいらっしゃって、それを使うのもいいのですが、Configuration.h自体のdefineを書き換えた上で、Configuraion_Alunar.hというような独自ファイルをincludeし、さらにConfiguration.hのdefineを再定義するというソースになっているので、今後のことを考えて利用断念しました。また、標準添付のConfiguration_adv.hを使って再定義を付け加えるという手もありますが、これも今後混乱する気がするのでやめました。Configuration.hを直接書き換えて、comment に//Changed 日付、とか書いておく程度におさめるのが間違いがなさそうです。

コメントを残す

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

CAPTCHA


コメントする