張衛(wèi)鋒 張燦祥 劉致君
(青島科技大學(xué)機(jī)電工程學(xué)院 青島 266061)
大蒜作為我們?nèi)粘I铍S處可見的物品,在食用方面,它可以使菜品更加美味;而在藥用方面,大蒜中的成分可以起到排毒清腸,降低血糖,防治心腦血管疾病,抗癌等作用[1]。隨著經(jīng)濟(jì)全球化的快速發(fā)展,我國大蒜的出口量遙遙領(lǐng)先,因而就有了世界大蒜看中國的美稱。
近年來,隨著人們對大蒜的需求越來越多,大蒜的種植面積和產(chǎn)量也在逐年遞增,因此,大蒜儲(chǔ)藏室的需求也在不斷增加[2]。由于大蒜儲(chǔ)藏室內(nèi)復(fù)雜的環(huán)境因素(溫度、濕度、CO2和O2濃度等)難以控制,從而導(dǎo)致了大蒜在長時(shí)間的運(yùn)輸、儲(chǔ)存過程中變質(zhì)和腐爛。本文研究基于模糊PID算法控制的大蒜儲(chǔ)藏室通風(fēng)系統(tǒng),目的是使大蒜在運(yùn)輸和儲(chǔ)存的過程中能夠保持新鮮[3~5]。
對于大蒜儲(chǔ)藏室內(nèi)復(fù)雜的環(huán)境因素來說,運(yùn)用溫濕度、CO2等多種傳感器對其中的數(shù)據(jù)進(jìn)行采集,運(yùn)用信息融合技術(shù)對傳感器搜集來的數(shù)據(jù)進(jìn)行融合處理[6~8],并以此來確定通風(fēng)量的數(shù)值,送入到模糊控制器里面,再通過模糊控制器的計(jì)算,獲得相應(yīng)的控制量并傳送到STM32F407ZGT6單片機(jī)中[9],從而實(shí)現(xiàn)對通風(fēng)機(jī)組的控制。其工作原理如圖1所示。
圖1 大蒜儲(chǔ)藏室通風(fēng)系統(tǒng)模糊PID控制結(jié)構(gòu)
其工作原理為利用傳感器對大蒜儲(chǔ)藏室的相關(guān)數(shù)據(jù)進(jìn)行采集,并將采集信息利用信息融合技術(shù)進(jìn)行兩級融合(卡爾曼濾波融合算法、BP神經(jīng)網(wǎng)絡(luò)融合算法)處理[10~12],得到給定值r,送入到模糊PID控制器,輸入通風(fēng)量的偏差e和偏差變化率ec,經(jīng)過模糊系統(tǒng)運(yùn)算,得到輸出調(diào)整值Δkp、Δki、Δkd,與設(shè)定好的PID控制器初始值進(jìn)行疊加,即得到最佳的參數(shù),最后送入到STM32F407ZGT6單片機(jī)中,產(chǎn)生對通風(fēng)機(jī)組的控制信號,輸出通風(fēng)量y,最終實(shí)現(xiàn)對大蒜儲(chǔ)藏室通風(fēng)量的連續(xù)實(shí)時(shí)調(diào)節(jié)[13]。其中,該系統(tǒng)中的信息融合技術(shù)以及模糊PID控制算法的具體流程將會(huì)在下文中一一介紹。
由于大蒜儲(chǔ)藏室內(nèi)的不同區(qū)域的環(huán)境參數(shù)存在著很大區(qū)別,故需要在大蒜儲(chǔ)藏室內(nèi)不同區(qū)域設(shè)置相應(yīng)的傳感器對數(shù)據(jù)進(jìn)行采集。本文主要是對儲(chǔ)藏室內(nèi)的溫度、濕度、氧氣和二氧化碳這四種環(huán)境參數(shù)進(jìn)行融合處理,結(jié)構(gòu)框圖如圖2所示。
由圖2可以看出,通過傳感器搜集到的儲(chǔ)藏室內(nèi)的環(huán)境參數(shù),經(jīng)過卡爾曼濾波融合算法進(jìn)行一級融合計(jì)算,再通過BP神經(jīng)網(wǎng)絡(luò)算法對不同類型的環(huán)境參數(shù)進(jìn)行二級融合,得到信息融合后的結(jié)果,即為通風(fēng)量。下面將對兩種融合算法的原理分別介紹。
圖2 信息融合結(jié)構(gòu)圖
信息融合技術(shù)是將不同類型的信息匹配相應(yīng)的融合結(jié)構(gòu)模型,通過層次劃分進(jìn)而實(shí)現(xiàn)融合處理,最終得到滿意的融合結(jié)果。
綜合大蒜儲(chǔ)藏室環(huán)境參數(shù)的特點(diǎn)是具有實(shí)時(shí)多動(dòng)態(tài)性,易獲得各參量。故卡爾曼濾波融合算法和BP神經(jīng)網(wǎng)絡(luò)融合算法可以作為大蒜儲(chǔ)藏室環(huán)境參數(shù)融合的最佳選擇,為后期的計(jì)算提供最優(yōu)的輸入。
對信息的無偏估計(jì)是卡爾曼濾波器的突出特點(diǎn),它應(yīng)用最多的場合就是對于一個(gè)環(huán)境中,環(huán)境因素一直是變化的,并且還有多個(gè)傳感器進(jìn)行檢測搜集數(shù)據(jù)的融合處理。該算法的核心就是大量數(shù)據(jù)進(jìn)行統(tǒng)計(jì),找出其中的規(guī)律,經(jīng)過不斷地遞推,得到最優(yōu)解。其算法基本流程如圖3所示。
圖3 卡爾曼濾波算法流程圖
其原理是:首先設(shè)定系統(tǒng)狀態(tài)的初始值X(0|0)和協(xié)方差初始值P(0|0)作為該算法的初始狀態(tài);當(dāng)?shù)竭_(dá)k時(shí)刻時(shí),得到k時(shí)刻的狀態(tài)值(k|k-1)和k-1時(shí)刻的協(xié)方差矩陣P(k|k-1);然后在時(shí)間k更新最優(yōu)估計(jì)X(k|k)、并更新卡爾曼增益Kg(k);而后更新k時(shí)刻的協(xié)方差矩陣P(k|k);就這樣按照這個(gè)順序,不斷地疊加,最終找到最優(yōu)解。為下一步的二級融合提供理論意義上的精確值。
BP神經(jīng)網(wǎng)絡(luò)算法是可以聚集多層因素來進(jìn)行單向傳遞,其基本思想就是梯度最速下降法,通過不斷地搜索來調(diào)整各層之間的連接權(quán)值,以此來達(dá)到實(shí)際的輸出與預(yù)期想要的輸出之間存在最小的均方誤差,最終得到最小誤差值。
對于本文來說,經(jīng)過上面的卡爾曼融合算法進(jìn)行一級融合后的環(huán)境參數(shù)有溫度、濕度、氧氣和二氧化碳這四種參量,它們分別為非線性函數(shù)F=f(u1,u2,u3,u4)。綜合考慮單隱含層BP神經(jīng)網(wǎng)絡(luò)的逼近效果最好的優(yōu)勢。所以,本文采用單隱含層BP神經(jīng)網(wǎng)絡(luò)來融合上面的四種數(shù)據(jù),大蒜儲(chǔ)藏室通風(fēng)量為輸出。結(jié)構(gòu)如圖4所示。
圖4 單隱含層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
從上述結(jié)構(gòu)和經(jīng)驗(yàn)公式:
即q=9。其中,q、M分別為隱含層神經(jīng)節(jié)點(diǎn)個(gè)數(shù)和輸入層神經(jīng)元節(jié)點(diǎn)個(gè)數(shù)。
由于BP神經(jīng)網(wǎng)絡(luò)的權(quán)值調(diào)整為梯度下降法,故雙曲正切函數(shù)正適合作為隱含層的激勵(lì)函數(shù):
隱含層的輸出為
式中:xi、xj、bi、wij分別為隱含層第i個(gè)神經(jīng)元的輸出、輸入單元、第i個(gè)神經(jīng)元的閾值、輸入層中第j個(gè)神經(jīng)元對隱含層中第i個(gè)神經(jīng)元的連接權(quán)。
假設(shè)將輸出節(jié)點(diǎn)的激勵(lì)函數(shù)作為線性函數(shù),則整個(gè)網(wǎng)絡(luò)的輸出為
式中,wki表示隱含層第i個(gè)節(jié)點(diǎn)與輸出層第k個(gè)節(jié)點(diǎn)的連接權(quán)系數(shù)。
對于大蒜儲(chǔ)藏室復(fù)雜的環(huán)境因素來說,經(jīng)過卡爾曼一級融合處理后,將數(shù)據(jù)送到BP神經(jīng)網(wǎng)絡(luò)二級融合處理,該融合算法的基本流程如圖5所示。
圖5 BP神經(jīng)網(wǎng)絡(luò)算法流程圖
算法的具體實(shí)施步驟為
1)初始化。
2)提供順序賦值的輸入向量x(1),x(2),…,xN和期望的輸出變量t(1),t(2),…,tN。
3)通過式(5)計(jì)算隱含層、輸出層和各神經(jīng)元的輸出。
4)通過式(7)計(jì)算期望值與實(shí)際輸出差值。
若實(shí)際的輸出值不能夠滿足預(yù)先設(shè)好的期望值,則把誤差進(jìn)行反向傳播,通過對加權(quán)系數(shù)的不斷調(diào)整,從而得到期望的輸出值。其中,每個(gè)樣本p的二次型誤差函數(shù)如下:
5)通過式(9)計(jì)算調(diào)整輸出層的加權(quán)系數(shù)。
當(dāng)樣本p作用時(shí),輸出層任意神經(jīng)元k的加權(quán)系數(shù)增量公式為:
6)通過式(10)計(jì)算調(diào)整隱含層的加權(quán)系數(shù)。
當(dāng)樣本p作用時(shí),隱含層的任意神經(jīng)元i加權(quán)系數(shù)增量公式為
7)若誤差不能滿足要求,則返回第3)步繼續(xù)進(jìn)行循環(huán),一直循環(huán)到誤差滿足預(yù)先設(shè)好的要求為止,跳出循環(huán),得出最佳結(jié)果。
以上即為BP神經(jīng)網(wǎng)絡(luò)的具體計(jì)算流程,通過反復(fù)迭代得到一個(gè)最優(yōu)解,為下一步的核心算法,即模糊PID算法,提供一個(gè)最佳的輸入值。
PID控制算法具有控制原理簡單,易理解,控制的穩(wěn)定性較好,并且在調(diào)試和運(yùn)行方面比較方便的特點(diǎn),因此在各種控制工程中,使人們首先想到的就是它[14]。其控制原理如圖6所示。
圖6 PID控制原理圖
由圖6可得,PID控制算法是對系統(tǒng)的偏差分別以比例、積分、微分的形式進(jìn)行線性組合計(jì)算。
其中PID控制算法的輸入量為系統(tǒng)設(shè)定值s(t),與實(shí)際測量值c(t)的差值,即
對于傳統(tǒng)的PID控制算法的基本公式為
其傳遞函數(shù)的形式為
式中,Kp、Ti、Td、p(t)、e(t)分別為系統(tǒng)的比例系數(shù)、系統(tǒng)的積分時(shí)間常數(shù)、系統(tǒng)的微分時(shí)間常數(shù)、系統(tǒng)控制量、系統(tǒng)偏差。
增量式PID就是改進(jìn)后的PID算法[15],根據(jù)它的特性,應(yīng)用于本文非常合適。增量式PID控制算式:
公式中:KP、KI、KD分別為比例、積分、微分系數(shù)。uk、y(k)、r(k)、e(k)分別為PID的控制器輸出、供熱系統(tǒng)的加權(quán)位移量、溫度設(shè)定量、時(shí)間k時(shí)的位移系統(tǒng)設(shè)定量與加權(quán)位移量的偏差。
通過以上的分析,可以看出傳統(tǒng)的PID控制算法需要被控制對象具有比較精確的數(shù)學(xué)模型。而關(guān)于大蒜儲(chǔ)藏室通風(fēng)系統(tǒng)具備非線性、時(shí)變滯后的特點(diǎn),單單依靠PID算法很難達(dá)到精確的控制。所以本文綜合經(jīng)典模糊控制理論和增量式PID算法的優(yōu)點(diǎn),就形成了經(jīng)典的模糊PID控制算法。下面將對模糊PID控制算法進(jìn)行詳細(xì)設(shè)計(jì)。
1)模糊控制理論
模糊控制理論是依托于模糊數(shù)學(xué)和控制理論的基礎(chǔ)迅速發(fā)展起來,并應(yīng)用于很多行業(yè)[16]。其控制方法就是模擬人的思維決策過程。其典型特點(diǎn)是:擺脫了精確數(shù)學(xué)模型的束縛;引用模糊理論進(jìn)行模糊推理;對于任何的復(fù)雜系統(tǒng)具有比較強(qiáng)的適應(yīng)能力;魯棒性好。大蒜儲(chǔ)藏室的環(huán)境是一個(gè)多變量、時(shí)變和滯后的復(fù)雜被控對象,使用模糊控制來控制大蒜儲(chǔ)藏室的通風(fēng)是合適的。其具體流程如圖7所示。
圖7 模糊控制器的流程圖
2)模糊PID控制系統(tǒng)設(shè)計(jì)
圖8 模糊PID控制的大蒜儲(chǔ)藏室通風(fēng)系統(tǒng)結(jié)構(gòu)圖
如圖8所示,經(jīng)過信息融合技術(shù)對大蒜儲(chǔ)藏室采集的環(huán)境數(shù)據(jù)進(jìn)行兩級融合,并以融合結(jié)果作為依據(jù),獲得通風(fēng)量的給定值r,以通風(fēng)量的偏差e和偏差變化率ec作為輸入,進(jìn)入到模糊控制器內(nèi),得到PID控制器的三個(gè)參數(shù)分別為Kp、Ki和Kd。通過模糊控制器內(nèi)的模糊化、模糊推理和解模糊計(jì)算,來確定Kp、Ki、Kd與e、ec之間的模糊關(guān)系,在系統(tǒng)的運(yùn)行期間,連續(xù)檢測e和ec,根據(jù)不同的e與ec對PID控制器參數(shù)的需求模糊推理出三個(gè)參數(shù)的增量ΔKp、ΔKi和ΔKd[17~18]。然后計(jì)算PID公式以獲得系統(tǒng)的最佳輸出值傳入STM32F4072GT6單片機(jī)中,輸出控制信號,控制通風(fēng)機(jī)組的通風(fēng)量。以此來完成對大蒜儲(chǔ)藏室的環(huán)境的精確控制,保證大蒜的新鮮不變質(zhì)。
其算法流程圖如圖9所示。
圖9 模糊PID控制算法流程圖
選擇體積為10m3相同的兩個(gè)儲(chǔ)藏室,在相同的環(huán)境條件下,設(shè)置PID仿真參數(shù)為kp0=10,ki0=5,kd0=0.2。觀察模糊PID算法與傳統(tǒng)PID算法的階躍響應(yīng)曲線[19]。仿真結(jié)果分別如圖10、11所示。
通過圖10與圖11可以看出輸出響應(yīng)具有明顯的延遲,說明大蒜儲(chǔ)藏室通風(fēng)系統(tǒng)具有明顯的滯后性。對比兩圖可得到表1所示的參數(shù)。
表1 參數(shù)比較
圖10 傳統(tǒng)PID控制階躍響應(yīng)圖
圖11 模糊PID控制階躍響應(yīng)圖
通過觀察表2的數(shù)據(jù),可以明顯看出模糊PID控制器完成了對PID控制參量的動(dòng)態(tài)調(diào)整,整個(gè)仿真曲線顯得格外的協(xié)調(diào),從數(shù)據(jù)的傳入到系統(tǒng)的響應(yīng)這個(gè)過程需要的時(shí)間是非常短的,并且超調(diào)量小,上升時(shí)間快與調(diào)整時(shí)間相對較快,穩(wěn)態(tài)誤差也小。而傳統(tǒng)PID算法控制就顯得有些笨拙。所以通過模糊PID算法控制可以及時(shí)地對大蒜藏室復(fù)雜的環(huán)境變化實(shí)現(xiàn)對通風(fēng)量的迅速自動(dòng)調(diào)節(jié),保證了大蒜儲(chǔ)藏室內(nèi)的溫度、濕度等保持良好的效果,從而保證大蒜的新鮮不變質(zhì)。
本文設(shè)計(jì)研究的大蒜儲(chǔ)藏室控制系統(tǒng)十分新穎,具體以STM32F407ZGT6單片機(jī)為核心控制組件,針對大蒜儲(chǔ)藏室內(nèi)復(fù)雜的環(huán)境因素,采用信息融合技術(shù),通過卡爾曼濾波對同類型不同區(qū)域的采集到的環(huán)境信息進(jìn)行一級濾波處理;然后進(jìn)行BP神經(jīng)網(wǎng)絡(luò)二級融合。將兩級融合后得到的結(jié)果送至模糊PID控制器中,通過經(jīng)典的模糊理論結(jié)合增量式PID的優(yōu)點(diǎn),對結(jié)果進(jìn)行處理,得到最優(yōu)解:而后送至STM32F407ZGT6單片機(jī)中,控制通風(fēng)機(jī)組的工作;最后對數(shù)據(jù)進(jìn)行仿真分析,得到基于模糊PID控制的響應(yīng)效果優(yōu)于傳統(tǒng)PID控制器。本套算法具有自整定的強(qiáng)大功能,可以對大蒜儲(chǔ)藏室內(nèi)的環(huán)境進(jìn)行實(shí)時(shí)調(diào)節(jié),保證了大蒜在長時(shí)間儲(chǔ)藏、運(yùn)輸中保持新鮮不變質(zhì)。