在各類民用控制、工業(yè)控制以及航空航天技術(shù)方面,溫度測量和溫度控制得到了廣泛使用。在很多工作場合,元器件工作溫度指標達不到工業(yè)級或普軍級溫度要求,可以通過設(shè)計加溫電路的辦法得以解決。小型、低功耗、可靠性高、低成本的溫度傳感器已經(jīng)越來越受到設(shè)計者的關(guān)注。本文介紹了一種基于LM35溫度傳感器開發(fā)的溫控系統(tǒng)硬件電路及軟件設(shè)計
2.LM35溫度傳感器 LM35是NS公司生產(chǎn)的集成電路溫度傳感器系列產(chǎn)品之一,它具有很高的工作精度和較寬的線性工作范圍,該器件輸出電壓與攝氏溫度線性成比例。因而,從使用角度來說, LM35與用開爾文標準的線性溫度傳感器相比更有優(yōu)越之處,LM35無需外部校準或微調(diào),可以提供±1/4℃的常用的室溫精度。 工作電壓:直流4~30V; 工作電流:小于133μA 輸出電壓:+6V~-1.0V 輸出阻抗:1mA負載時0.1Ω; 精度:0.5℃精度(在+25℃時); 漏泄電流:小于60μA; 比例因數(shù):線性+10.0mV/℃; 非線性值:±1/4℃; 校準方式:直接用攝氏溫度校準; 封裝:密封TO-46晶體管封裝或塑料TO-92晶體管封裝; 使用溫度范圍:-55~+150℃額定范圍。 引腳介紹: ①正電源Vcc;②輸出;③輸出地/電源地。
3.系統(tǒng)結(jié)構(gòu)及工作原理 溫控電路由傳感器電路、信號調(diào)理電路、A/D采樣電路、單片機系統(tǒng)、輸出控制電路、加溫電路構(gòu)成。電路基本工作原理:傳感器電路將感受到的
溫度信號以電壓形式輸出到信號調(diào)理電路,信號經(jīng)過調(diào)理后輸入到A/D采樣電路,由A/D轉(zhuǎn)換器將數(shù)字量值送給單片機系統(tǒng),單片機系統(tǒng)根據(jù)設(shè)計的溫度要求判斷是否需要接通加溫電路。本文設(shè)計時以0℃為判別依據(jù),當
溫度量值低于或等于0℃時,使加溫電路接通。當溫度量值高于0℃時,加溫電路停止工作。 520) this.width=520;\\\" border=0> 從圖1中可以看出,無論是何種原因?qū)е颅h(huán)境溫度低于0℃,單片機系統(tǒng)將輸出相應(yīng)的邏輯電平(本例設(shè)計為低電平),經(jīng)驅(qū)動后控制輸出電路的繼電器閉合,使加溫電路工作。此系統(tǒng)是一個開環(huán)控制系統(tǒng)。
4.核心硬件電路設(shè)計及采樣值量化 傳感器電路采用核心部件是LM35AH,供電電壓為直流15V時,工作電流為120mA,功耗極低,在全溫度范圍工作時,電流變化很小。電壓輸出采用差動信號方式,由2、3引腳直接輸出,電阻R為18K普通電阻,D1、D2為1N4148。如圖2。此電路適用于測溫范圍為-55~+150℃場合。如果測溫范圍變化,可以對此電路作一些調(diào)整。筆者曾單獨對此電路做過溫度試驗,把傳感器放在溫變循環(huán)箱中,每隔5℃作為一個測試點,觀測并記錄輸出電壓(測試數(shù)據(jù)和U-T曲線限于篇幅,從略),試驗結(jié)果表明LM35AH的線性度是令人滿意的。 信號調(diào)理電路主要完成對傳感器信號放大和限幅的功能,將傳感器電路輸出的變化范圍為2V左右的直流電壓,調(diào)理為±10V直流電壓,運放采用LF412。A/D采樣電路選用12位AD轉(zhuǎn)換器AD574。單片機系統(tǒng)以AT89C55為CPU,外接鎖存器及輸出驅(qū)動電路。輸出電路使用松下PhotoMOS繼電器AQZ202,來控制加溫電路的通斷。加溫電路采用功率電阻加溫的方法,單獨設(shè)計一塊加溫板,電阻采用“串聯(lián)+并聯(lián)”的方式,總阻值為14Ω左右,供電電壓為直流28V,整板加溫功率為50W。 采樣值的準確量化是溫控電路正常工作的關(guān)鍵,這里采用以下?lián)Q算辦法來進行量化。 設(shè)經(jīng)過信號調(diào)理后的電壓為Ui,則-10V≤Ui≤10V,已知-10V對應(yīng)的溫度為-55℃,10V對應(yīng)的溫度為125℃,易求得比例因數(shù)Kt=0.111V/℃。 溫度為0℃時,ΔT=55℃(即相對于-55℃的變化量)。 Ui=-10V+ΔT?Kt=-10V+55℃×0.111V/℃=-3.895 V。 Ui轉(zhuǎn)換為數(shù)字量后,每個數(shù)字量對應(yīng)電壓值為4.883mV,(由12位AD,滿量程20V可得),用Ks表示?汕蟮脭(shù)字量變化與溫度變化的對應(yīng)關(guān)系: Kt/Ks =(0.111V/℃)/(4.883mV/數(shù)字量)=22.73數(shù)字量/℃ 0℃時,AD輸出的數(shù)字量D0 = 0+55℃×22.73數(shù)字量/℃=1250=04E2H。 其他溫度對應(yīng)的數(shù)字量也可通過以上方法算出。
5.系統(tǒng)軟件設(shè)計 軟件采用PLM/51語言與ASM混合編程,采用模塊化結(jié)構(gòu),主要由主模塊、AD采樣模塊、初始化模塊、定時器模塊、出錯處理模塊等部分構(gòu)成,修改和維護十分方便。 AD與單片機系統(tǒng)AT89C55連接采用中斷方式。當AD轉(zhuǎn)換完畢后,CPU讀取轉(zhuǎn)換后的數(shù)字量,通過比較判斷,如果數(shù)字量大于0℃時對應(yīng)的數(shù)字量04E2H,則刷新邏輯輸出口P1,送低電平。否則,P1口為高電平。軟件工作流程如圖3: 520) this.width=520;\\\" border=0> 圖3:系統(tǒng)軟件流程圖 為了避免因干擾而產(chǎn)生誤動作,軟件采取了一些冗余和容錯處理。在AD模塊處理采樣數(shù)據(jù)時,采用了軟件濾波措施,以濾除電路中可能會出現(xiàn)的尖峰干擾。方法為連續(xù)采樣五次,通過比較判斷,去掉其中的最大、最小值。其余三次的值求和后取平均值,把平均值作為CPU用來判別的有效數(shù)據(jù),再和04E2H(0℃對應(yīng)數(shù)字量)進行比較。AD模塊部分代碼如下: $DEBUG $ROM(LARGE) AD_mod:DO; $INCLUDE(REG51.DCL) $INCLUDE(WKEXT.DCL) $INCLUDE(WKPRO.DCL) AD_zl: PROCEDURE PUBLIC; DECLARE max WORD; DECLARE mini WORD; DECLARE AD_S WORD; DECLARE (dtime ,i,j) BYTE; DECLARE adtemp(5) STRUCTURE(x BYTE,y BYTE); DECLARE temp(5) WORD AT(.adtemp(0).x); DO j=0 TO 4; DO i=0 TO 20; dtime=dtime+1; END; IF NOT(ad_ok) THEN DO; adtemp(j).x=port_ad_read; adtemp(j).y=port_ad_read; END; temp(j)=SHR(temp(j),4); END; max=temp(0); mini=temp(0); DO j=1 TO 4; IF temp(j)>max THEN max=temp(j); IF temp(j)