BLDC和FOC电机控制,离不开对电机运行电流的监控,由于CW32L011电机驱动器在设计之初考虑到支持FOC控制,所以,并未采用简单的母线电流采样,而是选择使用三相电流采样(低侧)。这里我们使用了一颗四运放芯片,如果无需FOC控制,可使用LMV324,降低成本。如果是FOC的控制需求,则建议使用GS8554,1.8MHz的增益带宽能更好满足控制需求。
相关电流采样电路如图:
回顾一下功率变换电路,RAU0、RBV0、RCW0 分别为ABC三相的电流采样电阻。电流采样电路就是采集这几个电阻上的电压降,从而反推出电流。
由于三相的电流采样电路是同一原理,我们这里只分析U5.4和U5.3。
U5.4相关电路为跟随器电路,为三相电流采样的运放提供了一个2.5V的偏置电压基准。即在0电流的状态下,运放应输出2.5V。
跟随器电路相较于传统稳压电路,能提供一个输出阻抗小的电平信号(可以作为一个可靠的电压源),配合输出端的R47和C22(大C小R),使之更稳定可靠。
U5.3运放及其周边阻容,组成了一个减法器电路,作为电机A相的低侧电流采样电路。
减法器电路的输入阻抗小,相比加法器,可消除电机运转时,采样电阻上的共模干扰(伪差分)。
由于R49接近采样电阻的低端,R50接近运放,增加R51对地,也能有助于消除采样电阻上的交流干扰。
由原理图可知,运放正端电压Vp=2.5V*{(R49||R51)➗[(R49||R51) + R50]}=0.388V(||为并联)
根据运放虚短特性,运放负端电压Vn=Vp=0.388V
A相采样电阻位号为 RAU0 ,设采样电阻高端电压为Va(图中IA网络)
根据运放虚断特性,理想情况下没有电流流入运放,所以可得运放输出公式:
(Vout-Vn)/(R52||R53)=(Vn-Va)/R48
Vout=2.378-5.13*Va
可得电流采样电路的电流放大倍数为5.13倍。
仿真一下(模型差异会存在误差):
当Va=0V时;Vout=2.38V :
当Va=0.1V时;Vout=1.87V :
当Va=-0.1V时;Vout=2.90V :
在软件程序运算中,由于PID控制是对结果的差值状态进行控制,所以放大倍数计算误差对控制结果无影响,对电流值的结果显示或者精确过流值的读取有影响。
运放输出经过R54与C25滤波后,接入CW32L011的ADC引脚PA6。因为CW32L011内部VC(比较器)可以和ADC共用,如果有过流刹车的功能需要考虑,可以将任意一相采样结果输出到带有VC功能的ADC引脚。
下图是Layout的参考,By JLCEDA专业版。
这个电流采样电路相较于社区以往开源的无刷电机驱动项目中的相关电路,看起来要更为复杂,但是这个电路经过了大量的产品应用检验,较为可靠,尤其适用于低压大功率的场景。我们的相关产品在十几年前就在使用这个电路,今天拿出来分享。
随着工作项目、工作经验增加,笔者再回过头来分析这个电路,其实还是有点头大的。很多基础知识忘得七七八了。如有不同见解,欢迎批评指正。
这个项目的资料,我们把它开源在了 立创开源硬件平台 :
https://oshwhub.com/beauty_light/cw32l011-dian-ji-qu-dong
扫码加入QQ群3群| 610403240
515