2. C2000硬件平台:TMS320F28379D关键外设与电流采样设计
做弱磁控制,硬件平台是地基。地基不稳,算法再漂亮也白搭。
这一章,我带你过一遍TMS320F28379D上跟弱磁强相关的几个外设。不是照着数据手册念,而是讲清楚「为什么这么配」以及「我踩过的坑」。
2.1 关键外设速览
F28379D是双核C2000,主频200MHz,带两个CLA(控制律加速器)。但做电机控制,你真正要盯紧的是下面这几个模块:
| 外设 | 弱磁场景下的关键作用 | 我个人最在意的点 |
|---|---|---|
| ePWM | 生成互补PWM,支持死区、HRPWM高精度 | 同步与触发ADC的时序,差一个时钟周期都可能出问题 |
| ADC | 四路同时采样,12位/16位可配 | 采样窗口必须够长,否则弱磁区电流畸变你查都查不到 |
| eQEP / eCAP | 编码器/霍尔接口,获取转子位置 | 弱磁区高速时,eQEP容易丢脉冲,我后来加了软件滤波 |
| CLA | 独立于主核执行电流环 | 把电流环放CLA上,主核专心跑弱磁算法,效率翻倍 |
核心观点:弱磁控制对时序的敏感度远高于普通FOC。PWM、ADC、采样电路三者必须作为一个整体来设计,不能分开调。
2.2 PWM配置要点——别小看死区与同步
弱磁区电压很高,PWM占空比接近极限。这时候死区时间如果设置不当,很容易导致上下管直通。
我建议你这样配:
- 时基同步:所有ePWM模块使用同一个时基(TBCTL),确保三相PWM边沿对齐。我在项目里吃过亏,两相PWM错开几十纳秒,电流波形就出现了奇怪的毛刺。
- 死区设置:弱磁区建议死区比常规大10%~20%。比如常规设200ns,弱磁区我设到250ns。原因很简单——高速开关时,驱动芯片的传播延迟会变大。
- HRPWM:如果系统要求电压分辨率很高(比如弱磁区电压步长0.1%),必须开启高精度PWM。F28379D的HRPWM能到150ps分辨率,够用了。
警告:千万不要在弱磁区用自动死区补偿。我试过,结果在过调制区死区补偿算法直接发散,电流震荡得一塌糊涂。老老实实用固定死区,然后通过软件查表补偿。
2.3 ADC配置要点——采样窗口是命门
ADC配置看起来简单,但弱磁区对采样精度要求极高。为什么?因为弱磁区电流很小,电压很高,信噪比很差。
我的配置习惯:
- 采样窗口:至少设到12个ADC时钟周期。我曾经为了赶速度设成6个周期,结果弱磁区电流采样值跳得像心电图。后来老老实实加长窗口,问题立刻消失。
- 触发源:用ePWM的SOCA/SOCB触发,确保采样时刻与PWM载波对齐。我习惯在PWM计数器的ZERO点触发,这样采到的是相电流的中间值。
- 同时采样:F28379D支持四路同时采样。我把A相、B相、母线电压、温度四路放在同一时刻采,省去相位补偿的麻烦。
小技巧:ADC的参考电压一定要用外部高精度基准(比如REF5030)。内部参考温漂太大,弱磁区温度一上来,采样值就跟着飘。我吃过这个亏,后来所有板子都改了外部基准。
2.4 电流采样与调理电路设计
这是整个硬件设计里最容易出问题的地方。弱磁区电流小,采样电阻上的压降可能只有几毫伏。调理电路的一点噪声,反映到电流环上就是几安培的误差。
电路架构:
- 采样方式:我推荐使用三相下桥臂串联采样电阻的方式。成本低,而且弱磁区不需要隔离。霍尔传感器虽然精度高,但延迟大,不适合高速弱磁。
- 运放选型:必须用低失调电压的运放(比如OPA4376,失调最大25μV)。普通运放失调几毫伏,在弱磁区直接导致电流偏置,力矩控制就废了。
- 偏置电路:单电源供电时,需要把双极性电流信号抬升到ADC输入范围(0~3.3V)。我习惯用1.65V偏置,配合差分放大,把±5A的电流映射到0.1~3.2V。
具体参数计算(以±5A量程为例):
| 参数 | 值 | 说明 |
|---|---|---|
| 采样电阻 | 10mΩ | 功率选2W以上,弱磁区持续电流大 |
| 运放增益 | 33倍 | 5A × 10mΩ × 33 = 1.65V,刚好满量程 |
| 偏置电压 | 1.65V | 由精密分压电阻产生,经运放缓冲 |
| ADC输入范围 | 0~3.3V | 对应电流 -5A ~ +5A |
避坑指南:我曾经在采样电阻两端并了一个100nF的电容想滤除高频噪声。结果弱磁区电流相位滞后了3度,力矩控制直接震荡。后来我把电容去掉,改用RC低通滤波(10Ω+10nF),相位滞后控制在0.5度以内,问题解决。
2.5 整体架构图
下面这张图是我自己画的外设与信号流关系。你看一眼,就能明白PWM、ADC、采样电路是怎么串在一起的。
2.6 布局与布线建议
电路设计完了,PCB布局同样关键。弱磁区电流变化率(di/dt)很大,布线不好就是天线。
- 采样电阻:紧贴逆变器下桥臂MOSFET的源极,走线越短越好。我见过有人把采样电阻放在板子另一头,结果测出来的电流完全是错的。
- 差分走线:采样电阻到运放的信号线必须差分走线,等长、等距,而且远离PWM信号线。我习惯在采样线两侧加地线屏蔽。
- ADC输入:ADC引脚前加一个RC低通(100Ω+1nF),截止频率约1.6MHz,既能滤除开关噪声,又不会影响电流环带宽。
个人经验:第一次打板时,我建议在采样电阻和运放之间预留一个0Ω电阻的位置。如果发现噪声太大,可以换成磁珠或者小电感,不用重新画板。这个习惯帮我省了好几次改版的钱。