Jackpot board new motor problems

General stepper motor questions

I’m setting up a rotary axis using two 4:1 pulley sets on this motor
CNCTOPBAOS Nema17 Stepper Motor 78oz.in 48mm Length 1.8A Dual Shaft for 3D Printer/Milling/CNC Router Machine 17HS8401B

Incidentally here is the physical part. Pictures next
I originally had a gear motor but it had backlash.
I am setting it up so I can lower the axis to run larger diameter stock. It lives at the back of my workspace (max Y) and pivots at the left end. I plan on mostly flat round workpieces so I’ll just bolt onto the flat face of the pulley. I used the double end motor and 2 belts.

The config file below works with other motors but this brand new motor doesn’t hold position nor does it turn. Is it dead? What else can I try? I have checked continuity of both coils and it is wired correctly.

Rotconfig.yaml

board: Jackpot TMC2209
name: MPCNC
meta: 10-30-2023 RyanZ
stepping:
engine: I2S_static
idle_ms: 255
pulse_us: 4
dir_delay_us: 1
disable_delay_us: 0
segments: 12

uart1:
txd_pin: gpio.0
rxd_pin: gpio.4
rts_pin: NO_PIN
cts_pin: NO_PIN
baud: 115200
mode: 8N1

i2so:
bck_pin: gpio.22
data_pin: gpio.21
ws_pin: gpio.17

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

sdcard:
cs_pin: gpio.5
card_detect_pin: NO_PIN
frequency_hz: 20000000

kinematics:
Cartesian:

axes:
shared_stepper_disable_pin: NO_PIN
shared_stepper_reset_pin: NO_PIN
x:
steps_per_mm: 238.6746
max_rate_mm_per_min: 1800.000000
acceleration_mm_per_sec2: 50.000000
max_travel_mm: 00.000000
soft_limits: false
homing:
cycle: 1
allow_single_axis: true
positive_direction: true
mpos_mm: 300.000000
feed_mm_per_min: 100.000000
seek_mm_per_min: 400.000000
settle_ms: 500
seek_scaler: 1.100000
feed_scaler: 1.100000

motor0: 
  limit_neg_pin: gpio.39:low
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 3.000000
  tmc_2209: 
    addr: 3
    cs_pin: I2SO.22
    uart_num: 1
    step_pin: I2SO.21
    direction_pin: I2SO.20
    disable_pin: I2SO.23
    r_sense_ohms: 0.110000
    run_amps: 0.200000
    hold_amps: 0.150000
    microsteps: 16
    toff_disable: 0
    toff_stealthchop: 5
    use_enable: false
    run_mode: StealthChop
    homing_mode: StealthChop
    stallguard: 0
    stallguard_debug: false
    toff_coolstep: 3

y:
steps_per_mm: 50.000000
max_rate_mm_per_min: 9000.000000
acceleration_mm_per_sec2: 200.000000
max_travel_mm: 590.000000
soft_limits: false
homing:
cycle: 2
allow_single_axis: true
positive_direction: false
mpos_mm: 0.000000
feed_mm_per_min: 300.000000
seek_mm_per_min: 1500.000000
settle_ms: 500
seek_scaler: 1.100000
feed_scaler: 1.100000

motor0: 
  limit_neg_pin: gpio.33
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 5.000000
  tmc_2209: 
    addr: 1
    cs_pin: NO_PIN
    uart_num: 1
    step_pin: I2SO.5
    direction_pin: I2SO.4
    disable_pin: I2SO.7
    r_sense_ohms: 0.110000
    run_amps: 0.680000
    hold_amps: 0.500000
    microsteps: 8
    toff_disable: 0
    toff_stealthchop: 5
    use_enable: false
    run_mode: StealthChop
    homing_mode: StealthChop
    stallguard: 0
    stallguard_debug: false
    toff_coolstep: 3

motor1: 
  limit_neg_pin: gpio.34
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 5.000000
  tmc_2209: 
    addr: 3
    cs_pin: I2SO.19
    uart_num: 1
    step_pin: I2SO.18
    direction_pin: I2SO.17
    disable_pin: I2SO.16
    r_sense_ohms: 0.110000
    run_amps: 0.680000
    hold_amps: 0.500000
    microsteps: 8
    toff_disable: 0
    toff_stealthchop: 5
    use_enable: false
    run_mode: StealthChop
    homing_mode: StealthChop
    stallguard: 0
    stallguard_debug: false
    toff_coolstep: 3

z:
steps_per_mm: 200.000000
max_rate_mm_per_min: 1200.000000
acceleration_mm_per_sec2: 80.000000
max_travel_mm: 300.000000
soft_limits: false
homing:
cycle: 0
allow_single_axis: true
positive_direction: true
mpos_mm: 200.000000
feed_mm_per_min: 300.000000
seek_mm_per_min: 800.000000
settle_ms: 500
seek_scaler: 1.100000
feed_scaler: 1.100000

motor0: 
  limit_neg_pin: gpio.32:low
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000000
  tmc_2209: 
    addr: 2
    cs_pin: NO_PIN
    uart_num: 1
    step_pin: I2SO.10
    direction_pin: I2SO.9
    disable_pin: I2SO.8
    r_sense_ohms: 0.110000
    run_amps: 0.680000
    hold_amps: 0.500000
    microsteps: 8
    toff_disable: 0
    toff_stealthchop: 5
    use_enable: false
    run_mode: StealthChop
    homing_mode: StealthChop
    stallguard: 0
    stallguard_debug: false
    toff_coolstep: 3

control:
safety_door_pin: NO_PIN
reset_pin: NO_PIN
feed_hold_pin: NO_PIN
cycle_start_pin: NO_PIN
macro0_pin: NO_PIN
macro1_pin: NO_PIN
macro2_pin: NO_PIN
macro3_pin: NO_PIN
fault_pin: NO_PIN
estop_pin: NO_PIN

coolant:
flood_pin: gpio.2
mist_pin: gpio.16
delay_ms: 0

probe:
pin: gpio.36:low
toolsetter_pin: NO_PIN
check_mode_start: true

macros:
startup_line0:
startup_line1:
macro0:
macro1:
macro2:
macro3:
after_homing:
after_reset:
after_unlock:

start:
must_home: false
deactivate_parking: false
check_limits: false

parking:
enable: false
axis: Z
target_mpos_mm: -5.000000
rate_mm_per_min: 800.000000
pullout_distance_mm: 5.000000
pullout_rate_mm_per_min: 250.000000

user_outputs:
analog0_pin: NO_PIN
analog1_pin: NO_PIN
analog2_pin: NO_PIN
analog3_pin: NO_PIN
analog0_hz: 5000
analog1_hz: 5000
analog2_hz: 5000
analog3_hz: 5000
digital0_pin: gpio.26
digital1_pin: gpio.27
digital2_pin: NO_PIN
digital3_pin: NO_PIN
digital4_pin: NO_PIN
digital5_pin: NO_PIN
digital6_pin: NO_PIN
digital7_pin: NO_PIN

NoSpindle:

arc_tolerance_mm: 0.002000
junction_deviation_mm: 0.010000
verbose_errors: false
report_inches: false
enable_parking_override_control: false
use_line_numbers: false
planner_blocks: 32

Here is the result from a $ss command.  I set X max travel to 0 to get unlimited travel.  I get a warning but it did run (with the other motor)

$ss
[MSG:INFO: FluidNC v3.7.8]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:rotconfig.yaml]
[MSG:WARN: max_travel_mm value 0.000 constrained to range (0.100,10000000.000)]
[MSG:INFO: Machine MPCNC]
[MSG:INFO: Board Jackpot TMC2209]
[MSG:INFO: UART1 Tx:gpio.0 Rx:gpio.4 RTS:NO_PIN Baud:115200]
[MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
[MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
[MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN freq:20000000]
[MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
[MSG:INFO: User Digital Output:0 on Pin:gpio.26]
[MSG:INFO: User Digital Output:1 on Pin:gpio.27]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (149.900,150.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.22 Step:I2SO.21 Dir:I2SO.20 Disable:I2SO.23 R:0.110]
[MSG:INFO: X Neg Limit gpio.39:low]
[MSG:INFO: Axis Y (0.000,590.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:1 CS:NO_PIN Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7 R:0.110]
[MSG:INFO: Y Neg Limit gpio.33]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.19 Step:I2SO.18 Dir:I2SO.17 Disable:I2SO.16 R:0.110]
[MSG:INFO: Y2 Neg Limit gpio.34]
[MSG:INFO: Axis Z (-100.000,200.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:2 CS:NO_PIN Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8 R:0.110]
[MSG:INFO: Z Neg Limit gpio.32:low]
[MSG:INFO: X Axis driver test passed]
[MSG:INFO: Y Axis driver test passed]
[MSG:INFO: Y2 Axis driver test passed]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Flood coolant gpio.2]
[MSG:INFO: Mist coolant gpio.16]
[MSG:INFO: Probe Pin: gpio.36:low]
[MSG:INFO: STA SSID is not set]
[MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
ok
<Idle|MPos:-10.001,-11.000,0.000|FS:0,0|Ov:100,100,100>
<Idle|MPos:-10.001,-11.000,0.000|FS:0,0>
<Idle|MPos:-10.001,-11.000,0.000|FS:0,0>

Config File

1 Like

Your $ss is not showing confirmed connection with all your drivers.

If you put your yaml on here and use the preformatted text option it is easier to read.

Have a look at this yaml for 4 drivers.

board: Jackpot TMC2209
name: Custom
meta: 12-1-2023 RyanZ

planner_blocks: 32

stepping:
  engine: I2S_STATIC
  idle_ms: 255
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

uart1:
  txd_pin: gpio.0
  rxd_pin: gpio.4
  rts_pin: NO_PIN
  baud: 115200
  mode: 8N1

axes:
  shared_stepper_disable_pin: NO_PIN

  x:
    steps_per_mm: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 1220
    soft_limits: false
    homing:
      cycle: 1
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #X
    motor0:
      limit_neg_pin: gpio.25:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 5.000
      tmc_2209:
        uart_num: 1
        addr: 0
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        direction_pin: I2SO.1
        step_pin: I2SO.2
        disable_pin: I2SO.0

  y:
    steps_per_mm: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 2440
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100
    #Y
    motor0:
      limit_neg_pin: gpio.33:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 5.000
      tmc_2209:
        uart_num: 1
        addr: 1
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

  z:
    steps_per_mm: 200.000
    max_rate_mm_per_min: 1200.000
    acceleration_mm_per_sec2: 80.000
    max_travel_mm: 300.000
    soft_limits: false
    homing:
      cycle: 0
      positive_direction: true
      mpos_mm: 200.000
      feed_mm_per_min: 300.000
      seek_mm_per_min: 800.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.32:low
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 4.000
      tmc_2209:
        uart_num: 1
        addr: 2
        cs_pin: NO_PIN
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

  a:
    steps_per_mm: 50.000
    max_rate_mm_per_min: 9000.000
    acceleration_mm_per_sec2: 200.000
    max_travel_mm: 1220
    soft_limits: false
    homing:
      cycle: 1
      positive_direction: false
      mpos_mm: 0
      feed_mm_per_min: 300.000
      seek_mm_per_min: 1500.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor1:
      limit_neg_pin: gpio.35:high
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 5.000
      tmc_2209:
        uart_num: 1
        addr: 3
        cs_pin: i2so.14
        r_sense_ohms: 0.110
        run_amps: 0.680
        hold_amps: 0.500
        microsteps: 8
        stallguard: 0
        stallguard_debug: false
        toff_disable: 0
        toff_stealthchop: 5
        toff_coolstep: 3
        run_mode: StealthChop
        homing_mode: StealthChop
        use_enable: false
        step_pin: I2SO.13
        direction_pin: I2SO.12
        disable_pin: I2SO.15

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

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

sdcard:
  cs_pin: gpio.5
  card_detect_pin: NO_PIN
  frequency_hz: 20000000

probe:
  pin: gpio.36:low
  toolsetter_pin: NO_PIN
  check_mode_start: true

start:
  must_home: false

coolant:
  flood_pin: gpio.2
  mist_pin: gpio.16
  delay_ms: 0

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

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

user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: gpio.26
  digital1_pin: gpio.27
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

#Laser:
#  pwm_hz: 5000
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  tool_num: 0
#  speed_map: 0=0.000% 255=100.000%
#  off_on_alarm: true

# pwm:
#  pwm_hz: 5000
#  direction_pin: gpio.26
#  output_pin: gpio.27
#  enable_pin: NO_PIN
#  disable_with_s0: false
#  s0_with_disable: true
#  spinup_ms: 0
#  spindown_ms: 0
#  tool_num: 0
#  speed_map: 0=0.000% 1000=100.000%
#  off_on_alarm: false

# 5V out gpio.26/27
# VMot out gpoi.2/16
# In's left to right gpoi.25/33/32/35/34/39/36

Does the motor get really hot when powered up?
When I first got my rotary it didn’t turn and it got really hot. It came with some additional short cables. I tried them and one worked. It changed the wire order to the motor.
I think the Jackpot wire order is AABB and my motor was different.

It doesn’t get hot. It’s wired AABB. The first motor got hot until I turned down the hold amps and run amps.
I’ll try and turn them up as in Ryan’s response.
Thanks

1 Like

I’m pretty sure it’s a bad motor.
Thanks for your input

1 Like

Please explain how you see that drivers are not confirmed.

I tried this as written and it worked worked as I expected; only 1 motor on x and y. I tried adding the other motors but didn’t get it right apparently. Is there a table showing all the pins for the 6 drivers?
Should I be able to move A? G0a360f200 or something?

I also have a possibly intermittent problem where the sd card is not recognized. I moved the sd card statement closer to the top of the yaml.

I don’t have time right now to add the yaml file or the $ss response but I will try later.
Thanks

Can you show me a picture of your full machine, I am a little unclear as to what exactly you are doing.

MPCNC with an added A axis?

Error #1

Only showing 4 drivers. If you take my MPCNC config and just uncomment the A axis stuff it should work, with just some steps/mm, current and end stop adjustments. Change less at a time. Don;t bother changing the name or anything else until it works. One change, boot, test, stray empty spaces will crash a config.



Yes, you guessed correctly. The fourth axis is parallel to Y.
Your method worked great. I used the newest config from the GitHub.
I un-commented the fourth axis parts, and then the only thing I had to do was label that section as a:
So now I have four axes when I do the $ SS List and I can move all of them. The tablet part of the web page access shows the A position.

I need to find a post processor for vectric that outputs for wrapping to a file in GRBL or gcode.

I’d like to draw in fusion but they have a additional pay wall to get wrap to rotary or 4 axis cam operations
Maybe time to learn FreeCad