Hi all, I have a stepper motor linear actuator that is working desirably with a DRV8825 Pololu breakout board and Arduino Micro. I also have a TMC2208 driver on a breakout board from BIGTREETECH that I am considering moving to for quieter operation etc and perhaps make use of the stall detect function. I was interested in researching if there are any step/direction based drivers or even ones with a simple UART interface like the TMC2208 driver that support current sensing. I was hoping to be able to log the real-time current draw by the driver estimation for comparison reasons only against other tests to gain an understanding for which parameters cause the lowest load on the motor (the motor is pushing a custom geometry against a compliant material so there are a number of parameters I can change in terms of both motion profile and the custom geometry itself). Initial research seemed to indicate that the drivers I have do not support current sensing, but I also got ChatGPT's insight on this and it (incorrectly it would seem) believes this is possible in the TMC2208 using the TMCStepper library and the getCS() command. However I can't see this in the documentation for this library so I am unsure if it is worth the time in trying to setup. If there are workarounds for estimating the load on the motor, or reasonably priced hardware that can be purchased to help achieve this, I am all ears. Thanks
That driver doesn't have Stall Guard. The TMC2209 Does.
I was very pleased with the quite operation of a 2208 in step/dir mode, but I could never manage to implement UART mode on that device.
I think the TMC Stepper Library is here
https://github.com/teemuatlut/TMCStepper
If you do end up getting a TMC2209 and trying to use stall guard, it has to be setup using the 1 wire UART interface but then it will "trip" by triggering the DIAG pin on your breakout. It will go high when a stall is detected and then will have to be reset by pulling the enable pin low briefly. I have never gotten it to work since I had issues getting the UART interface to work and still using the current settings set by the pot on the breakout but evidently I was missing one setting in the UART config.
It should be noted that that library uses a TX and RX pin and not the 1 wire pin that most breakouts that I've seen use. I don't know if that library would also work with those or not. YMMV. The example for stall guard also uses a timer interrupt for stepping. It might be easier to use something like the accel stepper library rather than making your life more difficult.
Thank you all for the replies - good to know the TMC2208 doesn't support stall guard. On the current measuring front - any thought on the easiest/cheapest way to measure the current draw/power consumption of the motor? Happy to measure the current being drawn by the driver itself, so measurement can be taken between the driver and the power supply. Some kind of breakout board that can have its data acquired by the arduino would be great, or alternatively a serial ready module that can be queried from a PC?
Hi, @00jim00
Sorry had to spread it out to read.
You can use a Hall Effect current sensor to monitor the current supplied to the driver.
Google;
arduino hall effect sensor
Tom..
What do you mean the current measuring front? The driver doesn't have the current sensor. That is the Stall Guard. You cannot do what you want to do with that driver.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.