Hi. I want to control a stepper motor using A4988 driver and arduino uno. The problem is that the driver micro controller and the power supply jumpers become hot and and if I don't turn it off it will burn. Does every body know what's wrong?
The stepper motor is EM-284 that is 12V 1A.
I set the power supply on 12V and 8A.
This is the wiring:
I know and I changed it but the result was same. At the first time the stepper worked but after 1 minute the driver became hot and Smoke rose from the driver. And then I didn't work at all. It is needed to say I connected the arduino to pc and connected the bower supply to driver at the same time.
Not in every case. Stepper-Motordrivers like A4988 DRV8825 TMC228, TMC2209 etc. are current cotrolled drivers. This is imular to PWM pulse-witdh-modulation.
They measure the current and switch off the voltage In a pattern that keeps the resulting averaged current on the adjusted value.
This technique is used because coils have an inductance which slows down-rising in the moment of switching on. Higher voltage means faster current-rising but if the voltage is higher the voltage must be switched of when the current has reached the adjusted value.
Another thing that is very important about stepper-motordrivers
connect/disconnect motorwires only when powersupply is switched off.
Otherwise you create high voltage-peaks that will destroy the stepper-motor-driver.
Did you connect the logic-voltage input to a higher voltage than 5V?
Did you adjust the current by measuring the reference voltage ?
or
did you try to measure the current?
Measuring the current doesn't work because the current variates depending on microsteps and some other things. Adjsuting the current must be done by measuring the reference**-voltage**.
The A4988 limits the coil current, not the PSU ( if it's set accordingly).
Same as above, the A4988 limits the current. Low impedance of the coil is important for the A4988 to do its job.
Yes, Vcc of A4988 must be the same as the Vcc of the MCU - 5V in this case.
If the Arduino was powered with 12V via the jack, and Vin was connected to Vcc of A4988, then the driver will be burned.
While that is true, the design of these small stepper modules has a very poor thermal management, and the board can not really handle the full current limit the A4988 allows - depending on conditions. If you set the current limit too high the chip will likely overheat.
So I stand by my statement that the motor can draw more current than the stepper board can handle. And it is simply good practice to set the PSU to a current limit no higher than required. A short can develop for various reasons.
At the first time that stepper worked it was working difficulty and the rotation was not monotonous. Do you mean should I reduce the voltage of power supply or current? Witch one should I reduce?
I connected the driver to 12V 8A power supply and the arduino to pc at the same time. I used a step down voltage convertor and set the power supply voltage to 12V. I didn't measure the current.
and I didn't configure the driver. How should I configure it?
When I use L293 shield stepper motor works correctly but I can't use it because I need to controll 12 stepper motors. I want to use one a4988 driver for each stepper motor.
That is almost certainly overheating of the A4988 from the current setting being too high.
When setting the reference voltage (Vref), you must know the value of the reference resistor on your A4988 board.
Ah higher current settings, a heat sink is usually needed, as well as a cooling fan.
All the wires comming out of the motor look like they ar the same color.
So how did you know which wire is for which winding?
I suspect you had the motor wired wrong.
I didn't change the resistor. It was as default. Can the hight 8A currwnt of power supply cause overheating? And I used a heat sink too. cooling fan is suitable for long time use but It was overheated in just one minute.
I tested the wires and I know from left the wires 1 and 3 are coiles and 2 and 4 are another coils. I tested the stepper motor with L293 sheild and worked correctly.