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