基于PID串级控制算法的物联网啤酒发酵检测系统

2018-09-14 10:03杨焕峥
长沙航空职业技术学院学报 2018年3期
关键词:发酵罐啤酒芯片

杨焕峥 ,徐 玲

(1.江苏省无线传感系统应用工程技术开发中心,江苏 无锡 214153;2.无锡商业职业技术学院,江苏 无锡 214153)

啤酒生产是我国的一个传统产业,一方面啤酒的发酵温度需精确控制,另一方面啤酒pH值会影响啤酒的口感。随着新技术的发展,啤酒发酵技术相对滞后,装置的自动化水平不高,产品的质量稳定性也面临挑战。

国内现有啤酒发酵罐集成检测pH值的很少,而pH值是影响啤酒口感的重要指标之一,市面上的pH测试仪一般体积较大,采用二合一复合电极,较少带有温度补偿功能,测试数据没有算法支持,测量结果不够准确[1]。温度控制采用各种算法的虽然较多,但几项任务之间缺乏合理安排,实时性不够强。另外,测量数据不能通过网络进行远程传输,数据不能上传物联网云平台,不便于用电脑或手机等设备快速浏览数据,数据不易保存和没有动态曲线,不符合工业4.0的发展趋势。

针对啤酒发酵罐的温度具有较大的时滞性,且随时间变化的特点[2,3],一方面提出了对发酵罐中pH、温度等信号的检测,并对这些量加以控制来实现发酵过程的平稳进行。另一方面提出了以Cortex-M3内核的MCU为核心的数字化温度控制系统方案,通过设定的串级PID控制算法决定啤酒发酵罐控制阀的开度,处理了罐体里温度控制精度较低的情况。再者采用时间调度的算法编写MCU程序,实现了多个任务地有序执行。并通过4G模块将发酵罐溶液温度和pH值通过MQTT协议发送到物联网云平台,实现远程在线监控,使得啤酒生产的自动化技术水平得到提高。

该系统具有以下优势:1)pH测试传感器采用复合电极,实现温度补偿功能,pH值测量更准确。2)温度控制采用串级PID算法,准确控制控制阀的开度,对啤酒发酵罐内部温度进行精确控制。3)采用时间调度算法编程,合理安排多任务执行。4)采用4G通信模块传输数据,信号强,距离远。5)采用MQTT协议传输数据,实现物联网订阅/发布消息机理,方案合理。6)物联网云平台接收数据,管理高效、便捷。

1 系统总体结构和功能

该系统分为数据采集端、STM32智能网关、物联网云平台三部分[4,5],如图1所示。

图1 啤酒发酵监控系统结构图

1.1 数据采集端pH值与温度检测

数据采集端采用电位分析法实现pH检测。使用pH电极与被测溶液进行接触,使用原电池装置测电极电位值,使化学反应产生的能量转换成电能,由两个半电池组成该电池的电压。一个半电池的电位取决于特定的离子活度;另一个半电池通常和测量溶液相通,和测量仪表连接,将两个电极组合起来构成pH复合电极。

pH复合电极采集啤酒发酵罐溶液的电极电位差,经过由TLC4502运算放大器芯片构成的pH检测电路进行信号放大,送入STM32 ARM进行A/D转换,经电压差和pH值的比值算法处理后得到pH值。

采用PT100电阻式温度传感器采集啤酒发酵罐内的温度差分电压值,经过由HX711芯片构成的温度检测电路进行信号放大和A/D转换后,通过类似I2C的通信方式送入STM32 ARM,经过PID串级算法决定啤酒发酵罐控制阀的开度,由STM32 ARM通过控制电路控制阀门,进一步调节温度。

采用一款集放大与A/D转换于一体的HX711芯片,由PT100电阻传感器构成的测温电桥电路输出IN+,IN-差分信号进入该芯片通道A,与其内部的低噪声可编程放大器相连,通过编程设置其增益为128倍,其输入的差分信号幅值在20mV内,然后再经内部24位A/D转换器转换后,经过芯片12脚DOUT输出给STM32 ARM。HX711芯片的12脚与11脚一起构成了与STM32 ARM进行类似于I2C的数据通信过程。

1.2 智能网关的设计

该系统网关采用STM32F103RCT6型号ARM芯片作为核心处理器,属于Cortex-M3内核,有72MHz工作频率,结合电源等基本电路构成系统电路[6],能外接小尺寸TFT-LCD对温度值和pH值进行显示。STM32 ARM通过PCIE接口与4G LTE CAT-1 LM61模块相连,通过串口2进行通信,包含LM1117-3.3/1.8V电源电路,SIM卡工作电路,基于TXS0102芯片的3.3V转1.8V串口通信电压转换电路,基于CP2102芯片的USB口调试电路等。LTE CAT-1芯片提供10Mbps的数据传输业务,能获得较好的4G LTE业务[7-8],自制该设备如图2所示。

1.3 物联网云平台数据传输

使用中国移动的OneNET服务器作为物联网云平台,采用MQTT协议传输测量数据[9],实现了智能网关和云平台数据交互的过程。云平台上先新建好设备,记录好产品、设备ID,鉴权信息,客户端通过TCP/IP Socket连接到OneNET云服务器端,IP地址、端口号为183.230.40.39:6002,按十六进制序列格式发送MQTT的Connect指令到云平台:{102200044D51545404C00078000832 3132383431373000063131313134380004504A46 4A},其中{313131313438}即产品ID号111148,{3231323834313730}即设备ID号21284170,并包含鉴权信息PJFJ。当连接到云平台后,按十六进制序列格式发送datastreams的测量数据到云平台:{3045000324647001003D7B226461746173747 265616D73223A5B7B226964223A2254656D70222C 2264617461706F696E7473223A5B7B2276616C756 5223A31302E337D5D7D5D7D},其中{31302E33}即温度Temp数值10.3,据此,云平台上能收到测量的数据。

2 算法分析及程序编写

2.1 温度PID控制算法MATLAB仿真

这几年,很多学者专家研究了诸多智能控制方案,其中,PID串级控制算法具有简单的结构、优良的可靠性和很强的实用性等优点,依据啤酒发酵的工艺技术,选取PID串级主参数是发酵罐内麦汁的温度值,副被控参数是液氨等冷却液的流量值,如图3所示,通过MATLAB仿真分析控制系统性能[10,11]。

图2 自制STM32 ARM和4G LM61 PCIE连接设备

图3 啤酒发酵温度控制PID串级系统方框图

发酵罐的温度具有时变和非线性的特点,属于较繁杂的被控对象,具体是通过向发酵罐夹套内注入冷水或液氨实现罐内温度操控、调整的,所以,温度改变具有一定的迟滞性;而且,当传感器检测温度时,采集温度并转化成电压也有必然的纯迟滞[12,13];而其它环节可视作比例环节。因此,该系统可以用一阶惯性加上滞后这两个环节建立发酵罐的数学模型。

因为发酵罐的温度值是主级被控参数,为了解决目标控制通道的容量延滞问题,考虑使用PID规律调节。因为冷却液的流量值是副级被控参数,噪声会影响比例调节周期,故选择较大的比例度能维持稳态的系统,而比例控制效果不强,所以使用积分功能,选用PI规律调节。然后为PID串级系统主、副调节器选择确切的正反作用,从而确保串级控制系统能够准确运转。

利用Matlab软件的Simulink仿真,从相应模块库中选用对应的仿真模块,设置好参数后将模块彼此相连,形成系统的建模仿真图进行仿真。串级PID主回路PID参数Kp1、Ki、Kd分别等于70、0.3、200,副回路参数Kp2等于1.5,系统达到比较理想的效果。系统PID串级控制拥有良好的动态反应特性,超调量变小,稳态精度提高,系统的振荡幅度明显改善,系统的稳定性得到了增强,鲁棒性得到了提高。

2.2 多任务处理时间调度算法

多任务处理使用了一种应用较多的时间片轮转调度算法。把时间分成一个个可以执行的时间段落,名为时间片,依次分配给需执行的每一个进程。当时间片结束时假如该进程仍旧在执行,MCU将会离开并主动分配给下一个进程。时间片终止之前假如进程遇到堵塞或者终止,MCU也会立即实现切换。本质上,调度程序完成的即是维持进程就绪的一张表单,把用完时间片的进程挪至整个行列的尾部。所以,时间片的尺寸设置很重要,配置太短会导致频繁的进程更换,使MCU工作效率下降;配置太长会导致回应进程短交互申请变慢。所以该系统的串口通信任务时间片设置每50ms调用一次,液晶屏显示、PT100温度检测、AD转换任务各每100ms调用一次。

3 主程序流程及工作现象

编写了智能网关ARM数据处理、传输、控制与显示部分的程序,程序流程图如图4所示。采用C语言作为软件系统的编程语言,使用uVision5 keil软件作为ARM的开发环境。程序流程主要包含STM32系统初始化、多任务时间调度算法、PH检测的AD转换、类似I2C通信的温度检测、温度控制PID算法、液晶屏数据显示、数据经串口送4G模块、数据上传中国移动OneNET云平台等[14,15]。

编写了程序流程图中各个功能的C语言程序,像STM32F103RCT6 ARM实现温度检测,多任务处理时间调度算法,通过类似I2C通信读取HX711数据的子程序,编写了多任务处理时间调度算法程序,如下:

/*时间调度器内核初始化*/

Kernel_Init();

图4 智能网关程序流程图

/*添加任务*/

/*Usart1CommTask任务每50ms调用一次*/

Kernel_Add_Task(Usart1CommTask,50/KERNEL_TICKS_PER_SEC,50/KERNEL_TICKS_PER_SEC);

/*LCDDisplayTask任务每100ms调用一次*/

Kernel_Add_Task(LCDMenuReflashTask,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);

/*PT100Task任务每100ms调用一次*/

Kernel_Add_Task(PT100Task,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);

/*ADC1Task任务每100ms调用一次*/

Kernel_Add_Task(ADC1Task,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);

STM32 ARM通过串口向LM61 4G模块发送AT指令,使模块TCP连接中国移动OneNET云平台。

4 关键技术和主要技术指标

4.1 关键技术

4.1.1 数据采集端

使用复合电极,实现温度补偿,pH值测量更准确。使用24位集放大与A/D于一体的转换芯片HX711,测温更方便、准确。采用PID串级算法进行温度控制,控制阀的开启大小被准确控制,实现准确调节啤酒发酵罐内部的温度。

4.1.2 智能网关部分

ARM处理器采用STM32F103 ARM芯片,采用时间调度算法编程,合理安排多任务执行,连接TFT LCD模块,实现液晶显示与触摸操控。采用LM61 4G模块进行MQTT协议数据传输。

4.1.3 云平台部分

STM32 ARM网关设备为客户端,与中国移动OneNET云平台服务器实现TCP/IP链接,运用MQTT传输协议,推送JSON数据到OneNET服务器,方案合理,管理高效、便捷。

4.2 技术指标

设备主要技术指标如下:pH测量溶液范围0-14,溶液温度范围5-60℃,环境温度5-40℃,环境相对湿度≤85%,适合使用于含固体杂质,混合液样品测量,能够使用于高污染样品测量。测温精度能达到0.2℃。LM61 4G模块LTE工作频段可选B1/2/3/4/8/9/13/19,3GPP协议Release 9版本,Cat.1等级。

5 结论

与传统啤酒发酵控制装置发酵温度控制不够稳定,不检测pH,数据无法远程传输,算法不够优化等缺点比较,系统具有较多优点,由数据采集端,STM32 ARM智能网关,云平台三部分组成。数据采集端一方面通过PT100传感器和HX711芯片构成的放大和A/D转换电路完成温度采集,采集精度较高,然后将数据通过类似I2C的通信方式传给STM32 ARM核心电路,由串级PID算法实现温度控制,控制较稳定。另一方面通过复合电极和LM358电路实现信号检测与放大功能,采样pH差分电压信号,送入STM32 ARM完成A/D转换。STM32 ARM网关一方面通过LCD液晶屏显示测量数据,另一方面与LM61 4G模块以PCIE接口相连,将数据以MQTT协议的方式上传中国移动OneNET云平台,实现了可远程查看数据变化曲线,通过时间调度算法管理多个任务的执行,算法经过优化,整个系统符合工业4.0的发展趋势。

系统在啤酒发酵装置的自动控制实施方面有所创新,功能强大,性能稳定,结构简单,操作方便,成本优势明显,有新的市场前景。改变系统的传感器还可实现其它自动控制和远程监控应用,可以节约使用人员时间,提高工作效率。

猜你喜欢
发酵罐啤酒芯片
餐厨废水和固渣厌氧发酵试验研究
芯片会议
关于射频前端芯片研发与管理模式的思考
“新冠牌”啤酒真倒霉:60天赔了20个亿
新型气升式发酵罐设计探讨
《啤酒》
哼哼猪买啤酒
30L发酵罐培养枯草芽孢杆菌产高密度芽孢的研究
阳朔啤酒鱼
多通道采样芯片ADS8556在光伏并网中的应用