Building A Robot: Motor Control

Current Part:

PIC 18F252 Microcontroller
SN754410 Motor Controller
PICkit Programmer
7x 10kΩ Resistors
2x 2N2222 Transistors
2x 10 uF Capacitor
2x 100 uF Capacitor
40 MHz Crystal
Jumper Wire
10mm Green LED
10mm Yellow LED
10mm Red LED
Robotics Chassis (Part 1)

Parts List Details
           All the parts used in this part of Building A Robot are listed above and you can see a more detailed description of the main parts below, in case you've never heard of them before or you're not sure what their 'role' is in the circuit we're going to create.

PIC 18F252
           This is a microcontroller which is basically a CPU + Program Memory. That means we can load a program onto it, and just like a computer it will run the program's instructions. We'll be using this 28 pin PIC to tell the motor controller what to do and to control some output LEDs.

PICkit Programmer
           Every microcontroller requires a programmer in order for you to load your compiled program onto it. The PICKit is solid programmer, version 2 and version 3 are both excellent choices.

SN754410 Motor Control IC
           The motor controller that we'll be using is the SN754410NE. It's a 'Quadruple Half H-bridge'. What this means is that it can control two DC motors, or one Stepper motor. This is a cheap and reliable IC that fits nicely onto the breadboard we're using.

40 MHz Crystal
           The microcontroller that we're using doesn't have an internal oscillator, so we'll add a simple two pin crystal that has 40 MHz. The PIC actually requires 4 crystal periods for every instruction execution, so the real 'clock speed' for our microcontroller will be 10 MHz.

2N2222 Transistors
           Two of these generic transistors will be used to assist the PIC in sending the proper signals to the motor controller. The motor controller requires differential PWM input and these transistors will be used to create that second (differential) input for each motor.

Jumper Wires & LEDs
           Since we're using a basic tiny breadboard we will use all jumper wire to connect the parts together. This offers us maximum flexibility while not taking away too much efficiency. A few 'debug' LEDs will be added to help us see what 'state' the robotics platform is in while it is driving.