TMC 2209 Driver Error
Hey guys, I keep getting an OverTemp warning and eventually error on my stepper drivers. No single driver is reporting this it's been 3 different ones so far. However, I don't even think these drivers are getting very hot. This was the line in Klipper log during shutdown:
Stats 153574.3: gcodein=0 mcu: mcu_awake=0.017 mcu_task_avg=0.000014 mcu_task_stddev=0.000012 bytes_write=108823330 bytes_read=24367929 bytes_retransmit=9 bytes_invalid=0 send_seq=2151521 receive_seq=2151521 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=8 stalled_bytes=4166 freq=180001796 toolboard: mcu_awake=0.026 mcu_task_avg=0.000047 mcu_task_stddev=0.000049 bytes_write=27696987 bytes_read=9669628 bytes_retransmit=9 bytes_invalid=0 send_seq=594299 receive_seq=594299 retransmit_seq=2 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=30 stalled_bytes=0 freq=63999318 adj=63998746 Octopus: temp=22.0 raspberry_pi: temp=30.0 sd_pos=96898247 heater_bed: target=110 temp=110.0 pwm=0.432 toolboard: temp=61.1 sysload=0.23 cputime=18677.546 memavail=574960 print_time=153159.602 buffer_time=2.221 print_stall=4 extruder: target=260 temp=259.7 pwm=0.451
TMC 'stepper_z2' reports DRV_STATUS: c01f0f03 otpw=1(OvertempWarning!) ot=1(OvertempError!) t120=1 t143=1 t150=1 t157=1 cs_actual=31 stealth=1 stst=1
Transition to shutdown state: TMC 'stepper_z2' reports error: DRV_STATUS: c01f0f03 otpw=1(OvertempWarning!) ot=1(OvertempError!) t120=1 t143=1 t150=1 t157=1 cs_actual=31 stealth=1 stst=1
14 Replies
right there near the end.... over temp.
do you have heat sinks? fans to cool them?
conscious-sapphire•2y ago
yeah I do i put a big ole box fan on them when I got it before and ran the printer for over a day on an ASA print no issues
is the octopus temp in the dashboard for the board CPU? or is it an average of the steppers
also yes to heat sinks
i should add that in the klipper log this was the only over temp warning followed by immediate shutdown
yes, mcu is chip, not drivers. over temp is immediate shutdown by default.
conscious-sapphire•2y ago
do you think stealthchop set to 0 would help here?
personally I have SC set to 1. So at idle it kills a bit of the buzzing of the steppers.
It hasn't 'heated' my steppers, and/or have I been able to notice any issues to date.
I recently switched my AB motors to TMC5160's and 48V (Zx all still at 24V with TMC2209s)
and I haven't seen any GSTAT or temp warnings/issues in my klipper logs since the switch.
One point of note, having added the extra power supply, cut the power load on each supply in half. so power is very stable.
None of the drivers rise above 28°C even ater long prints.
You could reduce you current settings a bit and see if it minimizes or eliminates the issues as well. 'performance' is like 1.7 something amps. 1.5 norm. try something back in the 1.5A range just to see it if the reduced power reduces the heat warning issue. If you're not running above 100-125m/S and under 8K or so accel... the 1.5A is fine. (ymmv my personal experience)
conscious-sapphire•2y ago
my speeds definitely exceed that think I have my max set to ~175mm/s and my accel around 8k so Ill lower those and the amperage and see if that helps. thanks a lot for taking the time to help and write that out, very much appreciated.
those speeds are still not bad. It's the high speed direction changes that suck the most juice. most steppers only handle 1-5VDC. (1-3 ohm coils) the drivers control the current to the motor coils. It's a dance between voltage and current to apply power to the motor. Lower initial currents (inductor charging) can use Higher voltages (hence the move to 48V) to get the motor coils charging. As soon as they charge the volts drop way off to limit the current. It how fast can you charge the coils (to produce the magnetic field) that makes the motors move. Mosfet transistors (in the stepper drivers) heat the most DURING switching. Once in one state of the other, internal power dissipation is minimal (in the scheme of operations)
(...brain fart... do I have the V/A reversed on charging?.... ol' geezer trying to remember ancient tech here)
conscious-sapphire•2y ago
I see what you're saying it threw the warning before a travel move I believe which I actually just realized I had set to 10k accel and a max speed of 300mm/s and if I'm understanding correctly should I enable accel_to_decel
But you sound like you have it right the instantaneous speed change would drop the current and haven't read through most of the tmc2209 datasheet but assuming potential increases to maintain constant power I can see how those moves can really tax the steppers
accel_to_decel usually set at around 1/2 accel . Drop your acel to even just 8K and speed to 250 just to test and run the same print and check your klipper logs if it doesn't throw an error
conscious-sapphire•2y ago
got it thanks again I'll update here once I test
also one odd thing I'm seeing is that the TMC2209-performance has stealthchop_threshold at 0 but my klipper log shows that as set to 1
kind of odd. Have you checked ALL your [TMC_stepper_xxxx] hava stealthchop statement and aLL are set to zero?
conscious-sapphire•2y ago
yup lemme see if anything is overwriting it in printer.cfg
conscious-sapphire•2y ago
conscious-sapphire•2y ago
not seeing anything that would overwrite the performance config and set stealthstop back to 1
alright print has been going for about 5 hours, the errors happened again on the z2 motor so i swapped that driver
I also noticed that I got an under-voltage warning on my rpi which was being powered off of my octopus. Put in a buck converter to power it and when I had my z2 errors I still received an under voltage warning so I'm sure you were on the money about the instantaneous load reqs of the motors at those accelerations
dropped them across the board in my slicer and everything is looking good now, the stepper drivers are running very cool when I checked temps. I will update when the print finishes and mark the issue as resolved. thanks again @ptegler !