石定盤の上に構造を建てる自作3Dプリンタの3号機MkIIが完成したので設計資料を公開します.
firmwareはMarlin 2.0を使っています.
VScodeの使い方などは
こちらに書きました.ArduinoIDEは使えませんでした.
書き換えたsource fileは、Configration.hとG29.cppです.
追記したのはこれです.700行目ぐらいにあります.
// MEASUREMENT COMPENSATION
// +:NOZZLE UP -:NOZZLE DOWN
if(i==0) measured_z += 0.1;
if(i==1) measured_z += 0.1;
if(i==2) measured_z -= 0.1;
points[i].z = measured_z;
この追加は何をやっているかというと、Auto Levelingしても0.2mmぐらいステージが傾いていたため補正しています.原因は不明ということで.
→詳細はこちら
ーーーー
以下では、Cofiguration.hを説明します.
こちらに改造物を置きました.
Creality CR-10SのConfiguration.hを元に改造しました.
ベッドヒーターは使わないので0にしておく.
#define TEMP_SENSOR_BED 0
endSWの極性.現物合わせ
#define X_MIN_ENDSTOP_INVERTING true
#define Y_MIN_ENDSTOP_INVERTING true
#define Z_MIN_ENDSTOP_INVERTING true
#define Z_MIN_PROBE_ENDSTOP_INVERTING true
元はコメントアウトされてるので確認.Extruderのdriver選択です.
#define E0_DRIVER_TYPE A4988
1mm駆動するためのステッパモーターのstep数.{X, Y, Z, Extruder}
16倍マイクロステップ駆動をしています.現物合わせ.
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 139.2 }
各軸の最高移動速度 {X, Y, Z, Extruder}
#define DEFAULT_MAX_FEEDRATE { 1000, 1000, 5, 25 }
各軸の最大加速度
#define DEFAULT_MAX_ACCELERATION { 2000, 2000, 5, 5000 }
各軸のデフォの加速度
#define DEFAULT_ACCELERATION 2000
#define DEFAULT_RETRACT_ACCELERATION 1000
#define DEFAULT_TRAVEL_ACCELERATION 2000
Auto HomingのときにZ軸はendSWを使わずに高さセンサを使う
#define USE_PROBE_FOR_Z_HOMING
Auto levelingするのでこれはコメントアウトしておく
Auto levelingの高さセンサが固定である.たぶんBL-Touchでないセンサなら固定だ.
#define FIX_MOUNTED_PROBE
Auto levelingの近接センサとノズルの距離{X,Y,Z}を設定.現物合わせ.
#define NOZZLE_TO_PROBE_OFFSET { 0, -45, -0.9 }
Auto Levelingの場所は、ステージの縁から20mmよりも内側でやる.
#define PROBING_MARGIN 20
M48でAuto Levelingの精度チェックができるようにする.
#define Z_MIN_PROBE_REPEATABILITY_TEST
ステッパモータの回転方向.現物合わせ
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true
ステージのサイズ 200x200mm
#define X_BED_SIZE 200
#define Y_BED_SIZE 200
Auto HomingするとendSWにぶち当たります.endSWのXY座標はXY stage座標系の{-14mm,-20mm}に相当するとの意味.現物合わせ
#define X_MIN_POS -14
#define Y_MIN_POS -20
Auto Homing位置を基準として、ステージ座標の範囲は{0,0,0}~{200,200,160mm}であるとの意味.すなわちプリント可能最大サイズを意味する.
#define X_MAX_POS 200
#define Y_MAX_POS 200
#define Z_MAX_POS 160
フィラメントを使い果たした事を検知するセンサ.今は使ってないのでコメントアウト
//#define FILAMENT_RUNOUT_SENSOR
Auto Levelingを「3点測定方式」にする
#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_BILINEAR
Auto Homingのとき、Z軸を少し持ち上げてからXY移動する.
#define Z_SAFE_HOMING
Auto Homingのとき、Z軸はステージのど真ん中{100,100mm}でやる.
#define Z_SAFE_HOMING_X_POINT 100 // X point for Z homing
#define Z_SAFE_HOMING_Y_POINT 100 // Y point for Z homing
以上です.
#スキュー補正はやってません
かしこ
【おしらせ】
当ブログで書き散らかした3DPの投稿をまとめたノウハウ集を作りました.ダウンロード販売しています.¥660です. pdfをダウンロードしていただけます.全36ページ.
3DP印刷部品のstlファイルを無料ダウンロードできます.
Marlinのvscode project folder詰め合わせも無料ダウンロードできます.
よろしくでーす.