Tuesday, November 6, 2012

Week 9 : The Frame/ body and Hard ware Design of the Vacuum Cleaner Robot


This week is the assembly  between the circuit , body and the vacuum of the Vacuum Cleaner Robot. For the frame of the robot been made using Perspex and it will be cutting so there’s a space for the wheels.


The Vacuum had been modify to be attached to the frame (Perspex)  of the robot:


The robot caster (front roller) and DC motor also been attached to frame (Perspex) :


Week 8 : Put the Vacuum onto the robot for its application


I need to find the suitable vacuum. It may be small but can perform best, thus the size doesn’t matter. Finally I found this cute little vacuum is suitable to propose for my robot and they would be nice together hopefully.


It powered by 2 double A battery, been connected to DC motor that have a turbine. Under this cute vacuum is the small brush. When I tested this vacuum, It can suck away small dust, small rubbish, hair and many more light-weight particle lying on the floor or any other mattress.


Week 7 : The PCB Drill and Soldering Week



What I do in this week is drill the PCB board in order to make hole to place the pin or terminal of the component and soldering the component on the PCB board that finely etched. The component had been place on the PCB board and soldered their terminal under the board. Below is the picture taken of the finished soldered circuit.


The sensitive component such as Voltage regulator, crystal, capacitor and same alike must be soldered carefully to prevent over heating that can damage the component. Soldering must be in a good shape to avoid a loose component , this will ensure the lifetime of the robot.


Week 6 : The Layout and Etching


The layout had been drew using Pad to pad software for design the circuit  and print out on the plastic sheet size A4. Then, that plastic will be iron  on PCB board so that the ink will be melt onto it surface.



The circuit then will be etching using etchant which is an acid, then unwanted part will be varnish away and leave only the wanted one.


PCB board after etching :





Week 5 : Obtaining the required electronic component


There a list of the component that I need to buy there which shown below:

                                i.            ATMEGA328P   x 1
                              ii.            Motor Controller IC L293D x 1
                            iii.            Direct Current Motor x 2
                            iv.            Tyres of the robot x 2
                              v.            Robot Caster (will be put in front) x 1
                            vi.            Crystal 16MHz x 1
                          vii.            Capacitor 1µF x 4 (buy extra)
                        viii.            Polarise capacitor 1µF  x 4 (buy extra)
                            ix.            Resistor 10k x 4 (buy extra)
                              x.            Infrared Sensor x 3
                            xi.            Reset Button x 4 (buy extra)
                          xii.            Button x 4 (buy extra)
                        xiii.            9V battery casing

I have done some research of the very important component like ATMEGA328P, IC L293, DC motor, Tyres and Robot caster before I go buying it in the electronic store or market. That the first thing to do because I want to avoid any mistaken happen in the future. Below is the example component or part that I found it best to fit my project :

Direct Current Motor:

This Motor is very suitable for the movement of the robot and it’s more suitable for my project. It’s cheaper than the servo motor, besides servo motor I think it’s applicable in building a robotic arm. By using this, my robot movement will be more smooth because it have a double gearbox.

ATMEGA328P:

Parameter Value:
    Flash : 32 Kbytes , Pin Count: 32 , Max. Operating Frequency: 20 MHz , CPU: 8-bit AVR , number of Touch Channels: 16 , Hardware QTouch Acquisition: No , Max I/O Pins: 23 , Ext Interrupts: 24 , USB Speed: No , USB Interface: No 


Week 3 and 4 : The Programming for the movement of robot

 I have to write the program for my robot and burn into the ATM328P which also known as the Arduino. 



Below is my program for the robot using C language:

#include <math.h>
int backLight = 13;
#include <math.h>


int analogPin0 = 0;     // potentiometer wiper (middle terminal) connected to analog pin 2
int analogPin1 = 1;     // potentiometer wiper (middle terminal) connected to analog pin 3
int analogPin2 = 2;     // potentiometer wiper (middle terminal) connected to analog pin 4
int hba =  2;
int hbb =  6;
int hb0 =  9;
int hb1 =  10;
int hb2 =  11;
int hb3 =  12;

float val;
int val0;
int val1;
int val2;

void setup()
{
  pinMode(backLight, OUTPUT);
delay(1000);         

}
void loop()
  {
digitalWrite(hba, LOW);
digitalWrite(hbb, LOW); 
digitalWrite(hb0, LOW);
                digitalWrite(hb1, HIGH);
                digitalWrite(hb2, LOW); 
digitalWrite(hb3, HIGH);
                delay(100);
  }

                   else if (val1<=250 && val>=32)
          {
   digitalWrite(hba, HIGH);
   digitalWrite(hbb, HIGH); 
   digitalWrite(hb0, LOW);
   digitalWrite(hb1, HIGH);
   digitalWrite(hb2, LOW); 
   digitalWrite(hb3, HIGH);
   delay(100);

 }

  else if (val1>250 && val<32)
           {

                      if (val0<val2)

                       {
      digitalWrite(hba, LOW);
                     digitalWrite(hbb, LOW);
            digitalWrite(hb0, LOW);
            digitalWrite(hb1, LOW);
            digitalWrite(hb2, LOW); 
            digitalWrite(hb3, HIGH);
            delay(500);
        }

     else if (val2<val0)
       {
        digitalWrite(hba, LOW);
        digitalWrite(hbb, LOW);
        digitalWrite(hb0, LOW);
        digitalWrite(hb1, HIGH);
        digitalWrite(hb2, LOW); 
        digitalWrite(hb3, LOW);
        delay(500); 
        }
   }

   else if (val1>250 && val>=32)
   {

     if (val0<val2)

       {
        digitalWrite(hba, HIGH);
        digitalWrite(hbb, HIGH);
        digitalWrite(hb0, LOW);
        digitalWrite(hb1, LOW);
        digitalWrite(hb2, LOW); 
        digitalWrite(hb3, HIGH);
        delay(500);
        }

     else if (val2<val0)
       {
        digitalWrite(hba, HIGH);
        digitalWrite(hbb, HIGH);
        digitalWrite(hb0, LOW);
        digitalWrite(hb1, HIGH);
        digitalWrite(hb2, LOW); 
        digitalWrite(hb3, LOW);
        delay(500); 
        }
   }

}

Week 2 : The important week of all


         I’ve drawn the circuit using the software called Prosteus, the circuit is drawn in the computer using the electronic component which imported in library file of that software, such as ATMEGA328P, resistor, capacitor , crystal , button and so on. I’ve shown the component that I used in designing my project below:


          After the electronic component had been selected, then the circuit will be drawn, by connecting them. Back in semester 5, I’ve taken subject called Microcontroller which also using the same simulation software. Besides, I’ve done an assignment to build a washing machine system and from that I’ve obtain an idea to use the same concept but applied in different way in order to create Vacuum Cleaner Robot.