3. 硬件平台搭建:从零攒一套能跑的FOC实验台
做FOC编码器零位校准,说白了,你得先有一套能转起来的硬件。我见过不少朋友,算法写得飞起,结果一上电电机抖得像筛糠——最后发现是编码器线没焊牢。嗯,这章咱们就把硬件底子打扎实。
3.1 硬件清单:别漏了关键零件
我个人习惯,列清单时按信号流向排。从MCU到功率级,再到电机和反馈,这样不容易漏。
| 模块 | 推荐型号/规格 | 数量 | 备注 |
|---|---|---|---|
| 主控MCU | STM32G431 / TMS320F28027 | 1 | 带硬件FOC和正交编码器接口 |
| 驱动器 | DRV8301 / L6234 + 3路半桥 | 1 | 电流采样和故障保护必须带 |
| 电机 | 低压直流无刷电机(12V/24V) | 1 | 极对数4~7对,方便观察 |
| 编码器 | AS5048A(SPI)/ AMT102(ABZ) | 1 | 绝对式优先,省去找零位 |
| 电源 | 开关电源 24V/5A | 1 | 电机和逻辑分开供电 |
| 隔离模块 | ISO7241 / ADuM1201 | 1 | 强电弱电隔离,保命用的 |
| 调试工具 | J-Link / ST-Link + 示波器 | 各1 | 抓PWM和编码器波形必备 |
我的经验:第一次做FOC,别用大功率电机。24V/2A以内的桌面级电机最合适——烧了不心疼,调试也安全。
3.2 电路连接示意图:信号怎么走
下面这张图是我自己画的标准接线拓扑。你照着接,至少不会冒烟。
核心信号流:MCU发出6路互补PWM → 驱动器放大驱动电机 → 编码器反馈转子位置 → MCU读取并计算下一拍占空比。闭环就这么简单。
3.3 关键元器件选型建议
3.3.1 MCU:别省那几十块钱
我建议直接上带硬件FOC外设的型号。STM32G431的HRTIM和CORDIC协处理器,算角度和电流环几乎不占CPU。你想想看,如果软件算SVPWM,一个中断里要干多少活?
- STM32G431:性价比之王,淘宝50块左右,带3路ADC同步采样
- TMS320F28027:TI的C2000系列,老牌FOC专用,生态成熟
- GD32F303:国产替代,便宜但库函数坑多,慎用
我曾经踩过的坑:用了一款不带硬件死区插入的MCU,结果上下管直通,MOS管直接冒烟。后来老老实实加死区硬件模块,再没出过事。
3.3.2 驱动器:电流采样是灵魂
FOC的核心是电流环。驱动器必须支持双电阻或三电阻采样。DRV8301内置了差分放大器和可编程增益,省掉一堆运放。
| 参数 | DRV8301 | L6234 | 说明 |
|---|---|---|---|
| 最大电压 | 60V | 52V | 够用就行 |
| 最大电流 | 2.5A(连续) | 5A(峰值) | 桌面级2A足够 |
| 电流采样 | 内置差分运放 | 需外接 | 内置省PCB面积 |
| 故障保护 | 过流/过热/欠压 | 仅过流 | 安全第一 |
3.3.3 编码器:绝对式 vs 增量式
做零位校准,我强烈推荐绝对式编码器。为什么?上电就知道位置,不用找零位。AS5048A通过SPI直接读出14位角度,分辨率0.022度,够用了。
- 绝对式(AS5048A / MA702):上电即用,零位校准只需一次偏移量记录
- 增量式(AMT102 / E6B2):需要找零位脉冲,每次断电重来,调试烦死人
我的习惯:如果预算允许,直接上绝对式。省下的调试时间,够你喝好几杯咖啡了。
3.3.4 电机:极对数别选太大
极对数多了,电气角度变化快,对采样率要求高。4对极的电机,电气频率是机械频率的4倍。我一般用4~7对极的电机做实验,转速控制在3000rpm以内,这样示波器能看清波形。
3.4 避坑指南:硬件调试的五个血泪教训
- 电源先上,信号后上——先给驱动器供电,再给MCU发PWM。反过来容易导致MOS管误导通。
- 编码器线要双绞——我遇到过编码器读数跳变,最后发现是线太长没绞,共模干扰串进去了。
- 电流采样电阻别用贴片0805——功率稍大就发热,阻值漂移,电流环直接崩。用2512或直插电阻。
- 隔离不能省——强电侧和弱电侧不隔离,示波器探头一碰就炸。ISO7241才几块钱,别省。
- 预留测试点——PWM、电流采样、编码器信号,每个关键节点留个焊盘。不然飞线查问题,你会想哭。
一句话总结:硬件平台搭建,稳比快重要。照着清单买,照着图接,照着避坑指南查——这套平台至少能陪你跑完整个课程。