The line following robot, operates as the name specifies. It is programmed to follow a dark line on a white background and detect turns or deviations and modify the motors appropriately. The optical sensor is an array of commercially available IR reflective type sensors.
The core of the robot is the PIC 16F873 microcontroller. The speed control of the motors is achieved by the two PWM modules in the μC. The direction control is provided by 2 I/O pins. The H-Bridge motor driving/control chip takes these signals and translates it into current direction entering the motor armature. The motors require separate supply for operation.
The differential steering system is used to turn the robot. In this system, each back wheel has a dedicated motor while the front wheels are free to rotate. To move in a straight line, both the motors are given the same voltage (same polarity). To manage a turn of different sharpness, the motor on the side of the turn required is given lesser voltage. To take a sharp turn, its polarity is reversed.
The sensor is an array of 7 IR LED-Phototransistor pairs arranged in the form of an inverted V. The output of each sensor is fed into an analog comparator with the threshold voltage (used to calibrate the intensity level difference of the line with respect to the surface). These 7 signals (from each photo-reflective sensor) is given to a priority encoder, the output of which to the microcontroller.
The control has 6 modes of operation, turn left/right, move left/right, and drift left/right. The actual action is caused by controlling the direction/speed of the two motors (the two back wheels), thus causing a turn. The actual implementation is a behavior based (neural) control with the sensors providing the inputs. The robot can also be programmed to find the line by pseudo-random movement in case no line is detected by the optical sensor.