Download

Download

Featured Posts

line follower robot MINI PROJECTS

10:11 PM - By Admin 0

  • What is a line follower?

Line follower is a machine that can follow a path. The path can be visible like a black
line on a white surface (or vice-versa) or it can be invisible like a magnetic field.
Why build a line follower?
Sensing a line and maneuvering the robot to stay on course, while constantly correcting
wrong moves using feedback mechanism forms a simple yet effective closed loop
system. As a programmer you get an opportunity to ‘teach’ the robot how to follow the
line thus giving it a human-like property of responding to stimuli.
Practical applications of a line follower : Automated cars running on roads with
embedded magnets; guidance system for industrial robots moving on shop floor etc.
Prerequisites:
Knowledge of basic digital and analog electronics.
(A course on Digital Design and Electronic Devices & Circuits would be helpful)
C Programming
Sheer interest, an innovative brain and perseverance!
Background:
I started with building a parallel port based robot which could be controlled
manually by a keyboard. On the robot side was an arrangement of relays connected to
parallel port pins via opto-couplers.
The next version was a true computer controlled line follower. It had sensors
connected to the status pins of the parallel port. A program running on the computer
polled the status register of the parallel port hundreds of times every second and sent
control signals accordingly through the data pins.
The drawbacks of using a personal computer were soon clear –
It’s difficult to control speed of motors
As cable length increases signal strength decreases and latency increases.
A long multi core cable for parallel data transfer is expensive.
The robot is not portable if you use a desktop PC.
The obvious next step was to build an onboard control circuit; the options – a
hardwired logic circuit or a uC. Since I had no knowledge of uC at that time, I
implemented a hardwired logic circuit using multiplexers. It basically mapped input from
four sensors to four outputs for the motor driver according to a truth table. Though it
worked fine, it could show no intelligence – like coming back on line after losing it, or
doing something special when say the line ended. To get around this problem and add
some cool features, using a microcontroller was the best option.


  • The AVR microcontroller:

“Atmel's AVR® microcontrollers have a RISC core running single cycle
instructions and a well-defined I/O structure that limits the need for external
components. Internal oscillators, timers, UART, SPI, pull-up resistors, pulse
width modulation, ADC, analog comparator and watch-dog timers are some of
the features you will find in AVR devices.
AVR instructions are tuned to decrease the size of the program whether the code
is written in C or Assembly. With on-chip in-system programmable Flash and
EEPROM, the AVR is a perfect choice in order to optimize cost and get product to
the market quickly.”
-http://www.atmel.com/products/avr/
Apart form this almost all AVRs support In System Programming (ISP) i.e. you
can reprogram it without removing it from the circuit. This comes very handy
when prototyping a design or upgrading a built-up system. Also the programmer
used for ISP is easier to build compared to the parallel programmer required for
many old uCs. Most AVR chips also support Boot Loaders which take the idea
of In System Programming to a new level. Features like I2C bus interface make
adding external devices a cakewalk. While most popular uCs require at least a few
external components like crystal, caps and pull-up resistors, with AVR the
number can be as low as zero!
Cost: AVR = PIC > 8051 (by 8051 I mean the 8051 family)
Availability: AVR = PIC <8051
Speed: AVR > PIC > 8051
Built-in Peripherals: This one is difficult to answer since all uC families offer
comparable features in their different chips. For a just comparison, I would rather
say that for a given price AVR = PIC > 8051.
Tools and Resources: 8051 has been around from many years now, consequently
there are more tools available for working with it. Being a part of many
engineering courses, there is a huge communitiy of people that can help you out
with 8051; same with books and online resources. In spite of being new the AVR
has a neat tool chain (See ‘References and Resources‘). Availability of online
resources and books is fast increasing.
Here, 8051 > AVR = PIC




The robot uses IR sensors to sense the line, an array of 8 IR LEDs (Tx) and sensors (Rx), facing
the ground has been used in this setup. The output of the sensors is an analog signal which
depends on the amount of light reflected back, this analog signal is given to the comparator to
produce 0s and 1s which are then fed to the uC.

                         L4 L3 L2 L1 R1 R2 R3 R4
                Left              Center                      Right
                               Sensor Array
Starting from the center, the sensors on the left are named L1, L2, L3, L4 and those on the right
are named R1, R2, R3, R4.
Let us assume that when a sensor is on the line it reads 0 and when it is off the line it reads 1
The uC decides the next move according to the algorithm given below which tries to position the
robot such that L1 and R1 both read 0 and the rest read 1.

                                          L4 L3 L2 L1 R1 R2 R3 R4
                                           1   1   1   0   0    1   1   1
                                    Left                Center           Right

                               Desired State L1=R1=0, and Rest=1





About the Author

Onlineinfocity Team Follow me onlineinfocity
View all posts by admin →

Get Updates

Subscribe to our e-mail newsletter to receive updates.

Share This Post

0 comments:

Labels

AI PROJECTS (8) ALL DEPT (42) BCA (22) BE (13) BSC (20) BTECH (17) C PROJECTS (4) C#.NET (19) C++ PROJECTS (2) CHEMISTRY (3) CIVIL (25) CSE (94) DIPLOMA (22) DOWNLOADS (60) ECE (37) EEE (39) FINAL YEAR PROJECTS (30) HOW TO (58) HTML PROJECTS (4) IEEE PROJECTS (108) IT (85) MATLAB PROJECTS (8) MBA (1) mca (73) ME (19) mech (4) MINI PROJECTS (97) MSC (17) MTECH (18) MYSQL PROJECTS (6) NETWORK PROJECTS (7) OTHER PROJECTS (67) OTHERS (28) PAPER PRESENTATION (4) PG (18) PHP PROJECTS (7) PROJECTS (5) SOURCE CODES (22) SYSTEM PROJECTS (15) UG (17) VB PROJECTS (15) WHITE PAPER (19)

Blog Archive

Total Pageviews

Discussion

Followers

Powered by Blogger.
back to top
Don't Forget To Join US Our Community
×