Steeper drivers getting too hot

Printer Model: clone pursa bear
MCU btt octopus pro (also i have a ebb36 can too)
Host: btt cb1
my klippy.log is currently 16megabyte and web site do not allow me to upload more than 8megabyte so i compressed it wit winrar
klippy.zip (1.4 MB)

i recently upgraded my printer from a 12volt power supply to 24 volt one (meanweal lsr350) before upgrade temp of my tmc2240 usually was between 38-45 and for z motor it was always 35 but now im getting 60 on x y and on z0 its 50 and on z1 its 54 or 55 (same motors same setting)

based on the things that i Khow i should get lower temps than times i used to use 12-volt power supply because when we double the voltage the amp required to carry same power is half of the time you are using 12 volts

also, another weird thing has happened to me btt octopus pro have few voltages inlet (for motors bed and also mother bord itself) and you can choose the power inlet for motors by some jumpers (you will choose getting motor powers from mother bord inlet or motor inlet)

first time i used the motor power itself for powering drivers and motors and steeper driver runed too hot so i switched back to giving them their power from the main mother bord power inlet


°F? °R?

How did you measure?

The stepper do not report overtemperature, but undervoltage:

...
TMC 'stepper_z' reports GSTAT:      0000001d reset=1(Reset) uv_cp=1(Undervoltage!) register_reset=1 vm_uvlo=1
TMC 'stepper_z' reports GSTAT:      00000000
TMC 'stepper_z1' reports GSTAT:      0000001d reset=1(Reset) uv_cp=1(Undervoltage!) register_reset=1 vm_uvlo=1
TMC 'stepper_z1' reports GSTAT:      00000000
Stats 388.0: gcodein=0  mcu: mcu_awake=0.000 mcu_task_avg=0.000001 mcu_task_stddev=0.000001 bytes_write=7119 bytes_read=30636 bytes_retransmit=9 bytes_invalid=0 send_seq=749 receive_seq=749 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028080 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11505 bytes_read=54021 bytes_retransmit=0 bytes_invalid=0 send_seq=1201 receive_seq=1201 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999929 adj=63995407  heater_bed: target=0 temp=21.6 pwm=0.000 EBBCan: temp=31.6 sysload=0.24 cputime=14.629 memavail=701524 print_time=392.460 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.1 pwm=0.150
Stats 389.0: gcodein=0  mcu: mcu_awake=0.000 mcu_task_avg=0.000001 mcu_task_stddev=0.000001 bytes_write=7281 bytes_read=30835 bytes_retransmit=9 bytes_invalid=0 send_seq=762 receive_seq=762 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028078 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11545 bytes_read=54210 bytes_retransmit=0 bytes_invalid=0 send_seq=1205 receive_seq=1205 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999928 adj=63995418  heater_bed: target=0 temp=21.5 pwm=0.000 EBBCan: temp=31.3 sysload=0.24 cputime=14.675 memavail=701052 print_time=392.460 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.3 pwm=0.150
TMC 'stepper_x' reports GSTAT:      0000001d reset=1(Reset) uv_cp=1(Undervoltage!) register_reset=1 vm_uvlo=1
TMC 'stepper_x' reports GSTAT:      00000000
Stats 390.0: gcodein=0  mcu: mcu_awake=0.000 mcu_task_avg=0.000001 mcu_task_stddev=0.000001 bytes_write=8205 bytes_read=31621 bytes_retransmit=9 bytes_invalid=0 send_seq=819 receive_seq=819 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028077 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11585 bytes_read=54386 bytes_retransmit=0 bytes_invalid=0 send_seq=1209 receive_seq=1209 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999927 adj=63995416  heater_bed: target=0 temp=21.4 pwm=0.000 EBBCan: temp=31.5 sysload=0.24 cputime=14.770 memavail=701052 print_time=392.710 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.3 pwm=0.150
Stats 391.0: gcodein=0  mcu: mcu_awake=0.000 mcu_task_avg=0.000001 mcu_task_stddev=0.000001 bytes_write=8853 bytes_read=32255 bytes_retransmit=9 bytes_invalid=0 send_seq=872 receive_seq=872 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028072 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11640 bytes_read=54552 bytes_retransmit=0 bytes_invalid=0 send_seq=1214 receive_seq=1214 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999926 adj=63995400  heater_bed: target=0 temp=21.3 pwm=0.000 EBBCan: temp=31.6 sysload=0.22 cputime=14.863 memavail=701104 print_time=393.710 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.3 pwm=0.208
Stats 392.0: gcodein=0  mcu: mcu_awake=0.004 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=9489 bytes_read=32886 bytes_retransmit=9 bytes_invalid=0 send_seq=924 receive_seq=924 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028078 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11680 bytes_read=54741 bytes_retransmit=0 bytes_invalid=0 send_seq=1218 receive_seq=1218 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999926 adj=63995398  heater_bed: target=0 temp=21.1 pwm=0.000 EBBCan: temp=31.4 sysload=0.22 cputime=14.955 memavail=701900 print_time=394.710 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.2 pwm=0.208
Stats 393.0: gcodein=0  mcu: mcu_awake=0.004 mcu_task_avg=0.000006 mcu_task_stddev=0.000008 bytes_write=10125 bytes_read=33516 bytes_retransmit=9 bytes_invalid=0 send_seq=976 receive_seq=976 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=400028060 canstat_EBBCan: bus_state=active rx_error=0 tx_error=0 tx_retries=0 EBBCan: mcu_awake=0.004 mcu_task_avg=0.000016 mcu_task_stddev=0.000011 bytes_write=11720 bytes_read=54902 bytes_retransmit=0 bytes_invalid=0 send_seq=1222 receive_seq=1222 retransmit_seq=0 srtt=0.001 rttvar=0.000 rto=0.025 ready_bytes=0 upcoming_bytes=0 freq=63999925 adj=63995388  heater_bed: target=0 temp=21.1 pwm=0.000 EBBCan: temp=31.3 sysload=0.22 cputime=15.048 memavail=702152 print_time=395.710 buffer_time=0.000 print_stall=0 extruder: target=255 temp=255.3 pwm=0.208
TMC 'stepper_y' reports GSTAT:      0000001d reset=1(Reset) uv_cp=1(Undervoltage!) register_reset=1 vm_uvlo=1
TMC 'stepper_y' reports GSTAT:      00000000
...

Already thought about active cooling?

BTW: hold_current is not recommended.

hi and thank for your replay
sorry for not specifying (we use Centigrade)

steeper motors are running on normal temp

problem is steeper drivers (tmc2240) (currently im colling them with 120mm fan at full speed)

how did i measure?

tmc 2240 have built in temp sensor it just showing everything on Klipper

about hold current if i turn it off steeper drivers get hot in hold position (for example whet its homed)

by the way i don’t understand the error codes allot (sorry iam noob)

but about under voltage

i do have a victor vc 97 multi meter when i measured voltage (when printer was printing) it was 24.7 volt

TMC2240 drivers get very hot very quickly, and you basically cannot run them without active cooling. These drivers support a special setting driver_SLOPE_CONTROL. You can experiment with values between 0 and 2. The default is 0.

1 Like

hi sineos and thank you for replying

i do run them under active colling i Alway did

back in the times that i used 12-volt power supply they were working fine with an 80mm fan at 50% speed

but now iam using a 120mm fan with full speed

about driver_SLOPE_CONTROL i will try it and will put results here

You should really address @EddyMI3D’s observation.
As per your screenshot, temperatures between 50°C to 60°C are not an issue, but the undervolt messages are.

i had this problem before upgrading to 24volt power supply too

i really don’t Khow why it’s happening

also

why under voltage is bad?

what can happen when we get under voltage?

I’d suspect one of the following reasons:

  • Wrongly jumpered board
  • Issues in wiring (focus on PSU to board)
  • Faulty driver
  • Faulty PSU

i did try slope control and put its value 2
now drivers are running between 40 and 44

i will print a part and again will put klippy.log here

jumpers on bord are ok i did cheeked them multiple time
also, psu is good quality and its new i did try with other 24-volt psu and results was same

im assuming the problem is from Stepper motor wires

they are long and also thin

each one is 1.2 meter i will get some new wire (thinker and shorter) and i will post the change results here (it may take some time because in my country currently every were is closed because of new year)

also, i did find a Klipper add on (TMC AUTO TUNE) but it’s hard to work with it
i don’t understand it very well due to language problem that I have and also, I didn’t find a of information and videos about using and tuning it on YouTube or google

GitHub - andrewmcgr/klipper_tmc_autotune: TMC stepper driver autotuning Klipper python extra

About temp, afaik it is normal, the current does not change, and there is only a different amount of losses in the MOSFETs.
With a higher power source voltage, it is generally better to feed gates with higher voltage.

Anyway, 40-60C is not an issue as pointed out above, the issue is closer to 120 degrees.

About under voltage, it is hard to guess.

Driver schematics



IDK, but generally it should look like low voltage from motor power PSU.

Octopus PRO has a capacitor for each driver, so it is also strange to see an error like that.

I can only guess, what may happen:

  • if there is a high-power user, like heating_bed on the same PSU.
  • Or there should be a really bad config mismatch, where a high current motor runs with too low PWM frequency.
    You may want to check the voltage from the DUMP_TMC command on those drivers.
$ DUMP_TMC STEPPER=stepper_z REGISTER=ADC_VSUPPLY_AIN
// ADC_VSUPPLY_AIN: 02e70a3c adc_vsupply=0x0a3c(25.498V) adc_ain=0x02e7(226.764mV)

(I have slightly higher voltage on 24V rail, just because I can)


i did find a Klipper add on (TMC AUTO TUNE) but it’s hard to work with it

It will just tune registers for you, it is generally advisable to just use official TMC tables for that.
Right now it is disabled in your config because there is no motor definition.

Or you can just share your motor datasheet.

Hope that helps.

Hi

Frist of all i want to thank all of you that answering to my question and helping me find and fix the problem
You people are very nice and iam thankful from bottom of my heart

About voltage drop

I used this cement for all steper motor and this is what i get from each axis
DUMP_TMC STEPPER=stepper_z REGISTER=ADC_VSUPPLY_AIN

stepper x
ADC_VSUPPLY_AIN: 02db09b5 adc_vsupply=0x09b5(24.184V) adc_ain=0x02db(223.101mV)

stepper y
ADC_VSUPPLY_AIN: 02d609b8 adc_vsupply=0x09b8(24.213V) adc_ain=0x02d6(221.575mV)

stepper z
ADC_VSUPPLY_AIN: 02d909b9 adc_vsupply=0x09b9(24.223V) adc_ain=0x02d9(222.491mV)

stepper z1
ADC_VSUPPLY_AIN: 02d309bb adc_vsupply=0x09bb(24.242V) adc_ain=0x02d3(220.660mV)

I don’t Khow how to define a motor and set some setting for it

they are just some random motors with no label or anything else

I used dump tmc on all driver it gives so much information (that i don’t Khow what are they😅) but i will send it here
dump tmc.txt (7.5 KB)

also, my printer was running all night

so, i think it was enough time for it to have some errors

i will upload new klippy.log
klippy (2).zip (1012.9 KB)

but since its 11 megabyte i upload it on zip form

i did search for (voltage) in it with note pad and find nothing (i think it’s because of new Settings that sineos told me to do) (driver_SLOPE_CONTROL)

first i set it for 2 and it was huge temp drop (between 15 or 20 c)
later that night i set it to 1 (12c temp drop) (because I read about it that it controls the dV/dT (derivative of voltage / derivative of time) in driver and high value for it means torque drop in higher speed

Forgot to mention i dont use my psu to power my bed

My bed is high power ac bed thah runs with ssr

(This was one of the best upgrades of my 3d printer)

1 Like

I suspect there is no Undervoltage issue, all flags are set.
They are set before the driver is enabled the first time.


So, after the first power on, the Z axis is homed and there is the one-time report.
After homing of Z axis, X and then Y homed.
That is it.


Then there is no need for TMC autotune at all, it can’t be used.

I think it will not and the back EMF from the motor will have much higher value then that.

Anyway, there is no issue.
The drivers are cool, there is no errors, and everything works as expected.

Hope that helps.

Based on the conditions you mentioned and the fact that the undervoltage error occurred before homing the machine, I feel this happened because when I power on the device, there is no switch between the power supply and the printer. The switch is only between the 220V input and the power supply. It’s likely that the undervoltage error is recorded until the power supply capacitors charge up.

I’ve checked the wires between the stepper motors and the drivers, and the wires are thin and long (1.2 meters), so it’s likely that a voltage drop is occurring in them as well. I’ve ordered new wires, but due to the New Year holidays in our country, they might arrive late. Once I receive the new wires, I will conduct further tests and report the results, so others can also benefit from the solutions and data.

You all are truly remarkable peoples (because of your vast knowledge and your selfless help to others). Honestly, I don’t have lots of knowledge as you do have in programming, electronics, and some other topics (due to limited experience, age, limited educational and financial resources that I have)
However, I am knowledgeable in 3D design, 3D scanning, and photogrammetry. I would be delighted if I could contribute, even in a small way, to the advancement of this group for free.
If there is any specific work needed, I would be happy to help.