Case Study of Washing Machine
Case Study of Washing Machine
Case Study of Washing Machine
Washing machines has become one of the essential gadgets in modern day life. It has proved to be a
great help with washing clothes in today's era where time and effort has become very expensive!
Washing machine supports three functional modes:
i) Fully Automatic Mode: In fully automatic mode, once the system is started it
perform independently without user interference and after the completion of work it should notify the
user about the completion of work. This mode instantaneously sense cloth quality and requirement of
water, water temperature, detergent, load, wash cycle time and perform operation accordingly.
ii) Semi Automatic Mode: In this semi-automatic mode in which washing conditions are predefined.
Once the predefined mode is started the system perform its job and after completion it inform the user
about the completion of work.
iii) Manual Mode: In this mode, user has to specify which operation he wants to do and has to provid
e related information to the control system. For example, if user wants to wash clothes only, he has to
choose ‘wash’ option manually. Then the system ask the user to enter the wash time, amount of water
and the load. After these data are entered, the user should start the machine. When the specified operat
ion is completed system should inform the user.
TYPES OF WASHING MACHINES:
They are categorized into various groups according to the functionality as follows:
By Loading:
Front Loading
Top loading
Front Loading vs. Top Loading
Front loading washing machines are heavier than top loading counterparts. Thus top loading
machines are easier to move.
Front loading machines cannot be stopped once the process started, whereas in Top loading machine
clothes can be added anytime in between the process.
Front loading machine gives better performance as compared to the Top loading ones.
Front loading machines are also comparatively more efficient in terms of resources, like water and
power.
Not necessarily always but usually Top loading machines are cheaper and easier to handle.
Top loading machine is not good for delicate laundry but Front loading can handle them.
Maintenance cost is almost nil in Top loading machines, whereas Front loading machines have
maintenance cost, as it has some serviceable parts.
Front loading washing machines takes longer washing time. Thus it consumes more energy as well.
The choice has to be optimum based on the priorities of cost, efficiency and performance.
Summary: Front loading machines are better in performance and efficiency, and its top loading
counterparts are cheaper, easier to handle and need less maintenance.
1
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
By Function:
Semi Automatic
Fully Automatic
Semi automatic vs. Fully automatic washing machines
A semi-automatic, as the name suggests, will involve some manual work. For one thing these are
top loading twin tub machines where the washer and the dryer are separate units. So the task of
loading and unloading takes couple of extra times.
A fully automatic, on the other hand, can be either front or top loading and only requires to load the
dirty laundry and unload them after the wash. It goes without saying that a semi-automatic is
cheaper than the fully automatic machine.
Classification on the basis of how clothes are fed in to the machine.
Top loaded
Front loaded.
1. Top loaded machine: Top loading machines use two vertical drums with an agitator to pull the
clothes down in the center as it moves back and forth. The center then pushes them back up on the
outside of the basket. This motion is repeated for a determined amount of time. The inside drum is able
to move and is perforated so water can escape. The outer drum holds the water. Top loaders use much
more water than the front loaders. Top loaders allow to removing the clothes easily, without having to
bend, even during power failure. These machines are compact and require normal detergents for
washing. Clothes can be added even if the wash cycle has begun. The larger the drum, the loading and
the unloading is more convenient.
2. Front loaded machine: Front-loading washing machines requires less water and energy, as compared
to conventional machines. All front-loading machines use the tumble wash action for washing clothes.
Front loaders are usually more expensive. However, these consume less water and dry clothes much
faster than the top loading machine; thereby reduce the consumption of energy. Front loaders cannot
be open midway through a wash cycle. This type of loader use detergents producing less lather and, if
the power fails, door can’t open due to water present in the drum.
2
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
A. REQUIREMENTS:
1. PURPOSE:
A washing machine is a machine used to wash laundry, such as clothing and sheets.
The purpose of a washing machine is to remove soil (dirt) from the clothes.
It organizes to wash the clothes automatically according to a program preset by a user
It consists of a drum in which dirty clothes, water and detergent are filled.
2. INPUTS:
User push button: These are various buttons used for the interaction with user.
Water Temperature: The temperature sensor senses the current temperature of the water and
give this temperature as an input to the controller.
Drum Speed: Current speed of drum is sensed and this input is also given to the controller.
Water Level Sensor: this input gives current temperature of the water.
Door close switch: it is used to sense whether the door is closed or not.
3
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
Required program, washing type along with water level is selected based on the mode of washing.
The machine washes by spinning the motor according to a programmed period and rinses in fresh
water after draining out the dirty water, and rinse a second time if the system is not programmed in
water-saving mode.
The process stage of the system has been indicated by LED display and alarm/buzzer shows that
the wash cycle is complete.
6. DESIGN METRICS:
1) POWER CONSUMPTION: It depends on how the washing machine is used. Front loaders use
less water but have longer wash cycles. Top loaders use more water but have smaller wash cycles.
If hot water is used for washing then top loaders will consume more because amount of electricity
needed for heating water is lot more than the amount needed by the motor of the washing machine.
But if cold water wash is used in front loaders, they will consume more because they have longer
wash cycles.
2) DRUM: This mixes together the water, detergent and clothing.
3) OUTER TUB: This protect and holds the drum.
4) ELECTRIC MOTOR: This produces the movement that makes the drum spin.
5) SHOCK ABSORBERS: These receives the drum´s weight and support its movement
6) BELT: This transmits movement from the motor to the pulley that spins at the same time as the
drum
7) PERFORMANCE: Front loading machines are better in performance and efficiency, and its top
loading counterparts are cheaper, easier to handle and need less maintenance.
8) USER INTERFACES: Keypad (Push buttons/ Touch panel) for control selection. LED display to
indicate the ongoing process.
9) LOAD OF WASHING MACHINES: Generally standard load for washing machines is 5 - 6 Kg,
a bit higher loads is becoming standard this days. Also 7+ kg are available in the market, for higher
usage i.e for need involving more volume of clothes. Also higher drum size means less creasing of
clothes, which in turns means easier ironing.
10) ADDITIONAL FEATURES: Child lock, Adjustable volume for alarm/buzzer, Water softners /
Connectors for areas having hard water.
4
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
B. SPECIFICATIONS
The hardware and software specifications of washing machine can be stated as follows:
1. The system should provide fully automatic mode, semi-automatic mode and manual mode. Modes
should be selectable by a keypad.
2. Under fully automatic mode user intervention requirement should be zero. Once the system is started
in this mode it should perform its work independently and after the completion of work it should notify
the user about the completion of work. This mode instantaneously should sense cloth quality and
requirement of water, water temperature, detergent, load, wash cycle time and perform operation
accordingly.
3. In semi-automatic mode also user requirement should be nil. But user has to choose any one of the
semi-automatic mode in which washing conditions are predefined. Once the predefined mode is started
the system should perform its job and after completion it should inform the user.
4. In manual mode continuous intervention of user is required. User has to specify which operation he
wants to do and has to provide related information to the control system. For example, if user wants to
wash only, he has to choose ‘wash’ option in manual mode. Then the system should ask the user to
enter the wash time, amount of water and the load. After these data are entered, the user should start the
machine. When the specified operation is completed system should inform the user.
5. When the lid is open system should not work. If door is accidentally opened in between wash
operation, then the system should stop working in minimum possible time
6. The system should provide all basic features of a washing machine like washing, rinsing, spinning,
drying, cold wash, hot wash etc.
7. The system should provide easy options for upgradeability of new features. The hardware and the
software should be compatible to both machines, which have fewer features, or more features. Removal
of any feature should not affect the working of any other features or overall working of the system.
8. The system should work on single phase AC from 190VAC to 250VAC. The system should protect
itself from power supply voltage variations.
9. In the event of power failure, the washing machine should automatically start its cycle from the point
of interruption when power is resumed.
Fig.1.DATA FLOW DIAGRAM FOR WASHING MACHINE
5
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
Class Diagram:
6
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
STATE MACHINE:
7
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
STATE DIAGRAM:
8
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
D. HARDWARE ARCHITECTURE.
A washing machine may have a System Controller which provides the power control for vario
us monitors and pumps and even controls the display that tells us how the wash cycles are proceeding.
A washing machine comprise several components as shown in Fig.2.
1. Valve control unit: This unit control the water inlet valve and drain valve. It contains all the
information about the water valve, such as when it open and close. Similarly, it contains all the
information about the opening and closing of drain valve.
(i) Water pump: The water pump circulates water through the washing machine. It works in
two directions, re-circulating the water during wash cycle and draining the water during the spin
cycle.
(ii) Drain pipe: The drain pipe enables removing the dirty water from the washing that has been
used for the washing purpose.
2. Sensor unit: Sensor unit contains all the information of the sensors which are used in washing
machine, such as, sensor for load check(clothes weight) gives the information that how much load is
present inside the tub accordingly water fills into the tub. Similarly, it contains information for all other
sensors required in washing machine, such as, water availability check, detergent availability, door
open/close, balance check and trap check.
Tub: There are two types of tubs in the washing washing machine: inner and outer. The clothes
are loaded in the inner tub, where the clothes are washed, rinsed and dried. The inner tub has
small holes for draining the water. The external tub covers theinner tub and supports it during
various cycles of clothes washing.
3. Motor control unit: This unit controls the functioning of motor. It contains all the information about
the rotation of motor, such as when motor rotates in clockwise direction and when in counter clockwise.
It also contains the information when motor will on and off in all three cases i.e., washing, rinsing and
drying.
4. Display unit: The display unit consist of LEDs to indicate the completion of process, occurrence of
some problem while washing, set or reset of buttons, etc. Seven segment display for the numeric value
display and also for the message display of errors.
5. Timer: The timer helps setting the wash time for the clothes manually. In the automatic mode the
time is set automatically depending upon the number of clothes inside the washing machine.
9
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
6. Agitator or rotating disc: The agitator is located inside the tub of the washing machine. It is the
important part of the washing machine that actually performs the cleaning operation of the clothes.
During the wash cycle the agitator rotates continuously and produces strong rotating currents within
the water due to which the clothes also rotate inside the tub. The rotation of the clothes within water
containing the detergent enables the removal of the dirt particles from the fabric of the clothes. Thus
the agitator produces most important function of rubbing the clothes with each other as well as with
water.
In some washing machines, instead of the long agitator, there is a disc that contains blades on
its upper side. The rotation of the disc and the blades produce strong currents within the water and
the rubbing of clothes that helps in removing the dirt from clothes.
7. Printed circuit board (PCB): The PCB comprises of the various electronic components and circuits,
which are programmed to perform in unique ways depending on the load conditions (the condition and
the amount of clothes loaded in the washing machine). The PCB will calculate the total weight of
the clothes, and find out the quantity of water and detergent required, and the total time required for
washing the clothes. Then they will decide the time required for washing and rinsing. The entire
processing is done on a kind of processor which may be a microprocessor or microcontroller.
E. SOFTWARE ARCHITECTURE:
Based on the specification and hardware design flowchart/algorithm/pseudo code for the
software can be designed. To maintain modularity and for easy understanding machine
functionalities are divided into functions. Name of different functions and what each function
does has been briefly defined bellow:
INT0 ISR: external interrupt service routine; has highest priority; door sensor output is
connected to it; a low to high transition triggers the interrupt; if machine is running immediately
stops and alarms; if machine is not running it won’t start unless lid is closed (sensor output goes
low); message is sent to user in both conditions; alarm activated.
INT1 ISR: external interrupt 1; has second priority; keypad activity is detected here; calls
scan_keypad() routine; as per keypad activity sets the parameter and initializes the activity; One
of the crucial software routines.
fully_automatic_mode(): clothe quality is instantaneously sensed(stain sensor installed)
and amount of water, wash cycles and timing requirements are optimized; accordingly parameters
are set and activities are initialized and monitored till the completion of work. Used functions:
most of the functions
semi_automatic_mode(): activated by keypad scan routine; displays predefined
semi_auto1() to semi_auto_n() modes; can be scrolled up or down by the user; after the mode is
10
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
selected and entered by the user sets the parameter and initializes the activities; then transfers the
control to monitor_keypad() routine.
manual_mode(): activated by monitor_keypad(); upon entering it asks the user to enter
different parameters like water level, water temperature, wash time. After receiving the
parameters it waits for ‘E’ button to be pressed for starting the operation; provides options like
wash, rinse, spin, drain; options can be selected by scrolling up or down. Used functions:
rins(),wash(), spin(), drain(), check_water_temperature().
fill_tub(): input:amount of water to be filled; return: none; activates water inlet; checks
for water level by reading pressure sensor and calibrating it; if filled water=amount of
water to be filled exit the function else continue.
wash(): input: total wash time, tumble wash time; return: none ;reads RTC; calls the
tumble_wash() routine to perform tumble wash and passes the tumble wash time to this routine; if
wash time is over exit function else repeat the process; used functions: tumble_wash(),
read_RTC().
rinse(): input : rinse time, motor speed; return: none; reads RTC; as per received motor
speed generates the PWM output; checks for time out; reads motor speed;
spin(): input: spin time, spin speed; return: none; calls tumble_wash() to balance the load;
remaining operations are same as rinse().
drain(): activates water outlet; checks water level by reading pressure sensor; if(water
level=empty) deactivate outlet and exits else continues to read and check.
read_EEPROM(): input:starting address, number of bytes to be read; return: starting
address of read data; reads the external EEPROM and stores the read data in an array.
write_EEPROM(): input: starting address of source array, starting address of destination
array; return: none; write the data from the source array to the EEPROM.
read_RTC(): reads the RTC time: hour, minute and seconds stores in dedicated variable;
used functions: read_hour(), read_minute(), read_second().
read_hour(): input : none; return: hour data; reads the hour data from the RTC and
returns to called function.
read_minute(): input : none; return: minute data; reads the minute data from the RTC
and returns to called function.
read_second(): input : none; return: second value; reads the second data from the RTC
and returns to called function.
check_water_temp(): input: none; return: temperature; checks water temperature by
reading the temperature sensor; calibrates and returns to called function.
heat_water(): input: temperature; return: none; checks the water temperature;
if(calculated temperature
calculate_motor_speed(): input: none; return: speed; reads RTC seconds; enable
counter1/3; if one second is over stop counter, read and returns counter value else check
again.
11
EE6602-EMBEDDED SYSTEMS – III EEE (2014-2018)
scan_keypad():input: none; return: pressed key value; scans the keypad and returns the
pressed key value.
monitor_keypad(): uses scan_keypad() function to scan the keypad. After receiving key
value determines the respective function and transfers the control to respective lower
level functions; one of the very important routines.
write_LCD(): input: address, data; return: none; writes the data to specified address.
init_LCD(): initializes the LCD according to the initialization commands.
send_command_LCD(): input: command; return: none; writes the command to LCD
using write_LCD() function.
12