单片机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之间,而且这个关系是线性的。实际电路如下:
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计算时候没有小数,不是四舍五入,小数直接舍去。