AI3M x BIGTREETECH MANTA M5P – Part 3

はじめに

今回も MANTA シリーズの続き.今回は配線とKlipperの設定を行う.

MANTA
「MANTA」の記事一覧です。

配線

Anycubic i3 Mega のハードウェア構成整理

M5P に諸々接続する前にハードウェア周りやハブ基盤の仕様を整理する.

まずはステッピングモータの位置関係.このハードにはステッピングモータが 5 つ搭載されていて,そのうち 2 つが Z 軸として機能している.これらの位置を次の通りに定義しておく.

続いてハブ基盤.この基盤は ZR 側に設置されていて,エンドスイッチや各ステッピングモータの配線を筐体の内外に中継する役割をしている.配線のまとめ方にややクセがあるので,できれば基盤を作り直したいところだが,この基盤が無いとそれはそれで困るのでそのまま流用する.配線は次の通り.

M5P 配線

前述の通りハブはそのまま流用することになるので,一部のコンポーネントはこのハブを経由することになる.ただし M5P では BLTouch は1つのコネクタで接続されることになるので,HOTEND BOARD を経由せずに直接 M5P に接続することにした.

また M5P ではリミットスイッチを接続する箇所(MIN1~4)が4つあるが,AI3M のハード構成上4箇所全て各軸のリミットスイッチに割り当てることになるため,フィラメント用のリミットスイッチを接続できない.私の使い方だとフィラメントセンサがなくて困ることは滅多になさそうなので,困ったら考えることにする.

ここまで決まればあとは頑張って配線をひらすら接続し直す.結構大変...

Klipper設定

需要があるのかよくわからないけど,とにかく設定内容を見せてくれという人は下の方まで飛んでどうぞ.

ひとまず仮の設定をロードする

Klipper ではいろいろな機種に合わせて設定ファイルのサンプルを用意している.今回は MACHINE > Config Files [ config_exsamples ] > generic-bigtreetech-manta-m5p.cfg からM5P 用のサンプルををダウンロードして設定を詰めていく.

AI3M 用に設定を仮おきで設定する.修正した設定ファイルの内容は次の通り.

########################################
# stepper configuration
########################################

# M1
[stepper_x]
step_pin: PC8
dir_pin: !PC9
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD3
position_endstop: 0
position_max: 200
homing_speed: 50

# M2
[stepper_y]
step_pin: PA10
dir_pin: !PA14
enable_pin: !PA13
microsteps: 16
rotation_distance: 40
endstop_pin: ^PD2
position_endstop: 0
position_max: 200
homing_speed: 50

# M3: STEPPER_ZL
[stepper_z]
step_pin: PC6
dir_pin: PC7
enable_pin: !PA9
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC3
position_endstop: 0.0
position_max: 200

# M4: STEPPER_ZR
[stepper_z1]
step_pin: PB12
dir_pin: PB11
enable_pin: !PA8
microsteps: 16
rotation_distance: 8
endstop_pin: ^PC2

# M5
[extruder]
step_pin: PB0
dir_pin: !PB1
enable_pin: !PC4
microsteps: 16
rotation_distance: 33.500
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

########################################
# TMC2208 configuration
########################################

[tmc2208 stepper_x]
uart_pin: PD9
run_current: 0.800

[tmc2208 stepper_y]
uart_pin: PD8
run_current: 0.800

[tmc2208 stepper_z]
uart_pin: PB10
run_current: 0.800

[tmc2208 stepper_z1]
uart_pin: PB2
run_current: 0.800

[tmc2208 extruder]
uart_pin: PA6
run_current: 0.600

########################################
# other configuration
########################################

[heater_bed]
heater_pin: PA5
sensor_type: Generic 3950
sensor_pin: PA0
control: watermark
min_temp: 0
max_temp: 130

# FAN0: Print Model Cooling Fan 
[fan]
pin: PA4

# FAN1: Extruder Heater Cooling Fan
[heater_fan fan1]
pin: PA3

[mcu]
serial: /dev/serial/by-id/${環境に合わせて設定}

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PD5, EXP1_3=PB3, EXP1_5=PB5, EXP1_7=PB7, EXP1_9=<GND>,
    EXP1_2=PD4,  EXP1_4=PD6, EXP1_6=PB4, EXP1_8=PB6, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=PB14, EXP2_3=PB8, EXP2_5=PC10, EXP2_7=PC12,  EXP2_9=<GND>,
    EXP2_2=PB13, EXP2_4=PB9, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>

# See the sample-lcd.cfg file for definitions of common LCD displays.

[bltouch]
sensor_pin: PC13
control_pin: PC15
x_offset: 0.0
y_offset: 0.0
z_offset: 0.0

修正したら MACHINE > Config Files [ config ] にアップロードする.

続いてアップロードした設定ファイル名に合わせて printer.cfg に include 行を修正する.

[include mainsail.cfg]

# host MCU service is preinstalled and ready to use with:
[mcu CB1]
serial: /tmp/klipper_host_mcu

[include AnycubicAI3M_bigtreetech-manta-m5p.cfg]

ここまで修正が終わったら Firmware Restart で設定をロードし直す.この先設定ファイルを修正した都度リセットをかけること.

ENDSTOP

ENDSTOP は機種によってノーマルオープン(NO),とノーマルクローズ(NC)の2種類がある.AI3M のリミットスイッチは通常 NO 状態で,ホームポジションでクローズになる.

コンソールから QUERY_ENDSTOPS コマンドを実行すると現在のスイッチの状態を確認することができる.ホーミングを実行する前に,スイッチを指で押しながらコマンドしてすべてのスイッチが正しい状態か確認する.

> QUERY_ENDSTOPS
x:TRIGGERED y:open z:open z1:open # x軸のスイッチを指で押してみたらこんな感じ

出力結果に合わせて stepper セクションの position_endstop の値を修正する.プルアップして,値を反転しておく.

[stepper_x]
step_pin: PC8
dir_pin: PC9
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PD3       # ^: pullup, !: reverse, endstop_mode is normaly open
position_endstop: 0
position_max: 200
homing_speed: 50

移動方向と移動量

まずは XYZ 軸の方向.ちょっと荒業だけど管理画面上の EMERGENCY STOP をいつでも押せる様に覚悟しつつ,ホーミングを実行する.もしもリミットスイッチの逆方向に移動したら即刻停止.確認した結果をもとに dir_pin の値を設定.

[stepper_x]
step_pin: PC8
dir_pin: !PC9           # reverse
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PD3      # ^: pullup, !: reverse, endstop_mode is normaly open
position_endstop: 0
position_max: 200
homing_speed: 50

続いて移動量.移動量は rotation_distance で指定する.値の決定方法は以前 Marlin でやったことと同じで,適当なピンと定規を用意して,移動量から設定値を導出する.XYZ軸はサンプルの初期値から変更しなくて良さそう.

Rotation distance - Klipper documentation

エクストルーダも配線に合わせてピンを変更.エクストルーダの rotation_distance も XYZ 軸と同様実際の挙動から求めることもできるが,製品説明にあわせて 7.71 を指定.

# M5
[extruder]
step_pin: PB0             #  PB12 -> PB0
dir_pin: PB1              # !PB11 -> PB1
enable_pin: !PC4
microsteps: 16
rotation_distance: 7.71   # 33.5 -> 7.71
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250
Bondtech Mini Geared BMG Extruder for groove mount Hotends
The new Bondtech BMG™ is the best and lightest performing extruder on the market that combines low weight with high feed...

ヒーターPID

以下の通りコンソールからコマンドを実行して,PID のパラメータを求める.温度の目標値はお好みでどうぞ.

> PID_CALIBRATE HEATER=heater_bed TARGET=60
PID parameters: pid_Kp=69.584 pid_Ki=1.991 pid_Kd=607.994
The SAVE_CONFIG command will update the printer config file
with these parameters and restart the printer.
> PID_CALIBRATE HEATER=extruder TARGET=215
PID parameters: pid_Kp=26.314 pid_Ki=1.772 pid_Kd=97.689
The SAVE_CONFIG command will update the printer config file
with these parameters and restart the printer.

各パラメータ値を設定ファイルに反映させる.

[heater_bed]
heater_pin: PA5
sensor_type: Generic 3950
sensor_pin: PA0
control: pid      # wartermark -> pid
pid_Kp: 69.584    # add new line
pid_Ki: 1.991     # add new line
pid_Kd: 607.994   # add new line
min_temp: 0
max_temp: 130
# M5
[extruder]
step_pin: PB0             #  PB12 -> PB0
dir_pin: PB1              # !PB11 -> PB1
enable_pin: !PC4
microsteps: 16
rotation_distance: 7.71   # 33.5 -> 7.71
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 26.314          #  21.527 -> 26.314
pid_Ki: 1.772           #   1.063 ->  1.772
pid_Kd: 97.689          # 108.982 -> 97.689
min_temp: 0
max_temp: 250

ファン

配線に合わせて以下の通りファンを割り当てた.

# FAN0: Print Model Cooling Fan 
[fan]
pin: PA4

# FAN1: Extruder Heater Cooling Fan
[heater_fan ExtruderFan]
pin: PA3

[controller_fan BoardFan]
pin: CB1:gpio79

ここまでの設定内容まとめ

########################################
# STEPPER configuration
########################################
# M1
[stepper_x]
step_pin: PC8
dir_pin: PC9
enable_pin: !PA15
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PD3
position_endstop: 6.0
position_max: 218.0
homing_speed: 50

# M2
[stepper_y]
step_pin: PA10
dir_pin: !PA14
enable_pin: !PA13
microsteps: 16
rotation_distance: 40
endstop_pin: ^!PD2
position_endstop: 3.5
position_max: 218.0
homing_speed: 50

# M3: STEPPER_ZL
[stepper_z]
step_pin: PC6
dir_pin: !PC7
enable_pin: !PA9
microsteps: 16
rotation_distance: 8
endstop_pin: ^!PC3
position_endstop: 0.0
position_max: 200

# M4: STEPPER_ZR
[stepper_z1]
step_pin: PB12
dir_pin: !PB11
enable_pin: !PA8
microsteps: 16
rotation_distance: 8
endstop_pin: ^!PC2

# M5
[extruder]
step_pin: PB0
dir_pin: PB1
enable_pin: !PC4
microsteps: 16
rotation_distance: 7.71
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PC5
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA1
control: pid
pid_Kp: 26.314
pid_Ki: 1.772
pid_Kd: 97.689
min_temp: 0
max_temp: 250

########################################
# TMC2208 configuration
########################################

[tmc2208 stepper_x]
uart_pin: PD9
run_current: 0.800

[tmc2208 stepper_y]
uart_pin: PD8
run_current: 0.800

[tmc2208 stepper_z]
uart_pin: PB10
run_current: 0.800

[tmc2208 stepper_z1]
uart_pin: PB2
run_current: 0.800

[tmc2208 extruder]
uart_pin: PA6
run_current: 0.600

########################################
# HEATBED configuration
########################################

[heater_bed]
heater_pin: PA5
sensor_type: Generic 3950
sensor_pin: PA0
control: pid
pid_Kp: 69.584
pid_Ki: 1.991
pid_Kd: 607.994
min_temp: 0
max_temp: 130

########################################
# FAN configuration
########################################

# FAN0: Print Model Cooling Fan 
[fan]
pin: PA4

# FAN1: Extruder Heater Cooling Fan
[heater_fan ExtruderFan]
pin: PA3

[controller_fan BoardFan]
pin: CB1:gpio79

########################################
# OTHER configuration
########################################

[mcu]
serial: /dev/serial/by-id/${環境に合わせて設定}

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

# See the sample-lcd.cfg file for definitions of common LCD displays.
[board_pins]
aliases:
    # EXP1 header
    EXP1_1=PD5, EXP1_3=PB3, EXP1_5=PB5, EXP1_7=PB7, EXP1_9=<GND>,
    EXP1_2=PD4,  EXP1_4=PD6, EXP1_6=PB4, EXP1_8=PB6, EXP1_10=<5V>,
    # EXP2 header
    EXP2_1=PB14, EXP2_3=PB8, EXP2_5=PC10, EXP2_7=PC12,  EXP2_9=<GND>,
    EXP2_2=PB13, EXP2_4=PB9, EXP2_6=PB15, EXP2_8=<RST>, EXP2_10=<NC>

おわりに

パラメータチューニングは先が長そうなので今回は一旦ここまで.次回はベッドベリングまわりを整理する.

コメント

タイトルとURLをコピーしました