SlideShare a Scribd company logo
1 of 12
9/15/2016 Washing Machine
USING MICROCHIP PIC18F
SERIES MICROCONTROLLER
15EL83
AMJAD JANWARI
AUTOMATIC WASHING MACHINE USING MICROCHIP
PIC18F SERIES MICROCONTROLLER
What Is a Washing Machine?
A washing machine is an electronic device that is designed to wash laundry like clothes, sheets,
towels and other bedding. A washing machine is built with two steel tubs which are the inner tub
and the outer tub whose main role is to prevent water from spilling to other parts of the machine.
Control knobs in washing machine:-
• Load select knob
• Water inlet select knob
• Mode select knob
• Program select knob
Principle of operation:-
Operation of Washing Machine is split in THREE cycles.
Wash cycle : - Here clothes are washed in water with Detergent.
Rinse cycle : - Here DIRT which is seperater from clothes is drained.
Dry cycle : - Here clothes are made to be DRIED.
WashCycle
Earlier washing machines simply carried out a washing action when loaded with clothes and soap,
filled with hot water, and started. Now users put clothes into the machine, select a suitable program
via a switch, start the machine, and come back to remove clean and slightly damp clothes at the end of
the cycle.
Rinse Cycle
Washing machines perform several rinses after the main wash to remove most of the detergent.
Thus most of water is removed from the washing tub.
Dry Cycle
Higher spin speeds remove more water, leading to faster drying. If a heated clothes-drier is used after
the wash and spin, energy use is reduced if more water has been removed from clothes.
Fully Automatic Washing Machine Fully automatic takes care of every thing including taking
water, rinsing and drying of clothes. Whereas in semi automatic you need to do it physically.
Functions of Automatic Washing Machine
It controls motor speed for wash and rinse operation.It checks level and temperature of water.It
operates the machine for specific time that user has programmed. The preprogrammed timing for each
cycle, for different types of clothes are stored in memory. It gives beep after washing is over.
The design uses the PIC18F series microcontroller. All the control functionalities of the
system are built around this. Upgradeability is the unique feature of this system. Control card
hardware and software allows the manufacturer to add or remove the features as per customer
requirement and model. Thus once the whole system is designed it is very economic in large quantity
production. Single-phase motor is considered for the design. Front panel consists of a keypad and
LCD display. Keypad provides automatic and manual wash options to the user. LCD display is
convenient to convey machine information to user. One more design possibility is to use brushless
DC motors or three phase induction motor. These types of motors are very efficient but requires
complex control algorithm. To implement such a complex and real time algorithm dedicated
controller and software is required which a master controller controls.
Even though cost is important criteria modern washing machines are designed with BLDC motors
owing to efficiency and energy conservation. But in this assignment single phase universal motor
has been used to design prototype due to its simplicity.
Design Specifications
This include both hardware and software specifications.
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 10s
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.
Hardware Design
Heart of this system is PIC18F452. Most of the peripheral features have been utilized to
implement the design. Controlling the motor is very crucial part of the design. The PWM feature of
the microcontroller controls motor speed. PWM output is fed to driver circuit and then to motor. To
rotate the motor in two different directions ‘forward’ and ‘reverse’ direction control blocks are used.
Motor speed sensor is interfaced to microcontroller. Microcontroller reads the speed of the motor
and appropriately controls the speed of the motor in different phases of washing using PWM output.
Door sensor, pressure sensor, keypad are also interfaced to microcontroller. Serial port in connected
to GSM module. EEPROM and RTC are interfaced to MSSP module of controller. In circuit serial
programming facility is provided for quick and easy programming and debugging.
Schematic Design
A detailed schematic with pin connection of PIC microcontroller is provided in the Figure (1).
Figure (1) Block Schematic of Washing Machine Controller
Washing machine default parameters and user settable parameters are stored in external
EEPROM. Internal EEPROM of the PIC is used to store status of the washing machine. The status
is regularly logged to the internal EEPROM. In the event of power failure or whenever program
resets, status flags are read from the internal EEPROM and thus status of the machine is determined
and operation is continued from the point of interruption. Accessing of internal EEPROM is faster
compared to external EEPROM. PIC18F452 provide 256 bytes of internal EEPROM that is not
sufficient for storing parameters of machine. For this purpose external EEPROM is used.
Depending on the mode flag and status flag conditions corresponding machine parameters are read
from the external EEPROM and temporarily stored in RAM and operations are performed.RTC
DS1305 is interfaced to SPI port of the microcontroller. This RTC is used as timing reference for
all timing calculation of machine. Whenever a particular mode starts RTC is initialized to zero and
there onwards RTC is read and compared with the set timings; with the battery backup provision
actual RTC can also be implemented. Since PIC allows either I2C or SPI mode at a time, whenever
we need to access EEPROM or RTC, MSSP port of the PIC has to be configured to respective
protocol.In Circuit Serial Programming (ICSP) is accomplished using pins PGM, PGC, PGC and
active low MCLR. These pins are also used to RB5, RB6 and RB7. To satisfy both conditions
jumpers are provided. When programming of IC is required jumper settings ‘1’ has to be used.
After programming, jumpers have to be replaced to setting ‘2’. This allows the use of RB5 to RB7
and brings the controller from programming mode to normal working mode. Thus ICSP helps
speedy programming and debugging of software.
Some of the sensor outputs are fed to instrumentation amplifier to bring the output level to 0V to
5V range. Door (lid) sensor is connected to external interrupt 0. High priority is assigned to
this interrupt. Thus opening of the door causes triggering of INT0 and INT0 ISR immediately stops
the machine and informs the user. Analog input channels AN2, AN3 and AN4 can be used to
upgrade the system with additional sensors.Keypad is connected to PORTD. Keypad and meaning
of keys are shown in Figure (2). Pull-up resistors are connected to RD0 to RD3 to enable keypad
press detection. ORing RD4 to RD7 achieves this and output is given to external interrupt 1(INT1).
When any of the keys is pressed ORed output becomes high and INT1 triggers. INT1 ISR does a
keypad scan and appropriately performs the operation.
Figure (2) Keypad and Key Functions
Motor direction driver circuit determines the direction of the motor. Motor forward direction
drives the current in forward direction and motor rotates forward. Motor reverse direction driver
does the opposite of it. Software has to take care that both are not activated at a time. Speed of the
motor is controlled using PWM driver. Speed of the motor and hence the drum varies in different
phases of washing cycles. Speed profile of the washing machine drum is illustrated in Figure (3).
Before changing the direction of the motor, PWM output must be made zero. PWM output is varied
as per the calculated speed to maintain constant speed during wash cycles.
Figure (3) Speed Profile of Different Washing Cycles
Port pins RE1 and RE2 are fed to water valve drivers, which control the flow of water, while
RE0 is connected to heater relay. Dedicated LCD with 3-wire interface is used. 3 wires consist of
data line, clock and Chip Select (CS). Backlight control is also provided. GSM module is interfaced
using serial port. Standard AT command set is used to communicate with GSM module.
It is assumed that when sensor outputs reach microcontroller inputs it has maximum swing of
0V to 5V. It is also assumed that PWM driver circuit controls gearbox and clutch mechanisms.
Power supply circuits and regulators are not shown in the Figure (1). Suitably designed SMPS and
AC regulators take care of power supply requirement of each block.
Software Design
Based on the specification and hardware design flowchart/algorithm/pseudo code for the
software can be designed. The overall flow of the software is shown in Figure (4). 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:
def.h: header file; this file includes all port pin definitions, global variable declarations, address
assignments, macro definitions, function prototypes.
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.
Serial ISR: occurrence of this interrupt means that a command is received at GSM sent by the
user; ISR reads the message from the GSM module and sets the parameters; initializes the activity
accordingly; sends back status/acknowledgement to user. Used functions: read from GSM , write
to GSM.
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 modes; can be scrolled up or down by the user; after the mode is
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.
washinput: 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; if (motor speed>required
speed) reduce PWM output else if(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.
ReadEEPROM: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.
Figure (4) Overall Software Flow Diagram
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.
Write to GSM input: starting address of the message, size of message; return: none; writes
the message to GSM module using standard AT+CMGS command.
Read from GSM : reads the message from GSM using AT+CMGR command.
Delete messageGSM: input: location from which message has to be deleted; return: none;
deletes the message from GSM using AT+CMGD command.
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.
Enable SPI: MSSP port is configured as SPI port by initializing corresponding registers.
Disable SPI:MSSP port is configured so as to disable SPI.
enableI 2C: MSSP port is configured as I2C- port by initializing corresponding registers.
Disable I2C:MSSP port is configured so as to disable I2C.
Scankeypadinput: 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.
ReadADC input: channel number; return: read ADC data ; configures ADC for the specified
channel
Write LCD input: address, data; return: none; writes the data to specified address.
Init LCD: initializes the LCD according to the initialization commands.
Sendcommand LCD: input: command; return: none; writes the command to LCD using write
LCD function.
set PWMinput: motor speed; return: none; sets PWM frequency as per motor
Figure (4) summarizes the overall flow of software. It shows tree structure of very important
Monitor keypad function. This function invokes many other functions depending on the pressed
key and set or reset mode status flags. Strictly speaking this function does not execute any control
operations; instead it transfers the control to main program to handle the important operations and
thus indirectly executes it. For example if key ‘A’ is pressed then functions understands that fully
automatic mode has to be executed. The monitor keypad function waits for the key ‘E’ is to be
pressed and upon detecting the key press it initializes the operations related to fully automatic
mode; it sets all related mode status flags and uploads to internal EEPROM; loads basic parameters
from the external EEPROM to the RAM and transfers control to main function. Main function
performs operations as per status flag condition. Thus washing mode related operations are
indirectly executed by ISR. But ‘On/Off’ and ‘S’-settings are directly executed by ISR. While
setting the parameters as per user requirements, through keypad parameters are read and directly
uploaded to predefined address locations. Delayed start option can be set to each semi automatic
mode. One of the messages provides the option to enter the delay time. Default delay is zero. Since
external RTC is used as time base, PIC timer modules can be efficiently used in programming.
Any one of the timer interrupts can be used to read A/D module in regular interval of time, instead
of reading in main function. Results are stored in predefined variables. Drawback of this method
of programming is that read value may
not be ‘instantaneous’; it may be older by some microseconds or milliseconds.
The proposed design can be easily a part of home automation. The system is flexible and safer to
use. Smart features can be added or withdrawn as per requirements and hence design is fully cost
effective. The same design methodology adopted here can be extended to design the commercial
product. If cost is not a criterion, then hardware can be easily modified to add an independent
BLDC (or three phase) motor controller either through multiplexed serial port or by replacing
GSM module by BLDC (three phase) motor controller.
Inside the Washing Machine: -
Parts of Washing Machine: -
Parts of washing machine: -
1) Water inlet control valve: Near the water inlet point of the
washing there is water inlet control valve. When you load the clothes in
washing machine, this valve gets opened automatically and it closes
automatically depending on the total quantity of the water required. The water
control valve is actually the solenoid valve.
2) 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.
3) 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 thinner tub and supports it during various cycles of
clothes washing.
4) 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.
5) Motor of the washing machine: The motor is coupled to the agitator or the
disc and produces it rotator motion. These are multispeed motors, whose
speed can be changed as per the requirement. In the fully automatic washing
machine the speed of the motor i.e. the agitator changes automatically as per
the load on the washing machine.
6) 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.
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). They are sort of artificial intelligence
devices that sense the various external conditions and take the decisions
accordingly. These are also called as fuzzy logic systems. Thus 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.
8) Drain pipe: The drain pipe enables removing the dirty water from the
washing that has been used for the washing purpose.

More Related Content

What's hot

IEC 61131-3 PLC Programming Languages: Beyond Ladder Logic
IEC 61131-3 PLC Programming Languages:  Beyond Ladder LogicIEC 61131-3 PLC Programming Languages:  Beyond Ladder Logic
IEC 61131-3 PLC Programming Languages: Beyond Ladder LogicDrives & Systems
 
Plc based automatic bottle filling system
Plc based automatic bottle filling systemPlc based automatic bottle filling system
Plc based automatic bottle filling systemkl university
 
Automatic chocolate vending machine using mucos rtos ppt
Automatic chocolate vending machine using mucos rtos pptAutomatic chocolate vending machine using mucos rtos ppt
Automatic chocolate vending machine using mucos rtos pptJOLLUSUDARSHANREDDY
 
Introduction to Robotics
Introduction to Robotics Introduction to Robotics
Introduction to Robotics YAZEN SHAKIR
 
Project Report On Micro-controller Embedded System
Project Report On Micro-controller Embedded SystemProject Report On Micro-controller Embedded System
Project Report On Micro-controller Embedded SystemRkrishna Mishra
 
Open loop and closed loop
Open loop and closed loopOpen loop and closed loop
Open loop and closed loopRiddhi Patel
 
ppt on PLC automation
ppt on PLC automationppt on PLC automation
ppt on PLC automationMd Talib
 
Auctioneering control system
Auctioneering control systemAuctioneering control system
Auctioneering control systemAshvani Shukla
 
Design and Construction of DC Motor Speed Controller Using Android.ppt
Design and Construction of DC Motor Speed Controller Using Android.pptDesign and Construction of DC Motor Speed Controller Using Android.ppt
Design and Construction of DC Motor Speed Controller Using Android.pptEEESrproject
 
Programmable Logic Controller
Programmable Logic ControllerProgrammable Logic Controller
Programmable Logic ControllerValai Ganesh
 
automatic control, Basic Definitions, Classification of Control systems, Requ...
automatic control, Basic Definitions, Classification of Control systems, Requ...automatic control, Basic Definitions, Classification of Control systems, Requ...
automatic control, Basic Definitions, Classification of Control systems, Requ...Waqas Afzal
 
Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry  Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry Mohammad Ehtasham
 
ROBOT CYCLE TIME ANALYSIS
ROBOT CYCLE TIME ANALYSISROBOT CYCLE TIME ANALYSIS
ROBOT CYCLE TIME ANALYSISnirmal304
 

What's hot (20)

IEC 61131-3 PLC Programming Languages: Beyond Ladder Logic
IEC 61131-3 PLC Programming Languages:  Beyond Ladder LogicIEC 61131-3 PLC Programming Languages:  Beyond Ladder Logic
IEC 61131-3 PLC Programming Languages: Beyond Ladder Logic
 
Plc based automatic bottle filling system
Plc based automatic bottle filling systemPlc based automatic bottle filling system
Plc based automatic bottle filling system
 
Plc basics
Plc   basicsPlc   basics
Plc basics
 
Automatic chocolate vending machine using mucos rtos ppt
Automatic chocolate vending machine using mucos rtos pptAutomatic chocolate vending machine using mucos rtos ppt
Automatic chocolate vending machine using mucos rtos ppt
 
Introduction to Robotics
Introduction to Robotics Introduction to Robotics
Introduction to Robotics
 
Project Report On Micro-controller Embedded System
Project Report On Micro-controller Embedded SystemProject Report On Micro-controller Embedded System
Project Report On Micro-controller Embedded System
 
Control system
Control systemControl system
Control system
 
Open loop and closed loop
Open loop and closed loopOpen loop and closed loop
Open loop and closed loop
 
ppt on PLC automation
ppt on PLC automationppt on PLC automation
ppt on PLC automation
 
Auctioneering control system
Auctioneering control systemAuctioneering control system
Auctioneering control system
 
Atm machine
Atm machineAtm machine
Atm machine
 
Design and Construction of DC Motor Speed Controller Using Android.ppt
Design and Construction of DC Motor Speed Controller Using Android.pptDesign and Construction of DC Motor Speed Controller Using Android.ppt
Design and Construction of DC Motor Speed Controller Using Android.ppt
 
DCS an overview
DCS an overviewDCS an overview
DCS an overview
 
Dcs display by manoj
Dcs display by manojDcs display by manoj
Dcs display by manoj
 
On off controller
On off controllerOn off controller
On off controller
 
Programmable Logic Controller
Programmable Logic ControllerProgrammable Logic Controller
Programmable Logic Controller
 
Robot work cell layout
Robot work cell layoutRobot work cell layout
Robot work cell layout
 
automatic control, Basic Definitions, Classification of Control systems, Requ...
automatic control, Basic Definitions, Classification of Control systems, Requ...automatic control, Basic Definitions, Classification of Control systems, Requ...
automatic control, Basic Definitions, Classification of Control systems, Requ...
 
Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry  Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry
 
ROBOT CYCLE TIME ANALYSIS
ROBOT CYCLE TIME ANALYSISROBOT CYCLE TIME ANALYSIS
ROBOT CYCLE TIME ANALYSIS
 

Viewers also liked

S3 Individual Presentation - Washing Machine
S3 Individual Presentation - Washing MachineS3 Individual Presentation - Washing Machine
S3 Individual Presentation - Washing Machineno suhaila
 
Microprocessor in washing machine
Microprocessor in washing machineMicroprocessor in washing machine
Microprocessor in washing machineSandeep Kamath
 
Using 8051 microcontroller based washing machine control ppt
Using 8051 microcontroller based washing machine control pptUsing 8051 microcontroller based washing machine control ppt
Using 8051 microcontroller based washing machine control pptSangeeth Sb
 
Washing machine
Washing machineWashing machine
Washing machinevamshi369
 
History of washing machine
History of washing machineHistory of washing machine
History of washing machineNataliya Shulgan
 
Applications of 8051 microcontrollers
Applications of 8051 microcontrollersApplications of 8051 microcontrollers
Applications of 8051 microcontrollersDr.YNM
 
Master synchronous serial port (mssp)
Master synchronous serial port (mssp)Master synchronous serial port (mssp)
Master synchronous serial port (mssp)babak danyal
 
Automatic Pill Dispenser Presentation
Automatic Pill Dispenser PresentationAutomatic Pill Dispenser Presentation
Automatic Pill Dispenser PresentationBryson Wynter
 
WATERLESS WASHING MACHINE
WATERLESS WASHING MACHINEWATERLESS WASHING MACHINE
WATERLESS WASHING MACHINEmillgaydil
 
Water less Washing machine
Water less Washing machineWater less Washing machine
Water less Washing machinejayakrishna310
 
Embedded c program and programming structure for beginners
Embedded c program and programming structure for beginnersEmbedded c program and programming structure for beginners
Embedded c program and programming structure for beginnersKamesh Mtec
 

Viewers also liked (20)

Washing machine
Washing machineWashing machine
Washing machine
 
Washing Machine
Washing MachineWashing Machine
Washing Machine
 
S3 Individual Presentation - Washing Machine
S3 Individual Presentation - Washing MachineS3 Individual Presentation - Washing Machine
S3 Individual Presentation - Washing Machine
 
Microprocessor in washing machine
Microprocessor in washing machineMicroprocessor in washing machine
Microprocessor in washing machine
 
Using 8051 microcontroller based washing machine control ppt
Using 8051 microcontroller based washing machine control pptUsing 8051 microcontroller based washing machine control ppt
Using 8051 microcontroller based washing machine control ppt
 
Washing machine
Washing machineWashing machine
Washing machine
 
Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
Washing machines
Washing machinesWashing machines
Washing machines
 
Watches
WatchesWatches
Watches
 
History of washing machine
History of washing machineHistory of washing machine
History of washing machine
 
Applications of 8051 microcontrollers
Applications of 8051 microcontrollersApplications of 8051 microcontrollers
Applications of 8051 microcontrollers
 
Master synchronous serial port (mssp)
Master synchronous serial port (mssp)Master synchronous serial port (mssp)
Master synchronous serial port (mssp)
 
Washing machine
Washing machineWashing machine
Washing machine
 
Washing machine
Washing machineWashing machine
Washing machine
 
Overview of embedded system
Overview of embedded systemOverview of embedded system
Overview of embedded system
 
Automatic Pill Dispenser Presentation
Automatic Pill Dispenser PresentationAutomatic Pill Dispenser Presentation
Automatic Pill Dispenser Presentation
 
WATERLESS WASHING MACHINE
WATERLESS WASHING MACHINEWATERLESS WASHING MACHINE
WATERLESS WASHING MACHINE
 
Water less Washing machine
Water less Washing machineWater less Washing machine
Water less Washing machine
 
Embedded c program and programming structure for beginners
Embedded c program and programming structure for beginnersEmbedded c program and programming structure for beginners
Embedded c program and programming structure for beginners
 
The washing machine
The washing machineThe washing machine
The washing machine
 

Similar to 15 el83 automatic washing machine using microchip pic18f series microcontroller

Low Cost PLC Alternative Solution with SCADA Interface Using Microcontroller
Low Cost PLC Alternative Solution with SCADA Interface Using MicrocontrollerLow Cost PLC Alternative Solution with SCADA Interface Using Microcontroller
Low Cost PLC Alternative Solution with SCADA Interface Using MicrocontrollerIRJET Journal
 
IoT Based Project for Railway Locomotive Monitoring System, Alert on Emergen...
IoT Based Project for Railway  Locomotive Monitoring System, Alert on Emergen...IoT Based Project for Railway  Locomotive Monitoring System, Alert on Emergen...
IoT Based Project for Railway Locomotive Monitoring System, Alert on Emergen...IRJET Journal
 
A Mechatronics Approach For Concerting the Programmable Logic Controller With...
A Mechatronics Approach For Concerting the Programmable Logic Controller With...A Mechatronics Approach For Concerting the Programmable Logic Controller With...
A Mechatronics Approach For Concerting the Programmable Logic Controller With...IRJET Journal
 
JamesWijonoPLCBottleFilling
JamesWijonoPLCBottleFillingJamesWijonoPLCBottleFilling
JamesWijonoPLCBottleFillingDavid James
 
Vigilance control system using mcf5235 processor
Vigilance control system using mcf5235 processorVigilance control system using mcf5235 processor
Vigilance control system using mcf5235 processoreSAT Publishing House
 
Basic plc
Basic plcBasic plc
Basic plcmnamky
 

Similar to 15 el83 automatic washing machine using microchip pic18f series microcontroller (20)

P12 oct04
P12 oct04P12 oct04
P12 oct04
 
Low Cost PLC Alternative Solution with SCADA Interface Using Microcontroller
Low Cost PLC Alternative Solution with SCADA Interface Using MicrocontrollerLow Cost PLC Alternative Solution with SCADA Interface Using Microcontroller
Low Cost PLC Alternative Solution with SCADA Interface Using Microcontroller
 
IoT Based Project for Railway Locomotive Monitoring System, Alert on Emergen...
IoT Based Project for Railway  Locomotive Monitoring System, Alert on Emergen...IoT Based Project for Railway  Locomotive Monitoring System, Alert on Emergen...
IoT Based Project for Railway Locomotive Monitoring System, Alert on Emergen...
 
A Mechatronics Approach For Concerting the Programmable Logic Controller With...
A Mechatronics Approach For Concerting the Programmable Logic Controller With...A Mechatronics Approach For Concerting the Programmable Logic Controller With...
A Mechatronics Approach For Concerting the Programmable Logic Controller With...
 
Basic plc 1
Basic plc 1Basic plc 1
Basic plc 1
 
JamesWijonoPLCBottleFilling
JamesWijonoPLCBottleFillingJamesWijonoPLCBottleFilling
JamesWijonoPLCBottleFilling
 
Vigilance control system using mcf5235 processor
Vigilance control system using mcf5235 processorVigilance control system using mcf5235 processor
Vigilance control system using mcf5235 processor
 
Basic plc
Basic plcBasic plc
Basic plc
 
Industrial Automation Using B&R PLC.
Industrial Automation Using B&R PLC.Industrial Automation Using B&R PLC.
Industrial Automation Using B&R PLC.
 
Industrial Automation
Industrial AutomationIndustrial Automation
Industrial Automation
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic PLC.ppt
Basic PLC.pptBasic PLC.ppt
Basic PLC.ppt
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 
Basic plc
Basic plcBasic plc
Basic plc
 

Recently uploaded

OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsSandeep D Chaudhary
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
PANDITA RAMABAI- Indian political thought GENDER.pptx
PANDITA RAMABAI- Indian political thought GENDER.pptxPANDITA RAMABAI- Indian political thought GENDER.pptx
PANDITA RAMABAI- Indian political thought GENDER.pptxakanksha16arora
 
Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111GangaMaiya1
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
dusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learningdusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learningMarc Dusseiller Dusjagr
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Celine George
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Play hard learn harder: The Serious Business of Play
Play hard learn harder:  The Serious Business of PlayPlay hard learn harder:  The Serious Business of Play
Play hard learn harder: The Serious Business of PlayPooky Knightsmith
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptNishitharanjan Rout
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfstareducators107
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfUGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfNirmal Dwivedi
 

Recently uploaded (20)

OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
PANDITA RAMABAI- Indian political thought GENDER.pptx
PANDITA RAMABAI- Indian political thought GENDER.pptxPANDITA RAMABAI- Indian political thought GENDER.pptx
PANDITA RAMABAI- Indian political thought GENDER.pptx
 
Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111Details on CBSE Compartment Exam.pptx1111
Details on CBSE Compartment Exam.pptx1111
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
dusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learningdusjagr & nano talk on open tools for agriculture research and learning
dusjagr & nano talk on open tools for agriculture research and learning
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17Model Attribute _rec_name in the Odoo 17
Model Attribute _rec_name in the Odoo 17
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Play hard learn harder: The Serious Business of Play
Play hard learn harder:  The Serious Business of PlayPlay hard learn harder:  The Serious Business of Play
Play hard learn harder: The Serious Business of Play
 
AIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.pptAIM of Education-Teachers Training-2024.ppt
AIM of Education-Teachers Training-2024.ppt
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdfUGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
UGC NET Paper 1 Unit 7 DATA INTERPRETATION.pdf
 
VAMOS CUIDAR DO NOSSO PLANETA! .
VAMOS CUIDAR DO NOSSO PLANETA!                    .VAMOS CUIDAR DO NOSSO PLANETA!                    .
VAMOS CUIDAR DO NOSSO PLANETA! .
 

15 el83 automatic washing machine using microchip pic18f series microcontroller

  • 1. 9/15/2016 Washing Machine USING MICROCHIP PIC18F SERIES MICROCONTROLLER 15EL83 AMJAD JANWARI
  • 2. AUTOMATIC WASHING MACHINE USING MICROCHIP PIC18F SERIES MICROCONTROLLER What Is a Washing Machine? A washing machine is an electronic device that is designed to wash laundry like clothes, sheets, towels and other bedding. A washing machine is built with two steel tubs which are the inner tub and the outer tub whose main role is to prevent water from spilling to other parts of the machine. Control knobs in washing machine:- • Load select knob • Water inlet select knob • Mode select knob • Program select knob Principle of operation:- Operation of Washing Machine is split in THREE cycles. Wash cycle : - Here clothes are washed in water with Detergent. Rinse cycle : - Here DIRT which is seperater from clothes is drained. Dry cycle : - Here clothes are made to be DRIED. WashCycle Earlier washing machines simply carried out a washing action when loaded with clothes and soap, filled with hot water, and started. Now users put clothes into the machine, select a suitable program via a switch, start the machine, and come back to remove clean and slightly damp clothes at the end of the cycle. Rinse Cycle Washing machines perform several rinses after the main wash to remove most of the detergent. Thus most of water is removed from the washing tub. Dry Cycle Higher spin speeds remove more water, leading to faster drying. If a heated clothes-drier is used after the wash and spin, energy use is reduced if more water has been removed from clothes. Fully Automatic Washing Machine Fully automatic takes care of every thing including taking water, rinsing and drying of clothes. Whereas in semi automatic you need to do it physically. Functions of Automatic Washing Machine It controls motor speed for wash and rinse operation.It checks level and temperature of water.It operates the machine for specific time that user has programmed. The preprogrammed timing for each cycle, for different types of clothes are stored in memory. It gives beep after washing is over. The design uses the PIC18F series microcontroller. All the control functionalities of the system are built around this. Upgradeability is the unique feature of this system. Control card hardware and software allows the manufacturer to add or remove the features as per customer requirement and model. Thus once the whole system is designed it is very economic in large quantity production. Single-phase motor is considered for the design. Front panel consists of a keypad and LCD display. Keypad provides automatic and manual wash options to the user. LCD display is
  • 3. convenient to convey machine information to user. One more design possibility is to use brushless DC motors or three phase induction motor. These types of motors are very efficient but requires complex control algorithm. To implement such a complex and real time algorithm dedicated controller and software is required which a master controller controls. Even though cost is important criteria modern washing machines are designed with BLDC motors owing to efficiency and energy conservation. But in this assignment single phase universal motor has been used to design prototype due to its simplicity. Design Specifications This include both hardware and software specifications. 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 10s 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. Hardware Design Heart of this system is PIC18F452. Most of the peripheral features have been utilized to implement the design. Controlling the motor is very crucial part of the design. The PWM feature of the microcontroller controls motor speed. PWM output is fed to driver circuit and then to motor. To rotate the motor in two different directions ‘forward’ and ‘reverse’ direction control blocks are used.
  • 4. Motor speed sensor is interfaced to microcontroller. Microcontroller reads the speed of the motor and appropriately controls the speed of the motor in different phases of washing using PWM output. Door sensor, pressure sensor, keypad are also interfaced to microcontroller. Serial port in connected to GSM module. EEPROM and RTC are interfaced to MSSP module of controller. In circuit serial programming facility is provided for quick and easy programming and debugging. Schematic Design A detailed schematic with pin connection of PIC microcontroller is provided in the Figure (1).
  • 5. Figure (1) Block Schematic of Washing Machine Controller Washing machine default parameters and user settable parameters are stored in external EEPROM. Internal EEPROM of the PIC is used to store status of the washing machine. The status is regularly logged to the internal EEPROM. In the event of power failure or whenever program resets, status flags are read from the internal EEPROM and thus status of the machine is determined and operation is continued from the point of interruption. Accessing of internal EEPROM is faster compared to external EEPROM. PIC18F452 provide 256 bytes of internal EEPROM that is not sufficient for storing parameters of machine. For this purpose external EEPROM is used. Depending on the mode flag and status flag conditions corresponding machine parameters are read from the external EEPROM and temporarily stored in RAM and operations are performed.RTC DS1305 is interfaced to SPI port of the microcontroller. This RTC is used as timing reference for all timing calculation of machine. Whenever a particular mode starts RTC is initialized to zero and there onwards RTC is read and compared with the set timings; with the battery backup provision actual RTC can also be implemented. Since PIC allows either I2C or SPI mode at a time, whenever we need to access EEPROM or RTC, MSSP port of the PIC has to be configured to respective protocol.In Circuit Serial Programming (ICSP) is accomplished using pins PGM, PGC, PGC and active low MCLR. These pins are also used to RB5, RB6 and RB7. To satisfy both conditions jumpers are provided. When programming of IC is required jumper settings ‘1’ has to be used. After programming, jumpers have to be replaced to setting ‘2’. This allows the use of RB5 to RB7 and brings the controller from programming mode to normal working mode. Thus ICSP helps speedy programming and debugging of software. Some of the sensor outputs are fed to instrumentation amplifier to bring the output level to 0V to 5V range. Door (lid) sensor is connected to external interrupt 0. High priority is assigned to this interrupt. Thus opening of the door causes triggering of INT0 and INT0 ISR immediately stops the machine and informs the user. Analog input channels AN2, AN3 and AN4 can be used to upgrade the system with additional sensors.Keypad is connected to PORTD. Keypad and meaning of keys are shown in Figure (2). Pull-up resistors are connected to RD0 to RD3 to enable keypad press detection. ORing RD4 to RD7 achieves this and output is given to external interrupt 1(INT1). When any of the keys is pressed ORed output becomes high and INT1 triggers. INT1 ISR does a keypad scan and appropriately performs the operation.
  • 6. Figure (2) Keypad and Key Functions Motor direction driver circuit determines the direction of the motor. Motor forward direction drives the current in forward direction and motor rotates forward. Motor reverse direction driver does the opposite of it. Software has to take care that both are not activated at a time. Speed of the motor is controlled using PWM driver. Speed of the motor and hence the drum varies in different phases of washing cycles. Speed profile of the washing machine drum is illustrated in Figure (3). Before changing the direction of the motor, PWM output must be made zero. PWM output is varied as per the calculated speed to maintain constant speed during wash cycles. Figure (3) Speed Profile of Different Washing Cycles Port pins RE1 and RE2 are fed to water valve drivers, which control the flow of water, while RE0 is connected to heater relay. Dedicated LCD with 3-wire interface is used. 3 wires consist of data line, clock and Chip Select (CS). Backlight control is also provided. GSM module is interfaced using serial port. Standard AT command set is used to communicate with GSM module. It is assumed that when sensor outputs reach microcontroller inputs it has maximum swing of 0V to 5V. It is also assumed that PWM driver circuit controls gearbox and clutch mechanisms. Power supply circuits and regulators are not shown in the Figure (1). Suitably designed SMPS and AC regulators take care of power supply requirement of each block. Software Design Based on the specification and hardware design flowchart/algorithm/pseudo code for the
  • 7. software can be designed. The overall flow of the software is shown in Figure (4). 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: def.h: header file; this file includes all port pin definitions, global variable declarations, address assignments, macro definitions, function prototypes. 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. Serial ISR: occurrence of this interrupt means that a command is received at GSM sent by the user; ISR reads the message from the GSM module and sets the parameters; initializes the activity accordingly; sends back status/acknowledgement to user. Used functions: read from GSM , write to GSM. 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 modes; can be scrolled up or down by the user; after the mode is 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. washinput: 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; if (motor speed>required speed) reduce PWM output else if(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. ReadEEPROM: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.
  • 8. Figure (4) Overall Software Flow Diagram
  • 9. 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. Write to GSM input: starting address of the message, size of message; return: none; writes the message to GSM module using standard AT+CMGS command. Read from GSM : reads the message from GSM using AT+CMGR command. Delete messageGSM: input: location from which message has to be deleted; return: none; deletes the message from GSM using AT+CMGD command. 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. Enable SPI: MSSP port is configured as SPI port by initializing corresponding registers. Disable SPI:MSSP port is configured so as to disable SPI. enableI 2C: MSSP port is configured as I2C- port by initializing corresponding registers. Disable I2C:MSSP port is configured so as to disable I2C. Scankeypadinput: 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. ReadADC input: channel number; return: read ADC data ; configures ADC for the specified channel Write LCD input: address, data; return: none; writes the data to specified address. Init LCD: initializes the LCD according to the initialization commands. Sendcommand LCD: input: command; return: none; writes the command to LCD using write LCD function. set PWMinput: motor speed; return: none; sets PWM frequency as per motor Figure (4) summarizes the overall flow of software. It shows tree structure of very important Monitor keypad function. This function invokes many other functions depending on the pressed key and set or reset mode status flags. Strictly speaking this function does not execute any control operations; instead it transfers the control to main program to handle the important operations and thus indirectly executes it. For example if key ‘A’ is pressed then functions understands that fully automatic mode has to be executed. The monitor keypad function waits for the key ‘E’ is to be pressed and upon detecting the key press it initializes the operations related to fully automatic mode; it sets all related mode status flags and uploads to internal EEPROM; loads basic parameters from the external EEPROM to the RAM and transfers control to main function. Main function performs operations as per status flag condition. Thus washing mode related operations are indirectly executed by ISR. But ‘On/Off’ and ‘S’-settings are directly executed by ISR. While setting the parameters as per user requirements, through keypad parameters are read and directly uploaded to predefined address locations. Delayed start option can be set to each semi automatic mode. One of the messages provides the option to enter the delay time. Default delay is zero. Since external RTC is used as time base, PIC timer modules can be efficiently used in programming. Any one of the timer interrupts can be used to read A/D module in regular interval of time, instead of reading in main function. Results are stored in predefined variables. Drawback of this method of programming is that read value may
  • 10. not be ‘instantaneous’; it may be older by some microseconds or milliseconds. The proposed design can be easily a part of home automation. The system is flexible and safer to use. Smart features can be added or withdrawn as per requirements and hence design is fully cost effective. The same design methodology adopted here can be extended to design the commercial product. If cost is not a criterion, then hardware can be easily modified to add an independent BLDC (or three phase) motor controller either through multiplexed serial port or by replacing GSM module by BLDC (three phase) motor controller. Inside the Washing Machine: -
  • 11. Parts of Washing Machine: - Parts of washing machine: - 1) Water inlet control valve: Near the water inlet point of the washing there is water inlet control valve. When you load the clothes in washing machine, this valve gets opened automatically and it closes automatically depending on the total quantity of the water required. The water
  • 12. control valve is actually the solenoid valve. 2) 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. 3) 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 thinner tub and supports it during various cycles of clothes washing. 4) 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. 5) Motor of the washing machine: The motor is coupled to the agitator or the disc and produces it rotator motion. These are multispeed motors, whose speed can be changed as per the requirement. In the fully automatic washing machine the speed of the motor i.e. the agitator changes automatically as per the load on the washing machine. 6) 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. 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). They are sort of artificial intelligence devices that sense the various external conditions and take the decisions accordingly. These are also called as fuzzy logic systems. Thus 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. 8) Drain pipe: The drain pipe enables removing the dirty water from the washing that has been used for the washing purpose.