新闻中心

36选7无位置传感器的电机控制你知道吗?看完这

发布日期:2021-01-17 22:30

  电机控制一般使用闭环控制,这就必须使用传感器,如:霍尔传感器、编码盘等。

  但是有的应用场合下,难以安装霍尔传感器、编码盘,或者就算是安装好,也很容易损坏。

  霍尔传感器、编码盘都属于位置传感器。那么,无位置传感器,是否也能控制电机?

  这样一来,没有了位置传感器,大大简化了设备的安装步骤。但是,会产生另外的一些问题。

  MOS管驱动使用L6388ED,其内部逻辑可以防止高边和低边MOS管同时导通。有自举电容让高边MOS导通。

  在单片机初始化时,要给L6388ED的自举电容充电一段时间,否则高边MOS管可能不导通,或者不完全导通。

  L6388ED自举电容的容值可以由手册上的公式计算得出,我这里控制低速电机,用的是10uF。

  一旦自举电容充完电手,MOS管可以在一段时间内不需要充电,一般是电机每次启动时充电。

  建议使用15V给L6388ED供电,使用12V的话,可能让MOS不导通或不完全导通,如下图所示。

  测量三相电压,如下图所示,NET_W是W相的电压,而W可以直接接单片机的ADC,C11为100nF电容,该电容可以平滑相电压,不能去掉,否则无法检测反电动势。U相和V相与此类似,这里不再赘述。

  这种方法在绝大多数的情况下都能对齐,若不能对齐,会启动失败,此时,重新启动即可。

  这里的开环是指未检测到反电动势,强制输出PWM,并且在预算好的时间换相,从而让电机转起来。

  换相的方法,不同的电机可能不一样(如:极数不同),这里使用六步换相,如下图所示。

  其中,+VBUS表示上桥臂给PWM,-VBUS表示下桥臂给高电平导通,斜线表示上、下桥臂均不导通。

  理想情况下,上、下桥臂均不导通时,在电机某一相电压检测到反电动势过零,但是过零时刻和实际要换相的时刻,相差30度角。所以,在检测到反电动势过零之后,要延时30度,再换相。

  实际情况下,延时的30度还要根据单片机内部的ADC采样,滤波算法进行补偿,这里的补偿的角度一般是超前的。

  由于这里需要用到的ADC采样率要求不高(20KHz SPS),所以用单片机内部集成的ADC即可。

  这里采用ADC采样的方法。其滤波算法称为择多算法,在另一篇博文再详细介绍。

  六步换相有问题,可能不出现红圈中的竖线,也可能不出现蓝圈中的反电动势。反电动势有问题,电机无法加速。

  4.黄色为经过比较器后的波形(非本文使用的方法),蓝色为经过电阻分压和电容滤波后的波形。如下图所示。

  经过比较器后的波形会产生三条竖线,这三条竖线是由于换相引起的,所以在换相时,不判断过零。在不换相时,去抖,判断边沿翻转即是过零点,此方法比ADC滤波要简单一些。