前回、自作の回路用にESP32のピンが任意に変更出来るのか実験しました。
今回は制御装置が完成しましたので回路と設定項目の記録とします。
まずは紆余曲折を経て設計したESP32用の基盤
そして、モータードライバー基板
こちらにはステッピングモーターのドライバーとスピンドルモーターのPWM制御用基板が乗ります。
スピンドルモータードライバーは後で一緒に載せることにしたので変な配置です。
で、設計したら実際に部品載せて半田付けしたくなりますよね・・・。
今回は設計だけのつもりで終了するつもりでしたが・・・基板まで作りました。
あぁ。。。悪いクセ
ESP32用基板にはSDカードスロットが縦向きで直接乗ります。
裏面はキレイじゃないけどこんなかんじ。
この上にモータードライバー用基板が乗ります。マウンターは3Dプリンターで適当に。
今回ステッピングモータードライバーの放熱板は熱伝導テープで止めていたものがごちゃごちゃ在庫の中で剥がれてしまって使い物にならなかったので、熱伝導グリスを塗って針金で固定してズレないようにボンドで針金を固定しました。平置きで使う分には問題にならないでしょう。
スピンドルモーターのPWM制御用のモータードライバーはArduino用のMOSFETモジュールを利用しました。自分で組むより安上がりで確実に動きます。
こんな感じで届くのでパキパキ割って使います。
ひとまず手持ちのありあわせのモーター達を動員して電源やドライバー達が耐えられるか動作実験です。
けっこうしっかり動いてくれます。FluidNCすげえや!!
やばい、楽しくなってきた。しかし本体を作る余裕などないぞ・・・どうする?
ひとまず動いたので設定ファイルを残しておきます。
name: "ESP32 Dev Controller V4"
board: "ESP32 Dev Controller V4"
stepping:
engine: RMT
idle_ms: 250
dir_delay_us: 1
pulse_us: 2
disable_delay_us: 0
axes:
shared_stepper_disable_pin: gpio.18:high
x:
steps_per_mm: 200
max_rate_mm_per_min: 300
acceleration_mm_per_sec2: 25
max_travel_mm: 300
homing:
cycle: 2
mpos_mm: 10
positive_direction: false
motor0:
limit_all_pin: gpio.5:low:pu
stepstick:
direction_pin: gpio.32
step_pin: gpio.33
motor1:
null_motor:
y:
steps_per_mm: 200
max_rate_mm_per_min: 300
acceleration_mm_per_sec2: 25
max_travel_mm: 300
homing:
cycle: 2
mpos_mm: 10
positive_direction: false
motor0:
limit_all_pin: gpio.17:low:pu
stepstick:
direction_pin: gpio.25
step_pin: gpio.26
motor1:
null_motor:
z:
steps_per_mm: 100
max_rate_mm_per_min: 300
acceleration_mm_per_sec2: 25
max_travel_mm: 200
homing:
cycle: 1
mpos_mm: 10
positive_direction: true
motor0:
limit_all_pin: gpio.16:low:pu
stepstick:
direction_pin: gpio.27
step_pin: gpio.14
motor1:
null_motor:
spi:
miso_pin: gpio.19
mosi_pin: gpio.22
sck_pin: gpio.21
sdcard:
cs_pin: gpio.23
card_detect_pin: NO_PIN
coolant:
flood_pin: gpio.2
mist_pin: gpio.4
control:
safety_door_pin: gpio.34:low
cycle_start_pin: gpio.35:low
probe:
pin: gpio.15:low:pu
PWM:
pwm_hz: 5000
output_pin: gpio.13
enable_pin: gpio.12
direction_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
spinup_ms: 0
spindown_ms: 0
tool_num: 0
speed_map: 0=0% 100=100%
主な変更点は
shared_stepper_disable_pin: gpio.18:high ←最初lowでした。これだとステッピングモーターの起動時にドライバーのENピンがHiレベルになるのでステッピングモーターが起動しません。
steps_per_mm: 200
max_rate_mm_per_min: 300
にしました。12Vという仕様上、これ以上だと脱調してしまうのでこのあたりで妥協。
speed_map: 0=0% 100=100%
これは最初スピンドルモーターの回転数(RPM)の設定で20000=100%という設定になっていたけど、実際の回転数なんて適当なものなので最大値を100にして%設定にしました。
今回は以上です。