一、背景
先上电路图
本电路可以将4-20mA电流信号转换成0-3.3V,0-5V,0-10V,0-15V,0-24V的电压信号;
可能大家在工作中经常遇到4-20mA这么一段电流范围,初遇不觉明厉,后知后觉。
4-20mA这个范围是通信中广泛使用电流传输信号,而原因就是由于电流传输不会因导线因素造成信号衰减。
本电路作为电流传输信号的末端,将电流信号转换为相应的电压信号,从而可以让单片机等进行采集处理
二、电路解析
先从电源电路开始解析
电源比较简单,该电路的供电是从P2端子的3号引脚接输入电源正极,1号引脚接输入电源负极。
总输入正极经过一个防反接二极管,流入一个线性稳压器LDO的输入端,该LDO输出电压为5V,该5V与限流电阻,发光二极管串联成一个电源状态指示电路。
LDO输出的5V,作为电荷泵的输入, TP7660H是一款 DC/DC 电荷泵电压反转器专用集成电路。芯片能将输入范围为2.5V~11V 的电压转换成相应的-2.5V~-11V的输出,并且只需外接两只电容,无需电感,降低了损耗及电磁干扰。
最终电路中有三个电压,即总输入正级的VCC,与+5V,及电荷泵产生的-5V。
而我们电路中的功能器件LM324的供电电压,我们选为VCC,与-5V,需要注意的是,运放LM324的供电引脚正极接VCC,供电引脚负极接-5V。
在这里,我们看下LM324是四路集成运放,就是说该器件集成了4个单独运放(U1A、U1B、U1C、U1D),所以上述主电路中,只有U1A运放的正负极连接电源(引脚4与引脚11),其它三路不再需要单独供电。
从运放的供电电压宽度可以看到,最大电源宽度为32V,意思是说,该运放的4号引脚电压减去11号引脚电压最大为32V,那么我们主回路中,我们的11号引脚电压使用的是-5V,那么就可以计算出,我们的4号引脚VCC引脚就不能超过27V。考虑到电源波动,实际最大电压要留有裕量,不要太接近27V,以免烧坏器件。
而我们为什么要使用-5V来给运放的负极供电,我在其它文章的最下面做出过解释,不再赘述。
交直流电压采样电路实战讲解、附仿真_220v交流电压采样电路-CSDN博客
接下来,我们来解析运放回路:
首先我们看电流检测放大部分,就是U1B部分,我们检测的电流留向,从R1的上端流入,下端流出。
而我们接下来就是要计算出运放的输出端UA与输入端U1与U2的转换关系。
而电压U1与U2是源自检测电流流经采样电阻R1,我们分析U1与U2时,便可简化电路如下:
我们要分析的电路确定好之后,接下来分析运放的输出输入关系,肯定是要搬出来运放的两板斧,“虚断、虚短”。
对于,虚断,我们可以将电路等效为运放的两个输入引脚均与前后级电路断开:
那么电流的流向如上图中所示,
U+处电压为:
U-处电压计算思路是,流经R3与R5的电流一样,可列出公式
(U2 - U-) / R3 = (U- - UA) / R5
简化得:
虚断我们得到两个公式,分别求得
U+等于
U-等于
显示,从上面还不足以求得输出UA与输入U1与U2的关系,接下来我们就要使用虚短,
虚短简单理解就是,将运放输入端短路,那么就会得到运放的输入端U+ = U-。
将U+ = U-代入上式中,我们得到:
UA = U1 -U2
经我们计算得知,运放U1B的输出电压UA即就是流经电阻R1两端的电压值。
假如流过该电阻的电流为20mA(0.02A),那么产生的电压=0.02*100=2V。
而我们知道,大多数32单片机ADC输入量程式0-3.3V,所以为了高效的利用单片机AD的量程,我们需要将电压信号进一步放大,以达到当输入电流是20mA时,最终输出电压是3.3V,当输入电流是4mA时,输出电压是0V。所以后续的电路就是将2V,转为3.3V。
有人会问:如何使电流信号输入为4mA时,在这时电压输出是0V呢? 这个问题的关键点在于我们要输出的是0V电压,这里我们还是要用到减法器如下图
我们可以看到,U1A运放的电路,与刚才分析的U1B电路如出一辙,或者是再次计算,我们也可以得出结论,Vout = UA - UB。
所以,当输入4mA时,UA处电压本应该是U1 - U2 = 0.004*100 =0.4V。
现在,为了使得Vout处电压为0V,那么我们只需要将UB处电压也调为0.4V,那么Vout电压输出就会是Vout = UA - UB = 0.4 - 0.4 =0V。
怎么使得,UB处输出电压为0.4V,我们只需要分析U1D运放电路即可:
RP2为滑动变阻器,最大值10K。
由虚断得:U+ 处电压是经过电阻RP2 与电阻R12对电压5V进行分压得到,
那么U+ =
而U-直接与输出相连,那么U- = UB
再经过虚短,得到U+ = U-
最终得到UB =
若是我们希望UB=0.4V,那么经过计算,RP2阻值应调为2300欧姆。
简单总结下,我们已经分析的电路:
当输入为4mA时,UA为0.4V,UB为0.4V,输出Vout为0V。
当输入为20mA时,UA为2V,UB为0.4V,输出Vout为1.6V。
那么我们接下来的目标就是将输入20mA时,输出的1.6V,变为输出3.3V。
分析最后一段电路:
前级输出Vout,显然等于U+,电阻R10的作用是限流。
经过虚断,U- 的电压是电阻R11与RP1对输出电压UO的分压
U- =
经过虚短,U+ = U- ,那么最终Vout =
前级,我们Vout为1.6V,希望输出U0为3.3V,那么可得滑动变阻器RP1的阻值应为10.625k欧姆。
当然,若是我们Vout为1.6V,希望输出U0为5V,那么可得滑动变阻器RP1的阻值应为21.25k欧姆。
同理,可求得输出为10V或其它等级电压时的RP1电阻。
三、实际仿真
仿真资源已上传,可免费下载
【免费】电流转电压模块4-20mA转0-3.3/5V/10V/转换变送器电路仿真资源-CSDN下载
20mA转3.3V仿真电路如下
20mA转5V仿真电路如下
20mA转10V仿真电路如下
需要注意一点,若想要运放最终输出电压是5V,那么运放本身的正级供电电压就不能低于5+2V,比如,运放供电电压是5V与-5V,那么运放是可以输出0-3.3V的电压,但是输出范围达不到0-5V,若是想提高输出电压范围,运放的供电电压要大于输出电压+2V。各位可以切实仿真验证下。
写的比较粗糙,有不足地方欢迎指正。