??? 摘? 要: 基于ARM7和模糊控制算法" title="模糊控制算法">模糊控制算法開發(fā)的生物發(fā)酵" title="生物發(fā)酵">生物發(fā)酵智能控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng),。軟件設(shè)計中移植了μC/OS-II" title="C/OS-II">C/OS-II操作系統(tǒng),,采用多任務(wù)程序設(shè)計方法設(shè)計,,大大降低了編寫程序的復(fù)雜度,。針對生物發(fā)酵控制過程中的時變性,、非線性,、延時性,、隨機(jī)性等特點(diǎn),,提出采用模糊邏輯控制技術(shù)來實現(xiàn)系統(tǒng)的控制。在一定程度上解決了傳統(tǒng)控制方法" title="控制方法">控制方法不易得到系統(tǒng)數(shù)學(xué)模型、難于對控制系統(tǒng)進(jìn)行有效控制的不足,。?
??? 關(guān)鍵詞: ARM7,;模糊控制;μC/OS-II,;生物發(fā)酵?
?
??? 近年來, 生物工程技術(shù)越來越引起科技界,、工業(yè)界和政府部門的重視。生物工程的許多成果需要經(jīng)過發(fā)酵工業(yè)而轉(zhuǎn)化為工業(yè)產(chǎn)品,,所以,生物發(fā)酵及其控制系統(tǒng)在生物工程中顯得越來越重要,。生物發(fā)酵過程中的關(guān)鍵技術(shù)是發(fā)酵過程智能化控制。在智能化技術(shù)比較先進(jìn)的國家,,此技術(shù)已經(jīng)得到了廣泛的發(fā)展和應(yīng)用,,并轉(zhuǎn)化為成熟的產(chǎn)品。而國內(nèi)發(fā)酵過程的智能化控制程度比較低,,生物發(fā)酵控制過程還處于初步研究階段,,可以實際應(yīng)用的、成熟的系統(tǒng)比較缺少,,正在使用的功能較為先進(jìn)的發(fā)酵過程智能控制系統(tǒng)均為進(jìn)口產(chǎn)品,。因此,開發(fā)具有自主知識產(chǎn)權(quán)的生物發(fā)酵控制系統(tǒng)具有重要的現(xiàn)實意義和推廣應(yīng)用價值,。隨著32/64位微處理器性能的提高,,國內(nèi)微電子與嵌入式技術(shù)得到了迅速發(fā)展?;诖吮尘?,本系統(tǒng)以基于ARM7內(nèi)核的嵌入式片上系統(tǒng)S3C44B0X為核心開發(fā)了智能發(fā)酵控制系統(tǒng),操作系統(tǒng)移植了嵌入式實時操作系統(tǒng)μC/OS-II,。針對生物發(fā)酵控制過程中的時變性,、大延時性、隨機(jī)性等特點(diǎn),系統(tǒng)采用了模糊邏輯控制方法,,適應(yīng)了復(fù)雜系統(tǒng)的控制,。實踐表明,該控制系統(tǒng)可達(dá)到較為理想的控制效果,。此控制方法可以推廣到其他具有大滯后,、時變性等特點(diǎn)的控制對象中。?
1 系統(tǒng)硬件設(shè)計?
??? 系統(tǒng)采用基于嵌入式μC/OS-II操作系統(tǒng)[1]的ARM硬件平臺,,以滿足系統(tǒng)較高的實時性需求,,方便了軟硬件功能修改、擴(kuò)充,、升級等需求,,縮短了開發(fā)周期,降低了研發(fā)成本。?
??? 發(fā)酵過程智能控制系統(tǒng)的工作原理:系統(tǒng)啟動后,,在自動運(yùn)行狀態(tài)下,,ARM處理器執(zhí)行傳感器的采樣功能,并根據(jù)采樣值與設(shè)定值之間的差值,,通過模糊控制算法分別控制各個控制元件,。為了提高轉(zhuǎn)換精度,從硬件和軟件兩個方面采取措施:通過數(shù)字濾波法,,進(jìn)一步去除干擾,,提高精度;對傳感器的輸出信號實行非線性補(bǔ)償,,提高系統(tǒng)的測控精度,。手動運(yùn)行時,ARM處理器根據(jù)用戶指令輸出控制指令,,控制各個執(zhí)行元件,。另外,ARM處理器輸出的信號不足以驅(qū)動電磁閥等執(zhí)行元件,,系統(tǒng)還提供了驅(qū)動電路。同時經(jīng)過串口接口電路將實際采樣值傳給計算機(jī)進(jìn)行處理,,從而實現(xiàn)了發(fā)酵過程的智能控制,。圖1是發(fā)酵過程智能控制系統(tǒng)的結(jié)構(gòu)框圖。?
?
?
圖1? 智能發(fā)酵控制系統(tǒng)系統(tǒng)的結(jié)構(gòu)框圖
?
1.1 ARM嵌入式處理器?
??? 系統(tǒng)采用基于μC/OS-II內(nèi)核的低功耗ARM處理器S3C44B0X[2],。它是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價比的微控制器解決方案,。S3C44B0X具有ARM處理器的所有優(yōu)點(diǎn):低功耗、高性能,。具有豐富的片上資源:8KB高速緩存(Cache),、可配置的片內(nèi)SRAM、兩路握手功能的UART(通用串行口),、4路DMA控制器,、系統(tǒng)管理功能、片選邏輯,、FP/EDO/SRAM控制器,、5路帶PWM的定時器、I/O接口,、RTC時鐘,、8路10位ADC、I2S總線,、同步SIO接口和為系統(tǒng)提供時鐘的PLL倍頻電路,,且集成了LCD控制器,可以將顯示緩存中的數(shù)據(jù)傳送到外部的LCD驅(qū)動電路中,非常適合嵌入式產(chǎn)品的開發(fā),。由于使用了該處理器眾多功能模塊使得系統(tǒng)結(jié)構(gòu)緊湊,,減少了系統(tǒng)的復(fù)雜度。系統(tǒng)中主要用到了S3C44B0X的8路10位A/D轉(zhuǎn)換模塊,、LCD控制器,、32位定時器、UART,、GPIO,、PWM輸出模塊等。?
1.2 輸入/輸出通道?
??? 根據(jù)設(shè)計要求,,系統(tǒng)對發(fā)酵液PH值,、溶解氧含量DO實現(xiàn)在線實時檢測,以滿足發(fā)酵過程控制的實時性,。為滿足控制系統(tǒng)的性能要求,,PH、DO傳感器的反應(yīng)時間要快,,成本要低,。系統(tǒng)選用上海雷磁儀器廠的DDD-32D型導(dǎo)電儀。該電導(dǎo)率傳感器配有自動溫度補(bǔ)償功能;測量范圍大,,測量上限為104μs/cm,,滿足系統(tǒng)要求;輸出信號為0~10mA,,滿足輸入信號要求,。同時傳感器反應(yīng)時間也滿足控制要求,而且價格便宜,。PH傳感器同樣滿足上述要求,。系統(tǒng)將PH值、DO值傳感器的輸出信號統(tǒng)一轉(zhuǎn)換成電壓信號,。用一片CD4501作為多路選擇開關(guān),。由于產(chǎn)生的信號很微弱,采用高精度可變增益放大器AD526實現(xiàn)信號的前置放大,,調(diào)節(jié)模擬電壓信號幅度,。A/D轉(zhuǎn)換器負(fù)責(zé)將采集來的模擬信號轉(zhuǎn)換成CPU可以識別的數(shù)字信號,從而作為模糊控制器的輸入,,因此A/D轉(zhuǎn)換器的設(shè)計對整個系統(tǒng)來說至關(guān)重要,。系統(tǒng)采用S3C44B0X芯片自帶的8位A/D轉(zhuǎn)換器,該轉(zhuǎn)換器內(nèi)部結(jié)構(gòu)中包括模擬多路復(fù)用器,、自動調(diào)零器,、時鐘產(chǎn)生器,、10位逐次逼近寄存器和輸出寄存器??梢酝ㄟ^軟件設(shè)置為Sleep模式,,可節(jié)電減少功率損失,最大轉(zhuǎn)換速率為100ksps,,非線性度為正負(fù)1位,,滿足系統(tǒng)對控制精度的要求。?
??? 輸出通道采用8255擴(kuò)展并口輸出,。由于電磁閥等執(zhí)行元件需要24伏交流驅(qū)動,,故加入驅(qū)動電路。8255輸出經(jīng)三極管放大后驅(qū)動固態(tài)繼電器,,進(jìn)一步控制24V交流的通斷,,以驅(qū)動電磁閥。?
1.3 人機(jī)通道?
??? 這部分包括顯示,、鍵盤兩部分電路,。系統(tǒng)直接使用S3C44B0X芯片上內(nèi)置的LCD控制器來構(gòu)造顯示模塊,將LCD控制器的控制信號經(jīng)74HC245驅(qū)動后與LCD模塊對應(yīng)信號相連即可,。LCD顯示電路采用北京精電蓬遠(yuǎn)公司的MOBI2006液晶顯示,,為128×64點(diǎn)陣圖形液晶,可顯8行西文,、數(shù)字字符或者4行漢字,,用來顯示系統(tǒng)PH值、DO的設(shè)定值及采樣值,。當(dāng)按鍵修改參數(shù)時,顯示報警參數(shù)(上,、下限報警值)以及各種提示符,。?
??? 鍵盤電路采用HD7297鍵盤專用芯片來進(jìn)行鍵盤的設(shè)計。HD7297是一個具有串行接口的智能驅(qū)動芯片,。該芯片同時還可連接多達(dá)64個鍵的鍵盤矩陣,,內(nèi)部含有去抖電路。當(dāng)有鍵按下時,,鍵值自動保存在寄存器中,,通過讀取該寄存器,就可獲得鍵盤鍵號,,避免了傳統(tǒng)的鍵盤掃描,、計算鍵值等軟件,方便程序編寫,。HD7297與S3C44B0X的連接極其簡單,,只要把/CS,、CLK、DATA和KEY四根線連接到S3C44B0X的GPIO即可,。?
1.4 其他基本功能模塊?
??? 其他基本功能模塊包括存儲器模塊,、超限報警模塊、異步串行通信模塊,、JTAG接口模塊,、電源及時鐘電路等。存儲器模塊用于記錄系統(tǒng)及發(fā)酵程序,、發(fā)酵累計時間等信息,。超限報警模塊由蜂鳴器實現(xiàn),當(dāng)由于意外因素導(dǎo)致實際采樣值高于設(shè)定值上限時,,蜂鳴器鳴叫報警,。UART模塊用于與上位機(jī)進(jìn)行通訊,以利用PC機(jī)的資源,。JTAG系統(tǒng)是通過仿真器將系統(tǒng)與PC相連,,利用S3C44B0X芯片內(nèi)部的在線調(diào)試模塊在上位機(jī)上調(diào)試程序。電源及時鐘電路提供系統(tǒng)工作時的電源及時鐘,。?
2 模糊控制算法?
??? 生物發(fā)酵過程是時變,、非線性、不確定等多變量的耦合系統(tǒng),,涉及到生命體的生長繁殖過程,,機(jī)理復(fù)雜。系統(tǒng)的滯后和慣性都很大,,傳遞函數(shù)很難確定,。又因為控制系統(tǒng)的執(zhí)行機(jī)構(gòu)是只有兩種狀態(tài)的開關(guān)電磁閥,只能控制電磁閥在控制周期內(nèi)的開關(guān)時間比例,,用傳統(tǒng)控制方法不易得到較好的控制效果,,因此,系統(tǒng)采用模糊邏輯控制方法[3-6]來實現(xiàn),。在設(shè)計模糊控制器時,,系統(tǒng)選用二維模糊控制器,即以偏差e和偏差變化Δe作為輸入變量,,控制系統(tǒng)框圖如圖2所示,。這時的模糊控制器類似于一個PD控制器,從而有利于保證系統(tǒng)的穩(wěn)定性,,減少響應(yīng)過程的超調(diào)量并削弱其振蕩現(xiàn)象,。?
?
?
??? 因為系統(tǒng)延遲較大,并且由于生物發(fā)酵過程中發(fā)酵罐中葉輪的旋轉(zhuǎn)使檢測得到的PH值,、DO值的波動大,,e和Δe的模糊語言值和論域等級不宜過多,。同時,根據(jù)系統(tǒng)傳感器A/D采樣值的數(shù)據(jù)分析,,選取m=5,,k=2。e,、Δe和U的語言真值集為:E,、EC、U,。其中E={NB,,NS,ZE,,PS,,PB},論域為:{-4,,-3,,-2,-1,,0,,1,2,,3,,4};EC={NB,,NS,,ZE,PS,,PB},,論域為:{-4,-3,,-2,,-1,,0,,1,2,,3,,4};U={NB,,NS,,ZE,,PS,PB},,論域為:{-4,,-3,-2,,-1,,0,1,,2,,3,4},。系統(tǒng)輸入E,、EC的隸屬函數(shù)與輸出U的隸屬函數(shù)如表1、表2所示,。?
?
?
?
??? 二維模糊控制器的模糊規(guī)則通常由模糊條件語句:?
if 的模糊子集,。多條這種結(jié)構(gòu)的模糊條件語句就可以總結(jié)為模糊控制規(guī)則表。系統(tǒng)根據(jù)實際發(fā)酵過程中操作人員的操作經(jīng)驗,,總結(jié)出控制規(guī)則如表3,。?
?
?
3 系統(tǒng)軟件設(shè)計?
??? 軟件設(shè)計采用了當(dāng)前流行的嵌入式系統(tǒng)開發(fā)技術(shù)。采用嵌入式實時操作系統(tǒng)μC/OS-II,,并使用ARM和Thumb指令集混合編譯來優(yōu)化代碼密度,。首先將實時操作系統(tǒng)μC/OS-II移植到S3C44B0X嵌入式微處理器上,系統(tǒng)將要完成的功能細(xì)化為幾個核心任務(wù),,由μC/OS-II實時內(nèi)核進(jìn)行調(diào)度,,實現(xiàn)多任務(wù)的并行執(zhí)行,系統(tǒng)的可靠性和實時性得到大幅提升,。?
????按系統(tǒng)要實現(xiàn)的功能,,系統(tǒng)軟件被劃分為幾個并行存在的任務(wù)。占先式操作系統(tǒng)對任務(wù)的調(diào)度是按優(yōu)先權(quán)的高低進(jìn)行的,,將系統(tǒng)的所有任務(wù)按其優(yōu)先級從高到低順序依次是:系統(tǒng)監(jiān)視,、鍵盤掃描、LCD顯示,、模糊控制算法,、控制量輸出和異步串行通信。數(shù)據(jù)采集部分放到定時器中斷程序中執(zhí)行,,即每2s對PH值,、DO值進(jìn)行數(shù)據(jù)采集、存儲,。系統(tǒng)監(jiān)視任務(wù)用來監(jiān)視其他任務(wù),。當(dāng)被監(jiān)視任務(wù)在執(zhí)行過程中出現(xiàn)差錯時,,系統(tǒng)監(jiān)視任務(wù)將按照預(yù)先設(shè)定的處理表對其進(jìn)行處理,使出錯的任務(wù)恢復(fù)正常運(yùn)行,,從而提高系統(tǒng)運(yùn)行的可靠性,。系統(tǒng)運(yùn)行時,首先進(jìn)行系統(tǒng)初始化操作,,初始化所有數(shù)據(jù)結(jié)構(gòu),、分配堆棧空間,,然后建立任務(wù)間通信的郵箱或消息隊列,,建立任務(wù)及分配任務(wù)優(yōu)先權(quán)。所有新建任務(wù)被置為就緒態(tài),,系統(tǒng)程序從優(yōu)先權(quán)最高的任務(wù)開始執(zhí)行,。圖3為系統(tǒng)的運(yùn)行流程圖。圖4為系統(tǒng)軟硬件原理圖,。?
?
?
?
??? 系統(tǒng)的數(shù)據(jù)采集中斷程序Temp_Sampling_Task(void)(上接第40頁)?
如下:?
??? Void Temp_Sampling_Task()?
??? {?
? ? ??#if OS_CRITICAL_METHOD==3?
??????? ??OS_CPU_SR cpu_sr,;?
??? ? #endif?
??? ? int temp;?
??? ? for(,;,;)?
???????{?
??????? temp=Temp_Sample();?
??????? if(QueueWrite((void*)QueueBuf,,temp)==QUEUE_FULL)?
??????????? OSTimeDly(4),;?
??? ??? }?
??? }?
??? 采集中斷程序中用OSTimeDly()函數(shù)實現(xiàn)2個節(jié)拍延時,即系統(tǒng)每隔4×0.5=2ms執(zhí)行一次任務(wù),,這就保證了每2ms采集一次PH值,、DO值的采樣速率。?
??? 針對時變,、非線性,、不確定性、多變量的生物發(fā)酵過程,,采用ARM嵌入式處理器S3C44B0X實現(xiàn)生物發(fā)酵智能控制系統(tǒng)的設(shè)計,,不僅可以減少外設(shè),而且提高了系統(tǒng)的實時性和可靠性,。采用模糊控制算法,,解決了傳統(tǒng)控制方法不易得到系統(tǒng)數(shù)學(xué)模型,難于對控制系統(tǒng)進(jìn)行有效控制的不足,。同時,,通過移植μC/OS-II操作系統(tǒng),,大大方便了編程,,縮短了軟件的開發(fā)周期,,提高了開發(fā)效率。實踐證明,,系統(tǒng)能夠滿足整體性能要求,,達(dá)到良好的控制效果。?
參考文獻(xiàn)?
[1] 王田苗.嵌入式系統(tǒng)設(shè)計與實例開發(fā):基于ARM微處理器與μC/OS-II實時操作系統(tǒng).北京:清華大學(xué)出版社,,2002.?
[2] 馬忠梅.ARM嵌人式處理器結(jié)構(gòu)與應(yīng)用.北京:北京航空航天大學(xué)出版社,,2002.?
[3] 徐愛軍.智能化測量控制儀表原理與設(shè)計「M].北京:航空航天大學(xué)出版社,1995.?
[4] 諸靜.模糊控制原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,,2005.?
[5] 張弋力,,馬明前.基于模糊控制算法的溫度控制系統(tǒng)[J].自動化與儀器儀表,2004,,(1):21-23.?
[6] 劉新平,,李宗民.基于模糊算法的高精度溫度控制系統(tǒng)[J].電力系統(tǒng)及其自動化學(xué)報,2001,,(4):60-63.