BLDC 电机无感方波控制——写代码的 Tobem 有刷电机由于电刷和换向器之间的接触,会产生火花,并产生噪声,长时间使用会造成 损耗而BLDC电机是没有电刷的,因此,其可靠性和使用寿命都要比有刷电机高很多,且 现在节能减排理念深入人心,BLDC电机的高效率也让其应用领域越来越广泛未来BLDC 电机使用量比较大的应用市场主要有汽车、5G、无人机/水下机器人、电踏车/电动车、工业 机器人、风机、压缩机、电动工具、泵类和个人保健护理等在大众民用领域,因为成本原 因,很多是根据反电动势进行BLDC电机无感方波控制的,比如电动工具,无人机中的电调, 以及最近风靡起来的筋膜枪等本文将对此方法的使用进行讲解电路上,我们要能测量到电机3相的反电动势,同时为了检测过零点,需要能测量到电 机中点电压由于一般电机只给出3 相接口,电机中点一般不引出,因此我们需要创建一个 虚拟中点来进行检测原理图示意如下:6_MC0xThreeUPhasePowerVConverterwIMCIAMCIBI 慫 I_•]R3 I MCICST7FMCMCVREF虚拟中力BLDC 电机无感方波控制中,最主要的内容是六步换相、换相时机以及开机启动问题。
下面将分别对这三个方面进行讲解六步换相,顾名思义,也就是将旋转一圈的电磁角分为6 步,每步旋转的角度是 60° 电磁角每步过程中,只有两相通电,第三相是悬空的,可以根据该相的反电动势和虚拟中 点电压进行比较,来判断过零点的产生六步换相法的时序如下图所示:Table 1,1. Commut-ation SequenceAHBHCHALBLCLO^Bfl1-岡丁onDTfanOffWorrC2 (00° - 12£T)onOffoffoffOffonB3(120D-180^)QfTOffloff时QffonA4(ia0a-240a)offonoffonOffoffCe卿r-aor】arfononQffqPR6 (300" - J就HOffoffonoffanoffA其实,总的原则是换相时保持原来通电中的一相不变,通电中的另一相变到原来悬空相 即可,然后依次改变下去改变换相的方向,即可改变电机旋转的方向,即如果从1 顺序到 6 进行换相为正方向,则从 6 逆序到 1 进行换相旋转的则为负方向在六步换相中,既可以采用上下MOS管PWM互补的方式,也可以采用上管PWM,下 管常开关,或者上管常开关,下管PWM的方式。
下图采用的是上下管PWM互补输出的方式:Phase1 | 2 3 4 5 6ah Normal PWM 丨□ □ D □ □厂BH L LI LI LI」LI i Figune 57. CfllTipienieqmryI I IGH Complementary PWM下图采用的是一管PWM,另一管常开关的方式:coiiuiiiitafioi]coiiiiniUArionccuiiiimlatiai]cciiiiiiiilJiriGncotunutarionconuini rationA off■fflMBoffColT—— 勺叩皿皿俪皿俪MH120° l&0° 240a 300° 36CT rElettrk^l Angle程序可以采用状态机的方式将6步设置为电机的6种状态,可以参看STM32 SDK中的 六步 PWM 样例我们知道,当电机的定子磁场和转子磁场成 90°角时,这时的力矩是最大的,效率也 是最高的在六步换相法中,为了效率最优化,我们试图将磁场和转子磁场之间的夹角维持 在 60°~120°之间换相时机主要依据是过零点,通过悬空相的反电动势和虚拟中点电压 的比较由于过零点出现在每相的一半处,因此,当出现过零点时,再延时半相时间,即可 进行切换到下一步。
过零点的判断,可以采用比较器,或者是通过ADC采样进行软件比较 判断根据方案的不同,采样时间点又有几种不同的方式,其中使用最多的是,在母线电压 导通到一半的时候进行触发比较或者ADC采样,这在STM32的高级定时器中很容易实现 采样时机示意图如下所示:电机旋转起来速度达到一定值之后,产生的反向电动势能够进行比较时,则可以切换到根据 过零点进行换相,并进行速度闭环控制速度的计算可以根据两个过零点之间的时间差进行 计算,建议采用滑窗之类的算法进行滤波有些场景需要快速启动,比如无人机的电调,那 么可以采用3 步定位启动法,该方法只需要3 相时序即可确定转子位置,进而直接进入闭环 控制。