4. 位置与速度传感器:霍尔传感器原理与安装、编码器(增量式/绝对式)接口设计、无传感器观测器初探
做 FOC 控制,说白了就是得知道转子在哪儿、转得多快。没有准确的位置和速度信息,电流环算得再漂亮也没用。这一章我们聊聊传感器——霍尔、编码器,还有无传感器观测器的一些入门思路。
我个人习惯把传感器选择比作「选鞋」:霍尔传感器就像拖鞋,便宜、够用、但精度有限;编码器像跑鞋,性能好、价格也高;无传感器观测器呢,有点像赤脚跑——省了鞋钱,但需要更强的技术功底。咱们一个一个来看。
4.1 霍尔传感器:原理与安装
霍尔传感器利用霍尔效应来检测磁场变化。电机里通常装三个霍尔元件,间隔 120° 或 60° 电角度。转子转动时,霍尔输出高低电平,组合出 6 个状态,对应 60° 电角度区间。
关键点:霍尔传感器只能提供 60° 电角度的分辨率,用于 FOC 启动和低速换相足够,但高速运行时精度不够。我见过不少项目用霍尔做启动辅助,高速切到无传感器观测器。
安装注意事项:
- 霍尔元件必须对准转子磁极的切换位置
- 三个霍尔之间的机械角度误差应控制在 ±1° 以内
- 安装后需要做角度校准——我习惯用示波器看霍尔边沿与反电动势过零点的对齐情况
我曾经踩过的坑:有一次霍尔安装座加工公差偏大,导致三个霍尔信号占空比不一致。低速时换相点偏移,电机抖动得像筛糠。后来加了软件校准才解决。所以霍尔安装后的校准步骤千万别省。
4.2 编码器:增量式与绝对式
编码器是 FOC 里用得最多的位置传感器。增量式和绝对式各有各的脾气。
| 类型 | 输出信号 | 分辨率 | 掉电保持 | 典型应用 |
|---|---|---|---|---|
| 增量式 | A/B/Z 脉冲 | 几百~几千线 | 否 | 伺服、机器人关节 |
| 绝对式 | SSI/BiSS/EnDat | 12~24 位 | 是 | 高端伺服、协作机器人 |
增量式编码器接口设计要点:
- A/B 相正交解码:用定时器的编码器模式或外部中断捕获边沿
- Z 相用于零位校准:每次上电后需要找 Z 相脉冲
- 速度计算:可以用 M 法(测频)或 T 法(测周期),低速时 T 法更准
// 增量式编码器速度计算示例(M法)
// 每 1ms 读取一次脉冲计数值
uint32_t pulse_count;
float speed_rpm;
void timer_isr(void) {
static uint32_t last_count = 0;
uint32_t current_count = encoder_get_count();
uint32_t delta = current_count - last_count;
last_count = current_count;
// 假设编码器 1000 线,4 倍频后每转 4000 脉冲
speed_rpm = (float)delta * 60.0f / (4000.0f * 0.001f);
}
我个人的经验:增量式编码器上电后不知道绝对位置,需要做一次「找零」动作。我习惯在电机上电后先低速转动到 Z 相位置,或者用霍尔辅助定位。绝对式编码器虽然贵,但省了这个麻烦。
绝对式编码器接口:
- SSI 协议:时钟+数据线,同步串行,适合中速应用
- BiSS 协议:双向通信,速度更快,适合高速伺服
- EnDat 协议:海德汉标准,工业级可靠性
接口设计时要注意差分信号传输、抗干扰滤波、以及 CRC 校验。我遇到过编码器线缆过长导致数据错位的问题,后来加了终端电阻和屏蔽层才稳定。
4.3 无传感器观测器初探
无传感器观测器,说白了就是不用物理传感器,靠数学模型估算转子位置和速度。常用的方法有:
- 反电动势法:利用电机反电动势过零点估算位置,低速时信号太弱
- 磁链观测器:基于电压模型或电流模型,计算定子磁链位置
- 滑模观测器:鲁棒性好,但存在抖振问题
- 扩展卡尔曼滤波:精度高,计算量大
我最早接触无传感器 FOC 是在一个风机项目上。客户要求不能装传感器,因为环境温度高、振动大。我们用了滑模观测器,配合启动时的 I/F 开环控制,效果还不错。
核心思路:无传感器观测器的本质是「用模型代替测量」。模型越准,估算越可靠。但模型依赖电机参数,参数变化(温度、磁饱和)会影响精度。
下面这张图展示了无传感器 FOC 的基本信号流向:
你想想看,无传感器观测器最大的挑战是什么?是低速。转速越低,反电动势信号越弱,信噪比越差。我见过不少方案在 10% 额定转速以下就撑不住了。
我的建议:如果项目对低速性能要求高(比如伺服对位、零速锁定),老老实实用编码器。如果只是风机、泵类负载,无传感器方案完全够用。
4.4 传感器选型决策
选哪种传感器,取决于你的应用场景。我整理了一个简单的决策表:
| 应用场景 | 推荐方案 | 理由 |
|---|---|---|
| 低成本风机/泵 | 无传感器观测器 | 省成本,对低速性能要求低 |
| 通用伺服 | 增量式编码器 | 性价比高,性能足够 |
| 协作机器人 | 绝对式编码器 | 掉电保持位置,安全要求高 |
| 汽车电子 | 霍尔 + 无传感器 | 冗余设计,可靠性优先 |