What is this product based on? The Arduino Motor Shield is based on the L298 (datasheet), which is a dual full-bridge driver designed to drive inductive loads such as relays, solenoids, DC and stepping motors. This means that with your Arduino board, you can drive two DC motors, each one of them can be controlled in its speed as well as its direction independently, another cool thing about it is that it lets you measure the motor’s current absorption, and still there are many other features.
|Operating Voltage||5V to 12V|
|Motor controller||L298P, Drives 2 DC motors or 1 stepper motor|
|Max current||2A per channel or 4A max (with external power supply)|
|Free running stop and brake function|
Schematic & Reference Design
EAGLE files: arduino_MotorShield_Rev3-reference-design.zip
The Arduino Motor Shield must be powered only by an external power supply. Because the L298 IC mounted on the shield has two separate power connections, one for the logic and one for the motor supply driver. The required motor current often exceeds the maximum USB current rating.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the Arduino's board power jack on which the motor shield is mounted or by connecting the wires that lead the power supply to the Vin and GND screw terminals, taking care to respect the polarities.
To avoid possible damage to the Arduino board on which the shield is mounted, we reccomend using an external power supply that provides a voltage between 7 and 12V. If your motor require more than 9V we recommend that you separate the power lines of the shield and the Arduino board on which the shield is mounted. This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield. The absolute limit for the Vin at the screw terminals is 18V.
The power pins are as follows:
- Vin on the screw terminal block, is the input voltage to the motor connected to the shield. An external power supply connected to this pin also provide power to the Arduino board on which is mounted. By cutting the "Vin Connect" jumper you make this a dedicated power line for the motor.
- GND Ground on the screw terminal block.
The shield can supply 2 amperes per channel, for a total of 4 amperes maximum.
Input and Output
This shield has two separate channels, called A and B, that each use 4 of the Arduino pins to drive or sense the motor. In total there are 8 pins in use on this shield. You can use each channel separately to drive two DC motors or combine them to drive one bipolar stepper motor.
The shield's pins, divided by channel are shown in the table below:
|Function||pins per Ch. A||pins per Ch. B|
Arduino Motor Shield Rev3