产品概述

基于单片机自动控制的 超值案例:基于单片机全自动洗衣机控制系统,一起围观围观!

小编 2024-10-10 产品概述 23 0

超值案例:基于单片机全自动洗衣机控制系统,一起围观围观!

1、系统功能确定

本设计研究一款全自动洗衣机控制系统硬件包括一个STC89C52单片机微控制器、一个独立按键开关模块、独立的键盘模块、一个LCD1602液晶显示模块、一个浊度传感器模块、一个水位传感器模块、一个压力传感器模块、一个蓝牙模块、蜂鸣器报警模块、一个A/D转换模块、一个继电器控制模块、一个干燥风扇模块、一个模拟滚筒电机模块和一个 电源 单元。本系统实现了对洗衣机整个过程的控制,接通电源后,通过按键输入,单片机控制各模块相互协调,有条不紊的实现电机驱动、进水、洗漱、甩干、烘干等功能。系统整体框架如下图所示:

全自动洗衣机控制系统的功能要求如下:

(1)在自动模式下,能够对衣物进行称重,根据衣物重量自动选择水量,并能够自动检测水位;

(2)在手动模式下,能够通过独立按键或通过蓝牙连接手机APP对系统的水浊度、衣物重量等参数设置。根据不同衣物种类,可以选择低速,中速,高速三种(托盘电机转速快慢模拟)洗漱方法,具有进水、洗漱、甩干、烘干功能,本次系统进水功能用水泵模拟,洗漱功能用转动电机转动模拟,甩干功能用继电器开或关模拟,烘干功能用风扇开或关模拟;

(3)能够定时模式洗涤功能,定时时间到,洗涤开始;

(4)不管在哪种模式下,能够检测水浊度,判断投洗是否干净,超过设定的水浊度时,蜂鸣器报警;

(5)水位、重量、浑浊度、洗漱速度、状态工作倒计时、定时倒计时、工作模式以及工作状态信息通过LCD1602液晶显示出来;

(6)在洗涤结束时,蜂鸣器响起提醒洗衣结束。

2、主控芯片的选择

选择了STC89C52作为主要控制芯片来使用的优势许多。首先,STC89C52是一个8位CMOS微控制器,如果用它来来控制系统的话,不仅价格便宜,而且与其他器件一起使用的兼容性极强。其次,STC89C52单片机不仅功耗低,而且还可以在线下载和编程。第三,STC89C52单片机是不断更新的,比原来的51单片机有更多的功能,由于有4K EEPROM存储器,所以有足够的存储空间。它完全不需要外部存储芯片,开发起来很方便,大大缩短了从产品开发到进入市场的时间,而且其成本也比较低。重要的是,它易于扩展和开发,而且还可以支持在线编程和下载。

3、传感器模块的选择

(1)水位检测传感器模块选择

本次选择D3B压力传感器作为检测水位的元件,该传感器具有检测精度高、耐腐蚀、耐磨损、抗震性能好、耐冲击、使用寿命长的特点。它采用贴片工艺和进口高精度传感器芯片,选用高精度、高稳定性的放大器集成电路和具有全量程补偿和零点补偿及温度补偿的先进技术芯片,将测量的物体压力转换为标准电信号,如4-20 mA、直流0-5 V、直流0-10 V、直流0.5-4.5 V等。采用全不锈钢密封和焊接结构,具有良好的防潮性和介质兼容性,并显著提高了产品抗冲击性、过载能力和产品密封性等性能。

(2)水浊度传感器模块选择

本次采用浊度传感器是TSW-20M模块来检测水的浑浊度,用来判断洗衣是否干净,它是TS型工业/白色家电。这种不透明度传感器的原理是利用光的强度来确定液体的不透明度。随着液体浊度的增加,透光率下降,因为液体的浊度阻挡了越来越多的光线,所以光敏电阻接收光线的能力差,反之,随着浊度的降低,光敏电阻接收光线的能力强。因此该传感器其实也是一款光电检测开关。

(3)重量传感器模块选择

本次选用XH-4A压力传感器作为衣物的重量检测,它应用了电阻效应的原理,即应变片压缩应变电阻减少,应变片膨胀使应变电阻增加。这种传感器的顶部和底部表面有一个应变片,每个张力器上面有两个压力电阻,形成一个完整的桥式电路。当应变片电阻改变时,电桥接到电压信号,并输出该信号,将信号传给HX711模块进行数据采集。其桥式电路精度较高。

4、显示模块的选择

LCD1602液晶屏的优点是非常清晰,可以满足很多显示场景的需要。它可以完美地显示各种字符。它能显示的字符可以是16*2,但也可以选择另一种方式直接显示全系列32个字符。LCD1602可以根据需要显示多种多样不同类型的符号,包括数字、字母(大写和小写)、以及某些特殊字符和符号。LCD1602也很容易使用,其应用范围相对较窄。显示器上显示的字符是一种格子组合,格子的规格是5*7。显示器的数据传输方式并不复杂,数据传输方式为串行数据传输。实物如下所示:

5、电机模块的选择

电机模块采用最普通的水阀门电机和马达来模拟进水出水以及洗漱时电机滚筒的转动。以下选择是最普通且常见的电机,节约了制作模拟成本。其中迷你水泵型号为JT-DC3W、额定电压为5V、功率为0.36W、电流为0.18A、最大流量为100L/H。滚筒电机为R300C有刷直流电机、电压为1.5V-6V、电流为0.5A、转速为3500转-7000转。

6、 驱动水泵模块的选取和分析

通过驱动继电器驱动水泵,继电器可以用低电压驱动高电压或用低电流驱动大电流。微控制器继电器的操作非常简单明了。继电器另一端的开关也非常敏感,寿命很长。如果电流过大,也不会影响微控制器的运行。

7、远程控制模块的选择

蓝牙是一种不同于2.4G无线数据技术的技术。蓝牙的数据传输与2.4G无线技术的数据传输相同,但使用不同的协议,因此有不同的应用。对于传统的2.4G产品,必须安装一个额外的接收器。例如,2.4G无线鼠标必须配备一个纳米接收器;蓝牙数据通信的标准是2.402-2.480G频段,这需要安装一个额外的接收器。这种蓝牙产品不需要接收器,只能与支持蓝牙的产品连接。例如,一个蓝牙鼠标没有接收器,只能通过共享一个支持蓝牙的产品进行配对。实物如下所示:

8、 主程序流程图设计

给该系统通电之后,整个系统初始化,所有元器件处于待工作状态。若无操作,则保持原状,当识别到按键按下,系统会调用相关程序来执行相关操作来完成洗衣功能。下图为本设计的基本思路图。

9、自动洗衣机硬件图

10、实物图

本设计主要是针对基于单片机的全自动洗衣机控制系统进行设计,结合水位传感器、浑浊度传感器、重力传感器检测。有手动、自动以及定时三种模式,在手动模式下,通过按键的输入或通过蓝牙手机APP可以对洗衣机选择洗衣模式,有低速洗、中速洗、快速洗三种模式,还可以对各参数的设置。在自动模式下,能够对衣物进行称重,根据衣物重量自动选择水量,可以自动检测水位。在定时模式下,可以设置好洗衣的时间,时间到,自动开始洗涤。不管哪种模式下,系统还能够检测水浑浊度,判断投洗是否干净。水位、重量、浑浊度、洗漱速度、状态工作倒计时、定时倒计时、工作模式以及工作状态信息通过LCD1602液晶显示出来。

免责声明:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!

基于STC89C52的智能全自动洗衣机控制系统设计

张哲,李智,管四海

(西安电子科技大学 机电工程学院,陕西 西安 710071)

:为了降低全自动洗衣机的运行功耗、提高运行的稳定性、降低制造成本以及更方便的操作,设计了一种基于STC89C52单片机的全自动洗衣机控制系统。该控制系统由蓝牙部分、红外热释部分、LCD1602液晶部分和直流电机等组成。其中,采用蓝牙无线通信技术以实现在长距离移动终端上控制洗衣机运行的参数;通过红外热释电传感器控制,以便于取衣操作。最后,给出了该控制系统的硬件结构和软件流程,且通过Proteus仿真测试验证了该控制系统是简便有效的。

: STC89C52;蓝牙无线通讯;红外热释电;智能家居

:TP13文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.07.030

引用格式 :张哲,李智,管四海.基于STC89C52的智能全自动洗衣机控制系统设计[J].微型机与应用,2017,36(7):102-105.

0引言

*基金项目:国家自然科学基金(61673310)由于全自动洗衣机具有对洗涤物品的破坏性弱、一次可洗涤大量衣物、节省劳动力等优点,使它受到广泛的使用并走进了千家万户[1]。但随着智能家居概念的提出、传播和在生活中的初步使用,使得人们对全自动洗衣机在价格低廉的基础上又提出了性能可靠、洗衣功耗低、操作简单、工作效率高以及便于维修等要求。然而目前的全自动洗衣机仅具有洗涤、甩干和暂停等几大简单洗涤功能,不足以满足人们对于智能化控制的需求。此外,传统洗衣机的运行状态显示常采用数码管,这就导致运行状态不清晰,错误代码不明确,缺乏人性化,进而对洗衣机的操作和维护带来极大的不便。

为了有效解决以上问题,本文利用HC05蓝牙模块、矩阵式键盘、LCD1602液晶显示屏和红外热释电传感器,基于STC89C52设计了一种智能控制系统。其中,利用HC-05蓝牙模块以及矩阵式键盘分别实现无线移动终端控制洗衣操作以及近距离人机操作;利用LCD1602液晶显示屏以清晰的英文标识显示当前的工作状态并配有高亮度的背光,结合红外热释传感器为洗衣机的操作提供极大的便利。

1控制系统的总体设计

此控制系统由STC89C52、蓝牙串口电路、电机驱动电路、矩阵键盘电路、LCD1602液晶显示模块、红外热释电模块和报警电路组成,系统框图如图1。

图1系统框图在图1中,STC89C52作为微控制器,用于实现控制算法;蓝牙传输模块用于实现无线远距离设定洗衣机的洗衣模式、洗衣时间等;LCD1602用于显示当前工作状态(比如洗涤、脱水和洗涤模式)以及工作时间;由于STC89C52驱动能力有限,只能输出10 mA左右的电流,所以利用电机驱动电路为电机进行电流放大从而驱动电机运行;红外热释模块主要驱动照明设备为工作人员在黑暗条件下操作洗衣机提供方便;报警电路主要用于电机损坏和意外断电等突发情况以及洗涤结束后的提醒。

2主要硬件设计

2.1STC89C52单片机系统

STC89C52系统主要由微控制器(MCU)、时钟电路和复位电路组成。STC89C52完全兼容8051单片机的特点,其主要参数为:时钟频率最高可达80 MHz;内置有5个中断源,分为两个优先级,每个中断源的优先级是可以编程的,4个8位输入/输出口(P0,P1,P2,P3);有一个全双工的串行口,其有4种工作方式,可通过设置SMOD寄存器进行配置;有3个16位的定时器/计数器[2]。由于STC89C52单片机除P0口外内部均嵌有上拉电阻,因此对于P0口在其外部必须接上拉电阻以保证电平的可靠性。其次,其复位电路采用上电给电容充电进而自动复位的方式。此外其串口(P3.1, P3.2)连接蓝牙模块的串口(TXD, RXD),P2口接洗衣机的功能键盘,P0口作为液晶的数据总线,P1.7口作为其报警电路的蜂鸣器控制端。

2.2蓝牙串口电路

蓝牙通信的原理类似于单片机和计算机之间的串口通信,二者之间的通信需要借助串口,其通信示意图如图2[3]。

图2中GND表示单片机和HC-05系统的参考地,TXD是串行发送引脚,RXD是串行接收引脚。HC05和单片机之间通信,为保证电源基准相同,故将单片机的GND与HC-05的GND连接起来。其次为构建通信通道,将单片机的接收引脚与HC05的发送引脚连接起来,作为单片机的接收通道;将图2蓝牙接线示意图单片机的发送引脚和HC-05的接收引脚连接起来,作为单片机的发送通道。HC05蓝牙串口电路原理图如图3。

2.3红外热释模块

红外热释传感器的原理[4]是通过其内部传感器感知人体发射的红外光谱从而产生高电平信号,当人离开传感器的感应区则自动关闭高电平,输出低电平。此外,红外热释传感器微功耗,静态电流只有65 mA。其VCC接电源正极,GND接电源负极,OUT1接1 kΩ的限流电阻后接LED小灯。

2.4电机驱动电路

STC89C52输出的高电压为5 V,低电压为0 V,电流为10~20 mA。然而直流电机的启动电流为200~400 mA,不足以驱动电机运行,故选取L298电机驱动模块以放大电流。直流电机PWM控制系统的主要功能包括:通过控制两个输入引脚的电平信号控制直流电机的正转、反转和急停,且可通过调整电压大小调整电机的转速,能方便地实现电机的智能控制[5],其控制功能见表1。

L298中的 ENA、ENB为使能端口,ENA用来控制左边的电机,ENB用来控制右边的电机;IN1、IN2、IN3、IN4为控制引脚,用来设置三极管的开关状态。通过H桥来控制电机的运行,当使能端为高电平时控制有效;使能端为低电平时,输入端对电机的控制失效[6]。输入端的一个引脚接PWM信号,另一个输入端接低电平时电机正转;当该引脚输入低电平另一个引脚输入PWM信号时,电机朝另一个方向运行。当两个输入端的电平信号相同时, 电机快速停止。引脚以及功能如表2所示。

3软件设计

3.1软件整体结构设计

系统程序分为主程序、定时器中断程序、延时程序、LCD1602液晶显示程序和电机驱动程序等几部分。定时中断0用来控制洗衣进程的时间和电机正反转,通过外部中断0进行相应功能的倒计时,在此期间,如果停止键按下,则终止进程,返回初始界面。延时程序用于LCD1602液晶显示屏的写操作的等待。电机驱动程序用来控制相应控制引脚的高低电平。控制系统流程图如图4。

3.2蓝牙串口程序

在UART通信过程中,采用LSB方式即先发送数据的低位再发送数据的高位,再使TXD为低电平并持续一段时间,直到将8位二进制数字全部发送完毕,与此同时对TI和RI置1。其次,为了手机(上位机)与洗衣机能够正常通信必须设置两者为相同的波特率,因此就需要使用单片机的定时器1,利用公式:波图5蓝牙串口流程图

特率=(2SMOD/32)×(T1的溢出率)[2],设置本系统波特率为9 600 b/s;在使用串口时,当接收到或者发送完数据后,会对标志位进行置1,但是串口中断不会像定时器中断自动地对标志位进行清0,需要软件对标志位进行清0。蓝牙串口接收数据的具体流程如图5所示。

3.3矩阵键盘子程序

矩阵键盘由16个按键组成,由于单片机的引脚有限,故将其设置成4行4列,进行行扫描或列扫描以减少对 IO口的使用。此外,为避免按键按下时出现抖动,因此需要去抖处理。按键扫描如图6所示,按键去抖流程图如图7所示。

3.4LCD1602液晶显示

LCD1602液晶[5]内部带有80 B的显示RAM,用来发送数据,它的结构如图8。

第一行地址是0X00~0X27,第二行是0X40~0X67H,其中第一行0X00H~0X0F是与液晶上第一行16个字符显示位置相对应的,第二行0X40H~0X4F是与第二行16个字符显示位置相对应的。而每行多出来的一部分是为了显示移动字幕[7]。

基本操作时序:

读状态:

输入:RS=L,R/W=H,E=H;

输出:D0~D7 状态字;

读数据:

输入:RS=H,R/W=H,E=H;

输出:无;

写指令:

输入:RS=L,R/W=L,E=H,D0~D7=指令码;

输出:D0~D7数据;

写数据:

输入:RS=H,R/W=L,E=H,D0~D7=数据;

输出:无。

操作1602液晶显示的流程如下:

(1)通过RS信号确定是向LCD写数据还是写命令;

(2)读写模式设置(R/W)为写模式,即将R/W设置为低电平;

(3)将数据或者命令送达数据总线上;

(4)给使能信号端EN一个高电平信号,将数据送入LCD的RAM,完成写操作。

4实验结果与分析

为了进一步验证本文设计的控制系统简便有效,利用Keil编写程序并进行Proteus仿真,仿真结果显示洗衣机运行正常、液晶显示信息正确。根据原理图以及仿真图制作硬件模拟实物,通过Ecilpse编写蓝牙串口Android版软件,在非开阔的环境下对不同距离的通信情况进行测试,通过手机蓝牙串口软件控制全自动洗衣机的运行,观察能够操作洗衣机的极限距离。

调试结果表明,HC-05蓝牙模块的有效通信距离为0~25 m,在此范围内手机与洗衣机通信正常。实验结果如表3所示。该系统能够实现远距离控制洗衣机的运行状态,功耗低,控制时间准确,操作简便,人性化,全自动洗衣机工作状态清晰可见,适合不同年龄层次的用户使用。Proteus仿真结果如图9所示。图9进水模式Proteus仿真结果在Proteus仿真中通过设置串口或者矩阵式键盘来设置洗衣机的工作参数,相比传统洗衣机的独立式按键更加简便、快捷,只需要针对所需要设置的功能设置按键即可。

图9是全自动洗衣机进水状态下的仿真结果。对应的LED显示当前正在进行的状态, 通过带有背光的LCD液晶显示屏显示工作状态以及剩余时间,相比传统的数码管显示更加准确清晰。通过仿真可看出电机的转动状况。红外热释在黑暗的条件下感知到人经过时就会点亮以辅助人的取衣操作。通过Proteus软件仿真以及实际的硬件测试验证得出,本控制系统相比传统全自动洗衣机控制系统,不仅能实现远程控制运行、人体感应取衣操作、操作简单快捷、更加人性化、智能化,而且使用STC89C52作为控制芯片大大降低了运行功耗和加工成本。另外,经过硬件测试,在电机异常的状态下洗衣机能够发出相应的警报并且将存在的问题通过LCD液晶显示出来,极大地降低了维护的难度。

参考文献

[1] 刘晓彤. 基于Proteus的全自动洗衣机控制系统设计[J]. 微计算机信息, 2012: 28(9):146-148.

[2] 温宗周. 孟建华. 单片机原理与接口技术[M].北京:中国电力出版社, 2009.

[3] 赵勇. 嵌入式系统蓝牙模块设计[D]. 北京:北京交通大学,2007.

[4] 徐青山, 李正云. 红外热释电人体感应饮水机智能控制开关:中国,CN201830232[P].2010-10-29.

[5] 刘树中, 孙书膺, 王春平.单片机和液晶显示驱动器串行接口的实现[J]. 微计算机信息, 2007,23(2):49-53.

[6] 彭鸿才.电机原理及拖动[M]. 北京:机械工业出版社, 2007.

[7] NXP. NXP Semiconductors “TJA10 42 Rev. 7-8”[S]. 2012.

相关问答

aurix 单片机 原理及应用?

原理领域,小到家用电器、仪器仪表,大到医疗器械、航空航天,无不存在着单片机的身影。一旦在某种产品上添加了单片机,便使得原产品向互联网靠拢,获得了“智能...

单片机的 特点及应用?

基本特点如下:1、芯片虽小,五脏俱全,是单片机主要特点之一。其内部设有程序存储器、数据存储器、各种接口电路。而大型的处理器运算速度较高,运算器位数较多...

基于单片机的 电梯 控制 系统难不难做?

基于单片机的电梯控制系统,其原理实现并不难,通过采集按键选择停留的楼层,单片机系统结合楼层信息,控制电动机转动,控制电梯停留在相应的楼层。电梯控制系统...

单片机 原理和 自动控制 原理哪门课容易?考研选哪个好?

若你是学自动化.电力传动专业的,建议考自动控制原理吧虽然理论深度要难些,但对以后工作有很大帮助,且很实用,单片机在很多单位是不咋个用,PLc相对要广泛些...

给位大神, 控制 步进电机 自动 工作,不用plc和 单片机 。最好用电脑控制或者控制器。该如何控制,如何编程?

1、步进电机是脉冲电流激励,有现成的步进电机驱动电源。2、电脑不能直接驱动步进电机驱动电源,但有很多现成的步进电机驱动卡,插在电脑中,电脑就可以控制步...

单片机控制 电梯方法?

单片机控制电梯一般采用编程控制和传感器检测的方法。在编程控制方面,通过编写程序实现对电梯运行状态、停靠楼层和开闭门动作的控制。同时,单片机连接传感器,...

C51 单片机 按键 控制 定时闹钟 - 137****7359 的回答 - 懂得

请问还有代码吗纯粹用51做闹钟,需要有时钟芯片或者内部RTC功能,如果都没有,只通过定时器,你需要不断的给定时器做一些补偿,你要的是代码还是思路?

51 单片机 控制 多个汽缸实现如下定时?怎么写汇编程序?

这个容易,设置定时器工作,开始就启动定时器,设置秒变量sec,if(sec==1)气缸1启动if(sec==4){气缸1停止,气缸2/3启动}if(sec==6){气功1启动,气缸3停止,气.....

单片机 如何实现具体的 控制的 ?

建议你仔细看看它的一些IO端口结构图,然后配合看这些端口的控制和数据寄存器,以及端口相关的汇编指令.注意哦,一定要看汇编的指令才有用,C的看不出来.实际上,...

什么是 单片机 应用系统?二者是什么关系? - 145****5662 的...

单片机是一种路芯片,模集成电路技术把具有数处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱...

猜你喜欢