单片机如何采样电流?
单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之三:单片机如何采样电流?
单片机的AD模块转换原理我这里就不做讲解了,有兴趣的小伙伴可以找度娘了解,百度都有很详细的介绍。需要注意的是,想要通过AD口来检测信号,必须先要把这个信号转换成电压信号,这样单片机才能识别。
我们来看一下单片机采样电压电路图(1),AIN_Vbat接单片机AD检测口,需要检测的电压Vbat经过电阻R31和R37分压,分压得到的电压送给单片机AD口来检测,分压是是因为需要把Vbat映射到单片机AD口采样范围内,比如Vbat最高电压为90V,单片机AD模块参考电压为3.3V,那么我们就需要把0-90V映射到0-3.3V。因为这是直接检测电压信号,所以不需要转换直接送到单片机AD口即可,图种R31和R37用来分压,C30和R32用来滤波防干扰。
图(1)电压采样
言归正传,单片机如何采样电流呢?如之前所说,单片机AD模块识别的是电压信号,那么要采样电流就需要先把电流信号转换成电压。一般的做法是在负载端增加一颗电流采样电阻,比如选择一个0.05Ω的电阻,当电流为2A的时候,那么该电阻两端的压差就是V=I*R=0.05*2=0.1V;这样就可以把这个电压信号传送给单片机AD口进行检测。但是这个电压只有0.1V,单片机AD口资源得不到充分利用,检测误差会很大,所以我们要把这个电压进行放大。
能不能增大采样电阻呢?显然是不行的,因为增大采样电阻会增加电路损耗。比如增加采样电阻为1Ω,那么当电流为2A的时候,电阻上消耗的功率为P=I2*R=2*2*1=4W。这样的损耗是不允许的。所以我们只能加放大器来对这个小电压信号进行放大。图(2)是一个电流采样电路,R100为电流采样电阻,阻值0.05欧姆。该电路放大倍数为N=120K/5.1K=23.5倍。电路中使R29=R30,R24=R35,放大倍数即为N=R24/R29=R30/R35。具体原理作者将在后续文章为您分解。
图(2)电流采样
如果文章对你有帮助,欢迎关注作者,后面作者将为你推送更有价值的文章,谢谢!图(3)是作者做的电流电压自动excel自动计算表格,如小伙伴需要,请关注作者并在评论区留言即可,作者会把地址发给你。
图(3)excel计算表格
六种常见的电流检测电路设计方案
电流检测电路设计方案(一)
低端检流电路的检流电阻串联到地(图1),而高端检流电路的检流电阻是串联到高电压端(图2)。两种方法各有特点:低端检流方式在地线回路中增加了额外的线绕电阻,高端检流方式则要处理较大的共模信号。
图1 所示的低端检流运放以地电平作为参考电平,检流电阻接在正相端。运放的输入信号中的共模信号范围为:(GNDRSENSE*ILOAD)。尽管低端检流电路比较简单,但有几种故障状态是低端检流电路检测不到的,这会使负载处于危险的情况,利用高端检流电路则可解决这些问题。
高端检流电路直接连到电源端,能够检测到后续回路的任何故障并采取相应的保护措施,特别适合于自动控制应用领域,因为在这些应用电路中通常采用机壳作为参考地。
电流检测电路设计方案(二)
传统的高端/低端检流方式有多种实现方案,绝大多数基于分立或半分立元件电路。高端检流电路通常需要用一个精密运放和一些精密电阻电容,最常用的高端检流电路采用差分运放做增益放大并将信号电平从高端移位到参考地(图3):
VO=IRS*RS;R1=R2=R3=R4
该方案已广泛应用于实际系统中,但该电路存在三个主要缺点:
1)输入电阻相对较低,等于R1;
2)输入端的输入电阻一般有较大的误差值;
3)要求电阻的匹配度要高,以保证可接受的CMRR.任何一个电阻产生1%变化就会使CMRR 降低到46dB;0.1%的变化使CMRR 达到66dB,0.01%的变化使CMRR 达到86dB.高端电流检测需要较高的测量技巧,这促进了高端检流集成电路的发展。而低端电流检测技术似乎并没有相应的进展。
电流检测电路设计方案(三)
采用集成差分运放实现高端电流检测
采用差分运放进行高端电流检测的电路更便于使用,因为近期推出了许多种集成电路解决方案。集成电路内部包括一个精密运放和匹配度很好的电阻,CMRR 高达105dB 左右。MAX4198/99 就是这样的产品,它的CMRR 为110dB,增益误差优于0.01%,而且采用小体积的8 引脚mMAX 封装。
专用高端检流电路内部包含了完成高端电流检测的所有功能单元,可在高达32V 的共模电压下检测高端电流,并提供与之成比例的、以地电平为参考点的电流输出。需要对电流做精确测量和控制的应用,如电源管理和电池充电控制,都适合采用这种方案。
MAXIM 的高端检流运放中所使用的检流电阻放置在电源的高端和被检测电路的电源输入端之间,检流电阻放在高端不给地线回路增加额外阻抗,这项技术提高了整个电路的性能并简化了布版要求。
MAXIM 推出了一系列双向或单向电流检测IC,有些双向电流检测IC 内置检流电阻,可检测流入或流出被检电路的电流大小并通过一个极性指示引脚显示电流方向。增益可调的电流检测IC、固定增益(+20V/V,+50V/V,或+100V/V)电流检测芯片或包括单双比较器的固定增益电流检测IC,都采用小体积封装,如SOT23,可满足对尺寸要求苛刻的应用。图4 是用MAX4173 构成的高端电流检测电路。
图中输出电压与检流电阻的关系式为:
o=RGD*(Iload*Rsense)/RG1)
*b 式中b 为镜像电流系数
上式可进一步简化为:
Vo=“Gain”*Rsense*Iload;Gain= b*RGD/RG1
Gain 分别为:20(MAX4173T),50(MAX4173F),100(MAX4173H)。
通过以上计算公式可看出,CMRR 由内部集成检流电路的工艺决定(典型值》90dB),不再受外部电阻的影响。
采用集成检流电路有以下优点:
1、器件的一致性好
2、极好的温漂特性
3、体积小
4、低功耗
5、使用方便
选择检流电阻的注意事项
检流电阻RSENSE 应根据以下几条原则进行选择:
1、电压损耗:检流电阻阻值过大会引起电源电压以IR 的数值降低。为了减少电压损耗,应选用小阻值的检流电阻。
2、精度:较大的检流电阻可以获得更高的小电流的测量精度。这是因为检流电阻上的电压越大,运放的失调电压和输入偏置电流的影响就相对越小。
3、效率和功耗:当电流较大时,RSENSE 上的功耗I2R 就不能忽略。在考虑检流电阻和功耗时,需要注意这一点。如果允许检流电阻发热,则电阻阻值可大一些。
4、电感:如果ISENSE 包含大量高频成分,则检流电阻的电感量要很小。线绕电阻的电感最大,金属膜电阻比较好。
5、成本:如果合适的检流电阻的价格太高,则可采用另一种替代方案(图5)。它采用电路板的印制线作为检流电阻。由于印制板铜线“电阻”并不精确,电路里需要一个电位器调节满量程电流值。另外,铜线的温漂较大(大约为0.4%/℃),在宽温度范围下工作的系统需要考虑这一点。
电流检测电路设计方案(四)
可调节线性电流源(图6)是利用高端电流检测器构成的一个典型应用电,IC1 将R1 电流转换成相应比例的电压信号,控制稳压芯片IC2 产生一个稳定的输出电流,D/A 转换器可以提供IOUT 的数字控制。要达到12 BIT 精度(60mA 每LSB)的要求,可使用并行接口的MAX530 或串行接口的MAX531.10 BIT 精度(250mA 每LSB),则可使用并行接口的MAX503 或串行接口的MAX504.
电流检测电路设计方案(五)
基于51单片机的电压电流检测系统rpotues仿真
本设计采用AT89C51为主控芯片,外部采用ADC0804作为电压采集芯片,外部电压最高为10V,而ADC0804最高电压为+5V,所以模拟量连接入ADC芯片之前,首先用电阻分压,把待测电压分为原来的一半,这样所检测的电压就用0-10V变成了0-5V,符合ADC芯片的输入要求,在检测电压后,经过单片机处理后,在在原来的电压基础上乘以2则可以恢复以前的待测电压。
电压报警电路则由一路继电器和发光二极管,以及喇叭所组成。当ADC芯片所检测的电压超过一定的限制,则使特定的IO口变成低电平,导通PNP三极管,使继电器导通,发光LED和喇叭行成压降。产生报警。
由ADC芯片采集的电压值,和由电阻所变换计算出的电流值,在LCD上显示。
报警电压由两个按键所设定,当按键一按下则报警值加0.1V,当按键二按下则报警值减掉0.1V。
片机内部随时把采集电压和报警电压进行比较,当采集电压高过报警电压,则启动报警。
整体电路图
仿真图形
电压,电流显示电路
声光报警电路
按键设置电路
本次设计由于protues中的12864只有不带字库的液晶显示器,操作极为复杂。由于时间问题。软件程序仅仅调试了液晶1602显示器。相信只要有时间12864的显示也一定能够完成。
电流检测电路设计方案(六)
具有较宽共模输入范围的电流检测放大器。MAX44284电流检测放大器集高精度、宽输入共模范围于一体。您可以同时获得高精度、低功耗性能——具备Maxim一贯的简约设计风格。这款器件树立了检流放大器高精度、高灵活性的新标杆,具有优异的性价比,非常适合医疗、消费类电子、移动、通信或电机控制应用——需要高精度、设计简便的任何应用。
优异的精度
2µV输入失调电压,增益误差仅为0.05%
极低的输入失调温度系数:50nV/°C
-0.1V至+36V宽输入共模范围
低失调漂移和输入噪声
提供关断控制,节省电池电
相关问答
用AD采样 电流单片机 控制?如果ADC是5V的输入范围,那就是说明参考源是5V的,在这种情况下使用串联在回路中的电阻来分得5V电压才能测量,即设计在20A时电阻两端的电压为20A,根据欧姆定率...
如何用 单片机测量 交流 电流 ?曾经想过用Arduino做个简单的单相电流电压功率表,所以考虑过这个事。用Arduino的话,简单来说,因为实际的电压、电流一般是220V、数安培甚至更高,我们首先需...
通过52 单片机 如何对直流电压 电流 进行 测量 ?52单片机只是内核的通称,你要可以选型一款带AD数模转换的单片机型号,比如国产的STC系列;网上可以搜到一堆程序(搜51单片机AD程序);测量电压先要看电压的...
单片机 怎么进行工频交流 电流 的采样啊?我是用 电流 ?单片机进行流电流的采样,是通过电流互感器实现的,输出要接一个额定电阻作为负载,检测负载电压就可以了,不是直接检测电流。单片机怎么进行工频交流电流的采...
用51 单片机 完成交流 电流 检测?建议换单片机,51外设少,内核频率低,做软件闭环不容易,不如用stm32。如果必须用51,还要有一个AD芯片去采集电压,定时器输出接到mos驱动芯片,软件也就是一...
STM32 单片机 怎么检测0-24电压和 电流 - 梦之寐时尚 的回答 - 懂得0~24V直接用电阻分压ADC以后折算成相应电压,电流的话得用个芯片,max4080就行。32的采集范围是0-3.3v你需0-24v电压衰减电路:电压跟随器高精度用运...
单片机 怎么检测好坏?单片机好坏的检测可以通过以下方法进行:1.使用测试仪器检测:现今市场上有很多专业的测试仪器和设备可以检测单片机的好坏,例如USBEEPROMProgrammer,即可...
单片机 能控制多大的 电流 和电压?单片机本身并不直接控制电流和电压的大小,它作为一个微控制器,主要负责控制外部器件的开关和逻辑操作。单片机的输出引脚通常具有较小的电流(几毫安级别)和电...
51 单片机 如何采集24v 电流 信号?1.通过使用电阻分压器将24V电流信号转换为0-5V电压信号,再通过51单片机的模拟输入口进行采集。2.由于51单片机的模拟输入口只能接受0-5V的电压信号,而24V电...
单片机 如何正确检测充电电池的电压?如果电池在充电过程中,其...这是因为充电过程中的电流变化会影响端口电压。使用定时器定期采集数据,并计算平均值可以减少这种波动的影响,确保测量结果更准确单片机检测电池电压通常通过...