引言
在工業(yè)控制過程中,經(jīng)常需要對一些參數(shù)進行測量,而一般傳感器的輸出信號較弱,不適合作遠距離傳輸。為了減小干擾,通常采用4ma~20ma電流輸出的雙絞線變送器。信號模擬處理的變送器,由于電路的復雜性的限制,非線性補償效果不理想,很難在全溫度范圍內(nèi)實現(xiàn)溫度補償,因此達不到較高的精度要求。隨著低功耗高精度單片機﹑σδa/d和σδd/a轉(zhuǎn)換器的日益普及,為高精度的智能變送器的設(shè)計提供了技術(shù)途徑。本文介紹了利用美國德州儀器公司(texas instrument)新近推出了一種功能很強的低功耗單片機制作高精度智能變送器的硬件構(gòu)成及工作原理。
系統(tǒng)硬件構(gòu)成及工作過程
智能變送器的硬件系統(tǒng)構(gòu)成如圖1所示。系統(tǒng)由壓力傳感器、溫度測量芯片、低功耗單片機msc1211、液晶顯示、編程接口、電源管理和電流輸出等幾部分構(gòu)成。液晶顯示采用并行接口,編程接口采用串行口。由于制作的為兩線制變送器要求在環(huán)路供電時輸出電流在4~20ma,考慮到其他方面的影響,要求整個系統(tǒng)的電流在3.5ma左右,這樣在零壓力比較容易調(diào)出4ma,所以在選擇器件時功耗應重點考慮。本系統(tǒng)采用的帶有片上d/a和a/d的單片機和液晶顯示器均具有省電功能,溫度芯片為單線制低功耗。在設(shè)計軟件時讓通訊部分和采樣部分分時工作,以確保整個系統(tǒng)在3.5ma左右。msc1211在2.7~5.25v工作電壓下功耗小于4mw,液晶顯示器的工作電流小于50μa;另外msc1211可以提供精確的2.5v或1.25v的基準電壓作為a/d和d/a轉(zhuǎn)換器的參考電壓。
系統(tǒng)的工作過程:從壓力傳感器來的信號進入到a/d轉(zhuǎn)換器,其內(nèi)部具有可編程增益放大器,可根據(jù)輸入信號的范圍自動設(shè)置增益放大倍數(shù),a/d轉(zhuǎn)換器對模擬信號數(shù)字化并進行數(shù)字濾波后,由cpu根據(jù)從溫度芯片ds18b20讀來的溫度信號,從falsh存儲器中讀取零點、線性度校正系數(shù)后,進行溫度補償和非線性補償,然后根據(jù)量程范圍進行量程轉(zhuǎn)換并將其送到d/a轉(zhuǎn)換器,從而輸出相應的電流值,同時將壓力以相應的單位顯示在液晶顯示器上。
msc1211a/d和d/a轉(zhuǎn)換器
msc1211的片上a/d轉(zhuǎn)換器是高集成度、八通道差分和單通道24位σ-δa/d轉(zhuǎn)換器,。其內(nèi)部包括儀表放大器、可編程增益放大器、多路轉(zhuǎn)換開關(guān)、數(shù)字濾波、數(shù)據(jù)處理及信號校準電路。芯片可以提供自帶高精度標準電壓,精度為0.2%,漂移為5ppm/°c,因此可以節(jié)省空間以及器件成本,也可輸出該電壓標準或外接電壓標準。從而可以對外部傳感器輸出的0~100mv微信號進行采集。
a/d轉(zhuǎn)換器的設(shè)置:
在利用msc1211的片上a/d進行采樣時,需要設(shè)置的寄存器為多路開關(guān)寄存器(admux)、模數(shù)轉(zhuǎn)換控制寄存器(adcon0~adcon3)、總和和移位寄存器(summation/shift control)以及adc偏移量設(shè)置寄存器(ocl~och)。adcon0決定了內(nèi)部放大器的增益和ad轉(zhuǎn)換的參考電壓等。adcon1確定了ad轉(zhuǎn)換結(jié)果的極性、數(shù)字濾波方法和計算模式控制位,adcon2~3使用來設(shè)計ad轉(zhuǎn)換輸出數(shù)據(jù)的速率??偤秃鸵莆患拇嫫饔脕碓O(shè)計一次輸出需要進行采樣的個數(shù)如可以設(shè)置為進行8次ad轉(zhuǎn)換后取平均值后輸出數(shù)據(jù)。adc偏移量設(shè)置寄存器是用來存放零點偏移,以便于進行校正。
a/d轉(zhuǎn)換程序舉例:
下面是我們用在智能變送器中的ad采樣程序已經(jīng)在keilc51v7.05環(huán)境中編譯,并從計算機的串口下載到智能變送器的電路板上,能正確采樣并在液晶上顯示和通過da轉(zhuǎn)換器得到相應的電流值。
#include
#define xtal 843200 // 設(shè)置晶振頻率
#define a_clk 9
#define decimation 288
void main( )
{
aclk=a_clk; // 設(shè)置模擬時鐘頻率
adcon0=0x31; // 設(shè)置參考電壓和增益倍數(shù)
adcon2 = decimation & 0xff; //設(shè)置ad轉(zhuǎn)換速率每秒10次
adcon3=(decimation>>8) & 0x07;
adcon1 = 0x01; // 設(shè)置濾波方法
admux=0x10;
pdcon&=0x0f7 ; //打開ad轉(zhuǎn)換器
while(1)
{
display((adresh); //調(diào)用顯示函數(shù)顯示轉(zhuǎn)換結(jié)果
display((adresm);
display((adresl);
}
}
d/a轉(zhuǎn)換器的設(shè)置:
相對于a/d轉(zhuǎn)換而言,d/a轉(zhuǎn)換器的設(shè)置就非常簡單。它需要配置4個da轉(zhuǎn)換寄存器(dac0~dac3)和dac裝載控制寄存器。da轉(zhuǎn)換寄存器控制著相應的電壓輸出方式和參考電壓。裝載控制寄存器是用來控制裝載da數(shù)據(jù)方式的。
軟件設(shè)計
智能變送器的軟件部分包括以下幾個模塊:(1)對msc1211進行初始化包括對單片機進行初始化、液晶顯器、a/d轉(zhuǎn)換器和d/a轉(zhuǎn)換器的初始化。(2)a/d轉(zhuǎn)換器的校準包括各通道增益、零點漂移校正。(3)現(xiàn)場壓力和溫度數(shù)據(jù)的采集(4)壓力傳感器的零點校準,溫度漂移補償和非線性補償(5)量程轉(zhuǎn)換,d/a數(shù)據(jù)輸出(6)實時壓力顯示。軟件流程圖如圖2所示。
實驗結(jié)果
通過采用sensymict19c系列的壓阻式壓力傳感器,其主要技術(shù)指標為:量程為100kpa,靈敏度為2mv/v,零點為±2mv,線性度為±0.2%,工作溫度為-40~125°c。a/d轉(zhuǎn)換器的輸入信號范圍設(shè)置為±100mv,經(jīng)過溫度漂移補償和非線性校正后,所得的試驗部分結(jié)果為如表1所示,經(jīng)過計算可得其精度在千分之三以內(nèi),滿足了制造高精度變送器的要求。
結(jié)語
使用本文提出的方案設(shè)計的智能變送器具有高精度,可以進行在線編程,體積小,使用方便等特點,可以應用在需要檢測微弱參數(shù)的很多領(lǐng)域。