介紹了以PIC16F876單片機(jī)為核心的智能溫度變送器。主要包括PIC單片機(jī)對(duì)不同分度號(hào)的熱電偶和不同感溫材料熱電阻的數(shù)據(jù)采集,以及對(duì)微弱信號(hào)mV或mA的信號(hào)隔離。重點(diǎn)講述了輸入信號(hào)調(diào)理和PWM輸出通道的硬件設(shè)計(jì),也討論了對(duì)熱電偶非線性的處理。為工業(yè)溫度測(cè)量提供了一種低功耗的經(jīng)濟(jì)實(shí)用的方案。uC7壓力變送器_差壓變送器_液位變送器_溫度變送器
在工業(yè)過(guò)程控制領(lǐng)域中,有大量的溫度信號(hào)需要測(cè)量。而對(duì)溫度的測(cè)量,常用的測(cè)溫器件有熱電偶(TC)和熱電阻(RTD)兩種,熱電偶又根據(jù)感溫材料的不同,有K,E,S,B,J,T,R不同的分度號(hào);熱電阻根據(jù)感溫材料和0℃時(shí)標(biāo)準(zhǔn)電阻不同,有PT100,PT10和CU100,CU50等類(lèi)型。這些不同型號(hào)的熱電偶和熱電阻,它們的測(cè)量溫度范圍和輸出范圍迥然不同,這對(duì)變送器輸入通道的信號(hào)調(diào)理設(shè)計(jì)帶來(lái)了挑戰(zhàn),給制造廠商帶來(lái)了不小的麻煩,傳統(tǒng)模擬電路很難做出通用的
熱電阻溫度變送器。在變送器的設(shè)計(jì)中,功耗的問(wèn)題也是一個(gè)不得不注意的問(wèn)題。出于這些因素的考慮,本文設(shè)計(jì)出了基于低功耗PIC單片機(jī)的高精度
智能溫度變送器,實(shí)現(xiàn)了對(duì)熱電偶、熱電阻、微電流mA和微電壓mV的四種輸入類(lèi)型的測(cè)量,隔離輸出4-2OmA和1-5V四種輸出類(lèi)型的工業(yè)標(biāo)準(zhǔn)信號(hào)。
1硬件設(shè)計(jì)
硬件電路主要由三個(gè)功能模塊組成:輸入通道、輸出通道和數(shù)字信號(hào)處理電路。完整的硬件電路原理圖如圖1所示。信號(hào)流程是shou先確定輸入信號(hào)類(lèi)型,然后由單片機(jī)智能控制信號(hào)調(diào)理部分,使調(diào)理輸出信號(hào)落在運(yùn)放的線性放大區(qū),#后信號(hào)經(jīng)過(guò)AD采樣由單片機(jī)進(jìn)行運(yùn)算,處理結(jié)果由單片機(jī)PWM輸出,PWM再進(jìn)行光電隔離,由輸出電路完成PWM向電流的轉(zhuǎn)換。
輸入通道模擬多路開(kāi)關(guān)CD4051負(fù)責(zé)選通模擬輸入,可以選擇輸入熱電偶、熱電阻、本地溫度,mV和mA信號(hào),選擇控制權(quán)由PIC單片機(jī)實(shí)現(xiàn)。由輸入通道模擬多路開(kāi)關(guān)輸入的微弱信號(hào)經(jīng)過(guò)放大電路放大,放大電路采用ICL7650MJD,它是一種低功耗的CMOS芯片,高達(dá)至少120d B的CMRR和PSRR增益,#大輸入偏移電流10pA,是微信號(hào)的理想放大器。為了讓ICL7650MJD工作在線性區(qū),對(duì)ICL7650MJD的放大倍數(shù)采用了模擬多路開(kāi)關(guān)CD4051進(jìn)行控制,由單片機(jī)對(duì)AD采樣信號(hào)進(jìn)行判別,決定放大系數(shù)。
中央處理單元采用Microchip公司的PIC 16F876低功耗微處理器,它是變送器的關(guān)鍵部件之一,由它完成變送器的AD轉(zhuǎn)換、測(cè)量類(lèi)型選擇、輸出類(lèi)型選擇、對(duì)外通訊等功能。它是采用哈佛結(jié)構(gòu)的RSIC單片機(jī),內(nèi)置5路10位AD轉(zhuǎn)換器,8K片內(nèi)14位Flash存儲(chǔ)器、368字節(jié)RAM, 256字節(jié)EEPROM,一路UART接口,兩路PWM輸出。
精密電源由丁L431實(shí)現(xiàn),由丁L431提供穩(wěn)定的3.5V的精密電源和1mA精密電流源,這個(gè)3.5V電源對(duì)輸入通道供電和單片機(jī)的AD采樣基準(zhǔn)電壓,當(dāng)測(cè)量類(lèi)型為熱電阻時(shí),1mA電流源對(duì)熱電阻供電。RS232接口來(lái)實(shí)現(xiàn)智能編程接入,由于PIC16F876單片機(jī)內(nèi)置256字節(jié)的EEPROM,決定變送器當(dāng)前測(cè)量類(lèi)型、測(cè)溫范圍、輸出類(lèi)型的變量可以通過(guò)RS232存入EEPROM,當(dāng)外部PC或手持編程終端對(duì)該部分EEPROM進(jìn)行改寫(xiě)時(shí),智能溫度變送器可工作在用戶所需的測(cè)量類(lèi)型和輸出類(lèi)型。
2輸入通道和輸出通道
輸入通道的信號(hào)調(diào)理也是變送器的關(guān)鍵部件之一,調(diào)理電路如圖2所示。由4051(U6)決定輸入信號(hào)類(lèi)型,可有三線制或四線制的熱電阻輸入、熱電偶、mV,mA和本地溫度(AD590實(shí)現(xiàn))測(cè)量輸入。通道的選擇由單片機(jī)的IO口(圖中CH 1-CH3)控制。放大倍數(shù)由4051(U 10)決定,由單片機(jī)的}0口(圖中M丁L1-MTL3)控制。運(yùn)放采用Maxim公司的ICL7650MJD,C16和C17為0.15F的聚苯乙烯電容,C18和C19為擔(dān)電容。在布線PCB板時(shí),在4和5腳周?chē)?huà)圓,然后接到3和6號(hào)腳,這樣做能減小輸入信.號(hào)的泄漏電流到#小。所有電阻都采用精密電阻。調(diào)理輸出信號(hào)VSample輸出到單片機(jī)的AD輸入口。
輸出通道電路如圖3所示,它完成的是PWM向IN的轉(zhuǎn)換。這里摒棄了傳統(tǒng)的DA轉(zhuǎn)換,采用的是PWM向IN的轉(zhuǎn)換,在功能上不僅沒(méi)有減弱,更有了進(jìn)一步的提高,并且在成本上相對(duì)DA具有更大的優(yōu)勢(shì)。
PWM信號(hào)輸出后,經(jīng)過(guò)光禍隔離后,再經(jīng)過(guò)74AC04的波形整形,74AC04的電源由丁L431提供精密的2.5V電源,整形后的波形幅值是2.5V的標(biāo)準(zhǔn)PWM波形。然后經(jīng)過(guò)兩級(jí)低通濾波器濾波,作為運(yùn)放O P07的正輸入信號(hào)。"R”電阻是作為電壓信號(hào)輸出時(shí)才用(對(duì)應(yīng)圖1中的PWM2通道),接25051的精密電阻。
PIC單片機(jī)的PWM周期和高電平時(shí)間可編程調(diào)節(jié),PWM周期#大為1024個(gè)丁q仃4為一個(gè)基時(shí)間,可編程設(shè)置),當(dāng)用4M晶振J。設(shè)置成9605s時(shí),PWM高電平時(shí)間((Tq個(gè)數(shù))和輸出電流!,大小的對(duì)應(yīng)關(guān)系如圖4。由圖4可知,當(dāng)PWM的值大于200而小于1000時(shí),曲線近似為一直線,4~20mA電流在線性范圍內(nèi)。對(duì)該曲線進(jìn)行#小二乘曲線擬合,得出擬合曲線方程為:Y二一0.0249x+27.384,其中,Y為輸出的電流值(mA為單位),x為PWM的值仃q的個(gè)數(shù)),#大誤差為0.3%。
3軟件設(shè)計(jì)和熱電偶非線性處理
3.1主程序流程
主程序流程如圖5,程序采用模塊化編程方法。程序的主
要功能是完成對(duì)輸入信號(hào)的測(cè)量,計(jì)算相應(yīng)的溫度,輸出溫度值線性對(duì)應(yīng)的電流或電壓值。具體步驟如下:
1)主程序shou先讀取EEPROM中數(shù)據(jù),決定測(cè)量類(lèi)型和
輸出類(lèi)型、測(cè)溫范圍,根據(jù)測(cè)量類(lèi)型啟動(dòng)相應(yīng)的輸入通道。。2)測(cè)量熱電阻時(shí)啟動(dòng)精密電流源。
3)啟動(dòng)AD,測(cè)量輸入端電壓,測(cè)量結(jié)果不在運(yùn)放的線性
工作區(qū)內(nèi)則調(diào)整放大倍數(shù)。若是熱電偶測(cè)量,則再次啟動(dòng)AD測(cè)量本地溫度。根據(jù)二項(xiàng)式擬合公式(以下會(huì)敘述)計(jì)算熱電阻或熱電偶對(duì)應(yīng)的溫度值。
4)根據(jù)輸出類(lèi)型和當(dāng)前的溫度值,以及溫度測(cè)量范圍,由PWM值與輸出電流的擬合公式Y(jié)=一0.0249x+27.3846,得出PWM的輸出值。例如,輸出類(lèi)型為4--20mA,當(dāng)前所測(cè)溫度值為t,溫度測(cè)量范圍為T(mén)min一Tmax,則輸出的PWM為:
3.2熱電偶非線性化處理
由于PIC16F876只有8K的Flash ROM,不可能存儲(chǔ)大量的數(shù)據(jù)。又由于要測(cè)熱電偶的分度號(hào)比較多,測(cè)量溫度范圍比較大,它們輸出的熱電勢(shì)與溫度又是非線性關(guān)系,沒(méi)有可遵循的公式。如果要得到高精度的熱電勢(shì)與溫度的關(guān)系,一般的處理方法是在EEPROM或單片機(jī)的Flash中存入每個(gè)分度號(hào)熱電偶的熱電勢(shì)和溫度數(shù)據(jù),對(duì)測(cè)得的熱電勢(shì)進(jìn)行線性插值計(jì)算,得出當(dāng)前的溫度。在保證精度的前提下,這樣做要對(duì)各個(gè)分度號(hào)的熱電偶都要存入大量的數(shù)據(jù),占用大量的存儲(chǔ)空間。而如果采用分段擬合的方法,只在存儲(chǔ)空間中存入分段擬合方程的系數(shù),這樣就將大大減小存儲(chǔ)空間。
計(jì)算某分度號(hào)熱電偶的二項(xiàng)式擬合公式時(shí),shou先根據(jù)EC584-1標(biāo)準(zhǔn)中的計(jì)算函數(shù)計(jì)算出熱電偶的分度表,在0-10C內(nèi)用二階多項(xiàng)式擬合,計(jì)算出二項(xiàng)式系數(shù)a[0],b[0],c[0],然后,用擬合的多項(xiàng)式t=a[0]+b[0]xE;+c[0]xE{(為熱電偶的熱電勢(shì)),計(jì)算得到的溫度值t和由1EC584-1標(biāo)準(zhǔn)函數(shù)計(jì)算的溫度值t,比較,如果差值ERR在允許的誤差ERRA(0.1℃)范圍內(nèi),則擬合區(qū)間再增加10C,重新計(jì)算a[0],b[0],c[0],依此類(lèi)推,直到精度超出允許誤差ERRA。則a[0],b[0],c[O」即為該區(qū)間的精度為0.1℃的二項(xiàng)式擬合曲線。下一區(qū)間的擬合曲線以前一曲線結(jié)束的點(diǎn)為開(kāi)始,同理可計(jì)算出擬合系數(shù)a[1],b[1],c[1]。依此類(lèi)推,可以計(jì)算出熱電偶測(cè)溫范圍內(nèi)的所有二項(xiàng)式擬合系數(shù)a[i],b[i],c[i],i=0,1,2"二。由此法計(jì)算出的熱電偶的擬合精度在0.1℃以?xún)?nèi)。對(duì)每個(gè)分度號(hào)的熱電偶分別計(jì)算出分段擬合二項(xiàng)式,在PIC單片機(jī)的Flash中存入這些二項(xiàng)式的系數(shù)。在測(cè)量中根據(jù)測(cè)到的熱電勢(shì),用該熱電勢(shì)所在分段的擬合二項(xiàng)式求出當(dāng)前溫度值。例如,假設(shè)當(dāng)前所用熱電偶分度號(hào)為K型,經(jīng)過(guò)零點(diǎn)校正后的熱電偶溫度為18mV,根據(jù)分段區(qū)間知當(dāng)前應(yīng)該用的二項(xiàng)式系數(shù)為a [3] =7.3384, b [3] =24.2483,c [3]=一0.018,則當(dāng)前溫度值為t=7.3384+24.2483 x 18-0.0183 x 182=437.880C。
4結(jié)束語(yǔ)
本文提出基于PIC單片機(jī)的智能溫度變送器,充分利用了PIC單片機(jī)PWM的功能,設(shè)計(jì)出高性?xún)r(jià)比的輸出通道,對(duì)熱電偶的非線性化處理,使少量的存儲(chǔ)空間可以實(shí)現(xiàn)復(fù)雜的算法,能夠滿足工業(yè)過(guò)程控制中的精度要求。系統(tǒng)硬件設(shè)計(jì)簡(jiǎn)單、可靠性好、精度高。軟件編程采用模塊化方法,方便在線編程變送器的測(cè)量類(lèi)型和輸出類(lèi)型。經(jīng)實(shí)際應(yīng)用,本產(chǎn)品可穩(wěn)定應(yīng)用到工業(yè)過(guò)程控制場(chǎng)合,在全國(guó)多家企業(yè)中得到應(yīng)用。
注明,三暢儀表文章均為原創(chuàng),轉(zhuǎn)載請(qǐng)標(biāo)明本文地址