【導讀】溫度是一個模擬量,但數(shù)字系統(tǒng)經(jīng)常用到溫度來完成測量、控制和保護等功能。如果使用合適的技術和器件,從模擬溫度到數(shù)字信息所必需的轉換將很容易。本文討論了溫度比較器、PWM輸出溫度傳感器以及遠端二極管(或溫度二極管)溫度傳感器。
溫度是一個模擬量,但數(shù)字系統(tǒng)經(jīng)常用到溫度來完成測量、控制和保護等功能。如果使用合適的技術和器件,從模擬溫度到數(shù)字信息所必需的轉換將很容易。
用微控制器(µC)讀取溫度值在理論上很簡單。利用模數(shù)轉換器(ADC)將熱敏電阻分壓器、模擬輸出溫度傳感器或其它模擬溫度傳感器的輸出轉換為數(shù)碼,然后由µC讀取即可(圖1)。對于有些內置ADC的控制器能夠簡化一些設計。ADC需要一個基準電壓,可由一個外部元件產(chǎn)生。例如,用于熱敏電阻傳感器的基準電壓通常與加在電阻-熱敏電阻分壓器頂端的電壓相同。然而,這類系統(tǒng)存在下述問題:
傳感器輸出電壓范圍遠小于ADC輸入電壓范圍。這種用途的典型ADC一般具有8位分辨率和一個2.5V的基準電壓(該電壓通常等于輸入電壓范圍)。如果在所測溫度范圍內傳感器的最大輸出只有1.25V,那么有效分辨率實際只有7位。為了能夠達到8位分辨率,或者外加運放來提高增益,或者降低ADC的基準電壓(這可能會使某些ADC的精度受損)。
誤差分配緊張。將熱敏電阻或模擬傳感器的誤差與來自于ADC、放大器失調、增益設置電阻容差和電壓基準等的誤差貢獻綜合起來考慮,可能會發(fā)現(xiàn)總誤差已經(jīng)超出了系統(tǒng)所允許的容限。
想獲得線性的溫度-代碼傳遞函數(shù),而你正在使用熱敏電阻。熱敏電阻的傳遞函數(shù)具有很嚴重的非線性,不過,如果只需在很窄的溫度范圍內應用的話,它還可滿足要求。當然還可以通過查表方式進行線性補償,但系統(tǒng)可能無法滿足這種方案的資源需求。
ADC輸入通道有限。多點溫度測量時,如果需要測量的點數(shù)超過了ADC的輸入通道數(shù),就要添加多路復用器,這將增加成本和開發(fā)時間。
µC的I/O引腳數(shù)有限。對于內置ADC的微控制器不存在這個問題,但當采用外部串行ADC時則需要2至4個I/O引腳與µC接口。
圖1. 在這個簡單接口中,ADC的基準電壓取自電源電壓。可用模擬溫度傳感器取代熱敏電阻-電阻分壓器。在此情況下,ADC (有可能內置于µC)需要一個足夠精度的電壓基準。
如果采用數(shù)字接口的溫度傳感器,上述設計問題將得以簡化。同樣,當ADC輸入通道和µC的I/O引腳短缺時,采用時間或頻率輸出的溫度傳感器也能夠解決上述測量問題(圖2)。以MAX6576溫度傳感器為例,它輸出的方波信號具有正比于絕對溫度的周期。采用6引腳SOT23封裝,僅占很小的電路板空間。該器件通過一個I/O引腳與µC接口,利用µC的內部計數(shù)器測出周期后就可計算出溫度。
圖2. MAX6576輸出方波的周期正比于絕對溫度,MAX6577的輸出頻率正比于絕對溫度。比例常數(shù)通過TS0和TS1引腳在四種值中選擇其一,無需外圍元件。
將兩個邏輯輸入引腳分別接地或正電源電壓,可以從四個介于10µs/°K到640µs/°K之間的周期/溫度比例常數(shù)中選擇一個適當參數(shù)。
另外一種類似的溫度傳感器(MAX6577)輸出方波信號,其頻率/溫度系數(shù)能夠在0.0675Hz/°K和4Hz/°K之間設定。這兩種器件不僅簡化了溫度的測量,而且節(jié)省了PCB的實際成本、元件數(shù)目和模擬/數(shù)字I/O資源。它們能夠通過單個數(shù)字I/O引腳將溫度數(shù)據(jù)傳遞至µC,并且只需增加一個光電隔離器就可以實現(xiàn)傳感器和CPU之間的隔離,使它們非常適合于要求電氣隔離的應用。
對于要求測量多點溫度的應用,方案選擇更為復雜。將熱敏電阻或傳統(tǒng)的模擬傳感器放置在合適的位置,并連接至ADC輸入端,前提是ADC必須具備足夠的輸入端。作為另外一種選擇,MAX6575能夠直接將溫度數(shù)據(jù)傳給µC,并且最多可以將八個MAX6575掛在同一條µC的I/O輸入上。只需一條簡單的I/O線將8只MAX6575連接至µC即可(圖3)。測量溫度時,µC短暫地拉低I/O線,經(jīng)過短時間延時后,第一片MAX6575拉低I/O線。這個延時正比于絕對溫度值,比例常數(shù)可通過MAX6575的兩個引腳設定。
圖3. 采用延時方式編碼溫度信息,最多至8片MAX6575可通過一個數(shù)字I/O引腳將8個溫度信息傳送給µC。
第一個傳感器將信號線拉低,并保持一個正比于溫度(5µs/°K)的間隙后釋放。第二片MAX6575通過編程引腳選擇為更大的延時系數(shù),經(jīng)過第二個延時時間后拉低I/O線并保持一段由5µs/°K常數(shù)決定的間隔。按照這種方式,四片MAX6575被連接到一條I/O線上。除此之外,還可在同一條I/O線上加掛另外四片更長延時的MAX6575。MAX6575L的延時系數(shù)介于5µs/°K至80µs/°K,MAX6575H的延時系數(shù)介于160µs/°K至640µs/°K之間。這樣,多達8片MAX6575能夠安裝在系統(tǒng)周圍的不同位置,通過一條I/O線連接至µC。
對于有些系統(tǒng),并不需要知道精確的溫度值,只要了解溫度是否高于或低于某特定值即可。該信息用來觸發(fā)風扇、空調、加熱器或其它環(huán)境控制單元。在系統(tǒng)保護應用中,“過溫位”用來觸發(fā)有序的系統(tǒng)停機,避免系統(tǒng)電源切斷造成數(shù)據(jù)丟失。當然,這個單位信息也可以通過上例所述的溫度測量來得到,但相對于這個簡單功能來講上述方法所需的軟件和硬件開銷過多。
用一個電壓比較器取代圖1中的ADC,產(chǎn)生的1位輸出可驅動µC的一個I/O引腳(圖4)。同樣,圖中的熱敏電阻也可以由模擬電壓輸出的溫度傳感器代替。大多數(shù)此類器件的輸出電壓與溫度的關系與電源電壓無關。為避免電源電壓變化的影響,將比較器的電阻分壓器頂端連接至電壓基準而非電源電壓。
圖4. 將傳感器和比較器相結合,產(chǎn)生的1位數(shù)字輸出能夠警告µC溫度變化超出了預先規(guī)定的門限值。
如果將傳感器-比較器組合電路替換為溫度開關,如MAX6501,則系統(tǒng)得到進一步簡化。這種單片器件結合了傳感器、比較器、電壓基準和外部電阻等多種功能。當溫度超過預設門限時,漏極開路輸出變低。該系列中還有一些器件在溫度低于設定門限時開漏輸出變低(MAX6503),另外一些為推/挽式輸出,在溫度高于或低于設定門限時輸出變高(MAX6502,圖5,或MAX6504)。此外,通過一個引腳接V+或接地,可設置2°C或10°C的滯回?,F(xiàn)有的門限溫度介于-45°C至+115°C之間,間隔10°C。
圖5. 當溫度超出預設的門限值時,MAX6502產(chǎn)生邏輯高輸出。
正如MAX6575一樣,也可以將多片MAX6501或MAX6503連接到單條I/O線上,當一點或多點的溫度越過門限時通知µC。如果系統(tǒng)必須知道哪些位置溫度越限,則每個開關必須連接到單獨的I/O引腳。
上述傳感器測量的是其自身管芯的溫度,由于管芯溫度接近于引線溫度,所以每個傳感器必須安置在與被監(jiān)視元件有良好熱耦合的位置。然而,有些情況下,必須監(jiān)測的溫度無法緊耦合至傳感器—例如功率ASIC,其管芯要比四周電路板熱得多。采用一個內置的溫度傳感器可以使ASIC出現(xiàn)過熱故障時關斷,但這種方法仍然不夠精確,并且不能在故障出現(xiàn)前給系統(tǒng)提供警告信息。
給ASIC管芯增加一個可外部連接的p-n結就能夠直接測量管芯溫度,只需給其施加兩種或兩種以上的正向電流,并分別測出結電壓。兩電壓之差正比于管芯絕對溫度:
其中,I1和I2是施加于p-n結的正向電流,V1和V2是相應的正向結電壓,k是波耳茲曼常數(shù),T是絕對結溫(單位為開爾文),q是電子電荷。
但是,這種測量方法需要產(chǎn)生精密電流比和測量微小電壓差的精密電路,同時還要克服功率ASIC管芯因大幅電平跳變帶來的噪聲。令人欣慰的是,Maxim的遠端結溫傳感器已將這些精密的模擬單元和簡單靈活的數(shù)字接口集成起來了。
以MAX6654為例,它能夠以8位分辨率(1°C)測量遠端結溫,并通過SMBus接口將結果傳給µC (圖6)。該器件最初被設計用來監(jiān)測PC機內CPU的溫度,它還具有其它一些能夠減輕控制器負擔的特性。例如,MAX6654采用窗口比較器監(jiān)測遠端結溫,當溫度高于或低于預先從µC寄存器中下載的門限值時中斷µC。µC一旦在啟動時設定好溫度門限后,就可以放手MAX6654,直到溫度出現(xiàn)異常,需要µC處理為止,而不需要不斷對MAX6654進行查詢。
圖6. 通過施加電流并測量正向結電壓,MAX6654能夠測出一個外部P-N結(位于分立晶體管、ASIC或CPU內)的溫度。
MAX6654采用10引腳µMAX®封裝,可靠近待測結放置。縮短待測結和MAX6654之間的連線長度有助于降低噪聲干擾。
本文來源于Maxim。
推薦閱讀: