You are on page 1of 19

VIETNAM NATIONAL UNIVERSITY HO CHI MINH CITY

HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY


FACULTY OF ELECTRICAL AND ELECTRONICS ENGINEERING
-----o0o-----

FINAL REPORT
TOPIC:

WINDOW-CLEANING ROBOT

Subject: Engineering Orientation


Subject code: EE1025
Instructor: Ph.D. Nguyen Quang Nam
Class: TT01
Group: 07
Semester: 221
Group member: Nguyen Duy Ngoc 2251036
Vong Thu Yen 2251060
Nguyen Minh Duy 2251006

HO CHI MINH CITY, DECEMBER 2022


Abstract: In this day and age, robots have been highly advanced, giving researchers
more opportunities to explore new research fields. Robots are now used widely in many
aspects of life such as manufacturing, medicine, industry, etc. This paper will introduce the
application of robots in the cleaning process. The window-cleaning robot has been
introduced recently and seems to be efficient in homes, offices, and buildings. The robot is
designed to clean glass windows effectively even in dangerous conditions.

1
I. INTRODUCTION
For a long period, the window has been cleaned manually. Although several years
later, there are helps from machines, namely forklift, human resource is still the main part
of the cleaning process. To replace labor with robots and automation, scientists have
created a robot called a window-cleaning robot.

2
II. SYSTEM DESIGN AND COMPONENTS:
In this paper, the automatic window-cleaning robot consists of hardware and software
design. The hardware part deals with the mechanical and construction design, electrical and
electronic circuitry. The software parts deal with the microcontroller's programming to
control the motion.
1. Hardware design:
The components included in this robot are an Arduino Uno R3, a Bluetooth HC-06, 5
Gear Motors TT DC, a Motor Driver L298, a Servo motor SG9, Neobidium Magnet,
Resistors (1 KΩ, 2 KΩ, 10 KΩ), a Battery (12V, 300mAh), 2 AA Batteries, a Transistor
IRFZ44N, 4 Wheels, and a Cleaning Cloth.
a) Electrical and electronic design:
Arduino Uno R3:
The microcontroller Arduino Uno R3 is located in the middle of the robot’s chassis.
The Arduino Uno is a microcontroller that has fourteen digital input and output pins, six of
which can be used as PWM outputs and six for analog inputs.
 PWM (Pulse Width Modulation) outputs are output signals that are modulated to
drive analog devices such as variable-speed motors.
We used ten of these fourteen pins (five pins were used as output for PWM, three pins
were used for driver motor connection, and two pins were used for connection to the
Bluetooth module.)
 The Motor Driver is an expansion board for the Arduino UNO for DC motor
control. Drivers are available for this simplifying the wiring for this assembly.

3
Bluetooth HC-06:
The Bluetooth card serves us to control the movements of the robot via mobile phone.
The Bluetooth card has 6 ports: Power supply port, ground, two ports for TX/RX
communication, Enable, and State.
 Arduino uses serial communication to transfer data between the microcontroller
and PC or with any other microcontroller. A serial bus is used for this
communication which consists of two terminals: one is for sending data another
(TX: Transmitter), and one is for receiving data (RX: Receiver). This
communication is called the UART protocol (Universal Asynchronous Receiver &
Transmitter).

First, connect the Bluetooth earthing and power supply to the board. Then connect the
RX port of the Bluetooth to the TX port of the Arduino. Then connect the Bluetooth TX
port to the Arduino RX port. Bluetooth must be supplied with 3.3V. Since the Bluetooth
circuit is very sensitive to voltage, a circuit breaker consisting of 2 resistors, 1 KΩ, and 2
KΩ, respectively, had to be installed in the circuit.
Pin 0 or pin RX on the Arduino is connected to pin TX_5V on the Bluetooth module
because it exchanges information, and we need just that, and pin 1 or pin TX on the
Arduino is connected to pin RX_5V on the Bluetooth module for the same reason without
TX RX does not work and vice versa, we also used three 1 KΩ resistors to reduce the
voltage coming from the Arduino which is 5V, and thus reduces the voltage to 3.3V, the
basic idea has been to use the voltage divider with a 1 KΩ resistor and a 2 KΩ resistor.

4
Pin 8 is used to connect the servo motor so we connected to pin 8 to the pulse pin of
the servo motor. We connected the VCC pin of the servo motor to the 5V pin of the
Arduino microcontroller to supply it with power, as well as the GND pin with 0V or GND
to the Motor driver.

Pin 13 is used for connection to the Motor Driver to pin Enable2 while for EnableA to
the Motor driver pin 12/PWM is used.
Pins 4, 5, 6, and 7 were used to connect to the ln1, In2, In3, and In4 pins on the Motor
Driver.

5
And finally, the A11 pin is connected to a 10 KΩ resistor which is then connected to
an IRFZ44N transistor to reduce the voltage which goes to the wiper motor running at 5V.

Gear Motors:
The motors on the left side are connected to pins OUT1 and OUT2 on the Motor
driver because these two pins are controlled by EnableA. The motors on the right side are
connected by OUT3 and OUT4 because these two pins are controlled by EnableB.
The motor driver is supplied with 12V at the VCC or V+ gate. The driver has two
blocks for controlling the motors block A and B. Block A has two outputs "Out 1" and
"Out 2" and block B "Out 3" and "Out 4". Engines using block A are connected to "Out 1"
and "Out 2" while those using block B to "Out 3" and "Out 4".

6
For the motors to rotate we must connect the "Enable" port of the driver to the
Arduino and the condition must always be "HIGH". "EnableA" is used for block A while
"EnableB" is used for block B. Input ports must also be connected to the Arduino. With
"Input1" and "Input2" can be controlled "Out1" and "Out2" respectively. In this case, at the
moment when the engine must be rotated, "Input1" is "High" while "Input2" is "Low".
To cause a counterclockwise rotation it suffices to do the opposite with the inputs.
The motor driver offers a gate where the output has a voltage of 5V. We connect this gate
to the VCC port of the Arduino, in this way we also supply the Arduino with power, while
the power supply, the motor driver will receive from the 12V battery, with 300mAh.

Full circuit:

7
b) Mechanical:
The robot consists of the main board (including the microcontroller Arduino Uno R3
and modules), four wheels, a motor driver L298N, 5 gear motors TT DC, a magnet, an
ultrasonic sensor HC-SR04, a cleaning cloth, 2 batteries (AA).
Material: Mica plastic is used to make the robot chassis.

Motor driver: The motor driver is used to control the motor of each wheel.

8
Magnet: The magnet would keep the robot standing vertically on the window surface.
Cloth: The cloth is used to clean liquid on the window surface when it rotates.

Product’s similar design:

9
2. Programing:
The robot uses an integrated system of components to achieve its objective.
Programming was done with the programing language C++. The program written for this
project is simple, and easy to understand, and can be changed or modified as needed.

To control the robot we used an application called "Bluetooth RC Controller". To


save time in process of developing mobile applications, we used the program from the
"Play Store". It should be noted that the program is only available for phones with the
"Android" operating system. In the GUI of the application, buttons for turning on car
lights, signals, etc. appear. We have not been able to make changes to the application GUI
but only to the functionality of the buttons so in some cases the figure in the application
does not match the action it performs. We have explained the functions of all the buttons
below.

10
Step 1. Connect the application to the Bluetooth card

Connecting the Application via Bluetooth

Connecting the Application with Bluetooth 1

Bluetooth card selection

11
Step 2. Configuration of commands

Configuration of commands

Connecting buttons and actions


Step 3. Customized functions

12
Customized functions. 1. The robot moves forward, 2. The robot moves backward, 3.
The robot rotates to the left, 4. The robot rotates to the right, 5. Pour the cleaning detergent,
6. Rotates the wind driver wiper
III. CONCLUSION:
The automatic window cleaning robot has been successfully designed and fabricated.
The components used in this work are simple and cheap. The software programming is
simple and can be modified and implemented easily. In general, the system works
adequately as anticipated in the design process. Finally, this system should be further
developed so that it will have more features.

IV. REFERENCES:
[1] Ines Bula, Edin Bula, Edmond Hajrizi 2021, ‘Cost Oriented Autonomous Window
Cleaning Robot from Mechatronic Scrap – MechCleanBot’, August 2021.
[2] A. Albagul, A. Asseni, O. Jomah, M. Omer, B. Farge 2010, ‘Design and Fabrication of
an Automatic Window Cleaning Robot’, January 2010.
[3] Janet Heath 2017, ‘PWM: Pulse Width Modulation: What is it and how does it work?’,
Analogictips, 4 April, accessed 25 December 2022, <https://www.analogictips.com/pulse-
width-modulation-pwm/>.
[4] Xukyo 2020, ‘Using the Arduino Motor Driver’, Aranacorp, 27 September, accessed 24
December 2022, <https://www.aranacorp.com/en/using-the-arduino-motor-driver/>.
[5] Kashif 2022, ‘What is TX and RX on Arduino’, Linuxhint, August, accessed 24
December 2022, < https://linuxhint.com/tx-rx-on-arduino/>.

13
V. HOMEWORK:
1. FRDPARRC table:
FR DP A R R C
Magnetic Weight: < 3kg Battery capacity? <https:// Fell off
climbing www.alibaba.com/ from the
Material: mica Use which kind product-detail/ surface
plastic of suction motor? Window-Cleaning-
Robot-
Strong magnet Dimensions? LIECTROUX-HCR-
10_1600578096452.
Way of control? html?
spm=a2700.7735675
Using remote? .0.0.39097681vKVw
3P>
Which magnet?
<https://
www.researchgate.n
et/publication/
342642347_Window
_Cleaning_Robot_b
y_using_Arduino_as
_Microcontroller>
Cleaning dust & Cleaning cloth How to do this? <https:// The
liquid Which motor? nevonprojects.com/ window is
wall-climber-glass- not clean
cleaner-robot/>

2. Personal goals:
Members Goal
Nguyen Duy Ngoc I want to own an international tech business and sell 1000 products to
customers in 2035.
Vong Thu Yen I want to be an electronics and telecommunication engineer in
VNPT or Viettel and also get married to a respectful partner in 10
years.
Nguyen Minh Duy
This year, I want to pass all the subjects. Many years later, I want to
complete a study program at EEE in due course, with an excellent

14
certificate. Moreover, I want to work in a good company, to gain a
higher experience. To be an electronic engineer is my dream. To be
successful in life is my passion.

3. Decision matrix:

4. Fishbone diagram:

15
5. Mind map of discussion (using 6 thinking hats):

16
6. Provisional schedule:

Idea for Circuit Mechanical


21/11 product 05/12 design 12/12 design 19/12 Final report

7. Ethical case:

PART 1 Legal Illegal


-Reject the offer
-Consider & answer later
-Ignore the offer
Ethical -Ask for company’s
permission
- Deal with Larry’s uncle
later
-Accept the offer -Accept the offer and
-Accept & ask for other promise to help Larry
Unethical offers profit from the company

PART 2 Legal Illegal


-Comply with the policy &
Ethical reject the offer

17
-Ask for company’s -Ignore the policy &
permission accept the offer
Unethical

18

You might also like