洗衣机智能控制系统12.docx
《洗衣机智能控制系统12.docx》由会员分享,可在线阅读,更多相关《洗衣机智能控制系统12.docx(29页珍藏版)》请在冰豆网上搜索。
洗衣机智能控制系统12
2008年电气工程及其自动化
《计算机原理及应用》课程设计任务书
姓名:
张少方学号:
2804060226班级:
28040602
题目7智能小家电控制系统的设计
(2)
(一)功能介绍
全自动洗衣机是常见的家用电器。
它能够按照预设模式自动地完成衣物的洗涤、漂洗和脱水,也可以单独地进行洗涤、漂洗和脱水操作,这些过程一般按时间进行控制。
通常在给定的模式下,根据衣物多少允许用户设置不同的水位,当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机,即可开始洗衣操作,为了提高洗衣效率,电机一般先正转若干秒,然后再反转若干秒。
另外,每个洗衣机都有容量限制,当洗衣量大于它的额定容量容量时,控制系统报警并且不启动。
(二)设计参数
(1)电机100W220VAC
(2)洗衣容量5kg
(4)电力供应:
220VAC
(三)设计要求
(1)实现3种模式选择:
标准、轻柔和快洗,被选中的模式用LED显示器表明。
(2)实现不同模式下的洗衣过程,根据衣物多少允许用户设置4种的水位,被选中的水位用LED显示器表明。
当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机全自动控制洗衣操作,整个过程的进行按时间控制,时间自定
(3)液位检测和控制:
使水位限定在某一个给定的液位范围内,当水位越限时打开下水电磁阀放水,不启动洗衣过程,待满足要求后,投入运行。
(4)当投入洗衣量大于洗衣机额定容量时,控制系统应报警,不启动洗衣过程。
待满足要求后,投入运行。
(5)设计系统各个部分的工作电源。
引言
单片机又称微控制器,或称嵌入式控制器。
而现在的智能家电无一例外是采用微控制器来实现的,所以家用电器是单片机应用最多的领域之一。
它是家用电器实现智能化的心脏和大脑。
由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。
而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。
单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。
波轮式全自动洗衣机是家用电器领域的重要一员,在全自动洗衣机市场中占有很大的比例,其中绝大多数品是用单片机来实现的
AT89C51单片机是ATMEL公司8位单片机系列产品之一,是一种20引脚双列直插式芯片。
它内含4KB可反复烧录的FLASH存储器,RAM字节也有128个,15个I/O口,5个中断,2个定时,已经可以满足程序的需要,指令也和51系列兼容,基于上述特点,选择它来设计一台智能洗衣机,完全可以达到以下的功能:
1、洗衣程序功能:
含6种独立程序,即标准洗衣程序、轻柔洗衣、快洗、单次洗衣、漂洗、脱水功能;
2、特殊功能:
安全保护、防振、间歇工作、声光显示功能。
摘要
设计要满足如下要求:
实现6种模式的互动选择:
标准,轻柔,快洗和单独地进行洗涤、漂洗和脱水操作,被选中的模式用LED显示器表明。
实现不同模式下的洗衣过程,根据衣物多少允许用户设置4种的水位,被选中的水位用LED显示器表明。
当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机全自动控制洗衣操作,整个过程的进行按时间控制,时间自定。
液位检测和控制:
使水位限定在某一个给定的液位范围内,当水位越限时打开下水电磁阀放水,不启动洗衣过程,待满足要求后,投入运行。
当投入洗衣量大于洗衣机额定容量时,控制系统应报警,不启动洗衣过程。
待满足要求后,投入运行。
本设计通过采用AT89C51单片机,通过74LS139,水位检测机构,LED数码显示器,LED发光二极管,独立键盘,继电器,进排水阀等硬件实现了上述功能要求。
应用表明该系统具有水位选择,模式设定,水位越限检测,过容及脱水安全保护等功能。
其性能可靠,提到了效率,降低了能耗,减少了噪音。
Abstract:
Designedtomeetthefollowingrequirements:
6toachievethemodelofinteractionoptions:
standard,soft,fastandwashingaloneforwashing,rinsinganddehydrationoperation,theselectedmodelwithLEDdisplayshows.Differentmodeofthelaundryprocess,accordingtothenumberofclothingallowsuserstosetupthewaterlevel4,wasselectedbytheLEDdisplayshowsthewaterlevel.WhenthewashingmachineafterstartSheungShuisolenoidvalvetoopenwaterwhenthewaterreachedthesetlimit,SheungShuisolenoidvalvepower,tostoptheprocessofwaterinjection,electricstartlaundryoperationautomaticcontroloftheentireprocesscarriedoutbythetimecontrol,Sincethesettime.Liquidleveldetectionandcontrol:
tolimitthewaterlevelinagivenlevel,whenthewaterlevelinthemorelimitedopenwatersolenoidvalveintothewater,donotstartthelaundryprocess,tobemeettherequirements,putintooperation.Whenthevolumeoflaundryintowashingmachinesisgreaterthantheratedcapacity,thecontrolsystemshouldreporttothepolice,donotstarttheprocessoflaundry.Tobemeettherequirements,putintooperation.
ByadoptingthisdesignAT89C51singlechip,74LS139,thewaterleveltestingagency,LEDdigitaldisplay,LEDlight-emittingdiode,anindependentkeyboard,relays,valvesandsoonintothehardwarerequirementstoachievetheabove-mentionedfunctions.
Applicationofthesystemshowedthatthewaterlevelhastochoose,setthepattern,themorethewaterlevellimitdetection,overcapacityandsecurityfeaturessuchasdehydration.Itsreliableperformance,referredtotheefficiencyandreducespowerconsumptionandreducednoise.
关键字:
89C21智能家电自动控制洗衣机
目录
设计分析……………………………………………………………4
需求分析与方案……………………………………………………4
逻辑电路分析………………………………………………………6
工作控制程序………………………………………………………8
调试过程……………………………………………………………15
总结…………………………………………………………………18
参考文献……………………………………………………………18
附录…………………………………………………………………19
程序清单……………………………………………………………19
元件明细表…………………………………………………………27
总图…………………………………………………………………28
设计分析
需求分析与方案:
洗衣机要完成洗衣工作,除了对一般洗衣过程的人工工作及效能进行模拟之外,还要根据洗衣机的机械电子性质进行有关控制和检测。
对于一台套桶式单缸波轮全自动洗衣机而言,首先要求能完成洗衣功能;同时还要根据用户的不同要求设置几种不同的洗衣程序;还要根据模式的不同考虑水流的情况决定洗涤的弱强情况;另外,还要对洗衣过程出现的故障进行诊断并提醒用户;保证高速运转是脱水的安全性等。
所以对全自动洗衣机,一般要求具有如下基本功能。
(1)不同模式时的弱强洗涤功能。
要求强洗时正反转驱动时间各为4S,间歇时间为2S;弱洗时正反转驱动时间各为3S,间歇时间为2S。
(2)6种洗衣工作程序,即标准程序,轻柔洗衣,快洗,单次洗衣,单漂和脱水程序。
标准程序是进水—洗涤—排水--脱水,如此循环3次,具体是第一循环为洗涤,时间为15min,中间洗涤为5min.排水时间采用动态检测,脱水时间第一二次为2min的短脱水,下来是调漂洗程序。
最后为5min的长脱水.轻柔程序与标准程序一样,只是采用弱洗洗涤,循环同样为三次。
快洗同标准差不多,只不过洗涤6min,循环2次;单洗程序是进水—洗涤(15min)—结束(留水不排不脱)。
单漂为进水—洗涤(10s)—排水如此循环3次;单脱程序是脱水(5min)—结束,时间确定与上述程序相应环节相同。
(3)进水系统故障自动诊断功能。
洗衣机在进水过程中,若超过预定的水位,就说明进水有故障,系统自动调整到预定水位。
(4)脱水期间安全保护和防振动功能。
洗衣机脱水期间,若打开机盖时,洗衣机就会自动停止脱水操作。
脱水期间,如果出现衣物缠绕引起脱水桶重心偏移而不平衡,洗衣机也会自动停止脱水,以免振动过大,发出警报待人工处理后恢复工作。
(5)间歇驱动方式。
洗涤期间采取间歇驱动方式,以便节能。
本系统要求正反转之间停2s,间歇期间靠惯性力使洗衣桶桶保持旋转。
(6)声光显示功能。
洗衣机各种工作方式的选择和各种工作状态均有声光提示和显示。
(8)过容保护功能:
洗衣机在启动前若过容则报警提醒用户解决,待解决后才能启动洗衣。
控制逻辑电路分析(硬件分析)
全自动洗衣机的控制逻辑电路如附图1-1所示。
它由单片机AT89C51为核心加上有关集成电路及元器件组成。
从图中看出,这个全自动洗衣机控制逻辑电路相当简单。
全自动洗衣机的工作部件有3个,这就是电机.进水阀和排水阀。
电机是洗衣机的动力源,它的转动带动洗衣桶和波轮的转动,从而时现对衣物的洗涤。
进水阀用于控制洗衣机的进水量。
排水阀用于控制排水。
电机在脱水时还高速旋转带动衣物脱水。
电机的状态有3种,即正转.反转及停止状态。
电机一般工作在这三种状态的不断转换之中,从而实现洗涤。
但在脱水时,只工作在正转高速状态。
进水阀和派排水阀则只有开.关这两种状态。
从附图1-1的控制电路中可以看出:
AT89C51的P1端口中的P0.0~P0.3共四条I/O线通过4块电磁继电器分别直接驱动洗衣机的这些工作部件。
电磁继电器是一种常用继电器,内有电磁铁心及磁力开关,通电就可使开关切换。
之所以选用这个器件,是因为它一方面可使电路进一部简化,另一方面还可使强.弱两类电完全隔离,保证主板的安全。
ULN2003A为7相反相驱动器,用其作为中间反相器,其中的4个反相器可分别驱动4个SP1110继电器,1个驱动蜂鸣器。
ULN2003A还有隔离功能,可保护主板。
74LS139为双2-4线译码器,选用它可解决CPUI/O线数量的不足。
从控制要求可知,洗衣机有4种不同的显示来加以区别。
74LSW139双2-4线译码器仅占用CPU的P3.7和P3.6两口线即可提供4种不同显示的驱动,其逻辑关系是:
P3.7,P3.6为“11”时D9亮,指示高水位;为“10”时D8亮,指示中2水位;为“01”时D7亮,指示中1水位;为“00”时D6亮,指示低水位。
74LS47为共阳极BCD译码器,可把BCD码译为共阳极七段码。
洗衣机的三大功能是现衣物的洗涤,漂洗,脱水,而这三个可形成6种过程(或更多)在本设计中只有到6种如表1
表一:
完成整个过程过程代码过程名称所需动作代码及时间
过程代码
过程名称
完成大概时间
动作代码及时间
00
标准BZH
45min
AB15CD2AB5CD2AB5C
[DP][DT]
01
轻柔QR
45min
AB12CD2AB4CD2AB4C
[DP][DT]
02
快洗KX
33
AB6CD2AB6C[DP][DT]
03
单洗DX
17
AB15
04
单漂DP
4
AB10sC
05
单脱DT
8
D5
动作名称
进水JSH
洗涤
排水
脱水
动作代码
A
B
C
D
注:
B/D*的*内容表示本次动作所用时间。
[]内容表示所调程序
洗衣机的过容安全保护和脱水安全保护及防震动功能采用中断处理方式。
这两个中断分别对应于CPU的外部中断“0”和外部中断“1”。
中断为下跳沿触发分别对k8和K9进行监测。
开盖(安全保护)或不平衡(防振动)中断信号通过K9加到P3.3。
本系统对开盖和不平衡中断采取相同的处理方法,因此,共用外部中断“1”。
在洗衣机未进入工作状态期间,P1.0为输入线,用于监测启动键的状态,当启动键按下时,洗衣机即进入工作状态。
P1.1,P1.3被设为输入键分别用于模式设定和水位设定,接K2和K4,确定后课按K1确认并进入洗衣状态。
D6为低水位,D7为中1水位,D8为中2水位,D9为高水位。
在洗衣机进水期间,P1.4被用作输入线,用于监测水位开关状态(K5),P1.5用于监测越线水位开关(K6)为CPU提供洗衣机的水位信息;在洗衣机高速脱水期间,当发生开盖和不平衡中断时,P1.2为输入线(盖开关K3),用于撤消中断请求信号。
CPU的P0.4线通过ULN2003A用于驱动蜂鸣器发出各种告警信号。
P1.6(K7)做输出线用于脱水完成检测。
45脚外接12Hz的晶振。
1脚通过10uF电容接到+5v电源,可实现上电自动复位。
洗衣机的洗衣模式可通过K2贱进行循环选择。
洗衣机水位可通过K4键循环选择。
洗衣机的水位可通过D6~D9进行显示。
脱水期间系统在响应开盖或不平衡终止后,CPU采取软件查询的方式方式通过P1.2线对盖开关进行监测以确定洗衣机是否继续进行脱水操作。
D1为洗涤脱水指示;D2为进水指示;D3为排水指示;D4代表进水阀;D5代表出水阀。
D16~D20为续流二极管,用于保护电磁阀和蜂鸣器。
工作电源如下:
工作控制程序(软件分析)
由AT89C51控制的全自动洗衣机的工作主程序框图如附图2-1所示。
从主程序框图可以看出,这个控制程序也较为简单,所以,占用的存储器容量不大。
从程序框图中可以看出程序的基本流程,系统上电复位后,首先进行初始话,按K1启动后默认标准洗衣工作程序和低水位,然后扫描K4,K2和启动键K1,这时洗衣机处于待命状态。
通过K2,K4可分别修改洗衣工作程序和水位。
扫描过程中当发现启动键K1按下时,洗衣机即从待命状态进入工作状态。
洗衣机进入工作程序后,系统首先根据RAM中R4单元的特征字判断洗衣机的洗衣工作程序,若特征字为00H则为标准洗衣程序、01H则为轻柔洗衣、02快洗、03单次洗衣、04漂洗、05脱水程序。
(水位和模式选择如框图1-1)
洗衣机的三大功能是实现衣服的洗涤、漂洗和脱水,进入工作状态后跳到所选工作程序,所有工作程序都是对这三大功能的调用和复写只是时间代码和洗涤力度不同,所以完成一次洗衣过程所需的动作为下列过程或其中几种.
(1)进水动作进行洗涤时,盛水桶内的水量必须达到水位设定要求。
洗衣机的进水和水位判断,是由水位开关K5和进水阀的开合来进行控制的。
当桶内没有水或水量达不到设定水位时,单片机程序将控制进水阀打开,开始注水;当桶内的水位达到设定水位时,水位开关K5受压闭合,程序就可进入下一步(洗涤)处理。
若水位越线即K6闭合则控制排水阀打开进行排水直到K5打开为止。
进入下一过程。
(2)排水动作进入脱水动作前应先排水。
为了避免空排水造成时间浪费以及排水不完而带水脱水造成对电机的损害,洗衣机能够根据实际水量(缸底水位检测开关K7决定)对排水进行动态控制。
K7打开则排水完成,关闭排水阀。
(3)洗涤动作洗涤动作指的是电机周期性的“正转一停止一反转一停止“。
不同的洗衣过程,控制电机执行“正转一停止一反转一停止“的时间是不同的,标准洗涤过程可取:
正转4秒一停止2秒一反转4秒一停止2秒。
对于轻柔洗涤过程,这个时间要作相应调整为正转3秒一停止2秒一反转3秒一停止2秒。
(4)脱水动作排水结束后进入脱水动作,脱水是通过电机的正转来实现的,同时要求排水阀一直打开,也正是由于排水阀的打开,才使脱水时的电机正转速度不同于洗涤时的电机正转速度(通过机械装置实现)。
脱水分短脱水和长脱水,短脱水时间为2分钟。
脱水时电机将一直高速正转,一般5分钟的长脱时间。
进入脱水前若洗衣机桶盖是打开的,则进行呜叫、显示警。
进行脱水时若遇洗衣机桶盖打开或脱水不平衡,则暂停脱水并进行显告警,直至用户合上桶盖后或调整衣物后,才继续进行脱水。
脱水结束后,进入下一动作。
(5)抗干扰设计在设计中,我们将软件抗干扰的重点放在了CPU抗干扰问题上。
在洗衣机洗涤的过程中,如果干扰强烈,干扰就很可能通过三总线扰乱CPU按正常流程执行这些程序。
我们抗干扰的目的就是发现cPu如何受到干扰,如何拦截失去控制的程序流向,如何使程序的损失减小,如何尽可能无扰动地恢复系统正常状态。
这些可以通过以下两个途径实现指令冗余和软件陷阱。
洗衣过程结束后,蜂鸣器将断续呜叫以提醒用户可以取走衣服并关掉洗衣机的电源。
各部分具体的程序框图如下:
总程序流程图:
调试过程:
开始由于P0口没有上拉电阻而产生电机不能运转的问题,后经段老师知道得以解决。
1、上电后,按启动键K1进入设定部分,可通过K2设定洗衣模式,K4设定水位。
设定结束后再按K1键进入相应模式并进水到设定位。
2、洗衣机进水指示灯亮,闭合K7,K5后进入下一步(05单脱无此步)
3、洗衣机脱水-洗涤指示灯闪烁,表明进入洗衣状态。
4、进入排水状态后,排水指示灯亮,打开K7则排水结束进入下一步
5、若没有闭合K3在脱水时则不脱水并警报蜂鸣,直到闭合K2,进入脱水(脱水-洗涤指示灯亮,排水指示灯亮)。
6、K8只在确定设定以前起作用,发出中断请求。
按下后会蜂鸣报警提醒用户减少洗衣量
7、K9只在脱水是起作用,当抖动厉害时由于抖动按下筒壁外的K9,发出中断请求,报警知K9放开。
3-1启动图
进水越线
3-2水位和模式选择(中1水位,模式2)
3-3进水过程
3-4洗衣过程
3-5排水过程
3-6脱水过程
总结
本文介绍了采用AT89C51单片机对家用洗衣机进行智能控制,经过实际检测,本设计具有结构简单,使用方便,可靠性高等特点。
经过本次设计使我对所学单片机知识的得到了深化,能够把知识综合的应用起来而不使像以前一样各个知识点是孤立的不能融会贯通。
加强了对实际问题的分析解决能力。
在这里我要感谢段老师以及姚超仁,罗春富,朱江和华雪松在设计中给我的帮助。
参考文献:
1.段辰东单片机原理及接口技术2008清华大学出版社
2.张义和,陈敌北例说80512006人民邮电出版社
3.张毅刚单片机应用设计2002哈尔滨工业大学出版社
4.李仁电器控制2002机械工业出版社
附录
AT89C51控制的全自动智能波轮洗衣机程序
;水位自定,模式可自选
;
;
COUNT1EQU90;单洗时间特征字,15min
COUNT2EQU30;单脱时间特征字,5min
COUNT3EQU30;标准过程中间单次洗涤特征字,5min
COUNT4EQU12;短脱水时间特征字,2min
COUNT5EQU90;轻柔第一次洗涤时间特征字,12min
COUNT6EQU30;轻柔中间单次洗涤时间特征字,4min
COUNT7EQU36;快洗单次洗涤时间特征字,6min
COUNT8EQU3;漂洗次数,
COUNT9EQU2;标准中间洗涤次数
COUNT10EQU2;轻柔中间洗涤次数
COUNT11EQU2;快洗洗涤次数
TIMESIEQU31H;T0内定时次数存储位
;
ORG0000H
LJMPSTART;开始
ORG0003H
LJMPWINT0;超容中断
ORG00013H
LJMPTINT1;脱水安全防抖中断
;
START:
MOVSP,#60H;堆栈指针移到60H单元
MOVP0,#00H;p0口清零
MOVR0,#00H;清零
MOVR1,#00H
MOVR2,#00H
MOVR3,#00H
MOVR4,#00H
MOVR5,#00H
MOVR6,#00H
MOVR7,#00H
MOV30H,#00H
MOV31H,#00H
MOV60H,#00
SETBEA;开中断总开关
CLRET0;关t0中断
SETBIT1;INT1下跳沿触发
SETBIT0;INT0下跳沿触发
M:
SETBEX0;开INT0中断
LCALLSCAN;调键盘扫描子程序
CLREX0;关INT0中断
NOP
LCALLXYGCH;调洗衣子选择程序
NOP
NOP
NEXT0:
CLRP0.4;结束蜂鸣提醒
MOVTIMESI,#20;响一秒停一秒,如此循环
LCALLT0
SETBP0.4
MOVTIMESI,#20
LCALLT0
JNBP1.0,OK;确认完成否
LCALLDELAY
AJMPNEXT0;否
OK:
CLRP0.4;确认
NOP
NOP
NOP
AJMPOK
RET
;
;键盘扫描子程序
SCAN:
MOVA,#0FFH
MOVP1,A;p1口设为输入端
CLRP3.6;初始水位显示
CLRP3.7;