【问题标题】:Arduino 4-20ma AccuracyArduino 4-20ma 精度
【发布时间】:2017-09-25 08:13:10
【问题描述】:

我正在使用 2 线电流回路将压力变送器 Dwyer MS-121(范围为 -100 Pa 到 +100Pa)连接到 Arduino。对于分流电阻,我使用的是 220 欧姆。所以要从电压计算到压力,这就是我所做的: 读数是我从分流电阻读取的

(((((float)reading * 0.0049) - 0.88) / 3.52) * 200) - 100)

0.0049 用于知道实际电压,然后从 4-20mA(4mA * 220Ohm)的底部范围取 0.88,从 4-20ma(20mA 和 220Ohm)的顶部范围取 3.52,然后减去 0.88 得到一个范围从 0 到 3.52(所以我可以按百分比计算)。然后是 200,因为我的压力变送器的范围(-100 到 +100Pa)。最后一个是减去 100,这样我就可以得到一个很好的 -100Pa 到 +100Pa 的范围。

现在,我的压力变送器也有显示。我从显示器得到的值是-19.4Pa,我从Arduino得到的值是-21.1Pa。它有 1,7Pa 或 0,85% 的差异。我很好奇为什么arduino的值不准确,是我的计算,还是我的电路?

【问题讨论】:

    标签: arduino


    【解决方案1】:

    您的 220 欧姆电阻器可能仅指定为精确到 5%。你所有的模拟读数都与 Arduino 的 5V 电源相关,它本身可能只精确到 5%。所以你 8.8% 的结果(不知道你是怎么得到 0.85% 的)在预期范围内,只考虑这两个可能的错误来源。

    您至少犯了一个计算错误:0.0049 只是一个近似值,实际的电压转换因子是 5/1024。那是 3.5% 的折扣。

    【讨论】:

    • 我从 1.7Pa / 200 得到 0.85% 的范围等于 0.0085 或 0.85%。我想知道你是如何得到 8.8% 的。不管怎样,我看到了电阻,它有金带或 5% 的容差,我没想到,非常感谢,现在有道理了。对于 0.0049,我应该将其更改为 5 / 1024 以去除 3.5% 吗?你也是从哪里得到 3.5% 的计算结果的,谢谢。
    • 1.7Pa误差约为正确值的8.8%。与整个范围进行比较并没有真正的意义——如果传感器的测量范围是原来的 10 倍,即使在相同的 1.7Pa 误差下,它是否会使其精度提高 10 倍?同样,0.0049 和 5/1024 之间的差异是正确值 5/1024 的 3.5%。 (确保在代码中将其写为 5.0/1024,作为整数除法,值为零!)
    • 我正在尝试使用这个 ((((((float)reading * (5.0 / 1024)) - 0.88) / 3.52) * 200) - 100)。现在差异约为 2.07Pa(从 19.2 Pa 变为 21.27)或 10.78%。我不确定会发生什么。无论如何,我正在检查模拟读取,它得到 465(最终值为 21.27),然后我进行一些计算并获得与显示相同的值,我需要模拟读取为 472。
    猜你喜欢
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多