基于单片机的全自动洗衣机设计.docx
- 文档编号:5731702
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:36
- 大小:423.15KB
基于单片机的全自动洗衣机设计.docx
《基于单片机的全自动洗衣机设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的全自动洗衣机设计.docx(36页珍藏版)》请在冰豆网上搜索。
基于单片机的全自动洗衣机设计
时间:
2010年12月13日
绪论
洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,而全自动式洗衣机因使用方便更加得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可选择不同的洗涤方式。
近几十年,在工业发达国家,全自动洗衣机制造技术又得到迅速发展,其年总产量及社会普及率均以达到相当高得水平。
全自动洗衣机的发展首先表现在洗涤方式发生巨大变化。
原先大多侧重于水流的改变、动力的加大。
现在,超音波、电解水、臭氧和蒸汽洗涤的运用,使洗衣机的去污能力从单纯依靠洗衣粉、洗涤剂的化学作用和强弱变化的水流机械作用,向更高层次的健康、环保洗涤方式转变,特别是电解水、超音波技术在洗衣机行业的运用几乎改变了洗衣机的历史——洗衣不用或少用洗衣粉、洗涤剂,减少化学品对皮肤的损害和对环境的污染。
电解水、臭氧、蒸汽的杀菌除味及消毒功能倍受青睐,引发了洗衣机消费健康潮。
另一变化就是高度自动化、智能化、人性化。
从半自动、全自动到现在流行的人工智能、模糊控制,只需按一下按钮一切搞定!
同时,用户可以按照自己的洗衣习惯,自主选择时间和方式,自编和记忆程序让用户真正做到随心所欲。
人性化还表现在使用的方便和舒适,如子母分洗洗衣机可以做到不同衣物分开洗;斜桶和顶开滚筒可以做到取放衣物方便不需深弯腰;蒸汽烘干功能使得晾晒更加方便,DD直驱电机在节能降噪方面效果更加突出,等等。
业内人士表示,尖端洗涤技术的革新,所表现出的洗衣方式更加注重健康和个性化,已在市场发展中倍受欢迎。
一全自动洗衣机设计方案
本设计实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、漂洗、排水和脱水等阶段。
控制系统主要由电源电路、数字控制电路和机械控制电路三大模块构成。
电源采用三端集成固定稳压器7805提供+5V电源,数字控制电路负责控制洗衣机的工作过程,主要由AT89S51单片机、三位共阴数码管、按键、蜂鸣器、LED指示灯组成;机械控制电路实现传感器检测、电机驱动、进水、排水等功能,主要由水位检测器、电动机、传动系统部件、进水排水电磁阀组成。
1.1按键
洗衣机面板上有6个按钮K1、K2、K3、K4、K5和K6
K1为启动/暂停键:
按奇数次视为启动,偶数次视为暂停。
K2用于洗衣程序选择:
按一下选择洗涤,按两下选择漂洗,按三下选择脱水。
K3用于洗衣方式选择:
按一下选择标准洗方式,按两下选择快速洗方式,按三下选择轻柔洗方式。
K4用于水位选择:
按一下进水至低水位,按两下进水至中水位,按三下进水至高水位。
K5用于时间选择:
按一下洗衣时间短,按两下洗衣时间适中,按三下洗衣时间长。
1.2洗衣机自检
洗衣机上电后,先进行自检,包括检查安全开关,排水阀状态,进水阀工作过程,电机的运转等,若发现异常现象则蜂鸣器响,报警灯亮。
1.3显示
洗涤、漂洗及脱水时间都通过倒计时的方式显示在3个LED上,依次为分位,秒十位和秒个位,此外,还有发现异常现象时错误信息的显示
1.4洗衣程序
⑴洗涤过程:
通电后,若不选择洗衣周期,则洗衣机从洗涤过程开始。
进入洗涤过程,首先进水阀接通,开始向洗衣机供水,当到达要求水位时,进水阀断电关闭,停止进水;电机M接通,带动波轮旋转,形成洗衣水流。
电机M是一个正反转电机,可以形成往返水流,有利于洗涤衣物。
⑵漂洗过程:
与洗涤过程操作相同,只是时间短一些。
⑶脱水过程:
洗涤或漂洗过程结束后,电机M停止转动,排水阀M接通,开始排水。
排水阀动作的同时,电机M也接通,使电机可以带动内桶转动。
当水位低到一定值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。
二硬件电路介绍
2.1CPU选择
本次设计采用51系列,而51系列的典型产品是8051。
8051是一种40引脚双列直播式芯片。
它含有4KB可反复烧录及擦除内存和128字节的RAM,有32条可编程控制的I/O线,5个中断发源,指令与MCS-51系列完全兼容。
选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。
选用它设计制作全自动洗衣机控制电路,该电路的组成相对简单,工作原理清晰,易于理解。
图2-189C51引脚图
89C51引脚图如图2-1所示
2.2传感器
本次设计中用到4个传感器,分别为:
TS污浊度传感器、温度传感器、负载传感器和水位传感器。
其中污浊度、温度和负载传感器输出的都是模拟信号,需要通过A/D转换才能作为单片机的控制信号,而水位传感器本身输出的就是数字信号,所以不需要通过A/D转换,直接可用做单片机的控制信号。
1.TS污浊度传感器
浑浊度检测传感器(内部原理图如图2-2所示)的主要原理是光电耦合器,而普通的光电耦合器不能有效的检测洗衣机水的浑浊度。
光电耦合器的光源必须是红外光才能准确的检测浑浊度。
TS浊度传感器是GE公司开发的一种专门用于家电产品的低成本传感器,主要用于洗衣机、洗碗机等产品的水污浊程度的测量。
图2-2浊度传感器内部原理图
2.温度传感器
温度传感器有四种主要类型:
热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器下)。
IC温度传感器又包括模拟输出和数字输出两种类型。
我们常用温度传感器有DS18B20、AD590等,它们都是集成温度传感器。
DS18B20输出是数字信号可以直接和单片机相连,而且硬件连接电路少,但需要对其进行复杂的软件编程。
本设计我们选用AD590作为温度传感器。
AD590比DS18B20精度更高、线性度误差小,且不需要温度报警和复杂的程序编程,非常适合用于洗衣机的温度检测传感器。
它的主要特性如下:
•流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。
•AD590的测温范围为-55℃~+150℃。
•AD590的电源电压范围为4V~30V。
电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。
AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。
•输出电阻为710MW。
•精度高。
AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。
3.负载传感器
根据模糊控制要求,负载检测时通过检测电动机的反电动势来实现的,而电动机的反电动势比单片机所用电压大的多,不能直接采样,必须经过隔离。
采用线性光电耦合器既能隔离高电压和干扰,又能得到满意的检测信号。
4.水位传感器
谐振式水位传感器(原理图如图2-5所示),采用了新型的传感原理,把水位的高低,通过水位传感器直接变成水位与频率的对应关系。
衣物的洗净度、水流强度、洗涤时间等参数的检测,对模糊控制洗衣机在节水、节能、减少洗涤时间方面起决定性的作用。
图2-5水位传感器原理图
2.5显示器
显示器有LED和LCD两种。
LCD(LiquidcrystalDisplay)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特征,达到白底黑字或黑底白字显示的目的。
LED(LightEmitingDiode)是发光二极管英文名称的缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
本次设计只是显示时间,所以采用LED就可以达到目的了。
常用的LED为8段或7段。
每一个段对应一个发光二极管。
这种显示器有共阳极和共阴极2种。
LED显示器有静态显示和动态显示2种方式。
LED显示器工作于静态显示方式时,各位的共阴极(共阳极)连接在一起并接地(或+5V);每位的段码线(a-dp)分别与一个8位的锁存器输出相连。
之所以称之为静态显示,是因为各个LED的显示字符一经确定,相应锁存器锁存的段码输出将维持不变,直到送入另一个的段码为止。
正因为如此,静态显示器的亮度都较高,但静态现实的缺点是占用口线太多,如果显示器的位数太多,则需要加锁存器,因此一般情况下采用动态显示。
LED不同位显示的时间间隔应根据实际情况而定。
发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多,本次设计我们采用1ms延时。
寄存器
注释
R4,R5
比较标准值R4高位,R5低位
R6,R7
A/D转换结果R6高位,R7低位
20H
衣量多位
21H
衣量少位
22H
衣量适中位
23H
化纤多位
24H
棉多位
27H
1s中断标志位
2AH
1s中断次数
30H,31H
洗涤时间
32H,33H
漂洗时间
34H,35H
脱水时间
36H,37H
排水时间
38H
漂洗次数
3AH
电机正转时间
三软件设计
本次设计是基于模糊控制理论上的全自动洗衣机,模糊控制是利用负载、衣质、浊度、水温等检测所得到信息,进行分段评估计算使其模糊化,再根据模糊规则进行推理,最后根据所激活的规则进行解模糊判决,以决定最适当和明确的水位、洗涤时间、洗涤方式以及脱水时间等。
3.1模糊控制方式
⑴洗涤量和水量的确定:
①如果检测到衣物量很多,则洗涤量多,水位高;
1如果检测到衣物量较多,则洗涤量较多,水位适中;
2如果检测到衣物量很少,则洗涤量少,水位低。
⑵脱水时间的确定:
1如果检测到衣物很多,则脱水时间长;
2如果检测到衣物较多,则脱水时间适中;
3如果检测到衣物很少,则脱水时间短。
⑶洗涤时间的确定:
1如果检测到衣物很多,布质以棉布偏多且水温低,则洗衣时间长;
2如果检测到衣物较多,布质以化纤偏多且水温偏高,则洗衣时间适中;
3如果检测到衣物较少,布质以棉布偏多且水温偏高,则洗衣时间适中;
4如果检测到衣物很少,布质以化纤偏多且水温高,则洗衣时间短。
⑷漂洗时间的确定:
1如果检测到洗涤水很脏,则漂洗时间长;
2如果检测到洗涤水较脏,则漂洗时间适中;
③如果检测到洗涤水不脏,则漂洗时间短
3BH
电机反转时间
3CH
电机转速
3D
洗涤量投放时间
40H
显示分缓存器
41H
显示秒十缓存器
42H
显示秒个缓存器
44H
零水位
45H
低水位
46H
中水位
47H
高水位
48H
水位检测值
50H
启动/暂停键按键次数
51H
程序键按键次数
52H
选择键按键次数
53H
水量键按键次数
54H
时间键按键次数
3.2软件流程图及其代码
本次设计是分模块进行编写的,以下就是各模块的流程图及其代码
1.主程序流程图如图3-2所示
2.显示子程序流程图如图3-3所示
3.键盘扫描子程序流程图如图3-4所示
程序代码:
JianPan:
JBP1.0,K2;判断是K1键按下吗,不是则转K2
LCALLDL10ms;调10ms延时消抖
JBP1.0,K2;再次读P1.0状态,若仍为0,则K1键确定按下
LCALLPK1;调PK1处理
K2:
JBP1.1,K3;判断是K2键按下吗,不是则转K3
LCALLDL10ms;调10ms延时消抖
JBP1.1,K3;再次读P1.0状态,若仍为0,则K2键确定按下
LACLLPK2;调PK2处理
K3:
JBP1.2,K4;判断是K3键按下吗,不是则转K4
LCALLDL10ms;调10ms延时消抖
JBP1.2,K4;再次读P1.2状态,若仍为0,则K3键确定按下
LCALL,PK3;调PK3处理
K4:
JBP1.3,K5;判断是K4键按下吗,不是则转K5
LCALLDL10ms;调10ms延时消抖
JBP1.3,K5;再次读P1.3状态,若仍为0,则K4键确定按下
LCALLPK4;调PK4处理
K5:
JBP1.4,RETURN;判断是K5键按下吗,不是则转K6
LCALLDL10ms;调10ms延时消抖
JBP1.4,RETURN;在此读P1.4状态,若仍为0,则K4键确定按下
LCALLPK5;调PK5处理
RETURN:
RET
PK1:
INC50H;按键次数加1
MOVA,50H;判断是奇数次按下吗
MOVB,#2
DIVAB
MOVA,B
JZA,ZanTing;若为偶数次按下,则转暂停状态
LCALLYunZhuan;若为奇数次按下,则进入运转程序
ZanTing:
INC50H;按键次数加1
MOVA,50H;判断是奇数次按下吗
MOVB,#2
DIVAB
MOVA,B
JZA,ZanTing;若为偶数次按下,则暂停
LCALLYunZhuan;若为奇数次按下,则进入运转程序
RETURN:
RET
4.程序设置子程序流程图如图3-5所示
程序代码:
PK2:
INC51H;按键次数加1
MOVA,51H
CJNZA,#1,L2;是第一次按下吗,不是转L2
LCALLXiDi;是第一次按下,则调用洗涤子程序
L2:
CJNZA,#2,L3;是第二次按下吗,不是转L3
LCALLPiaoXi;是第二次按下,则调用漂洗子程序
L3:
CJNZA,#3,RETURN;是第三次按下吗,不是则返回
LXALLTuoShui;是第三次按下,则调用脱水子程序
RETURN:
RET
5.洗衣方式选择子程序流程图如图3-6所示
程序代码:
PK3:
INC52H;按键次数加1
MOVA,52H;
MOVDPTR,#7F02H
CJNEA,#1,L4;是第一次按下吗,,不是转L4
MOVA,#0EFH;是第一次按下,则标准洗涤指示灯亮
MOVX@DPTR,A
MOVA,52H
L4:
CJNEA,#2,L5;是第二次按下吗,不是转L5
MOVA,#0DFH;是第二次按下,则快速洗涤指示灯亮
MOVX@DPTR,A
MOVA,52H
L5:
CJNEA,#3,RETURN;是第三次按下吗,不是则返回
MOVA,#0BFH;是第三次按下,则轻柔洗涤指示灯亮
MOVX@DPTR,A
RETURN:
RET
6.水量设置子程序流程图如图3-7所示
程序代码:
PK4:
INC53H;按键次数加1
MOVA,53H
CJNEA,#1,L6;是第一次按下吗,不是转L6
MOV45H,#08H;是第一次按下,则进水至低水位
L6:
CJNEA,#2,L7;是第二次按下吗,不是转L7
MOVA,46H,#09H;是第二次按下,则进水至中水位
L7:
CJNEA,#3,RETUREN;是第三次按下吗,不是则返回
MOVA,47H,#10H;是第三次按下,则进水至高水位
RETURN:
RET
7.时间设置子程序流程图如图3-8所示
程序代码:
PK5:
INC54H;按键次数加1
MOVA,54H
CJNEA,#1,L8;是第一次按下吗,不是转L8
MOV48H,#01H;是第一次按下,则时间选择5min
图3-8时间设置子程序流程图
MOV49H,#2CH
L8:
CJNEA,#2,L9;是第二次按下吗,不是转L9
MOV48H,#02H;是第二次按下,则时间选择10min
MOV49H,#58H
L9:
CJNEA,#3,RETURN;是第三次按下吗,不是则返回
MOV48H,#38H;是第三次按下,则时间选择15min
MOV49H,#40H
RETURN:
RET
8.A/D转换流程图如图3-9所示
9.自检子程序流程图如图3-10所示
程序代码:
ZiJian:
MOVDPTR,#7F02H;自检指示灯亮
MOVA,#0FBH
MOVX@DPTR,A
JBP1.6,BaoJing1;读安全开关状态,异常则报警
JBP2.3,BaoJing2;读排水阀状态,异常则报警
MOV45H,#08H;置低水位值
MOV47H,#09H;置高水位值
MOV44H,#00H;置零水位值
CLRP2.4;开进水阀
LCALLShuiJian;调水位检测
MOVA,45H
L10:
CJNEA,48H,L10;到底水位了吗,到了启动电机
CLRP2.0
LACLLShuiJian
MOVA,47H
L11:
CJNEA,48H,L11;到高水位了吗,到了开排水阀
CLRP2.3
LCALLShuiJian
MOVA,44H
L12:
CJNEA,48H,L12;是零水位吗,是则检测完毕
SETBP2.4
SETBP2.0
SETBP2.3
MOVA,#OFFH
MOVX@DPTR,A
BaooJing1:
MOV40H,#0eH;显示异常代码
MOV41H,#0
MOV42H,#1
CLRP1.7;蜂鸣器响,报警灯亮
JBP1.5,BaoJing1;判断是否有人为干扰
SETBP1.7
BaoJing2:
MOV40H,#0eH;显示异常代码
MOV41H,#0
MOV42H,#2
CLRP1.7;蜂鸣器响,报警灯亮
JBP1.5,BaoJing2;判断是否有人为干扰
SETBP1.7
RET
10.运转程序流程图如图3-11所示
程序代码:
YunZhuan:
LCALLPanDuan;调判断子程序
JZLD1;为1为全自动
LCALLJianPan
LD1:
LCALLJianCe
LCALLXiDi
LCALLPaiShui
RET
PanDuan:
ORLA,51H;各按键次数相与,为1为全自动
图3-12检测子程序流程图
ORLA,52H
ORLA,53H
ORLA,54H
RET
11.检测子程序流程图如图3-12所示
程序代码:
JianCe:
MOV39H,#3;电机运转时间3S
LCALLDianJi1
LCALLShuiLiang
LCALLJinShui
MOV39H,#30;电机运转时间30S
LCALLDianJi1
LCALLYiLiang
LCALLShuiJian
LCALLJinShui
MOV39H,#15;电机运转时间15S
LCALLDianJi1
LCALLZhiYi
LCALLWenDu
LCALLShiJian
RET
DianJi1:
CLRP2.0;开电机
SETBTR1;开定时器
LOOP1:
JNB27H,LOOP1
CLR27H
DEC39H
CJNE39H,#O,LOOP1
CLRTR0
SETBP2.0
RET
12.洗涤量、水量检测子程序流程图如图3-13所示
程序代码:
ShuiLiang:
LCALLZhuanHuan0
MOVR4,#00H;标准最大值
MOVR5,#0A0H
MOVA,R6;与标准最大值比较
CJNEA,#00H,LD2
MOVA,R7
CLRC
SUBBA,R5
JNCLD2
MOVR4,#00H;标准最小值
MOVR5,#05H
MOVA,R6;与标准最小值比较
CJNEA,#00H,LD3
MOVA,R7
CLRC
SUBBA,R5
JCLD3
MOV46H,;进水至中水位
MOV3CH,#10;洗涤量投放时间适中
AJMPRETURN
LD2:
MOV47H,;进水至高水位
MOV3CH,#15;洗涤量投放时间长
AJMPRETURN
LD3:
MOV45H,;进水至低水位
MOV3CH,#5;洗涤量投放时间短
RETURN:
RET
13.衣量检测子程序流程图如图3-14所示
程序代码:
YiLiang:
LCALLZhuanHuan0
MOVR4,#00H;标准最大值
MOVR5,#0A0H
MOVA,R6;与标准最大值比较
CJNEA,#00H,LD4
MOVA,R7
CLRC
SUBBA,R5
JNCLD4
MOVR4,#0H;标准最小值
MOVR5,#05H
MOVA,R6;与标准最小值比较
CJNEA,#00H,LD5
MOVA,R7
CLRC
SUBBA,R5
JCLD5
SETB22H
MOV34H,#01H;脱水时间适中
MOV35H,#2CH
MOV80H,#4;脱水倒计时暂存
MOV81H,#5
MOV82H,#9
AJMP:
RETURN
LD4:
SETB20H
MOV34H,#02H;脱水时间长
MOV35H,#58H
MOV80H,#9
MOV81H,#5
MOV82H,#9
AJMP:
RETURN
LD5:
SETB21H
图3-13洗涤量、水量检测子程序流程图
MOV34H,#00H;脱水时间短
MOV35H,#0B4H
MOV80H,#2
MOV81H,#5
MOV82H,#9
RETURN:
RET
14.衣质检测子程序流程图如图3-15所示
程序代码:
YiZhi:
MOVA,4AH;读第一次水位值
CLRC
SUBBA,4BH;读第二次水位值
MOVR5,#O5H
CLRC
SUBBA,R5;两次值相减比较
JNCLD6
SETB23H
AJMPRETURN
LD6:
SETB24H
RETURN:
RET
图3-16温度检测子程序流程图
15.时间确定子程序流程图如图3-16所示
程序代码:
WeuDu:
LCALLZhuanHuan1
MOVR4,#00H;标准最大值
MOVR5,#F0H
MOVA,R6;与标准最大值比较
CJNEA,#00H,LD7
MOVA,R7
CLRC
SUBBA,R5
JNCLD7
MOVR4,#00H;标准最小值
MOVR5,#0EH
MOVA,R6;与标准最小值比较
CJNEA,#00H,LD8
MOVA,R7
CLRC
SUBBA,R5
JCLD8
SETB27H;温度适中位置1
图3-17进水子程序流程图
AJMPRETURN
LD7:
SETB25H;温度高位置1
AJMPRETURN
LD8:
SETB26H;温度低位置1
RETURN:
RET
16.进水子程序流程图如图3-17所示
程序代码:
JinShui:
C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 全自动 洗衣机 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)