NTC電阻Rt與溫度T公式如下:
Rt=10000*exp(3950*(1/(273.15+T)-1/(273.15+25)))。
例:0攝氏度時,電阻為33620.6037214357 歐姆
Rt=10000*exp(3950*(1/(273.15+0)-1/(273.15+25)))=33620.6037214357 歐姆
設計電路圖如下:
PE8(AIN8P),PE9(AIN8M)是一對差分ADC,是溫度采集管腳,熱電阻與11K電阻(R37+R36)分壓,壓差(VCC_VREF減COM端電壓),為AD8825AR的+IN輸入,COM電壓大約為0.53V。
AD8825AR的兩個運放均為電壓跟隨器的功能,所以PE8的電壓等於AD8825AR的3腳+INA,PE9的電壓等於AD8825AR的5腳+INB
由VCC_VREF經過(R36+R37)的11K電阻的電流為VCC_VREF減去AD8825AR的3腳+INA的電壓差值,此差值正是單片機引腳PB0-PB1的差值,此差值可直接配置為SDADC1外設直接讀取數值hsdadc1即可,
同理,AD8825AR的3腳+INA的電壓減去COM就是熱敏電阻兩端的電壓差值,此差值就是單片機PE8-PE9,此差值可直接配置為SDADC2外設直接讀取數值hsdadc2即可。
因為流經(R36+R37)的11K電阻的電流等於流過熱敏電阻的電流,所以hsdadc1/11K = hsdadc2/Rt,(Rt就是熱敏電阻的阻值)
Rt = hsdadc2 / hsdadc1 * 11000;
通過單片機采集到Vin的電壓就能計算出熱敏電阻Rt的阻值,單片機計算對數函數太費時間,可以通過查表法算出對應阻值Rt的溫度。
熱電阻分度表下載地址:https://github.com/lizhiqiang0204/Thermal-resistance-index