基于水溫壓力檢測的數(shù)據(jù)采集系統(tǒng)
1 引 言
本文引用地址:http://www.ex-cimer.com/article/89218.htm在石油、化工、冶金、電力、紡織、輕工、水利等工業(yè)及科研領(lǐng)域中,都必須進(jìn)行相關(guān)的壓力檢測和溫度的測試。該數(shù)據(jù)采集系統(tǒng)主要用于油田油井,氣井,注水井。其是油田測試井下壓力與溫度變化情況必不可少的。隨著科學(xué)技術(shù)的發(fā)展與普及,數(shù)字設(shè)備正越來越多地取代模擬設(shè)備,在生產(chǎn)過程控制和科學(xué)研究等廣泛領(lǐng)域,計(jì)算機(jī)控制技術(shù)正發(fā)揮著越來越重要的作用,然而外界的大部分信息是以連續(xù)變化的物理量形式出現(xiàn)的,例如溫度,壓力,速度等。要將這些信息送人計(jì)算機(jī)進(jìn)行處理,就必須先將這些連續(xù)的物理量離散化,并進(jìn)行量化編碼,從而變成數(shù)字量,這個過程即是數(shù)據(jù)采集。本單片機(jī)系統(tǒng)的工作原理是通過一個壓力、溫度傳感器接受外部的壓力信號、溫度信號。這兩個信號送A/D轉(zhuǎn)換器,經(jīng)過信號的放大、調(diào)制、濾波。最終轉(zhuǎn)化為計(jì)算機(jī)可處理和運(yùn)算的數(shù)字信號。單片機(jī)既可以直接與計(jì)算機(jī)進(jìn)行通信,也可以暫時把記錄數(shù)據(jù)存儲到系統(tǒng)的存儲器內(nèi),然后通過RS 232串行通信口把數(shù)據(jù)回放到計(jì)算機(jī)以供使用者對其進(jìn)行處理。整個系統(tǒng)中單片機(jī)系統(tǒng)的硬件和軟件設(shè)計(jì)是主要的設(shè)計(jì)任務(wù)。
2 系統(tǒng)硬件設(shè)計(jì)
硬件電路主要由壓力傳感器,溫度傳感器,A/D轉(zhuǎn)換芯片、單片機(jī)、存儲器、通信接口組成。其中主單片機(jī)是系統(tǒng)的核心部件,主單片機(jī)控制系統(tǒng)的數(shù)據(jù)采集、數(shù)據(jù)存取、時間參數(shù)設(shè)置與主機(jī)通信等。時鐘信號也是由單片機(jī)產(chǎn)生,定時對主單片機(jī)產(chǎn)生復(fù)位信號,使主單片機(jī)完成一次數(shù)據(jù)采集,然后又進(jìn)入休眠狀態(tài)。當(dāng)主單片機(jī)進(jìn)入休眠狀態(tài)后,除定時器還在繼續(xù)工作外,系統(tǒng)的其他部分進(jìn)入掉電狀態(tài)。掉電狀態(tài)由單片機(jī)控制,定時器的工作參數(shù)也是由主單片機(jī)進(jìn)行設(shè)置。
其中單片機(jī)AT89C2051是美國Atmel公司生產(chǎn)的一種低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含2 kB的可反復(fù)擦寫的只讀FLASH程序存儲器和128 B的隨機(jī)存取數(shù)據(jù)存儲器RAM,該器件采用Atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS 51指令系統(tǒng),片內(nèi)置通用8位中央處理器和2 kB FLASH存儲單元,AT89C2051單片機(jī)是一個功能強(qiáng)大的單片機(jī),它有20個引腳,15個雙向輸入/輸出(I/O)端口,其中P1是一個完整的8位雙向I/O口,2個外中斷口,2個16位可編程定時計(jì)數(shù)器,2個全雙向串行通信口,一個模擬比較放大器。同時AT89C2051的時鐘頻率可以為零,即具備可用軟件設(shè)置的睡眠省電功能,系統(tǒng)的喚醒方式有RAM,定時/計(jì)數(shù)器,串行口和外中斷口,系統(tǒng)喚醒后即進(jìn)入繼續(xù)工作狀態(tài)。省電模式中,片內(nèi)RAM將被凍結(jié),時鐘停止振蕩,所有功能停止工作,直至系統(tǒng)被硬件復(fù)位方可繼續(xù)運(yùn)行。對于其他元件的選擇,電路中所用元件都選用體積小,功耗低,耐高溫、穩(wěn)定性好的器件。這些器件為數(shù)據(jù)采集系統(tǒng)和供電系統(tǒng)的長時間工作提供了一種有效的辦法。系統(tǒng)原理圖如圖1所示,壓力傳感器使用美國Motorola公司生產(chǎn)的MPX2100半導(dǎo)體壓力傳感器。它可以把壓力轉(zhuǎn)換成毫伏級的差模電壓信號,該壓力傳感器具有良好的線性度,它的輸出電壓與所加壓力成精確的正比例關(guān)系。有利于提高測試壓力的精度,另外,MPX2100所具有的溫度補(bǔ)償特性克服半導(dǎo)體壓力敏感器件存在的溫度漂移問題。溫度測量采用二極管IN4148作為傳感器。A/D轉(zhuǎn)換接口采用能達(dá)到高精度要求的A/D轉(zhuǎn)換芯片A/D7705。A/D7705與單片機(jī)通信原理圖如圖2所示,存儲器采用的是256 kb串行電可擦除的可編程只讀存儲器CAT24C256:256 kb串行CMOS E2PROM(32768x8b),8引腳雙排直插式封裝,具有結(jié)構(gòu)緊湊、存儲容量大等特點(diǎn),特別適用于本數(shù)據(jù)采集系統(tǒng),內(nèi)部可以組成32 kB×8存儲單元,2線串行接口,雙向數(shù)據(jù)傳送協(xié)議,硬件寫保護(hù)引腳和軟件數(shù)據(jù)保護(hù)功能,有64 B頁寫人緩沖器,支持標(biāo)準(zhǔn)100 kHz和快速400 kHz I2C協(xié)議,工作電壓1.8~5.5 V,對全部存儲器進(jìn)行硬件寫保護(hù),在I2C總線輸入端(SCL和SDA)含有施密特觸發(fā)器和噪音抑制濾波器,采用低功耗CMOS工藝,可編程/擦除100萬次,數(shù)據(jù)保存期100年,ROHS兼容的Green和Gold的8腳PDIP,SOIC,TSSOP和TDFN封裝。
3 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)部分分為計(jì)算機(jī)軟件和儀器下位機(jī)軟件,其中計(jì)算機(jī)軟件需要在PC機(jī)中運(yùn)行,而儀器下位機(jī)軟件則是存放在儀器電路板上的CPU中。這2部分軟件的流程圖如圖3所示。
溫度壓力采集是系統(tǒng)的主要部分,它工作情況的好壞將直接影響到整個系統(tǒng)能否正常運(yùn)行。陔過程主要由單片機(jī)控制其啟動工作。轉(zhuǎn)換速率與A/D轉(zhuǎn)換芯片有關(guān)。采樣間隔可以由人工通過軟件設(shè)定。在本系統(tǒng)中,單片機(jī)和存儲器都選用帶串行口的芯片,所以系統(tǒng)采用I2C串行總線技術(shù)進(jìn)行數(shù)據(jù)傳送。I2C總線上傳輸?shù)臄?shù)據(jù)信號是廣義的,既包括地址信號,又包括真正的數(shù)據(jù)信號。I2C總線數(shù)據(jù)傳輸時必須遵守規(guī)定的數(shù)據(jù)格式。按照總線規(guī)定,起始信號表明1次數(shù)據(jù)傳送的開始,其后為尋址字節(jié),尋址字節(jié)由高7位地址和最低1位方向位組成,高7位地址是被尋址的從機(jī)地址,方向位是表示主機(jī)和從機(jī)之間的數(shù)據(jù)傳送方向,方向位為0表示主機(jī)發(fā)送數(shù)據(jù)寫,為1表示讀。在尋址字節(jié)后是將要傳送的數(shù)據(jù)字節(jié)與應(yīng)答位,在數(shù)據(jù)傳送完成后主機(jī)必須發(fā)送終止信號。但是,如果主機(jī)希望繼續(xù)占用總線進(jìn)行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號,馬上再次發(fā)出起始信號對另一從機(jī)進(jìn)行尋址。溫度壓力數(shù)據(jù)采集流程圖如圖4所示。
4 單片機(jī)與上位機(jī)通信設(shè)計(jì)
本系統(tǒng)與上位機(jī)通信的實(shí)現(xiàn)是利用PC機(jī)自帶的RS 232接口與AT89C2051的RXD和TXD實(shí)現(xiàn)。在最簡單的RS 232直接通信中,只要發(fā)送和接收雙方同時準(zhǔn)備好,僅用信號發(fā)送端TXD,信號接收端RXD,地線GND3根線即可進(jìn)行通信。由于RS 232的電平是:-3~-15 V(邏輯1),3~15 V(邏輯0);而單片機(jī)串口信號電平為TTL電平,邏輯1大于3.6 V,邏輯0小于0.3 V。因此,PC機(jī)與單片機(jī)之間通過RS 232通信必須進(jìn)行電平轉(zhuǎn)換。MAX232可以完成這個功能。它使用+5 V的工作電源,配接5個0.1μF的電容。轉(zhuǎn)換完畢的串口TXD、RXD的信號直接和AT89C2051的串行口連接。單片機(jī)與上位機(jī)通信連接圖如圖5所示。
波特率的確定:
模式1和模式3的移位時鐘脈沖由定時器T1的溢出率決定,故波特率由定時器T1的溢出率與SMOD共同確定,即:模式1和模式3的波特率=2SMOD/32*T1的溢出率,當(dāng)T1作波特率發(fā)生器使用時,最典型的用法是使T1工作在模式2定時方式。此時,定時器T1工作在模式2時的初值為:
X=256-FOSC(SMOD+1)/(384*波特率)
本系統(tǒng)采用的波特率是1 200 b/s,使用的晶振頻率為3.686 3 MHz,所以初值X=248。
RS 232通信程序:
5 硬件調(diào)試
硬件設(shè)計(jì)完后,對硬件各部分按設(shè)計(jì)要求進(jìn)行調(diào)試,然后對單片機(jī)進(jìn)行固化,即輸入程序。在本系統(tǒng)中無論傳感器還是電路中都存在不同程度的溫漂,如果不進(jìn)行補(bǔ)償,測量結(jié)果的誤差就會很大。要獲得相當(dāng)精確的壓力溫度數(shù)據(jù)資料,就必須進(jìn)行溫漂校正。因此在對儀器電路進(jìn)行必要調(diào)整的同時還需要用軟件的方法進(jìn)行溫漂校正。
經(jīng)過校正后采集到的數(shù)據(jù)就很容易達(dá)到系統(tǒng)所要求的精度,若還有誤差比較大的壓力點(diǎn),則可以通過手動調(diào)整,調(diào)整的方法是利用插值法或者最小二乘法進(jìn)行計(jì)算,再與標(biāo)定系數(shù)進(jìn)行比較,根據(jù)比較結(jié)果調(diào)整原來的標(biāo)定系數(shù)。調(diào)完后再把新的標(biāo)定文件寫入儀器,再在PC機(jī)上回放數(shù)據(jù)看結(jié)果。若結(jié)果還不行則繼續(xù)調(diào)整,直到達(dá)到要求為止。
6 結(jié) 語
本系統(tǒng)以AT89C2051單片機(jī)為核心,集成電路全部采用CMOS器件。與傳統(tǒng)的8031單片機(jī)數(shù)據(jù)采集器相比,AT89C2051單片機(jī)數(shù)據(jù)采集器硬件結(jié)構(gòu)簡單,價格低廉。由于采用16位的A/D7705,精度高,能夠滿足測量要求。特別是該數(shù)據(jù)采集器配有串行通信接口,與微機(jī)相聯(lián)后能夠極大地提高測試系統(tǒng)的數(shù)據(jù)處理能力,容易實(shí)現(xiàn)誤差的計(jì)算與補(bǔ)償、校準(zhǔn)測量儀器的非線性等。由于在測試壓力和溫度過程中,對測試數(shù)據(jù)準(zhǔn)確度要求很高,而這種單片機(jī)控制的數(shù)據(jù)采集系統(tǒng)克服了精度低、滯差大、走時短等缺點(diǎn),并且功耗低、性能可靠,可以長時間連續(xù)工作,有著非常廣的應(yīng)用空間。
數(shù)據(jù)采集系統(tǒng)是計(jì)算機(jī)與外部世界聯(lián)系的橋梁。數(shù)據(jù)采集技術(shù)是以傳感器技術(shù)、信號檢測與處理、電子學(xué)、計(jì)算機(jī)技術(shù)等方面技術(shù)為基礎(chǔ)而形成的一個綜合應(yīng)用技術(shù)學(xué)科,已廣泛應(yīng)用于國民經(jīng)濟(jì)和國防建設(shè)的各個領(lǐng)域,并且隨著科學(xué)技術(shù)的發(fā)展,尤其是計(jì)算機(jī)技術(shù)的發(fā)展與普及,數(shù)據(jù)采集技術(shù)將會有著更廣闊的發(fā)展前景。
評論