基于AVR單片機捕獲中斷和熱敏電阻的溫度測量
通過單片機計算得到熱敏電阻Rt的阻值,并通過查表法可以得到溫度值。
本文引用地址:http://www.ex-cimer.com/article/171110.htm從上述可以看出,該測溫電路的誤差來源于這幾個方面:單片機的定時器精度,精密電阻Rp的精度,熱敏電阻Rt的精度,而與單片機的輸出電壓值、門檻電壓值、電容精度無關(guān)。因此,適當選取熱敏電阻Rt和精密電阻Rp的精度,單片機的工作頻率夠高,就可以得到較好的測溫精度。
本文以AVR系列中高性價比的ATmage88為例,利用16位時鐘單元T/C1的捕獲中斷來實現(xiàn)電容充電時間的測量,單片機時鐘選擇8 MHz。輸入捕獲單元方框圖如圖4所示。當引腳ICP1上的邏輯電平(事件)發(fā)生了變化,并且這個電平變化為邊沿檢測器所證實,輸入捕捉被激發(fā):16位的TCNT1數(shù)據(jù)被復(fù)制到輸入捕捉寄存器ICR1,同時輸入捕捉標志位ICF1置位。如果此時ICIE1為1,輸入捕捉標志將產(chǎn)生輸入捕獲中斷。
ATmega88在3.3 V供電時,當電容電壓上升到1.84 V時,如圖3所示,發(fā)生捕獲中斷。
4 軟件設(shè)計
基于ATmage88捕獲中斷測溫程序流程圖如圖5所示,包括主程序流程圖,捕獲中斷流程圖和定時溢出中斷流程圖。
ATmage88定時器初始化涉及TCCR1B,TIMSK1控制寄存器的配置,介紹如下:
ICNC1:輸入捕捉噪聲抑制器,“1”啟用;
ICES1:捕捉觸發(fā)沿選擇,“1”上升沿,“0”下降沿;
CS1[2:0]:時鐘選擇,有多種預(yù)分頻時鐘可供選擇;
ICIE1:T/C1輸入捕捉中斷使能;
TOIE1:T/C1溢出中斷使能。
接地電阻相關(guān)文章:接地電阻測試方法
評論