硬件平台选型:主控芯片、驱动芯片与电流采样方案
做FOC控制,说白了就是三件事:算得快、驱动稳、采得准。这三件事分别对应主控芯片、驱动芯片和电流采样方案。我这些年折腾下来,发现选型这事真不能光看参数表,得结合实战经验来定。
主控芯片选型:STM32 vs GD32
主控芯片是FOC算法的大脑。我个人习惯用STM32,但GD32这两年也追得很猛。
STM32F103系列是经典款。我最早的项目就是用STM32F103C8T6,72MHz主频,单精度浮点单元(FPU)是软件模拟的。跑FOC算法时,电流环能做到10kHz左右。嗯,够用,但别想跑太复杂的观测器。
STM32F4系列就不一样了。带硬件FPU,主频168MHz起步。我记得第一次用STM32F405跑FOC,电流环直接干到20kHz,而且还能塞个滑模观测器进去。说实话,这性能对于大部分电机控制项目都绰绰有余。
GD32F303是STM32F103的平替。我测试过,主频能到120MHz,比STM32F103高不少。但有个坑——它的ADC采样时序和STM32不完全一样。我曾经在移植代码时,发现电流采样值总跳变,查了两天才发现是ADC触发延迟的问题。
| 芯片型号 | 主频 | FPU | 电流环频率 | 参考价格 |
|---|---|---|---|---|
| STM32F103C8T6 | 72MHz | 无(软件模拟) | ~10kHz | 约8元 |
| STM32F405RGT6 | 168MHz | 硬件单精度 | ~20kHz | 约25元 |
| GD32F303CCT6 | 120MHz | 硬件单精度 | ~15kHz | 约6元 |
驱动芯片选型:DRV8301 vs IR2101
驱动芯片负责把主控的PWM信号放大,去驱动MOS管。选错了,轻则发热严重,重则炸管。
DRV8301是集成方案。它把三个半桥驱动、电流采样放大器、甚至降压稳压器都集成在一起。我最早用DRV8301做BLDC驱动板,布线特别省心。而且它自带电流采样放大,增益可调(5/10/20/40 V/V)。
但DRV8301有个毛病——散热。我记得有一次做满载测试,芯片温度飙到85°C,手都不敢碰。后来加了散热片才压住。
IR2101是分立方案。它就是个半桥驱动,需要自己搭外围电路。好处是灵活,坏处是麻烦。我有个项目需要驱动大功率电机(48V/20A),用IR2101搭配独立MOS管,散热和电流能力都很好。
| 驱动方案 | 集成度 | 最大电压 | 最大电流 | 适用场景 |
|---|---|---|---|---|
| DRV8301 | 高(集成驱动+采样+稳压) | 60V | 2.5A(驱动能力) | 中小功率、快速开发 |
| IR2101 | 低(仅半桥驱动) | 600V | 取决于外置MOS | 大功率、定制化设计 |
电流采样方案:单电阻/双电阻/三电阻
电流采样是FOC的命门。采不准,算法再好也白搭。你想想看,Clark变换和Park变换都是基于电流值算的,源头数据错了,后面全错。
单电阻采样:只用一个采样电阻,放在直流母线上。通过PWM开关状态,在特定时刻采样两相电流。优点是成本低、PCB面积小。缺点是算法复杂,而且低速时采样窗口不够,容易失真。
我有个朋友做吸尘器电机,用了单电阻方案。低速启动时电机抖得跟筛子似的,后来换成双电阻才解决。
双电阻采样:用两个采样电阻,分别放在两相下桥臂。这是最常用的方案。采样精度够用,算法也不复杂。我大部分项目都用这个方案。
双电阻的坑在于——两相电流采样必须同步。我习惯用定时器的ADC触发功能,在PWM中心点对齐采样,这样噪声最小。
三电阻采样:三相各放一个采样电阻。精度最高,但成本也最高。一般用在伺服驱动器或高端机器人关节上。
| 采样方案 | 电阻数量 | 采样精度 | 算法复杂度 | 成本 |
|---|---|---|---|---|
| 单电阻 | 1个 | 中(低速差) | 高 | 低 |
| 双电阻 | 2个 | 高 | 中 | 中 |
| 三电阻 | 3个 | 极高 | 低 | 高 |
最后说一句,选型没有绝对的对错。我见过用STM32F103配DRV8301做无人机电调,也见过用GD32F303配IR2101做工业泵。关键是搞清楚你的项目需求——电压多少?电流多大?成本预算多少?开发周期多长?想清楚这些,选型自然就清晰了。
公众号:蓝海资料掘金营,微信deep3321