24小时联系电话:18217114652、13661815404
中文
技术专题
带有M5Stack和PT100的温度监控器
带有M5Stack和PT100的温度监控器
PT100探头是铂电阻温度计,在0°C的温度下的标称电阻为100Ω。其功能受IEC 751(EN 60751)标准的调节。这种类型的温度传感器称为“电阻温度检测器”(RTD)。我们将使用M5Stack系统创建一个简单但有用的温度监视器,该监视器允许在彩色显示器上可视化数据。
PT100电阻温度计
PT100电阻温度计已在实验室或工业应用中用于测量温度已有多年历史(见图1)。)。Pt100是最常见的型号,但市场上还提供了其他更复杂的型号,例如PT500和PT1000,它们更加坚固并且对电干扰不敏感。它们还可以用于更关键的工业应用中。典型的模型以圆柱形状构建,并涂有护套。铂电阻温度计允许在-200°C和850°C之间的环境中运行,响应和特性曲线几乎是线性的,持续时间实际上是无限的,并且具有非常高的精度。在本项目中,我们将使用两线制PT100。对于−200°C至850°C的温度,该型号的电阻范围为20欧姆至400欧姆。带有三根和四根导线的PT100将具有不同且更复杂的电路。
图1:PT100温度探头
M5堆栈
所述M5Stack适于发展的IoT的应用(见开发套件图2)。它是开源的,并且与Arduino兼容。它可以用来轻松创建各种应用程序。它配备了TFT-LCD,可以以高分辨率查看文本,图形和图像。四个侧面提供了连接到GPIO端口的连接器。其他信息可以在我们之前的一些文章中以及官方网站上找到。M5Stack可以使用Arduino IDE进行编程,但是为此,必须正确安装库和其他基本组件。
图2
如何测量温度
有几种使用PT100探头计算温度的方法。IEC 751标准为使用PT100温度计的系统校准提供了精确的参考表,如图3所示。该表包含在-200°C和+809°C之间的温度下探头的所有电阻值。例如,在+ 27°C的温度下,传感器的电阻应为110,509欧姆。一个系统解决方案可能是将该表的所有值存储在一个数组中,然后通过欧姆定律进行简单计算即可找到正确的温度值。显然,在程序源中插入1000多个值可能有点乏味和累人。
图3:符合IEC 751的PT100温度计的校准表
因此,另一个好的解决方案是依靠一个数学方程式,该方程式描述设备的电阻与检测到的温度之间的(相当线性)关系。一个很好的方程式如图4所示。推导其他参数的逆计算相对容易。
图4:根据温度确定PTC电阻的方程式之一
图5显示了PT100电阻趋势与温度的关系图。该图是根据IEC 751标准规定的表构建的。
图5:PT100的电阻和温度图
我们将在本文中讨论的项目涉及在一个简单的电阻分压器上的电压检测,该电阻分压器由两个电阻组成:一个在底部由PT100传感器代表,一个在顶部由一个精密电阻代表。图6显示了原理图。温度变化会导致PT100的电阻发生变化,从而导致PT100两端的电压发生变化。该值将由系统ADC处理,然后由固件处理,以计算和显示相应的温度。
图6:从电阻分压器读取电压的原理图
在分压器中使用100 Ohm电阻更为方便,因为中心点的电气偏移较高,因此电阻值较高。通过一些SPICE指令,还可以使用最重要的电子软件来模拟PT100。例如,使用LTspice程序,您可以插入以下SPICE指令:
.SUBCKT PT100 AB
.PARAM tc1 = 3.9083e-3
.PARAM tc2 = -5.775e-7
.PARAM tc3 = -4.183e-12
.PARAM R0 = 100
.PARAM Rrtd = R0 *(1 +(tc1 *温度)+(tc2 *温度** 2)+ tc3 *(温度100)*(温度** 3)*(1-u(温度)))
R1 AB {Rrtd}
.ENDS
您当然可以更改环境温度(例如26°C),其中还包括以下指令:
。温度26
项目分析与目的
本文旨在创建一个介于-10°C和+ 60°C之间的简单温度测量系统,该系统的工作范围非常短(请参见图7中的对应表)。因此,我们可以为这组值采用一个适应的公式。
图7:-10°C至+ 60°C之间的电阻与温度之间的对应表
对于此值范围,执行曲线拟合并计算两个不同的方程式非常简单:第一个是线性的,第二个是二次多项式,如图8的曲线所示,以及所选时间间隔内PT100的特性图。第一个方程的R ^ 2为0.999992,而第二个方程的R ^ 2为1。
图8:在-10°C至+ 60°C范围内的PTC图,使用两个方程式来计算温度。
在图9中,我们通过在瞬态中执行仿真来观察电路输出电压的曲线,该瞬变涉及从-10°C到+ 60°C的温度“扫描”。该图提供的最小电压为大约为1.61 V,最大大约为1.82 V,平均电流为15.8 mA。
图9:在-10°C至+ 60°C的温度“扫描”下的电路输出电压。
该项目的目的是通过一个简单的图表在屏幕上记录温度趋势,该图表可以由设计人员进行调整。
连接和连接:接线图
为了创建一个简单而初步的项目,我们决定通过将热探针通过电阻分压器直接连接到M5Stack系统来限制电路的复杂性,如图10的接线图所示。不幸的是,使用2线制连接时,电缆的电阻会作为误差添加到实际测量中。对于PT1000探头,电缆电阻的影响要小十倍。为了补偿这些损耗,使用了3根和4根导线的PT100。因此,必须理解的是,连接必须非常短且薄。为了消除任何干扰,可以在负载上并联插入一个小电容器。
图10:温度计与PT100的接线
素描
源代码清单非常简单,并且构成了可以根据程序员的需求进行修改的主要基础。您会发现本文附带的草图。通常,它执行以下步骤:
包括图书馆;
超采样定义;
变量声明;
M5Stack模块的初始化;
屏幕清洁和网格设计;
采集过采样电压;
计算数字电压;
模拟电压的计算;
计算R1上的电流;
计算PT100的电阻值;
计算探头温度;
渐进图的可视化。
因此,温度将逐步显示在图表上。当它到达屏幕的最右边时,它消失并且显示重新开始。确定各种参数计算的方程式很有趣:
总和=超级采样;
电压=((float)Sum / 4096.0)* 3.3;
iR1 =(3.3电压)/ 100;
R2 =电压/ iR1;
tempC =(-245.925)+(2.35977 * R2)+(0.000994709 * R2 * R2);
如果用户想要不同的屏幕扫描速度,则只需要更改“ SUPERSAMPLING”声明的值即可。
测试与使用
测试不需要特殊的操作。您只需将精密电阻和探头连接到M5Stack模块的端子即可。接通系统电源后,应立即显示图形,如图11所示。可以使用NTC或PTC代替PT100,但是在这种情况下,有必要修改公式和电阻值,以及创建使温度传感器响应呈线性的算法。
图11:PT100测量变压器的热性能
本文分析的温度计非常简单,但显然精度不高。要创建性能更高的温度计,需要具有更高分辨率的ADC,例如24位分辨率的ADC,例如MAX31865。有用增益等于10的OPAMP放大来自分频器的信号,以克服所提供的低变化或可能对处理后的值进行校正的问题,也可能是有用的。理想的解决方案是使探头承受恒定电流,这样电压将与温度成正比。在任何情况下,无论采用哪种解决方案,只有使用4线连接的PT100才能实现最高的测量精度。本文介绍的一个项目是一个通用的基础项目,可从此项目开始构建更复杂的系统。