敖振浪,呂雪芹,雷衛(wèi)延
(廣東省氣象探測(cè)數(shù)據(jù)中心,廣州 510080)
同基準(zhǔn)16路電流型測(cè)溫電路設(shè)計(jì)與應(yīng)用
敖振浪,呂雪芹,雷衛(wèi)延
(廣東省氣象探測(cè)數(shù)據(jù)中心,廣州 510080)
在許多實(shí)際的應(yīng)用系統(tǒng)中,需要同時(shí)測(cè)量多點(diǎn)溫度,為了解決多支路測(cè)溫需要相同參考標(biāo)準(zhǔn)的問(wèn)題,保證各路參數(shù)具有可比性;巧妙地設(shè)計(jì)同基準(zhǔn)A/D轉(zhuǎn)換電路,運(yùn)用低導(dǎo)通電阻模擬開(kāi)關(guān)構(gòu)建矩陣開(kāi)關(guān)進(jìn)行分時(shí)切換各支路,有效地解決了多支路同基準(zhǔn)測(cè)量問(wèn)題;結(jié)合實(shí)際應(yīng)用確定A/D轉(zhuǎn)換器輸入電路濾波電容大小與開(kāi)關(guān)切換延時(shí)的關(guān)系;利用臺(tái)階電阻使A/D轉(zhuǎn)換器的輸入端的“零”電平得到抬升,偏離A/D轉(zhuǎn)換器非線性段,解決了微小信號(hào)輸入的測(cè)量精度;對(duì)于溫度測(cè)量普遍使用的鉑電阻傳感器,利用模擬開(kāi)關(guān)實(shí)現(xiàn)了鉑電阻傳感器靜態(tài)下預(yù)熱電流與測(cè)量狀態(tài)下工作電流的電路轉(zhuǎn)換,保證電路的信號(hào)穩(wěn)定起到很好作用;在實(shí)際的應(yīng)用系統(tǒng)中,檢定數(shù)據(jù)和使用效果表明,同基準(zhǔn)16路電流型測(cè)溫電路具有高穩(wěn)定度、高精度特點(diǎn),適用于各種相參測(cè)量系統(tǒng)中使用。
溫度測(cè)量;十六通道;電流型負(fù)載;相同參考基準(zhǔn);數(shù)模轉(zhuǎn)換電路設(shè)計(jì)
溫度是一個(gè)自然界常用的物理量,是氣象、軍事、環(huán)境、航天、工業(yè)、農(nóng)業(yè)等領(lǐng)域最常見(jiàn)的測(cè)量參數(shù),涉及到日常生活每個(gè)角落??諝鉁囟葴y(cè)量是氣象預(yù)報(bào)和氣象科學(xué)研究中不可缺少的重要參數(shù),測(cè)量值的準(zhǔn)確度和可靠性至關(guān)重要,尤其是研究全球氣候變化的重要參考依據(jù)。過(guò)去溫度測(cè)量基本方法是使用溫度計(jì)直接讀取溫度,例如,水銀玻璃溫度計(jì)、酒精溫度計(jì)、熱電偶或熱電阻溫度計(jì)等。當(dāng)今科技發(fā)展迅猛,利用單片機(jī)和鉑電阻溫度傳感器構(gòu)成的電子式智能溫度測(cè)量系統(tǒng)已經(jīng)能夠自動(dòng)測(cè)量溫度,得到溫度的數(shù)字值并加以顯示,非常簡(jiǎn)單,直觀準(zhǔn)確。不同的用途其測(cè)量溫度的方法也有所不同,有的單點(diǎn)測(cè)量,有的多點(diǎn)獨(dú)立測(cè)量,有的側(cè)重于精度有的側(cè)重于快速測(cè)量等等,五花八門(mén)。文獻(xiàn)[1]針對(duì)溫度單點(diǎn)測(cè)量穩(wěn)定性問(wèn)題,提出了一種自校正技術(shù)的4電阻測(cè)量法,通過(guò)比較4組測(cè)量信號(hào)的相對(duì)大小來(lái)求得被測(cè)熱電阻的電阻值,進(jìn)而計(jì)算出溫度值,改進(jìn)溫度測(cè)量精度;文獻(xiàn)[2]以MSP430F149混合信號(hào)處理器為采集控制核心,運(yùn)用模擬信號(hào)采集和數(shù)字信號(hào)處理技術(shù),設(shè)計(jì)多通道溫度信號(hào)采集電路,利用單片機(jī)內(nèi)部12位A/D完成,可以滿足一般用途;文獻(xiàn)[3]從溫度控制性能方面針對(duì)單片機(jī)溫度控制系統(tǒng)采用傳統(tǒng)控制方法容易出現(xiàn)響應(yīng)速度慢、振蕩劇烈、控制精度低等問(wèn)題,基于以AT89C51單片機(jī)為核心運(yùn)用DS18B20溫度傳感器的溫度控制系統(tǒng),提出了變論域模糊PID控制算法,提高了控制精度,加快了系統(tǒng)的響應(yīng)速度。實(shí)際上,不管儀器單點(diǎn)測(cè)量精度多高,由于儀器性能差異和環(huán)境因素影響,獨(dú)立儀器進(jìn)行多點(diǎn)測(cè)量可能存在系統(tǒng)誤差,因?yàn)楠?dú)立儀器或者獨(dú)立通道沒(méi)有基于同一參考基準(zhǔn),所以對(duì)于要求可比性高的場(chǎng)合,必須使用統(tǒng)一基準(zhǔn)進(jìn)行測(cè)量,保證所測(cè)量的溫度值具有可比性和一致性,比如氣象觀測(cè)中空氣梯度溫度測(cè)量和多層地溫測(cè)量[4],要求使用同一參考基準(zhǔn),而且要求同時(shí)測(cè)量的要素和測(cè)量點(diǎn)比較多。目前氣象部門(mén)使用的自動(dòng)氣象站就是要求至少具有16通道以上的溫度測(cè)量能力,用于氣溫、草溫、地溫等,而且要求是基于同一測(cè)量參考基準(zhǔn)。因此,迫切需要設(shè)計(jì)同基準(zhǔn)十六通道溫度測(cè)量電路以滿足業(yè)務(wù)觀測(cè)的需要。
目前測(cè)溫主流傳感器是鉑電阻,金屬鉑(Pt)的電阻值隨溫度變化而變化,并且具有很好的重現(xiàn)性和穩(wěn)定性[5]。以電阻特性用于測(cè)量電路中,實(shí)際上是給它通過(guò)一定電流來(lái)獲取它的兩端電壓降來(lái)反映溫度變化。為了實(shí)現(xiàn)同一參考基準(zhǔn)和同一A/D,簡(jiǎn)化電路,采用開(kāi)關(guān)切換方法逐個(gè)接入各支路分時(shí)采集,電子開(kāi)關(guān)采用導(dǎo)通電阻較小的集成電路模擬開(kāi)關(guān),A/D轉(zhuǎn)換器采用三線數(shù)字接口數(shù)模轉(zhuǎn)換IC。
1.1 矩陣開(kāi)關(guān)電路
目前的溫度測(cè)量幾乎都是使用鉑電阻傳感器(Pt100或者Pt1000),鉑電阻阻值隨著溫度升高而增大,測(cè)量精度高,比較容易適應(yīng)各種場(chǎng)合。測(cè)量原理是鉑電阻傳感器串聯(lián)在2.5 mA電流以內(nèi)的標(biāo)準(zhǔn)測(cè)量電路中,如圖4中的R424、R426及后端被測(cè)傳感器支路。當(dāng)一定電流流過(guò)標(biāo)準(zhǔn)器R426和后面的鉑電阻傳感器,在標(biāo)準(zhǔn)器和被測(cè)鉑電阻就會(huì)產(chǎn)生壓降,分別測(cè)量出電壓值再進(jìn)行比較,通過(guò)算法就能夠計(jì)算出對(duì)應(yīng)的溫度值[6-7]。
如果簡(jiǎn)單地采用2個(gè)1轉(zhuǎn)8單刀單擲(SPST)開(kāi)關(guān)簡(jiǎn)單地把各支路分時(shí)接入測(cè)量電路,那么在轉(zhuǎn)換過(guò)程中被測(cè)信號(hào)電壓會(huì)產(chǎn)生較大跳躍,影響穩(wěn)態(tài)過(guò)程而影響測(cè)量精度。因此,本設(shè)計(jì)的關(guān)鍵技術(shù)是矩陣開(kāi)關(guān)使標(biāo)準(zhǔn)器和被測(cè)鉑電阻傳感器平常保持固定的電流,比如2.5 mA,這樣的話,等待轉(zhuǎn)換到被測(cè)通道時(shí)被測(cè)電壓才不至于產(chǎn)生較大跳躍。鑒于這樣的測(cè)量要求,矩陣開(kāi)關(guān)電路主要由圖1所示接口端子和圖2所示4片(U426、U427,其中U428、U429未畫(huà)出)具有4個(gè)獨(dú)立可選的單刀雙擲開(kāi)關(guān)(模擬開(kāi)關(guān)ADG1634),以及圖3所示2片ADG1607雙刀雙擲(DPDT)模擬開(kāi)關(guān)(U422、U423)組成。
圖1 接口端子
圖2 通道選擇開(kāi)關(guān)
圖3 差分信號(hào)選擇開(kāi)關(guān)
從圖1是鉑電阻傳感器接入的接口端子,傳感器采用4線制接法,比如第二支傳感器四線接入JC2-1、JC2-2、JC2-3和JC2-4,JC2-1和JC2-4是電流通路,JC2-2和JC2-3是電壓信號(hào)輸出端。
作者的經(jīng)驗(yàn)表明,A/D轉(zhuǎn)換電路往往在低電壓輸入端線性不好,微小信號(hào)轉(zhuǎn)換嚴(yán)重失真,造成誤差[5],必須盡量把差分輸入AIN1(+)和AIN1(-)抬升至線性段上,因此,測(cè)量通道中加入臺(tái)階電阻R452-R466,把臺(tái)階電壓抬升到0.25 V左右,盡量離開(kāi)非線性段,如圖1所示。
圖2中的ADG1634是單芯片工業(yè)CMOS模擬開(kāi)關(guān)[8],分別內(nèi)置4個(gè)獨(dú)立可選的單刀雙擲(SPDT)開(kāi)關(guān)。具有超低導(dǎo)通電阻和導(dǎo)通電阻平坦度,典型導(dǎo)通電阻為4.5 Ω。利用4片ADG1634組成16路二選一開(kāi)關(guān)電路。這里需要特別注意,作者實(shí)踐經(jīng)驗(yàn)證明,鉑電阻需要處于預(yù)熱狀態(tài)有利于測(cè)量的穩(wěn)定性,平常不測(cè)量時(shí)各支路傳感器通過(guò)R431-R447(2 K)接到+5 V,為傳感器通電流2.5 mA,傳感器處于預(yù)熱狀態(tài)。
圖3 選用ADG1607模擬開(kāi)關(guān),它是單芯片模擬多路復(fù)用器,內(nèi)置8個(gè)差分通道。ADG1607根據(jù)3位二進(jìn)制地址線(A0、A1和A2)所確定的地址,將8路差分輸入之一切換至公共差分輸出。EN輸入是使能腳,禁用時(shí),所有通道均關(guān)斷;使能時(shí),各通道在兩個(gè)方向的導(dǎo)電性能相同,輸入信號(hào)范圍可擴(kuò)展至電源電壓范圍。8路開(kāi)關(guān)具有超低導(dǎo)通電阻和導(dǎo)通電阻平坦度,典型值導(dǎo)通電阻為4.5 Ω,可以雙電源供電,亦可以單電源供電,在本設(shè)計(jì)方案中采用了單電源+12 V供電。
利用2片ADG1607模擬開(kāi)關(guān)實(shí)現(xiàn)十六路信號(hào)的接入,兩片ADG1607(U422、U423)的輸出腳DA和DB(第28腳和第2腳)相對(duì)應(yīng)并連在一起,構(gòu)成了16路差分通道,如圖4所示。某個(gè)時(shí)刻只有一路差分信號(hào)接入,即是以分時(shí)方式接入同一個(gè)A/D轉(zhuǎn)換電路,分時(shí)測(cè)量出各路溫度值。
1.2 A/D電路
為了實(shí)現(xiàn)16通道以相同基準(zhǔn)進(jìn)行測(cè)量,那么就必須采用同一個(gè)A/D轉(zhuǎn)換器完成。根據(jù)實(shí)際應(yīng)用的測(cè)量基本要求,可以采用16位AD7793或者24位AD7793,除了分辨率不同以外,兩者的使用方法幾乎完全一樣。均為適合高精度測(cè)量應(yīng)用的低功耗、低噪聲、完整模擬前端,內(nèi)置一個(gè)低噪聲16位/24位Σ-Δ型ADC,其中含有3個(gè)差分模擬輸入,還集成了片內(nèi)低噪聲儀表放大器。兩款器件均內(nèi)置一個(gè)精密低噪聲、低漂移內(nèi)部帶隙基準(zhǔn)電壓源,而且也可采用一個(gè)外部差分基準(zhǔn)電壓。
在自動(dòng)氣象站應(yīng)用中,16位分辨率就可以滿足測(cè)量精度要求[9],考慮一些應(yīng)用的高精度需要,因此A/D轉(zhuǎn)換電路主要由數(shù)模轉(zhuǎn)換器AD7793和5 V基準(zhǔn)電壓源IC(ADR395)以及外圍器件組成,如圖4所示。5 V基準(zhǔn)電壓連接A/D轉(zhuǎn)換器的基準(zhǔn)輸入第9腳和第10腳。這里使用5 V基準(zhǔn)主要考慮了有些輸入共模電壓范圍比較大,可能超過(guò)2.5 V。對(duì)于溫度測(cè)量,一般使用鉑電阻溫度傳感器,考慮鉑電阻傳感器自熱因素,它的電流范圍一般取1~2.5 mA。因?yàn)锳D7793自帶1 mA恒流源輸出,所以正好可用于鉑電阻的工作電流。如果考慮抗干擾能力和自熱因素,可以適當(dāng)加大鉑電阻工作電流[10],本方案中采用了2.5 mA工作電流,實(shí)踐證明,自熱可以忽略,不會(huì)造成測(cè)量誤差。通過(guò)選擇R425和R424來(lái)靈活選擇多少工作電流。R426是100 Ω、精度為0.01%的標(biāo)準(zhǔn)電阻,它串聯(lián)于被測(cè)鉑電阻通路上,作為每一路溫度測(cè)量參考標(biāo)準(zhǔn)器。恒定且相同的電流同時(shí)流過(guò)被測(cè)鉑電阻傳感器和參考標(biāo)準(zhǔn)器,分別獲取在兩者產(chǎn)生電壓降,再進(jìn)行算法轉(zhuǎn)化成所測(cè)溫度值,實(shí)現(xiàn)電流型測(cè)量方法[11]。
AD7793的差分輸入信號(hào)連接到U421的第5和第6 腳,這里需要特別注意,從測(cè)量傳感器外圍送來(lái)的差分輸入信號(hào),有時(shí)候可能存在共模電壓,輸入負(fù)端(第6腳)不一定是零(地)電平,所以需要輸入加入電阻R421和R422;考慮輸入濾波因素,加入電容C422、C423和C424,這里關(guān)鍵是這幾個(gè)電容的取值必須恰當(dāng),因?yàn)?6個(gè)通道中每個(gè)通道的測(cè)量都是分時(shí)完成,每個(gè)通道的信號(hào)電壓高低可能不一樣,如果從很高切換到很低或者相反的話,那么濾波電容的電荷積累可能造成誤差。應(yīng)該根據(jù)被測(cè)量信號(hào)特點(diǎn)和分時(shí)測(cè)量通道轉(zhuǎn)換快慢來(lái)綜合考慮而決定,太小了抗干擾能力差,太大了充放電不徹底反而影響測(cè)量精度! 在自動(dòng)氣象站的實(shí)際應(yīng)用中,C422、C423和C424取值都是470 pF,效果很滿意。
本設(shè)計(jì)方案中只有一片AD7793,故片選信號(hào)第3腳直接接地;通過(guò)三線式串行接口SCLK、DIN、DOUT三根線設(shè)置參數(shù)和讀寫(xiě)數(shù)據(jù)。DIN、DOUT信號(hào)需要10K上拉電阻R427和R428上拉至+3.3 V電源[12]。
圖4 A/D轉(zhuǎn)換電路
1.3 工作流程
為了減少電流流過(guò)傳感器引線形成壓降,任意一支鉑電阻(Pt100)溫度傳感器一般都是采取4線制接法[13],以第二支為例說(shuō)明連接方法,其中電源和地兩根線分別接入圖1接口端子的JC2-1和JC2-4,另外兩根差分信號(hào)線分別接入JC2-2和JC2-3。JC2-4不是直接接地,而是通過(guò)臺(tái)階電阻R452(100Ω)接地,使JC2-3電平抬升大約0.25 V接入后端的A/D轉(zhuǎn)換電路,其它通道如此類推。為什么需要設(shè)計(jì)臺(tái)階電阻?作者經(jīng)驗(yàn)證明,這是因?yàn)锳/D轉(zhuǎn)換器一般在接近地電平位置的線性不太好,故通過(guò)臺(tái)階電阻抬高有效的差分電壓置于線性段,確保轉(zhuǎn)換準(zhǔn)確度。U426的第10 腳連接地址控制線PG1,當(dāng)PG1為低電平時(shí),開(kāi)關(guān)D2接到S2B腳,即通過(guò)電阻R432接到+5 V,作為預(yù)熱加電。當(dāng)PG1為高電平時(shí),開(kāi)關(guān)D2接到S2A腳,即接入測(cè)量通道RX1,如圖2所示。當(dāng)?shù)诙诽幱跍y(cè)量狀態(tài)下,那么測(cè)量通道的電流流程是U421第4 腳→R424→R426→標(biāo)號(hào)RX1→U426第9腳→U426第8腳→第二支傳感器JC2-1→JC2-4→R452→地。每一支路的參考基準(zhǔn)電壓V0都是從R426上獲得,送到U422的第19腳(S1A)和第11腳(S1B),通過(guò)PF8-PF15地址選擇線分別接通U422的第28腳(DA)和第2腳(DB),再送到A/D轉(zhuǎn)換器;同樣,在下一時(shí)刻,從鉑電阻傳感器獲取的被測(cè)電壓Vx送到U422的第20腳(JC2-2)和第10腳(JC2-3),并轉(zhuǎn)送到A/D轉(zhuǎn)換器。必須注意的是V0和Vx都是有共模電壓成分的,差模電壓和共模電壓之和不能超過(guò)A/D轉(zhuǎn)換器輸入允許范圍。
測(cè)溫電路可以使用各種各樣MCU控制矩陣開(kāi)關(guān)的切換和A/D轉(zhuǎn)換,本設(shè)計(jì)中采用STM32F207的IO口線控制,對(duì)開(kāi)關(guān)的控制就是對(duì)IO口線的操作[14],矩陣開(kāi)關(guān)的U426、U427由STM32F207的控制端口線PG0-PG15選擇不同支路傳感器的接入,即開(kāi)關(guān)切換函數(shù)SelectSwitch_A(unsigned char port)實(shí)現(xiàn)任意一路port的自由切換;通過(guò)開(kāi)關(guān)分時(shí)切換各支路完成A/D轉(zhuǎn)換,由MCU的控制端口線PF8-PF15邏輯位控制模擬開(kāi)關(guān)U422、U423實(shí)現(xiàn)基準(zhǔn)電壓和不同支路差分輸入電壓的選擇,其開(kāi)關(guān)函數(shù)是SelectSwitch_B(unsigned char port);對(duì)應(yīng)于某個(gè)支路port,由開(kāi)關(guān)A和開(kāi)關(guān)B函數(shù)完成,兩個(gè)函數(shù)同時(shí)調(diào)用,協(xié)調(diào)工作。
void SelectSwitch_A(unsigned char port)//開(kāi)關(guān)A
{// port=0,1,2,3,4......15
uint16_t PortAC_Ctrl;
PortAC_Ctrl = (1<<(uint16_t)(port)); //控制線使用PG端口
GPIO_ResetBits(GPIOG, GPIO_Pin_All); // 置低電平=0
GPIO_SetBits(GPIOG, PortAC_Ctrl); //設(shè)置對(duì)應(yīng)控制線=1
}
void SelectSwitch_B(unsigned char port)//開(kāi)關(guān)B
{// port=0,1,2,3,4......15 //控制線使用PF端口
GPIO_ResetBits(GPIOF, GPIO_Pin_8 | GPIO_Pin_9| GPIO_Pin_10| GPIO_Pin_11| GPIO_Pin_12| GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15);//全部控制線置低電平
if(port==0){GPIO_SetBits(GPIOF, GPIO_Pin_11); }//控制字=ox08
else if(port==1){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_8); }
else if(port==2){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_9); }
else if(port==3){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_8|GPIO_Pin_9); }
else if(port==4){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_10); }
else if(port==5){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_8);}
else if(port==6){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_9); }
else if(port==7){GPIO_SetBits(GPIOF, GPIO_Pin_11|GPIO_Pin_10|GPIO_Pin_9|GPIO_Pin_8); }
else if(port==8){GPIO_SetBits(GPIOF, GPIO_Pin_15); }//控制字=ox08
else if(port==9){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_12); }
else if(port==10){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_13); }
else if(port==11){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_13|GPIO_Pin_12); }
else if(port==12){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_14); }
else if(port==13){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_12);}
else if(port==14){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13); }
else if(port==15){GPIO_SetBits(GPIOF, GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13|GPIO_Pin_12); }
}
在實(shí)際應(yīng)用中,每一支路的輸入信號(hào)幅度大小不同,需要對(duì)A/D轉(zhuǎn)換器AD7793的增益進(jìn)行設(shè)置以滿足信號(hào)幅度要求,增益可能不一樣,所以有不同的增益參數(shù)gain。基準(zhǔn)支路由函數(shù) Set_TT_Base(char port,unsigned char gain)完成設(shè)置,是對(duì)應(yīng)固定的PORT1位置;后者相類似,對(duì)port支路增益參數(shù)為gain進(jìn)行設(shè)置,由函數(shù)Set_TT_Real(char port,unsigned char gain)完成。在開(kāi)關(guān)切換過(guò)程中必須注意AD7793差分輸入端濾波電容的影響,切換過(guò)程中需要穩(wěn)定時(shí)間,故需要插入延時(shí)函數(shù)Delay_1 ms(50)完成50 ms的延時(shí),在本設(shè)計(jì)中測(cè)試結(jié)果表明50 ms延時(shí)比較合適。
void Set_TT_Base(char port,unsigned char gain)
{SelectSwitch_A(port);
SelectSwitch_B(PORT1);
Delay_1ms(50); //50ms的延時(shí)是必須的,太短會(huì)造成輸入信號(hào)由于開(kāi)關(guān)轉(zhuǎn)換還沒(méi)有穩(wěn)定下來(lái)而轉(zhuǎn)換數(shù)據(jù)不準(zhǔn)確。
Select_Channel_Gain(CHANNEL1,gain);
}
void Set_TT_Real(char port,unsigned char gain)
{SelectSwitch_A(port);
SelectSwitch_B(port);
Delay_1ms(50); //延時(shí)是必須的。
Select_Channel_Gain(CHANNEL1,gain);
}
對(duì)于任意一支路的數(shù)據(jù)轉(zhuǎn)換和采集,都經(jīng)過(guò)兩個(gè)步驟,第一步是參考基準(zhǔn)數(shù)據(jù)的采集,第二步是被測(cè)數(shù)據(jù)的采集,分時(shí)實(shí)現(xiàn)。對(duì)于某一支路,上述開(kāi)關(guān)A函數(shù)、開(kāi)關(guān)B函數(shù)、Set_TT_Base函數(shù)和Set_TT_Real函數(shù)同時(shí)被調(diào)用,緊接著分別調(diào)用下面函數(shù)Read_TT_Base(char port)和Read_TT_Real(char port)來(lái)完成參考基準(zhǔn)數(shù)據(jù)和被測(cè)數(shù)據(jù)的讀入。ReadADC_16BitValue(unsigned char channel)函數(shù)實(shí)現(xiàn)對(duì)AD7793的轉(zhuǎn)換和讀數(shù)。
獲得了參考基準(zhǔn)數(shù)據(jù)和被測(cè)數(shù)據(jù),通過(guò)算法計(jì)算出被測(cè)傳感器對(duì)應(yīng)的溫度值。
void Read_TT_Base(char port)
{ TT_tempbuf[port-1][BASE]=ReadADC_16BitValue(CHANNEL1);
if(port==1) AD_TT_Current=TT_tempbuf[0][0]*5.0/65535/8*1000;
}
void Read_TT_Real(char port)
{ TT_tempbuf[port-1][REAL]=ReadADC_16BitValue(CHANNEL1);
}
unsigned int ReadADC_16BitValue(unsigned char channel)
{unsigned int AD16bit;
unsigned char i,status;
ADC_DIN1;ADC_CLK1; Delay_1us(10); // begin
WriteToReg_ADC(0x40); //選擇下一步讀狀態(tài)寄存器,當(dāng)前通道
status=ReadFormReg_ADC(1);
while((status&0x80)==0x80)
{//等待轉(zhuǎn)換完成
WriteToReg_ADC(0x40);
status=ReadFormReg_ADC(1);
}
WriteToReg_ADC(0x58); //選擇下一步讀數(shù)據(jù)寄存器,讀當(dāng)前通道數(shù)據(jù)
AD16bit=0x00;
for(i=0;i<16;i++)
{AD16bit=AD16bit<<1;
ADC_CLK0;Delay_1us(10);
if(ADC_DOUT==1)
AD16bit=AD16bit|0x01;
ADC_CLK1;Delay_1us(10);
}
ADC_CLK1; ADC_DIN1; // end
return(AD16bit);
}
驗(yàn)證分為兩個(gè)方面,一方面是各支路一致性的檢驗(yàn),檢查各路的固有誤差是否一致,另一方面是全量程誤差檢測(cè)。依托計(jì)量檢定機(jī)構(gòu)的溫度檢定箱進(jìn)行0點(diǎn)檢測(cè),設(shè)定溫度檢定箱的溫度20 ℃、濕度60%RH。用一個(gè)固定100?、精度為0.01%的標(biāo)準(zhǔn)電阻作為傳感器代替鉑電阻傳感器,相當(dāng)于鉑電阻Pt100在0 ℃條件下的被測(cè)電阻值,置于檢定箱內(nèi)保持恒溫恒濕的環(huán)境條件,引線引到箱外便于切換,但是引線盡量短。分別牢靠的接入各個(gè)支路,在調(diào)試狀態(tài)下MCU直接從AD7793讀出數(shù)據(jù)并換算出對(duì)應(yīng)支路的溫度值,重復(fù)讀數(shù)3次,計(jì)算出平均值,保留小數(shù)點(diǎn)后4位,結(jié)果如表1所示。
表1 各支路一致性檢測(cè)結(jié)果
從表1的測(cè)檢結(jié)果可以看出,各支路讀數(shù)的平均值最大是第10支路為0.010 8 ℃,最小是第2支路為0.006 5 ℃,各支路之間最大誤差是0.004 3 ℃,這個(gè)誤差值相當(dāng)小,表明了各支路本身產(chǎn)生的系統(tǒng)誤差大體上是相同的,這個(gè)微小的正誤差可能是基準(zhǔn)100?電阻與被測(cè)100?電阻之間的差異造成,支路之間的誤差可以忽略不計(jì),也說(shuō)明了模擬矩陣開(kāi)關(guān)和A/D轉(zhuǎn)換器電路的各支路一致性良好,完全可以滿足高精度測(cè)溫需要。
本電路實(shí)際應(yīng)用于自動(dòng)氣象站,利用FY-201B溫度檢定槽及RCY-1A一等標(biāo)準(zhǔn)器對(duì)自動(dòng)氣象站進(jìn)行檢定。篩選15支誤差相當(dāng)一致的一等鉑電阻溫度傳感器,按照氣象儀器檢定規(guī)程要求,分別進(jìn)行-20 ℃、0 ℃、30 ℃、50 ℃、80 ℃檢定點(diǎn)檢定[15]。重復(fù)讀數(shù)4次,計(jì)算出平均值,四舍五入保留小數(shù)點(diǎn)后1位,標(biāo)準(zhǔn)表讀數(shù)保留2位小數(shù),檢定數(shù)據(jù)如表2所示。
從表2可以看出,各支路在-20 ℃~80 ℃量程范圍內(nèi)的誤差為±0.1 ℃,當(dāng)中可能包含了傳感器本身的微小誤差,也有電路系統(tǒng)誤差。總的來(lái)說(shuō)這表明了電路的轉(zhuǎn)換線性比較好,完全滿足氣象應(yīng)用需要。
在許多實(shí)際應(yīng)用系統(tǒng)中,溫度測(cè)量或者其它電流型參數(shù)測(cè)量都需要具有可比性,同基準(zhǔn)的測(cè)量就顯得十分重要。本文有效的解決了電流型參數(shù)測(cè)量的同基準(zhǔn)問(wèn)題,以及通過(guò)模擬開(kāi)關(guān)分時(shí)測(cè)量帶來(lái)的延時(shí)穩(wěn)定問(wèn)題;對(duì)接鉑電阻傳感器的時(shí)候,需要在電路設(shè)計(jì)中充分考慮非測(cè)量時(shí)間傳感器的預(yù)熱要求,增加預(yù)熱電路,否則可能影響測(cè)量精度。電路簡(jiǎn)單,用三線數(shù)字接口節(jié)約MCU資源,軟件代碼簡(jiǎn)潔。實(shí)踐表明,由AD7793為核心的24位Σ-Δ型ADC同基準(zhǔn)16路電流型測(cè)溫電路的精度和穩(wěn)定度都是非常優(yōu)異的,靈活性比較好,可以滿足許多測(cè)量系統(tǒng)應(yīng)用要求。
表2 檢定數(shù)據(jù)記錄表
[1] 張志堅(jiān), 楊 雷. 基于Cu50的精確溫度測(cè)量系統(tǒng)[J]. 計(jì)算機(jī)測(cè)量與控制, 2014, 22(5):1355-1356.
[2] 沈顯威, 俞夢(mèng)孫, SHENXian-wei,等. 多通道溫度測(cè)量系統(tǒng)設(shè)計(jì)[J]. 醫(yī)療衛(wèi)生裝備, 2007, 28(6):23-25.
[3] 陳 勇,許 亮,于海闊等.基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2016,24(2):77-79.
[4] 儲(chǔ)呈敏, 馬尚昌, 張素娟,等. 地表溫度測(cè)量方法研究綜述[J]. 電子設(shè)計(jì)工程, 2014, 22(6):187-189.
[5] 敖振浪, 林金田, 李源鴻. 氣象觀測(cè)用地溫測(cè)量裝置誤差一致性電路的設(shè)計(jì)[J]. 計(jì)算機(jī)測(cè)量與控制, 2008, 16(9):1327-1329.
[6] 張志堅(jiān), 楊 雷. 基于Cu50的精確溫度測(cè)量系統(tǒng)[J]. 計(jì)算機(jī)測(cè)量與控制, 2014, 22(5):1355-1356.
[7] 敖振浪, 李源鴻, 呂玉嫦. 一種實(shí)用的精密氣溫測(cè)量算法與實(shí)現(xiàn)[J]. 氣象, 2009, 32(10):103-107.
[8] 王 麗, 武鳳芹, 張紫乾. 一種16通道模擬開(kāi)關(guān)電路測(cè)試設(shè)計(jì)[J]. 集成電路通訊, 2015(3):38-42.
[9] 張靄琛. 現(xiàn)代氣象觀測(cè)[M]. 北京:北京大學(xué)出版社, 2015.
[10] 董 鳴. AD7793在高精度溫控設(shè)備中的應(yīng)用[J]. 電子技術(shù), 2012(8):36-38.
[11] 胡玉峰. 自動(dòng)氣象站原理與測(cè)量方法[J]. 氣象, 2005(4):96-96.
[12] 劉煥乾. AD7793芯片在地溫測(cè)量中的應(yīng)用[J]. 湖南農(nóng)業(yè)科學(xué), 2015(4):143-144.
[13] 王昆鵬, 田佳林, 劉立波,等. 一種四線制Pt100電阻測(cè)量電路: CN, CN203479906U[P]. 2014.
[14] 鐘 科. 基于 STM32的溫度測(cè)量系統(tǒng)[J]. 微處理機(jī), 2015(1):63-67.
[15] 楊 波, 李文博, 張永欣. 自動(dòng)氣象站溫度傳感器計(jì)量檢定中相關(guān)問(wèn)題的探討[J]. 計(jì)量與測(cè)試技術(shù), 2016(11):103-104.
A Design and Application of 16-way Current-type Temperature Measuring Circuit with the Same Reference
Ao Zhenlang, LüXueqin, Lei Weiyan
(Guangdong Meteorological Observation and Data Center, Guangzhou 510080,China)
In many practical applications, it is necessary to measure the temperature at the same time, in order to solve the problem of the same reference standard for multi branch temperature measurement, and ensure that the parameters are comparable. Design the same reference A/D conversion circuit, the use of low resistance analog switch matrix switch of each branch switch construction points, effectively solve the multi branch with reference measurement problems; combined with the practical application to determine the relationship between the A/D converter input circuit filter capacitance and switching delay; using step resistor A/D converter input the "zero" level is uplifted, deviate from the A/D converter to solve the nonlinear range measurement precision of small signal input; platinum resistance sensor for temperature measurement in common use, the circuit current platinum resistance sensor static and preheating current measurement of the conversion of analog switch, ensure stable signal circuits play a very good effect. In the actual application system, show that the test data and the effect of using the same reference, 16 current type temperature measuring circuit has the characteristics of high stability, high precision, applicable to all kinds of coherent measurement system using.
temperature measurement; sixteen channel; current mode load; same reference datum; digital to analog conversion circuit design
2017-02-13;
2017-03-03。
敖振浪(1962-),男,廣東省陽(yáng)江市人,教授級(jí)高級(jí)工程師(三級(jí)),碩士生導(dǎo)師,主要從事氣象探測(cè)儀器設(shè)備研發(fā)、設(shè)備防雷技術(shù)研究、嵌入式軟件硬件開(kāi)發(fā)方向的研究。
1671-4598(2017)05-0062-05
10.16526/j.cnki.11-4762/tp.2017.05.018
TH811;TP399
A