2、电机控制信号基础:直流无刷电机(BLDC)控制原理、PWM信号、霍尔传感器信号、编码器信号

好,咱们进入正题。这一章我打算聊聊电机控制里最基础、也最绕不开的几个信号。你想想看,不管你是做无人机、做电动工具,还是搞机器人关节,最终都绕不开直流无刷电机(BLDC)。而调试BLDC,逻辑分析仪就是你的眼睛。

我个人习惯,拿到一个新项目,先不看代码,先看波形。波形对了,代码大概率没问题。波形乱了,你调三天三夜也未必能找到bug。所以这一章,咱们把BLDC的控制原理、PWM、霍尔、编码器这几个信号彻底讲透。

2.1 直流无刷电机(BLDC)控制原理

BLDC说白了,就是把直流电机的电刷换成了电子换向器。转子是永磁体,定子是线圈。你给线圈通电,产生磁场,推着转子转。但问题来了——你怎么知道什么时候该给哪一组线圈通电?

这就需要一个“位置反馈”。要么用霍尔传感器,要么用编码器,要么用反电动势检测(无感方案)。我早期做的一个项目,用的是有感方案,霍尔传感器直接贴在电机内部,简单粗暴,适合低速大扭矩的场景。

BLDC的驱动方式,最常见的是六步换向法。也就是把三个相(U、V、W)按照固定的顺序通电,每60度电角度换一次相。你想想看,一个电周期360度,正好六步走完。

核心要点:BLDC控制的关键在于“换向时序”。换向早了或晚了,电机都会抖、会啸叫、会发热。逻辑分析仪就是用来抓这个时序的。

2.2 PWM信号

PWM,脉宽调制,说白了就是通过调节占空比来控制电机转速。你给电机绕组通一个高频的方波,占空比高,平均电压就高,转速就快;占空比低,转速就慢。

这里有个坑,我踩过。PWM的频率不能随便选。频率太低,电机会发出人耳可闻的啸叫声(比如1kHz以下),听着就烦。频率太高,MOS管的开关损耗会急剧增加,发热严重。我一般习惯用16kHz到20kHz,既听不到声音,损耗也能接受。

用逻辑分析仪看PWM信号,主要看三个参数:

  • 频率:是不是你设定的值?有没有漂移?
  • 占空比:是不是线性变化?有没有突变?
  • 死区时间:上下桥臂切换时,有没有同时导通?

小技巧:我习惯在逻辑分析仪上设置一个“占空比测量”的协议解析。这样一眼就能看到当前占空比是多少,不用自己数格子。

来看一个典型的PWM波形示例:

// 假设PWM频率为20kHz,周期50us
// 占空比50%,高电平25us,低电平25us

通道1: ████████░░░░░░░░░░░░░░  (高电平25us)
通道2: ░░░░░░░░████████░░░░░░  (高电平25us,相位偏移)

嗯,这里要注意。如果你用的是互补PWM(上下桥臂互补导通),一定要检查死区时间。我曾经遇到过死区设得太短,上下管直通,MOS管直接冒烟。那味道,至今难忘。

2.3 霍尔传感器信号

霍尔传感器,是BLDC里最常见的“位置传感器”。三个霍尔元件(HA、HB、HC)安装在定子上,转子磁极经过时,霍尔输出高低电平。三个霍尔组合起来,就能知道转子当前在哪个扇区。

霍尔信号是方波,但它的频率会随着转速变化。转速越高,霍尔频率越高。用逻辑分析仪抓霍尔信号,我一般会看以下几点:

  1. 三个霍尔信号的相位关系:是不是相差120度?如果相位不对,可能是霍尔安装位置有偏差。
  2. 霍尔信号的占空比:理想情况下是50%。如果占空比偏差太大,说明霍尔元件灵敏度不一致,或者磁钢充磁不均匀。
  3. 霍尔信号的边沿抖动:如果边沿有毛刺,说明有干扰,或者电机在低速时抖动。

警告:霍尔信号在电机启动瞬间最容易出问题。因为转速低,霍尔信号变化慢,MCU可能采样不到准确的边沿。我建议在启动时用“强制换向”模式,等转速起来后再切回霍尔闭环。

霍尔信号与换向时序的关系,可以用一个表格来表示:

扇区 HA HB HC 通电相
1 1 0 1 U+ V-
2 1 0 0 U+ W-
3 1 1 0 V+ W-
4 0 1 0 V+ U-
5 0 1 1 W+ U-
6 0 0 1 W+ V-

你看,霍尔信号每变化一次,就对应一次换向。逻辑分析仪抓到这个变化,就能判断换向是否及时。

2.4 编码器信号

编码器比霍尔更精确。霍尔只能告诉你转子在哪个扇区(60度分辨率),编码器可以告诉你精确的角度位置。常用的增量式编码器,输出A、B两路正交信号,有时候还有Z信号(零位信号)。

A和B两路信号,相位差90度。正转时,A领先B 90度;反转时,B领先A 90度。用逻辑分析仪抓编码器信号,我主要看:

  • A、B信号的相位关系:判断转向是否正确。
  • 脉冲计数:一圈多少个脉冲?是不是和编码器标称值一致?
  • Z信号:每圈一个脉冲,用来校准位置。

我曾经遇到一个案例,编码器A相有毛刺,导致MCU计数多跳了好几个脉冲。电机位置越跑越偏,最后直接飞车。用逻辑分析仪一抓,发现A相线上有高频噪声。加了个RC滤波,问题解决。

调试建议:用逻辑分析仪的“解码器”功能,直接解析出编码器的位置和速度。很多逻辑分析仪软件都支持正交编码器解码,省得你自己数脉冲。

编码器信号波形示例:

// 正转时,A领先B 90度
A: ████░░░░████░░░░████░░░░
B: ░░████░░░░████░░░░████░░

// 反转时,B领先A 90度
A: ████░░░░████░░░░████░░░░
B: ████░░░░████░░░░████░░░░  (注意相位变化)

嗯,这里要提醒一下。编码器的Z信号很关键,但也很容易被忽略。如果你做的是绝对位置控制(比如机械臂关节),一定要在每次上电时让电机找一下Z信号,否则位置会漂移。

2.5 三种信号的对比

最后,我把这三种信号放在一起做个对比,方便你选型时参考:

信号类型 精度 成本 适用场景 调试难度
PWM 低(仅控制速度) 开环控制、风机、水泵
霍尔 中(60度分辨率) 有感BLDC、电动工具、低速大扭矩
编码器 高(可达0.1度) 伺服控制、机器人、精密定位

我个人建议,初学者先从霍尔方案入手。霍尔信号简单,逻辑分析仪一抓就明白。等把换向时序搞清楚了,再上编码器做FOC(磁场定向控制)。

好了,这一章就到这里。下一章咱们聊聊怎么用逻辑分析仪实际抓取这些信号,以及常见的波形陷阱。