Is there away to eliminate stepper motor resonance by speed?
-
@moth4017 nema 17 what length ? You should check the emf calculator with your motor spec that might be linked to that and the current amp they are running
-
@Dad003 do you have a link for the calculator?
-
-
so which figures are good/bad , what can i learn from this?
Approximate peak back EMF due to rotation per motor: 3.3 V at 100.0 mm/s
Approximate peak back EMF due to inductance per motor: 3.6 V at 100.0 mm/s
Step pulse frequency: 8.0 kHz at 100.0 mm/s
Speed at which torque starts to drop (low slip angle): 347.5 mm/s @ 39.3 kHz
Speed at which torque starts to drop (high slip angle): 477.2 mm/s @ 54.0 kHz -
@T3P3Tony has posted something that I have always wanted to learn in its details. I have read about the back EMF. And using that calculator my EMV voltages are around 3V. So for example one question that I have always had in mind is: can fight somehow that EMV voltage ading extra voltage from the PSU ? My gues is NO because adding more voltage would make the EMF to be stronger, so...
What could be the way of getting benefits from the calculation of the EMF values? -
@moth4017 said in Is there away to eliminate stepper motor resonance by speed?:
which figures are good/bad
This is not a binary thing. You need to see if the motors and the voltage you run them at are compatible with the speeds you want to run them at.
In your case you get 3.3V of back EMF at 100mm/s so with a 24V power supply that's fine. Looks like, just on that measure you are ok up to about 350mm/s.
-
@T3P3Tony thaks for the reply, is there much info you can get from these figures for sensorless homing as i seem to remember the the EMF voltage plays a part in this ?
-
@moth4017 yes the back emf due to rotation is used by the TMC drivers to detect stalls. Thee practical upshot is that when using sensorless homing, you should use a speed that is lower than both of the maximum speeds given by the calculator; but this isn't the only consideration.
-
@dc42 thanks was hoping it would help with my sensorless homing issues with the 2209 i reported before
-
@moth4017 there are at least two things needed to get sensorless homing working on TMC2209:
-
Configure the TMC2209 and homing files so that the motor is in stealthChop mode during the homing move. The homing move must be above the minimum speed for stall detection but below the speed at which the driver switches into spreadCycle mode.
-
Configure the motor current and stall sensitivity so that the stall is detected reliably.
-
-
@dc42 this is the most reliable macro i have had , but i still get 1 of the 3 random motors stalling sometimes and if im not there to watch it the bed can fall off.
; home_max_Z echo "start home max Z" M122 M569 P0.4 ; Check status in console M569 P0.5 M569 P0.6 G91 ; relative positioning G1 H1 Z-5 F1000 M569 P0.4 S1 D3 V10 ; set to stelth chop M569 P0.5 S0 D3 V10 ; set to stelth chop M569 P0.6 S1 D3 V10 ; set to stelth chop M915 P0.4 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.5 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.6 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection echo "stall detection setup" M17 Z ;energise a motor for stealthChop tuning G4 P400 ; pause to allow the drivers to characterise the motor G1 H1 Z-0.5 F3000 ; move a little for cal of sensorless homing / not stalled echo "after stall detection setup" M569 P0.4 ; Check status in console M569 P0.5 M569 P0.6 M915 P0.4 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection M915 P0.5 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection M915 P0.6 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection echo "diag before stall detection setup" G4 P400 echo "lower motor current" M913 Z80 ; Lower motor current % M566 Z15.00 ;jerk M201 Z50.00 ; set accelerations (mm/s^2) G4 P150 ;wait time ms M574 Z2 S4 ; Configure Z-Axis stall detection homing ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console echo "home max z" G1 H1 Z350 F3000 ; Home Z-Axis actuators independently G92 Z300 ; set a Z height ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console G90 ; absolute positioning G4 P300 ;revert back echo "after revert back" M913 Z100 ; Reset motor current M569 P0.4 S1 D2 ; reset motors back to spread cycle, M569 P0.5 S0 D2 ; reset motors back to spread cycle, M569 P0.6 S1 D2 ; reset motors back to spread cycle, M915 P0.4 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.5 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.6 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console M84 ; turn off motors echo "The bed has landed"
-
@moth4017 what's the steps/mm of the Z axis? High steps/mm makes stall homing difficult.
You are only lowering the Z motor current to 80% of normal during homing. Stall detection would be easier at a lower current, e.g. 30%. Are you able to reduce the current during homing and still move the bed? It may help to use M201.1 to reduce acceleration during homing moves, to avoid detecting a stall as soon as the motor starts to move.
-
@dc42
settings at the moment
M92 X80.00 Y80.00 Z320.00 E535.00 ; set steps per m
M201.1 X5000 Y5000 Z20.00 ; set accelerations (mm/s2)i think i have tried lower current they stall more often , but will try again
-
@dc42 Hi using lower current causes more than 1 axis to stall.
ive noticed if i press "emergency stop" in DWC it seems to stall more often, i thought "emergency stop" just runs "cancel.g" but does it do more in the background code .?
;cancel.g echo "Cancel.g " G1 E-2 F200 M98 P"/macros/home_max_Z" M84
; home_max_Z echo "start home max Z" M122 M569 P0.4 ; Check status in console M569 P0.5 M569 P0.6 G91 ; relative positioning G1 H1 Z-5 F1000 M569 P0.4 S1 D3 V10 ; set to stelth chop M569 P0.5 S0 D3 V10 ; set to stelth chop M569 P0.6 S1 D3 V10 ; set to stelth chop M915 P0.4 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.5 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.6 S127 F0 R1 H500 ; Configure Z-Axis Stall Detection echo "stall detection setup" M17 Z ;energise a motor for stealthChop tuning G4 P400 ; pause to allow the drivers to characterise the motor G1 H1 Z-0.5 F3000 ; move a little for cal of sensorless homing / not stalled echo "after stall detection setup" M569 P0.4 ; Check status in console M569 P0.5 M569 P0.6 M915 P0.4 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection M915 P0.5 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection M915 P0.6 S10 F0 R1 H300 ; Configure Z-Axis Stall Detection echo "diag before stall detection setup" G4 P400 echo "lower motor current" M913 Z50 ; Lower motor current % M566 Z15.00 ;jerk M201 Z50.00 ; set accelerations (mm/s^2) G4 P150 ;wait time ms M574 Z2 S4 ; Configure Z-Axis stall detection homing ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console echo "home max z" G1 H1 Z350 F3000 ; Home Z-Axis actuators independently G92 Z300 ; set a Z height ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console G90 ; absolute positioning G4 P300 ;revert back echo "after revert back" M913 Z100 ; Reset motor current M569 P0.4 S1 D2 ; reset motors back to spread cycle, M569 P0.5 S0 D2 ; reset motors back to spread cycle, M569 P0.6 S1 D2 ; reset motors back to spread cycle, M915 P0.4 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.5 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection M915 P0.6 S45 F0 R1 H500 ; Configure Z-Axis Stall Detection ;M569 P0.4 ; Check status in console ;M569 P0.5 ; Check status in console ;M569 P0.6 ; Check status in console M84 ; turn off motors echo "The bed has landed"