Share this post

Submit to DeliciousSubmit to DiggSubmit to FacebookSubmit to Google BookmarksSubmit to StumbleuponSubmit to TechnoratiSubmit to TwitterSubmit to LinkedIn

This interesting project was my final thesis for Bsc. The goal was to build a robot which could follow a black line on a white background but this one was far more than just a simple line follower robot.

The line had all kinds of tricks to play. It could become wider at some points, bend with sharp angles,  have two ways and even disappear!

So I came up with a design to cover all of these situations.

I decided to build the robot as a two wheely. This way it could easily turn using different speeds on two motors.  I used narrow three layer wood to build robot's body. Before I had built a plexiglass version but I broke it. Here is a photo of the body:

Body resize










 The simplest way to mount the electronic board was to use long screws. This way the batteries could also go in between the body and board.


I decided to go with 5 infrared sensors and 2 gearbox mounted 9 volt motors. As for the electronics I used an ATMEGA32. You may think that a mega32 is a little bit too much for a line follower but I needed 4 PWM outputs and 3 externally triggered interrupts. The simplest version of AVR family which had these was mega32.

I wanted to control the speed of my motors even if the direction was reversed. I wanted this platform to be available for other Bsc students to reprogram and test for their projects so I went on with 4 PWMs and mega32.

For the front wheel I used a special ball bearing which made my design very simple and efficient:

This photo shows the backside of the robot. You can see the motors and the wheels and the bearing is like a ring at the front. 

 This bearing made it possible for the sensors to be mounted directly on the body and be as near as possible to the floor. This way they could detect the track easily.

Program was written in Code Vision. Using the five sensors made it easy to solve the different problems of following complicated lines.

I added 5 LEDs to the board to test the sensors. The board had a switch to go to test mode. When you switched to test mode you could see the output of the sensors using the LEDs. If a sensor detected black the LED corresponding to that sensor would lit. I used these LEDs to tune the sensitivity.

Here is a photo of the board:

Electronic Board










You can see the LEDs at the top.

Schematics and PCB were done in Altium Designer. I can't add them here due to the complexity. But I added separate parts of the schematics.

Sensor driving circuit is here.

Motor driving circuit is here.

Sensor and Motor connections to the micro are here.

The Code Vision program is here.

Checkout this awesome video of the robot in action:




Strict Standards: Only variables should be assigned by reference in /home/geekbrot/public_html/modules/mod_ilike_social_media_optimization/tmpl/default.php on line 13

Strict Standards: Only variables should be assigned by reference in /home/geekbrot/public_html/modules/mod_ilike_social_media_optimization/tmpl/horizontal1.php on line 13
© geek brothers