Assembling the ArduinoTM Freeduino Motor Shield
SCHEMATICS (click on images to enlarge)
The Freeduino Arduino Motor Shield is the original Motor Shield V1.1 designed by David Cuartielles of the Arduino Team. This product is not certified nor endorsed by David or the Arduino Team.
The new version of the KIT features a white PCB. The capacitor placements were slightly changed to avoid touching the USB connector. The board has 2 parts, the motor driver and the encoder. The KIT only includes the components to assemble the motor driver. In the new PCB, the components for the motor driver are marked with a *. You only need to solder the components market with * to have the fully functional motor shield. The encoder components soldering is optional.
First, unpack the kit
and start with the PCB. The PCB has some extra space for an encoder. It is optional to assemble the encoder section. The kit only includes the components to assemble the motor control section of the PCB.
Let’s start with the IC sockets using the following parts:
IC Socket 1 | 14-pin IC socket |
IC Socket 2 | 16-pin IC socket |
Then, we can solder the resistors and the LED.
PWR | 3mm LED |
R7 | 1K resistor |
R3, R4, R5, R6 | 100K or 68K resistors |
The LED has two legs, one longer than the other. The longer leg is called ANODE (+) and the shorter is CATHODE (-). The LED goes in the PWR LED space. Insert the long leg into the left hole.
Then solder the 1K R7 resistor, and the four 100K (or 68K) R3 to R6 resistors.
We continue with the capacitors:
C4, C9 | 100uF electrolytic capacitor |
C10, C11, C12, C13 | 100nF ceramic capacitor |
This is the board with all the components installed, before we solder the sockets.
NOTE: The C9 capacitor was installed backwards in the picture. Follow the marking on the PCB, which is positive down, negative up.
NOTE 2: In the new version of the PCB (white), the picture shows the capacitor C9 correctly soldered.
Solder the rest of the components: male sockets to plug the shield to the Freeduino / Arduino board, and the 4-pin female socket to plug the motors. The 4-pin female socket was replaced by male pin header.
The motor shield, completely assembled and ready to use.
You can connect two DC motors. One goes on the first 2 socket holes (MOTOR B), from the top. The new version (white) includes male headers for the motors.
The second motor (MOTOR A)goes on the 2 bottom socket holes.
A simple Arduino code to test the shield:
// Motor Shield test
// by NKC Electronics
// Test Motor B
int dirbpin = 12; // Direction pin for motor B is Digital 12
int speedbpin = 9; // Speed pin for motor B is Digital 9 (PWM)
int speed = 200;
int dir = 0;
void setup()
{
pinMode(dirbpin, OUTPUT);
}
void loop()
{
digitalWrite(dirbpin, dir); // set direction
analogWrite(speedbpin, speed); // set speed (PWM)
dir = ((dir == 0) ? 1 : 0); // change direction
delay(10000); // 10 seconds
}
Motors can be any DC motor that can work up to the Vin voltage. Vin is the power supply voltage – 0.6V. If you are using a 12V transformer, then Vin is 11.4V. You can use a 12V motor. If you are using a 9V transformer, then Vin is 8.4V and you can use a DC motor rated at 9V.
The motor driver can support 3.6V to 36V motors (1A). But the shield is designed to take Vin from the Arduino / Freeduino power supply, before the 5V voltage regulator. You cannot supply Arduino / Freeduino with 36V without burning the voltage regulator.
If you need to use a motor rated < 7V or > 14V, you will need to modify the shield. Do not install the Vin pin header to the Arduino / Freeduino board (or install the Vin and GND pins upwards, to plug a connector from where you can supply this shield with a different voltage range than the Arduino / Freeduino board)… and install a socket and supply Vin in the Shield from a different regulated DC power source, using the same GND connection.http://www.nkcelectronics.com/arduino.html