Board logo

标题: 用AT892051设计智能洗衣机的思路和方法(毕业设计) [打印本页]

作者: fghser    时间: 2010-10-13 10:07     标题: 用AT892051设计智能洗衣机的思路和方法(毕业设计)

单片机又称微控制器,或称嵌入式控制器。而现在的智能家电无一例外是采用微控制器来实现的,所以家用电器是单片机应用最多的领域之一。它是家用电器实现智能化的心脏和大脑。
  由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。

  AT89C2051单片机是ATMEL公司8位单片机系列产品之一,是一种20引脚双列直插式芯片。它内含2KB可反复烧录的FLASH存储器,RAM字节也有128个,15个I/O口,5个中断,2个定时,已经可以满足程序的需要,指令也和51系列兼容,基于上述特点,选择它来设计一台智能洗衣机,完全可以达到以下的功能:
  1、洗衣工作状态功能:强、弱洗涤;
  2、洗衣程序功能:含4种独立程序,即标准洗衣程序、经济洗衣、单次洗衣、脱水功能;
  3、特殊功能:故障诊断、安全保护、防振、暂停、间歇工作、声光显示功能。

一、洗衣机的控制功能的要求
    洗衣机要完成洗衣工作,除了对一般洗衣过程的人工工作及效能进行模拟之外,还要根据洗衣机的机械电子性质进行有关控制和检测。

对于一台套桶式单缸波轮全自动洗衣机而言,首先要求能完成洗衣功能;同时还要根据用户的不同要求设置几种不同的洗衣程序;还要考虑水流的情况决定洗涤的弱强情况;另外,还要对洗衣过程出现的故障进行诊断;保证高速运转是脱水的安全性等。所以对全自动洗衣机,一般要求具有如下基本功能。

   (1)弱强洗涤功能。要求强洗时正 反转驱动时间各为4S,间歇时间为1S;弱洗时正 反转驱动时间各为3S,间歇时间为2S。

(2)4种洗衣工作程序,即标准程序 经济程序 单独程序和排水程序。标准程序是进水—洗涤—漂洗—洗涤—;脱水,如此循环3次,每循环一次洗涤或漂洗环节时间比上一循环同一环节时间减少2min,具体是第一循环为洗涤,时间为6min,第二第三次循环为漂洗,时间分别为4min和2min.排水时间采用动态时间法确定,脱水时间为2 min.经济程序与标准程序一样,只是循环次数为二次。单独程序是进水—洗涤(6 min)—结束(留水不排不脱)。排水程序是排水—脱水—结束,时间确定与上述程序相应环节相同。
(3)进 排水系统故障自动诊断功能。洗衣机在进水或排水过程中,若在一定的时间范围内进水或排水未能达到预定的水位,就说明进 排水系统有故障,此故障由控制系统测知并通过警告程序发出警告信号,提醒操作者进行人工排除。
(4)脱水期间安全保护和防振动功能。洗衣机脱水期间,若打开机盖时,洗衣机就会自动停止脱水操作。脱水期间,如果出现衣物缠绕引起脱水桶重心偏移而不平衡,洗衣机也会自动停止脱水,以免振动过大,待人工处理后恢复工作。

(5)间歇驱动方式。脱水期间采取间歇驱动方式,以便节能。本系统要求驱动5s,间歇2s,间歇期间靠惯性力使脱水桶保持高速旋转。

(6)暂停功能 。不管洗衣机工作在什么状态,当按下暂停键时,洗衣机需暂停工作,待启动键按下后洗衣机又能按原来所选择的工作方式继续工作。

(7)声光显示功能。洗衣机各种工作方式的选择和各种工作状态均有声 光提示和显示。
 



7.1.2 控制逻辑电路

全自动洗衣机的控制逻辑电路如图7-1所示。它由单片机AT89C2051为核心加上有关集成电路及元器件组成。从图中看出,这个全自动洗衣机控制逻辑电路相当简单。

全自动洗衣机的工作部件有3个,这就是电机.进水阀和排水阀。电机是洗衣机的动力源,它的转动带动洗衣桶和波轮的转动,从而时现对衣物的洗涤。进水阀用于控制洗衣机的进水量。排水阀用于控制排水。电机在脱水时还高速旋转带动衣物脱水。

电机的状态有3种,即正转.反转及停止状态。电机一般工作在这三种状态的不断转换之中,从而实现洗涤。但在脱水时,只工作在正转高速状态。

进水阀和派排水阀则只有开.关这两种状态。

从图7-1的控制电路中可以看出:AT89C2051的P1端口中的P1.0~P1.3共四条I/O线通过4块SP111O新型固态继电器分别直接驱动洗衣机的这些工作部件。SP1110是一种固态继电器,内有发光二极管及光触发双向可控硅,10~50mA输入电流即可使双向可控硅完全导通,输出端通态电流为3A(平均值),浪通电流15A(不重复)。之所以选用这个器件,是因为它一方面可使电路进一部简化,另一方面还可使强.弱两类电完全隔离,保证主板的安全。  

74SO5为六反相器,用其作为中间反相器,其中的4个反相器可分别驱动4个SP1110继电器,剩余两个反乡区,剩余两反乡器 用于驱动LED5和LED6。

74LS139为双2-4线译码器,选用它可解决CPU I/O线数量的不足。从控制要求可知,洗衣机有4种不同的显示来加以区别。74LSW139双2-4线译码器仅占用CPU的P3.0和P3.1两口线即可提供4种不同显示的驱动, 其逻辑关系是:P3.0,P3.1为“11”时LED1亮,指示标准程序;为“10”时LED2亮,指示经济程序;为“01”时LED3亮,指示单独程序;为“00”时LED4亮,指示排水程序。

洗衣机的暂停功能和安全保护及防震动功能采用中断处理方式。这两个中断分别对应于CPU的外部中断“0”和外部中断“1”。中断信号通过TC4013BP双D触发器 的两个Q/分别加到CPUP3.2和P3.3口线由触发器锁存直到CPU响应中断为止。开盖(安全保护)或不平衡(防振动)中断信号通过由BG1,BG2组成的反相器送至TC4013BP的11脚CP端,经触发器的第12脚(Q/)加到P3.3。本系统对开盖和不平衡中断采取相同的处理方法,因此,共用外部中断“1”。

为了充分利用(CPU的I/O口线,P3.4和P3.5采用分时复用技术,没线具有两个功能。在洗衣机未进入工作状态或洗衣机处于暂停状态期间,P3.4为输入线,用于监测启动键的状态,当启动键按下时,洗衣机即进入工作状态或从暂停状态恢复到原来的工作状态;在洗衣机暂停中断响应期间,P3.4为输出线,用于撤消暂停中断请求。在洗衣机进水或排水期间,P3.5被用作输入线,用于监测水位开关状态,为CPU提供洗衣机的水位信息;在洗衣机高速脱水期间,当发生开盖和不平衡中断时,.P3.5为输出线,用于撤消中断请求信号。CPU的P3.7线用于驱动蜂鸣器发出各种告警信号。4 5脚外接6Hz的晶振。1脚通过10uF电容接到+5v电源,可实现上电自动复位。K7为强制复位贱。洗衣机的强.弱洗可通过K1贱进行循环选择。K1还具有第二功能,几5当洗衣机发生故障转入报警程序后,按下K1贱可使洗衣机退出报警状态回到处始待命状态。洗衣机工作程序可通过K2键循环选择。洗衣机的工作状态可通过LED7~LED9进行显示。脱水期间系统在响应开盖或不平衡终止后,CPU采取软件查询的方式方式通过P1.6线对盖开关进行监测以确定洗衣机是否继续进行脱水操作。

7.1.3  工作控制程序

由AT89C2051控制的全自动洗衣机的工作程序框图如图7-2所示。从程序框图可以看出,这个控制程序也较为简单,所以,占用的存储器容量不大。

从程序框图中可以看出程序的基本流程,系统上电复位后,首先进行初始话,默认标准洗衣工作程序和强洗方式,然后扫描K1,K2和启动键K4,这时洗衣机处于待命状态。通过K1,K2可分别修改强/弱洗方式和洗衣工作程序。扫描过程中当发现启动键K4按下时,洗衣机即从待命状态进入工作状态。

洗衣机进入工作程序后,系统首先根据RAM中57H单元的特征字判断洗衣机的洗衣工作程序,若特征字为(01H为单独程序,02H为经济程序。进水操作P1.0置位驱动进水阀开启。进水期间系统不断检测水位开关K5的状态,当检测到K5闭合时,说明进水以达到预定水位。若在规定的4min极限内为检测到K5闭合,说明进水系统发生故障,此时洗衣机退出工作状态,程序跳转到FW为标号地址的故障处理程序段进行报警,其处理方法是:将P1.0~P1.3位全部置“0”,中止洗衣机的各中操作,然后洗衣机以响1s`停2s的规律不断地发出报警信号,直到人工干预即按下K1键后为止(按下K1后,程序跳转回主程起始地址,洗衣机又回到待命的初始状态0。

在正常情况下,进水期间检测到K5闭合时,说明进水以达预定水位,这时洗衣机进入下一程序即洗涤工作。因为电机在洗涤或漂洗工作时有正`反转和间歇三种状态,所以用P1.2,P1.3两线才能实现对惦记这三种状态的控制。其逻辑关系是:P1.3,P1.2为“00”时电机间歇,为“01”时正转,为“10”时反转。洗涤时间为6min.洗涤结束后,系统通过一条判断指令,判断是否排水。由控制要求可知,若不排水则为单独程序,这时程序直接跳到结束,否则进入排水进程。

排水时间采用动态时间法确定,其原理是;根据常用的 空气压力水位开关的特性(即在进水中当水位达到预定水位时水位开关就接通;在排水中当桶内水位下降11cm 后,水位开关才断开),在排水过程中若从开始到开关断开所需时间为D,则整个排水所用时间为2D+50S(经验值)。若在规定的1min极限时间内,系统检测不到水位开关K5断开,说明排水系统有故障,程序跳转至故障处理程序段发出警告信号,其处理程序段发出告警信号,其处理方法与进水系统故障相同。

排水结束后,洗衣机接着执行脱水操作,P1.1维持置位状态,保持排水发开启,P1.2按5s置位`2s 清0的规律连续驱动电机缟素旋转2 民,然后脱水结束。脱水结束后系统通过一条判断指令判断整个洗衣工作是否结束。其原理:是洗衣机在每次洗涤或漂洗工作环节结束之后,洗衣工作程序标志57H单元减1一次,在脱水脱水工作结束,洗衣机报警三声后。即返回初始待命状态。若洗衣工作尚未结束,洗衣机再次执行进水操作,进入下一循环。以上是洗衣机工作的大概流程,工作过程中所许的各种计时,均由定时器“0”定时中断服务程序提供。定时器“0”设置为定时方式1,每100 ms产生一次中断,因此,TL0,TH0装入的常数分别为0B0H,3CH。定时器“0”中断服务子程序入口地址防甾BH单元中,洗衣机进入工作状态后定时器几5被启动/每中断一次,70H单元累加1一次,累加到0AH时,为1s,因此71H单元累加1一次,该单元累加至3CH时,为1 min,这时72H单元累加1一次。系统根据这几个内存单元中的数据就可以确定洗衣机工作各个进程的时间。在暂停中断以及开盖或不平衡中断响应期间,定时中断被禁止,计时各单元内容不变。

洗衣机的暂停中断在洗衣机进入工作状态后,中断请求即被设置为允许,中断请求有效;而开盖或不平衡中断只有在洗衣机进入高速脱水的工作进程时,中断请求才被设置为允许,请求信号有效。这两个中断服务程序比较简单。

所以套桶式电脑全自动洗衣机的工作原理基本是一样的。然而,不同的厂家不同型号的这类洗衣机其电器控制系统电路的组成和原理则有所区别。这里所介绍的电路有别于以往的这类电路,是AT89C2051单片机应用的一个实例。  



图片附件: 2051xi3.jpg (2010-10-13 10:06, 32.88 KB) / 下载次数 248
http://bbs.hymcu.com/attachment.php?aid=66&k=6fa20edd0923c9f218135c1429011eea&t=1732767725&sid=H2l6kr






欢迎光临 珩源工控论坛 (http://bbs.hymcu.com/) Powered by Discuz! 7.2