李 芃
(銅陵學院,安徽 銅陵 244000)
pH值[1]是氫離子濃度的一種表示方式,是衡量水溶液中氫離子與氫氧化物離子相對量的一項指標。常用的測量pH值的方法包括石蕊試紙指示器與玻璃探針,其中石蕊試紙指示器實現(xiàn)簡單,但可靠性較差,被測試溶液中的雜質(zhì)與溫度都會引起測量誤差;pH測量探針由玻璃測量電極與參考電極組成,類似電池,將探針置于溶液中,測量電極產(chǎn)生一個電壓,該電壓的大小與溶液中氫離子的活性相關。將該電壓與參考電極的電位相比較:當溶液的酸性增強,pH值降低,玻璃測量電極相對于參考電極陽性增強;當溶液的堿性增強,pH值升高,玻璃測量電極相對于參考電極陰性增強。兩個電極的差值即為測得電位,在理想情況下,室溫時每pH單位對應59.154 mV。
現(xiàn)有的研究[2-4]提出了基于PC端、移動端與無線方式的pH值測量系統(tǒng)方案,但都沒有就提高測量系統(tǒng)可靠性展開討論。本文在現(xiàn)有研究思路[5-10]的基礎上從軟硬件措施提高測量系統(tǒng)的可靠性,主要包括pH探針的緩沖器電路、RTD電路、數(shù)字隔離、光纖隔離、VF變換、輸入保護電路等,提高了測量系統(tǒng)的可靠性。應用了AD8607、AD7124等進一步降低測量前端電路的功耗。同時預留了一路4-20mA電流輸出,拓展了測量系統(tǒng)的應用場合。
pH測量系統(tǒng)包括pH探針、緩沖保護電路、AD采樣電路、數(shù)字隔離電路、MCU電路、光纖串口電路、V/I電路等,如圖1所示。pH探針生產(chǎn)的電壓信號通過緩沖保護電路傳輸給AD進行采樣,同時RTD產(chǎn)生的電壓信號也傳輸給AD進行轉(zhuǎn)換,經(jīng)過數(shù)字隔離發(fā)送給MCU進行溫度補償計算出pH值,計算出的結(jié)果通過光纖串口電路可靠地發(fā)送給上位機顯示,為了拓展到現(xiàn)場應用場合,基于D/A、V/I電路轉(zhuǎn)換成4-20mA電流信號供現(xiàn)場應用。
圖1 測量系統(tǒng)結(jié)構(gòu)圖
典型的pH探針電極由玻璃制成,具有較大的電阻值,范圍從1 MΩ到1 GΩ,作為與pH電壓源串聯(lián)的電阻,由于電阻較大,即使流過的電流很小也會產(chǎn)生較大的壓降,尤其是測量電極部分,導致測得的電壓數(shù)值降低。由于測量電極產(chǎn)生的毫伏級電壓差很小,電阻上的壓降會影響測量的準確性。為了使探針電阻與后續(xù)電路隔離,需要一個高輸入阻抗,超低輸入偏置電流的緩沖放大器。本文采用精密微功耗低噪聲的CMOS運算放大器AD8607,典型輸入偏置電流為0.2 pA,最大功耗50 μA,噪聲22 nV/√Hz。以25℃室溫,電阻為1 G歐姆探針為例,0.2 pA典型輸入偏置電流的失調(diào)誤差為0.2 mV,即0.00338pH,AD8607的最大偏置電流為1 pA,此時的失調(diào)誤差也只有1 mV,0.0169 pH。AD8607的低輸入電流可以最大限度地減少流過電極電阻的偏置電流所產(chǎn)生的電壓誤差??紤]到輸入端可能會發(fā)生的過壓情況,接入限流串聯(lián)電阻進行保護,為了確保有效保護,電流應該限制在5 mA以下,限流電阻的取值可以通過下面的計算式確定:(VIN-VS)/(R1+200)≤5 mA。
圖2 pH測量電路示意圖
本文應用AD7124的兩條通道,一路通道用于測量pH探針電極產(chǎn)生的小電壓值,另一路通道用于測量RTD上產(chǎn)生的電壓值,RTD阻值隨著溫度的變化而變化,在溫度區(qū)間內(nèi)的響應幾乎呈線性。RTD包括兩線/三線/四線三種連接方式,若采用兩線連接,無法消除ADC恒流源的穩(wěn)定性以及輸入運放的輸入阻抗和偏置電流帶來的誤差。本文采用四線制連接方式,如圖2所示。四線制RTD測量需要一個激勵電流源,可以選用AD7124提供的兩個匹配電流源中的任何一個。RTD產(chǎn)生的低電平信號通過片內(nèi)PGA放大再通過ADC轉(zhuǎn)換為精密數(shù)字信號。以B類RTD為例,最高溫度時RTD產(chǎn)生電壓約156.85 mV,采樣電壓越接近采樣范圍,精度越高,設置PGA增益為16,此時RTD最大輸出電壓約2.5096 V。AD7124片內(nèi)激勵電源為500 uA,所以外部參考電阻取值5.11 kΩ。AD7124工作在雙極性差分模式時,RTD電阻計算如公式(1)所示。
以B類RTD為例,電阻變化為0.385 Ω/℃,溫度可以根據(jù)公式(2)計算。RTD傳遞函數(shù)即Callender-Van Dusen 公式,0℃以上應用公式(3),0℃以下應用公式(4),其中 A,B,C 為常數(shù)。
結(jié)合上述公式,得到溫度計算公式(5)。
該溫度計算公式可以較好的處理大于等于0℃的溫度,若要計算0℃以下溫度,需要使用最佳擬合多項式表達式,如公式(6)所示。
以環(huán)境溫度25℃為例,AD輸出11270065,根據(jù)公式(1)得到電阻為109.704 Ω,再根據(jù)公式(5)進行線性化,得到溫度24.921℃。以-25℃為例,AD輸出10757779,根據(jù)公式(1)得到電阻為90.200 Ω,再根據(jù)公式(6)進行線性化,得到溫度-24.982℃,精度較好。
3.3.1 信號傳輸隔離
常見的信號傳輸隔離方式如基于光耦的隔離、基于數(shù)字技術的隔離、電壓頻率變換等等。其中光耦合器通過LED產(chǎn)生光的方式進行工作,基于透明隔離柵傳導至光檢測器。
此種方式需要驅(qū)動電路、用于提供隔離工作電壓以驅(qū)動高壓端接口的單獨DC/DC變換等輔助電路,結(jié)果將導致工作電流與PCB面積的增大。與上述光耦隔離相比,數(shù)字隔離則是采用高速CMOS工藝設計集成空芯微變壓器,在工作電流與空間上都實現(xiàn)了優(yōu)化。以典型的5V工作電壓,-40℃至+125℃工作溫度為例,光耦隔離方式的每個通道至少需要4 mA電流,再考慮到工作溫度和電壓的變化,裕量問題等,每個隔離通道的吸電流提高到10 mA,結(jié)果使得同一SPI通信總線的高壓域工作電流達到10 mA,低壓域工作電流達到30 mA。本文選擇ADuM251N數(shù)字隔離器,采用了ADI公司的iCoupler技術,將高速CMOS與單芯片空芯變壓器技術融為一體,不用LED和光電二極管,不需要外部驅(qū)動器,在信號數(shù)據(jù)速率相當?shù)那闆r下,iCoupler器件的功耗只有光耦器件的1/10到1/6,在功耗方面具有明顯的優(yōu)勢,含有五個SPI接口隔離通道,還集成了用于驅(qū)動高壓端接口的DC/DC轉(zhuǎn)換器功能,減少了電路所需的元器件數(shù)量。
3.3.2 光纖通信隔離
來自微處理器的數(shù)據(jù)經(jīng)過max232轉(zhuǎn)換成TTL電平傳輸給光纖發(fā)送電路,以光信號形式發(fā)送。光纖接收器件把接收到的光信號轉(zhuǎn)換成TTL電平后經(jīng)過max232轉(zhuǎn)換為232電平傳輸給的RX引腳,實現(xiàn)了pH采樣數(shù)據(jù)傳輸?shù)墓饫w隔離。本文采用HFBR1414光纖發(fā)送器和HFBR2412光纖接收器,電路如圖3所示。HFBR1414內(nèi)部是一個LED發(fā)光二極管,LED是流控器件,需要驅(qū)動電路提供足夠的驅(qū)動電流進行工作。Data_in輸入信號輸入高電平,使得驅(qū)動芯片內(nèi)部的三極管導通,HFBR1414的LED不發(fā)光。反之,Data_in輸入信號輸入低電平,使得驅(qū)動芯片內(nèi)部的三極管截止,HFBR1414的LED發(fā)光。
圖3 光纖收發(fā)電路
3.3.3 AD輸入保護
AD的輸入過載一般發(fā)生在運放電軌遠大于最大輸入范圍時,如圖4所示,如果集成運放輸出趨向+15 V電軌,則連接至RFIN的保護二極管將開啟,運放將嘗試上拉RFIN節(jié)點。如果RFIN節(jié)點未通過強驅(qū)動器電路驅(qū)動,則REF節(jié)點的輸入電壓將升高,一旦電壓超過器件的擊穿電壓,AD可能受損。為了保護AD,引入肖特基二極管D1、D2,其正向?qū)妷旱?,能夠在AD內(nèi)部保護二極管作用前導通,將運放輸出鉗位在AD輸入范圍。如果內(nèi)部二極管部分開啟,肖特基二極管后的串聯(lián)電阻也有助于將電流限制在AD內(nèi)。需要注意的是,如果RFIN供電的基準電壓源沒有灌電流能力,可在RFIN端接入齊納二極管D3,以保證基準電壓不被過度拉高。我們也可以采用單電源電軌的方式解決過壓的問題。
圖4 AD輸入保護電路
測量系統(tǒng)上電復位,下位機程序開始運行:首先初始化(晶振、IO端口、串行口、AD等),程序進入循環(huán),等待接收到的命令:串口標志位表示有數(shù)據(jù)到來,在規(guī)定時間內(nèi)接收數(shù)據(jù),判斷數(shù)據(jù)是否正確,判斷數(shù)據(jù)接收正確后根據(jù)接收的標定命令做相應操作。AD采樣采用多次求均值方式,進行溫度補償計算,最后將pH值發(fā)送給上位機顯示輸出,流程圖如圖5所示。pH電極電位與溶液中的氫離子濃度如公式(7)所示,帶入各個常數(shù)項,得到公式(8)。公式(8)對溫度T求導,得到公式(9)。公式(9)包括三個部分,第一項表達了電極本身的屬性;第二項較為復雜,與被測溶液的溫度,溶液中氫離子的濃度等有關;第三項是斜率項。為了簡化問題,同時盡量提高測量的精度,采用分段測量法,在每個溫度節(jié)點測量電極電壓隨著pH值的變化,得到相應溫度節(jié)點下的數(shù)據(jù),根據(jù)最小二乘法[11-12]對數(shù)據(jù)進行線性擬合,得到溫度補償pH值計算公式如公式(10)所示。
串口通信不是可靠的通信方式,傳輸距離有限,易受干擾。前面從硬件方面著手提高通信的可靠性,軟件上應加入奇偶校驗、超時等措施防止通信出錯。程序流程如下,其中Do_Flag是數(shù)據(jù)接收成功標志位:
if串口接收到數(shù)據(jù),定義超時時間;
while超時時間未到或者數(shù)據(jù)沒有接收完畢,繼續(xù)接收數(shù)據(jù);
if數(shù)據(jù)接收錯誤,拋棄這部分數(shù)據(jù);
else Do_Flag置位表明數(shù)據(jù)接收成功;
圖5 下位機流程圖
圖6 基于Labview的pH測量上位機
基于Labview設計上位機應用程序,在Labview中利用VISA vis發(fā)送指令實現(xiàn)串口通信功能,上位機如圖6所示。VISA是上位機程序與串口數(shù)據(jù)之間的通道,是應用于Labview編程的標準IO應用程序接口,使用時需要安裝VISA驅(qū)動程序。主要包括VISA配置串口、VISA寫入、VISA讀取、VISA關閉等vis。程序步驟下:
(1)設定端口號、波特率、數(shù)據(jù)位、停止位、奇偶校驗位等,初始化端口。
(2)VISA讀取來自串口的信息。
為了保證上位機程序的可靠性,需要注意如下事項:
(1)串口傳送的一般是字符串型數(shù)據(jù),如果要傳輸數(shù)值數(shù)據(jù),需要先使用字符串/數(shù)值函數(shù)轉(zhuǎn)換為字符串后再進行串口發(fā)送。
(2)嵌入式系統(tǒng)硬件資源有限,所以串口配置、緩沖區(qū)設置、串口關閉等操作應放置在循環(huán)結(jié)構(gòu)外,降低內(nèi)存開銷,優(yōu)化程序。
(3)串口接收可能會出現(xiàn)數(shù)據(jù)為空或者不完整的現(xiàn)象。由于串口是底層硬件,數(shù)據(jù)從發(fā)送端到串口,再由串口到接收端需要時間。在緩沖區(qū)沒有完全接收到數(shù)據(jù)時進行讀取就會發(fā)生錯誤,建議在VISA讀取前設置延時,保證數(shù)據(jù)讀取的完整性。除此之外,也可能是因為接收緩沖區(qū)滿,但讀取程序沒有完成造成的幀丟失。可以通過設置流控制協(xié)調(diào)收發(fā)雙方,配置串口流控制接線端選擇XON/XOFF軟件流控制方式。發(fā)送XON設置RTS有效,接收XON檢測CTS有效;發(fā)送XOFF設置RTS無效,接收XOFF檢測CTS無效。接收緩沖區(qū)滿即發(fā)送XOFF說明接收方希望停止傳輸,停止發(fā)送。
pH探針、AD采樣實現(xiàn)了帶溫度補償?shù)膒H值測量,微處理器、串口光纖通信實現(xiàn)了上位機的顯示,基于V/F/V變換將pH電壓以光信號形式傳輸,保證了工業(yè)場合的可用性。為了提高系統(tǒng)的可靠性,引入了緩沖器網(wǎng)絡、RTD四線制、數(shù)字隔離、光纖隔離等措施。實驗測試表明,該系統(tǒng)安裝維護簡單,穩(wěn)定可靠,既適用于理化檢測實驗室環(huán)境的需求,又能夠滿足工業(yè)場合的應用需求,具有一定的使用價值。