Designing a simple and yet functional Line Follower Robot (LFR) is always a fascinating and challenging subject to be learned, the LFR actually could be implemented in many ways start from a simple two transistors to a sophisticated PID (Proportional, Integrate and Differential) which take advantage of the programmable feature of microcontroller to calculate the PID equation to successfully navigate the black track line on a white background surface.
Designing a non microcontroller based LFR is quite challenging tasks as we need to limit the electronic components numbers so the LFR will not too complicated to be built by most average robotics beginners or electronic hobbyists, but at the same time we need to have a good speed control mechanism in order for the LFR to navigate the black track line successfully. The microcontroller based design LFR in the other hand is a popular choice because it reduces a number of electronic components significantly while still providing a flexible programmable control to the LFR.
The Line Follower Robot
The easy method to navigate the black track line is to turn
ON and OFF the left or the right DC motor according to the sensor reading
(black turn OFF and white turn ON), but using this method will make the LFR to
move in zigzag way. By proportionally control both left and right DC motor
speed according to the light intensity level received by the photocell sensor
(reflected back by the black track line) we could make the LFR easily navigate
this track. The common technique to control the motor speed efficiently is to
use a pulse signal known as the pulse width modulation or PWM for short.
Therefore by changing the PWM duty cycles we could change the average voltage across the DC motor terminals, this mean we could vary the DC motor speed just by changing the PWM duty cycle. Therefore to make the LFR smoothly navigate the black track line, we have to adjust the PWM duty cycle according to the photocell sensor reading. The brighter light intensity level received by sensor (sensor is on the white surface) will result in higher PWM duty cycle percentage and the darker light intensity level (sensor is on the black line) received by photocell sensor will result in lower PWM duty cycle percentage.
Actually generating the PWM signal is easier with microcontroller instead of discrete components because all you have to do is to program the microcontroller PWM peripheral to do the task. On this tutorial we will learn of how to build this LFR with Voltage Control PWM using the same working principal found in many today’s modern microcontroller but using just the analog electronic components.
Now let list down the necessary electronic and other supported components to build this awesome LFR:
1. Resistors: 220 (2), 1K (2), 15K (1), 33K (1), 47K (2), and 100K (1)
2. Trimpots: 100K (2)
3. Two Light Dependent Resistor (dark above 100KOhm and below 5KOhm on bright light intensity)
4. Capacitors: 47uF/16v (1) and 0.1uF (5)
5. Diodes: 1N4148 (2)
6. High Intensity 3 mm blue Light Emitting Diode (2)
7. Optional 5 mm auto flash RGB LED with 330 Ohm resistor for the power indicator
8. Transistors: BC639 (2)
9. IC: National Semiconductor LM324 Quad Operational Amplifier (1)
10. DC Motor: Solarbotics GM2 Geared DC motor with Wheel (2)
11. Prototype Board: 52 x 38 mm for main board and 50 x 15 mm for sensors
12. 3xAA Battery holder
13. CD/DVD ROM (2)
14. Plastic Beads and Paper Clip for the castor (the third wheel)
15. Bolt, Nuts, Double Tape and Standard Electrical Tape for the black line
The complete Line Follower Robot electronics schematic is shown on this following picture:
The main brain of this Line Follower Robot is lay behind the LM324 quad operational amplifier from National Semiconductor. The dual in line LM324 packages contains four identical op-amps and is specially designed to operate as an analog device.
The voltage control PWM could be generated by first using
the triangle signal generator which provide the basic PWM pulse frequency and
the necessary ramp voltage (rise and down) to produce the PWM signal. Next by
continuously comparing this ramp voltage according to the voltage level
produced by the photocell sensor using the comparator circuit we could produced
the exact voltage control PWM as shown on this following picture.
The voltage control PWM could be generated by first using
the triangle signal generator which provide the basic PWM pulse frequency and
the necessary ramp voltage (rise and down) to produce the PWM signal. Next by
continuously comparing this ramp voltage according to the voltage level
produced by the photocell sensor using the comparator circuit we could produced
the exact voltage control PWM as shown on this following picture.
The ramp signal is provided by the two op-amps (U1A and U1B)
that generate the triangle wave signal while the comparator for producing the
PWM to each DC motor is provided by the other two op-amps (U1C and U1D) that
receipt its input from the voltage divider circuit (VR and LDR) which provide the
voltage threshold point and together with the triangle wave to produce the
required PWM pulse
The PWM principal explained above is also used in many
today’s modern microcontrollers PWM peripheral; but instead of processing the
analog signal it process the digital signal. The ramp signal is replaced by the
digital counter (TIMER peripheral) that will count up from 0 to 255 and start
from 0 again, while the threshold point voltage is provided by threshold point
register that hold the digital value (e.g. 100).
Microcontroller uses the digital comparator to compare these two digital
values, when the digital counter counting up and reach the threshold point
(i.e. 100) then the PWM peripheral will turn on to the output port and when it
reach the maximum value (i.e. 255) it will turn off to the output port.
Therefore by changing the threshold point register value we could change the
PWM duty cycle output. You could read more about microcontroller based PWM on H-Bridge
Microchip PIC Microcontroller PWM Motor Controller and Introduction
to AVR Microcontroller Pulse Width Modulation (PWM) articles on this blog.When designing the electronic circuit is a good habit to prototype it first, the prototype circuit enables us to fine tune the electronics design and give us the picture (signal wave) of how the circuit really works. The following picture is the Line Follower Robot circuit prototype on a breadboard complete with sensor (LED and LDR pairs) and the GM2 geared DC motor from Solarbotics.
The Triangle Wave Generator Circuit
Now as you understand the principal of how the Line Follower Circuit works than let’s take a look at the triangle wave generator circuit. In order to make it easy to understand I redraw the electronic schematic circuit separately as shown on this following picture:
When the power up we assume the U1A output is HIGH (Vcc); the C2 capacitor will start to charge through the R5 resistor. Because the R5 and C2 is connected to the U1B inverting input (V-), therefore the U1B output will start to ramp down. The U1A non inverting input (V+) get the positive feedback from R3 and R4, when the U1B output voltage reach the threshold voltage below Vref than it will turn the U1A output to LOW (0). This bottom threshold voltage could be calculated as follow:
Vth = (R4 (Vout-u1a – Vout-u1b) / (R4 + R3)) + Vou-u1b; Vout-u1a = Vcc; Vcc = 4.5 Volt
Vth <= Vref, Vref = 0.4 Vcc
(R4 (Vcc – Vout-u1b) / (R4 + R3)) + Vout-u1b <= 0.4 Vcc
Now putting all the resistors value then we will get this following result:
(47 (Vcc – Vout-u1b)/ 147) + Vout-u1b <= 0.4 Vcc
1.4 – 0.3 Vout-u1b + Vout-u1b <= 1.8
Vout-u1b <= 0.6 Volt
Therefore the U1B output will ramp down to about 0.6 volt than the U1A output will turn OFF. Next the C2 capacitor will discharge through R5 and the UA1B output will start to ramp up and it start to increase the voltage across the R4 (Vth – threshold voltage) until the Vth voltage above the Vref voltage then the U1A output will turn to HIGH and the whole cycle will repeat again. This upper threshold voltage could be calculated as follow:
Vth = (R4 (Vout-u1a – Vout-u1b) / (R4 + R3)) + Vou-u1b; Vout-u1a = 0; Vcc = 4.5 Volt
Vth >= Vref; Vref = 0.4 Vcc
(R4 (- Vout-u1b) / (R4 + R3)) + Vout-u1b >= 0.4 Vcc
Now putting all the resistors value then we will get this following result:
(47 (- Vout-u1b)/ 147) + Vout-u1b >= 0.4 Vcc
- 0.3 Vout-u1b + Vout-u1b >= 1.8
Vout-u1b >= 2.6 Volt
Therefore the triangle voltage will ramp up from 0.6 volt to 2.6 volt then ramp down to 0.6 volt repeatedly. The frequency of the triangle wave could be calculated as follow:
Frequency = (1 / (4 x R5 x C2)) x (R3/R4) Hertz
Now putting all the resistors and capacitor value then we will get this following result:
Frequency = (1 / (4 x 15,000 x 0.0000001)) x (100,000/47,000) = 354.61 Hz
As you might guess the actual frequency measured on this Line Follower Robot prototype circuit above is about 292 Hz, this is due to the electronic components tolerance value (resistors and capacitors). Therefore if you want to have the exact frequency you could put a 100K trimport in series with R5 resistors. The voltage divider R1 and R2 provide the voltage reference (DC bias voltage) to both U1A and U1B op-amps.
The Sensor Circuit
As mention above this Line Follower Robot take advantage of the photo-resistor (CdS) known as Light Dependent Resistor (LDR). The LDR will decreases its resistance in the presence of light and increase its resistance in the dark. The region under the LDR is illuminate with a high intensity blue LED, the white surface will reflect most of the light to the LDR surface while the black track line will absorb most of the light, therefore less light will reflect to the LDR surface.
As the robot move on the black track line the LDR will
continuously capture the reflected light and convert this light intensity into
the corresponding voltage and feeding it to the inverting input (V-)
of U1C (left sensor) and U1D (right sensor).
You could simply exchange the comparator V+ and V- input source to make the Line Follower Robot detect the white line on the black surface instead of normal black line on the white surface. By using two DPDT (Double Pole Double Throw) switches you could achieve this behavior as shown on this following picture:
The Line Follower Robot Construction
The Line Follower Robot construction could be constructed freely but the easiest one is to use the discarded CD/DVD ROM as shown on this following pictures:
I glue the two CDROM together in order to make more room and
attached the two DC motors, 3xAA battery holder, main board and sensor board
using the double tape. The sensor sensitivities and the Line Follower Robot
speed could be controlled by adjusting the 100K trimport. After putting all the
parts together now is time to watch how this nice Line Follower Robot in
action:
As you’ve seen from the demo video above this Line Follower Robot design is capable to handle and smoothly navigate a quite complex black track line. This prove that a good analog Line Follower Robot design sometimes could outperform many microcontrollers based Line Follower Robot.
Building the Line Follower Robot (LFR) is one of my favorite projects as I enjoy designing and making this kind of robot, it also gives much joy and fun to my kids as well. I hope this project will give you as much joy as I did; building, watching, and playing with this analog Line Follower Robot.
No comments:
Post a Comment