[go: up one dir, main page]

0% found this document useful (0 votes)
176 views39 pages

Automatic Table Cleaning Robot

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 39

Automatic Table Cleaning Robot

A Mini Project Work


Submitted in partial fulfilment of the requirements for the award of the degree
of
BACHELOR OF TECHNOLOGY
IN
ELECTRONICS AND COMMUNICATION ENGINEERING
By
D. Abhinav Sai 17H61A0477
G. Abhilash 17H61A0479
A. Sai Virat 16H61A04C9
Under the guidance of
Mr. CH. S R Murthy
Assistant Professor
Department of ECE

Department of Electronics and Communication Engineering


ANURAG GROUP OF INSTITUTIONS
AUTONOMOUS
SCHOOL OF ENGINEERING
(Affiliated to Jawaharlal Nehru Technological University, Hyderabad)
Venkatapur(V), Ghatkesar(M), Medchal-Malkajgiri Dist-500088
2020-2021

1
ANURAG GROUP OF INSTITUTIONS
AUTONOMOUS
SCHOOL OF ENGINEERING
(Affiliated to Jawaharlal Nehru Technological University, Hyderabad
Venkatapur(V),Ghatkesar(M), Medchal-Malkajgiri Dist-500088

DEPARTMENT OF ELECTRONICS AND COMMUNICATION


ENGINEERING

CERTIFICATE
This is to certify that the project report entitled Automatic Table Cleaning
Robot being submitted by
D. Abhinav Sai 17H61A0477
G. Abhilash 17H61A0479
A. Sai Virat 16H61A04C9
in partial fulfillment for the award of the Degree of Bachelor of Technology in
Electronics & Communication Engineering to the Jawaharlal Nehru
Technological University, Hyderabad is a record of bonafide work carried out
under my guidance and supervision. The results embodied in this project report
have not been submitted to any other University or Institute for the award of any
Degree or Diploma.

Guide Name: Mr. CH. S R Murthy Dr. S. Sathees Kumaran


Designation: Assistant Professor Head of the Department
DEPARTMENT OF ECE

2
External Examiner

ACKNOWLEDGEMENT

This project is an acknowledgement to the inspiration, drive and technical assistance


contributed by many individuals. This project would have never seen light of this day
without the help and guidance we have received. We would like to express our gratitude to
all the people behind the screen who helped us to transform an idea into a real application.
It’s our privilege and pleasure to express our profound sense of gratitude to Mr. CH.
S R MURTHY, Assistant Professor, Department of ECE for his guidance throughout this
dissertation work.
We express our sincere gratitude to Dr. S. SATHEES KUMARAN, Head of
Department, Electronics and Communication Engineering for his precious suggestions for
the successful completion of this project. He is also a great source of inspiration to our
work.
We would like to express our deep sense of gratitude to Dr. K. S. RAO, Director,
Anurag Group of Institutions for his tremendous support, encouragement and inspiration.
Lastly, we thank almighty, our parents, friends for their constant encouragement
without which this assignment would not be possible. We would like to thank all the other
staff members, both teaching and non- teaching, which have extended their timely help and
eased my work.

BY
D.Abhinav Sai 17H61A0477
G.Abhilash 17H61A0479
A.Sai Virat 16H61A04C9

3
DECLARATION

We hereby declare that the result embodied in this project report entitled
“Automatic table cleaning robot” is carried out by us during the year 2019-2020
for the partial fulfilment of the award of Bachelor of Technology in Electronics
and Communication Engineering, from ANURAG GROUP OF
INSTITUTION. We have not submitted this project report to any other
Universities / Institute for the award of any degree.

BY

D. Abhinav Sai 17H61A0477 D. Abhinav Sai

G. Abhilash 17H61A0479 G. Abhilash

A. Sai Virat 16H61A04C9 A. Sai Virat

4
TABLE OF CONTENTS

Title Page No.


List of Figures 7
ABSTRACT 8
CHAPTER 1: INTROUDCTION 9
1.1. Embedded System 9
1.1.1. Application Areas 10
1.2. Arduino IDE 11
1.2.1. Introduction to Arduino IDE 11
1.2.2. Initial Setup 11
1.2.3. IDE Board Setup 12
1.2.4. IDE COM Port Setup 12
CHAPTER 2: LITERATURE SURVEY 13
CHAPTER 3: HARWARE & SOFTWARE REQUIREMENTS 14
3.1. Arduino 14
3.1.1. Power 15
3.1.2. Communication 16
3.1.3. Programming 17
3.1.4. Automatic (software) Reset 17
3.1.5. USB Overcurrent Protection 18
3.1.6. Physical Characteristics 18
3.1.7. Features Of Arduino UNO 18
3.1.8. Basic Functions Of Arduino Technology 19
3.1.9. Advantages of Arduino Technology 19
3.1.10. Applications of Arduino Technology 20
3.2. Ultrasonic Sensor 20
3.2.1. Introduction 20
3.2.2. Working 21
3.2.3. The Ultrasonic Transmitter 21
3.2.4. The Ultrasonic Receiver 22
3.3. Motor Driver Shield 22
3.3.1. L293D Motor Driver IC 23
3.3.2. L293D Pin Configuration 23
3.3.3. Pin Diagram 24
3.3.4. Features 25
3.3.5. Applications 25
3.4. Motor Driver 26
3.4.1. Pin Configuration 26
3.4.2. Working 26
3.4.3. Features 27

5
3.4.4. Applications 27
3.5. DC Motor 27
3.5.1. Principle of Operation 27
3.5.2. Features of DC Motor 28
3.5.3. Applications of DC Machines 28
3.5.4. Advantages of DC Machines 28
3.5.5. Disadvantages of DC Machines 29
CHAPTER 4: DESIGN METHODOLOGY 30
4.1. Block Diagram 30
4.2. Flow Chart 31
4.3. Pictues Of Device 32
CHAPTER 5: RESULTS AND DISCUSSION 33
5.1. Results 33
5.2. Discussion 33
CHAPTER 6: CONCLUSION AND FUTURE SCOPE 36
6.1. Conclusion 36
6.2. Future Scope 36
CHAPTER 7: REFERENCES 37

6
LIST OF FIGURES

S.no Figure Name P. no

1. 1.1. Arduino IDE Default Window 11


2. 1.2. Arduino IDE Board Setup Procedure 11
3. 1.3. Arduino IDE COM Port Setup 12
4. 3.1. Arduino UNO 14
5. 3.2. Atmega 168/328 Pin Mapping 19
6. 3.3. Transmitter and Receiver of Sensor 20
7. 3.4. Ultrasonic Sensor HC-SR04 20
8. 3.5. Ultrasonic Sensor Transmitting amd Receiving Signals 21
9. 3.6. Motor Shield 22
10. 3.7. L293D Motor Driver IC 23
11. 3.8. Pin Diagram of L293D 24
12. 3.9. Motor Driver IC L293D Pinout 25
13. 3.10. Motor Driver L298 26
14. 3.11. DC Motor Description 28
15. 4.1. Block Diagram of Automatic Table Cleaning Robot 30
16. 4.2. Flow Chart of Automatic Table Cleaning Robot 31
17. 4.3. Pictures of Device 32
4.3.1. Components and Connection View 32
4.3.2. Device View 32
4.3.3. Scrubbers Attached to the Cleaning Motors 32
4.3.4. Robot Doing Its Process 32
4.3.5. Detecting the End of the Table 32

7
ABSTRACT

In massage centers, after every procedure one has to clean the massage table,
which was subjected to oil or powdery solution used for massage, with the disinfectant
solution every time. It requires a lot of energy in order to clean the table neatly again and
again as the procedure has to be done again and again. So in this paper, to reduce the
man power, an autonomous robot is proposed which cleans the table automatically.
Nowadays robots are involved in most of the activities which human can do and also
involved in activities which human cannot perform. This autonomous robot runs on the
program which is initially installed in the microcontroller. It will move to the end of the
table, cleaning, and the moment it reaches the end it will start moving back for the same
time for which it moved forward and reaches its starting point (cleaning continues).
Sensors are used to detect the table length, motors are used for cleaning and also for the
moment of the robot.

Index terms : Arduino Uno, Motor Shield, Motor Driver, Ultrasonic Sensor, Power Supply.

8
CHAPTER 1 – INTRODUCTION

Panchakarma table is used for massage with oil and herbal pastes/powders etc. and
other panchakarma procedures. Procedures like oil massage/powder massage are done on this
table residue after the procedure oil mixed with powder, body fluids, herbal decoctions etc.
The problem is the table has to be cleaned manually after every procedure. We can do it
automatically with the automatic table cleaning robot with the use of an arduino, motor
controller, ultrasonic sensor & 5 to 6 motors. An ultrasonic sensor is connected to the
robot/machine, facing the table, used to detect the end of the table. 4 motors are used for the
moment of the robot, 2 are used for the cleaning process. (cleaning motors are connected with
brushes and are allowed to rotate on the table in order to brush the table). The machine is
attached to the table. When the power is supplied to arduino, all the motors starts moving.
Meanwhile the disinfectant solution comes out parallel with the motors as they starts moving.
When the machine is about to reach the end of the table, the ultrasonic sensor will detect the
increase in the distance. This detection is used as a feedback here, which will stop the motors
moment and starts moving back and travels for the same duration it did to reach the first end
of the table.

1.1. Embedded Systems:


An embedded system is a microprocessor-based computer hardware system with software that
is designed to perform a dedicated function, either as an independent system or as a part of a
large system. At the core is an integrated circuit designed to carry out computation for real-
time operations.

Complexities range from a single microcontroller to a suite of processors with connected


peripherals and networks; from no user interface to complex graphical user interfaces. The
complexity of an embedded system varies significantly depending on the task for which it is
designed.

Embedded system applications range from digital watches and microwaves to hybrid vehicles
and avionics. As much as 98 percent of all microprocessors manufactured are used in embedded
systems

The basic structure of an embedded system includes the following components:

 Sensor: The sensor measures and converts the physical quantity to an electrical signal,
which can then be read by an embedded systems engineer or any electronic instrument.
A sensor stores the measured quantity to the memory.
 A-D Converter: An analog-to-digital converter converts the analog signal sent by the
sensor into a digital signal. Processor & ASICs: Processors assess the data to measure
the output and store it to the memory.

9
 D-A Converter: A digital-to-analog converter changes the digital data fed by the
processor to analog data
 Actuator: An actuator compares the output given by the D-A Converter to the actual
output stored and stores the approved output.

Future Trends in Embedded Systems:


The industry for embedded systems is expected to continue growing rapidly, driven by the
continued development of Artificial Intelligence (AI), Virtual Reality (VR) and Augmented
Reality (AR), machine learning , deep learning, and the Internet of Things The cognitive
embedded system will be at the heart of such trends as: reduced energy consumption, improved
security for embedded devices, cloud connectivity and mesh networking, deep learning
applications, and visualization tools with real time data.

According to a 2018 report published by QYResearch, the global market for the embedded
systems industry was valued at $68.9 billion in 2017 and is expected to rise to $105.7 billion
by the end of 2025.

1.1.1. Application Areas:

Embedded Systems in Automobiles and in telecommunications


 Motor and cruise control system
 Body or Engine safety
 Entertainment and multimedia in car
 E-Com and Mobile access
 Robotics in assembly line
 Wireless communication
 Mobile computing and networking

Embedded Systems in Smart Cards, Missiles and Satellites


 Security systems
 Telephone and banking
 Defense and aerospace
 Communication

Embedded Systems in Peripherals & Computer Networking


 Displays and Monitors
 Networking Systems
 Image Processing
 Network cards and printers

Embedded Systems in Consumer Electronics


 Digital Cameras
 Set top Boxes
 High Definition TVs

10
 DVDs

1.2. ARDUINO IDE

1.2.1. Introduction to Arduino IDE


Arduino IDE is an open source software that is mainly used for writing and compiling
the code into the Arduino Module. It is an official Arduino software, making code compilation
too easy that even a common person with no prior technical knowledge can get their feet wet
with the learning process. It is easily available for operating systems like MAC, Windows,
Linux and runs on the Java Platform that comes with inbuilt functions and commands that play
a vital role for debugging, editing and compiling the code in the environment. A range of
Arduino modules available including Arduino Uno, Arduino Mega, Arduino Leonardo,
Arduino Micro and many more. Each of them contains a micro controller on the board that is
actually programmed and accepts the information in the form of code. The main code, also
known as a sketch, created on the IDE platform will ultimately generate a Hex File which is
then transferred and uploaded in the controller on the board. The IDE environment mainly
contains two basic parts: Editor and Compiler where former is used for writing the required
code and later is used for compiling and uploading the code into the given Arduino Module.
This environment supports both C and C++ languages.

NOTE: Download Arduino Integrated Design Environment (IDE) here (Most recent version:
1.6.5): https://www.arduino.cc/en/Main/Software

1.2.2. Initial Setup:


This is the Arduino IDE once it’s been opened. It opens into a blank sketch where you
can start programming immediately. First, we should configure the board and port settings to
allow us to upload code. Connect your Arduino board to the PC via the USB cable.

Fig 1.1: Arduino IDE Default Window

11
The IDE environment is mainly distributed into three sections
 Menu Bar
 Text Editor
 Output Panel

1.2.3. IDE Board Setup


You have to tell the Arduino IDE
what board you are uploading to. Select
the Tools pulldown menu and go to
Board. This list is populated by default
with the currently available Arduino
Boards that are developed by Arduino.
If you are using an Uno or an Uno-
Compatible Clone (ex. Funduino,
SainSmart, IEIK, etc.), select Arduino
Uno. If you are using another
board/clone, select that board.

Fig 1.2: Arduino IDE: Board Setup Procedure

1.2.4. IDE COM Port Setup


If you downloaded the Arduino IDE before plugging in your Arduino board, when you
plugged in the board, the USB drivers should have installed automatically. The most recent
Arduino IDE should recognize connected boards and label them with which COM port they
are using. Select the Tools pulldown
menu and then Port. Here it should list
all open COM ports, and if there is a
recognized Arduino Board, it will also
give it’s name. Select the Arduino board
that you have connected to the PC. If the
setup was successful, in the bottom right
of the Arduino IDE, you should see the
board type and COM number of the
board you plan to program. Note: the
Arduino Uno occupies the next available
COM port; it will not always be COM3.
Fig 1.3: Arduino IDE: COM port setup

 At this point, your board should be set up for programming, and you can begin writing and
uploading code.

12
CHAPTER 2 – LITERATURE SURVEY

Going through various problem statements on the website of Smart India


Hackathon, came across a statement from an ayurvedic company named
“Ayush”. The provided problem statement is mentioned below.

Panchakarma table is used for massage with oil and herbal pastes/powders
etc. and other panchakarma procedures. Procedures like oil massage/powder
massage are done on this table residue after the procedure oil mixed with powder,
body fluids, herbal decoctions etc.

 Problem: The table is cleaned manually after every procedure.


 Solution: Automated cleaning machine, removes residue clean with
disinfectant solution.

Referring to different kind of projects on floor cleaning machines,


developed an idea for the provided problem. The reviewed papers are discussed
below.

An autonomous robot is proposed for floor cleaning in [2]. Transmitter


operation is performed using the android application which was developed in
mobile. Based on the commands received from the android app the arduino
performs some controlling operation.

The robot was named as sweepy in paper [3]. Water pump and vacuum
cleaner was attached with the robot to clean the surface. Ultrasonic sensor was
proposed to detect an obstacle. Push button is provided to select manual or
automatic operation of cleaning. Drier was fixed in front of the robot to dry the
cleaned surface.

13
CHAPTER 3 - SOFTWARE AND HARDWARE REQUIREMENTS

3.1. ARDUINO

Arduino is an open source, computer hardware and software company, project, and user
community that designs and manufactures microcontroller kits for building digital devices and
interactive objects that can sense and control objects in the physical world. The project's
products are distributed as open-source hardware and software, which are licensed under the
GNU Lesser General Public License (LGPL) or the GNU General Public License (GPL),
permitting the manufacture of Arduino boards and software distribution by anyone. Arduino
boards are available commercially in preassembled form, or as do-it-yourself kits.

The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It


has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a
16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset
button. It contains everything needed to support the microcontroller; simply connect it to a
computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.

The Uno differs from all preceding boards in that it does not use the FTDI USB-to-
serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2)
programmed as a USB-to-serial converter.

"Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0.
The Uno and version 1.0 will be the reference versions of Arduino, moving forward. The Uno
is the latest in a series of USB Arduino boards, and the reference model for the Arduino
platform; for a comparison with previous versions, see the index of Arduino boards.

14
The Arduino board has the following new features:

 1.0pinout: added SDA and SCL pins


that are near to the AREF pin and two
other new pins placed near to the
RESET pin, the IOREF that allow the
shields to adapt to the voltage
provided from the board. In future,
shields will be compatible both with
the board that uses the AVR, which
operate with 5V and with the
Arduino Due that operate with 3.3V.
The second one is a not connected
pin that is reserved for future
purposes.

 Stronger RESET circuit. Fig 3.1: Arduino Uno

 Atmega 16U2 replace the 8U2.

3.1.1 Power:

The Arduino Uno can be powered via the USB connection or with an external power
supply. The power source is selected automatically.

External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or
battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the
board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the
POWER connector.

The board can operate on an external supply of 6 to 20 volts. If supplied with less than
7V, however, the 5V pin may supply less than five volts and the board may be unstable. If
using more than 12V, the voltage regulator may overheat and damage the board. The
recommended range is 7 to 12 volts.

The power pins are as follows:

VIN:

The input voltage to the Arduino board when it's using an external power source (as opposed
to 5 volts from the USB connection or other regulated power source). You can supply voltage
through this pin, or, if supplying voltage via the power jack, access it through this pin.

5V:

15
This pin outputs a regulated 5V from the regulator on the board. The board can be supplied
with power either from the DC power jack (7 - 12V), the USB connector (5V), or the VIN pin
of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and
can damage your board. We don't advise it.

3.3V:

A 3.3 volt supply generated by the on board regulator. Maximum current draw is 50 mA.

GND:

Ground pins.

Memory:

The ATmega328 has 32 KB (with 0.5 KB used for the boot loader). It also has 2 KB of SRAM
and 1 KB of EEPROM (which can be read and written with the EEPROM library).

Input and Output

Each of the 14 digital pins on the Uno can be used as an input or output, using pin Mode(),
digital Write(), and digital Read() functions. They operate at 5 volts. Each pin can provide or
receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of
20-50 ohms. In addition, some pins have specialized functions:

Serial: 0 (RX) and 1 (TX)

Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the
corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.

External Interrupts: 2 and 3

These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or
a change in value. See the attach Interrupt () function for details.

PWM: 3, 5, 6, 9, 10, and 11

Provide 8-bit PWM output with the analog Write() function.

SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

These pins support SPI communication using the SPI library.

LED: 13

There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is
on, when the pin is LOW, it's off.

16
The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of
resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though
is it possible to change the upper end of their range using the AREF pin and the analog
Reference () function. Additionally, some pins have specialized functionality:

TWI: A4 or SDA pin and A5 or SCL pin

Support TWI communication using the Wire library.

There are a couple of other pins on the board:

AREF:

Reference voltage for the analog inputs. Used with analog Reference ().

Reset:

Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields
which block the one on the board.

3.1.2 Communication:

The Arduino Uno has a number of facilities for communicating with a computer,
another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial
communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega16U2 on the
board channels this serial communication over USB and appears as a virtual com port to
software on the computer. The '16U2 firmware uses the standard USB COM drivers, and no
external driver is needed. However, on Windows, a .inf file is required. The Arduino software
includes a serial monitor which allows simple textual data to be sent to and from the Arduino
board. The RX and TX LEDs on the board will flash when data is being transmitted via the
USB-to-serial chip and USB connection to the computer (but not for serial communication on
pin 0 and pin 1.

A Software Serial library allows for serial communication on any of the Uno's digital
pins.

The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino
software includes a Wire library to simplify use of the I2C bus; see the documentation for
details. For SPI communication, use the SPI library.

3.1.3 Programming:

The Arduino Uno can be programmed with the Arduino software (download). Select
"Arduino Uno from the Tools > Board menu (according to the microcontroller on your board).
For details, see the reference and tutorials.

17
The ATmega328 on the Arduino Uno comes pre-burned with a boot loader that allows
you to upload new code to it without the use of an external hardware programmer. It
communicates using the original STK500 protocol (reference, C header files).

You can also bypass the boot loader and program the microcontroller through the ICSP
(In-Circuit Serial Programming) header; see these instructions for details.

The ATmega16U2 (or 8U2 in the rev1 and rev2 boards) firmware source code is
available. The ATmega16U2/8U2 is loaded with a DFU boot loader, which can be activated
by:

 On Rev1 boards: connecting the solder jumper on the back of the board (near the map
of Italy) and then resetting the 8U2.

 On Rev2 or later boards: there is a resistor that pulling the 8U2/16U2 HWB line to
ground, making it easier to put into DFU mode.

You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and
Linux) to load a new firmware. Or you can use the ISP header with an external programmer
(overwriting the DFU boot loader). See this user-contributed tutorial for more information.

3.1.4 Automatic (Software) Reset:

Rather than requiring a physical press of the reset button before an upload, the Arduino
Uno is designed in a way that allows it to be reset by software running on a connected computer.
One of the hardware flow control lines (DTR) of the ATmega8U2/16U2 is connected to the
reset line of the ATmega328 via a 100 Nano farad capacitor. When this line is asserted (taken
low), the reset line drops long enough to reset the chip. The Arduino software uses this
capability to allow you to upload code by simply pressing the upload button in the Arduino
environment. This means that the boot loader can have a shorter timeout, as the lowering of
DTR can be well-coordinated with the start of the upload.

This setup has other implications. When the Uno is connected to either a computer running
Mac OS X or Linux, it resets each time a connection is made to it from software (via USB).
For the following half-second or so, the boot loader is running on the Uno. While it is
programmed to ignore malformed data (i.e. anything besides an upload of new code), it will
intercept the first few bytes of data sent to the board after a connection is opened.

If a sketch running on the board receives one-time configuration or other data when it first
starts, make sure that the software with which it communicates waits a second after opening
the connection and before sending this data.

The Uno contains a trace that can be cut to disable the auto-reset. The pads on either side of
the trace can be soldered together to re-enable it. It's labeled "RESET-EN". You may also be
able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line.

18
3.1.5 USB over current Protection:

The Arduino Uno has a resettable polyfuse that protects your computer's USB ports
from shorts and over current. Although most computers provide their own internal protection,
the fuse provides an extra layer of protection. If more than 500mA is applied to the USB port,
the fuse will automatically break the connection until the short or overload is removed.

3.1.6 Physical Characteristics:

The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively,
with the USB connector and power jack extending beyond the former dimension. Four screw
holes allow the board to be attached to a surface or case. Note that the distance between digital
pins 7 and 8 is 160 mil (0.16"), not an even multiple of the 100 mil spacing of the other pins.

3.1.7 Features of Arduino Uno:

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current per I/O Pin 40 Ma

DC Current for 3.3V Pin 50 Ma

Flash Memory 32 KB (ATmega328) of which 0.5 KB used by boot loader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

19
Fig 3.2: ATmega168/328 Pin Mapping

3.1.8 Basic Functions of Arduino Technology

 Digital read pin reads the digital value of the given pin.

 Digital write pin is used to write the digital value of the given pin.

 Pin mode pin is used to set the pin to I/O mode.

 Analog read pin reads and returns the value.

 Analog write pin writes the value of the pin.

 Serial. Begins pin sets the beginning of serial communication by setting the rate of bit.

3.1.9 Advantages of Arduino Technology

 It is cheap

 It comes with an open supply hardware feature that permits users to develop their own
kit

 The software of the Arduino is well-suited with all kinds of in operation systems like
Linux, Windows, and Macintosh, etc.

20
 It also comes with open supply software system feature that permits tough software
system developers to use the Arduino code to merge with the prevailing programing
language libraries and may be extended and changed.

 For beginners, it is very simple to use.

3.1.10. Applications of Arduino Technology:

Arduino based Controlling of Electrical Appliances using IR:

The main goal of this project is to control the electrical appliances using an IR remote.
This project uses the TV remote to transmit the coded data, and then it is received by a sensor
which is interfaced to the control unit. The proposed system controls the electrical loads
depending on the transmitted data from the remote. Operating electrical appliances are very
difficult for handicapped or senior people. This project gives the solution by integrating
household appliances to a control unit which can be operated with a TV remote.

3.2. SONIC TRANSDUCER (ULTRASONIC SENSOR)

3.2.1. Introduction:

A special sonic transducer is used for the ultrasonic proximity sensors, which allows
for alternate transmission and reception of sound waves. The sonic waves emitted by the
transducer are reflected by an object and received back in the transducer. After having emitted
the sound waves, the ultrasonic sensor will switch to receive mode. The time elapsed between
emitting and receiving is proportional to the distance of the object from the sensor.

Fig 3.3: Transmitter and receiver of sensor Fig 3.4: Ultrasonic sensor HC-SR04

Ultrasonic waves are waves with frequencies above the frequency of the sound waves of more
than 20 KHz. As it has been mentioned that the ultrasonic sensor consists of an ultrasonic
transmitter circuit called ultrasonic transmitter and receiver circuit called a receiver. Ultrasonic
signals generated will be emitted from the ultrasonic transmitter. When the signal on an
obstacle, then the signal is reflected and received by the ultrasonic receiver. Signal received by
the receiver circuit to be sent to the microcontroller circuit further processed to calculate the
distance to objects in front of it (the field of reflection).

21
3.2.2. Working:

The working principle of ultrasonic sensors is as follows:

1. Ultrasonic signal emitted by the transmitter. The signal frequency above 20 kHz, which
is usually used to measure the distance of objects, is 40kHz. The signal is raised by the
circuit in ultrasonic transmitter.
2. The transmitted signal will then propagate the signal / noise sound wave with a speed
that ranges from 340 m/s. The signal will then be reflected and received by the receiver
Ultrasonic parts.
3. After the signal reached the ultrasonic receiver, then the signal is processed to calculate
the distance. Distances are calculated based on the formula:

(𝟑𝟒𝟎 × 𝒕 )
𝑺 =
𝟐

Where S is the distance between the ultrasonic sensor


with reflective fields, and t is the time difference between
transmitting ultrasonic waves to be accepted back by the
ultrasonic receiver section.

Fig 3.5: Ultrasonic sensor


transmitting and receiving
signals

3.2.3. The ultrasonic transmitter (Transmitter):

The ultrasonic transmitter that emits a series of sinusoidal signal frequency above 20
KHz is done using an ultrasonic transmitter transducer.

The working principle of the ultrasonic wave transmitter circuit is as follows:

1. 40 kHz signal generated by the microcontroller.


2. The signal is passed to a resistor of 3kΩ to safety when the signal is refracted forward
a series of diodes and transistors.
3. Then the signal is fed to a current amplifier circuit which is a combination of 2 pieces
2 pieces of transistors and diodes.
4. When the signal from the input logic high (+5 V) then the current will pass through the
diode D1 (D1 on), then the current will bias transistor T1, so the current will flow in
large kolektotr T1 will fit on the strengthening of the transistor.
5. When the signal from the input logic high (0V) then the current will pass through the
diode D2 (D2 on), then the current will bias the transistor T2, so the current will flow
in large transistor will fit on the strengthening of the transistor.
6. Resistors R4 and R6 serve to divide to 2.5 V. Ultrasonic transmitters so it will accept
the voltage back – back with Vpeak-peak is 5V (+2.5 V up to -2.5 V).

22
3.2.4. Ultrasonic receiver (Receiver):

Ultrasonic receiver will receive the signal emitted by the ultrasonic transmitter
ultrasonic frequencies corresponding to the characteristic. The received signal will go through
frequency filtering process by using a series of band pass filter (band pass filter), with a
frequency value that is passed has been determined. Then the output signal will be amplified
and passed to a comparator circuit (comparator) with a reference voltage amplifier output
voltage is determined by the distance between the sensor when the mini vehicles with bulkhead
/ barrier wall to reach the minimum distance to the turn direction. Comparator output can be
considered under these conditions is high (logic ‘1 ‘) while the longer distance is low (logic
‘0’). Binary logics are then forwarded to the controlling circuit (microcontroller).

The working principle of ultrasonic wave transmitter circuit is as follows:

1. First of all the received signal will be amplified by the first amplifier circuit transistor
Q2.
2. The signal will then be filtered using High pass filter at frequencies>40kHz by a series
of transistor Q1.
3. After the signal is amplified and filtered, then the signal will be rectified by the diodes
D1 and D2 series.
4. Then the signal through a low pass filter circuit filter at a frequency of <40kHz through
a series of filters C4 and R4.
5. After that the signal will go through the Op-Amp comparator U3.
6. So when there is an ultrasonic signal into the circuit, then the comparator will issue a
logic low (0V) which will then be processed by the microcontroller to calculate the
distance.

3.3. MOTOR DRIVER SHIELD

The L293D is quadruple


high-current half-H drivers.It is
designed to provide bidirectional
drive currents of up to 600-mA at
voltages from 4.5 V to 36 V. Both
devices are designed to drive
inductive loads such as relays,
solenoids, dc and bipolar stepping
motors, as well as other high-
current/high-voltage loads in
positive-supply applications. All
inputs are TTL compatible. Each Fig 3.6: Motor Shield
output is a complete totem-pole
drive circuit, with a Darlington transistor sink and a pseudo- Darlington source. Drivers are
enabled in pairs, with drivers 1 and 2 enabled by 1,2EN and drivers 3 and 4 enabled by 3,4EN.
When an enable input is high, the associated drivers are enabled, and their outputs are active

23
and in phase with their inputs. When the enable input is low, those drivers are disabled, and
their outputs are off and in the high-impedance state. With the proper data inputs, each pair of
drivers forms a full-H (or bridge) reversible drive suitable for solenoid or motor applications.

3.3.1. L293D Motor Driver IC

Fig 3.7: L293D Motor Driver IC

3.3.2. L293D Pin Configuration

Pin Pin Name Description


Number

1 Enable 1,2 This pin enables the input pin Input 1(2) and Input 2(7)

2 Input 1 Directly controls the Output 1 pin. Controlled by


digital circuits

3 Output 1 Connected to one end of Motor 1

4 Ground Ground pins are connected to ground of circuit (0V)

5 Ground Ground pins are connected to ground of circuit (0V)

6 Output 2 Connected to another end of Motor 1

7 Input 2 Directly controls the Output 2 pin. Controlled by


digital circuits

24
8 Vcc2 (Vs) Connected to Voltage pin for running motors (4.5V to
36V)

9 Enable 3,4 This pin enables the input pin Input 3(10) and Input
4(15)

10 Input 3 Directly controls the Output 3 pin. Controlled by


digital circuits

11 Output 3 Connected to one end of Motor 2

12 Ground Ground pins are connected to ground of circuit (0V)

13 Ground Ground pins are connected to ground of circuit (0V)

14 Output 4 Connected to another end of Motor 2

15 Input 4 Directly controls the Output 4 pin. Controlled by


digital circuits

16 Vcc2 (Vss) Connected to +5V to enable IC function

3.3.3. Pin Diagram

Fig 3.8: Pin diagram of L293D

25
Fig 3.9: Motor Driver IC L293D Pinout

3.3.4. Features
 Can be used to run Two DC motors with the same IC.
 Speed and Direction control is possible
 Motor voltage Vcc2 (Vs): 4.5V to 36V
 Maximum Peak motor current: 1.2A
 Maximum Continuous Motor Current: 600mA
 Supply Voltage to Vcc1(vss): 4.5V to 7V
 Transition time: 300ns (at 5Vand 24V)
 Automatic Thermal shutdown is available
 Available in 16-pin DIP, TSSOP, SOIC packages

3.3.5. Applications
 Used to drive high current Motors using Digital Circuits
 Can be used to drive Stepper motors
 High current LED’s can be driven
 Relay Driver module (Latching Relay is possible).

3.3.6. Features
 Wide Supply-Voltage Range: 4.5 V to 36 V
 Separate Input-Logic Supply
 Internal ESD Protection

26
 Thermal Shutdown
 High-Noise-Immunity Inputs
 Output Current 600 mA Per Channel
 Peak Output Current 1.2 A Per Channel

3.4. MOTOR DRIVER

The L298 Driver is a high voltage, high current dual full


bridge driver designed to accept standard TTL logic levels and
drive inductive loads such relays, solenoids, DC and stepping
motors. Two enable inputs are provided to enable or disable the
device independently of the input signals. The emitters of the
lower transistors of each bridge are connected together the

Corresponding external terminal can be used for the


connection of an external sensing resistor. Fig 3.10: Motor Driver L298
3.4.1. Pin Configuration

Pin Name Details

1 GND Ground

2 +12V Power supply input

3 IN1 Direction of motor 1

4 IN2 Direction of motor 1

5 ENA Controlling of motor 1

6 ENB Controlling of motor 2

7 IN3 Direction of motor 2

8 IN4 Direction of motor 2

3.4.2. Working

The L298 integrates two power output stages (A,B). The power output stage is a bridge
configuration and its outputs can drive an inductive load in common or differential mode,
depending on the state of the inputs. The current that flows through the load comes out from
the bridge at the sense output : an external resistor (RSA, RSB.) allows to detect the intensity
of this current.

Input Stage

27
Each bridge is driven by means of four gates the input of which are In1 ; In2 ; EnA and
In3 ; In4; EnB. The In inputs set the bridge state when The En input is high ; a low state of the
En input inhibits the bridge. All the inputs are TTL compatible. A non inductive capacitor,
usually of 100 nF, must be foreseen between both Vs and Vss, to ground, as near as possible
to GND pin. When the large capacitor of the power supply is too far from the IC, a second
smaller one must be foreseen near the L298. The sense resistor, not of a wire wound type, must
be grounded near the negative pole of Vs that must be near the GND pin of the IC. Each input
must be connected to the source of the driving signals by means of a very short path. Turn-On
and Turn-Off : Before to Turn-ON the Supply Voltage and before to Turn it OFF, the Enable
in-put must be driven to the Low state.

3.4.3. Features
 Operating supply voltage up to 46 V.
 Total DC current up to 4 A.
 Low saturation voltage.
 Over temperature protection.
 Logical “0” input voltage upto1.5 V. (HIGH NOISE IMMUNITY)
 Two motor direction indicator LEDs.
 An onboard user-accessible 5V low-dropout regulator.
 Scotty EMF-protection diodes.
 Screw-terminals for power and motor connections.
 High quality PCB FR4 Grade with FPT Certified.

3.4.4. Application
 MCU controlled vehicle.
 Wheel robots.

3.5. DC MOTOR

3.5.1. Principle of operation of a DC motor:

In a DC motor:

 Field poles are supplied by DC excitation current, which produces a DC magnetic


field.
 Armature winding (conductor) is supplied by dc current through the brushes, and
commutator.

According to the Lorents force equation, a current-carrying conductor when


placed in a magnetic field experiences a force that tend to move it, as shown in the following
figure.

28
Fig 3.11: DC Motor description

All the conductors placed on the periphery of a DC motor are subjected to these
forces. These forces cause the armature to rotate in the clockwise direction. Therefore, the
armature of a DC motor rotates in the direction of the torque developed by the motor

3.5.2. Features of DC Motors:


 Most of the electrical machines in service are AC types.
 DC machine are of considerable industrial importance.
 DC machine mainly used as DC motors and the DC generators are rarely used.
 DC motors provides a fine control of the speed which can not be attained by AC
motors.
 DC motors can develop rated torque at all speeds from standstill to rated speed.
 Developed torque at standstill is many times greater than the torque developed by
an AC motor of equal power and speed rating.

3.5.3. Application of DC Machines:


The DC machine can operate as either a motor or a generator; at present its use as a
generator is limited because of the widespread use of ac power.

 Large DC motors are used in machine tools, printing presses, fans, pumps, cranes,
paper mill, traction, textile mills and so forth.

 Small DC machines (fractional horsepower rating) are used primarily as control


device-such as tachogenerators for speed sensing and servomotors for position and
tracking, and used in Robots.

3.5.4. Advantages of DC Machines:


 High starting torque.
 Rapid acceleration and deceleration.
 Speed can be easily controlled over wide speed range.
 Used in tough gobs (traction motors, electric trains, electric cars,….)

29
 Built in wide range of sizes.

3.5.5. Disadvantages of DC Machines:

 Needs regular maintenance.


 Cannot be used in explosive area.
 High cost.

30
CHAPTER 4 – DESIGN AND METHODOLOGY

4.1. BLOCK DIAGRAM

Fig 4.1: Block Diagram of Automatic Table Cleaning Robot

We have already discussed about the mentioned blocks in previous chapters. About the Arduino
Uno, Motor Driver Shield, Motor Driver, Ultrasonic Sensor and DC motor is explained in chapter 3. We
will be discussing about the basic connection in this section.

The additional block we have not discussed earlier is the power supply. Power can be supplied
to the Arduino by a battery or by a 12v dc adaptor which provides the supply directly from the house
hold power. We can adapt any of these 2 methods in according to the possibility and availability.

The motor driver shield is made in such a way that it takes all the digital pins of Arduino UNO
and leaved the analog pins out on its body. That is the shield will be mounted on the body of Arduino
making available of the analog pins and runs/drives 4 motors. It requires 12v power in order to run the
motors and it is provided by the power supply itself.

We use another motor driver to run 2 motors which will be cleaning the table. This driver use 4
out of 6 analog pins of the Arduino and the connection is made through the shield. It also requires supply
to drive the motors and it is supplied by the power supply.

An Ultrasonic Sensor is used to detect the end of the table. It is connected to the remaining 2
analog pin of Arduino and the connection is made through the shield. Vcc and Gnd of the sensor are
connected to the +5v and gnd of the shield.

As discussed earlier, shield can drive 2 more motors with 4 DC motors. It can be either stepper
and servo motor or both servo motors or both stepper motors or it can be any other DC machine, shield
can run/drive them.
31
4.2 FLOW CHART

This robot will be moving throughout the length


of the table and detects the end of the table then
automatically returns back to the start point. It travels
backward for the same amount of time as it moved
forward.

Initially the robot has to be placed on the table.


When the power is supplied to the controller the
Ultrasonic Sensor will start reading the height from the
table to the robot.

By default the height from the table to the robot


will be less than 15 CM. The process of its working is,
when the distance is less than 15 CM, the robot
continuously moves forward.

When the sensor cross the edge of the table the


height measured will be greater than 15 CM. The
moment when the height measured will be greater than
15 CM, the controller instructs the motors to move
backward.

This is about the moment of the robot on the


table. Coming to the cleaning process, both the motors
driven by the motor driver l298 will be cleaning the Fig 4.2: Flow Chart of Automatic Table Cleaning
table throughout the moment of the machine. There will Robot
be brushes attached to the motors which are assigned
for cleaning. These motors carrying brushes will keep
on rotating on the table in order to clean it. As the width of the table increase the number of motors for
cleaning should also increase so are the brushes.

In parallel to the motors movement and cleaning process, there will be a disinfectant liquid which
has to be used in according to the cleaning process. Here in this project we have arranged a manual liquid
module, where the operator has to control the flow of the liquid. Further we are planning to add an inbuilt
liquid module which requires no external operator to control the flow. Also so we are planning to add
wiper module which will wipe all the liquid on the table.

32
4.3. Pictures of Device

Fig 4.3.1 Components and Connection View. Fig 4.3.2. Device View.

Fig 4.3.3. Scrubbers Attached to the Cleaning Motors.

Fig 4.3.4. Robot Doing Its Process. Fig 4.3.5. detecting the end of the table

33
CHAPTER 5 – RESULTS AND DISCUSSION

5.1. RESULT

 With the use of Arduino, and several mentioned components we can build an Automatic table
cleaning robot. This is the smallest version of the system. It can clean the table of any length.

 When it comes to the different heighted table, this demo piece is not recommendable Considering
this as the beta version of the robot, this is only recommended for the small tables.

5.2. DISCUSSION

#include <L298NX2.h>
#include <AFMotor.h>
#include <Servo.h>

AF_DCMotor motor1 (1, MOTOR12_1KHZ);


AF_DCMotor motor2 (2, MOTOR12_1KHZ);
AF_DCMotor motor3 (3, MOTOR34_1KHZ);
AF_DCMotor motor4 (4, MOTOR34_1KHZ);

int trigPin = A5;


int echoPin = A4;

float distance;
float duration;

const unsigned int IN_1 = A3;


const unsigned int IN_2 = A2;

const unsigned int IN_3 = A1;


const unsigned int IN_4 = A0;

const unsigned int EN_A;


const unsigned int EN_B;

int i;

L298NX2 clean(EN_A, IN_1, IN_2, EN_B, IN_3, IN_4);

Servo myservo;

void ultra() {

digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
34
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;

int inc() {
i = i + 1;
return i;
}

void rev(int x) {
while (x >= 0) {
moveBackward();

clean.backward();
Serial.println(x);
x -= 1;
}
for (;;) {
moveStop();

clean.stop();
myservo.write(50);
}
}

void setup()
{
Serial.begin(9600);

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

myservo.attach(10);

//setting speed for the cleaning motors


clean.setSpeedA(200);
clean.setSpeedB(200);

void loop()
{
int x = inc();
ultra();
if (distance <= 8) {
moveForward();
clean.forward();
myservo.write(175);
Serial.println(x);
}
if (distance > 9) {
delay(5000);
moveStop();
clean.stop();
35
delay(1000);
rev(x);
}
}

void moveStop() {
motor1.run(RELEASE);
motor2.run(RELEASE);
motor3.run(RELEASE);
motor4.run(RELEASE);
}

void moveForward() {
motor1.run(FORWARD);
motor2.run(FORWARD);
motor3.run(FORWARD);
motor4.run(FORWARD);

for (int a = 0; a < 255; a++) {


motor1.setSpeed(a);
motor2.setSpeed(a);
motor3.setSpeed(a);
motor4.setSpeed(a);
}
}

void moveBackward() {
motor1.run(BACKWARD);
motor2.run(BACKWARD);
motor3.run(BACKWARD);
motor4.run(BACKWARD);

for (int a = 0; a < 255; a++) {


motor1.setSpeed(a);
motor2.setSpeed(a);
motor3.setSpeed(a);
motor4.setSpeed(a);

}
}

36
CHAPTER 6 – CONCLUSION AND FUTURE SCOPE

6.1. CONCLUSION

We here used two brush setup for the idea demonstration. But as per the table’s height and breadth
we can construct the suitable machine in budget. In other cases we can even build a variable breadth and
height machine which can be used for all kinds of tables irrespective of its height and breadth. These
kind of machine will be very useful in future and can help us in reducing the need of manpower in such
sectors

6.2. FUTURE SCOPE

Addition of wiper: which on supplying the power brings down the wiper and when the machine is done
cleaning, it will be lifted upwards.

Addition of inbuilt liquid module: automatically the liquid stored in the bottle, which is attached to the
machine, will be falling on the table, drop by drop.

Variable breadth and height type machine: this module has a limitation when it comes to different
tables of different heights and breadths.

37
CHAPTER 7 - REFERENCE

o K. Aruna Manjusha, S Monika, “Design and Implementation of Smart Floor Cleaning Robot using
Android App”, International Journal of Innovative Technology and Exploring Engineering (IJITEE)
ISSN: 2278-3075, Volume-8 Issue-4S2 March, 2019.

o T. S. Aravinth, S A. Vimala, S. Sathiya Gopika, Birundha Devi, S. Manikandan, “Microcontroller


Based Floor Cleaning Robot” (International Journal of Innovative Technology and Exploring
Engineering (IJITEE)ISSN: 2278-3075, Volume-8 Issue-4S, February 2019.

o Sneha. R, Varsha. P. H, Rohan. P. S, Lavanya. V, Meghana. K, , “Sweepy – The Smart Floor


Cleaner”, IEEE International Conference on Design Innovations for 3cs compute communicate
control, 2018.

o Naman Agarwal, Prof. Ms. Swati Pawar, Akshay Mahalkar, Anshul Mishra, Piyusha Chaudhari,
“Review Paper Based on Cleaning Robot”, by Electronics and Telecommunication Department,
Savitribai Phule Pune University, Sandip Institute of Technology and Research center (IJRE),
Nashik-422005. Vol. 03 No. 05th, 20

38

You might also like