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