無論在工業(yè)、農(nóng)業(yè)、科學研究、國防和人們?nèi)粘I畹母鱾€方面,溫度測量和控制都是極為重要的課題。溫度測量系統(tǒng)在單片機系統(tǒng)設計中應用廣泛,根據(jù)單片機系統(tǒng)設計要求的不同,溫度測量系統(tǒng)的設計也有所不同,有采用集成芯片的,也有采用恒流源器件和恒壓源器件的。本系統(tǒng)選用PT100鉑熱電阻作為溫度信號采集元件,來進行溫度測量系統(tǒng)設計。
1 基本工作原理
PT100鉑熱電阻的阻值隨著溫度的變化而變化,利用這一特點來采集溫度信號,將采集到的信號轉(zhuǎn)換成電壓信號;再經(jīng)過A/D轉(zhuǎn)換成數(shù)字信號并由單片機系統(tǒng)讀取;單片機系統(tǒng)把讀取到的數(shù)字信號進行識別處理,并換算成與溫度對應的數(shù)字信號,最后再由液晶顯示器顯示輸出溫度值。
2 硬件設計
硬件組成主要包括恒流源電路、電壓放大、A/D轉(zhuǎn)換接口電路、光耦隔離電路、液晶顯示電路5個組成部分。
2.1 恒流源電路
恒流源電路如圖1所示。其中芯片OP07為運算放大器,它和5個電阻組成恒流源電路,在VIN+處輸出1 mA的工作電流。圖中DGND=5 V,VMC=0 V,有4個節(jié)點分別是NET1,NET2,NET3,NET4。設流過R110的電流為Ia,流過R114的電流為Ib,單位為mA,方向都向右。
則根據(jù)運放的虛斷和虛短,則有方程:
DGND-(R111+R110)×Ia+R114×Ib-R113×((DGND-R111×Ia)/R112)-(VDGND-R111×Ia)=0
代入數(shù)據(jù),有:
5-(10+1)×Ia+1×Ib-2×((5-10×Ia)/10)-(5-10×Ia)=0
可算得Ia+Ib=1,而Ia+Ib即為所求電流I,為1 mA。
根據(jù)方程,可知要得到Ia+Ib為常數(shù),必須滿足:
R113×R111/R112-R110=R114
所以,這個電路成為恒流源的條件是:
R111/R112=(R110+R114)/R113
如果R111=R112則必須R110+R114=R113,此時,恒流值為I=DGND×R113/R112/R114。
其中J110用于連接PT100鉑熱電阻。
2.2 電壓放大及A/D轉(zhuǎn)換接口電路
PT100鉑熱電阻一端輸出的電壓很小,如果直接與A/D轉(zhuǎn)換器相連接,則轉(zhuǎn)換數(shù)據(jù)偏差較大;所以本設計中將PT100鉑熱電阻一端輸出的電壓放大10倍后與電壓跟隨器相連接,再進行A/D轉(zhuǎn)換,這樣就能得到較好的轉(zhuǎn)換效果,如圖2所示。精密放大器INA118和電壓基準芯片MC1403組成放大電路,VIN+為PT100鉑熱電阻一端輸出的電壓值;WIN-為基準電壓源MC1403輸出的電壓值;VOUT為放大后的輸出電壓值。計算公式為:VOUT=G×((VIN+)-(VIN-)),其中G的大小由電阻R120來決定,G=1+50 kΩ/R120。芯片OPA277與外圍電阻組成電壓跟隨器。
選用雙積分型3(1/2)位的MC14433芯片A/D轉(zhuǎn)換器(相當于11位二進制數(shù)),MC14433采用動態(tài)掃描BCD碼輸出方式,即千、百、十、個位BCD碼輪流地在Q0~Q4端輸出,同時在DS1~DS4端出現(xiàn)同步字位選通信號。如圖3所示。
MC1403集成精密+2.5 V電壓源經(jīng)電位器分壓后作為A/D轉(zhuǎn)換的基準電壓。MC14433的DU端與EOC端相連,以選擇連續(xù)轉(zhuǎn)換方式,每次轉(zhuǎn)換結(jié)果都送至輸出寄存器。EOC是A/D轉(zhuǎn)換結(jié)束的輸出標志信號。單片機在讀取A/D轉(zhuǎn)換結(jié)果時,可以采用中斷方式或查詢方式。為使單片機能忙于其他任務,本設計系統(tǒng)采用中斷方式。DU端與EOC相連后經(jīng)光耦連至單片機的INT1端。
在MC14433上電后,即對外部模擬輸入電壓信號進行A/D轉(zhuǎn)換,由于EOC與DU端相連,每次轉(zhuǎn)換完畢都有相應的BCD碼及相應的選通信號出現(xiàn)在Q0~Q4和DS1~DS4上。當單片機開放中斷,允許INT1中斷申請,并置外部中斷為邊沿觸發(fā)方式,在執(zhí)行中斷程序后,每次A/D轉(zhuǎn)換結(jié)束時,都將把A/D轉(zhuǎn)換結(jié)果送入片內(nèi)RAM中。
電壓信號經(jīng)過MC14433A/D轉(zhuǎn)換后,再經(jīng)光耦隔離電路傳送給單片機,單片機處理后由液晶顯示器輸出溫度值。
2.3 光耦隔離電路
為使輸入信號準確無誤,在I/O口擴展芯片8255與A/D轉(zhuǎn)換部分采用光耦進行隔離。A/D轉(zhuǎn)換作為模擬量輸人部分,采用獨立模擬電源和模擬地。單片機及I/O口擴展芯片8255作為數(shù)字部分采用獨立數(shù)字電源和數(shù)字地,減少外部輸入對單片機的影響。Q0~Q4和DS1~DS4用2片TLP521-4進行隔離后連接至擴展芯片8255C口上,電路如圖4所示。
2.4 單片機控制與液晶顯示接口電路
本設計選用的是128×64點陣的OCMJ4×8C中文液晶圖形顯示模塊。C系列中文模塊可以顯示字母、數(shù)字符號、中文字型及圖形,具有繪圖及文字畫面混合顯示功能,與傳統(tǒng)的圖形點陣液晶顯示模塊相比,單片機硬件接口電路以及軟件編程比較簡單,內(nèi)置2 Mb中文字型ROM(CGROM)總共提供8 192個中文字型,可節(jié)省大量單片機設計的ROM空間,可更多地顯示漢字字符的數(shù)量,更加發(fā)揮了液晶顯示技術(shù)在單片機系統(tǒng)中的應用。OCMJ4×8C模塊非常適用于顯示漢字信息量較大的智能儀器儀表系統(tǒng)及家用電器??刹捎?位并列接口傳輸訊號及串行接口與串行傳輸資料2種資料傳輸方式。本設計系統(tǒng)采用的是并列傳輸方式。單片機控制與液晶顯示接口電路如圖5所示(J91和J11用于連接液晶顯示器)。
3 軟件設計及程序流程圖
軟件設計主要分為主程序、INT0外部中斷子程序、液晶顯示子程序。主程序完成對中斷的初始化、等待外部中斷的查詢結(jié)果、調(diào)用顯示子程序。INT0外部子程序完成對溫度測量數(shù)據(jù)的讀取。顯示子程序完成液晶顯示器的初始化及顯示溫度值。程序流程圖如圖6所示。
在單片機讀取A/D轉(zhuǎn)換后的BCD碼時,為了避免讀取不正確數(shù)值,在軟件編程時采用對數(shù)據(jù)多次采樣的方法,即在一定的時間內(nèi),連續(xù)讀取BCD碼,全部為一樣的數(shù)值時才作為正確的數(shù)值接收,否則視為不正確數(shù)值而被忽略,這樣可以有效地保障在顯示器上輸出的溫度值連續(xù)變化,而不發(fā)生干擾性的跳動。由于PT100鉑熱電阻的阻值隨溫度的變化為非線性的,所以在軟件編程時進行了線性擬合,阻值(R)與溫度(T)的關系式為T=2.469R+27.2,其中電阻R的單位是Ω;T的單位是K。
4 結(jié) 語
在溫度測量系統(tǒng)設計中,PT100鉑熱電阻被密封在金屬棒中,這樣使得本溫度測量系統(tǒng)不但可以檢測室內(nèi)的氣體溫度,還可以檢測土壤、液體、種子等內(nèi)的溫度,大大提高了溫度測量系統(tǒng)的適用范圍,且采用PT100鉑熱電阻為溫度采集元件,可有效地降低開發(fā)成本。而且在設計中所采用的MCl4433A/D轉(zhuǎn)換器,雖然轉(zhuǎn)換速度慢,但具有抗干擾性能好、轉(zhuǎn)換精度高,在不要求高速轉(zhuǎn)換的溫度控制系統(tǒng)中,則被廣泛采用。A/D轉(zhuǎn)換部分與單片機控制系統(tǒng)完全采用光耦進行隔離,在降低干擾信號對單片機控制系統(tǒng)的影響方面起到重要的作用。另外在設計中所采用的OCMJ4×8C液晶顯示器,其與單片機硬件連接相當簡單,無需其他外圍器件,即節(jié)省了元件又使設計簡單化。本溫度測量系統(tǒng)電路設計簡單方便、實用性好、電路工作穩(wěn)定、可靠性高。