Easydriver - turning the motor completely off?

Hi all, I’m evaluating the Easydriver board a project dancing in my mind since long time.

Here the question:

by using Easydriver it is possible to completely de-energize the coil windings, so the stepper axis can be freely rotated by hand?

In my project I want to let the user be able to rotate the axis forward/backward of some (fixed) degrees by using two buttons. At the same time, it should be possible to completely “turn-off” the motor by using a third button, so the user can rotate the axis with minimal or zero force applied.

In my mind, de-energizing the windings should remove any detention torque.

By a quick review of the sample code, I assume that I have basically the following commands:

  1. a command to energize/de-energize a winding

  2. a command to set the direction

Are these enough to accomplish my task? Maybe both coils could stay in an energized state only when I enable/use the “micro-stepping” pin?

Thanks for any clarification.

Well, the simple answer is yes. When the motors are stopped there should not be voltage across these wires, but because of induction they can hold a small amount of energy. You could add a resistor in parallel with these wires to allow the energy to go somewhere after shutting off.

But the bigger issue is that when they are hand turned you’re making them into a generator so you’ll want to account for that. I would suggest reading the datasheet for the main IC to ensure if you can safely place a diodes on these lines to protect against this generator current without affecting the main operation of the module.

Check the [hookup guide for information on the enable pin.](EasyDriver - Stepper Motor Driver - ROB-12779 - SparkFun Electronics)

TS-Chris:
Check the [hookup guide for information on the enable pin.
[/quote]
Do you think that if I execute the command digitalWrite(EN, LOW) it will de-energize the windings? I cannot find any detailed info about that. The description says that the driver will just stop working…

To be sure that both coils are de-energized, I was thinking to something like this sequence of commands:

#define stp 2

#define dir 3
#define MS1 4
#define MS2 5
#define EN 6
.
.
.
// disable micro-stepping
digitalWrite(MS1, LOW);
digitalWrite(MS2, LOW);

// de-energize coil 1
digitalWrite(dir, LOW);
digitalWrite(stp,LOW);

// de-energize coil 2
digitalWrite(dir, HIH);
digitalWrite(stp,LOW);




What above could work? Coils should be de-energized for sure, or not? :?](https://www.sparkfun.com/products/12779)

KansasBot:
But the bigger issue is that when they are hand turned you’re making them into a generator so you’ll want to account for that.

Uh! Damn good point!

I completely forgot about that. I have to investigate about this issue.

In my project the axis will be rotated at slow speed, maybe for one or two turns. But it can the same generate electricity and some kind of resistance force… :?

From the guide:

ENABLE -Logic Input. Enables the FET functionality within the motor driver. If set to HIGH, the FETs will be disabled, and the IC will not drive the motor. If set to LOW, all FETs will be enabled, allowing motor control.

The ENABLE pin is set low by default with a pull down resistor and you can either set it low or not connect EN at all to enable the motor. If you drive the ENABLE pin high, then you disable current to the motor and allow it to freewheel. It’s a bit backwards from what it would logically be but HIGH = OFF, LOW = ON. :slight_smile:

Thanks for the clarification.

So the EN pin is what I was looking for. My convoluted code is not necessary. :smiley: