一种基于单片机的全自动洗衣服控制系统的制作方法

文档序号:11333817阅读:334来源:国知局

本实用新型涉及一种基于单片机的全自动洗衣服控制系统,属于自动控制技术领域。



背景技术:

随着社会的飞速发展,人们的生活质量的不断提高,洗衣机的使用量也越来大,市场上也出现了各类不同的洗衣机,现在市场上最常见的有波轮式、滚筒式、搅拌式洗衣机,其控制方式:有全自动、半自动的和手动的洗衣机,本专利针对流行至今的波轮式洗衣机进行了基于单片机的全自动控制系统的介绍,较现今市场上常见的基于单片机的控制系统更加灵活方便,较现今市场上常见的基于PLC的控制系统成本大大降低,让其在使用和制造成本上更有市场竞争力。



技术实现要素:

本实用新型提供了一种基于单片机的全自动洗衣服控制系统,用于今市场上常见的基于单片机的控制系统不够灵活方便和基于PLC的控制系统成本过高的问题,让其在使用和制造成本上更有市场竞争力。

本实用新型的技术方案是:一种基于单片机的全自动洗衣服控制系统,包括AT89C51单片机1、6116数据存储器2、8255芯片3、SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、光电耦合器7、步进电机8、MAX7219驱动9、LED数码管10、蜂鸣器模块11;

所述6116数据存储器2和两片8255芯片3分别与AT89C51单片机1相连接,组成整个完整的单片机控制模块,单片机控制模块分别和SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、MAX7219驱动9、蜂鸣器模块11相连,ULN2803驱动6连接光电耦合器7,光电耦合器7和步进电机8相连,MAX7219驱动9和LED数码管10相连;

其中,AT89C51单片机1内部的两个定时/计数器T1、T0,定时/计数器T1作为定时器使用,定时/计数器T0作为外部计数器使用。

还设有X25045看门狗芯片12,X25045看门狗芯片12与AT89C51单片机1相连接。

还包括暂停控制模块,洗衣机在洗衣过程中,人们可以根据人为意志在洗衣过程中暂停工作。

其中,AT89C51单片机1外接6116数据存储器2作为外部数据存储器;AT89C51单片机1本身的4个I/O口不能满足应用需求,所以采用两片8255芯片3扩展;采用ULN2003驱动6和光电耦合进行隔离实现步进电机8和AT89C51单片机1间接相连,实现AT89C51单片机1对步进电机运转状态的控制。

本系统是通过顺序控制的方法来达到系统的控制要求:

(1)通过键盘设置预约时间、㓎泡时间、洗涤时间、脱水时间、漂洗次数(一次5分钟)、水位高度。

(2)通过SW-4型鉴频式水位传感器4输出的频率信号经过AT89C51单片机1处理得出当前的水位高度,设置水位与实际水位相比较,控制进水阀和出水阀的开关状态。

(3)通过延时自减的方法当时间自减到0后自动进入下一个工序。

所述基于单片机的全自动洗衣机控制系统在AT89C51单片机1中没有直接的测量频率的模块,本系统利用单片机内部的两个定时/计数器T1、T0来设计一个频率检测模块,使用定时/计数器T1作为定时器使用,定时/计数器T0作为外部计数器使用,因此AT89C51单片机1的T0(P3.4)管脚接SW-4型鉴频式水位传感器4的脉冲输入端进行计数。定时/计数器T1定时达到50ms时产生一个中断请求,AT89C51单片机1的CPU通过处理定时/计数器T0在50ms内计数的脉冲个数(N)就能够得到SW-4型鉴频式水位传感器4的输出频率,即:f=N÷50。注意:在使用AT89C51单片机1外部计数时,计数频率不能超过振荡周期的二十四分之一,如采用晶振频率为12MHz的单片机,计数频率不得超过0.5MHz。本系统使用的是晶振频率为11.952MHz的单片机1,所以计数频率满足设计要求。AT89C51单片机1是八位的,不能直接进行16位数据处理,因此在鉴频设计中,将计数所的到16位数据分成高八位数据和低八位,定时/计数器T0计数的高八位数据存放在(4BH)单元中(TH0→(4BH)),将定时/计数器的低八位数据存放在(4AH)单元中(TL0→(4AH)),单片机1通过对其设置水位的理论频率读取进行比较就能够得住实际水位比设置水位高还是低,从而控制进水阀和出水阀的开关状态。将设置水位理论频率高八位数据读取放入(4CH)单元,将设置水位理论频率的低八位数据放入(4DH)单元。

所述的基于单片机的全自动洗衣服控制系统的矩阵键盘5设计,在洗衣机控制系统的设计中,需要使用键盘的输入量一共有9个,为了防止整个键盘所占面积过大,导致洗衣机的控制面板外形受到诸多限制,同时降低制造成本,将键盘设计为5×2的矩阵键盘,其中多出的一个空键可待后续开发利用。5×2的矩阵键盘需要7个I/O口,将第一片8255芯片的PA口和PC0 ~PC3口作为键盘设计使用,而PB口和PC4~PC7口作为水位输出显示接口和电机控制信号输出口。根据设计需要将第一片8255的PC0~PC3口设置为输入口,其他口为输出口,因此,第一片8255的控制位81H。

所述的基于单片机的全自动洗衣服控制系统还包括LED数码管10,在本系统中,将驱动显示芯片MAX7219初始化为:译码方式设置为不译码、显示亮度为3级、扫描范围为8个数码管、关闭状态为正常状态关闭、显示状态为正常状态显示。由于将译码方式设置为不译码,因此在发送数据时需要将数据颠倒发送。即将D15~D0依次颠倒为D0~D15之后进行串行发送。MAX7219驱动9的显示亮度一共有0~15共16个等级,等级越高则数码管显示越亮。在设计中显示亮度没有较高的要求,将显示亮度等级设置为3级即可正常显示。

所述的基于单片机的全自动洗衣服控制系统还包括蜂鸣器模块11,用于发出声音直观的提醒用户洗涤完成。

所述的基于单片机的全自动洗衣服控制系统还包括暂停控制模块,暂停控制模块发出的暂停信息具有最高优先级,洗衣机在洗衣过程中,人们可以根据人为意志在洗衣过程中暂停工作,同时保证安全。当打开洗衣机盖子时,从安全的角度出发,无论什么情况下洗衣机都需要暂停工作。在洗衣过程中,如果先改变设置参数,如:洗涤时间、脱水转速等。都需要进入暂停程序进行操作,当操作完成之后,系统会等待启动开始运行。

所述的基于单片机的全自动洗衣服控制系统还包括看门狗存储数据保护模块,使用X25045看门狗芯片,提高系统的抗干扰能力。WIP位表示X25045芯片是否忙于向E²PROM写数据,“0”表示没有写操作,可以向E²PROM写数据,“1”表示正在进行写操作,不能向E²PROM写数据。WEL表示写使能锁存器状态,WRSR指令可以对状态寄存器中非易失型为BL1、BL0、WD1、WD0进行设置。BL1位和BL0位确定E²PROM的快保护范围。

本实用新型的工作原理是:

AT89C51单片机1根据矩阵键盘5上获取到的人的操作指令信息:㓎泡时间、洗涤时间、脱水时间、漂洗次数、选择的洗涤程序、脱水转速选择。单片机1作出相应的判断,读取和执行相应程序操作,完成整个洗涤工作。

在人为设置好所洗衣物的信息后,关上盖子,暂停控制模块停止暂停指令,并进行后续操作,水位高度检测使用SW-4型鉴频式水位传感器4,不同的水位高度产生的压力不同,鉴频式水位传感器受到的压力不同输出不同的频率,单片机通过检测到的频率来确定水位高度,并控制进水阀和出水阀的开关状态。鉴频式数位传感器通过不同的水位高度产生的压力不同,压力的改变会导致鉴频式水位传感器输出的频率信号不同。基于单片机的全自动洗衣机控制系统所使用的AT89C51单片机1中没有直接的测量频率的模块,本系统利用单片机内部的两个定时/计数器T1、T0来设计一个频率检测模块,使用定时/计数器T1作为定时器使用,定时/计数器T0作为外部计数器使用,因此AT89C51单片机1的T0(P3.4)管脚接SW-4型鉴频式水位传感器4的脉冲输入端进行计数。定时/计数器T1定时达到50ms时产生一个中断请求,AT89C51单片机1的CPU通过处理定时/计数器T0在50ms内计数的脉冲个数(N)就能够得到SW-4型鉴频式水位传感器4的输出频率,即:f=N÷50。注意:在使用AT89C51单片机1外部计数时,计数频率不能超过振荡周期的二十四分之一,如采用晶振频率为12MHz的单片机,计数频率不得超过0.5MHz。本系统使用的是晶振频率为11.952MHz的单片机1,所以计数频率满足设计要求。AT89C51单片机1是八位的,不能直接进行16位数据处理,因此在鉴频设计中,将计数所的到16位数据分成高八位数据和低八位,定时/计数器T0计数的高八位数据存放在(4BH)单元中(TH0→(4BH)),将定时/计数器的低八位数据存放在(4AH)单元中(TL0→(4AH)),单片机1通过对其设置水位的理论频率读取进行比较就能够得住实际水位比设置水位高还是低,从而控制进水阀和出水阀的开关状态。将设置水位理论频率高八位数据读取放入(4CH)单元,将设置水位理论频率的低八位数据放入(4DH)单元。利用这种方法,即可将性能和占用空间较浮球法等其他传感器更好的SW-4型鉴频式水位传感器应用在整个单片机系统中。

AT89C51单片机1更具设定好的程序信息指导ULN2003驱动6并通过光电耦合器7间接控制步进电机8转停比和转速控制。并通过AT89C51单片机1提供的信号给MAX7219驱动9,驱动LED数码管10完成工作状态的显示工作。

其中:转停比指:为更好保证洗涤质量和电机的使用寿命,电机的转动时转动几秒后,停止几秒后在进行洗一步的反转。

系统设计的矩阵键盘的工作原理:矩阵键盘将列口上接入高电平,行口输出低电平,点有键按下时,矩阵键盘的列口就会被行口的低电平拉成低电平,通过查询列口是否有低电平判断是否有键被按下。如果有键按下,将行口的第一行输出口输出低电平,在查询列口输入的高电平被拉成低电平,如果有低电平出现,则同过列号加上行号就得出键码,从而得出按下的是那个键。如果没有检测到低电平,则下一行的行口输出低电平,在检测列口是否有低电平出现,如果没有则继续下一行进行查询,直到查询到列口有低电平出现结束。

显示模块工作原理:显示数据一共使用到8个数码管,因此MAX7219扫描范围设置为0~7八个数码管。显示的数据0~9通过查询的方式进行显示,通过读取输入缓存区的数据,微处理器通过查询数据存储器6116中830H~839H(单元对应数据0~9)读取输入缓存区数据对应的显示数据,将数据对应的颠倒后的数据放入相应的显示缓存区发送至MAX7219中进行显示。

在单片机内部可以供用户自行使用的空间为30H~7FH,通过外接6116数据存储器2,有接线图可知,6116数据存储器2的地址空间为800H~0FFFH总共2K的存储空间。

本实用新型的工作步骤如下:

Step1、通电开机,系统开始运行;

Step2、初始化MAX7219、8255芯片:

其中:据系统要求,将MAX7219初始化设计为译码方式选择不译码、亮度为3级扫描范围为8个数码管。

Step3、AT89C51单片机1矩阵键盘键4键码查询从而获取用户的操作信息:

其中:矩阵键盘将列口上接入高电平,行口输出低电平,点有键按下时,矩阵键盘的列口就会被行口的低电平拉成低电平,通过查询列口是否有低电平判断是否有键被按下。如果有键按下,将行口的第一行输出口输出低电平,在查询列口输入的高电平被拉成低电平,如果有低电平出现,则同过列号加上行号就得出键码,从而得出按下的是那个键。如果没有检测到低电平,则下一行的行口输出低电平,在检测列口是否有低电平出现,如果没有则继续下一行进行查询,直到查询到列口有低电平出现结束。

Step4、判断是否启动;

若是,则显示模块打开一直打开,直到关闭整个系统结束,同时进入Step5判断预约时间是否为0;

若否,则系统从新跳转到步骤Step4的开始位置、从新判断是否启动;

Step5、判断预约时间是否为0;

若是,则进入Step6判断浸泡时间是否为0;

若否,系统保持预约状态,且预约时间自减,系统从新跳转到Step5开始位置执行Step5;

Step6、判断浸泡时间是否为0;

若是,则进入Step7判断洗涤时间是否为0;

若否,系统保持浸泡状态,且浸泡时间自减,系统从新跳转到Step6开始位置执行Step6;

Step7、判断洗涤次数是否为0;

若是,则进入Step8判断脱水时间是否为0;

若否,则执行Step7.1、进行一次漂洗,且漂洗次数自减1,此次漂洗完成后系统跳转到Step8判断脱水时间是否为0;

Step8、判断脱水时间是否为0;

若是,则进入Step9从新判断洗涤次数是否为0;

若否,进行脱水处理,且脱水时间自减,系统跳转到Step8开始位置执行Step8;

Step9、从新判断洗涤次数是否为0;

若是,则进入Step10蜂鸣器提醒用户完成工作任务;

若否,系统跳转到Step7.1继续从Step7.1开始向下执行;

Step10、蜂鸣器提醒用户完成工作任务。

在本系统中,Step4判断是否启动的结果是启动时,显示模块打开一直打开实时运行,直到关闭整个系统结束;

单片机鉴频控制进/出水阀门流程:

StepWater1、读取设置数位理论频率数据高八位存放(4DH),低八位存放(4AH);

StepWater2、读取实际水位频率数据高八位存放(4BH),低八位存放(4AH);

StepWater3、判断(4DH)中的数据是否等于(4BH)中的数据

如果是等于,则执行步骤StepWater4.1;

如果不等于,则执行步骤StepWater4.2;

StepWater4.1、判断(4AH)是否等于(4CH);

如果等于,则执行步骤StepWater5;

如果不等于,则执行步骤StepWater4.1.1;

StepWater4.1.1判断(4AH)是否大于(4CH);

如果大于,则跳转执行步骤StepWater4.2.1;

如果小于,则跳转执行步骤StepWater4.2.2;

StepWater4.2、判断(4BH)中的数据是否大于(4DH)中的数据;

如果大于,执行步骤StepWater4.2.1;

如果小于,执行步骤StepWater4.2.2;

StepWater4.2.1、如果结果大于,则进水阀打开,出水阀关闭,后执行步骤StepWater5.2;

StepWater4.2.2、如果结果小于,则进水阀关闭,出水阀打开,后执行步骤StepWater5.2;;

StepWater5.2、等待水位达到设定值后转去执行步骤StepWater5.1;

StepWater5.1、进水阀和出水阀都关闭;

StepWater6、结束返回单片机。

暂停模块工作流程:

StepStop1、洗衣机通电暂停模块开始运行;

StepStop2、判断洗衣机盖子是否打开或者是否按下暂停键;

如果是,则进入执行StepStop3;

如果否,则进入执行停止发送暂停指令给单片机;

StepStop3、进/出水阀门关闭,电机停转,动作指令完成后跳转到StepStop2。循环执行,直到判断结果为否;

如下,表1为频率比较控制进/出阀门状态信息;表2为键盘输入缓存区地址分配信息;表3为显示缓存区地址分配信息;表4为串行发送数据地址存储空间分配信息;表5为6116数据存储器中LED码表地址空间分配信息;表6为SW-4鉴频式水位传感器频率表地址空间分配信息;表7为保护地址范围和看门狗定时器超时周期;表1中,X代表任意状态,可以是大、小、相等任意状态;表5中,串行发送数据用芯片MAX7219译码方式选择:不译码,因此地址数据先颠倒发送;表6中,堆栈指针地址为:60H~7FH。

表1

表2

表3

表4

表5

表6

表7

本实用新型的有益效果是:采用成本更低的AT89C51单片机完成整个系统的自动控制,较现今市场上常见的基于单片机的控制系统更加灵活方便,较现今市场上常见的基于PLC的控制系统成本大大降低,让其在使用和制造成本上更有市场竞争力。

附图说明

图1为本实用新型的系统构成原理图;

图中各标号:1-AT89C51单片机、2-6116数据存储器、3-8255芯片、4-SW-4型鉴频式水位传感器、5-矩阵键盘、6-ULN2803驱动、7-光电耦合器、8-步进电机、9-MAX7219驱动、10-LED数码管、11-蜂鸣器模块、12-X25045看门狗芯片。

具体实施方式

实施例1:如图1所示,一种基于单片机的全自动洗衣服控制系统,包括AT89C51单片机1、6116数据存储器2、8255芯片3、SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、光电耦合器7、步进电机8、MAX7219驱动9、LED数码管10、蜂鸣器模块11;

所述6116数据存储器2和两片8255芯片3分别与AT89C51单片机1相连接,组成整个完整的单片机控制模块,单片机控制模块分别和SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、MAX7219驱动9、蜂鸣器模块11相连,ULN2803驱动6连接光电耦合器7,光电耦合器7和步进电机8相连,MAX7219驱动9和LED数码管10相连;

其中,AT89C51单片机1内部的两个定时/计数器T1、T0,定时/计数器T1作为定时器使用,定时/计数器T0作为外部计数器使用。

还设有X25045看门狗芯片12,X25045看门狗芯片12与AT89C51单片机1相连接。

实施例2:如图1所示,一种基于单片机的全自动洗衣服控制系统,包括AT89C51单片机1、6116数据存储器2、8255芯片3、SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、光电耦合器7、步进电机8、MAX7219驱动9、LED数码管10、蜂鸣器模块11;

所述6116数据存储器2和两片8255芯片3分别与AT89C51单片机1相连接,组成整个完整的单片机控制模块,单片机控制模块分别和SW-4型鉴频式水位传感器4、矩阵键盘5、ULN2803驱动6、MAX7219驱动9、蜂鸣器模块11相连,ULN2803驱动6连接光电耦合器7,光电耦合器7和步进电机8相连,MAX7219驱动9和LED数码管10相连;

其中,AT89C51单片机1内部的两个定时/计数器T1、T0,定时/计数器T1作为定时器使用,定时/计数器T0作为外部计数器使用。

上面结合附图对本实用新型的具体实施方式作了详细说明,但是本实用新型并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本实用新型宗旨的前提下作出各种变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1