Printer Model: Troodon 2 Pro
MCU / Printerboard:STM32F407
Host / SBC Raspberry PI
klippy.log klippy (2).log (473.5 KB)
Describe your issue:
…
Today while trying to resolve a clogged nozzle issue by performing some cold pulls, I noticed a notification indicating stepper y had triggered the OTPW flag. Soonafter, there was a second notification indicating stepper x had triggered the OTPW flag.
I restarted and tried to recreate, a couple times because I wanted to issue a M112 after it happened. I did so on my most recent attempt to recreate the issue, though only the X stepper warning had presented.
Now as far as I can tell from reading, this might be resolved by adjusting run_current which is currently set to 1.2(unchanged from stock set-up). I suppose I would probably move down to 1 and see what happens.
But I want to understand better why this is happening in this case and hadn’t happened previously. Especially as the motors weren’t moving, only holding position. And because it seems these motors should be able to handle 1.2A without trouble. 2.8A coil current(peak) * .707 = 1.9796 RMS * .85(safety margin) = 1.68266.
I also want to avoid any negative effects from such an adjustment, and I am unsure how much that change will affect ‘positional accuracy and torque’.
Any insight and help in understanding why this is occurring would be greatly appreciated.
There is nothing to do with motors, this is a driver flag about the driver overheating. They have “no” way to measure motor temperature.
But I want to understand better why this is happening in this case and hadn’t happened previously. Especially as the motors weren’t moving, only holding position. And because it seems these motors should be able to handle 1.2A without trouble. 2.8A coil current(peak) * .707 = 1.9796 RMS * .85(safety margin) = 1.68266.
BTT 2209 by default comes with a sense resistor 0.110ohm
BTT 2226 by default comes with a sense resistor 0.150ohm
Either way, 1.2A is around the usable maximum, further will require active cooling and a proper sense resistor.
I also want to avoid any negative effects from such an adjustment, and I am unsure how much that change will affect ‘positional accuracy and torque’.
For motors it is simple, they are expected to be run at 50-100% of current, the same as step sticks.
For high positional accuracy higher current and proper SpreadCycle registers are required.
I’m talking about “right”, not how it is done most of the time.
So, the short answer is that as long as it works for you, it is fine.
The first bullet point under features is: 2-phase stepper motors up to 2.8A coil current (peak), 2A RMS
Is it the resistor that makes it too weak? I’m asking because I thought I had figured the current correctly, and want to know where I went wrong.
I’m still confused about why this would happen when the motors were only holding position? Best I can tell from checking my klippy logs this has never happened before, during printing or otherwise.
Anyway, I’ve changed the run_current to 1 and am going to run a speed test to make sure I’m still capable of travel speeds I had previously settled on.
So, 2.8A is more like “Peak” value, not like continuously working, same with 2A RMS. It will be possible if they are soldered to large copper heavy board, but StepSticks are not something like that.
I’m still confused about why this would happen when the motors were only holding position?
From the driver’s perspective, this does not matter. Steppers always receive full current, no matter if it holds or spins, this is how they work and how they keep position in place. This is why hold_current exists.
Good deal, I guess I didn’t into the datasheet enough.
I had considered adding a hold current parameter until I read that ‘However, changing motor current may itself introduce motor movement’ in the TMC Drivers documentation.
I adjusted the run current down to 1, and it seems the printer lost a bit of acceleration ability, but not so much that it matters at all.