單片機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計算時候沒有小數,不是四舍五入,小數直接舍去。

