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