在电机控制系统中,电流检测精度直接决定了整个控制环路的性能。传统方案通常采用外部运放搭建差分放大电路,这种设计虽然能有效抑制共模噪声,但也带来了高昂的BOM成本和复杂的PCB布局要求。PSoC™ Control C3 MCU的创新之处在于,它通过内置的可编程增益采样器和硬件伪差分处理单元,将原本需要外部运放完成的功能集成到芯片内部。
关键提示:伪差分处理不是简单的单端采样,而是通过两组ADC通道分别采集信号的高低端,然后在数字域做减法运算来消除共模噪声。这种技术路线既保留了差分采样的噪声抑制优势,又避免了复杂的外部电路。
我在多个无刷电机控制项目中发现,采用传统三运放仪表放大器方案时,仅电流检测部分的元件成本就占到总BOM的15%-20%。更棘手的是,为了确保CMRR性能,PCB布局必须严格对称,这对两层板设计简直是噩梦。而伪差分方案通过以下创新点解决了这些问题:
传统电机控制采用的三运放电流检测方案,表面看只是增加了几个运放和电阻,实则暗藏诸多隐性成本。以常见的50A电机控制为例:
| 成本项 | 传统方案 | 伪差分方案 |
|---|---|---|
| 运放成本 | 3颗精密运放($1.2/颗) | 无需运放 |
| 匹配电阻 | 0.1%精度电阻网络($0.5) | 普通1%电阻($0.1) |
| PCB面积 | 约120mm² | 约40mm² |
| 调试工时 | 2-3天阻抗匹配调试 | 半天参数校准 |
我在去年一个风机控制项目中就踩过坑:为了追求CMRR>80dB,不得不选用昂贵的零温漂电阻,结果BOM成本超支30%。更糟的是,在高温测试时发现运放偏置电压漂移导致采样误差增大,最终只能通过软件补偿曲线来弥补硬件缺陷。
传统差分方案要求高低端信号路径的:
这导致在实际布线时经常出现"拆东墙补西墙"的情况。记得有个伺服驱动器的案例,为了保持采样走线对称,不得不把PWM信号绕远路,结果引入了额外的开关噪声。而伪差分方案由于放宽了对共模抑制的硬件要求,允许高低端走线有10%-15%的长度差异,这给PCB布局带来了极大的灵活性。
PSoC Control C3的模拟子系统包含三个关键模块:
实测数据显示,当采样增益设为6x时,输入等效噪声密度仅为8.3nV/√Hz。这主要得益于:
下面以三相电机电流检测为例,说明具体配置步骤:
c复制// 1. 初始化ADC采样组
Cy_ADC_Init(ADC_HW, &ADC_config);
// 2. 设置伪差分通道对
Cy_ADC_AddPseudoDiffChannel(ADC_HW,
CH0_HIGH, // U相高端
CH0_LOW, // U相低端
GAIN_6X);
// 3. 配置硬件减法器
Cy_ADC_SetDiffMode(ADC_HW,
SIGNED_OUTPUT | // 有符号输出
AUTO_SATURATE); // 自动饱和处理
// 4. 启动同步采样
Cy_ADC_StartConvert(ADC_HW);
注意事项:增益选择需要根据实际信号幅度调整。当 shunt 电压超过 50mVpp 时建议使用 3x 增益,低于 20mVpp 时可选用 6x 或 12x 增益,但要注意此时有效分辨率会降低1-2位。
在24V/5A的BLDC电机平台上对比三种方案:
测试条件:
| 方案类型 | 噪声峰峰值 | 建立时间 | THD@1kHz |
|---|---|---|---|
| 单端采样 | 82mV | 5.2μs | 4.8% |
| 外部运放差分 | 18mV | 3.8μs | 1.2% |
| 伪差分处理 | 21mV | 4.1μs | 1.5% |
虽然伪差分在理论指标上略逊于全差分方案,但在实际电机控制中,这个差异对FOC算法的影响可以忽略不计。特别是在过调制区域,伪差分方案反而因为没有运放的压摆率限制,表现更稳定。
经过多个项目验证,以下布局技巧能最大化伪差分优势:
有个值得分享的案例:在某个无人机电调设计中,由于空间限制不得不将采样走线布置在第四层。通过采用伪差分方案+上述技巧,最终在2层板上实现了与4层板相当的噪声性能,BOM成本降低了28%。
可能原因及解决方法:
优化方向:
去年在开发注塑机伺服系统时,就遇到过电流环响应跟不上的问题。后来发现是ADC配置成了单次触发模式,改为连续采样后,延迟从35μs降到了12μs,完全满足了100μs控制周期的要求。
对于不同应用场景,我的选型经验是:
在电动工具这类价格敏感领域,采用伪差分方案后,整体BOM成本可以从$3.2降到$2.1。这主要节省在:
不过需要注意,当需要检测μΩ级微小信号时(如超高速电机),传统差分方案仍是更稳妥的选择。伪差分更适合常规的mΩ级shunt电阻应用。