单片机ADC检测4-20mA电路,以及计算方法

单片机ADC检测4-20mA电路,以及计算方法

转载:https://www.hongchangzidonghua.com/?id=24

1,手里有一个4-20mA输出的压力传感器,假设测量范围是0MPa到2MPa,具体多少忘了,计算方便取个整数。单片机要做的就是采集到这个信号,而且计算出当前的压力。下面给大家一个参考。

2,4-20mA信号在工业上是非常常见的一种信号,应用在各种传感器的输出上,突出优点就是抗干扰能力强,大家都知道,串联电路中,电流处处相等,那么信号线再长(比如几十米)也不用担心内阻问题导致的压降了。我们只需要检测电流大小即可,单片机检测的和传感器发射的一定是相等的电流。

3,这个传感器是两线制的,只有一个正极和负极,在12V直流供电下可以正常工作。

4,单片机有一个16Bit的高精度ADC,能够精确检测0V到3.3V的电压(这里的3.3V指的是ADC电路的参考电压,一般在单片机电路上设计)。也就是说,如果外部有一个电压是0V到3.3V之间变化的,那么单片机就可以把它转化为数字0到数字65535之间,而且这个关系是线性的。实际电路如下:

压力传感器.png

5,传感器只需要根据正负极,接到连接器P15上即可。当传感器接好后,会有4到20mA的电流,流过电阻R39,那么对应的电阻上面的电压变化范围就是

传感器量程 传感器输出 R39电压  (U = I X R)
0MPa 4mA 588mV
1MPa(中间量程) 12mA 1764mV
2MPa(满量程) 20mA 2940mV

上述电路上有稳压二极管D2,目的是保护单片机的IO口,防止某个瞬间R39上的电压突然增大烧坏单片机。

6,有了上述表格,那么单片机要做的就是处理数据了。下表给出对应关系。

传感器量程 单片机检测的电压 ADC采集到的数字
0MPa 588mV 11677
1MPa(中间量程) 1764mV 35032
2MPa(满量程) 2940mV 58386

7,ADC采集的数字具体公式如下:

 

    式子中,u是采集到的电压,单位是mV;a是其采集到的理论ADC数字;3300mV是参考电压。

 

8,看见了吧,单片机检测传感器的数值并不难,而且是不是特别简单?对了,单片机的ADC计算时候没有小数,不是四舍五入,小数直接舍去。

posted @ 2018-10-25 10:30  丛林离线  阅读(15065)  评论(0编辑  收藏  举报