構(gòu)建基于USB的高精度溫度傳感器電路
使用模擬MCU,LDO,外部熱敏電阻和一些分立器件,您可以構(gòu)建高精度的溫度傳感應(yīng)用。
圖1中的電路顯示了Analog Devices ADuC7122精密模擬微控制器的工作原理可用于精確的熱敏電阻溫度監(jiān)測應(yīng)用。 ADuC7122集成了多通道12位SAR ADC,12個(gè)12位DAC,1.2 V內(nèi)部基準(zhǔn)電壓源,以及ARM7內(nèi)核,126 kB閃存,8 kB SRAM以及各種數(shù)字外設(shè),如UART,定時(shí)器,SPI ,以及兩個(gè)I2C接口。 ADuC7122連接到4.7kΩ熱敏電阻。
圖1:ADuC7122用作溫度監(jiān)控器,與熱敏電阻連接(簡化原理圖,所有連接均未由于ADuC7122(7 mm×7 mm,108球BGA封裝)的小外形尺寸,整個(gè)電路可以安裝在極小的PCB上,從而進(jìn)一步降低了成本。
與RTD類似,熱敏電阻是低成本的溫度敏感電阻器,由固體半導(dǎo)體材料構(gòu)成,具有正或負(fù)溫度系數(shù)。熱敏電阻價(jià)格低廉,靈敏度高。它們檢測溫度的微小變化,這是RTD或熱電偶無法觀察到的。但是,熱敏電阻是高度非線性的;因此,如果不應(yīng)用線性化技術(shù),它們僅限于具有非常窄的溫度范圍的應(yīng)用。電路線性化技術(shù)可以用軟件完成。
盡管功能強(qiáng)大的ARM7內(nèi)核和高速SAR ADC,ADuC7122仍然提供低功耗解決方案。 ARM7內(nèi)核運(yùn)行在326.4 kHz且主ADC處于活動(dòng)狀態(tài)并測量外部溫度傳感器,整個(gè)電路通常消耗7 mA。在溫度測量之間,可以關(guān)閉ADC和/或微控制器,以進(jìn)一步降低功耗。
電路描述
圖1所示電路完全由USB接口供電。使用ADP3333(3.3V)低壓差線性穩(wěn)壓器將USB的5 V電源調(diào)節(jié)至3.3 V. 3.3 V穩(wěn)壓電源為ADuC7122提供DVDD電壓。如圖所示,ADuC7122的AVDD電源具有額外的濾波功能。濾波器也放置在線性穩(wěn)壓器輸入端的USB電源上。
在此應(yīng)用中使用ADuC7122的以下功能:
12位SAR ADC。
ARM7TDMI內(nèi)核:功能強(qiáng)大的16/32位ARM7內(nèi)核,集成126 kB閃存和SRAM內(nèi)存,運(yùn)行用戶代碼,用于配置和控制ADC,處理來自熱敏電阻傳感器的ADC轉(zhuǎn)換通過UART/USB接口控制通信。
UART:UART用作主機(jī)PC的通信接口。
兩個(gè)外部開關(guān)/按鈕(未顯示)用于強(qiáng)制部件進(jìn)入閃光啟動(dòng)模式。通過將DOWNLOAD保持為低電平并切換RESET開關(guān),ADuC7122將進(jìn)入引導(dǎo)模式而不是正常用戶模式。在引導(dǎo)模式下,可以使用USB接口通過I2CWSD工具重新編程內(nèi)部閃存。
BUF_VREF:帶隙參考還通過緩沖器連接到BUF_VREF1和BUF_VREF2引腳,這些引腳可用作系統(tǒng)中其他電路的參考。這些引腳應(yīng)連接至少0.1μF的電容,以降低噪聲。
電路中使用的熱敏電阻為4.7kΩ電阻,型號(hào)為NCP18XM472。它采用0603表面貼裝封裝。圖2電路中使用的熱敏電阻在25°C時(shí)具有以下規(guī)格:?= 3500(?參數(shù)描述電阻與溫度的關(guān)系)和電阻(R25)=4.7kΩ。
圖2:采用ADuC7122實(shí)現(xiàn)的簡單溫度傳感器電路。
ADuC7122的USB接口采用FT232R UART轉(zhuǎn)USB收發(fā)器實(shí)現(xiàn),可轉(zhuǎn)換USB直接向UART協(xié)議發(fā)送信號(hào)。
除了圖1所示的去耦之外,USB電纜本身應(yīng)該有一個(gè)鐵氧體,以增加EMI/RFI保護(hù)。該電路中使用的鐵氧體磁珠是Taiyo Yuden,BK2125HS102-T,在100 MHz時(shí)阻抗為1,000Ω。
電路必須在具有大面積接地平面的多層PC板上構(gòu)建。必須使用適當(dāng)?shù)牟季?,接地和去耦技術(shù)來實(shí)現(xiàn)最佳性能。
圖2中的輸入熱敏電阻電路設(shè)計(jì)用于在0°C至90°C范圍內(nèi)進(jìn)行精確的溫度測量。請(qǐng)注意,此系統(tǒng)不包含溫度校準(zhǔn)。該電路包含一個(gè)簡單的熱敏電阻電路,不包含電路線性化。如果該電路采用線性化技術(shù),它可以在更寬的溫度范圍內(nèi)工作;然而,這會(huì)降低傳感器的分辨率。
圖2中的電路設(shè)置為分壓器配置。這將允許我們使用以下公式將ADC結(jié)果D轉(zhuǎn)換為RTH(熱敏電阻)電阻的測量值:
一旦計(jì)算出熱敏電阻的電阻,就可以使用Steinhart-Hart方程確定當(dāng)前的溫度傳感器。 Steinhart-Hart方程的簡化?參數(shù)變化的傳統(tǒng)形式為:
其中:
T2 =未知溫度V1 =298Kβ=熱敏電阻@ 298K或25°C的β參數(shù)。 β= 3500 R25 =熱敏電阻@ 298K或25°C的電阻。 R25 =4.7kΩRTH=熱敏電阻的電阻@未知溫度,由上式計(jì)算得出
圖3描繪了ADuC7122對(duì)圖2中詳細(xì)說明的熱敏電阻傳感器的響應(yīng)溫度。
圖3:ADuC7122熱敏電阻傳感器測量輸出(轉(zhuǎn)換為伏特),ADCO與溫度的關(guān)系。
代碼說明
UART配置為波特率為9600,8個(gè)數(shù)據(jù)位,無奇偶校驗(yàn)且無流量控制。如果電路直接連接到PC,則可以使用通信端口查看應(yīng)用程序(如HyperTerminal)查看程序發(fā)送到UART的結(jié)果(圖4)。對(duì)源代碼進(jìn)行了注釋,以便于理解和操作。使用KeilμVision3應(yīng)用程序編譯和測試代碼。
常見變化
ADP3333(3.3 V)可替換為ADP120(2.5 V),具有更寬的工作溫度范圍(-40°C至+ 125°C),功耗更低(通常為20μA與70μA相比,但具有較低的最大輸入電壓范圍(5.5 V與12 V)。注意,可以使用標(biāo)準(zhǔn)JTAG接口對(duì)ADuC7122進(jìn)行編程或調(diào)試。對(duì)于標(biāo)準(zhǔn)的UART至RS-232接口,F(xiàn)T232R收發(fā)器可以替換為需要3 V電源的ADM3202等設(shè)備。
此處描述的熱敏電阻電路可以適用于其他精密模擬微控制器,如ADuC7020系列,ADuC7023和ADuC7061系列。