吳 晶
(華南理工大學(xué) 自動(dòng)化學(xué)院,廣州 510641)
隨著生物工程的不斷發(fā)展,生物制藥出現(xiàn)了廣闊的發(fā)展前景。目前,生物制藥及其試驗(yàn)研究的裝置主要是中小型的發(fā)酵罐,其控制系統(tǒng)主要是根據(jù)經(jīng)驗(yàn)設(shè)計(jì)的開(kāi)關(guān)控制,調(diào)節(jié)合適控制參數(shù)的過(guò)程繁瑣,控制性能較差,因此開(kāi)發(fā)適用于工業(yè)級(jí)的生物發(fā)酵控制系統(tǒng)具有重要的現(xiàn)實(shí)意義。中小型的生物發(fā)酵罐控制器采用的是單片機(jī)或者PLC,軟件開(kāi)發(fā)調(diào)試環(huán)境繁瑣,開(kāi)發(fā)周期長(zhǎng),采用嵌入式系統(tǒng)可以有效的解決這些問(wèn)題,嵌入式系統(tǒng)具有友好的軟件開(kāi)發(fā)環(huán)境,聯(lián)機(jī)調(diào)試方便,實(shí)時(shí)性好。
考慮到生物發(fā)酵過(guò)程是一個(gè)時(shí)變、非線性、不確定等多變量的耦合系統(tǒng)。生物發(fā)酵受發(fā)酵罐溫度,發(fā)酵液的PH值,罐壓,溶解氧(DO)等因素的影響。如采用單一控制器,那么硬件電路的設(shè)計(jì)復(fù)雜,控制任務(wù)多,加重可處理器負(fù)荷,降低運(yùn)算速度。同時(shí)任務(wù)間耦合使得軟件程序的編制非常復(fù)雜。經(jīng)綜合考慮后,本系統(tǒng)采用上下位機(jī)模式設(shè)計(jì),上位機(jī)(S3C2410)移植了嵌入式Linux操作系統(tǒng)以及MiniGUI實(shí)現(xiàn)友好的人機(jī)交換界面,在線實(shí)時(shí)數(shù)據(jù)處理,數(shù)據(jù)備份;下位機(jī)(S3C44BO)為發(fā)酵系統(tǒng)控制器主要完成數(shù)據(jù)采集、數(shù)字濾波、控制器計(jì)算、數(shù)字量輸出以。上下與位機(jī)通信采用先進(jìn)的快速的現(xiàn)場(chǎng)總線—CAN總線。系統(tǒng)層次分明,分工明確,各司其職。如圖1為總的系統(tǒng)框圖。
嵌入式處理器S3C2410A是韓國(guó)SamSung公司的一款基于ARM920T內(nèi)核的16/32位RISC嵌入式微處理器,其內(nèi)核頻率可達(dá)200~266 MHz,片上資源非常豐富,可以簡(jiǎn)化外圍電路設(shè)計(jì),降低功耗。其低廉的價(jià)格、豐富的外設(shè)資源(PWM,8通道10位精度ADC,4通道DMA控制器,I2C,SPI, 24位真彩LCD控制器,USB等)。通過(guò)擴(kuò)展外圍設(shè)備可滿(mǎn)足系統(tǒng)要求。
最小系統(tǒng)主要包括時(shí)鐘電路,電源電路,復(fù)位電路及存儲(chǔ)電路。時(shí)鐘電路為控制器及外設(shè)提供時(shí)鐘信號(hào)。電源設(shè)計(jì)采用兩片LM1117系列低壓差直流穩(wěn)壓芯片將5V的直流供電電源分別轉(zhuǎn)為1.8V和3.3V。復(fù)位電路采用可靠的看門(mén)狗復(fù)位。外擴(kuò)SDRAM用于存放執(zhí)行代碼和變量,擴(kuò)展NORFlash存儲(chǔ)器是使應(yīng)用程序可以直接在Flash內(nèi)運(yùn)行,加快運(yùn)行速度。
圖1 系統(tǒng)總體框圖
系統(tǒng)用到的通訊接口包括以太網(wǎng)接口,JTAG,USB,串口。使用以太網(wǎng)接口從宿主機(jī)高速下載內(nèi)核有和文件系統(tǒng)映像。采用CS8900A以太網(wǎng)控制器,掛在S3C2410A的數(shù)據(jù)和地址總線上進(jìn)行擴(kuò)展。JTAG在系統(tǒng)中主要是用來(lái)程序的在線調(diào)試,以及U-Boot程序的燒寫(xiě)。USB接口用來(lái)外接U盤(pán)進(jìn)行數(shù)據(jù)備份,防止數(shù)據(jù)因掉電丟失。
S3C2410A有專(zhuān)門(mén)的LCD控制器,通過(guò)總線驅(qū)動(dòng)芯片給LCD提供信號(hào)。本系統(tǒng)采用了電阻式觸摸屏。電阻式觸摸屏安裝在LCD上,工作的實(shí)質(zhì)是對(duì)X、Y兩個(gè)方向電阻分壓的測(cè)量, S3C2410片內(nèi)集成了觸摸屏控制器,用于控制四線電阻式觸摸屏,按順序完成X坐標(biāo)點(diǎn)采集和Y坐標(biāo)點(diǎn)采集。從而實(shí)現(xiàn)人機(jī)交互。
CAN收發(fā)器選擇SJA1000高速收發(fā)器。為了進(jìn)一步提高系統(tǒng)的抗干擾能力,S3C2410與收發(fā)器SJA1000通過(guò)高速光耦6N137后與SJA1000相連。而且光耦部分電路所采用的兩個(gè)電源必須完全隔離;否則光耦也就失去了意義;所以電路增加了DC-DC電源隔離模塊。CAN_H接總線的高電平端;CAN_L接總線的低電平端。在CAN總線的兩端加有個(gè)120Ω的電阻;這個(gè)電阻對(duì)于總線阻抗的匹配起著相當(dāng)重要的作用。
本設(shè)計(jì)選用的S3C44B0是SamSung公司新推出的一款功能強(qiáng)大的超低功耗的具有ARM7TDMI內(nèi)核的32位微控制器。兩個(gè)32位定時(shí)器、八路10位ADC、四路CAN通道和PWM通道以及多達(dá)九個(gè)的外部中斷,內(nèi)部嵌入256K字節(jié)高速Flash存儲(chǔ)器和16K字節(jié)靜態(tài)RAM,等。豐富的片上資源完全可以滿(mǎn)足一般的工業(yè)控制的需要,同時(shí)還可以減少系統(tǒng)硬件設(shè)計(jì)的復(fù)雜度。作為本設(shè)計(jì)的核心部件,S3C44B0不僅擔(dān)起智能控制器的作用,同時(shí)還作為CAN的節(jié)點(diǎn)控制器,與上位機(jī)實(shí)現(xiàn)數(shù)據(jù)傳輸與交換。
密閉式循環(huán)水浴溫控系統(tǒng),進(jìn)水經(jīng)過(guò)補(bǔ)水閥進(jìn)入加熱室經(jīng)可控硅電加熱,熱水流入發(fā)酵罐外壁夾套(這樣可以使發(fā)酵罐受熱均勻),夾套中冷水再進(jìn)入加熱室加熱循環(huán)利用。采用進(jìn)口PT100溫度電極對(duì)溫度信號(hào)采集,利用智能PID控制電加熱過(guò)程既保證了溫控的快速性又實(shí)現(xiàn)了節(jié)能過(guò)壓保護(hù),并進(jìn)行過(guò)熱保護(hù)及液位監(jiān)測(cè)。上位機(jī)實(shí)時(shí)顯示溫度,及給定溫度的設(shè)置。
圖2 發(fā)酵系統(tǒng)簡(jiǎn)單示意圖
采用梅特勒pH電極、變送器及信號(hào)傳輸線由下位機(jī)對(duì)發(fā)酵液pH進(jìn)行檢測(cè)并完成實(shí)時(shí)數(shù)據(jù)發(fā)送,下位機(jī)利用智能控制算法控制蠕動(dòng)泵自動(dòng)添加酸、堿來(lái)實(shí)現(xiàn)精確控制pH。上位機(jī)界面實(shí)現(xiàn)功能手動(dòng)、關(guān)閉、自動(dòng)三檔切換、PH值曲線、加酸、加堿量曲線、酸、堿加入量累計(jì)顯示記錄。
下位機(jī)采用梅特勒DO電極、變送器及信號(hào)傳輸線對(duì)DO檢測(cè),可通過(guò)轉(zhuǎn)速、補(bǔ)料、氣流量壓力等進(jìn)行聯(lián)動(dòng)控制,智能PID控制來(lái)控制攪拌轉(zhuǎn)速,空氣流量,使溶解氧這個(gè)以往較難控制的參數(shù),也達(dá)到了很理想的控制效果。上位機(jī)實(shí)DO值給定設(shè)置,實(shí)時(shí)顯示,DO值曲線[4]。
直流電機(jī)帶動(dòng)發(fā)酵專(zhuān)用標(biāo)準(zhǔn)槳以及消泡槳來(lái)完成攪拌系統(tǒng)設(shè)計(jì)。采用PI全數(shù)字化閉環(huán)電機(jī)轉(zhuǎn)速自動(dòng)調(diào)速。
系統(tǒng)中使用了多個(gè)蠕動(dòng)泵完成消泡劑的注入,原料補(bǔ)給等,蠕動(dòng)泵流量和轉(zhuǎn)速是一個(gè)線形的恒定關(guān)系(即流量由電動(dòng)機(jī)轉(zhuǎn)速?zèng)Q定),本系統(tǒng)采用步進(jìn)電機(jī)控制蠕動(dòng)泵從而更好地控制流量。PWM脈沖輸出的頻率決定步進(jìn)電機(jī)的轉(zhuǎn)速?gòu)亩鴽Q定蠕動(dòng)泵的流量。
4.1.1 操作系統(tǒng)選擇
綜合比較Window CE,VxWorks,uc/OS,Linux等幾種操作系統(tǒng)??紤]開(kāi)發(fā)成本,本系統(tǒng)選Linux,Linux的源代碼是開(kāi)放的, 內(nèi)核可以定制的,其系統(tǒng)內(nèi)核最小只有約134kB。具有良好的可移植性,人們已成功使Linux運(yùn)行于數(shù)百種硬件平臺(tái)之上。
4.1.2 數(shù)據(jù)庫(kù)選擇
本系統(tǒng)中涉及大量數(shù)據(jù)的儲(chǔ)存和操作,因此選擇一個(gè)合適的數(shù)據(jù)庫(kù)非產(chǎn)重要??紤]在嵌入式系統(tǒng)中由于軟硬件資源有限,不可能安裝龐大的數(shù)據(jù)庫(kù)(如Oracle)。本系統(tǒng)選用嵌入式數(shù)據(jù)庫(kù)SQLite,SQLite是一個(gè)小型嵌入式數(shù)據(jù)庫(kù)。它是可以較為方便地應(yīng)用于嵌入式系統(tǒng)中。其源代碼完全開(kāi)放,程序員直接在應(yīng)用程序進(jìn)程中利用C/C++程序調(diào)用相應(yīng)的API來(lái)數(shù)接口來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的管理[5]。
4.1.3 圖形用戶(hù)界面
MiniGUI是一個(gè)面向?qū)崟r(shí)嵌入式系統(tǒng)或者實(shí)時(shí)系統(tǒng)的輕量級(jí)圖形用戶(hù)界面支持系統(tǒng),是我國(guó)為數(shù)不多的在國(guó)際比較知名自由軟件之一。MiniGUI遵循GPL條款發(fā)布,發(fā)展到今天,MiniGUI已進(jìn)入成熟和穩(wěn)定階段,已經(jīng)在各領(lǐng)域(如工業(yè)控制系統(tǒng)及工業(yè)儀表,機(jī)頂盒等)得到廣泛應(yīng)用。
4.1.4 系統(tǒng)移植
本部分完成系統(tǒng)平臺(tái)的搭建,主要流程:首先在宿主機(jī)(PC)上建立交叉編譯環(huán)境(即在主機(jī)上完成可在目標(biāo)機(jī)上運(yùn)行的程序的開(kāi)發(fā)),然后是Bootloader的移植,本系統(tǒng)采用U-Boot(完成系統(tǒng)的啟動(dòng),初始化硬件平臺(tái),實(shí)現(xiàn)內(nèi)核映像,根文件系統(tǒng)映像的下載),再次是系統(tǒng)內(nèi)核的定制,涉及到LCD,觸摸屏,CAN總線,SD卡驅(qū)動(dòng)程序的設(shè)計(jì)。最后是制作根文件系統(tǒng),根文件系統(tǒng)包括所有的應(yīng)用程序,設(shè)備文件,系統(tǒng)配置文件,庫(kù)(MiniGUI庫(kù),SQlite)等。
圖3 上位機(jī)軟件配置圖
4.1.5 應(yīng)用程序
應(yīng)用程序所需要完成的功能主要分為:數(shù)據(jù)的接收、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)顯示和數(shù)據(jù)傳輸。
數(shù)據(jù)通信:通過(guò)CAN接受由下位機(jī)發(fā)送過(guò)來(lái)的環(huán)境境參數(shù)數(shù)據(jù)(溫度,PH,DO,轉(zhuǎn)速)。將上位機(jī)設(shè)置參數(shù),指令傳遞給下位機(jī)。
數(shù)據(jù)存儲(chǔ):將數(shù)據(jù)通過(guò)USB接口傳輸?shù)経盤(pán)中機(jī)備份上,避免由于斷電造成的大量數(shù)據(jù)丟失。
數(shù)據(jù)顯示:主要是由MiniGUI實(shí)現(xiàn)的操作,包括將數(shù)據(jù)可視化地顯示出來(lái),以及對(duì)于系統(tǒng)參數(shù)的設(shè)置等。
下位機(jī)完成溫度,PH,DO,轉(zhuǎn)速,罐壓信號(hào)的數(shù)據(jù)采集,數(shù)據(jù)濾波,設(shè)計(jì)控制算法控制相應(yīng)裝置動(dòng)作,并將數(shù)據(jù)通過(guò)CAN總線發(fā)送到上位機(jī)。
圖4 下位機(jī)主程序和中斷服務(wù)程序
本文詳細(xì)闡述了一種基于LINUX+ARM的新型生物發(fā)酵罐的設(shè)計(jì)。相對(duì)與傳統(tǒng)的PLC+觸摸屏來(lái)說(shuō)大大節(jié)約開(kāi)發(fā)成本,設(shè)計(jì)靈活多樣,可移植性強(qiáng)。但由于LINUX的實(shí)時(shí)性不是很好。因此對(duì)硬件電路的設(shè)計(jì)要求較高。在有充裕的研發(fā)投入的條件下,可以考慮實(shí)時(shí)性,圖形界面更好的WINCE操作系統(tǒng)。
[1] 馬忠梅,等.ARM&Linux嵌入式系統(tǒng)教程[M].北京:北京航天航空大學(xué)出版社,2004.
[2] 曹吉花,郭煥銀,黃理軍.可編程控制器在啤酒發(fā)酵溫度控制中的應(yīng)用[J].控制系統(tǒng),2009,3.
[3] 張光新,啤酒生產(chǎn)過(guò)程的全自動(dòng)控制及其應(yīng)用研究[D].浙江大學(xué),2002.
[4] 南忠良,等.微生物發(fā)酵過(guò)程環(huán)境控制系統(tǒng)的研究[J].天津輕工業(yè)學(xué)院學(xué)報(bào),2002,9.
[5] 楊永清,等.ARM嵌入式Linux系統(tǒng)開(kāi)發(fā)技術(shù)[M].北京:電子工業(yè)出版社,2008.