I have two A4988 drivers connected to one Arduino Nano. They drive motors that were purchased on eBay and similar to those shown in the picture; coil current rating unknown, coil resistance measured at 48 ohms. They are used on a scale model boat to rotate radar scanners, so essentially unloaded.
They are set up in pairs, so driver A (connected to motor through Orange plug) powers the small scanner, driver B (Blue plug) the larger one. Both motors worked fine on the breadboard setup. where the measured motor current into each driver was ~20mA. They worked initially when hard wired, but subsequently not so well.
Currently, both scanners work OK when each one is powered from driver A. Neither will work when powered from driver B. After first seeing this, I replaced driver B with a new A4988, but no change.
When powered by driver A one coil of each motor’s current was measured to peak at 8mA.
I have tried adjusting the current limit on driver B; the current is steady, and the minimum I can achieve on either coil is 20mA. I have tried adjusting it up to about 100mA, but the motor does not run and just gets hot. If I push gently on the scanner it will jump to the next position but stop there.
The testing has been done using alkaline batteries so a voltage of 7.5.
Attached are pictures showing the motors, hardware setup, the stripboard wiring layout, the wiring diagram, and the relevant parts of the Arduino sketch. The wiring diagram omits an Arduino used for the propulsion of the model, but it is shown on the other pictures.
Any advice on what might be preventing the one motor from running will be greatly appreciated.
The minimum voltage for those stepper drivers is 8V and we do not expect them to work reliably below that. Also, the RESET and SLEEP pins need to be connected to each other on both boards. In your connection diagram, it appears you are only doing that on the upper board by the orange plug.
Thanks for your thoughts.
You have spotted a mistake in the stripboard wiring layout , but only that. The wiring diagram is correct, and the RESET and SLEEP pins are, in fact, connected on both drivers.
I added an extra cell to boost the test voltage to 9V. Still no movement from the motor connected through the driver and blue plug. The motor is live, just holding its position.
If your drivers are socketed, you might switch them around to see if the problem stays with the driver or the position. Also, you might swap the step pins at your microcontroller or slow the step rate down and measure the voltages on the step pins with a multimeter to see if they are changing voltage as you expect.
I slowed the step rate down to 1 second and was able to confirm that the voltage on the step pins is changing as expected. This presumably points to a fault in the driver?
I cannot swop the drivers easily as they are soldered into the stripboard. The sockets are a great idea and I’ll be doing that on my next project.
You might use a multimeter to verify that the SLEEP and RESET pins at the driver board are at 5V, that the enable pin is at 0V and that the DIR pin is stable at 0V or 5V. It is a little strange that the driver is holding position OK, but that it is not responding to STEP signals (and that you have had two drivers do the same thing). You might also check the voltage between the VIN and GND pins at the board to make sure the supply voltage connections are OK.
Also, I recommend checking the connections between the driver and the motor coils carefully. If only one coil gets power, then the motor can still produce heat, but it will not move.
Thanks for your continuing support with this.
Both SLEEP and RESET pins are 5V.
The ENABLE pin is 0V.
VMOT is 8.6V.
VDD is 5V.
I set up a test cable so that I could connect a multimeter in each coil circuit. On testing the first coil, the motor started operating. I removed the test cable and inserted the device cable and it continues to operate.
I made no changes to the hardware, so this is very puzzling to me.
I will continue to operate it several times and see what happens.
That makes it sound even more like the connections for one of your motor coils is intermittent. You might look for bad solder joints or bent connection pins. Wires can also break internally, especially at places where they are flexed frequently or kinked.
I agree with you. I checked over all the soldered joints using a jeweller’s loupe both to check they were good and to make sure no solder had bridged the copper strips. So I think the most likely problem area is the plug/socket contacts.
For the moment the motor’s working reliably and I’m reluctant to mess with anything.