Torque issue with A4988

Hi,

I am using this stepper motor, according to the specs I should get at least the 0.5 N.m at 200 rpm and 0.2N.m at 400 rpm.

Working at 12V or 24V make no big differences, I could not reach the torque/rpm given by the supplier.

I have notice few things, the intensity is around 0.7A during rotation while the stepper is given for 1.8A.

My question is the following: how should I setup the DC generator and the current to get the curve given by the stepper supplier?

Concerning the command I am using arduino uno and the program given in your tutorial.

Stepper : http://en.nanotec.com/steppermotor_st4118.html
the stepper reference is : ST4118D1804

Thanks in advance.

Hello,

What do you have the current limit on the A4988 set to? How are you measuring the current? If you measure a 0.7 A current in one coil when the motor is holding position, it’s likely the current limit is set to that amount, and it would explain why you are not getting the rated performance from your stepper motor.

Please note that while the A4988 can deliver up to 2 A per coil, you will need to use a heatsink or other additional cooling to prevent it from overheating at currents over 1 A.

- Kevin

Hi Kevin,

Thanks for your answer,
The 0.7 A is the current given by my power supply when the stepper is running;
I set the current limit to around 1.2A (according to the formula 0.7 * 1.8)

This is true i am not using a heat sink, may i have to?.

Do you have a reference for an adapted heat sink for A4983 Stepper Motor Driver Carrier?

A quick question:
How can i get the maximum torque at 300 rpm for instance?
Is microstepping helping or not, is it better to supply 12V or 24V?
Another question : can we increase the current limitation to something like 1.5 instead of 1.2 to get more torque?

Thanks in advance, I will let you know.

Kind regards,

You should not be measuring the power supply current to set the current limit. As the note on the product page says:

Furthermore, your calculations don’t seem correct. The full-step current is 70% of the current limit, so to get a full-step coil current equal to your motor’s rated current of 1.8 A, you would have to set the current limit to 1.8 A/0.7 = 2.6 A. However, this value is only really relevant if you are using it to calculate VREF; if you are setting the current limit by measuring the coil current directly, you should just adjust the potentiometer until you see a measured coil current of 1.8 A.

You will need a heatsink, and possibly a fan, to keep the driver cool enough to deliver more than about 1 A. We do not have any specific heatsink recommendations.

Since the torque of a stepper motor depends directly on the current it is driven with, you will not get the rated torque from your motor until you set the current limit on the driver to allow it to draw its rated current. Microstepping and the motor voltage should not make much of a difference.

- Kevin

Hi Kevin,

First of all thank for your answer.

Let me explain how I set the current limit:

Playing with enable input, I set the stepper into stall mode. I measure the current through a single coil and adjust the potentiometer to have 1.8 * 0.7 = 1.2 A.
Is that right ?

Regards,

I forget to mention I am using a bipolar stepper

[quote=“BerthaG”]Playing with enable input, I set the stepper into stall mode. I measure the current through a single coil and adjust the potentiometer to have 1.8 * 0.7 = 1.2 A.
Is that right ?[/quote]

No, I explained in my last post why your calculation is both incorrect and irrelevant. If you want a coil current of 1.8 A, you should adjust the potentiometer until you measure 1.8 A through the coil.

- Kevin

Hi Kevin,

If I insist it is because i read it in your tutorial :
quote:“
What is the first thing you always do with any system. Calibrate it!
After hooking the board up like this you should plug everything in and there should be a current registering on the DMM
(Digital Multi Meter) probably around ~0.500 A. You will see this even though the motor will not move. That is because
there is a current required to hold the motor in place. If you don’t see a current then something is wrong. Check everything.
Once you see a current adjust the potentiometer (the only thing that will accept a phillips screw driver) slowly until you see
the value that is 0.7 * the rating of your stepper motor coils. (or less)
12 Volts is arbitrary but easy to get access to with a ATX power supply.”

Here the source A4983 and A4988 Getting Started Guide in the first pdf file.

I can set the current to 1.8 as you said but I already burn one, and this is my last one, moreover if what you’re saying is true, the pdf should be updated for more clarity.

Regards,

Hello.

That tutorial is not written by Pololu. You should refer to the product web page for official documentation.

- Ben

Hi,

I have some questions:
Quote :"Another way to set the current limit is to measure the voltage on the “ref” pin and to calculate the resulting current limit (the current sense resistors are 0.05Ω). The ref pin voltage is accessible on a via that is circled on the bottom silkscreen of the circuit board. The current limit relates to the reference voltage as follows:

Current Limit = VREF * 2.5

So, for example, if the reference voltage is 0.3 V, the current limit is 0.75 A. As mentioned above, in full step mode, the current through the coils is limited to 70% of the current limit, so to get a full-step coil current of 1 A, the current limit should be 1 A/0.7=1.4 A, which corresponds to a VREF of 1.4 A/2.5=0.56 V."

So in my case, the stepper work under 1.8A that means the limit for full step should be 1.8/0.7=2.6A corresponding to a Vref of 1.04V.
I am wondering if is it problematic that the current limitation is higher than 2A ?
My second question is : I tried to increase the current limitation but higher than 1.2A / coil the current supplied by the driver goes crazy (up and down) Is that because it is getting too hot?
Considering that my current limit should be set to 2.6A, adding a heat sink will solve the problem?

Regards,

That should be okay as long as the actual current being supplied by the driver is less than 2A. In full-step mode, it will only supply 70% of the current limit to each coil, which is 1.8 A for a current limit of 2.6 A. (If you measure the coil current directly, you should not see more than 1.8 A.)

[quote=“BerthaG”]My second question is : I tried to increase the current limitation but higher than 1.2A / coil the current supplied by the driver goes crazy (up and down) Is that because it is getting too hot?
Considering that my current limit should be set to 2.6A, adding a heat sink will solve the problem?[/quote]

Yes, it sounds like your driver is probably overheating. In our tests, it couldn’t deliver more than about 1 A without additional cooling, which is why we recommend using a heatsink if you need higher currents.

Alternatively, if you do not actually need the motor’s full rated torque and speed, you can just leave the current limit at a lower setting.

- Kevin