无刷电机三项霍尔连接线序组合详细分析与波形实例
一、霍尔线序问题概述
无刷直流 (BLDC) 电机和控制器的接线没有既定的标准,因此,霍尔传感器和相位引线可能标记为 ABC、UVW,甚至根本没有标记。与其尝试分析电机以了解其定相,通过试错反复试验来确定正确的连接通常更容易。
由于三个霍尔传感器可以任意连接,因此有六种可能的电机相位引线连接方法。
线序1 | A-B-C |
线序2 | A-C-B |
线序3 | B-A-C |
线序4 | B-C-A |
线序5 | C-A-B |
线序6 | C-B-A |
在这六种相位接线组合当中,只有一种是正确的;与此同时,有三种连接会完全阻止电机转动(因为角度与正常角度相反);剩下两种不正确的连接也需要特别关注。因为如果电机以这两种不正确的方法连接,电机也会转动,但是因为输出的角度和真实的角度有固定误差(60°霍尔安装方式两种错误是60°偏差和180°,120°霍尔安装方式两种错误是120°偏差和60°,),所以其性能会严重降级。
一旦电机旋转,就可以用示波器来观察相电压、相电流;或通过母线电流计算功率以查看连接是否正确。 如果连接正确,相电压波形将近似对称。相电流呈比较平滑的正弦形态。此外也可以观察稳压的提示的母线输出电流,是否大致与电机的额定功率匹配,运行一会电机是否发热等判断当前是否是那两种效率较低的线序。
二、120°与 60° 霍尔安装位置区别
我们仅以极对数 1 的电机举例,因为这个霍尔角度是按照电角度安装的, 霍尔波形和极对数无关。
2.1、120° 霍尔安装示例:
其正确旋转的波形是这样的:
霍尔状态切换顺序如下:
2.2、60° 霍尔安装示例:
正确旋转霍尔状态切换顺序如下:
三、六种霍尔线序波形详解
3.1 从霍尔转变为角度
我们以 120° 安装方式查看角度波形。
首先需要将 A、B、C 三相转化为二进制数字:
HALL_IO = (((HALL_U << 0) | (HALL_V << 1) | (HALL_W << 2)) & 0x07);
HALL_IO = (((HALL_U << 0) | (HALL_V << 2) | (HALL_W << 1)) & 0x07);
HALL_IO = (((HALL_U << 1) | (HALL_V << 0) | (HALL_W << 2)) & 0x07);
HALL_IO = (((HALL_U << 1) | (HALL_V << 2) | (HALL_W << 0)) & 0x07);
HALL_IO = (((HALL_U << 2) | (HALL_V << 0) | (HALL_W << 1)) & 0x07);
HALL_IO = (((HALL_U << 2) | (HALL_V << 1) | (HALL_W << 0)) & 0x07);
之后根据 HALL_IO 的值得出角度,在下面的角度是将 0°~360° 映射到 -32768~32767 的代码:
switch (HALL_IO) // 霍尔新状态
{
case 0x05:mc_hall.g_IoHall.Theta = -27308;break;case 0x01:mc_hall.g_IoHall.Theta = -16385;break;case 0x03:mc_hall.g_IoHall.Theta = -5463;break;case 0x02:mc_hall.g_IoHall.Theta = 5463;break;case 0x06:mc_hall.g_IoHall.Theta = 16385;break;case 0x04:mc_hall.g_IoHall.Theta = 27308;break;default:break;
}
其中,mc_hall.g_IoHall.Theta 这个变量代表当前实际电角度。
3.2 线序详解
3.2.1 A-B-C 线序
HALL_IO = (((HALL_U << 2) | (HALL_V << 1) | (HALL_W << 0)) & 0x07);
HALL_IO 的值变化如下:4-6-2-3-1-5
3.2.2 A-C-B 线序
HALL_IO = (((HALL_U << 2) | (HALL_V << 0) | (HALL_W << 1)) & 0x07);
HALL_IO 的值变化如下:6-4-5-1-3-2
3.2.3 B-A-C 线序
HALL_IO = (((HALL_U << 1) | (HALL_V << 2) | (HALL_W << 0)) & 0x07);
HALL_IO 的值变化如下:1-3-2-6-4-5
3.2.4 B-C-A 线序
HALL_IO = (((HALL_U << 0) | (HALL_V << 2) | (HALL_W << 1)) & 0x07);
HALL_IO 的值变化如下:5-4-6-2-3-1
3.2.5 C-A-B 线序
HALL_IO = (((HALL_U << 1) | (HALL_V << 0) | (HALL_W << 2)) & 0x07)
HALL_IO 的值变化如下:2-3-1-5-4-6
3.2.6 C-B-A 线序
HALL_IO = (((HALL_U << 0) | (HALL_V << 1) | (HALL_W << 2)) & 0x07);
HALL_IO 的值变化如下:5-1-3-2-6-4
3.3 线序规律总结
A-B-C、B-C-A、C-A-B 组合的角度极性是正确的,但是 B-C-A 和 C-A-B 两种组组合的角度有固定偏差,导致电机效率不高。其他三种的极性是错误的,会导致电机不能旋转。
在拿到一个新电机和新控制器时,如果我们搞不清楚控制器的接口也搞不清电机的线序,此时建议先跑一下不依赖霍尔的强拖程序,电机相线的六种组合下会有一种正转一种反转,此时先让电机转起来。之后根据上述规律组合搭配出霍尔顺序即可。
根据上述技巧,最多尝试 8 次 (5次电机相线组合,3次霍尔组合) 即可找到正确的线序。