A4983 current limiting

Hi. I am using Pololu item#1201. I am using it to drive a bipolar stepper motor with the following chracterestics m(from manufacturer): Winding voltage = 2.33 VDC, Current/phase = 1.5A, Resistance/phase = 1.56 ohm. I am using VDD = 5V and Vmot = 12V. I tried setting the current limit to 1.5A as per the second method in your instructions: I set Vref to 0.6V using the potentiometer on the carrier board. With Rs= 0.05 ohm, I calculate the current limit to be 0.6/(8*0.05) = 1.5A using the equation I_trip = Vref/(8*Rs). However, when I run the motor, the maximum current drawn from the 12V supply I measured is about 0.56A. Could you explain to me this phenomenen? What is the best/correct way to set the current limit? Also the specs for the driver say that it can control the motor at up to 2A output current. Is that 2A per phase? is per phase the same thing as per coil


It’s 2A per output pair, which for us is the same as 2A per coil and 2A per phase.

The main reason for your power supply current reading being low is that your voltage is 5 times higher than what the DC voltage would need to be for 1.5A. The motor driver is basically pulse width modulating (PWMing) the power to the coil, so that duty cycle is only going to be about 20%. With that low of a duty cycle, you’ll get a pretty big discrepancy between RMS current and average current.

The power supply also doesn’t have to power the coil during the off part of the cycle, even though that current is still flowing through the coil and back through the motor driver. If you do just the power calculation, assuming DC (which we know isn’t quite the case, but it will still show why you shouldn’t expect the average input current to equal the motor current), you can calculate the power per coil at (1.5A)^2*1.56ohms = 3.5W. To get that much power at 12V, you only need about 0.3A. Your current is higher than that since the system isn’t 100% efficient. Plus, as I mentioned earlier, the current is fluctuating quite a bit, so it’s hard to say what exactly your power supply reading means. You might also have the other coil attached with some current through that.

It might be interesting to look at the current in the coil. Do you have a meter that you can use to measure that?

- Jan

Your explanation makes good sense. What kind of meter would I need to measure the current in the coil? Can I use a digital multimeter? if so how/where should I hook it up?

I have increased Vref from 0.6V to 0.87 V using the potentiometer on the carrier board. The same calculation as before gives me 0.87/(8*0.05) = 2.175 current limit. The maximum measured current drawn from the 12V power supply is about 1.1A in this case and the motor can drive the load the way I need for my application. Will this current be OK for the motor in the long run? The motor doesn’t get noticeably hot, but the drive/carrier board gets very hot. With the way I use the system (I put the motor in SLEEP mode between operations), I measured the temperature on the driver carrier and it reached about 60 degrees Celsius. Is this an acceptable running temperature? How can I reduce the temperature if I need to? Would you recommend a heat sink of some sort in this case?

Thank you.

The chip has a thermal shutdown feature, so you’re probably okay if you’re not tripping it. You could thermal epoxy a heat sink to the chip to help. I don’t know what it will do to the motor; it will depend on how long you have that current going through it. If you’re moving most of the time, the current won’t be that high most of the time, so that should help. Depending on the motor size, it might take a while (minutes) to heat up, but it can still get burning hot, so be careful.

Most digital multimeters with a current measuring feature should work; just make sure you don’t use the low-current terminal (so you don’t blow the fuse). Put the meter in series with your coil, and it will show you the current (you should not be stepping during your measurement). Don’t forget to plug the test leads back to the voltage terminals so you don’t short something out next time you try to measure some voltage or resistance!

- Jan

Thank you for the advises. Just to follow up, I measured the current through the coil as you described, and I obtained a max/min of +/-1.35 A approx. So I seem to be OK. I noticed however, that when the motor is not running and the driver not in SLEEP mode, the temperature on te chip rises vey very rapidly (I have a temperature probe taped to the driver carrier board). My project is working fine. Thanks again for your assistance and have a good day!