Let's Make Robots!

MBF v1

Line Follower

 MBF v1 (Mobile Bot Follower)


This small bot will follow a white line over a black ground. The line  could have discontinuities of 0.5 cm or 1 cm.  Also, it can contain bifurcations, so the bot must decide wich line to follow and know if it is the end of a line or a discontinuity.

    The hardware uses an Arduino Duemilanove with ATMEGA 168 and two personal shields for it.
This bot is design for competition.

Working ...

1 Circuit Design

1.1 Motuino v1.2

The Motuino board is used to control two DC motors using the L298 with two pairs of shottcky diodes. Also it contains connectors for the sensor board and it's possible to connect two servo motors.
The figure 1 shows the board designed in one layer.

Fig. 1: Motuino v1.2 Design

1.2 Sensor + Design

This board uses an array of photoresistors with a LED matrix configuration. This configuration will be use with a semi fuzzy algorithm to obtain 3 parameters like: black, white and gray. The estimated distance from the sensor to the floor is 0.6 cm.  In figure 2 is show the pcb design of the board. Figure 3 is the assembled board.

Fig. 2: Sensor + Design

Fig. 3: Sensor Assembled

2 Robot Design

The robot it's a small mobile able to follow a line. MBF stands for Mobile Bot Follower. At this moment the robot weights 200 gr, and use a small rechargeable battery located at the top of the support. In figure 4 we can see the parts and design of the MBF.

Fig.4: Design of MBF v1

2.1 Chassis Design

The mobile base it's made by plastic sheet of 2mm. It's cutted and molded with a cutter and small dremel. In figure 5  it's show part of the chassis with front wheels. The geared box use two DC motors that are attached at the end of the chassis. The control of the motors will use a fuzzy algorithm to estimated how many degrees will rotate bot.

Fig.5: Plastic chassis of the bot

3 Algorithm Design

Soon ...

4 Testing Track

Soon ...

5 Testing Videos

4.1 Testing First Algorithm

Soon ...

Vid. 1: Testing MBF

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

I dont understand why anybody else seems to ever comment on your posts, spacebird. It's always evident that you put time, creativity, and effort into all your bots. 

Your bot is awesome! 

Thanks man for u comment. :) I tried to do my best with this bots.

Pretty neat and compact little bot. Is that a little tactile switch on the front? Are you going to use a vreg for the Arduino voltage?

Oooh interesting, the L298 has a minimum motor voltage of 2.5v. I was about to ask if you had tested the motors yet because of the low voltage battery when I checked the L298 datasheet. I had been looking for a low voltage h bridge chip too!! But I see the logic supply is still a 4.5v minimum... Well let me know if it still works with a 3.6v battery.

Tactile switch>?  no, it's not a tactile switch is just a simple srew. jeje...

About the Voltaje Regulator, in this case it's not necessary , because I'm using small DC motors of 3V each one. But, If you are planning to use bigger motors, a Voltage-Current regulator like LM 317 will help a lot. It's important to consider the current drain from the ATMEGA, and limitated to 20 mA, that's why I'm using a voltage divider with a 330 ohms resistor to limitated less thas 20 mA per pin.

 Well, first we need to take care of this, the nominal voltage of the battery is 3.6 V ~600 mAh. The logical voltage of the LM298 it's 4.5 Volts.
With this battery it works for arround 15 - 20 minutes. In the MBC bot I need more power, but with the same battery it works for 6 minutes. I'm updating one of the boards of the MBC to manage a NiMh 9.6 V ~2200 mAh.


I love your robot. Nice and slick design on a tight footprint. Good documentation as well!

I'm mostly interested in the motor driver you built for it. How do you manage to create so small wires of copper without short circuits. I wouldnt dare to add wires between the pinout of the L298. I recently built one for the L298, but I just cant understand how you manage to get it to work with yours. I'll post you a picture of the board for my L298 design. Using schottky's on the output of the motors, but they are not in the board design.

Looking forward to see more from you :)


Ok, As I can see from your PCB, It looks that you're planning to manage bigger motors than 12 V ~>1 A each one. Wide copper wires normaly has this use.  I think you can re-design the PCB with less jumpers based on the figure I posted above. And remember to use voltage dividers on  control pins or you can burn out the microcontroller !!. 


Thanks for your comment and advice. 

Yeh, I was planning on using mine on bigger motors then yours so obviously I'll need bigger copper traces.  But newbie as I am when it comes to this electronic thing. Voltage dividers; "In electronics, a voltage divider (also known as a potential divider) is a simple linear circuit that produces an output voltage (Vout) that is a fraction of its input voltage (Vin). Voltage division refers to the partitioning of a voltage among the components of the divider." - Wiki.

Would I need that in my design? I have a voltage regulator that gives me +5 for logic connected to a separate battery, I have high volt input from a different battery and I have my arduino which provides me with control over the logic input. All grounds (GND) are connected together. So basically I have 3 different power sources with a common GND. Do I still need voltage dividers?

I know my design got some jumpers here and there, but I found it hard to get this to work without the jumpers AND having the bigger copper traces as I wanted to. I will definitively try out something similar to your layout next time I make a pcb for this. But I'm rather bored of Eagle CAD atm.