黃 健
西京學(xué)院信息工程學(xué)院,陜西西安 710123
鹽水濃度檢測(cè)在水資源保護(hù)、食品加工、醫(yī)療衛(wèi)生等方面有廣泛應(yīng)用.常用的測(cè)量方法有比重計(jì)法和天平法等,近年來也出現(xiàn)了其他電子測(cè)量方法,如楊璇等[1]采用超聲波測(cè)量乙醇溶液密度,對(duì)回波信號(hào)進(jìn)行數(shù)據(jù)擬合分析,測(cè)量乙醇溶液密度;吳黎杰等[2]以聲速測(cè)量為基礎(chǔ),用曲面擬合算法測(cè)量鹽水質(zhì)量分?jǐn)?shù);張述仁等[3]用超聲波測(cè)量液體中的懸移物質(zhì)的質(zhì)量分?jǐn)?shù),并用蟻群算法進(jìn)行了反演,測(cè)量誤差最小達(dá)到10%.但是,這些方法均基于超聲波進(jìn)行測(cè)量,方法單一,且測(cè)量精度不高[4-7],如文獻(xiàn)[1]的測(cè)量精度達(dá)到1.2%,文獻(xiàn)[2]的測(cè)量誤差大于0.1%.同時(shí),算法需對(duì)大量數(shù)據(jù)進(jìn)行建模分析,算法復(fù)雜度較高,可靠性有待進(jìn)一步驗(yàn)證.為此,本研究提出一種新的鹽水質(zhì)量分?jǐn)?shù)測(cè)量方法,基于非接觸式電容感測(cè)技術(shù),用新型數(shù)字式電容傳感器FDC2214檢測(cè)鹽水液位和質(zhì)量分?jǐn)?shù)變化.將單面覆銅板插入鹽水中,銅板上的寄生電容會(huì)隨鹽水液位或質(zhì)量分?jǐn)?shù)的變化而變化.FDC2214傳感器能夠感知這種微弱變化,并將其轉(zhuǎn)換為28 bit的二進(jìn)制數(shù),再?gòu)募呻娐房偩€(inter-integrated circuit, IIC或I2C)接口輸出給微處理器.同時(shí),使用超聲波測(cè)量液位高度,得到被測(cè)液體的體積;使用高精度電子秤測(cè)量液體的質(zhì)量,進(jìn)而得到液體的比重,融合處理后最終得到輸出信號(hào)與鹽水質(zhì)量分?jǐn)?shù)的關(guān)系.
本研究設(shè)計(jì)的鹽水質(zhì)量分?jǐn)?shù)檢測(cè)系統(tǒng)框圖如圖1.其中,主控采用新型嵌入式微處理器STM32H743IIT6,該處理器基于Cortex-M7架構(gòu),主頻高達(dá)480 MHz,具有豐富的硬件配置和接口.微處理器STM32H743IIT6采用3.3 V的直流供電.
圖1 鹽水質(zhì)量分?jǐn)?shù)檢測(cè)系統(tǒng)設(shè)計(jì)框圖Fig.1 Design diagram of brine mass fraction detection system
將薄銅片插入鹽水中作為傳感器,F(xiàn)DC2214的通道1與其相連,檢測(cè)液體環(huán)境下銅片上的寄生電容值,并在內(nèi)部將其轉(zhuǎn)換為28 bit的二進(jìn)制數(shù),再用IIC接口傳送給微處理器STM32H743IIT6.電子秤模塊能夠準(zhǔn)確測(cè)量容器質(zhì)量,測(cè)量數(shù)據(jù)通過模數(shù)轉(zhuǎn)換(analog to digital converter, A/D)接口傳送給STM32H743IIT6微處理器進(jìn)行處理.超聲波測(cè)距模塊用于測(cè)量液位高度,測(cè)量結(jié)果通過串口傳送至STM32H743IIT6微處理器.采用C語言對(duì)微處理器編程,對(duì)采集到的數(shù)據(jù)進(jìn)行融合,處理結(jié)果通過串口傳輸給電腦或液晶屏.
電容計(jì)算公式為
(1)
其中,ε0為真空介電常數(shù),ε0=8.85×10-12F/m;A為一個(gè)板極的面積(單位:m2);d為板極之間的距離(單位:m);ε為相對(duì)于空氣的介電常數(shù)[14].常見介電質(zhì)的相對(duì)介電常數(shù)如表1.
表1 不同介質(zhì)的相對(duì)介電常數(shù)
由式(1)可見,電容容量與相對(duì)介質(zhì)常數(shù)ε、 板極的面積A成正比,與板極之間的距離d成反比.介質(zhì)變化(如鹽水質(zhì)量分?jǐn)?shù)變化)會(huì)引起ε的變化,從而引起C的變化[5-8].電容傳感器FDC2214能夠感知這種變化,并將其轉(zhuǎn)換為數(shù)字量輸出.FDC2214共有4個(gè)通道,標(biāo)號(hào)為通道0~3,對(duì)應(yīng)的數(shù)字輸出量為DATA0~DATA3,每個(gè)通道的工作原理都相同.以通道0為例,電容檢測(cè)的等效電路如圖2.
圖2 FDC2214通道0等效電路Fig.2 Equivalent circuit of channel 0 in FDC2214
圖2中,感知板1為單面覆銅板,裸露在空氣中,其值基本保持不變;感知板2是插入水中的單面覆銅板,當(dāng)液位或濃度發(fā)生變化時(shí),其值發(fā)生變化.感知板1和感知板2構(gòu)成目標(biāo)檢測(cè)傳感器,二者串聯(lián)后與電感L和電容C構(gòu)成振蕩電路,振蕩頻率fs和參考頻率fr分別為
(2)
(3)
其中,Cx為感知板1和感知板2的電容Cx1和Cx2串聯(lián)后的等效電容,C1為圖3中通道1的電容,C2為圖3中通道2的電容, 1/Cx=1/Cx1+1/Cx2;fclk為FDC2214傳感器的輸入頻率,本研究設(shè)fclk=40 MHz;ch0_sel是通道0的分頻系數(shù),通過軟件設(shè)置FDC2214內(nèi)部寄存器0X14來實(shí)現(xiàn)對(duì)fclk的分頻,本研究設(shè)置為二分頻.
由于Cx2的變化,會(huì)引起Cx變化,進(jìn)而引起fs的變化,而式(3)中的fr基本不變,因此,轉(zhuǎn)換后的28 bit二進(jìn)制數(shù)為
(4)
本研究設(shè)計(jì)的鹽水質(zhì)量分?jǐn)?shù)電容感測(cè)的原理圖如圖3.其中,F(xiàn)DC2214傳感器外接40 MHz有源晶振,可提高數(shù)據(jù)采集的速率.為增強(qiáng)鹽水質(zhì)量分?jǐn)?shù)測(cè)量系統(tǒng)的可靠性和實(shí)用性,需對(duì)所處環(huán)境進(jìn)行檢測(cè).FDC2214的通道0檢測(cè)當(dāng)前空氣環(huán)境下電容值,通道2檢測(cè)被測(cè)量液體的電容值,將其完全浸入液體中,并以這兩個(gè)測(cè)量值作為參考值.在實(shí)際測(cè)量中,若當(dāng)前環(huán)境未發(fā)生大的變化,則空氣環(huán)境下電容值和被測(cè)量液體的電容會(huì)基本保持不變.但若在不同的時(shí)間或季節(jié)進(jìn)行測(cè)量,溫度變化會(huì)令測(cè)量值發(fā)生微小變化,導(dǎo)致鹽水質(zhì)量分?jǐn)?shù)和電容感測(cè)值之間擬合曲線的函數(shù)關(guān)系也會(huì)略有變化.本研究正是基于此原因研究溫度對(duì)鹽水質(zhì)量分?jǐn)?shù)變化測(cè)量的影響.通道1連接一個(gè)單面覆銅板,將該覆銅板部分插入液體中,部分裸露在空氣中,當(dāng)液位發(fā)生變化時(shí),單面覆銅板上寄生電容的容量會(huì)發(fā)生變化.FDC2214傳感器敏銳的感知此變化,并將此變化轉(zhuǎn)換為28 bit的二進(jìn)制數(shù)字量,再通過IIC接口傳送給STM32H743IIT6微處理器.
圖3 鹽水質(zhì)量分?jǐn)?shù)電容感測(cè)原理圖Fig.3 Schematic diagram of capacitance sensing of brine mass fraction
稱重電路設(shè)計(jì)采用橋式壓力傳感器,如圖4.重物令壓力橋產(chǎn)生形變,導(dǎo)致電阻阻值發(fā)生變化,橋式傳感器產(chǎn)生電壓差并被傳送給24 bit A/D轉(zhuǎn)換器芯片HX711-BF,再經(jīng)內(nèi)部放大和轉(zhuǎn)換后傳送至微處理器STM32H743IIT6.稱重電路可檢測(cè)物體質(zhì)量,其中,橋式壓力傳感器測(cè)量精度為1 g.
圖4 橋式壓力傳感器電路圖Fig.4 Circuit diagram of bridge pressure sensor
HX711-BF模塊滿量程輸出電壓為激勵(lì)電壓與靈敏度的乘積.若供電電壓為5 V,靈敏度為1.0 mV/V,則滿量程為5 mV,相當(dāng)于有5 kg質(zhì)量產(chǎn)生5 mV的電壓.HX711-BF 模塊A通道帶有128倍信號(hào)增益,輸出24 bit A/D轉(zhuǎn)換后的值,而STM32H743IIT6微處理器通過A/D轉(zhuǎn)換接口將24 bit數(shù)據(jù)讀出,該過程可通過以下兩步驟進(jìn)行.
1)計(jì)算傳感器供電電壓.VCC為HX711-BF模塊的供電引腳電壓,GND為地線.設(shè)模塊基準(zhǔn)電壓VBG=1.265 V,R1=20.0 kΩ,R2=8.2 kΩ,則
VCC=VBG(R1+R2)/R2=4.3 V
(5)
2)將HX711-BF輸出的A/D轉(zhuǎn)換值轉(zhuǎn)換為質(zhì)量值.設(shè)橋式傳感器的量程小于5 kg,并假設(shè)壓力橋上的物體質(zhì)量為m(單位:kg),橋式傳感器將此質(zhì)量轉(zhuǎn)換為電壓.在將此電壓輸入H711-BF A/D轉(zhuǎn)換模塊,經(jīng)過內(nèi)部放大器放大128倍后,轉(zhuǎn)換成二進(jìn)制數(shù)字量.為便于計(jì)算此處用十進(jìn)制表示,即
(6)
則可得橋式傳感器上物體質(zhì)量為
m=D/(429.5×103)
(7)
串口超聲波測(cè)距模塊如圖5,采用5 V直流電壓供電,數(shù)據(jù)輸出引腳OUT可連接到STM32H743IIT6串口4的RXD引腳PC11.因此,接收到的數(shù)據(jù)幀格式為:0XFF+H_DATA+L_DATA+SUM. 其中,0XFF為起始字節(jié);H_DATA為測(cè)量數(shù)據(jù)的高8 bit;L_DATA為測(cè)量數(shù)據(jù)的低8 bit;SUM為8 bit的校驗(yàn)和[9-13].測(cè)量距離H(單位:mm)通過式(7)計(jì)算.測(cè)量精度達(dá)1 mm,測(cè)量范圍為2~3 500 mm.
H=H_DATA×256+L_DATA
(7)
圖5 串口超聲波模塊Fig.5 Serial port ultrasonic module
用C語言編寫程序,在KEIL MDK開發(fā)環(huán)境下編譯并調(diào)試通過后下載到微處理器STM32H743IIT6中.圖6為鹽水質(zhì)量分?jǐn)?shù)測(cè)量系統(tǒng)的軟件流程圖.首先,對(duì)STM32H743IIT6微處理器的串口、串行外設(shè)接口(serial peripheral interface, SPI)、IIC、A/D轉(zhuǎn)換采集接口和定時(shí)器等進(jìn)行初始化,并設(shè)置采集次數(shù).然后,判斷是否達(dá)到采集次數(shù),若沒有,則循環(huán)讀取超聲波測(cè)距、壓力橋和電容感測(cè)數(shù)據(jù),并對(duì)其進(jìn)行軟件濾波處理.若達(dá)到采集次數(shù),對(duì)所有數(shù)據(jù)進(jìn)行融合分析,得到鹽水質(zhì)量分?jǐn)?shù)值與電容感測(cè)值之間的函數(shù)關(guān)系(測(cè)試部分給出).最后,將實(shí)驗(yàn)得到的信息通過串口發(fā)送給電腦或顯示屏.
圖6 鹽水質(zhì)量分?jǐn)?shù)測(cè)量系統(tǒng)軟件流程圖Fig.6 Software flow chart of brine mass fraction measurement system
為降低誤差、提高測(cè)量精度,需對(duì)電容感測(cè)、壓力橋和超聲波測(cè)距的數(shù)值進(jìn)行均值濾波處理.本實(shí)驗(yàn)對(duì)每組數(shù)據(jù)均重復(fù)采集100次,再按升序排序,去掉最大值和最小值各20個(gè),將剩余數(shù)據(jù)的均值作為最終值.
圖7 鹽水質(zhì)量分?jǐn)?shù)電容感測(cè)量系統(tǒng)樣品Fig.7 Sample of brine mass fraction capacitance sensing measurement system
按上述原理設(shè)計(jì)硬件電路并編寫程序,調(diào)試后制作測(cè)試樣品,如圖7.其中,顯示屏幕為4.3 in(1 in=25.4 mm)RGB真彩屏;超聲波測(cè)距模塊放在玻璃容器正上方,用于測(cè)量液位高度.實(shí)驗(yàn)時(shí)將15.0 cm×10.5 cm的單面覆銅板一端插入液體中,另外一端裸露在空氣中.玻璃容器是帶刻度的圓形器皿,高21 cm,直徑為16 cm.
測(cè)試時(shí),每次按照表2配置好的不同質(zhì)量分?jǐn)?shù)的鹽水,倒入玻璃容器中,然后讀取超聲波測(cè)距、電容感測(cè)FDC2214和壓力傳感器HX711-BF的數(shù)據(jù).如表2.
表2 鹽水質(zhì)量分?jǐn)?shù)電容感測(cè)實(shí)驗(yàn)結(jié)果
由表2可見,隨著液位的增高,鹽水質(zhì)量增大,鹽水的質(zhì)量分?jǐn)?shù)亦逐漸增大,而電容感測(cè)值逐漸減小.為了得到準(zhǔn)確的鹽水質(zhì)量分?jǐn)?shù)和電容感測(cè)值之間的關(guān)系,繼續(xù)提升鹽水質(zhì)量分?jǐn)?shù),并記下測(cè)量值,并采用Matlab軟件對(duì)數(shù)據(jù)進(jìn)行擬合分析,結(jié)果如圖8.
圖8 鹽水質(zhì)量分?jǐn)?shù)和電容感測(cè)值之間擬合曲線圖Fig.8 Fitting curve between brine mass fraction and capacitance sensing value
由圖8可見,擬合曲線近似為直線,對(duì)應(yīng)函數(shù)關(guān)系為
C=-30.48w(鹽水)+22 330
(8)
其中,w鹽水為鹽水的質(zhì)量分?jǐn)?shù).可見,在保證液位保持不變的情況下,鹽水質(zhì)量分?jǐn)?shù)和電容感測(cè)測(cè)量值之間為較好的線性關(guān)系.實(shí)驗(yàn)中,為保證測(cè)量精度,用量程為500 g,精度為0.01 g的高精度電子秤測(cè)量鹽的質(zhì)量,用量程為100 mL的量杯盛裝水,準(zhǔn)確配置出不同質(zhì)量分?jǐn)?shù)的鹽水,將其加入圖7的大量杯中進(jìn)行測(cè)量.這樣配置的鹽水質(zhì)量分?jǐn)?shù)精度已超過0.1%.若要保證液位高度不變,則每次只需改變鹽的質(zhì)量,調(diào)整加水量,即改變鹽水質(zhì)量分?jǐn)?shù),再進(jìn)行測(cè)量.這種測(cè)量方法,可將整個(gè)系統(tǒng)的鹽水質(zhì)量分?jǐn)?shù)的測(cè)量精度提高到0.1%.
提出一種基于電容感測(cè)技術(shù)的鹽水質(zhì)量分?jǐn)?shù)測(cè)量方法,設(shè)計(jì)對(duì)應(yīng)的硬件電路和軟件,并制作出測(cè)試樣品.通過融合實(shí)測(cè)得到的液位高度和鹽水質(zhì)量信息,確定了鹽水質(zhì)量分?jǐn)?shù)和電容感測(cè)值之間的函數(shù)關(guān)系.相比簡(jiǎn)單的超聲波測(cè)量技術(shù),本研究測(cè)量方法的測(cè)量精度更高、抗干擾能力更強(qiáng).
深圳大學(xué)學(xué)報(bào)(理工版)2021年1期