如何校准便宜的温度传感器

电子说

1.3w人已加入

描述

第1步:关于传感器

好,传感器是MCP9700。我能够以0.2欧元的价格获得它们。输出信号是一个模拟张力,范围为0..5V,这意味着您可以使用微控制器的ADC引脚简单地获取温度。它不需要任何其他部分!温度范围为-40至150°C。对于我的项目来说已经足够好了!!

传感器有不同的包装,我选择了TO-92型号。

传感器数据表在这里。步骤2:Arduino代码,接线和首次测试

左针脚:Vdd-》到Arduino 5v

中间针脚:Vout-》到arduino A0针脚

右引脚:GND-》到arduino GND

代码已附加。这是一个简单的模拟读数。为了使测量更准确,我使用一个简单的循环获取5个温度值并计算平均温度。

在数据表的第11页上,给出了传感器传递函数公式: Vout = Tc * Ta + V0c

其中:

Vout:输出张力(从arduino读取)

Tc:温度系数

Ta:环境温度(我们正在寻找该值)

V0c:0°C时的传感器输出电压

最后一个值可以在数据表第3页的“直流电特性”表中获得。对于我的传感器(MCP9700),该值为500 mV。

这意味着,对于我的Arduino,环境温度公式为:

温度=(( TensionAnalog/204.8)-0.5)/0.01;

TensionAnalog 是从模拟引脚获取的原始值。 arduino ADC的范围是10位,因此5伏特的读取值范围是1024(2 ^ 10),0伏特的读取值范围是0。因此,要获得以伏特为单位的值,您需要将模拟值除以1024/5 = 204.8

0.5是以伏特(500 mV)为单位的 V0C 值

0.01是温度系数 Tc (10 mV/°C)

我在窗口上设置了传感器和气象站传感器,为了比较温度。

几分钟后,我的工作站说环境温度为26.4。同时,传感器显示温度为24.8°C。我们处于Microchip给出的公差范围内,但还不够准确。

让我们对此进行更改!

第3步:校准

确定,因为我们认为温度输出是线性函数,并且温度系数正确,所以我们需要修改 VoC 的偏移量。/p》

与传感器值有关的“精确”温度传感器(我的气象站参考)平均而言(通过Excel计算平均值)高1.98°C。

实际的 V0C 偏移为500mV,因此这意味着新的偏移应为500-1.98,即480.2。

我现在的新温度公式为:

TemperatureMoyenne = TemperatureMoyenne +((((TensionAnalog/204.8)- 0.4802 )/0.01);

相同的安装,现在的新结果更好。

第4步:结论

我们已经看到了如何比较廉价传感器获取的温度以使其更加准确。当然,我的校准技术不是很好,因为我想输出信号是完全线性的,我没有考虑自热的影响,传感器是黑色的,我的气象站传感器是白色的,所以,不是很好。

Microchip在数据表的第11页上说,可以通过在25°C下校准传感器来提高精度(刚刚完成)。

但是请记住,该芯片的价格为0.2欧元,我真的不需要令人难以置信的精度。此处描述的方法只是获取更好值的一种方法,而并非完全准确的值。如果是精确的话,只需要一个热电偶或更精确的(和昂贵的)传感器即可!

最后一句话:校准后几个小时,我们猛烈地打雷(我的气象站是对的^^)。温度下降到18°C,传感器的值还可以。。..!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分