馮 旭, 李志剛
(石河子大學信息科學與技術(shù)學院,新疆石河子 832003)
羊肉是高蛋白、低脂肪、低膽固醇類優(yōu)質(zhì)畜肉之一[1]。隨著社會的進步以及人們生活水平的提高,羊肉質(zhì)量安全越來越受到關(guān)注。在運輸過程中,溫度波動會對羊肉的品質(zhì)產(chǎn)生顯著影響,可加快羊肉品質(zhì)劣變,縮短羊肉保存期[2-3]。為確保羊肉質(zhì)量安全,延長羊肉保存期,在物流運輸過程中多采用冷鏈溫控技術(shù),以確保羊肉在冷鏈運輸環(huán)節(jié)始終處于低溫環(huán)境下。但冷鏈物流體系復(fù)雜,信息不對稱程度較高[4],因此實時監(jiān)測并調(diào)節(jié)冷鏈運輸過程中冷藏車廂內(nèi)溫度,使羊肉在冷鏈運輸過程中處于適宜的冷藏狀態(tài),提高羊肉冷鏈過程的安全性及透明性是十分必要的。
比例-積分-微分(proportion-integral-derivative,簡稱PID)控制算法是控制系統(tǒng)中的一個重要組成部分,整個系統(tǒng)的控制功能是由該控制算法來實現(xiàn)的。PID控制在很多領(lǐng)域都有應(yīng)用,國內(nèi)外學者對PID控制算法進行了諸多研究。張克非等為改善溫度波動對光通信用半導(dǎo)體激光器性能的影響,設(shè)計基于三維語言變量的高精度跟蹤誤差溫度控制系統(tǒng),該系統(tǒng)可實現(xiàn)對半導(dǎo)體的高效制冷、加熱控制,具有響應(yīng)時間快、系統(tǒng)開銷小的優(yōu)勢,能夠?qū)刂茀?shù)實現(xiàn)自整定[5]。劉姣娣等為實現(xiàn)補苗裝置的精準定位控制,解決自動移栽作業(yè)過程中因穴盤缺苗和取苗投苗失敗而導(dǎo)致的漏栽問題,采用基于適應(yīng)模糊PID控制的步進電機系統(tǒng)實現(xiàn)準確及時自動補苗[6]。李揚等針對設(shè)計的高枝修剪機械臂定位過程易產(chǎn)生振動,且難以快速、準確地將待修樹枝對入鋸切口的問題,研究末端修枝鋸的抑振控制方法,實現(xiàn)末端修枝鋸的快速精準定位;在分析了臂架系統(tǒng)的柔性特征對末端修枝鋸定位產(chǎn)生的影響后,設(shè)計了基于改進粒子群離線優(yōu)化的模糊PID控制方法,實現(xiàn)了對末端修枝鋸的主動抑振控制,且該控制方法在定位過程中具有修枝鋸進入穩(wěn)態(tài)的時間短、超調(diào)量小、振蕩調(diào)整時間短等優(yōu)點,同時可提高高枝修剪機械臂的作業(yè)效率[7]。Lai等通過將模糊控制器的輸入變量設(shè)定為溫度偏差及其變化,輸出變量設(shè)定為PID參數(shù)的修正量,研究模糊PID控制算法對溫度的控制,結(jié)果發(fā)現(xiàn),與三維模糊控制器相比,該控制器具有更高的響應(yīng)速度,但穩(wěn)定性較低[8]。Kim等提出一種基于自適應(yīng)近似控制法的非線性反饋系統(tǒng),實現(xiàn)了非線性反饋系統(tǒng)的高效跟蹤性能,該方法主要從數(shù)學角度進行大量公式化推導(dǎo)以優(yōu)化傳統(tǒng)控制方案,但缺少在實際系統(tǒng)中的應(yīng)用[9]。以上學者雖然對PID控制算法及其改進算法進行了深刻的研究與探索,但將PID控制算法應(yīng)用于羊肉冷鏈溫度監(jiān)控中的研究還很少。
本研究采用ZigBee、高級精簡指令集計算機(advanded RISC machine,簡稱ARM)等嵌入式技術(shù)設(shè)計一種基于模糊PID的羊肉冷鏈運輸溫控系統(tǒng),以期解決羊肉冷鏈運輸過程中溫度信息難以實時監(jiān)測與調(diào)控以及傳統(tǒng)有線控制系統(tǒng)布線繁瑣、操作缺乏靈活性等問題[10]。
本研究的主要控制對象是冷藏車車廂內(nèi)的溫度,車廂內(nèi)的溫度變化可用具有純滯后的一階慣性環(huán)節(jié)的模型來描述:
(1)
式中:K、τ、T分別為對象模型的靜態(tài)增益、純滯后時間常數(shù)、慣性時間常數(shù);s為復(fù)變量;e為自然常數(shù),值為2.718。其中,(1)靜態(tài)增益別稱放大系數(shù),是被控對象在系統(tǒng)達到穩(wěn)定狀態(tài)時,輸出量與輸入量之比,一般來說K是定值。當K值很大時,表示輸入量對輸出量的影響很大,被控對象的穩(wěn)定性很差,反之則穩(wěn)定性良好。(2)在工業(yè)生產(chǎn)過程中,控制對象在受到輸入變量的作用后,其被控制量經(jīng)過一定時間后才發(fā)生變化,這種現(xiàn)象被稱為滯后現(xiàn)象,τ是描述這種現(xiàn)象的參數(shù)。(3)慣性時間常數(shù)是被控對象受到輸入量作用后輸出變量達到穩(wěn)定狀態(tài)的時間,是被控對象的動態(tài)性參數(shù)之一。
本研究參照周開對冷藏車監(jiān)控平臺的研究[11],將靜態(tài)增益設(shè)定為1,純滯后時間常數(shù)設(shè)定為30 s,慣性時間常數(shù)設(shè)定為80 s,則
1.2.1 輸入量、輸出量的模糊化 本研究系統(tǒng)采用2輸入、3輸出的方式實現(xiàn)對被控對象的控制,輸入變量為偏差量e和偏差變化率ec,輸出變量為Δkp、Δki、Δkd。根據(jù)前人的研究成果[10-11]和實際經(jīng)驗,本研究將e、ec的論域統(tǒng)一設(shè)定為[-3,3],Δkp、Δki、Δkd的論域分別設(shè)定為[-0.3,0.3]、[-0.06,0.06]、[-3,3],語言變量均選取分別表示負大、負中、負小、0、正小、正中、正大的PB、PM、PS、ZE、NS、NM、NB等7個語言值。
完成e、ec、Δkp、Δki、Δka的論域設(shè)定后,須要對輸入量和輸出量進行量化,其中量化因子的確定較為關(guān)鍵,不但影響系統(tǒng)的動態(tài)品質(zhì),還會影響系統(tǒng)的穩(wěn)定性[12]。量化因子計算公式為
m=N/n。
(2)
式中:N為模糊子集的最大值;n為連續(xù)論域的最大值。
根據(jù)量化計算公式計算得出,e、ec、Δkp、Δki、Δkd的量化因子分別為2、2、20、100、2。e、ec、Δkp、Δki、Δkd的連續(xù)論域、模糊子集、模糊論域和量化因子設(shè)定值見表1。
表1 模糊控制集合
注:e、ec、Δkp、Δki、Δkd的模糊話域均為PB、PM、PS、ZO、NS、PS、NB。
由于隸屬度函數(shù)的形狀越陡,控制器分辨率越高,越靈敏;相反,隸屬度函數(shù)的形狀越緩慢,控制器穩(wěn)定性越好。因此,e、ec、Δkp、Δki、Δkd的隸屬度函數(shù)均選用三角形曲線來表示(圖1至圖5)。
1.2.2 模糊控制規(guī)則庫的設(shè)計 建立模糊控制規(guī)則庫是模糊控制設(shè)計的核心,本研究須要對Δkp、Δki、Δkd等3個參數(shù)分別整定模糊控制規(guī)則庫(表2至表4)。隨后根據(jù)各模糊子集的控制規(guī)則表、各參數(shù)模糊控制模型以及模糊合成推理方法,查出修正參數(shù)代入下式進行計算。
表2 Δkp的模糊控制規(guī)則
表3 Δki的模糊控制規(guī)則
表4 Δkd的模糊控制規(guī)則
在系統(tǒng)運行過程中,通過對模糊邏輯規(guī)則的結(jié)果處理、查表和運算完成對PID參數(shù)的在線自校正,其工作流程見圖6。
羊肉冷鏈運輸溫控系統(tǒng)是一種基于嵌入式開發(fā)的無線傳感信息采集系統(tǒng),主要由終端節(jié)點模塊、協(xié)調(diào)節(jié)點模塊和嵌入式控制模塊構(gòu)成;其工作過程為終端節(jié)點將采集到的溫度信息發(fā)送至協(xié)調(diào)節(jié)點,協(xié)調(diào)節(jié)點再通過串行接口RS-232將接收到的溫度信息傳送至嵌入式控制模塊,控制模塊根據(jù)模糊控制規(guī)則計算出PID參數(shù),進而對車廂溫度進行實時控制。本研究系統(tǒng)的基本結(jié)構(gòu)如圖7所示。
終端節(jié)點是羊肉冷鏈運輸溫控系統(tǒng)的基本組成單元,須具備實時感知整個冷鏈物流過程中冷藏車車廂內(nèi)環(huán)境溫度的功能,主要由主控模塊、無線射頻模塊以及溫度傳感器模塊組成。經(jīng)過查詢文獻[13-14]及調(diào)研得出,羊肉冷鏈運輸過程中冷藏車車廂內(nèi)環(huán)境溫度的理論監(jiān)測范圍為0~4 ℃,因此選擇DS18B20數(shù)字溫度傳感器作為本研究系統(tǒng)的溫度傳感器。
DS18B20數(shù)字溫度傳感器采用單總線接口方式,其溫度檢測范圍為-55~125 ℃,編程為9~12位A/D轉(zhuǎn)換精度,溫度分辨率可達0.062 5 ℃,且測得的溫度值以16位數(shù)字量的方式進行串行傳輸,因此,特別適合用于像冷鏈運輸這樣對溫度有較高要求的溫控系統(tǒng)。
DS18B20數(shù)字溫度傳感器有2種接線方式,分別為使用外部電源VDD的接線方式和使用寄生電源的接線方式,當使用外部電源時,VDD端口接3.0~5.5 V電壓;當使用寄生電源時,VDD端口接地,2種接線方式分別如圖8、圖9所示。
主控芯片采用TI公司的片上系統(tǒng)(SOC)CC2530,它具有功耗低、價格便宜的特點,且其采用的是開源的Z-Stack協(xié)議,性能優(yōu)良。CC2530芯片的具體性能參數(shù)如表5所示。
表5 CC2530芯片的性能參數(shù)
本系統(tǒng)中DS18B20的數(shù)據(jù)輸入輸出引腳(DQ)通過GPIO口與CC2530芯片相連接,DS18B20的GND與CC2530芯片的GND共地,DS18B20的VDD與CC2530芯片穩(wěn)壓電源相連接,穩(wěn)壓電源提供穩(wěn)定的+5 V電壓。
協(xié)調(diào)節(jié)點是整個無線傳感器網(wǎng)絡(luò)的關(guān)鍵,它既負責建立和維護整個ZigBee網(wǎng)絡(luò),同時還須要接收終端節(jié)點傳送的信息并將接收到的溫度數(shù)據(jù)信息通過RS-232串行接口傳送至控制模塊。
嵌入式控制模塊的主芯片采用基于三星S3C2440處理器的ARM9開發(fā)板,該開發(fā)板帶有1個RS-232串口UART0,通過該串口可和協(xié)調(diào)節(jié)點相連。由于ARM9采用5級流水線的哈弗結(jié)構(gòu),支持32位ARM指令集和16位Thumb指令集,指令執(zhí)行的效率較高,因此可以快速地進行PID參數(shù)的在線整定,并將整定后的參數(shù)輸出,從而使冷藏車廂內(nèi)的溫度穩(wěn)定。
本研究中無線傳感網(wǎng)絡(luò)部分的軟件開發(fā)系統(tǒng)采用的是IAR Embedded Workbench for 85051嵌入式集成開發(fā)環(huán)境,軟件設(shè)計采用適用于CC2530芯片的輪詢機制開源 Z-Stack2007 協(xié)議棧。嵌入式控制模塊采用Qt/Embedded嵌入式開發(fā)環(huán)境,Qt/Embedded是一種跨平臺的C++圖形用戶應(yīng)用界面框架,其由于具有成熟的嵌入式GUI解決方案和豐富的API接口而被廣泛應(yīng)用于嵌入式系統(tǒng)的圖形用戶界面開發(fā),可大大提高圖形用戶界面開發(fā)人員編寫所需應(yīng)用程序的開發(fā)速度。
無線傳感網(wǎng)絡(luò)的軟件設(shè)計包括終端節(jié)點軟件設(shè)計和協(xié)調(diào)節(jié)點軟件設(shè)計,其中終端節(jié)點主要設(shè)計DS18B20溫度傳感器與CC2530芯片通信和數(shù)據(jù)采集程序,即在Z-Stack2007協(xié)議棧的應(yīng)用層定義溫度采集任務(wù),當有任務(wù)時則調(diào)用相應(yīng)的處理函數(shù);無任務(wù)時則進入休眠低功耗狀態(tài)。協(xié)調(diào)節(jié)點主要設(shè)計數(shù)據(jù)傳輸程序,設(shè)計的步驟是協(xié)調(diào)節(jié)點先對串口等硬件進行初始化,然后在應(yīng)用層發(fā)出組建網(wǎng)絡(luò)請求,網(wǎng)絡(luò)組建完成后為加入網(wǎng)絡(luò)的終端節(jié)點分配地址,允許節(jié)點加入網(wǎng)絡(luò)。協(xié)調(diào)節(jié)點收到終端節(jié)點發(fā)來的溫度信息后,通過RS-232串行接口將該信息傳送至嵌入式控制模塊。基于Z-Stack2007協(xié)議棧開發(fā)的終端節(jié)點、協(xié)調(diào)節(jié)點程序工作流程如圖10所示。
嵌入式控制模塊軟件設(shè)計主要包括BootLoader移植、Linux操作系統(tǒng)內(nèi)核剪裁與移植、根文件系統(tǒng)制作與移植、Qt應(yīng)用程序開發(fā)等,具體如圖11所示。
3.2.1 BootLoader移植 從官網(wǎng)下載U-Boot壓縮包并解壓,依次完成對NAND FLASH、DM9000A、串口xmodem協(xié)議以及燒寫yaffs文件系統(tǒng)映象支持的配置。修改完成后,在終端中輸入“make”命令,對U-Boot進行編譯,編譯后生成二進制文件u-boot.bin,并將生成u-boot.bin文件燒錄到ARM開發(fā)板的FLASH中。
3.2.2 內(nèi)核剪裁與編譯 從官網(wǎng)下載內(nèi)核壓縮包并解壓,根據(jù)系統(tǒng)需要可對內(nèi)核中不需要的驅(qū)動模塊等進行刪減,以節(jié)省內(nèi)存開銷,內(nèi)核剪裁之后進入內(nèi)核,修改Makefile文件中相應(yīng)的代碼,之后進入配置菜單界面完成相關(guān)配置,完成這些步驟后便可以進行編譯,最后將編譯好的內(nèi)核鏡像燒錄到開發(fā)板中。
3.2.3 根文件系統(tǒng)制作 根文件系統(tǒng)的作用是方便管理嵌入式應(yīng)用程序。從官網(wǎng)上下載busybox源碼壓縮包并解壓,修改busybox中Makefile文件的相應(yīng)代碼并保存該文件,然后進入busybox配置菜單界面完成相關(guān)配置。
3.2.4 應(yīng)用程序設(shè)計 Qt designer設(shè)計器是Qt/Embedded中的圖形界面設(shè)計工具,首先利用Qt designer工具設(shè)計應(yīng)用程序的交互界面,將設(shè)計好的模糊PID控制器編寫成C++代碼添加到主程序中,并編譯成可執(zhí)行程序,再將制作好的啟動器、桌面圖標和可執(zhí)行程序放到根文件系統(tǒng)的相應(yīng)目錄中,最后將文件系統(tǒng)編譯成鏡像燒錄到開發(fā)板中,冷鏈溫控程序界面如圖12所示。
在Matlab環(huán)境下搭建控制系統(tǒng),分別對傳統(tǒng)PID、模糊PID控制器進行仿真,并對其結(jié)果進行比較分析。設(shè)定Δkp=0.8,Δki=0.018,Δkd=0.3,采樣周期為5 s。
設(shè)定冷藏車初始溫度為6 ℃,目標溫度為2 ℃,仿真得到控制器響應(yīng)曲線。由圖13、表6可知,模糊PID控制器的下降時間、調(diào)整時間、超調(diào)量、穩(wěn)態(tài)誤差均優(yōu)于傳統(tǒng)PID控制器。經(jīng)過模糊算法調(diào)整后的PID控制器除穩(wěn)態(tài)誤差差異不明顯外,其他各項參數(shù)均有較大提升。
表6 性能參數(shù)
在實際應(yīng)用中,不同時刻冷藏車廂內(nèi)溫度可能不同,因此本研究通過將初始溫度值分別設(shè)定為6、8、10 ℃,目標溫度為2 ℃來進行仿真分析。仿真結(jié)果(表7至表10)表明,各項參數(shù)整體隨著初始溫度的升高均有不同程度的上升,而模糊PID控制器中的下降時間和超調(diào)量隨著初始溫度的升高而上升,調(diào)整時間和穩(wěn)態(tài)誤差先上升后下降,但各項性能仍然優(yōu)于傳統(tǒng)PID控制器。
冷藏車在工作時,由于外界因素可能會對車廂內(nèi)的溫度造成影響,因此設(shè)定初始溫度為6 ℃,目標溫度為2 ℃,在工作開始計時后600 s處加入2 ℃的溫度干擾信號,以此來檢驗控制器的抗干擾能力。由圖14可知,模糊PID控制器波動較傳統(tǒng)PID控制器大,但恢復(fù)速度較傳統(tǒng)PID控制器快。
表7 不同溫度下穩(wěn)態(tài)誤差
表8 不同溫度下溫度下降時間
表9 不同溫度下超調(diào)量
表10 不同溫度下調(diào)整時間
本研究采用CC2530射頻芯片和ARM9微處理器設(shè)計開發(fā)羊肉冷鏈溫控系統(tǒng)。ARM9微處理器具有低功耗、高性能、指令執(zhí)行效率高、處理數(shù)據(jù)速度快等優(yōu)點,能夠快速地進行PID參數(shù)整定;CC2530射頻芯片具有低功耗、高性能等優(yōu)點,而基于CC2530芯片設(shè)計的終端溫度采集節(jié)點中的DS18B20溫度傳感器具有較高的溫度分辨率且傳感器的溫度檢測范圍滿足羊肉冷鏈溫度控制要求(0~4 ℃);基于CC2530芯片和ARM9微處理器設(shè)計的羊肉冷鏈運輸溫控系統(tǒng)適用于羊肉冷鏈運輸這種對溫度有較高要求的環(huán)境中。
通過Matlab模擬模糊PID控制器和傳統(tǒng)PID控制器對冷藏車降溫,表明當冷藏車溫度由6 ℃下降到2 ℃時模糊PID控制器的下降時間比傳統(tǒng)PID控制器快了 5.4 s;調(diào)整時間快了12 s;超調(diào)量少了0.105%;穩(wěn)態(tài)誤差則均維持在一個較低的范圍內(nèi)。當冷藏車溫度分別由6、8、10 ℃ 下降到2 ℃時,傳統(tǒng)PID控制器和模糊PID控制器的各項性能參數(shù)均有所變化,但模糊PID控制器的性能優(yōu)于傳統(tǒng)PID控制器,更適用于羊肉冷鏈溫控系統(tǒng)。當冷藏車溫度由 6 ℃ 下降到2 ℃,并在工作開始計時后600 s處加入2 ℃的溫度干擾信號時,模糊PID控制器的波動略大于傳統(tǒng)PID控制器稍大,但恢復(fù)速度快于傳統(tǒng)PID控制器。