基于51单片机的高低位水箱供水电气控制系统设计

2018-05-31 09:05
机电信息 2018年15期
关键词:数码管指示灯低位

叶 冉

(长安大学电子与控制工程学院,陕西西安710064)

0 引言

水箱在现代生活中有着广泛的用途,如作为城市、乡村生活用水储备,太阳能热水器储水设备等。传统的水箱采用PLC为控制单元,实现供水自动控制,但PLC价格相对较高,所以采用价格低廉的51单片机来控制是一种既达标又经济的方式。

高低位水箱供水的主要问题是箱内水位应始终保持在一定范围,避免“空箱”“溢水”现象的发生。本设计采用单片机系统控制,使水箱内水位保持恒定,以保证连续正常地供水,达到智能控制的目的。另外,本设计采用STC89C52单片机和实际硬件接线来模拟,较好地实现了实际生活中的供水要求。

1 系统综述

系统设计要求如下:

(1)高低位水箱均设水位信号器。高位水箱水位达到低位,低位水箱水位达到高位时,水泵启动;高位水箱水位达到高位或低位水箱水位达到低位时,水泵停止。

(2)系统具有手动、自动工作模式。

(3)两台水泵分工作泵和备用泵,可以互换,只有一台水泵工作。当工作泵出现故障时,备用泵自投。

(4)操作面板提供设备运行状态、水位及报警的各种指示。

(5)操作面板可以设定工作泵和备用泵。

(6)设备操作面板显示当前的温度和时间,时间可设定。

(7)出现故障时,把故障信息上传到监视器,包括时间、故障点、故障类型等。

单片机最小系统原理图如图1所示。

2 硬件设计

2.1 水位检测

高、低位水箱均设水位信号器,用来检测水位,本设计中采用拨码开关来模拟水位信号。实验中的拨码开关选择四位拨码开关,其中1号开关拨向左侧表示高位水箱水位达到低位,拨向右侧表示高位水箱水位达到高位;2号开关拨向左侧表示低位水箱水位达到高位,拨向右侧表示低位水箱水位达到低位。将1号和2号开关通过端子排J1分别与单片机的P1.4、P1.5口连接,读取P1.4、P1.5口的状态,即可模拟水位检测。

2.2 模式切换

模式切换由和单片机P1.6口相连的3号开关来控制。当3号开关拨向右侧,此时P1.6为0,自动模式,水泵的启停受水位信号器控制。当3号开关拨向左侧,此时P1.6为1,手动模式,水泵的启停不受水位信号器控制,而是由启停按钮控制,便于工作人员检修时使用。若P1.7=0,则1号泵为工作泵,2号泵为备用泵,按下按钮S1,1号泵启动,按下S2,1号泵停止。若P1.7=1,则2号泵为工作泵,1号泵为备用泵,按下按钮S1,2号泵启动,按下S2,2号泵停止。通过不断读取P1.6口的状态,可以实现水泵的自动与手动模式切换。

2.3 水泵切换

本系统有两台水泵,正常情况下,1号泵为工作泵,2号泵为备用泵。当需要进行水泵切换时,将4号开关拨向左侧,并将4号开关通过端子排J1与P1.7口连接,若P1.7状态为1,2号泵为工作泵,1号泵为备用泵,读取P1.7口的状态,即可实现水泵切换。

2.4 故障模拟

本系统用51单片机两个外部事件中断INT0、INT1来模拟水泵发生故障,将P3.2、P3.3通过杜邦线引出。模拟1号泵发生故障时,将与P3.3相连的杜邦线接地,触发中断,则数码管显示“1”,表示1号泵故障,蜂鸣器报警,红色LED点亮,同时2号泵自动投入运行。模拟2号泵发生故障时,将与P3.2相连的杜邦线接地,触发中断,则数码管显示“2”,表示2号泵故障,蜂鸣器报警,红色LED点亮,同时1号泵自动投入运行。此外还需发送故障信息,本系统使用STC-ISP软件上的串口助手来模拟监视器。使用时,将波特率调到9 600,接收和发送缓冲区都选择文本模式,当故障发生时,即触发两个外部事件中断,在计算机屏幕上就会显示发生故障的时间和故障的水泵序号。

2.5 工作指示

本系统设置了水泵运行状态、水位及报警指示。控制水泵运行的信号从P3.5、P3.6口输出,P3.5口控制水泵1,P3.6口控制水泵2。由于单片机输出的高电平带负载能力弱,故需要通过L298N来驱动电机,该驱动刚好可以同时驱动两个直流电机。具体做法是:从上述最小系统板上将+5 V和0 V通过杜邦线分别接到L298N的Vcc和GND端,给驱动L298N上电,再将单片机的P3.5、P3.6口接到L298N的输入端。L298N的两个输出OUTA、OUTB分别接到两个直流电机上,并将两个LED灯分别并联在两个电机上。这样,当电机运行时,相应的LED指示灯点亮。

图1 单片机最小系统原理图

在拨码开关处引出端子排,并将单片机P1.4、P1.5口的输出信号引出,接到另外两个LED灯的正极,两个LED灯的负极接地。1号开关拨向左侧,P1.4为1,水位指示灯1点亮,1号开关拨向右侧,P1.4为0,水位指示灯1熄灭;2号开关拨向左侧,P1.5为1,水位指示灯2点亮,2号开关拨向右侧,P1.5为0,水位指示灯2熄灭。

当发生故障时(以1号泵故障,2号泵自动投入运行为例),给P1赋值#06H,则CBA=110,74LS245的B6输出低电平,蜂鸣器发出声音;给P1赋值#07H,则CBA=111,74LS245的B7输出低电平,红色LED点亮,完成报警,提醒维护人员前去检修。

2.6 时间与温度

时间由6个数码管来显示,依次为时、分、秒,温度由2个数码管来显示。单片机P1.2、P1.1、P1.0的输出分别与74LS138的CBA相连,来选择点亮对应的数码管,CBA值为000~111,依次选择数码管1~6(从左至右)。

单片机上电后,开始显示时间。按下S3,进入时间调整状态。在此基础上,按下S4,时加1,按下S5,分加1,按下S6,秒加1。时间调整结束后,再次按下S3,回到时间显示模式。

本系统温度传感器为DS18B20,采集温度后,从单片机的的P1.3口输入。在时间显示时,按下S7,调用温度显示程序,延时1 s,1 s后自动返回时间显示。

3 结语

本系统设计是基于51单片机嵌入式系统,充分利用51单片机强大的控制功能和通信接口,经济可靠。该控制系统以实际的硬件模拟,并用汇编语言编写了程序,所有程序都是无限循环,将每一项要求模块化,执行时,直接调用相应的子函数即可,实验最终达到了预期效果,具有很强的实用性。因此,该控制系统在农村水塔、水源检测控制和城市生活储备用水系统开发等领域有着广阔的应用前景。

[1]段晨东.单片机原理及接口技术[M].2版.北京:清华大学出版社,2013.

[2]马小军.建筑电气控制技术[M].2版.北京:机械工业出版社,2012.

猜你喜欢
数码管指示灯低位
微课教学设计之“数码管动态显示”
预计2020年油价将低位震荡
枣树低位截干萌枝嫁接新技术
上半年磷复肥市场低位运行
利好不足下半年尿素市场仍将低位震荡
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
上海大众POLO充电指示灯点亮
美国邦纳 工业智能指示灯