引 言
電容傳感器 [1] 是一種可以把被測物理量及其變化規(guī)律轉(zhuǎn)變?yōu)殡娙萘考半娙萘孔兓?guī)律的電子元件,且其具有結(jié)構(gòu)簡單、靈敏度高、動態(tài)響應(yīng)特性好、適應(yīng)性強(qiáng)、抗過載能力大及價格低廉等特點。因此,電容傳感器常被應(yīng)用于醫(yī)療衛(wèi)生、工業(yè)生產(chǎn)、食品加工、汽車行業(yè)、觸摸屏、液體參數(shù)測量等領(lǐng)域。在液體測量方面,其突出優(yōu)點是可以對被測物體進(jìn)行非接觸測量 [2],避免測量過程中由于對溶液的接觸而產(chǎn)生誤差,提升測量精確度。
液體濃度是實際生產(chǎn)和教學(xué)實驗中的一個重要參量。在農(nóng)業(yè)中,農(nóng)藥濃度的測量必不可少,農(nóng)藥濃度對農(nóng)作物的生長起著至關(guān)重要的作用 ;在化工業(yè)中,造紙過程中的紙漿濃度、石油等物質(zhì)的含水量測量都需要測量精確的溶液濃度數(shù)值 ;在醫(yī)療領(lǐng)域,藥品生產(chǎn)、臨床藥品等需要配制一定濃度的藥物以起到最佳治療效果。目前,液體濃度的測量方法主要有旋光度法、固定體積和壓差試密度測量等。傳統(tǒng)的旋光度法需用到旋光儀,操作簡單,但成本高,且旋光度測定值 α 引入的不確定度主要與測量的重復(fù)性和旋光儀的校準(zhǔn)相關(guān), 易產(chǎn)生不穩(wěn)定的誤差 [3]。固定體積法通過測量對應(yīng)的質(zhì)量來計算液體濃度,壓差式采用力敏器件來測定待測液體在兩個不同高度下所產(chǎn)生的壓力差,進(jìn)一步給出液體濃度。但這兩種方法在測量濃度過程中需要接觸液體,會對液體產(chǎn)生污染, 引起誤差,同時由于實驗儀器易受腐蝕,導(dǎo)致測量的溶液類型受到限制[4]。
本文結(jié)合上述方法的利弊,提出了一種液體濃度非接觸式測量方法,采用電極板裝置和運算模塊組成檢測部分,加以單片機(jī)控制技術(shù)和相應(yīng)的軟件編程,利用溶液濃度不同可影響電解質(zhì)改變介電常數(shù)這一物理特性,通過電容傳感器測得瞬時電容值,從而得到被測溶液的介電常數(shù),進(jìn)而得到被測溶液的濃度。實現(xiàn)了在不接觸溶液、不對溶液產(chǎn)生其他污染的情況下快速、精確地測量溶液濃度。這種方法可以用于多種溶液濃度的測量與檢驗,并且不易受被測溶液類型的限制,具有廣闊的市場開發(fā)和應(yīng)用前景。產(chǎn)品應(yīng)用領(lǐng)域如圖 1 所示。
1 系統(tǒng)結(jié)構(gòu)
1.1 系統(tǒng)綜述
該濃度測量系統(tǒng)是由高精度的電容傳感器、電容檢測電路、單片機(jī)處理電路以及顯示電路組成,主要功能是通過對液體濃度值的采集,最終把濃度值轉(zhuǎn)化成電容值,通過采集電容值來間接測量液體濃度值。
測量系統(tǒng)框圖如圖 2 所示,當(dāng)把裝有定量液體的容器放置在平面電容極板上時,傳感器上的電容值會發(fā)生變化,由電容轉(zhuǎn)換芯片 FDC2214 準(zhǔn)確測量此時的電容值,并將其保存在內(nèi)部寄存器中,然后通過 I2C 接口方式將數(shù)據(jù)傳送至單片機(jī) STM32F103 中,最后經(jīng)單片機(jī)適當(dāng)處理后,將結(jié)果通過 OLED 模塊顯示。
圖 2 系統(tǒng)測量框圖
從功能上劃分,本系統(tǒng)由數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、MCU 主控單元以及顯示模塊構(gòu)成,在調(diào)試部分,還會用到串口。其中數(shù)據(jù)采集部分主要由傳感器完成,單片機(jī)用來驅(qū)動電容傳感器并接收來自電容傳感器的數(shù)據(jù),通過串口調(diào)試將接收到的數(shù)據(jù)發(fā)送到PC 端。通過數(shù)據(jù)收集,總結(jié)變化規(guī)律, 將結(jié)論應(yīng)用于單片機(jī)以計算濃度值,最后由 OLED 顯示模塊顯示。系統(tǒng)運行如圖 3 所示。
圖 3 系統(tǒng)運行圖
1.2 系統(tǒng)的軟硬件設(shè)計
本項目研制的溶液濃度電容檢測系統(tǒng)由軟硬件結(jié)合的系統(tǒng)組件構(gòu)成,硬件部分包括 FDC2214 電容檢測電路、OLED 顯示模塊電路、STM32F103 最小系統(tǒng)電路。軟件部分通過程序控制進(jìn)行傳感器測量、CPU 計算及顯示。
1.2.1 FDC2214 電容檢測電路的設(shè)計
FDC2214 是 TI 公司新近推出的產(chǎn)品,采用電容式傳感, 擁有低功耗、高分辨率、非接觸式感測等優(yōu)點。采用抗電磁干擾架構(gòu)可對噪聲和干擾進(jìn)行高度抑制。擁有 4 條傳輸通道,每條通道的最高傳輸速率達(dá) 13.3 Kb/s,在 10 kHz 頻率,1 mHz 電感的理想條件下最大輸入電容為 250 nF,采用 I2C通信協(xié)議進(jìn)行信號傳輸,分辨率最大為 28 位。
FDC2214 前端由諧振電路驅(qū)動器組成,在芯片每個檢測通道的輸入端連接一個電感器和電容器組成 LC 電路,被測電容傳感端與 LC 電路相連接,所產(chǎn)生的振蕩頻率為 fS,后面跟著一個多路復(fù)用器,其依次通過主動通道,將各通道連接到測量數(shù)字化傳感器頻率的核心Core。該內(nèi)核使用參考頻率 fREF 來測量傳感器頻率。fREF 來源于內(nèi)部參考時鐘(振蕩器) 或外部提供的時鐘。每個通道的數(shù)字化輸出是成比例的,將其值設(shè)為 DAXA。I2C 接口用于支持設(shè)備配置和傳輸數(shù)字化DAXA 給 STM32 主處理器。
根據(jù)式(1)可得出所測頻率值 :
式中 L,C 為輸入端連接的電感值和電容值,在本次設(shè)計中, L=18 μH,C=33 pF[6]。測量電路如圖 4 所示,原理如圖 5 所示,PCB 圖如圖 6所示。
1.2.2 OLED 顯示模塊電路的設(shè)計
OLED 即 有 機(jī) 發(fā) 光 二 極 管(Organic Light-Emitting Diode),OLED由于同時具備自發(fā)光、無需背光源、對比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡單等優(yōu)異特性,被認(rèn)為是下一代平面顯示器新興應(yīng)用技術(shù)。而正是在這樣的條件下,基于單片機(jī)的 OLED 顯示終端也逐漸被大眾所接受并運用 [5]。
對于基于單片機(jī)的 OLED顯示終端而言,它有著很多硬件模塊,例如單片機(jī)、顯示模塊以及通信電路等。本文使用一個 STM32F103系列的單片機(jī)作為一個基于單片機(jī) OLED 顯示終端的核心硬件,該型號的單片機(jī)能夠滿足從最低配置到OLED顯示終端對單片機(jī)性能的要求。由于選取OLED的接口為 I2C,所以我們選用單片機(jī)的一組 I/O模擬 I2C的工作模式即可滿足顯示需求。顯示模塊連接如圖 7所示,實物如圖 8 所示。
1.2.3 STM32F103 最小系統(tǒng)電路的設(shè)計
STM32F103RCT6 是 ST 公司專為要求高性能、低成本、低功耗嵌入式應(yīng)用設(shè)計的 ARMCortex-M3內(nèi)核的 32位處理器產(chǎn)品 [7],內(nèi)置 128KBFLASH,20KBRAM,12位 A/D, 4 個 16位定時器和 3路 USART等資源,時鐘頻率最高可達(dá)72MHz,是同類產(chǎn)品中性能最高的產(chǎn)品 [8-9]。單片機(jī)電路如圖 9 所示。
1.2.4 軟件設(shè)計
系統(tǒng)上電后首先執(zhí)行復(fù)位操作,然后通過嵌入式軟件對FDC2214 執(zhí)行復(fù)位操作,通過 I2C 總線傳輸來配置 FDC221 的各參數(shù),完成系統(tǒng)配置之后啟動系統(tǒng),電容傳感器把采集的液體濃度數(shù)值轉(zhuǎn)換為電容值,保存到內(nèi)部寄存器中,然后通過相應(yīng)指令,采用 I2C 總線傳輸方式把FDC2214 保存的電容值發(fā)送到單片機(jī) STM32F103 中,最后經(jīng)單片機(jī)進(jìn)行數(shù)據(jù)處理,將得到的液體濃度值顯示到 OLED 屏上,完成測量。軟件流程如圖 10 所示。
2 系統(tǒng)調(diào)試與測試
考慮到影響該電容式傳感器的干擾因素較多,在分模塊調(diào)試完畢后進(jìn)行系統(tǒng)整體測試。
(1)在測試過程中需要不斷實驗,反復(fù)對比數(shù)據(jù)。取一定濃度梯度的乙醇溶液作為實驗樣品(濃度在 0% ~ 100% 之間,每 10% 作為一個梯度),通過控制體積、溫度、時間等,將濃度作為變量進(jìn)行測量,測得的溶液電容值見表 1。
表格數(shù)據(jù)是以 100 個數(shù)據(jù)為采樣點的平均值,以 10% 遞增的酒精溶液濃度對應(yīng)酒精平均電容值。
(2)根據(jù)表中數(shù)據(jù)進(jìn)行數(shù)學(xué)分析,并建立方程。利用Matlab 得到以下擬合函數(shù) :
一次擬合曲線 :y=-0.236 7*x+1.038 3 ;
二次擬合曲線 :y=0.162 3*x*x-0.399 0*x+1.068 1 ;
三次擬合曲線 :y=-0.479 8*x*x*x+0.882 0*x*x-0.702 2*x+1.099 8。
一次擬合曲線與實際數(shù)據(jù)的平均誤差為 0.03 ;
二次擬合曲線與實際數(shù)據(jù)的平均誤差為 0.03 ;三次擬合曲線與實際數(shù)據(jù)的平均誤差為 0.02。由實驗數(shù)據(jù)可得,隨著酒精濃度的增加,酒精溶液的電容總體呈下降趨勢。
(3)誤差分析
在單片機(jī)中進(jìn)行編程,完成濃度測量裝置的初始化,進(jìn)行驗證,數(shù)據(jù)見表 2,可以發(fā)現(xiàn)本系統(tǒng)在以下測試中最大誤差不超過 0.005。
3 結(jié) 語
液體濃度是實際生產(chǎn)和教學(xué)實驗中的一個重要參量。本實驗利用電介質(zhì)變化引起的電容變化,再利用溶液濃度與電介質(zhì)之間的關(guān)系,快速、準(zhǔn)確地測算出待測溶液的濃度,實現(xiàn)非接觸式的溶液濃度測量,降低對溶液的污染。
在實際的單片機(jī)控制系統(tǒng)中,有時候會使用數(shù)字邏輯芯片對單片機(jī)和受控元件進(jìn)行隔離,以保護(hù)單片機(jī),或者令單片機(jī)更好地對后級進(jìn)行控制。
關(guān)鍵字: 單片機(jī) 數(shù)字邏輯芯片 受控元件