A4988 Stepper driver only works when placing my finger near it?

Hello everyone,

For background, I am working on a DIY 3d scanner using FabscanPi's open source software and shield. Everything is hooked up and so far, everything appears to be working correctly except for one stepper driver anomaly I can't figure out.

The stepper driver is only working if I put my finger exactly in the spot shown in this clip:
Stepper driver anomaly - YouTube. The system is set to a debug mode where the stepper driver is commanded to continuously rotate the motor clockwise.

From what I have deduced from testing it (AKA moving my finger around the spot), it only seems to work when hovering near but NOT touching the MS1, MS2, and MS3 pins. When it is working, the stepper motor is very jerky and erratic. Does this indicate a signal interference issue? From what I understand, those pins are for controlling the step resolution. Is there something I'm supposed to be doing with these pins? The shield does provide jumping points for each pin, which can be seen here:

I thought by leaving these pins alone it should be defaulting to full step (1.8 deg / 200 steps/rev) anyway. I may be completely wrong about the relevance of these pins to my issue but I figured it is worth mentioning anyway.

I've already resoldered the female pins between the stepper driver module and the shield, switched out the stepper driver for 3 other ones, switched the stepper motor wiring around though the motor itself doesn't seem to be an issue, and even tried placing a small ghetto aluminum foil faraday cage around the stepper (ensuring no leads contact the foil) with no success. The driver logic power supply reads an acceptable 5.1V and the motor power supply at 12.1V.

The A4988 stepper driver I am using:
https://www.amazon.com/gp/product/B01GJJGRF2/ref=oh_aui_detailpage_o08_s02?ie=UTF8&psc=1

A full schematic of the shield that interfaces with the stepper driver can be found here:

If there is any more information I could provide to be more clear let me know. Any suggestions would be greatly appreciated!

Thanks

Have you tried that driver in one of the other 2 slots? Have you tried another driver in that slot? Have you checked the grounds between Arduino & shield, shield & driver? Does the driver have (or need) the proper pull up/down resistors?

My guess is you have a poor connection or a faulty stepper driver.

Rather than using a large finger try holding the tip of a small metal screwdriver close to the chip. It may allow you to pinpoint the problem more closely.

...R

outsider:
Have you tried that driver in one of the other 2 slots? Have you tried another driver in that slot? Have you checked the grounds between Arduino & shield, shield & driver? Does the driver have (or need) the proper pull up/down resistors?

I haven't tried the other slots because they are not yet configured, but I did try all 5 of the drivers in the pack on the same slot as in the original post. This set up actually uses a raspberry pi for network connectivity but the shield takes a 12V input and has a 5V regulator that powers both the pi and the logic pins on the stepper so they have a common ground.

I looked into the resistors and I think you're onto something; these cheap amazon drivers do NOT have pull-down resistors for the microstep pins, so I'm guessing they will be left floating if not otherwise grounded. I'm not familiar at all with microstepping, but can I just solder bridge the 3 solder jumper points to ground the microstep pins, like so?

EDIT: I've just tried the above jumping the pins to ground and it didn't fix the issue :frowning:

Robin2:
My guess is you have a poor connection or a faulty stepper driver.

Rather than using a large finger try holding the tip of a small metal screwdriver close to the chip. It may allow you to pinpoint the problem more closely.

...R

I actually did try using a small metal screwdriver near the pins and it did not seem to do anything. I will have to mess around with that some more.

EDIT: I got it to work correctly. I found this thread on Pololu's forum (https://forum.pololu.com/t/can-t-get-a4988-stepper-motor-driver-to-work-using-arduino/5894/2) regarding their A4988 stepstick and it seems the solution was to simply connect the reset and sleep pins because the reset pin needed to be set to a HIGH state to reset the state of the driver. I didn't consider this would be an issue since I assumed that the shield already had the pin connected but looking at the schematic, it is not connected.