Stallguard Headaches & Multiple Shorts to Vin
-
Quick update - I tried decreasing the speed of homing on the Y axis, and so far, no more short reports. A sharp stall paired with the Y being a high current 1.8 degree motor that is geared down 1:2 leads me to believe I was back-emf spiking the 2209, causing a short detection. This is mentioned as a concern on page 45/end of section 6.5 in the 2209 datasheet as a possible problem. The motor was set to home at F6000, which would make for I believe 17k usteps/s. To me, this seems like more than is expected for a stallguard 4.0 move. Switching it to half that (F3000) has prevented further short notifications. If another short occurs, I'll follow up.
-
Update 2. I was fine for a while, but I just swapped in a large motor and set the Y axis driver to 1900 mAmps - and I think I fried the stepper driver, or part of it - stealthchop doesn't work while spreadcycle does. I had zero issues moving the motor around in stealthchop a few times, and found that I needed a very low sensitivity to avoid false stall reports w/ stallguard. I cannot figure out what I'm doing wrong, but I feel like I'm missing something obvious. This is a different duet 3 mini 5+ from the original board (w/ 2 fried drivers). Any input here is greatly appreciated.
XY motors are now both < 3mH inductance
When I tried a 0.7mH motor on the X, it reported a short notification immediately - motor was fine via my fluke multimeter. I can't explain this either. Ditched that motor for a 2.8mH SanMotion 0.9 stepper that has given me zero issues.
I'm running 3.5 rc2
Here's the homing gcode that I think killed the stepper driver:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Homing G91 ; relative motion M400 M913 Y50 ; CURRENT <<< M201 Y600 ; acceleration M566 Y5 ; jerk M915 P0 S80 F0 H200 R2 ; SENSITIVITY <<< M400 ; G1 H1 Y180 F1600 ; home M18 Y ; y off ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Stealthchop Tuning M569 P0 D2 ; > spreadcycle G4 P400 ; wait M569 P0 D3 V0 ; > stealthchop M400 ; (clear) M913 Y100 ; > full current M201 Y3000 M566 Y5 M17 Y ; y on G4 P400 ; wait to allow driver to initialize parameters ; G1 H2 Y-0.1 F600 ; tiny move G4 P200 ; wait >140ms G1 H2 Y-18 F4000 ; medium velocity move to y-20 The move needs to be >400steps made at a "medium speed", I think RPM > 10 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Restore Settings M400 M913 Y100 ; > full current M201 Y12000 ; accel M566 Y600 ; jerk M915 Y S80 F1 H400 R0 ; set sensitivity and enable reports M400 G4 P200 ; wait G92 Y145 ; set y coordinate
-
@tjhinton above 1400mA or so the drivers need active cooling; is that the case in your setup?
-
@tjhinton I think this may be due to the mix of high inductance, high speed and high current causing back EMF and destroying the stepper driver. See https://docs.duet3d.com/User_manual/Connecting_hardware/Motors_choosing
Inductance section: https://docs.duet3d.com/User_manual/Connecting_hardware/Motors_choosing#inductanceIan
-
This and the previous board were/are active cooled with a noctua fan that's blowing directly across the back and front of the driver side of the motherboard.
The stepper driver has never reported an overtemp, but I agree - it's a lot to be using. Either way, I had the same issue with lower current motors.
My current suspicion is that I'm damaging the 2209's stallguard circuitry or putting it in a state where it cannot be used for a while.
-
I suspected as much, but I've had this issue with very low inductance motors too (still high current, but less than 2A). Here is an example of one such motor:
WO-417-15-08. Inductance is <1mH, and it has an extremely low detent torque, meant for silent operation.
-
@tjhinton is there continuity between the stepper body and ground? Is the negative pole of the printers power supply tied to a mains electricity protective earth?
You mentioned static on the belt as a suspected cause. I will check my steppers to see if there is continuity between the axle and the stepper body. Antistatic belts are probably available if the gates belts aren't already so, although I do note you did check for charge build up.
-
Does look like there is a Gates Carbon/Volt antistatic range. Guess you have to brush a rotary part at some point to to reliably ground the rotating components. Not looked in to it propoperly yet as you can tell!
-
Board is grounded along with the frame, but the culprit stepper hasn't ever been truly connected to ground or strapped to the case. I have tried to see a rise in voltage across the motor shaft and frame(ground), and I cannot. For what it's worth, the air in the room is usually >50% RH.
-
One thing I have found that helps (prevent "short to vin" or "short to ground") is to raise the current of the offending axis slowly before sending any movements. So, for example, I have placed a 200 ms dwell/pause/wait after adjusting it to ~50%, then raising it to 80-100% with another pause after). Still not a explanation/solution, but it works better than anything else I've come up with.