-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] TMC2209 with UART causing motors clicking/ticking #14683
Comments
I replaced also one TMC2208 with a TMC2209 from Watterott. For this I had to cut a pin and connect a jumper in an unusual way. This is how to do it for the SKR1.3 Board. this is from this manual on anet3d |
I'm getting the same approx 2Hz step skip problem on my delta too (8-bit board), it happens to all 3 motors at the same time. I'm using simple A4988 drivers on this board. I highly suspect it's linked to serial comms back to the PC as that's around 2Hz at times, but not sure which settings makes the problem worse. |
The SW serial implementations prevent interrupts during transmissions, meaning no step pulses generated either. This leads to jerky movement. There may be ways to alleviate the behavior however. We could try increasing the monitoring frequency from 2Hz to say 4Hz, but only poll one driver at a time. |
Ok, based on what you explain, the machine's behavior makes perfect sense. However, I suggest that there be a warning in the code (or the Marlin Wiki on Trinamic) that using software serial and having the MONITOR feature enabled will not work. |
I've just found that the controller fan is causing motor clicks for me once every 2 seconds'ish. If I disable the controller fan (comment out #define USE_CONTROLLER_FAN) the motor clicking vanishes and nice smooth movements return. |
I can not confirm this. I had already commented out this line before, so in my case it does not affect the stalling issues. |
@pseudex Can you attach your working config files for the SKR 1.3/Watterott TMC2209s? I picked up some genuine Watterott TMC2209s and modified them as outlined in your post, but I cannot seem to get past the TMC CONNECTION ERROR. I'm not sure if its a hardware issue or a config issue (some 2208s I have work fine in UART mode). |
@thisiskeithb if you get the connection error, I would assume the solder joint doesn't work. in the adv file there is a list where you can set the uart adress of the drivers: /**
* Four TMC2209 drivers can use the same HW/SW serial port with hardware configured addresses.
* Set the address using jumpers on pins MS1 and MS2.
* Address | MS1 | MS2
* 0 | LOW | LOW
* 1 | HIGH | LOW
* 2 | LOW | HIGH
* 3 | HIGH | HIGH
*/
#define X_SLAVE_ADDRESS 0
#define Y_SLAVE_ADDRESS 1
#define Z_SLAVE_ADDRESS 0
#define X2_SLAVE_ADDRESS 0
#define Y2_SLAVE_ADDRESS 0
#define Z2_SLAVE_ADDRESS 0
#define Z3_SLAVE_ADDRESS 0
#define E0_SLAVE_ADDRESS 0
#define E1_SLAVE_ADDRESS 0
#define E2_SLAVE_ADDRESS 0
#define E3_SLAVE_ADDRESS 0
#define E4_SLAVE_ADDRESS 0
#define E5_SLAVE_ADDRESS 0 |
Is the consensus here this is a hardware issue and not a Marlin bug? |
I have the tmc2209 running successfully on the SKR 1.3 - set up as mentioned in the above post with the fotos and info from the anet3d forum. wha could be important to say : Put in the UART-Jumper and the Jumper with the green circle only, unless you have more than 4 stepperdrivers or want to set the Master-UART Address to 1 for some other reason. |
Same situation here: the latest bugfix-2.0.x with MONITOR_DRIVER_STATUS, M114_DETAIL and USE_CONTROLLER_FAN enabled. Any movement on any axis and at any speed make a tick a couple of times per second. Disabling only MONITOR_DRIVER_STATUS makes it smooth and quiet. HW: Mega2560 + RAMPS 1.4 + Bigtreetech TMC2209 UART |
That motor clicking can be fixed by removing the SPREAD pin. Just solder it out and try again. |
@p1ngb4ck, in my case the Bigtreetech drivers have different pinouts: Instead of a SPREAD pin I have one of the PDN pins used for UART connection (factory setting). One thing I've not tried yet is to switch to the second pin... |
@asko58 still having issues? |
Lack of Activity |
i also have this issue with TMC2208, TMC2100 and mks gen 1.4 |
i also tried using other TMC drivers from different versions still having this issue |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Description
Switching from TMC2209 Standalone to TMC2209 UART (Software Serial) on Marlin 2.x.x bugfix (as of 07/19/2019) with the exact same hardware and software setup and #define MONITOR_DRIVER_STATUS enabled causes the motors to click/tick at a rate of about 2 Hz, regardless of the motor speed or mode (StealthChop, SpreadCycle).
Changing the drivers' current within a range from 100mA to 1100mA will not help, higher currents make the ticking more prominent causing the motors to sometimes stall. Also, using different timing profiles will not affect the phenomenon.
It seems to me that the drivers are receiving control signals from Marlin at a rate of about two per second, causing them to briefly stall and move on, causing the ticking sounds.
Steps to Reproduce
install TMC2209 drivers and wire UART to software serial pins (in my case AUX2 on MKS_Gen_L, Pins 63, 40, ...)
Configure Marlin to use TMC2209 drivers
Enable TMC_DEBUG and MONITOR_DRIVER_STATUS, leave HybridThreshold and Sensorless Probing/homing off.
Start printer and issue command to move an axis.
Additional Information
Playing around with various settings such as SquareWave and Acceleration/Jerk will not affect the problem. Going back to standalone mode or commenting out MONITOR_DRIVER_STATUS will however solve it.
Config is:
config.zip
M122 gives me this:
The text was updated successfully, but these errors were encountered: