- 通常使用惠斯通电桥法电路来测量需要测定的电阻值;
- 由于之前未想到使用惠斯通电桥方法来测量,所以实际项目中采取的是一种普通方式。
一、使用惠斯通电桥测温方案
这中方案一个好处是MCU只需要采集一个量就可以计算出温度,显然采集的目标变量越少,所得结果显示会越稳定。
- PT100是正温度系数的热敏电阻,随着温度的升高,电阻的阻值变大,在0度时其阻值为100欧姆。
- PT100之所以应用很广泛,不仅仅是因为测温范围比较宽更因为它的线性度非常好,也就是温度每升高一度,其电阻升高的值基本一致,约0.38-0.39欧姆对应1度,基本上取0.3851Ω/℃。
- 由于电桥出来的信号是差分信号且信号较小,所以要通过差分运放将其放大后再送入单片机进行AD采集,本方案选用AD623作为差分运放芯片,这是一颗轨到轨的运放,即能输出的最大电压为供电电压。
做方案时要考虑如下几个问题:
- 测温范围是多少,这决定了其他三个电阻的阻值该如何选取;
- 运放、单片机的供电电压是多少,这决定了运放的放大倍数如何设计即最大输出不能超过单片机的AD参考电压。
本方案的测温范围为0-200℃,单片机供电电压为3.3V,设计电路图如下:
通过电路图可以看出如下几个问题:
- 运放的增益电阻R51为3.3K,即放大倍数为G=(1+100/3.3)=31.3
具体详情可参考AD623的数据手册; - 电阻R2=82Ω,即当PT100也为82Ω时,电桥平衡,差分电压为0;
- 运放能输出的最大电压为3.3V,放大倍数为31.3倍,所以最大的输入电压为3300/31.3=105.4mV,R5两端的电压为固定值V2=2.5×2000/2082=2401.5mV,那么R4两端能输出电压为(2401.5-105.4)mV=2296.1mV,即R1最大为(2500-2296)*2000/2296=177.7Ω;
- 通过以上计算即可得出,R1的变化范围为(82-177.7)Ω,即测温范围为(-43~205)摄氏度,满足测温范围为(0-200)℃的要求。
- 电路设计完成后,就可以变成写程序实现温度的采集了。
附温度-阻值对应表:
二、普通测量方法
- P5端口为四线制的PT100接口,实际使用中,接的是三线制的PT100,也就是Drv+和SEN+接在一起;
- AD623是一个轨到轨的放大器,R22=10K,放大倍数为G=(1+100/10)=11倍;也就是Vpin_in1的测量值是PT100两端电压放大11倍后的值;
- 再使用一路ADC采样端口PIN_IN2,那么由Vpin_in2和R26=1K,即可算出流过PT100的电流;
- PT100电阻温度系数k=0.385Ω/°C;当其阻值R=100°C时,表示温度值为0°C,每升高1°C其阻值增加0.385Ω;
- 需要注意R17,R26电阻值的选取,具体选取方法见参考文档。
采样值计算过程
- Ipt=Vpin_in2/1000;
- Rpt=Vpin_in1/(Ipt*11);
- T=(Rpt-100)/0.385;
- 为了显示方便在实际项目中把T放大10倍得到的最后结果就是Ta=10T=((2361*Vpin_in1)/(Vpin_in2)-2597。
程序处理过程
TMonitor[m]=(((2361*ADC_SmoothCount[2*m])/(ADC_SmoothCount[2*m+1])-2597)+TemperaSet[m+4])
- 具体程序实现代码见本人博客----《ADC多路采样与稳定显示》。
参考文档