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