用單片機(jī)和EDA協(xié)同設(shè)計(jì)溫度采集系統(tǒng)
引 言
目前市場(chǎng)中大多數(shù)溫度采集卡的測(cè)量范圍、測(cè)量方式及測(cè)量精度在出廠時(shí)就已經(jīng)固定。測(cè)量方式單一、測(cè)量范圍固定、傳感方式也只能適應(yīng)一定的場(chǎng)合。因此不能很好的適用一些多測(cè)量方式及測(cè)量范圍的場(chǎng)合。再者它們的測(cè)量程序和查表數(shù)據(jù)庫(kù)已經(jīng)固定,對(duì)于一些有特殊要求的場(chǎng)合不能適用。本系統(tǒng)采用現(xiàn)場(chǎng)可編程門陣列(FPGAEP1K30QC208-3)對(duì)數(shù)據(jù)進(jìn)行處理,它的程序能夠在線修改,因此有極強(qiáng)的可塑性??梢赃m時(shí)的對(duì)其程序及查表數(shù)據(jù)庫(kù)進(jìn)行改進(jìn)和更新,能使系統(tǒng)的性能得到升級(jí)。從而可以使系統(tǒng)滿足不同的場(chǎng)合需要。
1 溫度采集系統(tǒng)硬件設(shè)計(jì)
由于不同的傳感器有不同的輸出量,但是最終都需要轉(zhuǎn)換為0~10V的電壓值,從而才能滿足A/D轉(zhuǎn)換器的轉(zhuǎn)換要求。因此各個(gè)傳感器需要不同的轉(zhuǎn)換和放大電路。轉(zhuǎn)換后的電壓量經(jīng)過多路模擬開關(guān)選擇送到同一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。再經(jīng)FPGA進(jìn)行數(shù)據(jù)處理及顯示輸出。整機(jī)框圖如圖1所示。
1.1 PN結(jié)測(cè)溫原理
由于PN結(jié)隨溫度變化產(chǎn)生的是一個(gè)電壓信號(hào),溫度每升高1℃,PN結(jié)的正向?qū)▔航迪陆? mV。但在0℃時(shí)要求輸出電壓為0 V,因此必須將PN結(jié)連接成單臂非平衡直流電橋。并且將輸出電壓放大到0~10 V范圍送A/D轉(zhuǎn)換電路。電路原理圖如圖(2)所示:
1.2 PT100熱電阻測(cè)溫原理硬件電路
由于PT100熱電阻隨溫度變化產(chǎn)生的是一個(gè)電阻信號(hào),當(dāng)溫度升高時(shí)電阻值增大。因此必須將熱電阻接成單臂直流電橋,將其阻值變化轉(zhuǎn)換為電壓變化信號(hào)。再將這個(gè)電壓信號(hào)放大到0~10 V范圍送A/D轉(zhuǎn)換電路。電路圖略。
1.3 熱電偶測(cè)溫原理硬件電路
熱電偶的輸出是一個(gè)隨溫度變化的電壓信號(hào),它必須加上冷端補(bǔ)償電路才能正常工作,并且它的輸出也要轉(zhuǎn)換為0~10 V的范圍送A/D轉(zhuǎn)換電路。電路圖如圖3所示:
2 溫度采集系統(tǒng)軟件設(shè)計(jì)
溫度采集系統(tǒng)軟件分為單片機(jī)程序設(shè)計(jì)和FPGA程序設(shè)計(jì),單片機(jī)程序采用匯編語(yǔ)言編寫,實(shí)現(xiàn)對(duì)外圍電路的控制。FPGA采用VHDL語(yǔ)言編寫,實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理及被測(cè)溫度的顯示輸出。
2.1 單片機(jī)控制
單片機(jī)用來控制多路模擬開關(guān)及FPGA,并顯示是那種方式測(cè)量。P1口接一位數(shù)碼管(表示輸出測(cè)量方式代碼,1代表PN結(jié)測(cè)量方式,2代表熱電偶測(cè)量方式,3代表熱電阻測(cè)量方式)。P2口接輸出模擬開關(guān)控制字、存儲(chǔ)器片選信號(hào)及FPGA程序切換控制信號(hào)。程序流程圖如圖4所示。
2.2 FPGA數(shù)據(jù)處理
FPGA對(duì)數(shù)據(jù)的處理是根據(jù)不同的測(cè)量方式進(jìn)行數(shù)據(jù)處理的。當(dāng)選擇PN結(jié)測(cè)量方式時(shí),F(xiàn)PGA根據(jù)PN結(jié)的溫度電壓變化函數(shù),對(duì)數(shù)據(jù)進(jìn)行計(jì)算,從而得出對(duì)應(yīng)的溫度值;當(dāng)選擇熱電偶或熱電阻測(cè)量方式時(shí),F(xiàn)PGA是依次查找對(duì)應(yīng)分度表的數(shù)據(jù)與A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行比較計(jì)算,最終得出其溫度值??梢姛犭娕蓟驘犭娮铚y(cè)量方式的數(shù)據(jù)處理是相同的,只是分度表不同而已。
2.2.1 PN結(jié)數(shù)據(jù)處理
PN結(jié)測(cè)量方式,F(xiàn)PGA根據(jù)PN結(jié)的溫度電壓變化函數(shù)(溫度每升高1℃,PN結(jié)正向?qū)▔航禍p小1 mV),對(duì)數(shù)據(jù)進(jìn)行計(jì)算,從而得出對(duì)應(yīng)的溫度值。
2.2.2 熱電偶、熱電阻數(shù)據(jù)處理
熱電偶或熱電阻測(cè)量方式,F(xiàn)PGA是依次查找對(duì)應(yīng)分度表的數(shù)據(jù)與A/D轉(zhuǎn)換的數(shù)據(jù)進(jìn)行比較計(jì)算,最終得出其溫度值。程序流程圖如圖5所示。
3 溫度采集系統(tǒng)安裝調(diào)試
安裝調(diào)試是一個(gè)系統(tǒng)最關(guān)鍵也是最容易出現(xiàn)問題的一步,本系統(tǒng)安裝調(diào)試中遇到的一些問題及給出最后處理方法如下:(1)熱電偶的工作必須有冷端補(bǔ)償電路才能正常工作,在搭試其冷端補(bǔ)償電路時(shí),它的橋路電阻參數(shù)很難確定。因?yàn)椴煌吞?hào)的熱電偶其各橋臂電阻及限流電阻也會(huì)不同,在多次調(diào)整各個(gè)參數(shù)后才確定了其各橋臂參數(shù)。(2)各放大電路在開始時(shí)用了一級(jí)的電壓放大,出現(xiàn)了抗干擾能力差、放大倍數(shù)不穩(wěn)定等問題。為了提高抗干擾能力,穩(wěn)定電壓放大倍數(shù)。后來采用兩級(jí)放大,第一級(jí)采用低放大倍數(shù)的差放電路,消除共模干擾。第二級(jí)再采用電壓放大就很好的實(shí)現(xiàn)無干擾穩(wěn)定放大。(3)軟件調(diào)試中出現(xiàn)了顯示清零的現(xiàn)象,最后查出是AD轉(zhuǎn)換數(shù)據(jù)沒有鎖存住。采用軟件鎖存的辦法使得該問題得到了解決。
4 結(jié)語(yǔ)
該溫度采集系統(tǒng)能夠?qū)崿F(xiàn)PN結(jié)(20~100℃)、熱電阻(PT100)(0~800℃)、熱電偶(鎳锘-鎳硅K型)(0~1 000℃)3種方式的溫度測(cè)量。可以滿足不同測(cè)量范圍、不同測(cè)量精度及不同場(chǎng)合的需要。本設(shè)計(jì)采用EDA作為開發(fā)工具,搭配單片機(jī)控制。使得整個(gè)設(shè)計(jì)具有較新的設(shè)計(jì)思想。采用12ADC模數(shù)轉(zhuǎn)換器,使得測(cè)量精度得到了極大的提高。數(shù)據(jù)處理采用現(xiàn)場(chǎng)可編程門陣列FPGA(EP1K30QC208—3),它極高的程序執(zhí)行速度使得系統(tǒng)響應(yīng)更快更精確。
評(píng)論