基于单片机的洗衣机控制电路设计毕业设计.doc
基于单片机的洗衣机控制电路设计摘 要 本文以AT89C51单片机为核心,设计了全自动洗衣机控制系统。本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣和脱水三个阶段。控制系统主要由电源电路、数字控制电路和机械控制电路三大模块构成。控制程序设计包括定时中断服务程序、外中断服务程序及主程序。该系统具有控制简单,操作方便等特点。 关键词:单片机;全自动;洗衣机;实时控制;定时电路 ABSTRACTThis article designs a full-automatic washing machine control system with 8051as core. This system realizes whole working course of full-automatic washing machine, including four parts: user parameter input, wash and dehydrate.controlprocedures designed timer interrupt service procedures, external interrupt service procedures and the main program. The control system is simple, user-friendly features. Keywords: SCM; Full-automatic; washing machine; Realtime control; Timing circuit. 目 录摘 要IABSTRACTII第1章 引 言11.1 本课题研究的目的和意义11.2 洗衣机的发展和分类11.3 洗衣机的基本工作原理21.4设计论文的主要内容及基本要求3第2章 设计方案与论证42.1 方案论证42.2 洗衣机整体电路分析5第3章 硬件系统设计73.1电源部分73.2数字控制电路部分93.2.1 片机主控模块93.2.2 74138译码器123.2.3 LED显示模块143.2.4 按键输入模块163.2.5 蜂鸣器报警模块163.2.6 指示灯模块173.3机械控制电路部分183.3.1 电控水龙头183.3.2 水位检测机构183.3.3 电动机控制203.4 硬件系统整机电路21第4章 软件设计224.1 程序流程图224.2 程序设计25第5章 系统工作流程26第6章 结束语27致 谢28参考文献29附录1 整机电路图30附录2 程序31第1章 引 言1.1 本课题研究的目的和意义洗衣机是现代人必备的日常生活家用电器之一,它的发明和应用使人们的洗衣工作变得省时又省力,很好地缓解了人们在家务劳动方面的压力。而在家电市场竞争日益激烈和利润下降的今天,各大家电生产厂商均致力于开发出能满足用户各种要求的智能家电产品,并努力降低生产成本以增强竞争力。作为家电市场中的重要成员,全自动洗衣机的市场竞争更是趋于白炽化。在数字技术风行的今天,大多数的家用电器实现了数字化控制。作为一个价廉物美的微处理器,单片机被广泛应用在各种数字系统中。基于单片机的全自动洗衣机控制系统是单片机应用的一个典型例子。本系统以AT89C51单片机为核心,设计了全自动洗衣机控制系统。 对基于单片机的全自动洗衣机控制系统设计进行深入研究,可使我们掌握全自动洗衣机这种重要家电的工作原理和控制系统,进一步了解单片机在不同领域的应用方法,学会维修全自动洗衣机的基本技术,同时也为将来从事电子信息行业工作打下一定基础,因此对洗衣机控制电路的研究有其极其重要的理论和现实意义。1.2 洗衣机的发展和分类全自动洗衣机是一种除放、取衣物和开动洗衣机这三道手续外,其余洗衣各程序全部自动完成的机电设备。1874年美国的比尔布莱克斯通发明了木制手摇洗衣机,这是世界上第一台人工搅动洗衣机。1911年美国人又研制了世界上第一台电动洗衣机。1920年美国的玛依塔格公司又把洗衣机的木制桶改为铝制桶体,第二年又把铝制桶体改为外层铸铝、内层为铜板的双层结构。1936年,他们又将搪瓷用于洗衣机桶体。与此同时,世界各地也相继出现了洗衣机。欧洲国家研究成功了喷流式洗衣机和滚筒式洗衣机。1932年后,美国一家公司研制成功了第一台前装式滚筒全自动洗衣机,洗涤、漂洗和脱水都在同一个滚筒内自动完成,使洗衣机的发展跃上了一个新台阶。这种滚筒洗衣机,目前在欧洲、美洲等地得到了广泛的应用。1955年,在引进英国喷流式洗衣机的基础之上,日本研制出独具风格、并流行至今的波轮式洗衣机。至此,波轮式、滚筒式、搅拌式在洗衣机生产领域三分天下的局面初步形成。第二次世界大战结束后,洗衣机得到了迅速的发展,研制出具有独特风格的波轮式洗衣机。这种洗衣机由于其波轮安装在洗衣桶底,又称涡卷式洗衣机。近几十年,在工业发达国家,全自动洗衣机制造技术又得到迅速发展,其年总产量及社会普及率均以达到相当高得水平。目前世界洗衣机年总产量近5000万台,而全自动洗衣机的产量呈增长趋势,在技术性能上正向着节水、节能、高效、结构更趋合理的方向发展。微电脑控制功能、新型的洗涤方式、高速脱水以及低噪音等方面都有了很大提高。 在中国,由于历史原因,洗衣机工业起步较晚,直到1978年才正式生产家用洗衣机。但是,随着人们认识的发展,尤其是改革开放的不断深化,进入80年代后的洗衣机工业并没有像一些人预料的那样停步不前,而是保持着旺盛的发展势头。1983年洗衣机产量由1978年的400台飙升到365万台,此后全国各地掀起了大规模的技术引进热潮,大约有40多个厂家先后从洗衣机技术先进国日本、英国、法国、意大利、澳大利亚等引进技术60多项。技术的引进、吸收和创新,极大地提升了国产洗衣机的产业素质与生产能力,缩短了同发达国家之间的差距。如今,我国洗衣机年产量约占世界年产量的四分之一,居于世界首位。除了在数量和品种上满足国内市场外,还出口到北美、欧洲、东南亚等地,跻身于国际洗衣机市场的竞争行列 。1.3 洗衣机的基本工作原理洗衣机的洗涤过程主要是在机械产生的排渗、冲刷等机械作用和洗涤剂的润湿、分散作用下,将污垢溶入水中来实现洗净的目的。首先充满于波轮叶片间的洗涤液,在离心力的作用下被高速甩向桶壁,并沿桶壁上升。在波轮中心处,因甩出液体而形成低压区,又使得洗涤液流回波轮附近。这样,在波轮附近形成了。波轮轴线为中心的涡流。衣物在涡流的作用下,作螺旋式回转,吸入中心后又被甩向桶壁,与桶壁发生摩擦。又由于波轮中心是低压区,衣物易被吸在波轮附近,不断地与波轮发生摩擦,如同人工揉搓衣物,污垢被迫脱离衣物。其次,当衣物被放进洗涤液之后,由于惯性作用运动缓慢,在水流与衣物之间存在着速度差,使得两者发生相对运动,水流与衣物便发生相对摩擦,这种水流冲刷力同样有助于污垢离开衣物。再次由于洗衣桶形状的不规则,当旋转着的水流碰到桶壁后,其速度和方向都发生了改变,形成湍流。在湍流的作用下,衣物做无规则地运动并翻滚,其纤维不断被弯曲、绞纽扣拉长,衣物相互相摩擦,增大了洗涤的有效面积,提高衣物的洗净的均匀性。而全自动洗衣机就是在一个套桶内自动完成洗涤、漂洗和脱水全过程,不用人管,使用者只要设定各步的时间。洗衣机的控制电路则是完成上述过程的自动控制。1.4设计论文的主要内容及基本要求本设计采用AT89C51单片机设计一个洗衣机控制电路,它具有以下功能:(1)洗衣机可选择强弱洗状态,洗涤次数为4,洗涤时间为30分钟,脱水时间为5分钟并用7个LED和2个显示器分别表示其工作状态和显示相应状态下的时间;(2)包含硬件设计和软件设计;(3)设计程序自动完成洗衣.脱水的全过程;(4)脱水完成后,洗衣机的蜂鸣器发出5次“嘟嘟”声,表示洗衣机工作结束。第2章 设计方案与论证2.1 方案论证方案一:可以用纯机械式来设计控制器。本方法利用机械原理来设计定时器。例如可以利用弹簧储存能量和释放能量的过程得到定时时间。其原理如同机械式(上发条)的钟表。由于长时间工作,金属容易疲劳,一旦出现这样的情况,其定时的误差变大,导致定时不准确。同时由于金属的疲劳和磨损等,可能引发定时器停摆,轮子打滑,进水等问题。但机械式控制器具有制造方便,成本低等特点,所以在很多场合应用面依然比较广。方案二:采用专用集成电路(ASIC芯片)。专用集成电路(ASIC芯片)具有价格低,体积小,可靠性高等优点。它一方面克服了机械式控制器所引发的定时器停摆,轮子打滑,进水等缺点;另一方面也克服了利用单片机设计的控制器的问题,不易出现死机,程序调用混乱等问题。同时,采用专用芯片大批量生产时,其性价比高。方案三:利用单片机控制。利用单片机设计控制器是一种理想的设计方案。其优点突出,主要表现为:前期开发投入少,效率高,设计周期短,控制精度较高操作灵便。本设计采用AT89C51单片机控制,单片机是在一块芯片上集成了CPU,存贮器、定时/计数器和多功能I/O口的微处理器,主要用于控制系统中。它具有体积小、功能强和价格便宜等优点,因而广泛地应用在家用电器上。近几年来单片机在家电上的应用越来越广泛,取得惊人的进步和成果。2.2 洗衣机整体电路分AT89C51 单片机 74138译码键盘输入电动机控制蜂鸣器指示灯水位检测机构电控水笼头数码显示 图2-1 整机框图全自动洗衣机的组成方框图如图2-1所示,组成部件有AT89C51单片机、 74138译码器、水位检测机构、指示灯、电动机、蜂鸣器、电控水龙头、LED显示器及4只按键。AT89C51为主控模块,译码器完成主控模块与指示灯的连接,键盘输入部分用于洗衣机的工作方式选择,指示灯配合按键工作,用于指示用户洗衣机的工作状态,LED显示模块用于显示洗衣剩余时间和脱水剩余时间,蜂鸣器用于提示用户脱水时间结束。水位检测机构由玻璃管、浮子、金属滑杆等组成,玻璃管与洗衣桶相连,玻璃管中的水位就是洗衣桶内的水位,在放水或进水的过程中,浮子带动金属管上下移动,当水位处于最高点或最低点时,金属滑杆都与金属地相连,致使引脚INT处于低电平,向CPU申请中断,否则INT1被上拉电阻上拉为高电平。74138的输入端C、B、A分别接单片机的P1.3、P1.4、P1.5,输出端Y0控制“洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣定时”指示灯,Y6控制“脱水定时”指示灯。电动机有2个控制端,一端控制电动机正向运转,该端与P1.0相连,另一端控制电动机反向运转,该端与P1.1相连。电控水龙头共2只,一只为进水龙头,受P3.0控制,另一只为出水龙头,受P3.1控制,当电控水龙头的控制端为“1”时,水龙头打开,当电控水龙头的控制端为“0”时,水龙头关闭。LED显示器共2只,P0控制高位显示器,P2控制低位显示器,按键4只,分别为“编程选择”、“增”、“减”,和“启动键”,这4只键组成的2×2键的矩阵式键盘,该键盘使用引脚INT0向CPU申请中断,P3.5和P3.4为该键盘的行输出,P3.6和P3.7为该键盘的列输入,蜂鸣器由P1.2控制,当P1.2输出为“1”时,蜂鸣器发声。本系统采用6M的晶体振荡器,定时器0和定时器1的初始值设置为每隔100毫秒产生1次中断。第3章 硬件系统设计 洗衣机控制电路中硬件设计包括三大部分:(1)电源电路部分:为数字控制电路提供稳定的5V直流电压,为电动机提供220V市电。(2)数字控制电路部分:负责控制洗衣机的工作过程。主要由AT89C51单片机、两位共阴数码管、按键、蜂鸣器、LED指示灯组成。(3)机械控制电路部分:实现水位检测、电机驱动、进水、排水等功能。主要由水位检测器、电动机等组成。硬件设计部分是洗衣机控制系统中的重要组成部分,它以AT89C51单片机为核心,完成了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣和脱水三个阶段。实现了全自动洗衣机的基本功能。3.1电源部分 洗衣机的电源电路既能完成为数字电路提供稳定的5V直流电压,又能完成为电动机提供220V市电。在该设计中电源电路由整流滤波电路、过流保护电路及稳压电路三部分组成(原理图如图3-1所示)。其中D1D4功能为整流,C1是滤波电容,此电源经小功率三级管Q1(C548)与大功率三级管Q2(TIP42C)组成的电子开关电路,送至三端稳压器(LM317)的输入端,最后从LM317的输出端输出5V电压。过流保护电路由过流电阻R6、R9、延时电路C3及单向可控硅、电子开关电路组成,当稳压器输出的电流超过额定值的20时,流保护起作用。稳压电路由集成稳压块LM317与取样电路组成,LM317作为输出电压可变的集成三端稳压块,是一种使用方便、应用广泛的集成稳压块。LM317的输出端与调整端之间的电压恒定为1.25V,取样电阻位于输出端和调整端之间,调节可变电阻的阻值即可改变输出电压。如图3-2所示,输出电压的计算公式为: U0=1.25(1+R2/R1) ( 3-1)图3-1 电源部分原理图 图3-2 稳压电路原理图3.2数字控制电路部分数字控制电路部分负责控制洗衣机的工作过程。主要组成部件有AT89C51单片机、74138译码器、指示灯、电动机、蜂鸣器、LED显示器及4只按键。框图如图3-3所示。键盘输入部分用于洗衣机的工作方式选择,指示灯配合按键工作,用于指示用户洗衣机的工作状态,LED显示模块用于显示洗衣剩余时间和脱水剩余时间,蜂鸣器用于提示用户脱水时间结束。AT89C51单片机指示灯74138译码器数码显示键盘输入蜂鸣器 图3-3 数字控制电路框图3.2.1单片机主控模块单片机是大规模、超大规模集成电路技术发展的结果,它控制功能强,运算速度快,并且软、硬件开发灵活方便。单片机以独特的优点而得到迅速推广应用,其中家用电器就是其应用中的一个领域,用单片机取代传统的家用电器中机械控制部件,并实现家电智能化。由此确定了单片机在家用电器中的重要地位。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C51单片机管脚图如图3-4所示。1主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源 ·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路 2管脚说明: 图3-4 AT89C51单片机管脚图 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如表3-1所示: 表3-1 P3口引脚的特殊功能表 I/O口线专用功能P3.0 RXD(串行数据接收)P3.1TXD(串行数据发送)P3.2(外部中断0请求输入)P3.3(外部中断1请求输入)P3.4T0(定时器0自问计数脉冲输入)P3.5T1(定时器1外部计数脉冲输入)P3.6(外部数据存储器写信号)P3.7(外部数据存储器读信号) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /Vpp:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, 将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.2.2 74138译码器译码器是一种具有“翻译”功能的逻辑电路,其逻辑功能是将每个输入的二进制代码译成对应的高、低电平信号。译码器按功能可分为两大类,即通用译码器和显示译码器。本设计中的74138译码器是一种通用译码器,它是用TTL与非门组成的3线8线译码器。74138译码器结构图如图3-5所示。74138译码器的三个输入端CBA共有8种状态组合(000111),可译出8个输出信号Y0Y7。这种译码器设有三个使能输入端,当G2A与G2B均为0,且G1为1时,译码器处于工作状态,输出低电平。当译码器被禁止时,输出高电平。74138译码器的管脚图如图3-6所示,其功能表如表3-2。 图3-5 74138集成译码器结构电路图图3-6 74138集成译码器的管脚表3-2 741387译码器的功能表在本设计中74138的输入端C、B、A分别接单片机的P1.3、P1.4、P1.5,输出端Y0控制“洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣定时”指示灯,Y6控制“脱水定时”指示。3.2.3 LED显示模块显示技术是一种将反映外界客观事物的信息(光学的、电学的、声学的、化学的等),经过变换处理,以适当的形式(主要有图像、图形、数码、字符)加以显示,供人观看、分析、利用的一种技术。现在所谓的显示技术,可以称作电子信息显示技术,它是建立在光学、化学、电子学、机械学、声学等科学技术基础上的具有某种程度综合性的技术。由于发光二极管具有工作电压很低;工作电流很小;抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱等特点。发光二极管用在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示09十个数目字(其外形图如图3-7,内部结构图如图3-8)。本设计的共有两只七段LED显示器,P0控制高位显示器,P2控制低位显示器,当洗衣机处于洗衣状态时,LED显示器显示洗衣剩余时间;当洗衣机机处于脱水状态时,LED显示器显示洗衣机的脱水剩余时间。本系统采用共阴接法。 图3-7 七段LED外形图 图3-8 七段数码显示的内结构图3.2.4按键输入模块 洗衣机的控制电路中的输入模块选用独立按键,独立按键具有编程简单但占用I/O口资源的特点,适用于按键不多的场合,为节约I/O口资源,本设计选用矩阵键盘。矩阵键盘又叫行列键盘,它是由二条I/O线作为行线,二条I/O线作为列线组成的键盘,在行线和列线的每个交叉点上设制一个按键,这样按键的个数就为2*2个,这种行列式结构的键盘能有效的提高单片机系统中的I/O口的利用率。本设计的按键输入是由4只按键分别用于洗衣机的工作方式选择分别为“编程选择”、“增”、“减”,和“启动键”的选择,P3.5和P3.4为该键盘的行输出,P3.6和P3.7为该键盘的列输入,指示灯配合按键工作。根据键盘扫描方法,一开始单片机将行线全部置低电平,此时读入列线数据,若列线全为高电平,则没有键按下,当列线有出现低电平时调用延时程序以此来去除按键抖动。延时后再判断是否有低电平,如果此时读入列线数据还是有低电平,则说明确实有键按下,最后一步确认键值。键盘布局图如图3-9所示。图中A对应“编程选择”,B对应“增”,C对应“减”,D对应“启动键”。ABCD 图3-9 矩阵键盘布局图3.2.5 蜂鸣器报警模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、定时器等电子产品中作发声器件。电路中用字母“H”或“HA”表示,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。本设计采用电磁式蜂鸣器,电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。本设计中的蜂鸣器由P1.2控制,当P1.2输出为“1”(脱水完成后)时,洗衣机的蜂鸣器发出5次“嘟嘟”声。 3.2.6 指示灯模块指示灯主要是以光亮指示的方式引起操作者注意或者指示操作者进行某种操作,并作为某一种状态或指令正在执行或已被执行的指示。本设计用七只发光二极管作为洗衣机的指示灯,它是半导体二极管的一种,常简写为LED,由图3-10所示的单片机控制LED显示的原理图,可以看到LED的A极通过限流电阻连接到AT89C51单片机的I/O口,K极连接到了GND地线,因此要使LED发光,也就是使电流流过LED,只需要把I/O口置成高电平即可,所以最终我们对LED的控制变成了对一个I/O口的控制,比如要点亮标号为“D10”的LED,就是把RC0口设置成高电平而已,这就是实现方法。本设计中74138的输入端C、B、A分别接单片机的P1.3、P1.4、P1.5,输出端Y0、Y1、Y2、Y3、Y4、Y5、Y6分别与7个发光二极管的阴极相连,发光二极管的阳极接电源。74138的输出端Y0控制“洗衣剩余时间”指示灯,Y1控制“脱水剩余时间”指示灯,Y2控制“强洗”指示灯,Y3控制“弱洗”指示灯,Y4控制“洗涤次数”指示灯,Y5控制“洗衣时间”指示灯,Y6控制 “脱水时间”指示灯。 图3-10单片机控制LED显示的原理图 3.3机械控制电路部分机械控制部分实现水位检测、电机驱动、进水、排水等功能。主要由水位检测器、电动机等组成。3.3.1电控水龙头全自动洗衣机的进出水控制由两个电控水龙头控制,设计中电控水龙头共2只,一只为进水龙头,受P3.0控制;另一只为出水龙头,受P3.1控制,当电控水龙头的控制端为“1”时,水龙头打开。当电控水龙头的控制端为“0”时,水龙头关闭。3.3.2水位检测机构洗衣机的水位检测机构由玻璃管、浮子、金属滑杆等组成,玻璃管与洗衣桶相连,玻璃管中的水位就是洗衣桶内的水位,在放水或进水的过程中,浮子带动金属管上下移动,当水位处于最高点或最低点时,金属滑杆都与金属地相连,致使引脚INT1处于低电平,向CPU申请中断,否则INT1被上拉电阻上拉为高电平。 全自动洗衣机气压式水位开关(以下简称水位开关)的两组触头分别与程控器以及相关电路配合,共同完成洗涤、脱水等洗衣工序。水位开关中的两组触头的动作分别对应两个水位值。洗衣机接水桶内水位的变化,通过一段密封的连接气管,引致水位开关中气囊的气压改变,继而转换成触头的动作。气压式水位开关有这样的特性:当气压P从零开始随接水桶内的水位上升而上升至P0时,水位开关置位;当气压P随接水桶内的水位下降而下降至P0/2时,水位开关才复位。水位与气压可以看成线性关系。现用SP表示水位开关状态,SP=0 表示水位开关复位;SP=1 表示水位开关置位。水位开关的状态SP与气压P的关系示于图3-11,水位开关处于复位状态时,开关内的常闭触头闭合,洗衣机的脱水相关电路接通;水位开关处于置位状态时,开关内的常开触头闭合,洗衣机的洗衣(漂洗)相关电路接通。如图3-12所示。图3-11 水位开关状态与气压的关系 图3-12 水位开关内触头示意图 3.3.3 电动机控制电动机也称电机,在电路中用字母“M”(旧标准用“D”)表示。它的主要作用是产生驱动力矩,作为用电器或小型机械的动力源。交流异步电动机是领先交流电压运行的电动机,广泛应用于电风扇、电冰箱、洗衣机、空调器、食品加工机等家用电器及各种电动工具、小型机电设备中。单相交流电动机只有一个绕组,转子是鼠笼式的。当单相正弦电流通过定子绕组时,电动机就会产生一个交变磁场,这个磁场的强弱和方向随时间作正弦规律变化,但在空间方位上是固定的,所以又称这个磁场是交变脉动磁场。这个交变脉动磁场可分解为两个以相同转速、旋转方向互为相反的旋转磁场,当转子静止时,这两个旋转磁场在转子中产生两个大小相等、方向相反的转矩,使得合成转矩为零,所以电动机无法旋转。当我们用外力使电动机向某一方向旋转时(如顺时针方向旋转),这时转子与顺时针旋转方向的旋转磁场间的切割磁力线运动变小;转子与逆时针旋转方向的旋转磁场间的切割磁力线运动变大。这样平衡就打破了,转子所产生的总的电磁转矩将不再是零,转子将顺着推动方向旋转起来。洗衣机里的机动机是电容式单相异步电动机,电容式单相异步电动机有原理是在启动绕组上串联一个适量的电容器,由于电容器的电流滞后于它的电压90度,所以会在定子上产生一个偏转磁场,使电动机旋转。本洗衣机的控制电路中单片机通过双向可控硅(电子开关)直接驱动单相异步交流电机。控制方式为开环,控制电机的正反转,完成最基本的洗涤、漂洗、脱水功能。电动机有2个控制端,一端控制电动机正向运转,该端与P1.0相连,另一端控制电动机反向运转,该端与P1.1相连。系统供电时,交流220V电压经过双向可控硅加在电动机的2个控制端,可控硅的控制端由单片机的P1.0、P1.1控制,当洗衣机接到“强洗”指令时,P1.0输出高电平,经过功率管8050放大后,触发双向可控硅,使双向可控硅TR1导通,电机正向旋转。当洗衣机接到“弱洗”指令时,P1.1输出高电平,经过功率管8050放大后,触发双向可控硅,使双向可控硅TR2导通,电机反向旋转。在整个洗衣过程中,程序会不断判断洗衣机的强弱洗模式,从而不断调整电机转动。如图3-13所示。 图3-13 电动机控制原理图 3.4 硬件系统整机电路通过前面几节单元电路的设计及器件的选择,得到单片机控制的全自到洗衣机硬件原理图(见附录1)。第4章 软件设计本设计中洗衣控制程序由定时中断服务程序、外中断服务程序和主程序组成。假定用户要将洗衣机设置成弱洗方式,洗涤次数为4,洗涤时间为30分钟,脱水时间为5分钟,本系统采用6M的晶体振荡器,定时器0和定时器1的初值设置为每隔0.1秒产生一次中断。程序中使用内部数据存储器70H单元作强洗弱洗标志位。当用户设置洗衣模式为弱洗时,该位设置为0;当用户设置洗衣模式为强洗时,该位设置为1。71H单元用于保存用户设置的洗衣次数,72H单元用于保存用户设置的洗衣时间,73H单元用于保存用户设置的脱水时间,74H单元用于保存洗衣机每次换水的时间,该单元的值根据71单元的内部和72单元的内部来计算,75H用于定时器0为每次洗衣时间的记数,76单元用于保存“编程选择”的状态。79H用于定时器0和定时器1记录定时的秒数,7AH用于记录定时的秒数。4.1 程序流程图主程序主要完成洗衣机控制电路中的整个洗衣、脱水过程。打开电源后程序从地址0000H开始运行,F作为启动位判断用户是否按下“启动”键,该位为“1”是表示用户已按下启动键。当用户按下启动键后,F键作为水位标志使用,用于标志水已放满或水已放空。当洗衣、脱水时间结束后,关闭电机并使蜂鸣器以声。程序流程图如图41所示。定时器服务程序主要完成主程序中所有定时和中断服务,启动定时器0后,经过100毫秒的时间定时器0产生中断,CPU执行定时器0的中断服务程序。定时器0的程序流程图如图42所示,程序见附录2计算每次洗衣时间定义显示码表相关信号初始化外中断0初始化外中断1初始化定时器1初始化定时器0初始化键盘中断允许判断水是否放完定时是否到水是否放满是否按下“启动”键打开进水笼头,水位检测中断允许关闭进水笼头 启动定时器0打开出水笼头洗涤次数是否完成启动电机开始脱水, 启动定时器1脱水时间到关闭电机,使蜂鸣器发声断电 ,结束NYYNNNNYYY图4-1 主程序流程图洗衣记时器加1百毫秒计数器加1变换电动机旋转方向关闭定时器0秒计数器清0显示缓冲区数据减1更新显示百毫秒计数器清0秒计数器是否加1判断本次洗衣时间到否判断是否为弱洗秒计数器是否60Y百毫计数器是否10Y中断返回YYNYY图4-2 定时器0程序流程图4.2 程序设计根据主程序流程图4-1,用汇编语言编写程序见附录2 系统源程序是在Keiluvision2环境下进行编译,调试的。由于对该软件运用不是很熟练,再加之没有做硬件电路,不能实现软硬件联机调试。因此,在调试过程中仅对程序中的语法错误进行了检查和修改,编译结果如图41。图4-3 编译结果N第5章 系统工作流程打开洗衣机的电源开关后,强洗指示灯被点亮,表明洗衣机当前处于强洗模式,电动机只向1个方向运转。按下“增”按键,则选择弱洗工作模式,电动机正反2个方向交替运转,每隔1min变换方向1次。设置好强洗、弱洗工作模式后,按下“编程选择”按键,则“洗涤次数”指示灯被点亮,此时按下按键“增”或“减”,就可设置洗涤次数。洗涤次数设置好后,按下“编程选择”按键,指示灯“洗衣定时”被点亮,此时按下按键“增”或“减”,就可设置洗衣时间。洗衣时间设置好后,按下“编程选择”按键,指示灯“脱水定时”被点亮,此时按下按键“增”或“减”,就可设置脱水时间。设置好洗衣机的工作模式后,按下“启动”按键,洗衣机开始工作。在洗衣的过程中,指示灯“洗衣机剩余时间”被点亮,此时LED显示器显示的数字即为洗衣机的剩余时间。当用户设置的洗衣时间结束后,洗衣机将洗衣机水桶里面的水放掉,然后启动电动机,脱水过程开始。此时指示灯“脱水定时”被点亮,LED显示器显示的数字即为脱水剩余的时间。脱水完成后,洗衣机的蜂鸣器发出5次“嘟嘟”声,提示用户洗衣过程已经结束。第6章 结束语本洗衣机控制系统设计采用AT89C51单片机为主控模块采用程序控制,结合了数字电路设计和机械控制电路设计。成本低廉,结构简单,控制精度高,工作稳定。其特点是使用器件少,结构紧凑,在洗衣机的控制方面具有较高的实用价值。在设计过程中,自己根据题目要求,查阅了很多资科。复习了AT89C51单片机、74138译码器、数字电路等的知识,并自己学了一些机械和电机控制电路方面的知识。但系统源程序是在Keiluvision2环境下进行编译,调试时。由于对该软件运用不是很熟练,再加之没有做硬件电路,不能实现软硬件联机调试。因此,在调试过程中仅对程序中的语法错误进行了检查和修改。这也是本次设计中最遗憾之处,以后如果有机会从事本课题的研究,一定弥补这次的不足之处。致 谢感谢我的指导教师,他严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他循循善诱的教导给予我无尽的启迪。同时感谢教研室所有给我授过课的老师感谢我的同学们对我的帮助和指点。没有他们的帮助,我想对于我一个人来说,要想在短短的几个月的时间里学习单片机以及相关芯片等等这么多的知识并完成毕业设计是几乎不可能的事情。最后,在离别之际,为我的母校送上一份真诚的祝福,祝福我的母校明天更美好!参考文献1付家才主编.应用电子工程实践技术M.北京:化学工业出版社2 杨颂华,冯毛官编著.数字电子技术基础M.西安:西安电子科技大学出版社3 沙占友.单片机外围电路设计M.北京:电子工业出版社,2003 4 谢自美主编. 电子线路设计、实验、测试(第二版)M. 武汉:华中科