新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > MSC1211在高精度智能變送器開發中的應用

        MSC1211在高精度智能變送器開發中的應用

        ——
        作者:作者:山東大學控制學院 盧新彪 時間:2007-01-26 來源:《電子查詢網》 收藏


        引言

        本文引用地址:http://www.104case.com/article/21080.htm

        在工業控制過程中,經常需要對一些參數進行測量,而一般傳感器的輸出信號較弱,不適合作遠距離傳輸。為了減小干擾,通常采用4ma~20ma電流輸出的雙絞線變送器。信號模擬處理的變送器,由于電路的復雜性的限制,非線性補償效果不理想,很難在全溫度范圍內實現溫度補償,因此達不到較高的精度要求。隨著低功耗高精度單片機﹑σδa/d和σδd/a轉換器的日益普及,為高精度的智能變送器的設計提供了技術途徑。本文介紹了利用美國德州儀器公司(texas instrument)新近推出了一種功能很強的低功耗單片機制作高精度智能變送器的硬件構成及工作原理。

        系統硬件構成及工作過程

        智能變送器的硬件系統構成如圖1所示。系統由壓力傳感器、溫度測量芯片、低功耗單片機msc1211、液晶顯示、編程接口、電源管理和電流輸出等幾部分構成。液晶顯示采用并行接口,編程接口采用串行口。由于制作的為兩線制變送器要求在環路供電時輸出電流在4~20ma,考慮到其他方面的影響,要求整個系統的電流在3.5ma左右,這樣在零壓力比較容易調出4ma,所以在選擇器件時功耗應重點考慮。本系統采用的帶有片上d/a和a/d的單片機和液晶顯示器均具有省電功能,溫度芯片為單線制低功耗。在設計軟件時讓通訊部分和采樣部分分時工作,以確保整個系統在3.5ma左右。msc1211在2.7~5.25v工作電壓下功耗小于4mw,液晶顯示器的工作電流小于50μa;另外msc1211可以提供精確的2.5v或1.25v的基準電壓作為a/d和d/a轉換器的參考電壓。

        系統的工作過程:從壓力傳感器來的信號進入到a/d轉換器,其內部具有可編程增益放大器,可根據輸入信號的范圍自動設置增益放大倍數,a/d轉換器對模擬信號數字化并進行數字濾波后,由cpu根據從溫度芯片ds18b20讀來的溫度信號,從falsh存儲器中讀取零點、線性度校正系數后,進行溫度補償和非線性補償,然后根據量程范圍進行量程轉換并將其送到d/a轉換器,從而輸出相應的電流值,同時將壓力以相應的單位顯示在液晶顯示器上。

        msc1211a/d和d/a轉換器

        msc1211的片上a/d轉換器是高集成度、八通道差分和單通道24位σ-δa/d轉換器,。其內部包括儀表放大器、可編程增益放大器、多路轉換開關、數字濾波、數據處理及信號校準電路。芯片可以提供自帶高精度標準電壓,精度為0.2%,漂移為5ppm/°c,因此可以節省空間以及器件成本,也可輸出該電壓標準或外接電壓標準。從而可以對外部傳感器輸出的0~100mv微信號進行采集。

        a/d轉換器的設置:

        在利用msc1211的片上a/d進行采樣時,需要設置的寄存器為多路開關寄存器(admux)、模數轉換控制寄存器(adcon0~adcon3)、總和和移位寄存器(summation/shift control)以及adc偏移量設置寄存器(ocl~och)。adcon0決定了內部放大器的增益和ad轉換的參考電壓等。adcon1確定了ad轉換結果的極性、數字濾波方法和計算模式控制位,adcon2~3使用來設計ad轉換輸出數據的速率。總和和移位寄存器用來設計一次輸出需要進行采樣的個數如可以設置為進行8次ad轉換后取平均值后輸出數據。adc偏移量設置寄存器是用來存放零點偏移,以便于進行校正。

        a/d轉換程序舉例:

        下面是我們用在智能變送器中的ad采樣程序已經在keilc51v7.05環境中編譯,并從計算機的串口下載到智能變送器的電路板上,能正確采樣并在液晶上顯示和通過da轉換器得到相應的電流值。

        #include

        #define xtal 843200 // 設置晶振頻率

        #define a_clk 9

        #define decimation 288

        void main( )

        {

        aclk=a_clk; // 設置模擬時鐘頻率

        adcon0=0x31; // 設置參考電壓和增益倍數

        adcon2 = decimation & 0xff; //設置ad轉換速率每秒10次

        adcon3=(decimation>>8) & 0x07;

        adcon1 = 0x01; // 設置濾波方法

        admux=0x10;

        pdcon&=0x0f7 ; //打開ad轉換器

        while(1)

        {

        display((adresh); //調用顯示函數顯示轉換結果

        display((adresm);

        display((adresl);

        }

        }

        d/a轉換器的設置:

        相對于a/d轉換而言,d/a轉換器的設置就非常簡單。它需要配置4個da轉換寄存器(dac0~dac3)和dac裝載控制寄存器。da轉換寄存器控制著相應的電壓輸出方式和參考電壓。裝載控制寄存器是用來控制裝載da數據方式的。

        軟件設計

        智能變送器的軟件部分包括以下幾個模塊:(1)對msc1211進行初始化包括對單片機進行初始化、液晶顯器、a/d轉換器和d/a轉換器的初始化。(2)a/d轉換器的校準包括各通道增益、零點漂移校正。(3)現場壓力和溫度數據的采集(4)壓力傳感器的零點校準,溫度漂移補償和非線性補償(5)量程轉換,d/a數據輸出(6)實時壓力顯示。軟件流程圖如圖2所示。


        實驗結果

        通過采用sensymict19c系列的壓阻式壓力傳感器,其主要技術指標為:量程為100kpa,靈敏度為2mv/v,零點為±2mv,線性度為±0.2%,工作溫度為-40~125°c。a/d轉換器的輸入信號范圍設置為±100mv,經過溫度漂移補償和非線性校正后,所得的試驗部分結果為如表1所示,經過計算可得其精度在千分之三以內,滿足了制造高精度變送器的要求。

        結語

        使用本文提出的方案設計的智能變送器具有高精度,可以進行在線編程,體積小,使用方便等特點,可以應用在需要檢測微弱參數的很多領域。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乐至县| 新昌县| 涞源县| 万安县| 来宾市| 龙南县| 广宗县| 灵宝市| 西城区| 亳州市| 饶平县| 岐山县| 固安县| 淮安市| 嘉祥县| 古田县| 天等县| 平江县| 治县。| 林州市| 上虞市| 南开区| 玉门市| 玉林市| 集安市| 青河县| 潜江市| 东城区| 平乐县| 林口县| 金沙县| 尚义县| 涟源市| 乌鲁木齐县| 沧源| 潮安县| 石河子市| 潜山县| 南雄市| 钟山县| 台江县|