硬件平台搭建:主控芯片选型(STM32/GD32)、驱动芯片选型(DRV8301/IR2101)、功率电路设计要点

做FOC,硬件是地基。地基没打好,算法写得再漂亮也是白搭。我见过太多人把精力全扑在代码上,结果板子一上电,MOS管直接冒烟。嗯,今天咱们就聊聊硬件选型和设计,把那些坑提前填上。

主控芯片选型:STM32还是GD32?

说实话,这个问题我当年也纠结过。STM32是行业标杆,GD32是国产替代的尖子生。怎么选?看你的项目阶段和成本压力。

STM32F103系列——入门首选

我个人习惯用STM32F103C8T6做原型验证。为什么?便宜、好买、资料多。72MHz的主频,跑一个20kHz的FOC电流环,绰绰有余。你想想看,电流环计算也就几十微秒,剩下的时间还能干点别的。

关键资源:

  • 2个高级定时器(TIM1/TIM8),直接输出6路互补PWM,带死区插入
  • 3个ADC,支持注入组和规则组,同步采样两相电流
  • QEI接口,直接接编码器

重要提醒:FOC对定时器的要求很高。必须要有硬件死区插入功能,否则你软件里写死区,一不留神就上下管直通。我刚开始做的时候就用软件延时做死区,结果有一次中断响应慢了,板子直接冒烟。从那以后,我再也不敢省硬件死区了。

GD32F303系列——性价比之选

如果你的产品要量产,成本敏感,GD32F303是个好选择。它和STM32F103引脚兼容,主频能跑到120MHz,算力更强。我在一个量产项目里用过GD32,跑了两年没出过问题。

但要注意:

  • GD32的ADC采样时序和STM32略有不同,采样保持时间要重新调
  • 烧录器不通用,得用GD-Link或者J-Link配合特定配置
  • 有些外设寄存器地址不一样,移植代码时要仔细核对

我的建议:新手先用STM32做原型,跑通了再考虑换GD32降成本。别一上来就挑战高难度,debug的时候你会怀疑人生的。

驱动芯片选型:DRV8301 vs IR2101

驱动芯片是连接MCU和功率MOS管的桥梁。选错了,轻则波形畸变,重则炸管。我在这上面吃过不少亏。

DRV8301——集成方案,省心省力

DRV8301是TI的集成驱动芯片,内置三个半桥驱动、电流检测放大器、降压稳压器。说白了,一个芯片搞定大部分模拟电路。

优点很明显:

  • 集成度极高,外围元件少,PCB面积小
  • 内置电流检测放大器,增益可调(5/10/20/40 V/V)
  • SPI接口配置,可以读故障状态、调驱动参数
  • 驱动能力1.5A/2.3A(峰值),能推大部分中小功率MOS管

我在一个48V/500W的电动工具项目里用过DRV8301,效果不错。但要注意它的散热问题——芯片底部有个大焊盘,必须焊接到地平面散热。我第一次画板子时没注意,结果芯片热保护频繁触发。

警告:DRV8301的供电电压范围是6V~60V,但实际使用建议留20%余量。48V系统用这个芯片,浪涌电压很容易超过60V。我建议加TVS管和输入滤波电容。

IR2101——分立方案,灵活可控

IR2101是经典的半桥驱动芯片,一个芯片只能驱动一个半桥。做三相FOC需要三片。好处是便宜、灵活、坏了换一片就行。

关键参数:

参数 IR2101 DRV8301
驱动通道数 1个半桥 3个半桥
自举电压 最高600V 最高60V
驱动电流 200mA/350mA 1.5A/2.3A
死区时间 需外部设置 内部可编程
电流检测 内置

用IR2101时,自举电容和自举二极管的选择很关键。电容太小,上管关断时电压保持不住;电容太大,充电时间太长。我一般用10μF~47μF的钽电容,配合快恢复二极管(比如UF4007)。

经验之谈:如果你做低压(24V以下)小功率(100W以下)的FOC,用IR2101完全够用,成本低,坏了也好修。但如果是高压大功率,我建议用DRV8301或者更高级的集成方案,可靠性高很多。

功率电路设计要点

功率电路是FOC硬件里最容易出问题的地方。我总结几个关键点,都是血泪教训换来的。

MOS管选型

选MOS管看三个参数:耐压、导通电阻、栅极电荷。

  • 耐压:母线电压的1.5~2倍。48V系统用75V或100V的管子
  • 导通电阻:越小越好,但越小越贵。一般选10mΩ~30mΩ的
  • 栅极电荷:影响开关速度。Qg太大,驱动芯片推不动,开关损耗大

我常用的型号:NCE3080K(80V/80A,Rds(on)=8mΩ),性价比很高。

栅极驱动电阻

栅极电阻控制开关速度。电阻太大,开关慢,损耗大;电阻太小,开关快,EMI严重,还可能振荡。

怎么选?我一般从10Ω开始试,用示波器看栅极波形。如果振铃严重,加大电阻;如果开关太慢,减小电阻。最终在开关损耗和EMI之间取平衡。

关键点:上下管的栅极电阻可以不一样。上管可以稍微大一点(比如22Ω),下管小一点(10Ω),这样能减少米勒平台效应引起的直通。

电流采样电路

FOC需要精确的相电流信息。常用的采样方式有两种:

  • 三电阻采样:精度高,但需要三个运放,成本高
  • 单电阻采样:成本低,但算法复杂,低速时精度差

我建议新手用三电阻采样。采样电阻选10mΩ~50mΩ的,功率要够。运放用LMV358或者MCP6002,便宜好用。注意采样电阻的布局——要靠近MOS管的源极,走线要短,避免引入噪声。

曾经踩过的坑:有一次我为了省成本,用了0805封装的采样电阻,结果电流一大,电阻发热严重,阻值漂移,电流采样全偏了。从那以后,我至少用2512封装的采样电阻,功率余量留足。

PCB布局要点

功率电路的PCB布局,说白了就是处理好大电流回路和控制回路的关系。

  • 功率回路要短:母线电容到MOS管、MOS管到电机,走线要宽、要短
  • 控制回路要远离:MCU、驱动芯片、采样电路要远离功率回路,中间用地隔离
  • 单点接地:功率地和信号地分开走,最后在电源输入端单点连接
  • 去耦电容:每个芯片的电源引脚都要放0.1μF的陶瓷电容,靠近引脚放置

我记得有一次画板子,功率回路和控制回路混在一起,结果电机一转,ADC采样全是噪声,电流环根本稳不住。后来重新布局,把功率部分和控制部分彻底分开,问题就解决了。

总结一下

硬件选型和设计,没有绝对的对错,只有适合不适合。我的建议是:

  • 新手先用STM32F103 + DRV8301,集成度高,容易上手
  • 成本敏感用GD32 + IR2101,但要花时间调参数
  • 功率电路设计,留足余量,别卡着极限值算

硬件这东西,多做几个项目就有感觉了。刚开始炸几块板子很正常,关键是炸完之后要搞清楚为什么炸。嗯,今天就聊到这儿,下一章咱们开始讲FOC的核心算法——Clark变换和Park变换。