单片机工程师在面试的过程中,经常会碰到一些相同的问题,笔者总结了十个提问率较高的问题,供大家参考。现在我们来分析单片机工程师常遇面试问题之三:单片机如何采样电流?
单片机的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用来滤波防干扰。
电流采样
言归正传,单片机如何采样电流呢?如之前所说,单片机AD模块识别的是电压信号,那么要采样电流就需要先把电流信号转换成电压。一般的做法是在负载端增加一颗电流采样电阻,比如选择一个0.05Ω的电阻,当电流为2A的时候,那么该电阻两端的压差就是V=IR=0.052=0.1V;这样就可以把这个电压信号传送给单片机AD口进行检测。但是这个电压只有0.1V,单片机AD口资源得不到充分利用,检测误差会很大,所以我们要把这个电压进行放大。能不能增大采样电阻呢?显然是不行的,因为增大采样电阻会增加电路损耗。比如增加采样电阻为1Ω,那么当电流为2A的时候,电阻上消耗的功率为P=I2R=22*1=4W。这样的损耗是不允许的。所以我们只能加放大器来对这个小电压信号进行放大。图(2)是一个电流采样电路,R100为电流采样电阻,阻值0.05欧姆。该电路放大倍数为N=120K/5.1K=23.5倍。电路中使R29=R30,R24=R35,放大倍数即为N=R24/R29=R30/R35。具体原理作者将在后续文章为您分解。
单片机采样计算表格
图(3)是ADC采样自动计算的excel表格,输入电路中的相关参数即可自动计算数据,有需要的小伙伴可以微信搜索“DPJGCS”,关注作者的微信公众号“单片机技术交流站”,然后回复“AD计算表格”,即可获取该份excel。