さて、、放置していたZ軸probeを使ってみる。
E3DV6を使うと、最初に付いてきたprobe台を使うとヒートシンクに干渉する。

kosselでも何とか形になる出力はできるので、Mini Kossel Retractable Auto Bed Leveling Probe (for use with larger hotends)を出力。

近くのホームセンターやアストロプロダクト(厚木)に行ったけど、コストパフォーマンスの良い1.5mmのヘキサレンチはなかったのでカインズホームに行ってみたら有ったのでそれにしました。
帰って合わせて観たのですが少し短かったので1.5mmの長いイモねじを接着剤で固定。
次に最初に入れたFW(Marlin)の最新をDLして
|
1 |
/Marlin-Development/Marlin/example_configurations/delta/kossel_mini |
のファイルを上書きしてましたが、まずは購入したサイトにあるFWに入れ替えました。
しかしG29コマンドを実行すると、訳の分からない動きをして。。。。ググった動画とはは全然違う動き。。。
3日間の試行錯誤のすえ解ったことは、
Z_MIN_ENDSTOP_INVERTINGが逆
|
1 2 3 4 5 6 7 |
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins. const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. |
付いてきたmicroスイッチはnoには繋がってな無かった。
G29コマンドのZ軸probeの有効化/無効化のモーションではうちの子は対応できない
G29で使ってるモーションを修正する手もあったが、なにか弄るたびにFWの書き換えは面倒なので新しくG30コマンドを追加してBed Auto Levelingのみをするようにしました。
|
1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 |
case 29: // G29 Calibrate print surface with automatic Z probe. saved_feedrate = feedrate; saved_feedmultiply = feedmultiply; feedmultiply = 100; deploy_z_probe(); calibrate_print_surface(z_probe_offset[Z_AXIS] + (code_seen(axis_codes[Z_AXIS]) ? code_value() : 0.0)); retract_z_probe(); feedrate = saved_feedrate; feedmultiply = saved_feedmultiply; previous_millis_cmd = millis(); endstops_hit_on_purpose(); break; case 30: // G29 Calibrate print surface with automatic Z probe. saved_feedrate = feedrate; saved_feedmultiply = feedmultiply; feedmultiply = 100; calibrate_print_surface(z_probe_offset[Z_AXIS] + (code_seen(axis_codes[Z_AXIS]) ? code_value() : 0.0)); feedrate = saved_feedrate; feedmultiply = saved_feedmultiply; previous_millis_cmd = millis(); endstops_hit_on_purpose(); break; |
29のケース処理をコピペしてdeploy_z_probe と retract_z_probe を削除。
そして、KISSlicerのG-code − Prefix にprobeの有効化/無効化のモーションとG30のコマンドを追加。

|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
G28 G1 z30 F6000 ;Z probe on ------ G1 X20.00 Y90.00Z50.00 G1 X0.00 Y90.00 Z50.00 G1 X20.00 Y90.00 Z50.00 G1 X0 Y0 ;Z probe on ------ G30 G1 Z30 F6000 G1 X-31 Y60 Z30 F6000 G1 Z12 F600 G1 Z50 F6000 ; go HOTEND Up Wait position G1 X0 Y-80 ;M109 S<TEMP> ; go HOTEND Up Wait position |
G30コマンドを実行したときに出る値を観ると 最大2.5mmも違う。
|
1 2 3 4 5 6 7 |
0.730 0.730 0.730 0.970 1.210 1.210 1.210 0.300 0.300 0.580 0.870 1.220 1.540 1.540 -0.230 0.100 0.420 0.780 1.080 1.510 1.870 -0.470 -0.130 0.220 0.580 0.980 1.400 1.890 -0.700 -0.330 0.070 0.440 0.880 1.410 1.810 -0.500 -0.500 -0.150 0.320 0.760 1.280 1.280 0.370 0.370 0.370 0.290 1.100 1.100 1.100 |
Bedの高さ調整をできる機構を入れるかな。。。。



