基于A(yíng)VR單片機對熱敏電阻的溫度測量
1 負溫熱敏電阻
PSB型負溫熱敏電阻由Co,Mn,Ni等過(guò)渡金屬元素的氧化物組成,經(jīng)高溫燒成半陶瓷,利用半導體毫微米的精密加工工藝,采用玻璃管封裝,耐溫性好,可靠性高,反應速度快、靈敏度高。他采用軸向型結構,便于安裝,能承受更高溫度,且玻璃封裝耐高低溫(-50~350℃)。PT-25E2熱敏電阻溫度阻值變化曲線(xiàn)圖如圖1所示。
2 AVR單片機測溫原理
溫度測量電路如圖2所示,標準電阻Rp,熱敏電阻Rt,電容C1與AVR單片機三個(gè)引腳相連。其中PC0,PC1為一般普通IO引腳,CP1為捕獲觸發(fā)輸入引腳,可以設定上升沿觸發(fā)捕獲中斷。
Rp為100 kΩ的精密電阻;Rt為100 kΩ精度為1%的熱敏電阻;C1為0.1μF的瓷片電容。
其工作原理為:
先將PC0,PC1,CP1都設為低電平輸出,使C1完全放電。
接著(zhù)將PC1,CP1設置為輸入狀態(tài),PC0設為高電平輸出,通過(guò)Rp電阻對C1充電,同時(shí)啟動(dòng)內部定時(shí)器從零開(kāi)始計時(shí)。電容實(shí)際充電曲線(xiàn)如圖3所示,當C1上的電壓逐步升高到Vh,CP1檢測出電壓達到單片機高電平輸入門(mén)檻電壓時(shí),將定時(shí)器計數值捕獲,從而測出從開(kāi)始充電到CP1轉變?yōu)楦唠娖降臅r(shí)間Tp。
再次將PC0,PC1,CP1都設為低電平輸出,使C1完全放電。
隨后將PC0,CP1設置為輸人狀態(tài),PC1設為高電平輸出,通過(guò)Rt電阻對C1充電,過(guò)程同上,得到時(shí)間Tt。
通過(guò)單片機計算得到熱敏電阻Rt的阻值,并通過(guò)查表法可以得到溫度值。
從上述可以看出,該測溫電路的誤差來(lái)源于這幾個(gè)方面:?jiǎn)纹瑱C的定時(shí)器精度,精密電阻Rp的精度,熱敏電阻Rt的精度,而與單片機的輸出電壓值、門(mén)檻電壓值、電容精度無(wú)關(guān)。因此,適當選取熱敏電阻Rt和精密電阻Rp的精度,單片機的工作頻率夠高,就可以得到較好的測溫精度。
3 AVR捕獲
本文以AVR系列中高性?xún)r(jià)比的ATmage88為例,利用16位時(shí)鐘單元T/C1的捕獲中斷來(lái)實(shí)現電容充電時(shí)間的測量,單片機時(shí)鐘選擇8 MHz。輸入捕獲單元方框圖如圖4所示。當引腳ICP1上的邏輯電平(事件)發(fā)生了變化,并且這個(gè)電平變化為邊沿檢測器所證實(shí),輸入捕捉被激發(fā):16位的TCNT1數據被復制到輸入捕捉寄存器ICR1,同時(shí)輸入捕捉標志位ICF1置位。如果此時(shí)ICIE1為1,輸入捕捉標志將產(chǎn)生輸入捕獲中斷。
ATmega88在3.3 V供電時(shí),當電容電壓上升到1.84 V時(shí),如圖3所示,發(fā)生捕獲中斷。
評論