Sleeping an A4988 from an Arduino

I’m using several of the A4988s to control some stepper motors. So far, I’ve been tying the SLP pin to ground, to have the A4988 enabled all the time. Now I’d like to support a low power mode, where the A4988 is disabled when not in use. Would it work to connect it to a digital pin on an Arduino, and set it high when I wanted to enable the board? Would it be a problem that the pin was floating when the Arduino first booted up?

And while I’m on the topic of disabling the A4988 - is there any difference between setting SLP high vs setting EN low - to disable the board?

Your best source of information about chip pin function is the data sheet: pololu.com/file/download/A4 … e_id=0J450

In general, input pins should not be left floating. If an input pin status is to be changed during operation, tie it high or low as appropriate with a reasonably large resistor, say 50K-100K, which can easily be overridden by a digital output. On some devices, input pins are already pulled up or down internally – again see the data sheet.

Yes, I already looked at the data sheet but am still uncertain about what to do. Hence my question here…

What does the data sheet say that you do not understand?
This seems very clear to me:

I saw that. Just looking for someone who has dealt with “sleeping” the A4988 from an Arduino. And the difference between using EN and SLP is not clear to me.

Here is what the data sheet says about Enable. Compare with the above quote for Sleep. Again, what are you having trouble understanding?

Hmm. Both disable the FETs. Enable doesn’t disable STEP, DIR, MSx. SLEEP does disable the current regulator and charge pump. It doesn’t say what EN does to the current regulator and charge pump, nor what SLEEP does to STEP, DIR, MSx. I would expect that SLEEP disables more than EN. Still not sure why they have both, but I’m also not sure it matters in my application. To conserve power, I’ll probably use SLEEP.

Thanks for your help.

I’m having another issue with these controllers, I might start another thread for that.

Thanks again.

-Dave

Hi I’ve just registered here after purchasing 5 A4988 boards and your post just confirmed that the board as is cannot be used to driver 2 or more motors using the same control lines. I am currently using the UCN5804 driver chip which I believe is the predecessor to the A4988 chips and it suffered from the same lack of shutdown features. I ran 2 motors fine (with the UCN5804) but the internal logic when the !EO line was high continued to respond to the STEP input so that when changing to the other motor its internal logic had also moved on so that the motor stuttered for a few steps upon starting as the stepper position was not in sink with the steps sequence of the logic. I had to add a 74hc125 quad buffer gate to the dir,stp and dir lines and connect the 74125’s !OE with the UCN5804’s !OE to create a driver that once the OE line goes low, the connections to the control line of the chip are isolated.