bdring / Grbl_Esp32

A port of Grbl CNC Firmware for ESP32
GNU General Public License v3.0
1.69k stars 529 forks source link

Translate Machine.h for mpcnc_v1p2 #1452

Open eliteitvn opened 1 year ago

eliteitvn commented 1 year ago

This issue will automatically convert a Grbl_Esp32 machine definition file to FluidNC YAML format.

Change YOUR NAME in the title to some string that identifies your machine configuration.

IMPORTANT: Change only the YOUR NAME part of the title, not the entire title. If you change the entire title, GitHub will not run the converter program.

Attach your machine definition file here mpcnc_v1p2.txt

IMPORTANT: Attach the file - do not paste the file text into the issue. If you paste, the converter will not work.

github-actions[bot] commented 1 year ago

Dear eliteitvn, we converted your machine header-file mpcnc_v1p2.txt into a corresponding fluidNc yaml-file. Please copy the following content into your config.yaml file and upload the file to your esp32.

name: MPCNC_V1P2
board: unknown

kinematics:
  Cartesian:

stepping:
  engine: RMT
  idle_ms: 255
  dir_delay_us: 0
  pulse_us: 3
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: gpio.13
  x:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 8000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 500.000
    soft_limits: false
    homing:
      cycle: 2
      mpos_mm: 0.000
      positive_direction: true
      settle_ms: 250.000
      seek_mm_per_min: 200.000
      feed_mm_per_min: 100.000
      seek_scaler: 1.100
      feed_scaler: 5.000
    motor0:
      limit_all_pin: gpio.17:low
      hard_limits: false
      stepstick:
        direction_pin: gpio.26
        step_pin: gpio.12
    motor1:
      stepstick:
        direction_pin: gpio.26
        step_pin: gpio.22
  y:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 8000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 500.000
    soft_limits: false
    homing:
      cycle: 2
      mpos_mm: 0.000
      positive_direction: true
      settle_ms: 250.000
      seek_mm_per_min: 200.000
      feed_mm_per_min: 100.000
      seek_scaler: 1.100
      feed_scaler: 5.000
    motor0:
      limit_all_pin: gpio.4:low
      hard_limits: false
      stepstick:
        direction_pin: gpio.25
        step_pin: gpio.14
    motor1:
      stepstick:
        direction_pin: gpio.25
        step_pin: gpio.21
  z:
    steps_per_mm: 800.000
    max_rate_mm_per_min: 3000.000
    acceleration_mm_per_sec2: 100.000
    max_travel_mm: 80.000
    soft_limits: false
    homing:
      cycle: 1
      mpos_mm: 0.000
      positive_direction: false
      settle_ms: 250.000
      seek_mm_per_min: 200.000
      feed_mm_per_min: 100.000
      seek_scaler: 1.100
      feed_scaler: 5.000
    motor0:
      limit_all_pin: gpio.15:low
      hard_limits: false
      stepstick:
        direction_pin: gpio.33
        step_pin: gpio.27
    motor1:
      null_motor:

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  cs_pin: gpio.5

control:
  reset_pin: gpio.34:low
  feed_hold_pin: gpio.36:low
  cycle_start_pin: gpio.39:low

coolant:
  delay_ms: 1000.000

probe:
  pin: gpio.35
  check_mode_start: false

macros:
  startup_line0: 
  startup_line1: 
  macro0: 
  macro1: 
  macro2: 
  macro3: 

start:
  must_home: true
  check_limits: true
  deactivate_parking: false

user_outputs:

PWM:
  tool_num: 0
  speed_map: 0=0.0% 1000=100.0%
  spinup_ms: 0
  spindown_ms: 0
  output_pin: gpio.16
  enable_pin: gpio.32
  disable_with_s0: false
  s0_with_disable: false
  pwm_hz: 5000
arc_tolerance_mm: 0.002
junction_deviation_mm: 0.010
verbose_errors: false
report_inches: false
enable_parking_override_control: false
use_line_numbers: false 
aleksagolik commented 1 month ago

Hello. Pins gpio.25 gpio26 are repeated and the program complains about it. How to deal with this?

MitchBradley commented 1 month ago

It looks like you are trying to share direction pins across two motors, with different step pins. FluidNC does not support that. You either need to use 8 pins for the 4 motors, so each motor has its own separate step and direction pins, or else wire pairs of motor drivers in parallel so each pair gets the same step pin and direction pin. In the first situation, squared homing would be possible, but you might not have enough pins overall. The second situation uses fewer pins but does not permit squared homing.