于志強,溫志渝,謝瑛珂,周蘇怡
(1.國家級微納系統(tǒng)與新材料技術(shù)國際聯(lián)合研究中心,重慶 400044;2.重慶大學,新型微納器件與系統(tǒng)國家重點學科實驗室,重慶 400044)
水質(zhì)檢測是開展水資源環(huán)境保護與治理的基礎(chǔ),多參數(shù)水質(zhì)檢測是現(xiàn)代環(huán)境科學技術(shù)的重要發(fā)展方向之一[1]。多參數(shù)水質(zhì)檢測儀的控制系統(tǒng)設(shè)計是實現(xiàn)儀器智能化、自動化、網(wǎng)絡化的核心技術(shù)之一。多參數(shù)水質(zhì)檢測儀控制系統(tǒng)控制儀器各個單元有序地完成指定動作,是保證儀器穩(wěn)定運行和自動化測量的關(guān)鍵,具有重要的研究意義。
目前,多參數(shù)水質(zhì)檢測儀器控制系統(tǒng)大多基于PLC,該控制系統(tǒng)設(shè)計成熟、穩(wěn)定性高,但是價格昂貴,若采用此系統(tǒng)設(shè)計水質(zhì)檢測儀器控制系統(tǒng),會大幅提高成本,降低儀器競爭力[2]。近幾年,國內(nèi)一些科研單位提出了一些以單片機為核心的控制系統(tǒng),例如:重慶大學微系統(tǒng)中心研制的第一代多參數(shù)水質(zhì)檢測儀,該儀器的控制系統(tǒng)以S3C2410為核心,并以51單片機為輔助,對儀器進行控制[3];浙江大學研制的基于分光光度法的多參數(shù)水質(zhì)監(jiān)測儀,該儀器控制系統(tǒng)采用“工控機+單片機”的結(jié)構(gòu),以工控機為上位機對儀器進行控制[4]。這些控制系統(tǒng)雖然成本較低,但是,運行速度較低、平臺開發(fā)周期長且調(diào)試困難、系統(tǒng)穩(wěn)定性能欠佳、軟硬件升級困難。因此,本文提出了一種基于樹莓派的多參數(shù)水質(zhì)檢測儀控制系統(tǒng),該系統(tǒng)具有開發(fā)周期短、易升級、處理速度快、在線調(diào)試方便、運行穩(wěn)定等優(yōu)點,達到了實用化的要求。
多參數(shù)水質(zhì)檢測儀控制系統(tǒng)如圖1所示,系統(tǒng)以樹莓派作為中央控制單元,完成光源控制、光譜儀控制、流路系統(tǒng)控制(進樣控制、攪拌控制、清洗控制)等工作。控制系統(tǒng)里,我們使用樹莓派的UART對注射泵、多位閥進行控制,使用GPIO、PWM對步進電機/直流電機蠕動泵、三通閥、光源進行控制,使用USB控制光譜儀。在儀器進行水質(zhì)檢測時,首先,控制步進電機蠕動泵、注射泵進行抽推,配合多位閥進行管路切換,根據(jù)順序注射技術(shù)使待測水樣、測試用試劑、蒸餾水等多種液體高精度進樣到檢測室[5];然后,通過控制三通閥與直流電機蠕動泵,向檢測室鼓吹空氣,利用氣泡對檢測室中液體進行攪拌,加快其反應速度;然后打開光源,控制光譜儀采集光譜數(shù)據(jù),并將數(shù)據(jù)傳送到樹莓派進行光譜分析,得到某一特定水質(zhì)參數(shù)的含量;最后控制三通閥與直流電機蠕動泵排掉檢測室中液體,再控制注射泵、多位閥等完成檢測室的清洗工作,最終完成水質(zhì)參水檢測。
圖1 多參數(shù)水質(zhì)檢測儀控制系統(tǒng)
多參數(shù)水質(zhì)檢測儀控制系統(tǒng)的核心為樹莓派(Raspberry Pi),是一款基于 ARM11只有銀行卡大小的單板機計算機[6-8]。最新型號樹莓派B型(如圖2所示),提供了主頻700 MHz處理器、1080p解碼器、1個以太網(wǎng)接口、2個USB口和1個26針外圍設(shè)備接口。此外,樹莓派內(nèi)嵌基于Debian的Linux操作系統(tǒng),有著豐富的開源軟件資源,支持C、C++、Java、Python等語言,上市兩年來,在嵌入式開發(fā)領(lǐng)域發(fā)展迅猛。相對比傳統(tǒng)S2C24x0、S3C6410等嵌入式開發(fā)平臺,其在集成度、速度、價格、開發(fā)環(huán)境、效率上有明顯的優(yōu)勢。
圖2 樹莓派B版
多參數(shù)水質(zhì)檢測儀的光源為6 V/5 W的鹵鎢燈,在進行水質(zhì)參數(shù)測試時,打開光源,其他時間光源處于關(guān)閉狀態(tài)。設(shè)計光源的電源模塊,如圖3電路所示,該模塊的核心為LM2596開關(guān)電壓調(diào)節(jié)芯片,該芯片輸出電壓可調(diào),并具有使能引腳(5腳),當該引腳輸入為低電平時,芯片工作,輸出固定電壓。
電源模塊輸入電壓為24 V,調(diào)節(jié)電阻R1、R2的比值,可以得到鹵鎢燈所需的6 V電壓。輸出電壓的計算公式為
式中VREF=1.23 V
當R2/R1=3.88時,輸出電壓為6 V。
LM2596芯片的使能引腳與樹莓派的一個GPIO接口相連,通過該口電平控制LM2596電壓調(diào)節(jié)芯片輸出的開/關(guān)。一般情況下,該GPIO引腳被拉高到3.3 V,使電源模塊處于未工作狀態(tài),光源關(guān)閉。需要打開光源時,控制樹莓派使該GPIO口輸出低電平時,使能芯片,輸出6 V電壓。
圖3 光源電源模塊
多參數(shù)水質(zhì)檢測儀流路系統(tǒng)使用了4個微型直流電機、一個三通閥、1個步進電機,主要完成檢測室排廢、攪拌、進樣、管道切換等工作,需要控制系統(tǒng)控制這些部件適時的開關(guān)。由于微型直流電機與三通閥都是通過控制其上電與否來控制開/關(guān),并且,它們都是12 V供電,所以微型直流電機與三通閥采用同樣的控制電路(如圖4所示),利用樹莓派GPIO口控制微型直流電機與三通閥的開/關(guān)。
圖4 微型直流電機與三通閥控制電路
電路中,通過光耦隔離直流電機與三通閥開關(guān)瞬間產(chǎn)生的干擾,再經(jīng)反相施密特觸發(fā)器對光耦的輸出信號進行整形,最后利用達林頓管提高電路的負載能力。當樹莓派的GPIO口為低電平時,光耦輸出端導通,使得74HC04前級為低電平,輸出高電平,控制達林頓管輸出為低電平,在JP1兩個引腳上,形成12 V供電電壓對地回路,帶動微型直流電機或三通閥工作。反之,當GPIO為高電平時,JP1兩個引腳間,無導通回路,微型直流電機或三通閥停止工作。
步進電機自帶驅(qū)動板,提供控制接口,驅(qū)動電平為3.3 V TTL電平,該驅(qū)動接口與樹莓派直接相連,連接如圖5所示,驅(qū)動板EN為使能信號,高電平有效;DIR為轉(zhuǎn)動方向控制信號,高電平正轉(zhuǎn),低電平反轉(zhuǎn);STEP為轉(zhuǎn)動速度和轉(zhuǎn)動步數(shù)控制信號,該信號為周期的PWM信號,信號的頻率控制步進電機轉(zhuǎn)動速度,信號中脈沖的個數(shù)控制步進電機轉(zhuǎn)動步數(shù),信號中脈沖的占空比控制步進電機的驅(qū)動力。所以,控制步進電機,只需控制樹莓派GPIO腳的輸出即可。
圖5 步進電機連接圖
多參數(shù)水質(zhì)檢測儀流路系統(tǒng)包含注射泵、多位閥各一個,用以高精度抽樣和管路切換,這兩個部件均是通過串口來接收控制指令,且不能共用一個串口,但樹莓派只提供了一個串口,因此,需要進行串口拓展。此外,由于樹莓派串口電平為3.3 V TTL電平,而注射泵或多位閥能夠識別的電平為RS232電平,因此需要進行電平轉(zhuǎn)換。
注射泵與多位閥控制電路如圖6所示,其中,MAX3232實現(xiàn)3.3 V TTL電平到RS232電平的轉(zhuǎn)換;CD4052芯片實現(xiàn)串口拓展。CD4052芯片為二輸入獨立四通道數(shù)據(jù)選擇器,具有二進制控制引腳S0、S1,禁止輸入引腳E。AN、BN為公共通道,通過S0、S1狀態(tài),選擇一組導通通道與 AN、BN相連,如表1所示。本文將1個串口拓展成2個,因此只需要1個控制引腳S0,而將S1接地,使其一直處于低電平狀態(tài)。
圖6 多位閥與注射泵控制電路
表1 CD4052通道選擇真值表
當使用注射泵時,控制樹莓派GPIO0輸出高電平,使A1、B1分別與樹莓派TXD、RXD接口相連,同時,通過串口發(fā)送控制指令,驅(qū)動注射泵工作;同樣方法控制多位閥,區(qū)別在于此時控制樹莓派GPIO0輸出為低電平。
樹莓派不提供實時時鐘,需要外接RTC實時時鐘模塊,其電路如圖7所示。該模塊使用DS3231高精度時鐘芯片,該芯片能夠識別樹莓派3.3 V TTL電平,通過I2C接口(SCL、SDA)與樹莓派通信。
圖7 RTC實時時鐘電路
控制系統(tǒng)軟件設(shè)計是在硬件設(shè)計的基礎(chǔ)上實現(xiàn),主要包括樹莓派硬件驅(qū)動設(shè)計、控制軟件設(shè)計等。其中,樹莓派硬件驅(qū)動設(shè)計完成對樹莓派板載GPIO、UART、I2C等資源的驅(qū)動,是實現(xiàn)系統(tǒng)控制必不可少的一環(huán)。傳統(tǒng)的Linux驅(qū)動設(shè)計的方法為編寫驅(qū)動程序?qū)PU的GPIO寄存器進行操作,生成驅(qū)動模塊,再通過insmod命令加載該驅(qū)動模塊。這種設(shè)計方法的最大缺點在于寄存器編程復雜且調(diào)試周期長。而這兩年來,樹莓派在嵌入式領(lǐng)域發(fā)展迅猛,用于樹莓派平臺的各種集成庫層出不窮,包括 Python GPIO、wiringPi、BCM2835 C Library 等,這些集成庫提供了對樹莓派相關(guān)硬件資源的操作函數(shù),支持多種編程語言,利用這些集成庫進行驅(qū)動開發(fā)可以大大提高開發(fā)效率。此外,海量的開源軟件為控制軟件設(shè)計提供了平臺,進一步提高了樹莓派軟件開發(fā)的效率。
本文使用wiringPi集成庫控制樹莓派硬件資源,通過QT開發(fā)多參數(shù)水質(zhì)檢測儀控制軟件,并將wiringPi嵌入到控制軟件里,完成控制系統(tǒng)軟件設(shè)計。
wiringPi是應用于樹莓派平臺的GPIO控制庫函數(shù),使用C或者C++開發(fā),能夠控制樹莓派上提供的GPIO、UART、I2C、SPI等資源。wiringPi集成庫封裝了這些資源的控制函數(shù),安裝該集成庫后,可對樹莓派硬件驅(qū)動進行開發(fā),本文使用的庫函數(shù)如表2所示。
表2 wiringPi部分函數(shù)說明
通過表2中wiringPi庫函數(shù),能夠控制樹莓派GPIO口高低電平輸出/讀入、PWM信號輸出、串口輸出等,部分控制代碼如下:
使用上文RTC實時時鐘模塊,需要對樹莓派文件系統(tǒng)做適當修改,首先使能I2C模塊,編輯/etc/modules文件,添加以下兩行內(nèi)容:
然后,在樹莓派終端里輸入su,切換為root登錄,并執(zhí)行:
最后,將上面兩行代碼添加到/etc/rc.local文件“exit 0”行前。完成后重啟樹莓派,使用hwclock命令設(shè)置實時時鐘。
使用QT編程軟件,結(jié)合多參數(shù)水質(zhì)檢測儀測試流程,編寫帶有圖形用戶界面的控制軟件,以實現(xiàn)水質(zhì)參數(shù)的自動化測量??刂栖浖捎肅++語言編寫,其關(guān)鍵在于根據(jù)水參數(shù)測試流程對wiringPi函數(shù)進行調(diào)用(工作流程如圖8所示),實現(xiàn)對硬件系統(tǒng)的智能化控制,編寫的控制軟件如圖9所示。
圖8 wiringPi函數(shù)調(diào)用流程
圖9 控制軟件
將本文設(shè)計的控制系統(tǒng)應用到多參數(shù)水質(zhì)檢測儀上,經(jīng)過長時間試驗測試表明:系統(tǒng)硬件電路實現(xiàn)了對光源、步進電機、注射泵、多位閥等單元的控制,工作穩(wěn)定,抗干擾能力強;控制軟件完成了對樹莓派硬件的驅(qū)動且操作界面友好、響應速度快,結(jié)合控制系統(tǒng)硬件電路,實現(xiàn)了水質(zhì)參數(shù)的自動化測量。
本文介紹了多參數(shù)水質(zhì)檢測儀的儀器結(jié)構(gòu),在此基礎(chǔ)上設(shè)計了基于樹莓派的多參數(shù)水質(zhì)檢測儀控制系統(tǒng),該系統(tǒng)以樹莓派為核心,通過GPIO、I2C、UART、USB等接口實現(xiàn)對儀器各部分的控制,并利用樹莓派wiringPi集成庫進行應用開發(fā),編寫了控制軟件。該控制系統(tǒng)開發(fā)周期短、易升級、運行穩(wěn)定,增強了儀器的自動化程度,達到了實用化的要求。
[1]魏康林.基于微型光譜儀的多參數(shù)水質(zhì)檢測儀關(guān)鍵技術(shù)研究:[學位論文].重慶:重慶大學,2012.
[2]周小峰.基于ARM的多參數(shù)水質(zhì)檢測儀測控系統(tǒng)設(shè)計與實驗:[學位論文].重慶:重慶大學,2014.
[3]郭建.多參數(shù)水質(zhì)檢測儀測控系統(tǒng)設(shè)計與實驗:[學位論文].重慶:重慶大學,2012.
[4]呂楊華.基于分光光度計的多參數(shù)在線水質(zhì)監(jiān)測儀的研究與設(shè)計:[學位論文].杭州:浙江大學,2012.
[5]WEI K L,WEN Z Y.Research advances in water quality monitoring technology based on UV-Vis spectrum analysis.Spectroscopy and Spectral Analysis,2011,31(4):1074 -1077.
[6]RICHARDSON M,WALLACE S.Getting started with raspberry Pi[S.l.].Maker Media,2013.
[7]MEMBREY P,HOWS D.Learn raspberry Pi with linux[S.l.].APress,2013.
[8]DUDAS R,VANDENBUSSCHE C,BARAS A,et al.Inexpensive telecytology solutions that use the Raspberry Pi and the iPhone.Journal of the American Society of Cytopathology,2014(3):49 -55.