2021年4月24日土曜日

石定盤 自作3Dプリンタ、設計資料3 Marlin Config

3Dプリンタを作ろう!

一応動いたので、ここで設計資料を公開します.リンクフリー、流用応用フリーです.ただし、アナタに被害を与えたとしてもわたしは知らないので素直に死んでください

ーーーー
今回は、MarlinのConfigurationです.

これを書いてる時点で、2.0.7.2を使いました.Marlinさんありがとう.
revisionが変わればconfig fileも変わってしまうでしょうから、月日が経つとここの情報も古くなってしまいます.Marlin configに関するネットの情報も古いものが多々あります.その#defineは今はもう無い的な事情です.勇者諸君はそうゆうのをかいくぐって生き延びてくれるものと思っておるぞ.

DLするべきなのは、2つあります.上のzipとconfig fileです.

インスト&ビルドにはいろいろと地雷があります.
ArduinoですからArduino IDEでぐた~っとビルドできるのかと思いきや、Marlinは巨大なのでArduino IDEが使えません.その代わりMS VSCodeを使わなくちゃいけません.VSCodeは玄人向けのtoolなので素人のわたしにはさっぱり判らんちんでした.慣れるまで時間がかかりました.インスト地雷については、今となってはややズレてるけどこちらで経緯を書きましたので参考にして応用してください.

Marlin configの具体的な作業は、Configuration.hを書き換える作業です.この他にConfiguration_adv.hや_Bootscreen.hもconfigの一環ですが、以下では触れません.とりあえず動かすだけならConfiguration.hの書き換えだけでわたしは済みました.

書き換える元のConfiguration.hを探します.DLしたConfigurations-release-2.0.7.2.zipの中身を探すと、Configuration.hは500個ぐらい見つかると思います.どれを使ったら良いのだ?という疑問が生じます.
わたしは、Creality社の機種名CR-10SのCrealityV1をいじくりネタとして使いました.
Configurations-release-2.0.7.2 /Configurations-release-2.0.7.2 /config /examples /Creality /CR-10S /CrealityV1
この下にconfig fileがあります.
いじくりネタのConfiguration.hをこちらに置きました.
ヒラサカが改変した同ファイルはこちらです.

以下ではこの2つを比較して、キモの部分を解説してゆきます.

hotend温度センサの設定 (420行目)
オリジナル   #define TEMP_SENSOR_0 1  
ひら改変      #define TEMP_SENSOR_0 61  
こちらの投稿でサーミスタについて調査しました.
「NTC 100k B3950 ±1%」というSPECのサーミスタに対応するには1番よりも61番の方が良さそうです.たとえ1番のままでも酷い温度誤差が出るというほどでもなさそうですが.
なお、ヒートベッドは装備していませんのでそちらの設定は放置プレイです.

end stop SW極性  (653行目
オリジナル
#define X_MIN_ENDSTOP_INVERTING false
#define Y_MIN_ENDSTOP_INVERTING false
#define Z_MIN_ENDSTOP_INVERTING false
ひら改変
#define X_MIN_ENDSTOP_INVERTING true
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true
これは使ったendstopSWの仕様に則るためですので特にこだわりはないです.

モータードライバ  (677行目
オリジナル
//#define X_DRIVER_TYPE  A4988
//#define Y_DRIVER_TYPE  A4988
//#define Z_DRIVER_TYPE  A4988
//#define E0_DRIVER_TYPE A4988
ひら改変
#define X_DRIVER_TYPE  A4988
#define Y_DRIVER_TYPE  A4988
#define Z_DRIVER_TYPE  A4988
#define E0_DRIVER_TYPE A4988
コメントアウトを解除しただけです.コメントアウトされているとデフォのA4988になるらしいのですが、気味悪いのでコメントアウトを解除しておきます.

最高速度関係  (740行目~)
オリジナル
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 400, 95 }
#define DEFAULT_MAX_FEEDRATE              { 2500, 2500, 100, 25 }
#define DEFAULT_MAX_ACCELERATION      { 500, 500, 100, 5000 }
#define DEFAULT_ACCELERATION               600
#define DEFAULT_TRAVEL_ACCELERATION    800
ひら改変
#define DEFAULT_AXIS_STEPS_PER_UNIT   { 80, 80, 100, 96 }
#define DEFAULT_MAX_FEEDRATE              { 1000, 1000, 5, 25 }
#define DEFAULT_MAX_ACCELERATION      { 2000, 2000, 5, 5000 }
#define DEFAULT_ACCELERATION               2000
#define DEFAULT_TRAVEL_ACCELERATION   2000
素早く動かすための速度や加速度を設定しています.ここはあまり根拠なく、こんなもんかなで決めた数値なのであとで変えるかもしれません.

Z軸homingにBL-Touchを使う  (843行目)
オリジナル
//#define USE_PROBE_FOR_Z_HOMING
ひら改変
#define USE_PROBE_FOR_Z_HOMING
自動原点決めをhomingと呼びます(G28).通常はendstopSWでXYZ各軸のhomingを行います.しかしZ軸だけはBL-Touchで代用することが可能です.

auto leveling  (874行目~)
オリジナル
#define PROBE_MANUALLY
//#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
ひら改変
//#define PROBE_MANUALLY
#define BLTOUCH
#define NOZZLE_TO_PROBE_OFFSET { 0, -35, -2.1 }
XYステージの傾きを自動補正してくれる機能(G29)です.
BL-Touchを使います.
probe offsetとは、ノズルを基準にBT-Touchの位置{x,y,z}を記述します.

ステッピングモーター方向    (1187行目~)
オリジナル
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false
ひら改変
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
現物合わせです.

各軸の可動範囲  (1121行目~)
オリジナル
#define X_BED_SIZE 296
#define Y_BED_SIZE 298
#define X_MIN_POS 4
#define Y_MIN_POS 2
#define Z_MIN_POS 0
#define X_MAX_POS 319
#define Y_MAX_POS 306
#define Z_MAX_POS 400
ひら改変
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
#define X_MIN_POS -20
#define Y_MIN_POS -56
#define Z_MIN_POS 0
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 150
現物合わせです.寸法設定についてはこちらにて解説しました.
最後の3行で決めた{x,y,z}={200,200,150}がこの3DPで打てる最大寸法になります.今後拡張してゆくつもりです.

フィラメントセンサ  (1168行目)
オリジナル
#define FILAMENT_RUNOUT_SENSOR
ひら改変
//#define FILAMENT_RUNOUT_SENSOR
フィラメントの有無のセンサは使いませんのでコメントアウト.

Z軸homing座標     (1385行目~)
オリジナル
//#define Z_SAFE_HOMING
  #define Z_SAFE_HOMING_X_POINT 150
  #define Z_SAFE_HOMING_Y_POINT 150
ひら改変
#define Z_SAFE_HOMING
  #define Z_SAFE_HOMING_X_POINT 100
  #define Z_SAFE_HOMING_Y_POINT 100
Z軸homingをXYステージのどの座標で行うかを指示します.わたしの3DPのステージ寸法は200x200mmなので、(100,100)は中央部を意味します.


変更した部分は以上です.


かしこ



【おしらせ】
当ブログで書き散らかした3DPの投稿をまとめたノウハウ集を作りました.ダウンロード販売しています.¥660です.
pdfをダウンロードしていただけます.全36ページ.

3DP印刷部品のstlファイルを無料ダウンロードできます.
Marlinのvscode project folder詰め合わせも無料ダウンロードできます.

まずは無料立ち読み版をご覧になってはいかがでしょうか.(pdf)

よろしくでーす.

0 件のコメント:

コメントを投稿