基于单片机的洗衣机自动化控制电路设计与仿真

2021-05-08 14:54王海波
宿州教育学院学报 2021年2期
关键词:管脚洗衣指示灯

王海波

(1.宿州职业技术学院机电系 安徽·宿州234101;2.江苏师范大学物电学院 江苏·徐州221010)

随着上世纪七十年代单片机研制成功,单片机在最近几十年呈爆发式快速发展,被广泛应用于家用电器实现电器的自动化,切实给人们洗涤衣物带来了方便,提升了人们的生活品质。洗衣机内嵌入单片机实现自动化控制一直是最近几年的热点。单片机控制的低廉性、可靠性、节能性等特点被广泛应用于洗衣机,一方面降低了洗衣机的成本,另一方面提高了洗衣机的可靠性、精确性和自动化程度[1]。本设计以AT89S52为处理器,同时结合按键电路、进排水和指示电路、L298驱动电机电路及其他指示电路构成洗衣机控制系统的硬件电路部分,通过C语言编程和KEIL编译实现软件部分,最后利用PROTUES实现洗衣机的自动化功能。

一、性能要求

洗衣机洗衣过程包括进水—洗—漂—排—脱。对于这个过程按照需求设计了四种模式,在选择洗时洗指示灯闪烁,闪烁期间可以选择增强洗和柔洗模式。

(一)四种模式

1.正常洗模式:(进水—洗衣—排水)—(进水—漂洗—排水)—脱水。(进水—洗衣—排水)这个过程设置重复六次,(进水—漂洗—排水)过程设置四次,脱水设置五分钟。

2.节能洗模式:(进水—洗衣—排水)—(进水—漂洗—排水)—脱水。(进水—洗衣—排水)这个过程设置重复三次,(进水—漂洗—排水)过程设置两次,脱水设置三分钟。

3.独洗模式:只进行进水—洗衣—排水这一过程,一次独洗对进水—洗衣—排水设置重复两次。

4.排脱水模式:只进行排水—脱水或脱水工作,设置三分钟。

(二)增强洗和柔洗

增强洗模式是指洗衣机洗涤时电机转速较快,柔洗模式是指洗衣机洗涤时电机转速较慢。

(三)技术指标

1.利用按键设置正常洗模式、节能洗模式、独洗模式、排脱水模式、增强洗模式、柔洗模式。

2.利用按键控制洗衣机的开启工作和暂时停止工作,洗衣机一旦开启工作即按照程序运行直至脱水完成自动停止。

3.洗衣机不特别设置时默认为正常洗的增强洗模式。

4.在进水和脱水过程中,对应指示灯亮,继电器吸合。

二、洗衣机控制整体框图

洗衣机控制整体框图包括AT89S52单片机、单片机最小系统电路、按键控制电路、指示灯电路、结束提示音电路、电机驱动和电机等七个部分。其中,单片机最小系统是保证单片机正常运转的电路,按键控制输入电路是提供洗衣机使用者选择洗衣模式和开启洗衣机的电路;指示灯电路是指示目前洗衣机的工作状态;故障/结束提示音电路具有洗衣机出现故障或洗衣结束给使用者发出信号的作用;驱动电路实现对电机的运转驱动。系统整体运行状况为:在单片机正常运转情况下,通过按键触发洗衣机各个运行程序,通过程序运行实现对电机的驱动和各显示模块的显示[2]。

图1 洗衣机控制整体设计

三、洗衣机硬件电路设计

(一)最小系统

单片机最小系统是保证单片机正常运行基本电路,包括电源电路、复位电路、晶振电路、单片机。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,拥有灵巧的8位CPU和系统可编程Flash,片上Flash允许程序存储器在系统内编程,因此该单片机价格便宜且功能强大,可以满足洗衣机控制系统的使用。

当单片机控制电路出现故障问题时候,首先要进行复位,恢复初始状态后再重新执行程序。由此可见,复位的功能好坏直接关系单片机控制系统的稳定性和可靠性。采用按钮上电复位是解决复位电路的有效手段,RESET端经过电阻接地,同时经过电容接电源,在电容两端并联按钮,通过按钮通断可实现RESET端持续高电平,促使单片机系统复位。

晶振电路好似我们的钟表时间,人们按照时间才能有序地工作和生活,晶振电路能够产生时钟信号,时钟信号就是给单片机运行提供了时间概念,这样单片机才能按照时间有序工作。洗衣机控制系统中需要对洗、漂、脱进行定时,不可避免地用到AT89S52内置的两个16位的T0和T1定时/计 数器。晶振频率设置为24MHZ可以实现精确定时,晶振电路采用普通电容,晶振两端均接30PF普通电容,两普通电容一端接为一点连接到地端。

图2 单片机最小系统电路图

(二)按键控制输入电路

洗涤模式键接到P3.0管脚,实现正常洗模式、节能洗模式、独洗模式、排脱水模式的选择,开机默认正常洗模式[3],按键按一下变成节能洗模式,继续按键变成独洗模式,以此类推。同时当进入某种模式时,指示灯闪烁等待,等待选择增强洗和柔洗模式,增强和柔洗键接P3.1管脚实现增强洗和柔洗的选择,本设计默认开机增强洗模式。模式选择完成后,开启/暂停/结束提示按钮与INT0口连接,开启/暂停/结束提示按键即可完成自动洗衣过程,此按键可以实现运行的暂停作业和结束提示。水位键仅是模拟设置洗衣机正常运转水位,否则需要进水作业。机盖键模拟机盖打开时刻不允许洗衣机运行,只有机盖闭合电机才能运转,如图3所示。

(三)主要指示灯电路

指示灯电路能够指示洗衣机运行中洗涤模式、增强模式和柔洗模式,同时指示洗衣机是洗、漂、脱哪种工作状态,九个二极管阳极通过220欧姆电阻接电源,接220欧姆电阻主要是限流作用,阴极分别与单片机的P1.0—P1.7和P2.0相连,P1.0—P1.3指示洗涤模式键,P1.4—P1.5指示增强洗还是柔洗模式,P1.6、P1.7和P2.0指示洗、漂、脱工作状态,如图4所示。

图3 按键控制输入电路

图4 主要指示灯电路

(四)故障提示音电路

当洗衣机运行程序出现故障后,通过P2.1口输出电平控制蜂鸣器发出提示音,因为单片机输出信号较为微弱,不足以让蜂鸣器正常工作,故利用晶体管进行驱动,通过驱动电路的驱动可正常发出故障的提示音,如图5所示。

(五)进水排水电路

进水排水电路控制是指对进水阀和排水阀的开和关进行控制,其实质是单片机控制信号对继电器的吸合和断开进行控制[4]。电路如图6所示。单片机P2.2和P2.3管脚是单片机控制进排水指令端。当需要进水时,单片机P2.2管脚控制进水,输出低电平使其继电器吸合允许进水,否则不允许进水;同时P2.3管脚控制排水,输出高电平使其继电器断开不允许排水,否则允许排水。这样处于进水状态只需要P2.2 P2.3=01,洗涤不进水不排水时候P2.2 P2.3=11,需要排水时,P2.2 P2.3=10,这样单片机只需要通过程序在P2.2 P2.3管脚输出相应电平即可实现进水、排水、不进水不排水等状态。这些状态也可以通过指示二极管是否变亮给人们以提示,如图6所示。

图5 故障提示音电路

图6 进排水电路

(六)电机驱动电路

电机驱动电路采用无噪声、无电磁干扰的双向晶闸管作为控制元件,控制电磁阀和电机。电路主要包含了NPN型晶体管、G2RL-14B-CF-DC5型继电器和L298芯片。当L298芯片的VCC端、ENA端和SENSA端接5V电 源,GND端、ENB端、SENSB端、VS端接低电平或接地,L298可以正常使用其功能,芯片IN1—IN4为输入端,OUT1—OUT4为输出端,驱动本电机只需OUT1和OUT2两端,输入端也只需要IN1、IN2两端,根据其功能表即可实现电机的正转、反转和停止。功能表如表1所示。

单片机通过P2.4管脚、P2.5管脚输出电平,通过晶体管控制继电器工作,具体电路连接为:P2.4连接晶体管基极,晶体管发射机接地,晶体管集电极接G2RL-14B-CF-DC5型继电器一端,继电器另一端接电源,继电器输出连接到L298芯片的IN1端;P2.5连接晶体管基极,晶体管发射机接地,晶体管集电极接G2RL-14B-CF-DC5型继电器一端,继电器另一端接电源,继电器输出连接到L298芯片的IN2端。单片机程序运行使P2.4管脚输出高电平时,通过晶体管控制继电器工作输出低电平,低电平接入IN1管脚,单片机程序运行使P2.5管脚输出高电平时,通过晶体管控制继电器工作输出低电平,低电平接入IN2管脚,这样就有当P2.4P2.5=10,则IN1IN2=01,逆时针旋转;当P2.4P2.5=01,则IN1IN2=10,顺时针旋转,如图7所示。

表1 L298芯片功能表

图7 电机驱动电路

四、洗衣机程序软件部分设计

洗衣机软件部分,整体三个部分,即按键扫描输入部分、程序运行控制部分、结束提示部分。最重要的是洗衣机洗衣各运行模块依靠单片机自身进行程序运行控制,对于运行程序控制部分主要包含判断程序部分和具体洗衣程序部分,判断部分主要包括机盖关闭的判断、具体键盘输入人为需求判断,具体洗衣部分程序包括:正常增强洗程序、正常柔洗程序、经济增强洗程序、经济柔洗程序、独洗增强洗程序、独洗柔洗程序、强脱排水程序、弱脱排水程序。洗衣机根据人为需求的按键指令,在机盖关闭情况下,运行设定模式的洗衣过程,其主程序流程图如图8所示。

五、控制系统仿真

Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件,除具有强大的EDA功能以外,Proteus还具有完善的、优秀的仿真功能,因为其设置了功能强大且使用方便的外围器件,特别擅长诸如AT89系列的单片机的仿真,是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台[5],Proteus可以直接把编译好的程序直接加载到原理图虚拟单片机里,通过运行显示进行验证设计单片机系统的功能。其精度和可靠性与实体电路相当。

图8 主程序流程图

在Proteus中找到单片机,同时找到电机、电容、电阻等外围元器件,按照硬件电路设计进行连接电路,连接好电路以后修改各个电子元器件的参数,这样就做出了洗衣机控制系统的原理图;利用C语言编号源程序,把源程序通过keil uvision编译软件进行编译生成目标文件(扩展名为.HEX),把编译好的程序直接加载到原理图虚拟单片机里,点击运行按钮即可实现仿真[6]。

系统开启后,正常洗指示灯、增强洗指示灯、洗涤状态灯亮红色,机器处于洗涤期间正常洗模式中的增强洗,电机运转速度处于每分钟一百转左右这个较高转速。漂状态亮黄灯和脱状态亮绿灯指示洗涤后将进入漂脱状态,直至提示音结束。如图9所示。

图9 仿真结果

结 语

按照洗衣机系统性能自动化需求,分析性能指标,首先设计出洗衣机系统总体架构,按照洗衣机总体架构,分别设计出最小系统电路、按键控制输入电路、指示灯电路、故障/结束提示音电路、进排水电路、电机及电机驱动电路等组成控制系统的硬件电路部分,结合硬件电路设计并编写出系统软件部分,然后利用keil uvision编译软件进行编译生成洗衣机控制系统的目标文件,利用Proteus进行电路仿真出洗衣机性能自动化需求,从而实现洗衣机控制系统的设计和功能验证,尽管仿真和实体稍有不同,但是只有设计仿真正确了才能更好地进行实体制造,这也一定程度上提高了实体制造的成功率,对于单片机控制系统设计具有借鉴作用。

猜你喜欢
管脚洗衣指示灯
面向DSP+FPGA通用处理架构检测的硬件系统设计
10款洗衣液推荐,搞定各种难洗污渍
“洗衣液一哥”养成记
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
洗衣大作战
略谈如何利用三极管管脚间电阻值判断其型号及管脚
洗衣厂如何建立与实施ISO9001标准
上海大众POLO充电指示灯点亮
美国邦纳 工业智能指示灯
2013年波罗车充电指示灯异常点亮