《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于ARM的無(wú)線生物發(fā)酵監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)

基于ARM的無(wú)線生物發(fā)酵監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)

2008-07-09
作者:孫玉坤, 王 博 , 黃永紅

??? 摘 要: 介紹了生物發(fā)酵過(guò)程監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)。該系統(tǒng)以ARM處理器S3C44B0X為核心,在嵌入式操作系統(tǒng) uC/0S-Ⅱ下實(shí)現(xiàn)了發(fā)酵過(guò)程中現(xiàn)場(chǎng)數(shù)據(jù)的采集與顯示,并利用PTR2000實(shí)現(xiàn)了與上位機(jī)" title="上位機(jī)">上位機(jī)之間的無(wú)線通信。
??? 關(guān)鍵詞: ARM? VC? 無(wú)線傳輸

?

??? 近年來(lái), 生物工程技術(shù)越來(lái)越引起科技界、工業(yè)界和政府部門(mén)的重視。生物工程的許多成果需要經(jīng)過(guò)發(fā)酵過(guò)程而轉(zhuǎn)化為工業(yè)產(chǎn)品,因此,發(fā)酵罐及其系統(tǒng)在生物工程中顯得越來(lái)越重要。發(fā)酵過(guò)程是涉及微生物細(xì)胞生長(zhǎng)代謝的復(fù)雜過(guò)程,是一非線性的時(shí)變系統(tǒng),影響因素復(fù)雜,參數(shù)相關(guān)性嚴(yán)重。因此,發(fā)酵生產(chǎn)過(guò)程的參數(shù)測(cè)量、操作監(jiān)視成為生物工程優(yōu)化管理與自動(dòng)化的關(guān)鍵問(wèn)題。本文采用ARM單片機(jī)對(duì)發(fā)酵罐中的環(huán)境變量進(jìn)行自動(dòng)采集、存儲(chǔ)、顯示,并將這些數(shù)據(jù)經(jīng)PTR2000無(wú)線傳輸模塊傳至控制中心的上位機(jī)(上位機(jī)軟件系統(tǒng)采用VC++)實(shí)現(xiàn)上、下位機(jī)" title="下位機(jī)">下位機(jī)的串行通信和對(duì)數(shù)據(jù)的分析、存盤(pán)、打印、報(bào)警、顯示等功能,從而實(shí)現(xiàn)了對(duì)發(fā)酵系統(tǒng)生產(chǎn)過(guò)程的實(shí)時(shí)遠(yuǎn)程監(jiān)控、優(yōu)化了生產(chǎn)工藝、提高了設(shè)備的可利用率。該系統(tǒng)自動(dòng)化程度高、可靠性好、實(shí)用性強(qiáng),有很好的市場(chǎng)應(yīng)用前景。
1系統(tǒng)總體設(shè)計(jì)
??? 由于實(shí)際發(fā)酵過(guò)程比較復(fù)雜,涉及到微生物細(xì)胞的生長(zhǎng)和代謝,是一個(gè)具有時(shí)變性、隨機(jī)性和多變量輸入的動(dòng)態(tài)過(guò)程。有些變量(如菌體濃度、基質(zhì)濃度、產(chǎn)物得率等)在線檢測(cè)困難,且不能直接作為被控變量,因此,在發(fā)酵過(guò)程中主要采用與質(zhì)量有關(guān)的變量,如溫度、攪拌轉(zhuǎn)速、PH值、溶解氧濃度、通氣量、泡沫高度等作為被控變量。針對(duì)發(fā)酵過(guò)程中影響微生物代謝的各環(huán)境參數(shù)的重要性,本系統(tǒng)只對(duì)溫度、PH值、溶解氧濃度和泡沫高度進(jìn)行實(shí)時(shí)采樣。
  系統(tǒng)在工廠控制中心室配置一臺(tái)PC機(jī)作為上位機(jī),在工廠發(fā)酵罐現(xiàn)場(chǎng)使用可擴(kuò)展的ARM單片機(jī)作為下位機(jī),即ARM單片機(jī)同現(xiàn)場(chǎng)的發(fā)酵罐直接相連,按照溫度、PH值、溶解氧濃度、泡沫高度的順序分回路進(jìn)行數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集、顯示,再通過(guò)無(wú)線數(shù)據(jù)傳輸模塊將數(shù)據(jù)傳送到上位機(jī),而上位機(jī)對(duì)數(shù)據(jù)進(jìn)行處理并繪制成實(shí)時(shí)曲線顯示,從而實(shí)現(xiàn)發(fā)酵罐的遠(yuǎn)程數(shù)據(jù)采集和監(jiān)測(cè)。系統(tǒng)基本結(jié)構(gòu)框圖如圖1所示。

????????????????????????
2 硬件設(shè)計(jì)
??? 系統(tǒng)下位機(jī)采用基于ARM7TDMI-S內(nèi)核μC/OS-II的低功耗ARM處理器S3C44B0X,它是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比的微控制器解決方案。S3C44B0X具有ARM處理器的所有優(yōu)點(diǎn):低功耗、高性能 。具有豐富的片上資源:8KB高速緩存、可配置的片內(nèi)SRAM、LCD控制器、兩路握手功能的UART(通用串行口)、四路DMA控制器、系統(tǒng)管理功能(片選邏輯、FP/EDO/SDRAM控制器)、五路帶PWM的定時(shí)器、I/O接口、RTC(時(shí)鐘)、八路10位ADC、IIS總線、同步SIO接口和為系統(tǒng)提供時(shí)鐘的PLL倍頻電路,且S3C44B0X集成了LCD控制器,可以將顯示緩存中的數(shù)據(jù)傳送到外部的LCD驅(qū)動(dòng)電路中,非常適合嵌入式產(chǎn)品的開(kāi)發(fā)。由于使用了該處理器眾多功能模塊使得本系統(tǒng)結(jié)構(gòu)緊湊,減少了系統(tǒng)的復(fù)雜度。
2.1 無(wú)線傳輸模塊
  由于S3C44B0X處理器要采集發(fā)酵現(xiàn)場(chǎng)數(shù)據(jù),然后傳輸給上位機(jī)進(jìn)行處理。若使用RS485或者CAN等網(wǎng)絡(luò),因這些網(wǎng)絡(luò)均基于有線傳輸,使用中不僅要考慮成本,而且還要考慮數(shù)據(jù)傳輸中的干擾因素。而無(wú)線傳輸成本相對(duì)低,并且傳輸中的干擾較少,這在一定程度上提高了傳輸?shù)目煽啃?,具有一定的?yōu)勢(shì)。因此本系統(tǒng)采用基于nRF401的無(wú)線通信模塊PTR2000,該器件采用抗干擾能力較強(qiáng)的FSK調(diào)制/解調(diào)方式,工作頻率穩(wěn)定可靠、外圍元件少、功耗低、便于設(shè)計(jì)生產(chǎn),是目前集成度最高的一種無(wú)線傳輸芯片。S3C44B0X處理器含有兩路握手功能的UART接口,系統(tǒng)將UART0的TXD、RXD直接與PTR2000相連接。
  上位機(jī)通過(guò)PTR2000與S3C44B0X進(jìn)行實(shí)時(shí)通信。PTR2000與PC機(jī)相連接時(shí)必須經(jīng)過(guò)電平轉(zhuǎn)換,即將TTL電平轉(zhuǎn)換為RS-232C電平,用一片MAX232芯片便可以完成該轉(zhuǎn)換。用串口" title="串口">串口的RTS與PTR2000的TXEN連接來(lái)控制PTR2000無(wú)線收發(fā)模塊的收發(fā)狀態(tài)轉(zhuǎn)換。
2.2 數(shù)據(jù)采集模塊及液晶顯示
  下位機(jī)系統(tǒng)每隔1秒鐘通過(guò)四個(gè)傳感器分別對(duì)發(fā)酵罐的溫度、PH值、溶解氧和泡沫高度進(jìn)行實(shí)時(shí)檢測(cè)。由于各傳感器的輸出均為模擬信號(hào),而A/D" title="A/D">A/D轉(zhuǎn)換器采集接收的是電壓信號(hào),所以各傳感器輸出的模擬信號(hào)經(jīng)過(guò)變送器進(jìn)行信號(hào)變換后,輸出的電壓信號(hào)為0~5V,再經(jīng)A/D轉(zhuǎn)換器傳至S3C44B0X處理器進(jìn)行處理。S3C44B0X自身雖集成有8路10位A/D轉(zhuǎn)換器,但沒(méi)有采樣保持電路,其內(nèi)部集成的A/D轉(zhuǎn)換只能輸入0~100Hz的模擬信號(hào),因此需要進(jìn)行擴(kuò)展。系統(tǒng)采用AD7829器件作為A/D轉(zhuǎn)換器,利用S3C44B0X的PD口發(fā)出的脈沖作為AD7829的CONVEST的負(fù)脈沖進(jìn)行模數(shù)轉(zhuǎn)換,同時(shí)實(shí)現(xiàn)發(fā)酵罐的多參數(shù)采集。
  液晶系統(tǒng)采用精電蓬遠(yuǎn)公司的MOBI2006液晶顯示器,該顯示器為128×64點(diǎn)陣圖形液晶,可顯示8行西文、數(shù)字字符或者4行漢字,系統(tǒng)可實(shí)時(shí)顯示發(fā)酵過(guò)程中溫度、PH值、溶解氧濃度、泡沫高度的值。圖2為硬件設(shè)計(jì)原理圖。

??????????????????????????
3 系統(tǒng)軟件設(shè)計(jì)
  根據(jù)系統(tǒng)的設(shè)計(jì)要求,將系統(tǒng)軟件分為下位機(jī)軟件和上位機(jī)軟件分別進(jìn)行設(shè)計(jì)。
3.1 下位機(jī)軟件設(shè)計(jì)
  下位機(jī)軟件設(shè)計(jì)采用當(dāng)前流行的嵌入式系統(tǒng)開(kāi)發(fā)技術(shù),采用嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ,并使用ARM和Thumb指令集混合編譯來(lái)優(yōu)化代碼密度。首先,將實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ移植到S3C44B0X嵌入式微處理器上,將系統(tǒng)所要完成的功能細(xì)化為幾個(gè)核心任務(wù),由μC/OS-Ⅱ?qū)崟r(shí)內(nèi)核進(jìn)行調(diào)度,以實(shí)現(xiàn)多任務(wù)的并行操作,使系統(tǒng)的可靠性和實(shí)時(shí)性得到大幅提升。按系統(tǒng)實(shí)現(xiàn)的功能要求,整個(gè)系統(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ù)據(jù)采集部分在定時(shí)器中斷程序中執(zhí)行,即每1秒鐘按溫度、PH值、溶解氧濃度、泡沫高度的順序分回路進(jìn)行數(shù)據(jù)采集。其中,系統(tǒng)監(jiān)視任務(wù)用來(lái)監(jiān)視其他任務(wù)。當(dāng)被監(jiān)視任務(wù)在執(zhí)行過(guò)程中出現(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),分配堆棧空間,然后建立任務(wù)間通信的信號(hào)量或消息隊(duì)列,進(jìn)行任務(wù)建立及分配任務(wù)優(yōu)先權(quán)。所有新建的任務(wù)被置為就緒態(tài),系統(tǒng)程序從優(yōu)先權(quán)最高的任務(wù)開(kāi)始執(zhí)行。圖3為下位機(jī)系統(tǒng)的運(yùn)行流程圖。圖4是下位機(jī)系統(tǒng)軟硬件原理圖。

????????????????????????????????????

?

???????????????????????????


3.2 上位機(jī)軟件設(shè)計(jì)
?? ? 為實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)的遠(yuǎn)程實(shí)時(shí)監(jiān)控和管理,需編制上位機(jī)監(jiān)控界面。若采用專業(yè)的組態(tài)軟件編制,對(duì)系統(tǒng)的硬件配置要求很高,同時(shí)價(jià)格也非常昂貴,且不便于軟件系統(tǒng)的開(kāi)發(fā)與升級(jí)。采用VC++來(lái)編寫(xiě)上位機(jī)監(jiān)控軟件,采用基于Windows的窗口化程序設(shè)計(jì)MFC,人機(jī)界面不但生動(dòng)直觀,而且操作簡(jiǎn)單,用它來(lái)實(shí)現(xiàn)底層的通信控制有著更快的效率。上位機(jī)軟件系統(tǒng)包括通信模塊和監(jiān)控程序兩部分。
3.2.1 通信模塊
??? ?在標(biāo)準(zhǔn)RS-232串口通信方面,VC++提供了具有強(qiáng)大功能的通信控件MSComm。該控件可設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對(duì)串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置,是一個(gè)標(biāo)準(zhǔn)的10位串口通信,包括8位數(shù)據(jù)、1位起始位和1位停止位。在發(fā)送或接收數(shù)據(jù)過(guò)程中觸發(fā)OnComm事件,通過(guò)編程訪問(wèn)CommEvent的屬性了解通信事件的類型,進(jìn)行各自的處理。每個(gè)通信控件對(duì)應(yīng)一個(gè)串口,可以設(shè)計(jì)多個(gè)通信控件來(lái)訪問(wèn)多個(gè)通信口。控件提供了功能完善的串口數(shù)據(jù)的發(fā)送和接收功能,MSComm控件具有兩種處理方式:事件驅(qū)動(dòng)方式,由MSComm控件的OnComm事件捕獲并處理通信錯(cuò)誤及事件;查詢方式,通過(guò)檢查CommEvent屬性的值來(lái)判斷事件和錯(cuò)誤。本系統(tǒng)采用事件驅(qū)動(dòng)方式。
3.2.2 監(jiān)控程序設(shè)計(jì)
  通過(guò)VC圖形編程工具,監(jiān)控軟件實(shí)現(xiàn)發(fā)酵過(guò)程中各環(huán)境參數(shù)的實(shí)時(shí)數(shù)據(jù)及曲線、歷史數(shù)據(jù)及曲線的顯示。
  進(jìn)入監(jiān)控主界面,首先要對(duì)串行口進(jìn)行初步設(shè)置,然后按下開(kāi)始按鈕使系統(tǒng)開(kāi)始工作。此時(shí)界面開(kāi)始動(dòng)態(tài)顯示各發(fā)酵環(huán)境控制量的數(shù)值,而且還能夠反映出蠕動(dòng)泵的開(kāi)與關(guān)(分別用綠色和紅色表示)的狀態(tài)、控制循環(huán)水通斷的循環(huán)泵的開(kāi)關(guān)狀態(tài)。主界面中還標(biāo)出了純凈空氣及溫控循環(huán)水的流動(dòng)方向,同時(shí)主界面能夠?qū)崟r(shí)顯示發(fā)酵過(guò)程的當(dāng)前時(shí)間、發(fā)酵系統(tǒng)啟動(dòng)時(shí)間,在主界面中發(fā)酵罐的基本概況一目了然,如圖5所示。

?????????????????????????????
  在曲線菜單項(xiàng)中,能夠以圖形曲線的方式顯示發(fā)酵過(guò)程數(shù)據(jù)的變化情況,如圖6所示。通過(guò)此功能,對(duì)發(fā)酵過(guò)程可有一個(gè)直觀的了解,并以此作為判斷發(fā)酵過(guò)程是否正常的依據(jù)。接收到的現(xiàn)場(chǎng)數(shù)據(jù)在接收數(shù)據(jù)區(qū)中顯示的同時(shí),也被存入一個(gè).txt文件和Access數(shù)據(jù)庫(kù)中??梢源蜷_(kāi)指定路徑.txt文件對(duì)數(shù)據(jù)進(jìn)行編輯,另外也可以點(diǎn)擊設(shè)置菜單項(xiàng)中的“數(shù)據(jù)庫(kù)管理”子菜單項(xiàng)對(duì)Access數(shù)據(jù)庫(kù)進(jìn)行管理、編輯,利用Access數(shù)據(jù)庫(kù)的強(qiáng)大數(shù)據(jù)管理功能進(jìn)行數(shù)據(jù)的管理。

??????????????????????????????????
??? 基于ARM處理器實(shí)現(xiàn)了生物發(fā)酵遠(yuǎn)程監(jiān)測(cè)系統(tǒng)的開(kāi)發(fā)研究,其硬件設(shè)計(jì)本著低成本、低功耗、小體積和實(shí)時(shí)性的設(shè)計(jì)思想,建立了基于S3C44B0X的下位機(jī)嵌入式開(kāi)發(fā)平臺(tái),實(shí)現(xiàn)了數(shù)據(jù)采集、LCD顯示、無(wú)線數(shù)據(jù)通信等功能,使系統(tǒng)的整體性能有了很大的提高。利用VC++實(shí)現(xiàn)了對(duì)發(fā)酵過(guò)程的上位機(jī)監(jiān)控,監(jiān)控系統(tǒng)界面具有罐體溫度、PH值、溶解氧濃度、泡沫液位等參數(shù)的數(shù)據(jù)采集、處理以及實(shí)時(shí)曲線顯示、報(bào)表打印等功能,實(shí)現(xiàn)了對(duì)發(fā)酵系統(tǒng)生產(chǎn)過(guò)程的實(shí)時(shí)遠(yuǎn)程監(jiān)控。人機(jī)界面不但生動(dòng)直觀,而且操作簡(jiǎn)單。該系統(tǒng)在發(fā)酵罐自動(dòng)化改造中已經(jīng)取得了良好的效果,具有很好的工程推廣價(jià)值。該系統(tǒng)也可擴(kuò)展應(yīng)用到其他領(lǐng)域相關(guān)過(guò)程的控制中。
參考文獻(xiàn)
[1] 何立民. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京: 北京航空航天大學(xué)出版社,2002.
[2] 黃 冰.單片機(jī)原理及應(yīng)用(MCS-51)[M].重慶: 重慶大學(xué)出版社,2003 .
[3] 譚思亮. Visual C++串口通訊工程開(kāi)發(fā)實(shí)例導(dǎo)航[M].北京: 人民郵電出版社,2003.
[4] 周啟濤. Visual C++ 數(shù)據(jù)庫(kù)開(kāi)發(fā)基礎(chǔ)與應(yīng)用[M].北京:人民郵電出版社,2005.
[5] 王樹(shù)青. 生化反應(yīng)過(guò)程模型化及計(jì)算機(jī)控制[M].杭州:浙江大學(xué)出版社,1998.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。