DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

CNCマシンが作りたい ⑤回路の設計と動作テスト

前回、自作の回路用にESP32のピンが任意に変更出来るのか実験しました。

dreamerdream.hateblo.jp

 

今回は制御装置が完成しましたので回路と設定項目の記録とします。

まずは紆余曲折を経て設計したESP32用の基盤

そして、モータードライバー基板

こちらにはステッピングモーターのドライバーとスピンドルモーターのPWM制御用基板が乗ります。

スピンドルモータードライバーは後で一緒に載せることにしたので変な配置です。

 

で、設計したら実際に部品載せて半田付けしたくなりますよね・・・。

今回は設計だけのつもりで終了するつもりでしたが・・・基板まで作りました。

あぁ。。。悪いクセ

 

ESP32用基板にはSDカードスロットが縦向きで直接乗ります。

裏面はキレイじゃないけどこんなかんじ。

この上にモータードライバー用基板が乗ります。マウンターは3Dプリンターで適当に。

今回ステッピングモータードライバーの放熱板は熱伝導テープで止めていたものがごちゃごちゃ在庫の中で剥がれてしまって使い物にならなかったので、熱伝導グリスを塗って針金で固定してズレないようにボンドで針金を固定しました。平置きで使う分には問題にならないでしょう。

スピンドルモーターのPWM制御用のモータードライバーはArduino用のMOSFETモジュールを利用しました。自分で組むより安上がりで確実に動きます。

こんな感じで届くのでパキパキ割って使います。

 

ひとまず手持ちのありあわせのモーター達を動員して電源やドライバー達が耐えられるか動作実験です。

youtu.be

けっこうしっかり動いてくれます。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にして%設定にしました。

 

今回は以上です。

dreamerdream.hateblo.jp

 

kampa.me