DVD Drive Stepper motor with A4988 isn't working as expected

I’m trying to get this dvd drive stepper motor working with my esp32 and the a4988 driver
thing is, it’s not working as expected.
i lowered the Vref to 0.25 V approximately for it’s a very small motor and even that made it heat up very quickly, i found around 0.15 V was okay.
even when it was heating up, the motor constantly buzzed around and the movement was stuttering a lot, so i lowered the steps to 3 and now i notice it skips a few steps sometimes it stutters and sometimes it goes in a direction.
idk what the fix could be and I’m wondering if the motor just won’t work now.
I’m using a 12v 3a power supply with a 470uF capacitor.

i tried with another stepper, and the results were the same only this time the movement was collectively only in one direction, i used the accelstepper library the second time around on someone’s suggestion, i even tried setting the delay to 1 millisecond as someone’s motor on this forum worked with those values but mine refuses to work properly.
the schematic:


and now i need help understanding what other things could i try to make this work.

Hello.

Before trying anything else, I suggest making sure all of your connections are secure, particularly the ones from the stepper motor to the driver. I cannot really tell what is going on with those connections in your video, but it looks like you might just have male jumper wires soldered to one part of the motor and the other motor wires are being connected by twisting the ends together with electrical tape. You should try to make those connections as direct as you can and avoiding insecure connections like twisting wires together.

Also, the behavior you described sounds similar to the behavior you can get if you cross the motor coil connections. So, if you have not done so already, I recommend double checking that the wires going to the 1A and 1B pins belong to the same coil and the wires going to the 2A and 2B pins belong to the other coil. You can do this by disconnecting the stepper motor from the board and measuring the resistance between the leads (if you can measure a resistance, they belong to the same coil).

As far as the logic signals, I recommend leaving the nENABLE pin disconnected for now (it is pulled low to activate the board by default), driving the DIR pin low, and sending steps to the STEP signal at a frequency of around 2-5 Hz (which is pretty slow but should be noticeable). You should be able to do this with a very simple program like the one shown in our “Setting the Current Limit on Pololu Stepper Motor Driver Carriers” blog post, which is better for testing than using a fully featured library like accelstepper (since it can be easy to send the wrong signals or not understand what the library is doing if you aren’t familiar with it).

By the way, the nSLEEP pin on our A4988 carrier is pulled high by default, so you do not need to drive it high. In general, I recommend shorting it to the neighboring nRESET pin and just powering VDD with 3.3V in your setup.

If you still have problems after doing that, please post updated pictures that show all of your connections, including some close-up pictures of both sides of your A4988 driver board.

Brandon

1 Like

thank you so much for the reply, i will get on with the connections in the morning as i dont have access to a soldering iron and for the coils, i have tried every combination, nonetheless I’ll borrow a multimeter to get further in my cause. I’ll try all of these things and post an update.

this time it didn’t move at all, i left the enable pins as is shorted the sleep and reset
used the code u provided (changed the pin numbers) made the connections better
but it just doesn’t move

i managed to make it work turns out i had the coils wrong and the soldering was way off… i resoldered everything and that was a fix
thank you so much for this.

I am glad to hear you were able to get it working! Thank you for letting us know what the problem was.

Good luck on your project!

Brandon