Let's Make Robots!

MBC v1

avoid obstacles, collect small color objects

 MBC v1 (Mobile Bot Collector)

 

Description.


This small bot will collect small objects of different colors. Also will avoid obstacles.
It uses an Arduino Duemilanove with ATMEGA 168 and several personal shields designs for it.

Status: 

           hardware  90%
           software 70%

 
mbc-final.jpg

 
Working ...

 

0 WIP Pictures.

mbc-01.jpg

 

mbc-v11.jpg

 

mbc-base-r.jpg

 

mbcn1.jpg

 

mbc-top.jpg

 

mbc-fin-top.jpg



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 Motuino was designed in Eagle, I'm plannig to order pro PCBs from pcbcart.com.
The figure 1.1.1 shows the board designed in one layer, figure 1.1.2 it's the final prototype created by homebrew pcb technic.

motuino-c.jpg
Fig. 1.1.1: Motuino v1.2 Design.

motuinov12.jpg
Fig. 1.1.2: Motuino v1.2 PCB.


1.2 Sensor Board v1.2

The sensor board (SB) connects all sensors that the robot will use. This sensors are: IR proximity sensor, accelerometer, pressure sensor and color sensor.
In figure 1.2.1 its show the distribution of the connectors. Figure 1.2.2 is the prototype itself.

sensor-ca.jpg
Fig.1.2.1: PCB design and distribution.

sbv1.jpg
Fig.1.2.2: PCB for SB v1.2.

Voltage Supply - Nominal 5V
Accelerometer - Designed to connect the ADXL320
Pressure Area
- Using a NAND, one port its fixed to logical 1, the other connected to the sensor. This sensor it's based in the DIY FSR (http://www.instructables.com/id/DIY-Force-Sensitive-Resistor-FSR/)

1.2.1 Sensor Board 1.3

This board is an updated version, Now includes a tiny switch and voltage regulator for my new battery power supply. Figure 1.2.1.1 shows board distribution, figure 1.2.1.2 it´s the new board.

Update 1: Working on SB 1.3.1....


sens-b-des.jpg
Fig 1.2.1.1: Board distribution for SB v1.3.

sens-base13.jpg
Fig. 1.2.1.2: Board SB v1.3 assembled.



1.3 Pressure Sensors

Based on the nice tutorial for the FSR, I tested and were created two pairs of sensors for the grip. Figure 1.3.1 Shows the parts of the finger. In Figure 1.3.2 both sensors are mounted. This version is used with SB v1.3.

sens-press.jpg
Fig. 1.3.1: Finger for the grip 1 x 2 cm.

fingers-mount.jpg
Fig. 1.3.2: Mounting the fingers to the grip.
 

1.4 Proximity Board

This board uses a 555 timer to send a base frecuency to the IR LED. With this circuit it´s controlled two LEDs, and this signal its used to know when an object it´s close to the bot.  Two small boards contains the IR LEDs and phototransistora, They are mounted at both sides of the bot at 40 - 45  degrees each one. In figure 1.4.1 and 1.4.2 its show the PCB design and figure 1.4.3 shows the final board.
 
IR-Bo1.jpg
Fig. 1.4.1: PCB design for frecuency and data signals.

IR-Bo2.jpg
Fig. 1.4.2: PCB design for IR LED and phototransistor.

prox-sensIR.jpg
Fig. 1.4.3: Mounting boards for the proximity sensor.


1.5 Color Sensor v1

This board uses an OPT101 as color detector sensor. It contains one high intensity white LED and one RGB LED. Also it will be use as distance sensor to find the object to collect.  Figure 1.5.1 shows the PCB design and figure 1.5.2 the assembled board.

col-sens-esc.jpg
Fig. 1.5.1: Color Sensor PCB design.

col-sens.jpg
Fig. 1.5.2: Color Sensor assembled.


2 Robot Design

The robot it's a small mobile able to collect small color objects. MBC stands for Mobile Bot Collector. At this moment the robot weights 280 gr, and use a small rechargeable battery located at the bottom of servo 1. In figure 2.1 we can see the parts and design of the MBC.

mbc-des-f.jpg
Fig.2.1: MBC v1 design.


2.1 Chassis Design

The mobile base, arm and grip it's made by plastic sheet of 2mm. It's cutted and molded with a cutter and small dremel. In figure 2.1.1  it's show part of the chassis and arm. The DC motor box is part of the chassis and is show in figure 2.1.2.

casis.jpg
Fig.2.1.1: Plastic parts of the bot.

motordc.jpg
Fig.2.1.2: DC Motor Box.


2.2 Arm Design

The arm uses the hx5010 servo from Hextronik. It's mounted using the piece 518 from Meccano.
Both parts use small screws to join the plastic parts to the base.

 arm.jpg
Fig.2.2.1: Arm for the MBC.


2.3 Simple Grip

The grip uses the tg9 microservo from Turnigy. Two small gears 26p 3p from Meccano are assembled at the top of the servo.

grip.jpg
Fig. 2.3.1: Grip construction for the arm.


2.4 Assembling Video

The video shows how all parts are assembled,in this version the grip uses scotch tape to fixed at the arm.

http://www.youtube.com/watch?v=3AjSuzPYkHw

Vid.1: This video shows how all the parts are assembled.


3 Testing Videos

3.1 Testing Motors

The video shows a simple program to control the two DC motors and the two servos.

 http://www.youtube.com/watch?v=3DO8BIV2YHM

Vid. 2:
Testing MBC motors


3.2 Testing the grip

This video test how the bot will move, at this moment I'm having problems with the battery ,  now its replace by a 7.2v  NiMH AA  2200 mAh.
The grip uses a basic idea in this version. It uses a treshold of 2.5 volts equivalent to 127. The basis algorithm use this value with one cycle to move the grip from 45 to 90 degrees.

 

  int val_act;
  int val_ant = 127;
 
  //Arm down

   MiServo_B.write(1);
   delay(1500);
 
   //close grip and check if there's a change

  for (int i = 0; i<= 45; i++){
    val_act = analogRead (Sen_T);
    val_act = map(val_act,0,1024,0,255);
    temp = 45 + i;
 
    MiServo_M.write(temp);
    delay(110);
 
    if ( (val_act <= (val_ant + 5)) && (val_act >= (val_ant - 5)) ){
    
        delay(3000);  //wait 3 seg
        break;
               
     }
 
  }

 MiServo_B.write(100);
 delay (1500);
 


Code 1: Basic Algorithm to sense presence of an object.

http://www.youtube.com/watch?v=1TQGUMr1rsQ

Vid. 3: Testing Movements and Grip


 3.3 Testing Task 1

Soon ...

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Haha your bot reminds me of a emu or a duck the way it puts its neck/head down like that! Its great

Dude can you please attach the eagle files , i really need the motor shield board . Thank you very much, Cristi

jeje... Gareth's bot... intersting...

it´s not finished yet my bot. Now working on the pressure sensor.

Thanks for the comments.

Hey spacebird thanks for the nice building descriptions! Definetly great stuff for learning or getting inspirations.
You should team up with Gareth's bot and so when it finds some moola, your bot picks it up!
Wow, this is really cool! Especially good job on all the pics and documentation!
Soon more pics, I have a lot of images that this weekend I'll post. ;)
Nice gripper, How was it made? Good homebrew Arduino shields. Any video?