孫雪蕾,黨麗峰,張迎春,陳 蓉
(鎮(zhèn)江高等職業(yè)技術(shù)學(xué)校機(jī)電工程系,江蘇鎮(zhèn)江 212016)
發(fā)酵過(guò)程本身復(fù)雜,涉及微生物細(xì)胞生長(zhǎng)代謝,是一非線性的時(shí)變系統(tǒng),影響因素的參數(shù)相關(guān)性較高,控制難度大,對(duì)過(guò)程控制的精度要求越來(lái)越高。發(fā)酵生產(chǎn)過(guò)程的參數(shù)測(cè)量、操作監(jiān)視成為提高過(guò)程控制精度的關(guān)鍵。
溫度不僅影響微生物生長(zhǎng)過(guò)程中的酶反應(yīng),而且對(duì)于細(xì)菌的生長(zhǎng)和產(chǎn)物的生成都有很大的影響。一方面,溫度升高,反應(yīng)速度加快,生長(zhǎng)代謝加速,產(chǎn)物生成提前。另一方面,若溫度過(guò)高,酶容易失去活性,菌體容易衰老,影響產(chǎn)物生成。
實(shí)際發(fā)酵過(guò)程控制中存在時(shí)變性、非線性與模型不確定性,PID不能很好地控制。
將模糊控制和PID控制結(jié)合起來(lái),既能發(fā)揮模糊控制魯棒性強(qiáng),動(dòng)態(tài)響應(yīng)好、上升時(shí)間快、超調(diào)量小等特點(diǎn),又能發(fā)揮PID控制較高的動(dòng)態(tài)跟蹤品質(zhì)和穩(wěn)定精度等優(yōu)點(diǎn)。
同時(shí),將嵌入式技術(shù)應(yīng)用到發(fā)酵監(jiān)控系統(tǒng)中,利用上位機(jī)對(duì)實(shí)時(shí)數(shù)據(jù)監(jiān)控,利用下位機(jī)對(duì)底層數(shù)據(jù)采集,由ARM9微處理器控制完成,在嵌入式Linux操作系統(tǒng)下,利用Qt/Embedded制作GUI圖形用戶界面[1],在 LCD 上顯示。
基于ARM9嵌入式生物發(fā)酵數(shù)字系統(tǒng)優(yōu)化了生產(chǎn)工藝,是功能良好的數(shù)據(jù)采集、顯示、控制系統(tǒng),可以大幅降低生產(chǎn)成本,提高產(chǎn)品質(zhì)量,具有重要的現(xiàn)實(shí)意義。
生物發(fā)酵數(shù)字控制系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
主機(jī)模塊由嵌入式微處理器S3C2410A,擴(kuò)展I/O口、擴(kuò)展存儲(chǔ)器、電源、時(shí)鐘電路等組成。
信號(hào)采集通道模塊由傳感器電路、信號(hào)調(diào)理電路、A/D轉(zhuǎn)換器等組成。
輸出控制通道由D/A轉(zhuǎn)換器、數(shù)字I/O口、執(zhí)行器等組成。
人機(jī)交互部分由鍵盤和LCD組成。數(shù)字控制系統(tǒng)對(duì)生物發(fā)酵過(guò)程中的溫度、PH值、溶解氧濃度等參數(shù)數(shù)據(jù)實(shí)時(shí)采集并進(jìn)行數(shù)據(jù)分析、顯示、打印、存盤、報(bào)警等。
S3C2410內(nèi)部有豐富的硬件資源,擁有MMU虛擬存儲(chǔ)器管理、LCD控制器(支持STN&TFT)、支持NAND Flash系統(tǒng)引導(dǎo)、系統(tǒng)管理器等[1]。
影響發(fā)酵溫度的主要因素有:
1)產(chǎn)熱因素。主要包括生物熱(Q生物)、攪拌熱(Q攪拌)等。
2)散熱因素。主要包括蒸發(fā)熱(Q蒸發(fā))、輻射熱(Q輻射)、顯熱(Q顯)等。
發(fā)酵熱(Q發(fā)酵)是引起發(fā)酵溫度變化的主要因素。發(fā)酵熱可以表示為
圖1 發(fā)酵過(guò)程的數(shù)字控制系統(tǒng)的硬件結(jié)構(gòu)圖
由于Q生物,Q蒸發(fā)和 Q顯,特別是 Q生物在發(fā)酵過(guò)程中隨時(shí)間變化而變化,因此,發(fā)酵熱(Q發(fā)酵)在整個(gè)發(fā)酵過(guò)程中也隨時(shí)間變化而變化,進(jìn)而引起發(fā)酵溫度發(fā)生波動(dòng)。發(fā)酵溫度可根據(jù)菌種、產(chǎn)品的不同進(jìn)行選擇。
PID控制是工業(yè)上應(yīng)用最廣泛的控制方法,具有結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、可靠性高等優(yōu)點(diǎn),但是適應(yīng)性較差。實(shí)際發(fā)酵過(guò)程控制中存在時(shí)變性、非線性與模型不確定性,PID不能很好地控制。
模糊控制是依賴工作人員和專家的經(jīng)驗(yàn)進(jìn)行控制,無(wú)需建立被控對(duì)象的數(shù)字模型,對(duì)時(shí)滯、非線性和時(shí)變的系統(tǒng)有很好的控制能力,但是它不具有積分環(huán)節(jié),在變量分級(jí)不夠多的情況下,在平衡點(diǎn)附近常常會(huì)出現(xiàn)振蕩現(xiàn)象和穩(wěn)定余差[2]。對(duì)于不同的菌種,不同類型發(fā)酵罐的溫度變化規(guī)律及溫度變化范圍不同。
模糊PID控制是將模糊控制和PID控制結(jié)合起來(lái)。這樣,既能夠發(fā)揮模糊控制的特點(diǎn),如魯棒性強(qiáng),動(dòng)態(tài)響應(yīng)好,上升時(shí)間快,超調(diào)量小,等等,又能夠發(fā)揮PID控制較高的動(dòng)態(tài)跟蹤品質(zhì)和穩(wěn)定精度等優(yōu)點(diǎn)。
利用模糊控制規(guī)則在線對(duì)PID參數(shù)進(jìn)行修改構(gòu)成的模糊PID控制器[3]結(jié)構(gòu)如圖2所示。其中,e與ec分別為偏差與偏差變化率,E與Ec分別為偏差與偏差變化率轉(zhuǎn)換成的模糊量,S為控制量,Y為系統(tǒng)輸出值。
圖2 Fuzzy-PⅠD控制器結(jié)構(gòu)圖
模糊PID控制主要是找出PID控制器3個(gè)參數(shù)與e和ec之間的模糊關(guān)系[4],在系統(tǒng)運(yùn)行過(guò)程中不斷測(cè)量e和ec,根據(jù)模糊規(guī)則對(duì)3個(gè)參數(shù)進(jìn)行在線整定,以滿足不同發(fā)酵階段對(duì)控制參數(shù)的不同要求,使被動(dòng)對(duì)象具有良好的動(dòng)、靜態(tài)特性。
PID參數(shù)的整定必須考慮不同時(shí)刻3個(gè)參數(shù)的作用及其相互關(guān)系。根據(jù)經(jīng)驗(yàn),在發(fā)酵過(guò)程中,在不同的e和ec情況下,對(duì)參數(shù)Kp,Ki,Kd自整定的要求如下:
1)當(dāng)溫度誤差e較大時(shí),為了使系統(tǒng)具有較好的快速跟蹤性能,不論溫差的變化趨勢(shì)如何,都應(yīng)該具有較大的Kp值和較小的Kd值。同時(shí),為了避免系統(tǒng)出現(xiàn)較大的超調(diào),應(yīng)對(duì)積分作用加以限制,取較小的Ki值。
2)當(dāng)溫度誤差e處于中等大小時(shí),為了使系統(tǒng)響應(yīng)具有較小的超調(diào),Kp值應(yīng)取得小些。同時(shí),為保證系統(tǒng)的響應(yīng)速度,Ki值和Kd值的大小要適中。
3)當(dāng)溫度誤差e較小時(shí),為保證系統(tǒng)具有良好的穩(wěn)態(tài)性能,Kp值和Ki值應(yīng)取得大些。同時(shí),為了避免系統(tǒng)在設(shè)定值附近出現(xiàn)振蕩,并考慮系統(tǒng)的抗干擾性能,當(dāng)ec較小時(shí),Kd值應(yīng)取大一些;當(dāng)ec較大時(shí),Kd值應(yīng)取小一些。
模糊PⅠD控制通過(guò)計(jì)算當(dāng)前系統(tǒng)誤差e和誤差變化率 ec,考慮 Kp,Ki,Kd三者的關(guān)聯(lián),根據(jù)工程技術(shù)人員的技術(shù)知識(shí)和實(shí)際操作經(jīng)驗(yàn)制定以下模糊控制規(guī)則:
模糊控制器輸入變量e,ec分別表示溫度偏差和偏差變化率,規(guī)定論域由7個(gè)元素組成,即
設(shè)輸入量的語(yǔ)言變量分別為E和Ec,對(duì)應(yīng)的模糊集合為
式(3)中,NB,NM,NS,ZE,PS,PM,PB 分別表示負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大。
輸出變量y用以確定控制量,并規(guī)定其論域也由7個(gè)元素組成即
設(shè)輸出量的語(yǔ)言變量為u,對(duì)應(yīng)的模糊集合為
式(5)中,NB,NM,NS,ZE,PS,PM,PB 分別表示負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大。
設(shè) e,ec 和 Kp,Ki,Kd均服從正態(tài)分布,從而得出各模糊子集的隸屬度,根據(jù)各模糊子集的隸屬度賦值表和各參數(shù)的模糊控制表,應(yīng)用模糊推理的方法計(jì)算出系統(tǒng)PID控制參數(shù)的整定值。調(diào)整Kp的模糊規(guī)則參見(jiàn)表1。
表1 調(diào)整Kp的Fuzzy-PID控制規(guī)則表
利用MATLAB分別對(duì)傳統(tǒng)PID控制和Fuzzy-PID控制的生物發(fā)酵溫度過(guò)程控制系統(tǒng)進(jìn)行仿真。
1)對(duì)溫度過(guò)程PID控制進(jìn)行仿真。仿真后的曲線如圖3所示。
圖3 PID控制溫度仿真曲線圖
2)對(duì)溫度過(guò)程Fuzzy-PID控制進(jìn)行仿真。仿真后的曲線如圖4所示。
圖4 Fuzzy-PID控制溫度仿真曲線圖
由圖3,圖4可知,傳統(tǒng)PID在短時(shí)間情況下出現(xiàn)較大的超調(diào)量,動(dòng)態(tài)響應(yīng)時(shí)間慢,波動(dòng)較大,控制精度較差。而Fuzzy-PID控制動(dòng)態(tài)響應(yīng)快,超調(diào)量小,控制精度高,魯棒性強(qiáng),在過(guò)程動(dòng)態(tài)、穩(wěn)態(tài)性能等方面明顯優(yōu)于傳統(tǒng)PID控制。因此,采用模糊PID控制可以達(dá)到最佳的控制效果。
嵌入式Linux軟件開發(fā)平臺(tái)構(gòu)建,主要包括創(chuàng)建嵌入式Linux開發(fā)平臺(tái)[5],編寫A/D設(shè)備驅(qū)動(dòng)程序[6],開發(fā)嵌入式Linux圖形用戶界面以及實(shí)時(shí)與歷史數(shù)據(jù)曲線顯示。系統(tǒng)軟件采用嵌入式Linux,并使用ARM和Thumb指令集混合編譯來(lái)優(yōu)化代碼密度[7]。按系統(tǒng)要實(shí)現(xiàn)的功能,將系統(tǒng)軟件劃分為幾個(gè)并行存在的任務(wù)。占先式操作系統(tǒng)對(duì)系統(tǒng)的調(diào)度是按優(yōu)先權(quán)的高低進(jìn)行的,將系統(tǒng)的所有任務(wù)按優(yōu)先級(jí)從高到低依次排序?yàn)橄到y(tǒng)監(jiān)視,鍵盤掃描,LCD顯示,模糊PID算法,控制量輸出,系統(tǒng)通訊。數(shù)據(jù)采集部分,每60秒對(duì)溫度、PH值、溶解氧濃度、轉(zhuǎn)速、通氣量進(jìn)行數(shù)據(jù)采集與存儲(chǔ)1次,用定時(shí)器中斷程序執(zhí)行。
本設(shè)計(jì)中,數(shù)據(jù)庫(kù)可以分為2種,即實(shí)時(shí)數(shù)據(jù)庫(kù)和歷史數(shù)據(jù)庫(kù)。
實(shí)時(shí)數(shù)據(jù)庫(kù)主要用于存放系統(tǒng)的實(shí)時(shí)數(shù)據(jù),主要包括通信數(shù)據(jù)、實(shí)時(shí)曲線數(shù)據(jù)、各模塊控制數(shù)據(jù)和設(shè)定數(shù)據(jù)等。它是通過(guò)劃定RAM中的一塊內(nèi)存來(lái)實(shí)現(xiàn)的。
歷史數(shù)據(jù)庫(kù)主要用于存放系統(tǒng)運(yùn)行一段時(shí)間后的非實(shí)時(shí)和歷史數(shù)據(jù)。歷史曲線是對(duì)存儲(chǔ)于數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù)進(jìn)行圖形顯示以反映系統(tǒng)在過(guò)去一段時(shí)間內(nèi)檢測(cè)數(shù)據(jù)的變化趨勢(shì)。
歷史數(shù)據(jù)以文本的形式存放在SD卡上。利用Qt/Embedded制作GUI圖形用戶界面,在液晶顯示器LCD上顯示。系統(tǒng)主界面如圖5所示。
圖5 生物發(fā)酵過(guò)程監(jiān)控系統(tǒng)主界面
針對(duì)時(shí)變、非線性、不確定性、多變量的生物發(fā)酵過(guò)程,采用ARM嵌入式處理器實(shí)現(xiàn)生物發(fā)酵監(jiān)控系統(tǒng)的設(shè)計(jì),可以減少外設(shè),降低功耗,提高系統(tǒng)的實(shí)時(shí)性和可靠性。通過(guò)移植Linux操作系統(tǒng),可以大大方便編程工作,縮短軟件的開發(fā)周期,提高軟件的開發(fā)效率。采用模糊PID控制對(duì)發(fā)酵過(guò)程的溫度進(jìn)行控制,控制效果好。本系統(tǒng)能夠滿足整體性能要求,達(dá)到良好的監(jiān)控效果,具有很好的應(yīng)用推廣價(jià)值。
[1]杭州立宇泰電子有限公司.S3C2410A中文數(shù)據(jù)手冊(cè)[M].杭州:杭州立宇泰電子有限公司,2005:1-5.
[2]張粵.青霉素發(fā)酵溫度模糊控制[J].計(jì)算機(jī)測(cè)量與控制,2002(2):115-117.
[3]孫雪蕾.基于ARM9的生物發(fā)酵過(guò)程數(shù)字控制系統(tǒng)研究[D].鎮(zhèn)江:江蘇大學(xué)電氣信息工程學(xué)院,2010:14-16.
[4]任寶棟,彭繼慎,王強(qiáng).模糊PID控制算法在啤酒發(fā)酵控制系統(tǒng)中的應(yīng)用[J].釀酒科技,2005(11):70-72.
[5]YAGHMOUR K.構(gòu)建嵌入式 LINUX 系統(tǒng)[M].北京:中國(guó)電力出版社,2004:60-70.
[6]魏永明,羅剛.LINUX設(shè)備驅(qū)動(dòng)程序[M].北京:中國(guó)電力出版社,2002:10-37.
[7]孫玉坤,孫雪蕾,嵇小輔,等.基于ARM9的生物發(fā)酵遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2010(2):62-64.