楊煥崢 ,徐 玲
(1.江蘇省無(wú)線(xiàn)傳感系統(tǒng)應(yīng)用工程技術(shù)開(kāi)發(fā)中心,江蘇 無(wú)錫 214153;2.無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214153)
啤酒生產(chǎn)是我國(guó)的一個(gè)傳統(tǒng)產(chǎn)業(yè),一方面啤酒的發(fā)酵溫度需精確控制,另一方面啤酒pH值會(huì)影響啤酒的口感。隨著新技術(shù)的發(fā)展,啤酒發(fā)酵技術(shù)相對(duì)滯后,裝置的自動(dòng)化水平不高,產(chǎn)品的質(zhì)量穩(wěn)定性也面臨挑戰(zhàn)。
國(guó)內(nèi)現(xiàn)有啤酒發(fā)酵罐集成檢測(cè)pH值的很少,而pH值是影響啤酒口感的重要指標(biāo)之一,市面上的pH測(cè)試儀一般體積較大,采用二合一復(fù)合電極,較少帶有溫度補(bǔ)償功能,測(cè)試數(shù)據(jù)沒(méi)有算法支持,測(cè)量結(jié)果不夠準(zhǔn)確[1]。溫度控制采用各種算法的雖然較多,但幾項(xiàng)任務(wù)之間缺乏合理安排,實(shí)時(shí)性不夠強(qiáng)。另外,測(cè)量數(shù)據(jù)不能通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程傳輸,數(shù)據(jù)不能上傳物聯(lián)網(wǎng)云平臺(tái),不便于用電腦或手機(jī)等設(shè)備快速瀏覽數(shù)據(jù),數(shù)據(jù)不易保存和沒(méi)有動(dòng)態(tài)曲線(xiàn),不符合工業(yè)4.0的發(fā)展趨勢(shì)。
針對(duì)啤酒發(fā)酵罐的溫度具有較大的時(shí)滯性,且隨時(shí)間變化的特點(diǎn)[2,3],一方面提出了對(duì)發(fā)酵罐中pH、溫度等信號(hào)的檢測(cè),并對(duì)這些量加以控制來(lái)實(shí)現(xiàn)發(fā)酵過(guò)程的平穩(wěn)進(jìn)行。另一方面提出了以Cortex-M3內(nèi)核的MCU為核心的數(shù)字化溫度控制系統(tǒng)方案,通過(guò)設(shè)定的串級(jí)PID控制算法決定啤酒發(fā)酵罐控制閥的開(kāi)度,處理了罐體里溫度控制精度較低的情況。再者采用時(shí)間調(diào)度的算法編寫(xiě)MCU程序,實(shí)現(xiàn)了多個(gè)任務(wù)地有序執(zhí)行。并通過(guò)4G模塊將發(fā)酵罐溶液溫度和pH值通過(guò)MQTT協(xié)議發(fā)送到物聯(lián)網(wǎng)云平臺(tái),實(shí)現(xiàn)遠(yuǎn)程在線(xiàn)監(jiān)控,使得啤酒生產(chǎn)的自動(dòng)化技術(shù)水平得到提高。
該系統(tǒng)具有以下優(yōu)勢(shì):1)pH測(cè)試傳感器采用復(fù)合電極,實(shí)現(xiàn)溫度補(bǔ)償功能,pH值測(cè)量更準(zhǔn)確。2)溫度控制采用串級(jí)PID算法,準(zhǔn)確控制控制閥的開(kāi)度,對(duì)啤酒發(fā)酵罐內(nèi)部溫度進(jìn)行精確控制。3)采用時(shí)間調(diào)度算法編程,合理安排多任務(wù)執(zhí)行。4)采用4G通信模塊傳輸數(shù)據(jù),信號(hào)強(qiáng),距離遠(yuǎn)。5)采用MQTT協(xié)議傳輸數(shù)據(jù),實(shí)現(xiàn)物聯(lián)網(wǎng)訂閱/發(fā)布消息機(jī)理,方案合理。6)物聯(lián)網(wǎng)云平臺(tái)接收數(shù)據(jù),管理高效、便捷。
該系統(tǒng)分為數(shù)據(jù)采集端、STM32智能網(wǎng)關(guān)、物聯(lián)網(wǎng)云平臺(tái)三部分[4,5],如圖1所示。
圖1 啤酒發(fā)酵監(jiān)控系統(tǒng)結(jié)構(gòu)圖
數(shù)據(jù)采集端采用電位分析法實(shí)現(xiàn)pH檢測(cè)。使用pH電極與被測(cè)溶液進(jìn)行接觸,使用原電池裝置測(cè)電極電位值,使化學(xué)反應(yīng)產(chǎn)生的能量轉(zhuǎn)換成電能,由兩個(gè)半電池組成該電池的電壓。一個(gè)半電池的電位取決于特定的離子活度;另一個(gè)半電池通常和測(cè)量溶液相通,和測(cè)量?jī)x表連接,將兩個(gè)電極組合起來(lái)構(gòu)成pH復(fù)合電極。
pH復(fù)合電極采集啤酒發(fā)酵罐溶液的電極電位差,經(jīng)過(guò)由TLC4502運(yùn)算放大器芯片構(gòu)成的pH檢測(cè)電路進(jìn)行信號(hào)放大,送入STM32 ARM進(jìn)行A/D轉(zhuǎn)換,經(jīng)電壓差和pH值的比值算法處理后得到pH值。
采用PT100電阻式溫度傳感器采集啤酒發(fā)酵罐內(nèi)的溫度差分電壓值,經(jīng)過(guò)由HX711芯片構(gòu)成的溫度檢測(cè)電路進(jìn)行信號(hào)放大和A/D轉(zhuǎn)換后,通過(guò)類(lèi)似I2C的通信方式送入STM32 ARM,經(jīng)過(guò)PID串級(jí)算法決定啤酒發(fā)酵罐控制閥的開(kāi)度,由STM32 ARM通過(guò)控制電路控制閥門(mén),進(jìn)一步調(diào)節(jié)溫度。
采用一款集放大與A/D轉(zhuǎn)換于一體的HX711芯片,由PT100電阻傳感器構(gòu)成的測(cè)溫電橋電路輸出IN+,IN-差分信號(hào)進(jìn)入該芯片通道A,與其內(nèi)部的低噪聲可編程放大器相連,通過(guò)編程設(shè)置其增益為128倍,其輸入的差分信號(hào)幅值在20mV內(nèi),然后再經(jīng)內(nèi)部24位A/D轉(zhuǎn)換器轉(zhuǎn)換后,經(jīng)過(guò)芯片12腳DOUT輸出給STM32 ARM。HX711芯片的12腳與11腳一起構(gòu)成了與STM32 ARM進(jìn)行類(lèi)似于I2C的數(shù)據(jù)通信過(guò)程。
該系統(tǒng)網(wǎng)關(guān)采用STM32F103RCT6型號(hào)ARM芯片作為核心處理器,屬于Cortex-M3內(nèi)核,有72MHz工作頻率,結(jié)合電源等基本電路構(gòu)成系統(tǒng)電路[6],能外接小尺寸TFT-LCD對(duì)溫度值和pH值進(jìn)行顯示。STM32 ARM通過(guò)PCIE接口與4G LTE CAT-1 LM61模塊相連,通過(guò)串口2進(jìn)行通信,包含LM1117-3.3/1.8V電源電路,SIM卡工作電路,基于TXS0102芯片的3.3V轉(zhuǎn)1.8V串口通信電壓轉(zhuǎn)換電路,基于CP2102芯片的USB口調(diào)試電路等。LTE CAT-1芯片提供10Mbps的數(shù)據(jù)傳輸業(yè)務(wù),能獲得較好的4G LTE業(yè)務(wù)[7-8],自制該設(shè)備如圖2所示。
使用中國(guó)移動(dòng)的OneNET服務(wù)器作為物聯(lián)網(wǎng)云平臺(tái),采用MQTT協(xié)議傳輸測(cè)量數(shù)據(jù)[9],實(shí)現(xiàn)了智能網(wǎng)關(guān)和云平臺(tái)數(shù)據(jù)交互的過(guò)程。云平臺(tái)上先新建好設(shè)備,記錄好產(chǎn)品、設(shè)備ID,鑒權(quán)信息,客戶(hù)端通過(guò)TCP/IP Socket連接到OneNET云服務(wù)器端,IP地址、端口號(hào)為183.230.40.39:6002,按十六進(jìn)制序列格式發(fā)送MQTT的Connect指令到云平臺(tái):{102200044D51545404C00078000832 3132383431373000063131313134380004504A46 4A},其中{313131313438}即產(chǎn)品ID號(hào)111148,{3231323834313730}即設(shè)備ID號(hào)21284170,并包含鑒權(quán)信息PJFJ。當(dāng)連接到云平臺(tái)后,按十六進(jìn)制序列格式發(fā)送datastreams的測(cè)量數(shù)據(jù)到云平臺(tái):{3045000324647001003D7B226461746173747 265616D73223A5B7B226964223A2254656D70222C 2264617461706F696E7473223A5B7B2276616C756 5223A31302E337D5D7D5D7D},其中{31302E33}即溫度Temp數(shù)值10.3,據(jù)此,云平臺(tái)上能收到測(cè)量的數(shù)據(jù)。
這幾年,很多學(xué)者專(zhuān)家研究了諸多智能控制方案,其中,PID串級(jí)控制算法具有簡(jiǎn)單的結(jié)構(gòu)、優(yōu)良的可靠性和很強(qiáng)的實(shí)用性等優(yōu)點(diǎn),依據(jù)啤酒發(fā)酵的工藝技術(shù),選取PID串級(jí)主參數(shù)是發(fā)酵罐內(nèi)麥汁的溫度值,副被控參數(shù)是液氨等冷卻液的流量值,如圖3所示,通過(guò)MATLAB仿真分析控制系統(tǒng)性能[10,11]。
圖2 自制STM32 ARM和4G LM61 PCIE連接設(shè)備
圖3 啤酒發(fā)酵溫度控制PID串級(jí)系統(tǒng)方框圖
發(fā)酵罐的溫度具有時(shí)變和非線(xiàn)性的特點(diǎn),屬于較繁雜的被控對(duì)象,具體是通過(guò)向發(fā)酵罐夾套內(nèi)注入冷水或液氨實(shí)現(xiàn)罐內(nèi)溫度操控、調(diào)整的,所以,溫度改變具有一定的遲滯性;而且,當(dāng)傳感器檢測(cè)溫度時(shí),采集溫度并轉(zhuǎn)化成電壓也有必然的純遲滯[12,13];而其它環(huán)節(jié)可視作比例環(huán)節(jié)。因此,該系統(tǒng)可以用一階慣性加上滯后這兩個(gè)環(huán)節(jié)建立發(fā)酵罐的數(shù)學(xué)模型。
因?yàn)榘l(fā)酵罐的溫度值是主級(jí)被控參數(shù),為了解決目標(biāo)控制通道的容量延滯問(wèn)題,考慮使用PID規(guī)律調(diào)節(jié)。因?yàn)槔鋮s液的流量值是副級(jí)被控參數(shù),噪聲會(huì)影響比例調(diào)節(jié)周期,故選擇較大的比例度能維持穩(wěn)態(tài)的系統(tǒng),而比例控制效果不強(qiáng),所以使用積分功能,選用PI規(guī)律調(diào)節(jié)。然后為PID串級(jí)系統(tǒng)主、副調(diào)節(jié)器選擇確切的正反作用,從而確保串級(jí)控制系統(tǒng)能夠準(zhǔn)確運(yùn)轉(zhuǎn)。
利用Matlab軟件的Simulink仿真,從相應(yīng)模塊庫(kù)中選用對(duì)應(yīng)的仿真模塊,設(shè)置好參數(shù)后將模塊彼此相連,形成系統(tǒng)的建模仿真圖進(jìn)行仿真。串級(jí)PID主回路PID參數(shù)Kp1、Ki、Kd分別等于70、0.3、200,副回路參數(shù)Kp2等于1.5,系統(tǒng)達(dá)到比較理想的效果。系統(tǒng)PID串級(jí)控制擁有良好的動(dòng)態(tài)反應(yīng)特性,超調(diào)量變小,穩(wěn)態(tài)精度提高,系統(tǒng)的振蕩幅度明顯改善,系統(tǒng)的穩(wěn)定性得到了增強(qiáng),魯棒性得到了提高。
多任務(wù)處理使用了一種應(yīng)用較多的時(shí)間片輪轉(zhuǎn)調(diào)度算法。把時(shí)間分成一個(gè)個(gè)可以執(zhí)行的時(shí)間段落,名為時(shí)間片,依次分配給需執(zhí)行的每一個(gè)進(jìn)程。當(dāng)時(shí)間片結(jié)束時(shí)假如該進(jìn)程仍舊在執(zhí)行,MCU將會(huì)離開(kāi)并主動(dòng)分配給下一個(gè)進(jìn)程。時(shí)間片終止之前假如進(jìn)程遇到堵塞或者終止,MCU也會(huì)立即實(shí)現(xiàn)切換。本質(zhì)上,調(diào)度程序完成的即是維持進(jìn)程就緒的一張表單,把用完時(shí)間片的進(jìn)程挪至整個(gè)行列的尾部。所以,時(shí)間片的尺寸設(shè)置很重要,配置太短會(huì)導(dǎo)致頻繁的進(jìn)程更換,使MCU工作效率下降;配置太長(zhǎng)會(huì)導(dǎo)致回應(yīng)進(jìn)程短交互申請(qǐng)變慢。所以該系統(tǒng)的串口通信任務(wù)時(shí)間片設(shè)置每50ms調(diào)用一次,液晶屏顯示、PT100溫度檢測(cè)、AD轉(zhuǎn)換任務(wù)各每100ms調(diào)用一次。
編寫(xiě)了智能網(wǎng)關(guān)ARM數(shù)據(jù)處理、傳輸、控制與顯示部分的程序,程序流程圖如圖4所示。采用C語(yǔ)言作為軟件系統(tǒng)的編程語(yǔ)言,使用uVision5 keil軟件作為ARM的開(kāi)發(fā)環(huán)境。程序流程主要包含STM32系統(tǒng)初始化、多任務(wù)時(shí)間調(diào)度算法、PH檢測(cè)的AD轉(zhuǎn)換、類(lèi)似I2C通信的溫度檢測(cè)、溫度控制PID算法、液晶屏數(shù)據(jù)顯示、數(shù)據(jù)經(jīng)串口送4G模塊、數(shù)據(jù)上傳中國(guó)移動(dòng)OneNET云平臺(tái)等[14,15]。
編寫(xiě)了程序流程圖中各個(gè)功能的C語(yǔ)言程序,像STM32F103RCT6 ARM實(shí)現(xiàn)溫度檢測(cè),多任務(wù)處理時(shí)間調(diào)度算法,通過(guò)類(lèi)似I2C通信讀取HX711數(shù)據(jù)的子程序,編寫(xiě)了多任務(wù)處理時(shí)間調(diào)度算法程序,如下:
/*時(shí)間調(diào)度器內(nèi)核初始化*/
Kernel_Init();
圖4 智能網(wǎng)關(guān)程序流程圖
/*添加任務(wù)*/
/*Usart1CommTask任務(wù)每50ms調(diào)用一次*/
Kernel_Add_Task(Usart1CommTask,50/KERNEL_TICKS_PER_SEC,50/KERNEL_TICKS_PER_SEC);
/*LCDDisplayTask任務(wù)每100ms調(diào)用一次*/
Kernel_Add_Task(LCDMenuReflashTask,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);
/*PT100Task任務(wù)每100ms調(diào)用一次*/
Kernel_Add_Task(PT100Task,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);
/*ADC1Task任務(wù)每100ms調(diào)用一次*/
Kernel_Add_Task(ADC1Task,100/KERNEL_TICKS_PER_SEC,100/KERNEL_TICKS_PER_SEC);
STM32 ARM通過(guò)串口向LM61 4G模塊發(fā)送AT指令,使模塊TCP連接中國(guó)移動(dòng)OneNET云平臺(tái)。
4.1.1 數(shù)據(jù)采集端
使用復(fù)合電極,實(shí)現(xiàn)溫度補(bǔ)償,pH值測(cè)量更準(zhǔn)確。使用24位集放大與A/D于一體的轉(zhuǎn)換芯片HX711,測(cè)溫更方便、準(zhǔn)確。采用PID串級(jí)算法進(jìn)行溫度控制,控制閥的開(kāi)啟大小被準(zhǔn)確控制,實(shí)現(xiàn)準(zhǔn)確調(diào)節(jié)啤酒發(fā)酵罐內(nèi)部的溫度。
4.1.2 智能網(wǎng)關(guān)部分
ARM處理器采用STM32F103 ARM芯片,采用時(shí)間調(diào)度算法編程,合理安排多任務(wù)執(zhí)行,連接TFT LCD模塊,實(shí)現(xiàn)液晶顯示與觸摸操控。采用LM61 4G模塊進(jìn)行MQTT協(xié)議數(shù)據(jù)傳輸。
4.1.3 云平臺(tái)部分
STM32 ARM網(wǎng)關(guān)設(shè)備為客戶(hù)端,與中國(guó)移動(dòng)OneNET云平臺(tái)服務(wù)器實(shí)現(xiàn)TCP/IP鏈接,運(yùn)用MQTT傳輸協(xié)議,推送JSON數(shù)據(jù)到OneNET服務(wù)器,方案合理,管理高效、便捷。
設(shè)備主要技術(shù)指標(biāo)如下:pH測(cè)量溶液范圍0-14,溶液溫度范圍5-60℃,環(huán)境溫度5-40℃,環(huán)境相對(duì)濕度≤85%,適合使用于含固體雜質(zhì),混合液樣品測(cè)量,能夠使用于高污染樣品測(cè)量。測(cè)溫精度能達(dá)到0.2℃。LM61 4G模塊LTE工作頻段可選B1/2/3/4/8/9/13/19,3GPP協(xié)議Release 9版本,Cat.1等級(jí)。
與傳統(tǒng)啤酒發(fā)酵控制裝置發(fā)酵溫度控制不夠穩(wěn)定,不檢測(cè)pH,數(shù)據(jù)無(wú)法遠(yuǎn)程傳輸,算法不夠優(yōu)化等缺點(diǎn)比較,系統(tǒng)具有較多優(yōu)點(diǎn),由數(shù)據(jù)采集端,STM32 ARM智能網(wǎng)關(guān),云平臺(tái)三部分組成。數(shù)據(jù)采集端一方面通過(guò)PT100傳感器和HX711芯片構(gòu)成的放大和A/D轉(zhuǎn)換電路完成溫度采集,采集精度較高,然后將數(shù)據(jù)通過(guò)類(lèi)似I2C的通信方式傳給STM32 ARM核心電路,由串級(jí)PID算法實(shí)現(xiàn)溫度控制,控制較穩(wěn)定。另一方面通過(guò)復(fù)合電極和LM358電路實(shí)現(xiàn)信號(hào)檢測(cè)與放大功能,采樣pH差分電壓信號(hào),送入STM32 ARM完成A/D轉(zhuǎn)換。STM32 ARM網(wǎng)關(guān)一方面通過(guò)LCD液晶屏顯示測(cè)量數(shù)據(jù),另一方面與LM61 4G模塊以PCIE接口相連,將數(shù)據(jù)以MQTT協(xié)議的方式上傳中國(guó)移動(dòng)OneNET云平臺(tái),實(shí)現(xiàn)了可遠(yuǎn)程查看數(shù)據(jù)變化曲線(xiàn),通過(guò)時(shí)間調(diào)度算法管理多個(gè)任務(wù)的執(zhí)行,算法經(jīng)過(guò)優(yōu)化,整個(gè)系統(tǒng)符合工業(yè)4.0的發(fā)展趨勢(shì)。
系統(tǒng)在啤酒發(fā)酵裝置的自動(dòng)控制實(shí)施方面有所創(chuàng)新,功能強(qiáng)大,性能穩(wěn)定,結(jié)構(gòu)簡(jiǎn)單,操作方便,成本優(yōu)勢(shì)明顯,有新的市場(chǎng)前景。改變系統(tǒng)的傳感器還可實(shí)現(xiàn)其它自動(dòng)控制和遠(yuǎn)程監(jiān)控應(yīng)用,可以節(jié)約使用人員時(shí)間,提高工作效率。