张琦 杨强 李林宇
摘要:传统的游泳池水位控制采用人工的方式,依靠工作人员的经验进行水位的控制。该方式工作效率低、工作强度大。因此,有必要选择水位自动控制以节能、节约人力资源。该设计给出以AT89C51单片机为核心的游泳池水位控制系统设计的控制系统,将3个金属棒放置在需要测量的游泳池中,通过水的导电性实时测量当前水位变化,将检测信号实时与单片机交互,进而实现水位的控制。仿真环节通过Proteus搭建电路,合理设置实验对系统进行验证。实验表明文章设计的系统可靠、有效地检测并控制了目标水位。系统焊接了实物,实物也能够实现既定的功能。
关键词:单片机;游泳池水位;LCD1602
中图分类号:TP277 文献标志码:A
0 引言
随着人们生活水平的提高和健康意识的增强,游泳池作为一种休闲娱乐设施,已经成为现代城市中不可或缺的一部分。然而,游泳池的水位管理一直是一个重要的问题,它直接影响着游泳池的使用效果和安全性。传统的水位控制方法通常依赖于人工操作,存在着调节不及时、精度不高等问题。为了解决传统水位控制方法存在的问题并实现游泳池水位的自动管理,本文设计了一种基于单片机的游泳池水位控制系统。该系统通过引入先进的单片机技术,实现了对游泳池水位的自动监测和控制,能够及时准确地调节水位,提高了水位控制的精度和稳定性。
本文介绍了基于单片机的水位控制系统的技术方案,详细描述了系统的硬件设计和软件实现过程,通过焊接实物并验证了系统的性能。为游泳池水位控制提供了一种新的解决方案,具有一定的实用和推广价值,对于提升游泳池管理的效率和水平具有一定的指导意义。
1 方案选择
本设计将液位作为控制对象,使用自动化的设备和方法。将液位控制在合适的范围内的自动控制系统被称为液位控制系统。液位控制广泛应用于生产生活的各个方面,游泳池水位控制就是其中之一。在许多的工业生产现场,有着不同的液位要求,都需要进行控制,从而使得生产能够达到很好的精度、品质。以前的水位控制多采用大量的仪表,配合人工实时观察,结合经验实现,该类方法对工作人员要求较高,现阶段多采用计算机实现控制,计算机控制水位优势如下:(1)实时显示检测到的水位情况和各自动设备的运行状态;(2)能根据当前的监测值自动控制各设备的执行,具有良好的人机交互界面,可以安全地进行远程控制。
在众多的控制方案中,单片机以体积小、功能强、使用和操作简单等众多优点得到了液位控制系统的青睐。别看单片机只是一块小小的芯片,但是却集成了计算机所需的CPU、 存储器、输入、输出接口等部件,故本次设计选择单片机完成水位控制。
2 硬件电路设计
2.1 嵌入式模块选型
AT89C51是一款应用极广的单片机,使用过程中能够提供有效且灵活的运行方案[1],相关功能标准如下:4k字节的闪速存储器,32个I/O口线,256字节片内数据存储器,1个5向量两级中断结构,2个16位定时/计数器,掉电方式保存RAM内容,1个全双工串行通信口,可降至0 Hz的静态逻辑操作,片内振荡器及时钟电路。
2.2 晶振电路设计
晶振电路是单片机最小系统必不可少的组成部分之一,其主要功能是为单片机提供一个标准工作时序。该电路通常由1个晶振和2个电容共同组成,常见的晶振频率为24MHz、12MHz、6MHz。本设计选择12MHz的石英晶体,其两端分别连接至单片机的XTAL1和XTAL2引脚。2个补偿电容C1、C2选用约30 pF的陶瓷电容。
2.3 复位电路设计
复位电路即实现系统初始化。本次设计的复位电路由1个电阻、1个电容、1个按键组成。按下按键,电容被短路开始快速放电;当按键断开时,电容C1与电源VCC相连接,进行充电,充电完成后,电容断开,RST接收到低电平信号,实现系统复位。
2.4 水位监测电路设计
本次设计的水位监测由低水位状态向高水位状态进水,如果当前水位低于下限,传感器检测到该信息,通过稳压电路输出低电平,将该低电平传递给单片机。单片机接收到该信号后,驱动蜂鸣器报警,低水位指示灯亮起,开启水泵向游泳池加水。随着加水的进行,如果传感器检测到当前水位达到上限时,传感器会向单片机发出低电平信号,单片机驱动蜂鸣器报警,高水位指示灯亮起,水泵停止工作。同理,如果初始水位位于高水位,当水位下降至低于高水位线时,此时传感器高水位与电源断开,输出低电平信号至单片机,单片机作出相应的响应。
2.5 游泳池进水电路设计
当检测到水位过低,没有在正常水位范围内时,报警红灯亮起同时蜂鸣器发出警报,触发继电器吸合,进水状态显示灯红灯亮起,同时水泵启动;当检测到游泳池水位等级大于1时,蜂鸣器停止报警,进水红灯继续点亮,继续进水;当检测到游泳池水位到达等级2时,停止进水,红灯熄灭。
2.6 报警电路设计
本设计采用的是无源蜂鸣器LS1,蜂鸣器LS1接单片机P27端口,另一端接地。当系统上电后,游泳池水位过低时(水位等级小于1)发出报警,提示需要进水。
2.7 显示电路设计
本次设计选择LCD1602液晶显示器作为显示电路。该显示器是一种广泛应用于显示符号、数字、字母等的器件,可实现同时显示32个字符, 显示屏上的信息由这些像素点组成。因此,指令控制灯的亮灭就可以显示信息[2]。Proteus仿真软件中与其对应的芯片为LM016L型号显示芯片,LM016L芯片D0-D7口连接单片机P0.0-P0.7引脚,RS、RW和E引脚分别接单片机P15、P16和P17引脚,配合排阻RP1实现显示。当按键SW1、SW2、SW3、SW4分别打在不同位置时,显示器上会显示对应水位等级。
3 软件设计
3.1 主程序设计
本次设计的水位控制原理如图1所示。系统允许的水位范围由上下2根虚线表示。正常状态下,水位应保持在平行的虚线之间。设置A、B、C 3根检测棒,A位于水位下限,B位于上下限之间,C位于水位上限。游泳池供水选择的是电动机带动水泵完成。随着供水进行,水泵抽水,泳池内水位不断上升,当达到水位上限时,因为水的导电性,B棒和C棒接通+5 V电源。故B、C两端为1,此时,水泵和电机停止工作,供水停止。若当前水位在上下限范围内,A、B棒导通,A、C棒不导通,因此B端为1,C端为0。此时,无论电机是否运行,都将继续维持原来的状态。若水位到达设定下限,A、B、C棒均不导电,B、C均为0。此时,电机启动,水泵工作,向游泳池供水。该系统主程序主要进行游泳池水位检测和水泵电机控制设计,启动电源,系统进入工作状态,水位传感器实时检测当前游泳池内的水位,将检测结果传送给单片机。单片机通过程序对比实时测量值的预设值,如果在设定范围内,则保持当前状态不变;如果测量值低于下限,则发出蜂鸣器报警,低水位指示灯亮起,同时开启水泵向泳池加水;如果测量值高于上限,蜂鸣器也发出报警信号,高水位指示灯亮起,水泵关闭。
3.2 水位检测程序设计
本设计的水位检测仿真利用SW1-SW4开关来模拟水位状态。当开关SW1~SW4都接电源正极,此时模拟水位等级2,表示水位过高,报警黄灯点亮;当开关SW1接地,SW2~SW4接电源正极时,模拟水位等级为1,表示水位在正常范围,指示绿灯点亮;开关SW1、SW2接地,SW3、SW4接电源正极时,模拟水位等级1,表示水位在正常范围内,指示绿灯点亮;开关SW1~SW3接地,SW4接电源正极时,模拟水位等级1,表示水位在正常范围内,指示绿灯点亮;当开关SW1~SW4都接地,模拟水位等级0,表示水位过低,报警红灯点亮,同时蜂鸣器响起,继电器吸合,水泵开启,给游泳池进水。
3.3 水位报警程序设计
当游泳池水位等级小于等于0时,表示游泳池水位过低,此时蜂鸣器发出警报,同时水位过低红灯点亮,需要开启水泵给游泳池进水,因此继电器吸合,进水水泵开启;当游泳池水位等级大于或者等于2时,表示游泳池水位过高,此时蜂鸣器发出警报,同时,水位过高,黄灯点亮,继电器断开,关闭水泵,停止进水;当游泳池水位等级为1时,表示游泳池水位正常,此时蜂鸣器关闭,水位正常绿灯点亮。
3.4 排水子程序设计
当游泳池内水质不好需要进行泳池内的水更换时,管理人员要手动开启排水阀将泳池内的水全部排出。当进入排水子程序时,首先进行变量的定义和初始化,然后判断“开阀”按键是否按下,如果按下,则启动排水水泵,开始排出游泳池内的水;当“关阀”按键按下时,排水水泵停止。
4 系统仿真
4.1 游泳池低水位仿真
本文采用Proteus进行仿真。Proteus 是由一家英国公司自主研发并发行出版的一 个电子设计自动化软件,不仅具有EDA软件的仿真功能,而且可以对各种单片机进行仿真,同时支持Keil软件进行编辑[3]。将SW1、SW2、SW3、SW4都接地时,水位等级为0,表示游泳池水位过低,此时蜂鸣器发出警报,同时水位过低指示红灯D1点亮,继电器吸合,进水状态指示红灯D4点亮,LCD1602液晶显示器上水位等级显示为0,水泵状态显示为“Start”,进水水泵启动,开始进水。具体仿真如图2所示。
4.2 游泳池正常水位仿真
将SW1、SW2、SW4都接地,SW3接电源正极,水位等级为1,表示游泳池水位在正常范围内,此时蜂鸣器不报警,同时水位正常指示绿灯D2点亮,继电器吸合,进水状态指示红灯D4点亮,LCD1602液晶显示器上水位等级显示为1,水泵状态显示为“Start”,进水水泵启动,开始进水。
4.3 游泳池高水位仿真
将SW1、SW2、SW3、SW4都接电源正极时,水位等级为4,表示游泳池水位过高,此时水位过高指示黄灯D3点亮,继电器断开,进水状态指示红灯D4熄灭,LCD1602液晶显示器上水位等级显示为2,水泵状态显示为“Stop”,进水水泵停机。
5 实物展示
总体实物如图3(A)所示,水位过低实物如图3(B)所示,水位正常实物如图3(C) 所示,水位过高实物如图3(D)所示。
6 结语
本设计是基于单片机的游泳池水位控制系统设 计。然而,由于个人知识和经验的欠缺,本次设计的系统不可避免存在一定的弊端。未来改进智能液位控制器的设计可以从以下方面入手。(1)采用先进的传感器技术增强液位控制的可靠性和稳定性。(2)加强对不同液体导电性的测试和研究,为不同液体设计相应的控制程序。(3)深化液位控制器与其他智能设备的联动,提高设备的智能化程度和自动化水平。(4)提升液位控制器的可编程性和可调节性,以方便用户根据实际需求进行设置和调整。这样的改进将提升智能液位控制器的可靠性和智能化程度,以满足不同行业的需求。
参考文献
[1]唐立伟,李权,李和平.基于ACO的连铸结晶器液位控制系统设计[J].机电工程技术,2021(3):158-160.
[2]ZHANG K,KUMMERT M.Evaluating the impact of thermostat control strategies on the energy flexibility of residential building for space heating[J].Building Simulation,2021(1):1439-1452.
[3]滕勇.智能电机控制器在消防系统上应用的电路设计[J].电工技术,2018(10):99-100.
(编辑 王永超)
Design of swimming pool water level control system based on single chip microcomputer
ZHANG Qi, YANG Qiang, LI Linyu
(School of Electronic Information, Xijing University, Xian 710123, China)
Abstract: The traditional swimming pool water level control adopts the artificial way, and relies on the staffs experience to control the water level. The method has low working efficiency and high working intensity. Therefore, it is necessary to choose water level automatic control to save energy and human resources. This design gives the control system of the swimming pool water level control system based on AT89C51 single-chip microcomputer. Three metal rods are placed in the swimming pool to be measured. By measuring the current water level change in real time through the conductivity of water, the detection signal will be real-time interaction with the single-chip microcomputer, and then achieve the control of water level. In the simulation, Proteus is used to build the circuit and set up the experiment to verify the system. The experiment shows that the designed system can detect and control the target water level reliably and effectively. This system has welded the real thing, and the real thing also can realize the given function.
Key words: single chip microcomputer; swimming pool water level detection; LCD1602