Arduino 4-20ma精度

Arduino 4-20ma精度,arduino,Arduino,我正在使用2线电流回路将压力变送器Dwyer MS-121(量程为-100 Pa至+100 Pa)连接到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

我正在使用2线电流回路将压力变送器Dwyer MS-121(量程为-100 Pa至+100 Pa)连接到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的值不准确,是我的计算还是我的电路?

您的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.2Pa为21.27),或10.78%。我不知道会发生什么。无论如何,我正在检查analogRead,它得到465(最终值为21.27),然后我做一些计算,得到与显示相同的值,我需要analogRead为472。