基于单片机的智能沼气控制系统设计
2021-12-17望翔,石超,覃涛
望 翔,石 超,覃 涛
(宜昌测试技术研究所,湖北 宜昌 443000)
0 引言
沼气是21世纪新农村建设的最重要、最廉价、最清洁的能源之一[1],相比于其他的化石燃料,它能充分地燃烧,对空气的污染程度轻。沼气的合理利用将给人类带来更多的生存机遇。目前,世界各国都在加大对沼气的研究和利用,我国政府也逐步加大对沼气利用的研究力度。但随着沼气利用的普及,因不当的操作引发的安全事故也不断增多。主要原因是缺少成熟的报警控制系统。当前市场中使用的沼气的控制系统仅仅是简单的气体泄漏报警器,并没有将检测报警和智能控制[2]相结合。因此,设计一种单片机为核心的沼气控制系统,实现沼气浓度检测和控制,能够提高沼气使用的安全性。
1 系统总体方案及工作原理
本系统基于MK60DN512ZVL10主控、ADC0809模数转换芯片,实现了沼气控制系统采集数据、自动控制等功能。系统能自主控制沼气池内的沼气浓度与液位,并有效地将沼气储存在煤气罐中。用户工作模式能快速地将池内的环境调节为安全状态。远程控制功能能实时监控[3]池内状况。该系统工作效率高,成本小,操作简单。
沼气传感器和液位传感器对池内的沼气浓度和液位进行采集,并转换为0~5V的模拟电压值;模数转换电路实现电压模拟量与数字量的转换;控制器通过比较实际值与阈值得出偏差,输出控制信号驱动执行电路工作来减小偏差。采用的ULN2003电路驱动水泵实现液位的降低,驱动鼓风机实现沼气浓度降低,驱动压缩机实现沼气储存在煤气罐中;通过继电器模块控制执行装置的电源实现执行装置的工作与停止的状态,达到自动控制效果。利用串口服务器实现上位机与下位机通信,并根据需要通过上位机发送信号,控制执行电路工作,实现远程控制。智能沼气控制系统原理框图如图1所示。
图1 系统原理框图
2 硬件电路设计
2.1 模数转换电路
为了便于检测和分析模数转换信号,选用ADC0809模块实现智能沼气控制系统的浓度和液位的转换工作。相比于ADC0804只能输入一个模拟量,ADC0809能同时输入8个电压模拟量。ADC0809是8位逐次逼近型A/D转换器,它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成。三路地址锁存器可选通8个模拟通道允许8路模拟量分时输入共用A/D转换器进行转换。浓度传感器N1和液位传感器N2电压模拟量分别输入到ADC0809芯片的IN0和IN1。ADC转换器的地址锁存端口、脉冲信号端口、OE端口和使能端口以及数字信号输出端口分别连接到单片机的I/O口,如图2所示。
图2 模数转换电路
2.2 驱动电路
选用ULN2003模块来实现对继电器控制电路的驱动,该芯片是一个7路反向器电路,当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平。由控制器输出的水泵驱动信号、鼓风机驱动信号、通风盖电机驱动信、压缩机驱动信号和报警器驱动信号分别由单片机 的PTB0、PTB1、PTB2、PTB3、PTB4端 口 输 入 到ULN2003芯片对应的1、2、3、4、5管脚,经过芯片放大的信号分别从16、15、14、13、12管脚输出。芯片输出的信号为低电平有效,驱动不同功能的继电器。ULN2003芯片具有耐高压,大灌流的特点,输出的电流足够驱动继电器控制电路工作,如图3所示。
图3 ULN2003驱动电路
2.3 继电器控制模块
控制电路模块主要由继电器和电机组成。继电器内部有多匝线圈,线圈两端通入额定电流后,线圈产生磁场吸合衔铁,设定电路被接通[4]。
继电器选用型号为HK4100F-DC12 V,其工作电压为12 V,6个管脚,两对常开触点。管脚A与管脚B之间接继电器工作的额定电压。管脚A接12 V直流电压正极,管脚B接在驱动电路16脚。一对常开触点接水泵的电源,另一对触点接指示灯回路;16脚输出高电平时,继电器不工作,水泵工作指示灯灭,水泵不工作;16脚输出低电平时,继电器工作,水泵工作指示灯亮,水泵抽水。压缩机控制电路中的继电器A脚接12 V,B脚接在驱动电路15端口,一对触点接压缩机的电源,另一对触点接指示灯回路;15脚输出高电平时,继电器不工作,压缩机工作指示灯灭,压缩机不工作;15脚输出低电平时,继电器工作,压缩机工作指示灯亮,沼气池内的沼气被压缩存储在煤气罐内。通风盖控制电路中的继电器A脚接12 V,B脚接在驱动电路14端口,一对常开触点接通风盖电机的电源,另一对触点接指示灯回路;14脚输出高电平时,继电器不工作,工作指示灯灭,电机不工作;14脚输出低电平时,继电器被启动,指示灯亮。鼓风机控制电路中的继电器A脚接12 V,B脚接在驱动电路13端口,一对常开触点接鼓风机电机的电源,另一对触点接指示灯回路;13脚输出高电平时,继电器不工作,指示灯不亮,电机不工作;13脚输出低电平时,继电器工作,指示灯亮。鼓风机与通风盖电机同时被启动后,池内的沼气浓度降低,如图4。
图4 继电器控制电路图
2.4 串口服务器模块
本文中的沼气控制系统选用的串口服务器的型号为USR-TCP232-E401,实现串口与TCP/IP 连接[5],通过访问虚拟串口,就可以完成远程监测、控制。液位值和沼气浓度经串口服务器通过TCP/IP网络传输协议将数据打包,打包后的数据通过网络传输到上位机并显示。用户在上位机发送控制信号,信号经过网络传输协议打包,通过网络将信号传输给串口服务器,串口服务器将数据解包,解包后的数据经过串口电路传输给控制系统,下位机执行指定操作,实现远程控制[6]。
3 软件设计
3.1 系统控制模型
系统采用了双闭环反馈控制[7],保证系统在闭环作用下稳定工作,具体过程如下:通过编程设定系统的阈值,系统采集沼气池中沼气的实际浓度和液位,并在控制器内和阈值比较,当产生较大偏差时,系统通过程序处理,输出控制信号,经驱动电路控制执行电路工作,降低沼气池内的沼气的浓度和沼气池内液位的高度,完成设定功能,防止意外发生。系统控制模型如图5所示。
图5 系统控制模型
3.2 主控制器程序设计
系统的程序流程图如图6所示。当系统启动后,系统初始化。系统检测沼气的浓度和液位的高度,将浓度和高度发送给上位机,在上位机显示,同时显示在控制系统的显示屏上。当浓度超过系统设置的阈值时,系统发出报警,提醒用户。与此同时,控制器发出信号,驱动压缩机工作,降低沼气池的沼气浓度。当沼气池的液位高于系统设定值时,系统发出报警信号提醒用户。控制器发出信号,驱动水泵工作,降低沼气池的液位高度,保障用户的安全。上位机显示沼气的浓度和液位的高度。根据浓度值和液位值得大小,上位机能发送信号,传给控制器。下位机执行程序设定的功能,实现沼气浓度和液位的自动控制[8]。
图6 程序控制框图
当用户需要对沼气池除渣时,手动控制系统中通风盖的控制按钮,系统驱动电机工作,打开通风盖,延时5 s,鼓风机开始工作,将沼气的浓度降低,避免用户除渣时发生意外。鼓风机工作3 min后停止工作。
4 系统测试与分析
根据以上描述搭建基于飞思卡尔的沼气检测控制样机并调试,如图7所示。实际测试中,为保证调试过程中的安全,大功率电机由12 V直流无刷电机来替代,验证样机功能的实现。
图7 测试控制系统功能
将液位传感器放置于水箱底部,间隔10%分别设置10组不同浓度标准,程序内设置当液位阈值为35%,观察电机运行情况,记录传感器输出电压和经模数转换经单片机读取电压,记录结果如表1所示。
表1 沼气控制记录
表1 记录结果表明,液位高度在40%及以上电机启动,实现将沼气池液位降低功能,当浓度在30%及以下电机停止工作,此时沼气池处于正常工作状态,实现沼气控制功能。
表1 记录的读取电压始终小于电压表直接记录电压值,表明模数转换电路有一定压降,差值在-0.12 V~-0.31 V,最大误差2.4%,属于模数转换芯片正常压降和误差。满足单片机读取要求且符合实际结果。实验记录结果表明不影响电机启动和停止,能够正常工作,对工程应用具有一定参考意义。
如果因环境需要,导线过长导致压降过大(在30%相对液位高度误差达到17%),可在软件中进行补偿,提高系统对电机控制的灵敏度。针对本次测试结果,直接在采集结果上加0.01 V,得到结果如表2所示。
表2 电压补偿后沼气控制记录
表2 结果表明经过补偿(+0.01V)之后的结果,电压差值从-0.12 V~-0.31 V变为-0.005 V~-0.022 V,最大误差从2.4%降低到1.00%,运算量小且效果较为明显。若需要更高采集精度,可根据传感器特性进行更复杂的函数补偿,以适应不同沼气系统安装环境。
5 结束语
本文基于单片机设计了一种智能沼气控制系统。测试结果表明该系统能在沼气浓度、液位阈值以上正常工作。系统的主要模块——模数转换,能够实时检测沼气浓度和液位,单片机根据该值控制电机的启动和停止,实现了沼气控制功能。系统采集电压的误差在3%以内,能够满足沼气家用环境要求,对研究沼气控制的工程应用具有一定参考价值。