Previously we have driven servo and DC motor using an Arduino motor shield. It is easy to interface with these motors and write the code. This time we get to the stepper motor control and discover the full potential of the motor shield. Stepper motors are more complex devices than servos or DC and require some knowledge before running them. You cannot expect to plug some voltage and see it spinning. Their primary purpose is precise stepping that gives control of how much the motor is turning. You can find a stepper motor in any printer which feeds paper incrementally – and this is where you can get one. Disk drives are another great source to scavenge. We will not get into stepper motor working theory. Do your research before trying to run one.
This is a continuation of the previous post where we have tried to run a servo using an Arduino motor shield. This was a simple task to do with the Arduino Servo library. Today we will push things a bit forward and drive the DC motor using the same motor shield. This motor shield can run small DC motors that require less than 0.6A of current and operating voltage is less than 25V. In my drawer, I found a small 12V motor that will fit this demo. Before we begin programming, we need to connect the motor to the Board. We are going to use the M1 connector.: Since the motor requires a 12V power supply, we are going to use an external power supply. It can be connected to the External power screw terminal. Be sure to remove the jumper as well.
Recently I’ve got an Arduino motor shield. It is based on ladyada first mshield circuit. It uses two famous L293D quadruple half-H divers. It is a cheap and reliable shield to drive various motors. These can be two hobby servo motors, four bidirectional DC motors, or 2 (unipolar or bipolar) stepper motors. The load current is limited to L293D chips. The specification says that each channel can provide a constant 0.6A and peak 1.2A. There is also a thermal shutdown to prevent the circuit from damaging. Motors can be externally powered using a voltage range from 4.5V to 36V. Each motor control channel is pulled down with a resistor to disable any motor at power-up. In this post, we are going to try servo motor control. There are a couple of connectors on the motor shield where you can connect two servo motors using a standard 3 wire connector (GND, VCC, and PWM).