《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于ARM7的智能生物發(fā)酵模糊控制系統(tǒng)

基于ARM7的智能生物發(fā)酵模糊控制系統(tǒng)

2008-10-17
作者:王 博,孫玉坤,,黃永紅

??? 摘? 要: 基于ARM7和模糊控制算法" title="模糊控制算法">模糊控制算法開發(fā)的生物發(fā)酵" title="生物發(fā)酵">生物發(fā)酵智能控制系統(tǒng)" title="控制系統(tǒng)">控制系統(tǒng),。軟件設(shè)計(jì)中移植了μC/OS-II" title="C/OS-II">C/OS-II操作系統(tǒng),采用多任務(wù)程序設(shè)計(jì)方法設(shè)計(jì),,大大降低了編寫程序的復(fù)雜度,。針對(duì)生物發(fā)酵控制過程中的時(shí)變性,、非線性,、延時(shí)性,、隨機(jī)性等特點(diǎn),提出采用模糊邏輯控制技術(shù)來實(shí)現(xiàn)系統(tǒng)的控制,。在一定程度上解決了傳統(tǒng)控制方法" title="控制方法">控制方法不易得到系統(tǒng)數(shù)學(xué)模型、難于對(duì)控制系統(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ā)酵控制過程還處于初步研究階段,,可以實(shí)際應(yīng)用的,、成熟的系統(tǒng)比較缺少,,正在使用的功能較為先進(jìn)的發(fā)酵過程智能控制系統(tǒng)均為進(jìn)口產(chǎn)品。因此,,開發(fā)具有自主知識(shí)產(chǎn)權(quán)的生物發(fā)酵控制系統(tǒng)具有重要的現(xiàn)實(shí)意義和推廣應(yīng)用價(jià)值,。隨著32/64位微處理器性能的提高,國內(nèi)微電子與嵌入式技術(shù)得到了迅速發(fā)展,?;诖吮尘埃鞠到y(tǒng)以基于ARM7內(nèi)核的嵌入式片上系統(tǒng)S3C44B0X為核心開發(fā)了智能發(fā)酵控制系統(tǒng),操作系統(tǒng)移植了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II,。針對(duì)生物發(fā)酵控制過程中的時(shí)變性,、大延時(shí)性、隨機(jī)性等特點(diǎn),系統(tǒng)采用了模糊邏輯控制方法,,適應(yīng)了復(fù)雜系統(tǒng)的控制,。實(shí)踐表明,該控制系統(tǒng)可達(dá)到較為理想的控制效果,。此控制方法可以推廣到其他具有大滯后,、時(shí)變性等特點(diǎn)的控制對(duì)象中。?

1 系統(tǒng)硬件設(shè)計(jì)?

??? 系統(tǒng)采用基于嵌入式μC/OS-II操作系統(tǒng)[1]的ARM硬件平臺(tái),,以滿足系統(tǒng)較高的實(shí)時(shí)性需求,,方便了軟硬件功能修改、擴(kuò)充,、升級(jí)等需求,,縮短了開發(fā)周期,降低了研發(fā)成本,。?

??? 發(fā)酵過程智能控制系統(tǒng)的工作原理:系統(tǒng)啟動(dòng)后,,在自動(dòng)運(yùn)行狀態(tài)下,,ARM處理器執(zhí)行傳感器的采樣功能,,并根據(jù)采樣值與設(shè)定值之間的差值,通過模糊控制算法分別控制各個(gè)控制元件,。為了提高轉(zhuǎn)換精度,,從硬件和軟件兩個(gè)方面采取措施:通過數(shù)字濾波法,進(jìn)一步去除干擾,,提高精度,;對(duì)傳感器的輸出信號(hào)實(shí)行非線性補(bǔ)償,提高系統(tǒng)的測控精度,。手動(dòng)運(yùn)行時(shí),,ARM處理器根據(jù)用戶指令輸出控制指令,控制各個(gè)執(zhí)行元件,。另外,,ARM處理器輸出的信號(hào)不足以驅(qū)動(dòng)電磁閥等執(zhí)行元件,系統(tǒng)還提供了驅(qū)動(dòng)電路,。同時(shí)經(jīng)過串口接口電路將實(shí)際采樣值傳給計(jì)算機(jī)進(jìn)行處理,,從而實(shí)現(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)用提供的高性價(jià)比的微控制器解決方案。S3C44B0X具有ARM處理器的所有優(yōu)點(diǎn):低功耗,、高性能,。具有豐富的片上資源:8KB高速緩存(Cache),、可配置的片內(nèi)SRAM、兩路握手功能的UART(通用串行口),、4路DMA控制器,、系統(tǒng)管理功能、片選邏輯,、FP/EDO/SRAM控制器,、5路帶PWM的定時(shí)器、I/O接口,、RTC時(shí)鐘,、8路10位ADC、I2S總線,、同步SIO接口和為系統(tǒng)提供時(shí)鐘的PLL倍頻電路,,且集成了LCD控制器,可以將顯示緩存中的數(shù)據(jù)傳送到外部的LCD驅(qū)動(dòng)電路中,,非常適合嵌入式產(chǎn)品的開發(fā),。由于使用了該處理器眾多功能模塊使得系統(tǒng)結(jié)構(gòu)緊湊,減少了系統(tǒng)的復(fù)雜度,。系統(tǒng)中主要用到了S3C44B0X的8路10位A/D轉(zhuǎn)換模塊,、LCD控制器、32位定時(shí)器,、UART,、GPIO、PWM輸出模塊等,。?

1.2 輸入/輸出通道?

??? 根據(jù)設(shè)計(jì)要求,,系統(tǒng)對(duì)發(fā)酵液PH值、溶解氧含量DO實(shí)現(xiàn)在線實(shí)時(shí)檢測,,以滿足發(fā)酵過程控制的實(shí)時(shí)性,。為滿足控制系統(tǒng)的性能要求,PH,、DO傳感器的反應(yīng)時(shí)間要快,,成本要低。系統(tǒng)選用上海雷磁儀器廠的DDD-32D型導(dǎo)電儀,。該電導(dǎo)率傳感器配有自動(dòng)溫度補(bǔ)償功能;測量范圍大,,測量上限為104μs/cm,滿足系統(tǒng)要求,;輸出信號(hào)為0~10mA,,滿足輸入信號(hào)要求。同時(shí)傳感器反應(yīng)時(shí)間也滿足控制要求,而且價(jià)格便宜,。PH傳感器同樣滿足上述要求,。系統(tǒng)將PH值、DO值傳感器的輸出信號(hào)統(tǒng)一轉(zhuǎn)換成電壓信號(hào),。用一片CD4501作為多路選擇開關(guān),。由于產(chǎn)生的信號(hào)很微弱,采用高精度可變增益放大器AD526實(shí)現(xiàn)信號(hào)的前置放大,,調(diào)節(jié)模擬電壓信號(hào)幅度,。A/D轉(zhuǎn)換器負(fù)責(zé)將采集來的模擬信號(hào)轉(zhuǎn)換成CPU可以識(shí)別的數(shù)字信號(hào),從而作為模糊控制器的輸入,,因此A/D轉(zhuǎn)換器的設(shè)計(jì)對(duì)整個(gè)系統(tǒng)來說至關(guān)重要,。系統(tǒng)采用S3C44B0X芯片自帶的8位A/D轉(zhuǎn)換器,該轉(zhuǎn)換器內(nèi)部結(jié)構(gòu)中包括模擬多路復(fù)用器,、自動(dòng)調(diào)零器,、時(shí)鐘產(chǎn)生器、10位逐次逼近寄存器和輸出寄存器,??梢酝ㄟ^軟件設(shè)置為Sleep模式,可節(jié)電減少功率損失,,最大轉(zhuǎn)換速率為100ksps,,非線性度為正負(fù)1位,滿足系統(tǒng)對(duì)控制精度的要求,。?

??? 輸出通道采用8255擴(kuò)展并口輸出,。由于電磁閥等執(zhí)行元件需要24伏交流驅(qū)動(dòng),故加入驅(qū)動(dòng)電路,。8255輸出經(jīng)三極管放大后驅(qū)動(dòng)固態(tài)繼電器,進(jìn)一步控制24V交流的通斷,,以驅(qū)動(dòng)電磁閥,。?

1.3 人機(jī)通道?

??? 這部分包括顯示、鍵盤兩部分電路,。系統(tǒng)直接使用S3C44B0X芯片上內(nèi)置的LCD控制器來構(gòu)造顯示模塊,,將LCD控制器的控制信號(hào)經(jīng)74HC245驅(qū)動(dòng)后與LCD模塊對(duì)應(yīng)信號(hào)相連即可。LCD顯示電路采用北京精電蓬遠(yuǎn)公司的MOBI2006液晶顯示,,為128×64點(diǎn)陣圖形液晶,,可顯8行西文、數(shù)字字符或者4行漢字,,用來顯示系統(tǒng)PH值,、DO的設(shè)定值及采樣值。當(dāng)按鍵修改參數(shù)時(shí),顯示報(bào)警參數(shù)(上,、下限報(bào)警值)以及各種提示符,。?

??? 鍵盤電路采用HD7297鍵盤專用芯片來進(jìn)行鍵盤的設(shè)計(jì)。HD7297是一個(gè)具有串行接口的智能驅(qū)動(dòng)芯片,。該芯片同時(shí)還可連接多達(dá)64個(gè)鍵的鍵盤矩陣,,內(nèi)部含有去抖電路。當(dāng)有鍵按下時(shí),,鍵值自動(dòng)保存在寄存器中,,通過讀取該寄存器,就可獲得鍵盤鍵號(hào),,避免了傳統(tǒng)的鍵盤掃描,、計(jì)算鍵值等軟件,方便程序編寫,。HD7297與S3C44B0X的連接極其簡單,,只要把/CS、CLK,、DATA和KEY四根線連接到S3C44B0X的GPIO即可,。?

1.4 其他基本功能模塊?

??? 其他基本功能模塊包括存儲(chǔ)器模塊、超限報(bào)警模塊,、異步串行通信模塊,、JTAG接口模塊、電源及時(shí)鐘電路等,。存儲(chǔ)器模塊用于記錄系統(tǒng)及發(fā)酵程序,、發(fā)酵累計(jì)時(shí)間等信息。超限報(bào)警模塊由蜂鳴器實(shí)現(xiàn),,當(dāng)由于意外因素導(dǎo)致實(shí)際采樣值高于設(shè)定值上限時(shí),,蜂鳴器鳴叫報(bào)警。UART模塊用于與上位機(jī)進(jìn)行通訊,,以利用PC機(jī)的資源,。JTAG系統(tǒng)是通過仿真器將系統(tǒng)與PC相連,利用S3C44B0X芯片內(nèi)部的在線調(diào)試模塊在上位機(jī)上調(diào)試程序,。電源及時(shí)鐘電路提供系統(tǒng)工作時(shí)的電源及時(shí)鐘,。?

2 模糊控制算法?

??? 生物發(fā)酵過程是時(shí)變、非線性,、不確定等多變量的耦合系統(tǒng),,涉及到生命體的生長繁殖過程,機(jī)理復(fù)雜,。系統(tǒng)的滯后和慣性都很大,,傳遞函數(shù)很難確定,。又因?yàn)榭刂葡到y(tǒng)的執(zhí)行機(jī)構(gòu)是只有兩種狀態(tài)的開關(guān)電磁閥,只能控制電磁閥在控制周期內(nèi)的開關(guān)時(shí)間比例,,用傳統(tǒng)控制方法不易得到較好的控制效果,,因此,系統(tǒng)采用模糊邏輯控制方法[3-6]來實(shí)現(xiàn),。在設(shè)計(jì)模糊控制器時(shí),,系統(tǒng)選用二維模糊控制器,即以偏差e和偏差變化Δe作為輸入變量,,控制系統(tǒng)框圖如圖2所示,。這時(shí)的模糊控制器類似于一個(gè)PD控制器,從而有利于保證系統(tǒng)的穩(wěn)定性,,減少響應(yīng)過程的超調(diào)量并削弱其振蕩現(xiàn)象,。?

?

?

??? 因?yàn)橄到y(tǒng)延遲較大,并且由于生物發(fā)酵過程中發(fā)酵罐中葉輪的旋轉(zhuǎn)使檢測得到的PH值,、DO值的波動(dòng)大,,e和Δe的模糊語言值和論域等級(jí)不宜過多。同時(shí),,根據(jù)系統(tǒng)傳感器A/D采樣值的數(shù)據(jù)分析,,選取m=5,k=2,。e,、Δe和U的語言真值集為:E、EC,、U,。其中E={NB,NS,,ZE,,PS,PB},,論域?yàn)椋簕-4,,-3,-2,,-1,0,,1,,2,3,,4},;EC={NB,,NS,ZE,,PS,,PB},論域?yàn)椋簕-4,,-3,,-2,-1,,0,,1,2,,3,,4};U={NB,,NS,,ZE,PS,,PB},,論域?yàn)椋簕-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ù)實(shí)際發(fā)酵過程中操作人員的操作經(jīng)驗(yàn),,總結(jié)出控制規(guī)則如表3。?

?

?

3 系統(tǒng)軟件設(shè)計(jì)?

??? 軟件設(shè)計(jì)采用了當(dāng)前流行的嵌入式系統(tǒng)開發(fā)技術(shù),。采用嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II,,并使用ARM和Thumb指令集混合編譯來優(yōu)化代碼密度。首先將實(shí)時(shí)操作系統(tǒng)μC/OS-II移植到S3C44B0X嵌入式微處理器上,,系統(tǒng)將要完成的功能細(xì)化為幾個(gè)核心任務(wù),,由μC/OS-II實(shí)時(shí)內(nèi)核進(jìn)行調(diào)度,,實(shí)現(xiàn)多任務(wù)的并行執(zhí)行,系統(tǒng)的可靠性和實(shí)時(shí)性得到大幅提升,。?

????按系統(tǒng)要實(shí)現(xiàn)的功能,,系統(tǒng)軟件被劃分為幾個(gè)并行存在的任務(wù)。占先式操作系統(tǒng)對(duì)任務(wù)的調(diào)度是按優(yōu)先權(quán)的高低進(jìn)行的,,將系統(tǒng)的所有任務(wù)按其優(yōu)先級(jí)從高到低順序依次是:系統(tǒng)監(jiān)視,、鍵盤掃描、LCD顯示,、模糊控制算法,、控制量輸出和異步串行通信。數(shù)據(jù)采集部分放到定時(shí)器中斷程序中執(zhí)行,,即每2s對(duì)PH值,、DO值進(jìn)行數(shù)據(jù)采集、存儲(chǔ),。系統(tǒng)監(jiān)視任務(wù)用來監(jiān)視其他任務(wù),。當(dāng)被監(jiān)視任務(wù)在執(zhí)行過程中出現(xiàn)差錯(cuò)時(shí),系統(tǒng)監(jiān)視任務(wù)將按照預(yù)先設(shè)定的處理表對(duì)其進(jìn)行處理,,使出錯(cuò)的任務(wù)恢復(fù)正常運(yùn)行,,從而提高系統(tǒng)運(yùn)行的可靠性。系統(tǒng)運(yùn)行時(shí),,首先進(jìn)行系統(tǒng)初始化操作,,初始化所有數(shù)據(jù)結(jié)構(gòu)、分配堆??臻g,,然后建立任務(wù)間通信的郵箱或消息隊(duì)列,建立任務(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ù)實(shí)現(xiàn)2個(gè)節(jié)拍延時(shí),,即系統(tǒng)每隔4×0.5=2ms執(zhí)行一次任務(wù),,這就保證了每2ms采集一次PH值、DO值的采樣速率,。?

??? 針對(duì)時(shí)變,、非線性、不確定性,、多變量的生物發(fā)酵過程,,采用ARM嵌入式處理器S3C44B0X實(shí)現(xiàn)生物發(fā)酵智能控制系統(tǒng)的設(shè)計(jì),不僅可以減少外設(shè),,而且提高了系統(tǒng)的實(shí)時(shí)性和可靠性,。采用模糊控制算法,解決了傳統(tǒng)控制方法不易得到系統(tǒng)數(shù)學(xué)模型,,難于對(duì)控制系統(tǒng)進(jìn)行有效控制的不足,。同時(shí),通過移植μC/OS-II操作系統(tǒng),,大大方便了編程,,縮短了軟件的開發(fā)周期,提高了開發(fā)效率,。實(shí)踐證明,,系統(tǒng)能夠滿足整體性能要求,達(dá)到良好的控制效果,。?

參考文獻(xiàn)?

[1] 王田苗.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)例開發(fā):基于ARM微處理器與μC/OS-II實(shí)時(shí)操作系統(tǒng).北京:清華大學(xué)出版社,,2002.?

[2] 馬忠梅.ARM嵌人式處理器結(jié)構(gòu)與應(yīng)用.北京:北京航空航天大學(xué)出版社,2002.?

[3] 徐愛軍.智能化測量控制儀表原理與設(shè)計(jì)「M].北京:航空航天大學(xué)出版社,,1995.?

[4] 諸靜.模糊控制原理與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,,2005.?

[5] 張弋力,馬明前.基于模糊控制算法的溫度控制系統(tǒng)[J].自動(dòng)化與儀器儀表,,2004,,(1):21-23.?

[6] 劉新平,李宗民.基于模糊算法的高精度溫度控制系統(tǒng)[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào),,2001,,(4):60-63.
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請及時(shí)通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]