bdring / FluidNC

The next generation of motion control firmware
Other
1.47k stars 363 forks source link

3.6.0 parking does not work on corexy, and the field of several actions is getting an alarm: #606

Open vadim7272 opened 1 year ago

vadim7272 commented 1 year ago

Controller Board

MKS TinyBee V1.0_001 kinematics: corexy:

I have tried different limit switches. optical, induction and simple ones with a pull-up of 10 k ohm

Help From Board Vendor

Machine Description

a4988

Configuration file

board: MKS TinyBee V1.0_001
name: Laser corexy
meta: (01.02.2022) by Skorpi

kinematics:
  corexy:

stepping:
  engine: I2S_STATIC
  idle_ms: 254
  pulse_us: 2
  dir_delay_us: 1
  disable_delay_us: 0

axes:
  x:
    # X
    steps_per_mm: 80.000
    max_rate_mm_per_min: 8000.000
    acceleration_mm_per_sec2: 1000.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 0
      positive_direction: false
      mpos_mm: -3.000
      feed_mm_per_min: 300.000
      seek_mm_per_min: 5000.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_all_pin: gpio.32:low
      hard_limits: true
      pulloff_mm: 3.000
      stepstick:
        step_pin: I2SO.1
        direction_pin: I2SO.2
        disable_pin: I2SO.0

  y:
    # Y
    steps_per_mm: 80.000
    max_rate_mm_per_min: 8000.000
    acceleration_mm_per_sec2: 1000.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 1
      positive_direction: false
      mpos_mm: -3.000
      feed_mm_per_min: 300.000
      seek_mm_per_min: 5000.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_all_pin: gpio.33:low
      hard_limits: true
      pulloff_mm: 3.000
      stepstick:
        step_pin: I2SO.4
        direction_pin: I2SO.5
        disable_pin: I2SO.3

i2so:
  bck_pin: gpio.25
  data_pin: gpio.27
  ws_pin: gpio.26

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

sdcard:
  cs_pin: gpio.5
  card_detect_pin: NO_PIN

arc_tolerance_mm: 0.6
junction_deviation_mm: 0.3

coolant:
  flood_pin: NO_PIN
  mist_pin: NO_PIN
  delay_ms: 0

control:
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN

macros:
 macro0: G91&G21 F200 X5&G91&G21 F200 y-50
 macro1: m0&G91&G21 F200 X5&G91&G21 F200 y-50

start:
  must_home: false
  deactivate_parking: true
  check_limits: true

Laser:
  pwm_hz: 5000
  output_pin: gpio.13
  enable_pin: I2SO.16
  disable_with_s0: false
  s0_with_disable: true
  tool_num: 100
  speed_map: 0=0.000% 255=100.000%

#parking:
  #enable: true
  #axis: x
  #target_mpos_mm: -5.000
  #pullout_distance_mm: 5.000
  #rate_mm_per_min: 800.000
  #pullout_rate_mm_per_min: 250.000

Startup Messages

normal

User Interface Software

webui laser grbl ,ploter grbl

What happened?

v3.4.1-3.4.3 trailers fall into alarm. the firmware is working fine. 3.4.4-3.5.0 firmware does not work. 3.6.0 limit switches stop the axis and all pull offs do not work at $Home , does not fall in alarm . after several actions we get alarm again, exit alarm only by rebooting. The firmware itself does not work very well.

if I put Kinematics Cartesian then the parking works but without pull off.

test firmware fluidnc-TestPullups-win64.zip and luidnc-TestParking2-win64.zip are the same, parking does not work a little bit and we get an alarm .

sort it out please with limit switches, parking, on Core xy

Other Information

No response

vadim7272 commented 1 year ago

#

vadim7272 commented 1 year ago

I installed your old firmware Grbl_Esp32 1.3 and everything works there and parking also works correctly. do the same on FluidNC.

pragma once

// clang-format off

/* TINI BEE CoreXY Grbl_ESP32

*/

define MACHINE_NAME "Corelaser"

define CUSTOM_CODE_FILENAME "../Custom/CoreXY.cpp"

define CoreXY

define USE_KINEMATICS

define USE_FWD_KINEMATICS

define N_AXIS 3

// I2S

define USE_I2S_OUT

define USE_I2S_STEPS

define I2S_OUT_BCK GPIO_NUM_25

define I2S_OUT_WS GPIO_NUM_26

define I2S_OUT_DATA GPIO_NUM_27

// Motor X

define X_DISABLE_PIN I2SO(0)

define X_DIRECTION_PIN I2SO(2)

define X_STEP_PIN I2SO(1)

// Motor Y

define Y_DIRECTION_PIN I2SO(5)

define Y_STEP_PIN I2SO(4)

define Y_DISABLE_PIN I2SO(3)

//**Endstop pins

define X_LIMIT_PIN GPIO_NUM_33

define Y_LIMIT_PIN GPIO_NUM_32

// Cycle1=Y and Cycle0=X

define DEFAULT_HOMING_CYCLE_1 bit(Y_AXIS)

define DEFAULT_HOMING_CYCLE_0 bit(X_AXIS)

// The default value in config.h is wrong for this controller

ifdef INVERT_CONTROL_PIN_MASK

#undef INVERT_CONTROL_PIN_MASK

endif

define INVERT_CONTROL_PIN_MASK B011

define DEFAULT_STEP_PULSE_MICROSECONDS 10

define DEFAULT_STEPPER_IDLE_LOCK_TIME 250 // 255 = Keep steppers on

define DEFAULT_STEPPING_INVERT_MASK 0 // uint8_t

define DEFAULT_DIRECTION_INVERT_MASK 0 // uint8_t

define DEFAULT_INVERT_ST_ENABLE 0 // boolean

define DEFAULT_INVERT_LIMIT_PINS 1 // boolean

define DEFAULT_INVERT_PROBE_PIN 0 // boolean

define DEFAULT_STATUS_REPORT_MASK 1

define DEFAULT_JUNCTION_DEVIATION 0.01 // mm

define DEFAULT_ARC_TOLERANCE 0.002 // mm

define DEFAULT_REPORT_INCHES 0 // false

define DEFAULT_SOFT_LIMIT_ENABLE 0 // false

define DEFAULT_HARD_LIMIT_ENABLE 1 // false

define DEFAULT_HOMING_ENABLE 1 // false

define DEFAULT_HOMING_DIR_MASK 3 // move positive dir Z,negative X,Y

define DEFAULT_HOMING_FEED_RATE 200.0 // mm/min

define DEFAULT_HOMING_SEEK_RATE 5000.0 // mm/min

define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)

define DEFAULT_HOMING_PULLOFF 3.0 // mm

define DEFAULT_LASER_MODE 0 // false

define DEFAULT_X_STEPS_PER_MM 80.0

define DEFAULT_Y_STEPS_PER_MM 80.0

define DEFAULT_X_MAX_RATE 8000.0 // mm/min

define DEFAULT_Y_MAX_RATE 8000.0 // mm/min

define DEFAULT_X_ACCELERATION 1000.0 // mm/sec^2

define DEFAULT_Y_ACCELERATION 1000.0 // mm/sec^2

define DEFAULT_X_MAX_TRAVEL 300.0 // mm

define DEFAULT_Y_MAX_TRAVEL 300.0 // mm