I recently purchased a stepper motor driver DRV8825 (pololu.com/product/2133) . I’ve just gotten around to using it and am running into some difficulties.
I’m using this driver for a motor that is rated for 1.5A current. I’m trying to set the current limit using the potentiometer. I’ve been measuring VREF by measuring the voltage on the potentiometer to the ground. As I turn the dial, I slowly get up to .5Volts, which based on the DRV8825 description results in 1A. However when I run the driver at this setting, it overheats too fast and kills the circuit. Is this to be expected?
Also, as I turn the potentiometer. the VREF moves up smoothly as I turn it. However, after .5V, it instantly jumps to 1V+ which leads to a current higher than the driver should support. Am I doing something wrong? I was hoping to get it to 0.75V for my motor and be able to run it at this setting without it overheating.
In addition, the driver seems to run constantly on micro steps and I am unable to move it using full steps even though I am providing no voltage to the m0-m2 pins. What can I do to make this move with full steps?
Added Info about Setup:
- 12V 3A wallwart connected to motor power
- 5V usb powered arduino connected to logic power
- looks pretty much identical to setup outlined in pololu.com/product/2133
The behavior you are describing does not sound normal for the DRV8825 carrier. You should be able to tune the VREF voltage to 0.75V, and setting the current limit to 1A per phase should not cause the DRV8825 carrier to overheat (under normal conditions). Could you double check the voltage by measuring it directly at the VREF via? Could you post pictures of your setup? A video showing the multimeter and you turning the potentiometer would also be helpful. How did you determine it is constantly microstepping?
Thanks for the reply.
I’ve uploaded a video of me setting the current limit via the vref. I apologize for the bad imovie editing.
I was able to get it to ~750mV however it was quite sensitive after ~650mV. The video shows me setting the vref to ~700mV and then running the motor. It repeatedly stops. I attribute this to overheating protection because the driver becomes very hot. When using ~450mV, the motor runs smoothly. Unfortunately I need as much torque as possible out of my motor and sending the .9A/1.5A seems like a lot of torque loss.
As for the microstepping issue, I believe it is running with 16-microsteps as default because I run the attached ‘steppertest.ino’ code and it performs 16 rotations when I specify the microsteps as 16. When I specify the number of microsteps per step to be 1 it only runs 1 rotation. The attached photo shows that I have m0,m1,m2 low.
- Why does board stop/possibly overheat at vRef>550mV
- Why is board defaulting to 16 microstepping?
Thank you for the video, picture, and code. Unfortunately, I cannot make out your connections from the picture you posted. Could you try measuring the voltage at the M2 pin?
When VREF is set to around 700mV, does the stepper motor get hot also, or just the driver? What stepper motor are you using? Do you have a link to its specifications?