Open roberthuitema opened 4 years ago
Several people have reported problems with the TMC5160 at higher currents and voltages. At this time we believe it has something to due with the register values in the firmware.
https://github.com/bdring/Grbl_Esp32/blob/main/Grbl_Esp32/src/Motors/TrinamicDriver.cpp#L207
We are not experts on that chip or the settings and have not been able to find a solution. Trinamic sells an evaluation kit and some software that helps tune the drivers. It is $200 and not in the budget yet.
We do not believe it has anything to do with the hardware at this time.
Thanks for your reply. So I understand correctly you have been able tested with the 5160's at lower currents only as well?
I personally have been able to use them all the way up to 3.5A @12V & 24V. Other people cannot get above about 0.6A.
My drivers are BigTreeTech brand and use 0.075 Ohm resistors. People with trouble are also using BigTreeTech.
Ok I just tried my second set of TMC5161 drivers (I accidentally received my order twice), but unfortunately they behave exactly the same. Thanks for your help, if I manage to find a way to get them working I will post it here.
I had a similar problem with my original TMC5160. But my problem was that the power supply wasnt set right. (amp to low). I'm not sure anymore but i also had some trouble with microstepping, set Microsteps (SPI Drivers ) to 255 or 256 dont know anymore. After that the steppers worked fine.
Also set Motor current (SPI Drivers ) to 2.80 in defaults.h and Motor hold current (SPI Drivers ) to something low. Don't know if this got fixed/reworked.
@bdring Wouldn't it be better if the defaults.h is also in the machines list? So you have every setting in one data? For example all defaults.h settings in i2s_out_xyzabc_trinamic.h or 3axis_xyz.h. And in there only the options that are relevant for the "Board" or "machine"? Would be awsome if you dont have to search the common settings.
@KingMo5h The items in Defaults.h are only used if you have not defined them in your machine definition file.
midtbot.h is a good example of one with a lot of setting defaults.
I tried some more microstep settings and changing the values in defaults.h, unfortunately this doesn't work for me.
However when I change the number of micro steps it actually seems to change the steps/mm instead? At least my motors spin faster or slower when changing the micro step value (higher microstep value = slower/less rotation), while I did not change any other setting. What am I doing wrong here?
When I had a problem with 2130s/5160s crashing (stepping stops but no apparent error registered on the driver as far as serial debug revealed; power cycle reqd to revive stepping) StealthChop was the culprit; disabling it entirely and just using SpreadCycle ended the problem. I had found a Trinamic rep posting comments somewhere (just tried earnestly to find it again, but no dice) saying that it was caused by stops/reversals too big/sudden for StealthChop tripping a safety. IIRC they claimed StealthChop2 (as found on the 5160) would be better at handling the situation, but on that count my mileage definitely varied.
I've experienced the crash on two setups: BTT SKR 1.3 w/BTT TMC2130 at 24V 0.6-1.2 A, and BTT SKR 1.4 w/BTT TMC5160 12V logic and 34V 0.6-1.2 A motor. I've run both a fair bit without any driver crashes... except the few occasions I succumbed to temptation and re-enabled StealthChop.
Hi Guys,
I am trying to get my 4-Axis SPI CNC controller board V1.3 board to function with a set of TMC5161 drivers I bought from Bigtreetech and some Nema23 motors (2.80A/phase) for my CNC project.
Everything works fine, except the motors stop moving when I set the amps to around 0.4A or higher in the settings (the standard setting of 0.25A usually works to some extend). When I give a jog command the motors do some jittering/vibrating but are not rotating. Sometimes this happens immediately, sometimes it happens after a few movements. All four drivers display this behavior. Also sometimes when this happens a driver keeps drawing current and gets hot. After a reset and I guess reconfiguration of the driver they do function again (until it goes wrong again).
My setup:
and GRBL settings:
What I have tried so far:
Use definition of the TMC5160's in spi_daisy_4axis_xyyz.h and changed the value of TMC5160_RSENSEDEAULT to 0.062f (as the sense registers are 0.062 Ohm) -Copied some code to be able to define the drivers as 5161's and not get a message that they are unsupported drivers.
use a variable bench power supply at 24V and 10A and a standard 24V 9A Meanwell power supply.
Using less microstepping (8)
Playing around with the current settings ($140-$142)
Using StealthChop mode instead of CoolStep
This all without much success and I am out of ideas how to get the drives to function properly. So I was hoping one of you would have some ideas or suggestions I can try next. :) Any help would be much appreciated!