Arduino stepper motor without a motordriver

Hi,

This is my first question to the forum. I was interested to see if a stepper motor controlled by a microcontroller could be a way to control a turnout (model railway). So based on the article "Arduino and Stepper Motor Configuration" I started to see if I could get my micro planetary stepper motor to move(Mini Micro Planetary Gear Stepper Motor Screw Slider Nut DC 5V 2-phase 4-wire from ebay). This is very small stepper motor( 5mm diameter and length about 30mm). Since this is a bipolar motor a required piece of hardware was a SN754410ne H-Bridge.
Not having the item at hand I thought maybe it could work without it. So I just connected the four wires to respective pins 8, 9, 10 and 11 to my Arduino UNO and worked!
So what's the problem.
Now afterwards I cannot understand how i could work. Since the two coils pairwise are connected to pins 8,9 and 10,11 how can current flow between 8 to 9 and 10 to 11. All pins are set to OUTPUT. As you probably have understand by now, I am a complete newbee to electronic.
But an explanation would be appreciated.

Regards
Anders Bergman

You can think of an output pin as having a switch connected to 5V and 0V. If pin 8 is outputting 5V and pin 9 is "outputting" 0V, then current will flow from pin 8 to pin 9.

So strictly speaking current is flowing into an "output" pin, but from a electronic logic point of view, the pin is outputting a logical "0". Anywhere in a digital logic circuit, a logic level "0" is equivalent to a connection to 0V.

Note that although your motor might "appear to work" when unloaded, it is very probably stressing the output pins and getting much less current than it needs for normal operation.

You could destroy your Arduino. Always remember that the Arduino is not a power source. Only components with very low power requirements, such as a simple LED, can be connected directly to the outputs.

When the motors coils are de-energised, or the current is reversed, this generates voltage and current spikes which could damage the Arduino. Real driver circuits for motors of all kinds contain flyback diodes, usually in a bridge configuration, which protect the rest of the circuit from these spikes.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.