硬件原理图
- 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电阻值的选取,具体选取方法见参考文档。
采样值计算过程
{ I p t = V p i n i n 2 1000 R p t = V p i n i n 1 I p t ∗ 11 T = R p t − 100 0.385 \left\{
Ipt=Vpinin21000Rpt=Vpinin1Ipt∗11T=Rpt−1000.385Ipt=Vpinin21000Rpt=Vpinin1Ipt∗11T=Rpt−1000.385
\right.⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧Ipt=1000Vpinin2Rpt=Ipt∗11Vpinin1T=0.385Rpt−100
- 把T放大10倍得到的最后结果就是T a = 10 T = ( ( 2361 ∗ V p i n i n 1 ) / ( V p i n i n 2 ) − 2597 ) 。 T_a=10T=((2361*Vpin_in1)/(Vpin_in2)-2597)。Ta=10T=((2361∗Vpinin1)/(Vpinin2)−2597)。
程序处理过程
-
T m o n i t o r [ m ] = ( ( ( 2361 ∗ A D C c o u n t [ 2 ∗ m ] ) / ( A D C c o u n t [ 2 ∗ m + 1 ] ) − 2597 ) + T s e t [ m + 4 ] ) T_{monitor}[m]=(((2361*ADC_{count}[2*m])/(ADC_{count}[2*m+1])-2597)+T_{set} [m+4])Tmonitor[m]=(((2361∗ADCcount[2∗m])/(ADCcount[2∗m+1])−2597)+Tset[m+4]);
-
已经扩大10倍的值转化为温度数据,低温,高温,环境温度 T s e t [ m + 4 ] T_{set}[m+4]Tset[m+4]为温度补偿系数;
-
具体程序实现代码见本人博客----《ADC多路采样与稳定显示》。
参考文档
- http://blog.csdn.net/zhenxing2000/article/details/50810664
- http://wenku.baidu.com/link?url=VIZvNI_ZxnsVkIemwPfFzvz9Y1GWZE7QF0B4wVOR-MUMJDzl8TScwQfzFKY2N7Xh3A-Zg-_7-FWqdIpajo4q3hPLuXsSR894W1uVoJmO1C3