高精密液位控制系统的研究与设计

2018-04-07 19:10黄俊
电子设计工程 2018年5期
关键词:数码管计数器流程图

黄俊

(湖南铁道职业技术学院湖南株洲 412001)

液位控制的方法多样,主要通过机械或电子的方法来实现[1-5],现在,液位控制的方法也在不断改进与提高。本文针对当前储液罐液位控制中液位控制精密度不高、控制过程中可能存在过冲以及水位控制中电机不能同时进行抽水和注水等问题[6-10],设计了一款基于超声波传感器的液位控制系统。系统采用单片机作为控制核心,采用PWM控制方式,完成了一套智能水位控制系统。经过软硬件的设计后,调试达成水位低限3 cm高限5 cm的水位智能控制功能,并带有警报功能和水位显示功能,测试简便,机交互友好[11-13]。

1 超声波传感器与工作原理

超声波传感器的工作原理是根据超声波模块,发送和接收超声波信号,根据信号接收的时间,然后测算出发送和接收模块之间的距离。文中采用HCSR04超声波模块。它可提供2~400 cm的非接触距离测试功能,测试的精度最高可以达到3 mm,主要由超声波发射器、接收器、和控制电路构成[14-16]。

实物图如图1所示。

图1 HC-SR04实物图

如图1所示VCC接入5 V电源,GND接地,TRIG触发控制信号输入,接入单片机P1.0I/O口,ECHP回响信号输出接入单片机P1.1I/O口。

表1 电气参数

根据电气参数可知,只需要提供一个10 μs以上脉冲触发信号,该模块内部将发出8个40 kHz周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。

这个超声波模块的原理图如图2所示。

图2 超声波模块原理图

2 电气抽水与注水控制

根据液位控制的要求,当水位还没有达到上限值的时刻,需要通过电机驱动对储液罐进行注水,改变注水的频率和水量,逐渐达到控制水位。同理,到达上限水位后,需要对储液罐进行抽水,直至到达下限水位。注水和抽水的控制,都是通过电机驱动来实现的,为了方便控制,采用可以正反转同时实现。通过研究考虑,采用H桥电路电机驱动电路实现。电机的控制采用直流电机控制实现。

H桥电路主要由 4个三极管 Q1、Q2、Q3、Q4组成,其中Q1、Q4以及Q2、Q3组成导通对,根据控制端的不同,实现不同的导通对在不同的时间进行导通控制,从而实现控制电机中流过的电流方向不同,实现电机转向的不同控制,而且H桥电路有一个非常重要的问题,设计只能是Q1、Q4以及Q2、Q3组成导通对。不能Q1、Q2或者Q3、Q4导通,如果Q1、Q2或者Q3、Q4导通,则出现直通现象,会烧毁电源和电机。

根据上面的分析,在本设计中,在H桥电路的基础上增加了控制电路,确保4个与门在同一个“使能”导通信号相接,这样,用这一个信号就能控制整个电路的开关。而2个非门通过提供一种方向输入,可以保证任何时候在H桥的同侧腿上都只有一个三极管能导通。从而确保电路不会发生直通现象。

电路原理图如图3所示。

图3 改进过的H桥驱动电路

3 系统软件设计

采用了模块化的设计编写方式,有简单易懂,方便调试,思路清晰的优点。主要用到的模块有按键控制程序模块,数码管扫描刷新程序模块,定时器中断程序模块,定时/计数器程序模块,超声波传感器控制程序模块,H桥电机控制程序模块,以及实现模块拼接运行的主程序模块。

3.1 主流程图

主流程图如图4所示。

图4 主流程图

当程序启动,T0中断启动,当中的定时定时2 ms,在计数到400,也就是800 ms时,启动超声波模块,开始发送超声波,并把计数清零,当超声波模块启动时,也就是TX=1时,开启计数器,计数器开始计数,直到超声波模块接收到返回声音,也就是RX变化时,此时计数器停止计数,计数函数调用计数器的计数,通过计算得出距离,显示在数码管上,并判断水位状态,当水位小于5 cm时,D1灯,也就是低水位灯亮起,蜂鸣器报警,水泵电机正转开始注水,当水位大于10 cm时,D2高水位灯亮起,水泵电机反转开始抽水,如此循环。

3.2 T1中断子程序流程图

T1中断子程序流程图如图5所示。

图5 T1中断程序子流程图

T1中断的主要作用为扫描显示数码管和开启超声波模块,程序启动后,T1中断装载2 ms的初值,并不断扫描数码管更新显示,并且timer时间每次自加一,当加到400时,也就是800 ms时,自己清零,开启超声波模块发送超声波一次,然后关闭,以此循环,配合计数器和数码管显示模块以及计算模块,不断更新测距数据。

3.3 计数模块程序子流程图

计数模块程序子流程图如图6所示。

图6 计数模块子流程图

计数模块的主要功能为把16位的二进制码转换成十进制数,然后送到显示模块,程序启动时,计数器设置初值,当超声波模块开启,计数器开始计数,超声波模块接收到回波后计数器停止计数,通过上述算法把time转化为十进制数S,并送到数码管显示,当S>700,也就是超出测量范围时,数码管显示三段“-”,当S<700,在测距范围内时,数码管显示个十百位。

4 系统调试

根据软硬件的设计,对系统进行了调试,其调试结果如图7所示。

图7 温度上下限测试图

根据图7,经过软硬件的设计后,调试达成水位低限3 cm高限5 cm的水位智能控制功能,并带有警报功能和水位显示功能,达到设计效果。

5 结论

文中首先分析了当前储液罐液位控制中存在的问题,从问题出发,采用单片机作为控制核心,根据PWM控制方式,设计了一套智能液位控制系统。经过软硬件的设计和调试后,达成水位低限3 cm高限5 cm的水位智能控制功能,并带有警报功能和水位显示功能,测试简便,人机交互好,在同类项目中达到了较高的水平。

参考文献:

[1]张宇,范延滨,何金金.基于MATLAB的水箱液位控制系统的研究[J].工业控制计算机,2016,29(11):59-60.

[2]侯国莲.杨玉改进的约束预测控制在液位控制系统中的应用 [J].计算机仿真,2016,33(10):381-385.

[3]张维,齐锴亮.基于LabVIEW的单回路液位控制系统的分析与设计[J].国外电子测量技术,2016,35(10):50-53.

[4]徐站桂.单容水箱液位控制系统仿真及PID参数调试[J].现代制造技术与装备,2015(5):132-134.

[5]胡江平.锅炉储水罐液位控制系统的创新设计[J].湖南农机,2014,41(6):53-54.

[6]武万强,吴婕,曾碧凡,等.核电站稳压器压力及液位控制系统研究[J].热力发电,2016,45(10):115-119.

[7]师莹,陈科.核电站蒸发器液位控制系统的调试及改进[J].电子技术与软件工程,2015(4):132.

[8]郭艳平,陈杭兴.基于LabVIEW的液位控制系统的设计[J].数控技术与应用,2016(3):8.

[9]秦文杰,基于MATLAB的液位控制系统仿真与校正[J].电子测试,2016(17):70-72.

[10]常建东,虎恩典,赵文贤,等.基于PID参数自整定的液位控制系统设计及其实现[J].现代电子技术,2016,39(5):153-160.

[11]丁芳,李艳芳,费玉龙.智能PID算法在液位控制系统中的应用[J].微计算机信息,2006(16):103-105.

[12]李晓理,石陇辉,丁大伟.水箱液位系统多模型控制方法[J].控制理论与应用,2011(3):370-374.

[13]林屹,叶小岭.模糊自校正PID液位串级控制系统设计与仿真[J].实验室研究与探索,2010(3)17-20.

[14]常静,房泽平,杨益.基于虚拟仪器和PCI-6014的液位过程控制[J].仪表技术与传感器,2013(9):65-67.

[15]周妮娜.基于双模糊控制器的水箱液位控制[J].现代电子技术,2011,34(6):140-141.

[16]吴兴纯,杨燕云,吴瑞武,等.基于模糊PID控制算法的自动浇注系统设计[J].铸造技术,2011(12):1654-1657.

猜你喜欢
数码管计数器流程图
采用虚拟计数器的电子式膜式燃气表
Arduino编程
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
专利申请审批流程图
专利申请审批流程图
计数器竞争冒险及其处理的仿真分析
宁海县村级权力清单36条
任意N进制计数器的设计方法
基于单片机的仰卧起坐计数器