白癜风哪里看的好 http://baidianfeng.39.net/a_zhiliao/160122/4763423.html
记得有一次,软件工程师在调电机的驱动时遇到了一个问题。软件里判断不了电机是处于正常工作状态,还是堵转状态。因为在测试时,他发现电机正常转和堵转,软件里读到的ADC值相差不大。他说,软件里要区分正常工作和堵转,采到的ADC值最好是至少相差。于是,我从硬件上开始分析这个问题。
首先,用仪器分别测量出电机正常工作和堵转时的电流。测量结果是:正常工作电流是0.3A,堵转电流是0.6A。
然后,计算电机在正常工作和堵转时,单片机采到的ADC值分别是多少。先弄清楚单片机的ADC是多少位的,ADC的参考电压是多少。查看规格书后,知道单片机的ADC是12位的,故ADC的最大量程是,还有ADC的参考电压是3.3V。清楚ADC是多少位和参考电压后,还需要知道电机的电流采样电阻是多少,运算放大器组成的放大电路的放大倍数是多少,才可以计算出单片机采到的电机电流的ADC值。找到电机电流采样电路来进行分析,如下所示。
从上图可以知道,电机电流的采样电阻是R,阻值是0.1ohm,运算放大器组成的是正相比例放大电路,由正相比例放大器的计算公式Vout=(1+R2/R1)Vin,可知,这里的放大电路的放大倍数是1+50/10=6倍。知道以上计算条件后,就可以计算单片机采到的电机电流的ADC值是多少了。
上图是计算结果,可以知道单片机采到的电机正常工作电流的ADC值是,而采到的堵转电流的ADC值是,两者的差值只有,比小,显然不满足条件,所以,软件判断不出电机是正常工作还是堵转。
之后,调整一下放大电路的放大倍数,把放大倍数调整成1+/10=11。如下图所示。
计算放大电路放大倍数调整后单片机采到的电机电流的ADC值。
从上面的计算结果可知,调整放大电路的放大倍数后,单片机采到的电机正常工作电流的ADC值是,而采到的堵转电流的ADC值是,两者的差值是,比大,满足判断条件。
最后,把电路板上对应的电阻更换阻值,让放大电路的放大倍数调整成11倍,给软件工程师调试,结果就是可以区分出电机是正常工作状态和堵转状态了。就这样,问题得到了解决。
电子玩家你的支持是我创作的动力