電容式傳感器一般是將被測量的變化量轉換為電容量的變化。目前,基于這種原理的各種類型的傳感器已在測量加速度、液位、幾何孔徑等方面得到了廣泛的應用。但以電容為變化量的傳感器(尤其是MEMS傳感器),其電容變化范同往往只有幾個pF,甚至幾個fF。這便對電容檢測的精度提出了很高的要求,尤其是在傳感器的研發過程中,往往需要極高精度的電容檢測設備對傳感器進行測試與調校。但是一直以來國內外都缺乏能夠對微小電容進行實時檢測的專用儀器,普遍的做法是針對所研發的傳感器自行設計、制做專門的電容檢測電路,這無疑增加了傳感器設計的難度與工作量。針對這一問題,我們設計了通用的電容式傳感器檢測系統。該系統能夠對微小電容進行實時檢測,并可以通過上位機實現實時顯示、存儲等功能。 1 總體設計 電容式傳感器的檢測方法主要有:設計專用ASIC芯片;使用分立元件通過電容橋、頻率測量等原理實現測量;使用通用電容檢測芯片將電容轉換為電壓或其他量等。從技術難度、測量精度等多方面考慮,本系統采用集成電容檢測芯片來完成對電容式傳感器的檢測。系統結構框圖如圖1所示。電容檢測芯片選用Irvine Sensor公司的MS3110。MS3110將電容量轉換為電壓量輸出(量程為0~10 pF)。單片機MSP430F149集成的12位A/D轉換器對輸出電壓進行采樣,并通過I/O端口對MS3110內部寄存器進行設置。數據經采樣后通過串口傳送到上位機進行處理、實時顯示、存儲等。上位機由普通微機構成。 2 系統硬件設計 2.1 MS3110簡介及寄存器設置 MS3110是Irvine Sensor公司生產的具有極低噪聲的通用電容檢測芯片。它采用CMOS工藝,工作電壓為+5 V,測量靈敏度為,集成的補償電容等參數均可以通過寄存器控制。其基本測量原理為:對被測電容與參考電容同時以相反時序充放電,通過電流積分、低通濾波、放大等將被測電容與參考電容差值轉換為電壓輸出。MS3110內含一個60位的寄存器和100位的EEPROM。可通過單片機MSP430F149的I/0口對其EEFROM編程,或使MS3110工作在測試狀態直接對寄存器進行編程。通過這些設置可對MS3110內部各個模塊的參數進行精確的調節。 MS3110原理框圖如圖2所示。MS3110主要由電容補償電路、電荷積分電路、低通濾波器以及運算放大器組成。 其中,CSlIN、CS2IN為被檢測電容,CSl、CS2為MS3110內部的可調電容。通過對內部寄存器進行設置,CS1可在O~1.197 pF范圍內調節,CS2可在0~9.709pF范圍內調節。CF為電荷積分器的積分電容,可在O~19.437 pF范圍內調節。以上3個可調節電容的調節步進均為19 fF。低通濾波器的帶寬可在O.5~8 kHz范圍內調節,可調增益GAIN可選擇2或4。 另外,參考電壓VREF、空載輸出電壓Vout等也可以通過寄存器進行精確調節。其空載輸出電壓的計算公式如下: Vout=GAIN×V2P25×1.14×(CS2T-CS1T)/CF+VREF (1) 式中:CSlT=CS1IN+CSl,CS2T=CS2IN+CS2;本系統中可調整的內部增益GAIN取2;V2P25為芯片參考電壓輸出,默認值為2.25 V;參考電壓VREF可選O.5 V與2.5 V兩個值,本系統中選取O.5 V。由于燒寫EEPROM需要額外的16 V電壓,本系統中將TEST引腳拉低使芯片處于測試狀態,通過I/O即可直接更改其寄存器。由于掉電后寄存器數據將丟失,所以每次上電后都需要對所有的寄存器進行初始化。需要特別指出的是,MS3110數據手冊中給出的寫寄存器時序圖中,將數據輸入時鐘SCLK周期標為固定值2μs。在實驗中我們發現,周期大于2μs時均可成功設置。 2.2 MSP430F149簡介及通信接口設計 系統使用MSP430F149集成的12位A/D轉換器進行A/D轉換。MSP430F149在1 MHz的時鐘頻率下運行時,芯片的電流在200~400μA左右;在等待方式下,耗電僅為O.7μA;在節電方式下,電流最低可達0.1 μA。集成的12位A/D轉換器具有較高的轉換速率,最高可達200 kbps,能夠滿足大多數數據采集應用,為系統的單片解決方案提供了極大的方便。 MSP430F149集成的A/D轉換器可采用內部2.5 V參考電壓或外部參考電壓,但其內部參考電壓準確性較差,在本系統中將MS3110的2.25 V參考電壓輸出作為A/D轉換器的參考電壓。低功耗單片機與集成A/D轉換器的采用保證了系統擁有較低的功耗。 與上位機的通信接口采用MSP430F149集成的串行接口,通過MAX3232芯片轉換為三線RS232接口與計算機串口直接相連。 3 系統軟件設計 系統軟件包括單片機軟件與上位機軟件兩部分。 3.1 單片機軟件設計 采用IAR Assembler for MSP430集成開發環境,使用C語言編寫了單片機部分的程序,主要包括系統初始化、測量芯片寄存器初始化、測量與數據傳輸等。單片機軟件流程如圖3所示。 單片機初始化包括單片機I/O初始化、串行口參數初始化、A/D轉換器初始化,以及與上位機通信接收系統參數等。MS31lO初始化是通過單片機I/O對MS3110內部寄存器進行初始化,包括參考電容值、可調增益、初始電壓等參數。采樣開始后,單片機按照設定采樣率進行采樣;采樣結束后,將數據經轉換后傳送給上位機進行處理、顯示與存儲。 3.2 上位機軟件設計 采用VC++6.0軟件和C++語言編寫系統的上位機軟件。軟件功能主要包括設置參數,與下位機通信,數據實時圖形化顯示、存儲和讀取等。上位機軟件界面如圖4所示。 4 精度測試與分析 進行測試前,首先應對電路的初始輸出進行校準。方法如下:將CSl、CS2設置為O,使用用高精度電壓表對MS3110芯片輸出電壓進行測量,輸出為O.497 192 V,將式(1)中的VREF修正為0.497192 V。 在電路板CS2IN位置上焊接一個1.8 pF多層陶瓷電容,用于模擬外部電容式傳感器;芯片內部可調電容CS2由O逐步步進到342 fF,以模擬傳感器電容的變化,步進值為19 fF。具體寄存器參數設置如下:CSl設為O,為CF設9.728 pF,可調增益GAIN設置為2,V2P25設為2.25 V,其他參數均取手冊推薦值。通過實驗測得,當CS2取O時,測量值為1.960 021 pF。與電容標稱值的差異主要是由電容本身容差與電路的分步電容引起的。由式(1)可得: CS2=(Vout-VREF)CF/(GAIN×V2P25×1.14) (2) 代入具體數值可得: CS2=(Vout-0.497 192)×9.728/5.13 (3) 其中,Vout=(A/D采樣值/4 095)×2.25。精度測試實驗結果如表1所列(實測容值為10次測量的均值)。 測試結果表明,該電容式傳感器檢測系統具有較高的檢測精度,平均誤差僅為0.879 fF,最大絕對誤差小于1.6 fF。由于MSP430F149集成的A/D轉換器為12位,當CF取9.728 pF時,系統對電容的分辨率只有1.042fF。可見,A/D轉換器的分辨率是制約檢測精度的重要因素。在對系統進行改進時,可考慮采用更高位數的A/D轉換器。 結語 本文基于電容檢測芯片MS3110設計了一款電容式傳感器檢測系統,給出了設計要點和需要注意的問題。該系統具有較高的測試精度,可用于電容式傳感器檢測與研發。 |