Você está na página 1de 43

COURSE NO: ME 362

INSTRUMENTATION & MEASUREMENT SESSIONAL


GROUP: A-16
OBSTACLE AVOIDING ROBOT WITH FLOOR
MOPPING FACILITY
Author:
Shoab Ahmed Chowdhury(1010006)
M. Sabbir Salek (1010014)
Md. Shafiqul Islam (1010023)



DEPARTMENT OF MECHANICAL ENGINEERING
BANGLADESH UNIVERSITY OF ENGINEERING AND TECHNOLOGY,
DHAKA



03 April, 2014



Copyright

All rights reserved to BUET to use and reproduce fully or partially the work being presented.
This book however can be used by BUET to reproduce any of the module or the whole robot,
reuse the code for further implementation, improvisation or as study material in any form.




Dedication

This project is dedicated to our beloved parents without whom we would not be able to come
here.



Acknowledgement

This project contains contribution of many great people. While accomplishing this project we
faced a lot of problems. Our honorable teachers have always helped us to solve those problems.
Without their help, their inspiration and their guidance this project may not have seen the light.
Among them the people who deserve the most of this credit are
Dr. M. A. Rashid Sarkar
Professor, Dept. of Mechanical Engineering, BUET
Mr. Kazi Arafat Rahman
Lecturer, Dept. of Mechanical Engineering, BUET
Mr. Aminul Islam Khan
Lecturer, Dept. of Mechanical Engineering, BUET
This acknowledgement would be incomplete, if we do not mention the invaluable contribution
and timely co-operation extended to us by the stuff member of our shops. Their cordial behavior
and new ideas inspired us a lot.
We thank Dept. of Mechanical Engineering, BUET for providing us such an opportunity.








Abstract


Through this project, our target to make an obstacle avoiding robot with floor mopping facility
has been accomplished. The main zest of this project is to avoid obstacle using sonar sensor,
detect water by two wires connected in front of it, and thereby clean the water using the mopping
roller. Two dc gear motors (each 12V) have been used to drive the rear wheels. A servo motor
has also been used for the mopping roller. After getting contact with water the two wires
complete the circuit and activate the mopping roller. The mopping roller then cleans the water.
Thus our desired robot served its purpose.




Table of Contents

TopicPage No
1. Introduction..1
2. Proposed Methodology.....2
2.1 Solid works Design.2
2.2 Mechanical Components
2.3 Electrical Components...
2.4 Full Circuit Diagram......
2.5 Codes Used....
3. Solution Validation, Result...
3.1 Solution Validation
3.2 Result.
3.3 Limitations.....
4. Conclusions, Recommendations
4.1 Conclusion.
4.2 Recommendation...
4.3 Application.
5. References
6. Appendices...
6.1 Descriptions of mechanical components



6.1.1 Acrylic sheet
6.1.2 DC motor.....
6.1.3 Servo motor.
6.1.4 Caster wheel
6.1.5 Nylon wheel..
6.1.6 Roller.
6.1.7 Stands & Clamps...
6.1.8 Nuts & Bolts..
6.2 Descriptions of electrical components...
6.2.1 Microcontroller ATMGA 32
6.2.2 IC 7805.
6.2.3 L293D...
6.2.4 Ultrasonic sonar sensor.
6.2.5 Resistor.
6.2.6 Capacitor...
6.2.7 Diode.
6.3 Power Supply.
6.4 Microcontroller codes....
6.5 Software Used
6.6 Cost Analysis..









List of Figures

Figure No.Page No
Figure
Figure ..
Figure
Figure
Figure
Figure






List of Tables

Table No.Page No

Table 6.1.
Table 6.2.






1. Introduction
Modern science has added a new dimension to our day to day life. In modern world, people are
very much busy now and involved in different works. So people find it very time consuming to
spend a lot of time in household chores. Floor mopping is a great concern for any family in
everyday life. It is essential for cleanliness. It involves health issues as well as the beauty of
house.
We considered this problem and decided to find a solution. We decided to make a floor mopping
device that would avoid obstacle and mop the floor as soon as it detects water. We have used
ultrasonic sonar sensor (HC 04) with a view to avoiding obstacle. Similar projects have been
undertaken in the previous years but none of them were able to function fully automatically.
There were problems in sensing mechanism. We have tried to improve sensing mechanism.
The cost of this project is quite affordable. So our middle class families can even afford to buy it.
So we think this project will be an effective solution to many families for the ease of their day to
day life.




2. Proposed Methodology
2.1 Solid works Design





2.2 Mechanical Components
The mechanical components used in our project are:
Nylon wheel
Mild steel shaft
Caster wheel
Wooden frame
Acrylic sheet (5 mm thick)
DC Gear motor
Servo motor
Nuts & bolts
Mopping roller

2.3 Electrical Components
The electrical components that we used in our project are given below:
Sonar sensor (HC 04)
Microcontroller-ATMEGA 32
Breadboard
Vero board
Motor controller IC-L293D
5Volt supplier IC-7805
Battery
LED
Diode
Resistor
Capacitor
Wires









2.4 Full Circuit Diagram





2.5 Codes Used
Detailed code can be found on the appendix section.




3. Solution Validation, Result
3.1 Solution Validation
Mechanical parts of our project worked quite well. The acrylic sheet used by us was a little bit
small. Hence, we used a wooden frame to carry all the components well. As a result of this the
total load increased.
Electrical parts almost worked pretty well. Only part that was problematic was L293D whose
temperature would go pretty high. If the robot was ran for a good amount of time it produced
enough heat to melt down our bread board. To solve this problem we used heat sink in our
circuit.
3.2 Result
Everything worked fine in our project. Our test run was successful. Although some
improvements in electrical section and coding section might make our robot faster and smoother,
the performance of our robot was quite satisfactory.
3.3 Limitations
Any engineering prototype is prone to limitation. Our project has also some limitations. They are
given below:
i. Our robot can only detect the obstacle straight to its path. It cannot detect any obstacle at the
right side or left side on its path.
ii. There is every chance of both the wires being grounded simultaneously which may disable the
circuit.
iii. Continuous drop of water is essential. If two wires get in touch with two discontinuous drops
of water, the circuit may not work properly.
iv. Our robot can detect water only from its front side, it cannot detect any water at the right side
or left side on its path. So it takes a quite a long time to mop floor completely.



v. The roller can mop a limited amount of water. If there is vast amount of water, the device will
have to be modified.






4. Conclusions, Recommendations
4.1 Conclusion
This project was challenging and a great learning experience. Through this project, we have
come to learn that something looking good on paper and something performing correctly in
actual life are completely different.
The design and implementation of it into our project went quite smoothly. But we had to face
some problems. When we designed the circuit on software, it worked nicely. But when we gave
the connection on breadboard, it didnt work. So we had to recheck our connection.
The assembly of electrical and mechanical parts for designing was very helpful to learn many
practical applications. We learnt the functions of some software through this project which are
very essential for professional life.
We were three members in our project group. We worked together on this project. Thus we have
learnt how to work together which is very important for our practical life.
If we got more time, we would be able to add more modification to our project. However, our
project has many scope of improvement. We hope future students will take initiatives to modify
this project.
4.2 Recommendation
i. A dedicated water sensor like LM 1830 can be used, considering the application and cost
viability.
ii. Design of the device can be modified to make it more attractive and popular for both domestic
and industrial application.
iii. There is every opportunity to change and modify the code to apply this device for particular
application.





4.3 Application
Obstacle avoiding robot with floor mopping facility is a small scale undergraduate project
prototype. It was performed within a limited time and with limited resources. But with proper
planning and more researches it can be used in various applications.
i. The main application of this device is to wipe a predefined area for domestic use. Thus, it
saves time and makes daily life comfortable.
ii. This device may be of great use in the industrial purposes where water is repeatedly required
to be wiped off.
iii. In some industrial areas, water may be polluted with radioactive substances which are
dangerous for human health. So it is risky for people to come in contact with such areas. In these
cases, this device can be of tremendous utility.
iv. In hospital where water is accumulated through the corridor it can be used greatly.
v. To remove toxic water, this device can be used effectively.




5. References












6. Appendices
6.1 Descriptions of mechanical components
6.1.1 Acrylic Sheet
Acrylic sheet is used as the base of the device. The motors, batteries, circuit are placed over or
below this acrylic base. The advantage of using acrylic sheet is that it is very light, can be easily
cut and drilled for holes etc. It is also very strong to carry the load of all the materials. In our
project, we used 5 mm thick acrylic sheet.





6.1.2 DC Motor
We used 2 dc gear motors for running the vehicle on wheel. Each motor was 12V.











6.1.3 Servo Motor
In our project, we used servo motor that is used for 8 kg load.

















6.1.4 Caster Wheel
A caster wheel with constriction as it is allowed move thoroughly within a certain position.









6.1.5 Nylon Wheel
Two nylon wheels were used as driving wheel (rear wheel)











6.1.6 Roller
A roller was used to mop the floor. While the wires detect water, the roller becomes activated by
servomotor and mops water. We used coke can to make this roller.







6.1.7 Stands and Clamps
For holding the two dc gear motors, two clamps were used. For holding the mopping roller, a
welded stand was used. The stands and clamps we used in the project were made from steel
sheet.









6.1.8 Nuts and Bolts
A screw thread is a helical groove on a shaft. When used for delivering power, it is called a drive
screw. Drive screws arent really all that efficient, as they lose a significant amount of power to
friction. However, this friction can be put to use in the case of threaded fasteners. A drive screw
is an inclined plane wrapped around a post, while a fastener is a wedge wrapped around a post.




6.2 Descriptions of electrical components
6.2.1 Microcontroller ATMEGA 32
In this project, we needed to use a microcontroller. We had options to use pc interfacing which
proved to be rather complicated and was not feasible as well. So we chose Microcontroller
ATMEGA 32 which is available, cheap and easy to deal with.
ATMEGA 32 is a small computer on a single integrated circuit consisting internally of a
relatively simple CPU, clock, timers, I/O ports, and memory. It is also popular for its low power
consumption and high performance.






6.2.2 IC 7805
It is an IC which converts 12V or more voltage to 5V which is the working voltage of
microcontroller. IC7805 has 3 pins. The first pin and last pin are input pin and output pin
respectively. The middle pin is for ground.












6.2.3 L293D
The L293D is a quadruple push-pull 4 channel driver capable of delivering 600mA (1.2A peak
surge) per channel. It is a 16-pin chip with a little notch cut out of the front of it. The L293D is
ideal for controlling the forward/reverse/brake motions of small DC motors controlled by a
microcontroller such as ATMEGA 32.




Features include:
600mA output current capability per driver
Pulsed current 1.2A per driver



Wide supply voltage range: 4.5V to 36V
Separate Input-Logic supply
NE package designed for heat sinking
High-Noise-Immunity inputs
Thermal shutdown and internal ESD protection
In our project, we used two L293D to control the motor.


6.2.4 Ultrasonic Sonar Sensor







6.2.5 Resistor
Resistance is a measure of how much an object opposes the passage of electrons. The unit of
electrical resistance is ohm and it is represented by . We used different resistors in our project
(1K, 2K, 10K, 100K, 220K etc)
6.2.6 Capacitor
A capacitor (formerly known as condenser), is a passive two terminal electrical component used
to store energy in an electrical field. The forms of practical capacitors vary widely, but all
contain at least two electrical conductors separated by a dielectric (insulator). We used different
capacitors in our project (0.1F, 1F, 100F, 220F etc).
6.2.7 Diode
A diode is a type of two-terminal electronic component with nonlinear resistance and
conductance characteristics. The most common function of a diode is to allow an electric current
to pass in one direction while blocking current in the opposite direction. Thus, the diode can be
thought of as an electric version of check valve. This unidirectional behavior is called
rectification and is used to convert alternating current to direct current, and to extract modulation
from radio signals in radio receivers- these diodes are forms of rectifiers.
6.3 Power Supply
























6.4 Microcontroller Codes
Code for driving dc gear motor
#include<avr/io.h>
#include<util/delay.h>
//define port and pin

#define US_PORT PORTC
#define US_PIN PINC
#define US_DDR DDRC

uint16_t getPulseWidth(char position)
{
uint32_t i,result;

//Wait for the rising edge
for(i=0;i<600000;i++)
{
if(!(US_PIN & (1<<position))) continue; else break;
}

if(i==600000)
return 0xffff; //Indicates time out

//High Edge Found

//Setup Timer1
TCCR1A=0X00;
TCCR1B=(1<<CS11); //Prescaler = Fcpu/8
TCNT1=0x00; //Init counter

//wait for the falling edge
for(i=0;i<600000;i++)
{
if(US_PIN & (1<<position))
{
if(TCNT1 > 60000) break; else continue;



}
else
break;
}

if(i==600000)
return 0xffff; //Indicates time out

//Falling edge found




result=TCNT1;

//Stop Timer
TCCR1B=0x00;

if(result > 60000)
return 0xfffe; //No obstacle
else
return (result);
}

void sonar_setup(char position)
{


//Set Ultra Sonic Port as out
US_DDR|=(1<<position);

_delay_us(10);

//Give the US pin a 15us High Pulse
US_PORT|=(1<<position); //High

_delay_us(10);




US_PORT&=(~(1<<position));//Low

_delay_us(20);

//Now make the pin input
US_DDR&=(~(1<<position));
}


void main()
{
unsigned int distance;
DDRD=255;
while(1)
{
sonar_setup(PC0);
distance= getPulseWidth(PC0)/7.0;
if(!(distance <5))

PORTD=0b11110011;//forward
if((distance <5))
PORTD=0b11110010;//backward
}

}








Code for driving servo motor
#include<avr/io.h>
#include<avr/interrupt.h>

#define BIT(x) (1<<x)

#define CHKB(x,b) (x & b)

#define s1 CHKB(PINA,BIT(1))

ISR(TIMER0_COMP_vect)
{
PORTB &=~ (1<<PB0);
}
ISR(TIMER0_OVF_vect)
{
PORTB |= (1<<PB0);
}

int main()
{


DDRA=0; // setting PORTA as input
PORTA=255;

DDRB |= (1<<PB0);


TIMSK |= (1<<TOIE0);
TIMSK |= (1<<OCIE0);
TCNT0=0;

TCCR0 |= (1<<CS00)|(1<<CS11); // pre scalar 64
sei();





while(1)
{
OCR0=30;

if ((!s1))
{
OCR0=30;
}

else if(s1)
{
OCR0=4;
}





}



6.5 Software Used
The following software were used in our project:
Proteus
AVR Studio 4
Extreme burner
Solid Works etc.




6.6 Cost Analysis
Table 6.1: Cost of Mechanical Components

Item Quantity Cost Per Unit (Tk.) Cost (Tk.)
Nylon Wheel 2 150 300
DC Gear Motor 2 450 900
Servo Motor 1 800 800
Shaft(Mild Steel) 1 50 50
Caster Wheel 1 60 60
Wooden Frame 1 150 150
Acrylic Sheet 1 150 150
Nuts and Bolts 80
Mopping Roller 100
Total 2590

Table 6.2: Cost of Electrical Components
Item Quantity Cost Per Unit (Tk.) Cost (Tk.)
Sonar Sensor 1 800 800
ATMEGA 32 2 250 500
L293D 2 150 300
IC 7805 2 5 10
Breadboard 3 200 600
Vero board 1 20 20
Battery 4 250 1000
Diode 4 1 4
Capacitor 4 1 4
Resistor 5 1 5



Wires 420
Total 3663

Total Project Cost 6253

Você também pode gostar