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