高端电流采样+PWM数字隔离输出,一颗IC解决变频电机电流环的采样与共模难题
电机驱动的电流环必须精确测量相电流,而高端电流采样长期受"高压共模+隔离"两大难题困扰:直接电阻采样信号以母线高压为参考,MCU 无法直接读取。IR217x 线性电流传感器 IC 把这个问题单片化——它把高端取样电阻上的微小压降转换成以地为参考的 PWM 数字信号输出,载频高达 130kHz(IR2175),开漏输出可直接接 3.3V/5V 控制电路,无需光耦或隔离放大器。本文基于 IR 公司应用手册 AN1052,详解取样电阻计算(10A 过载用 26mΩ)、自举供电、无源/有源滤波重构模拟电流、Vs 瞬时负偏压保护、dV/dt 对占空比的影响,以及 IR2170/1/2/5 四款型号的对比选型,并给出 STM32 输入捕获测占空比换算电流的完整代码,适用于变频器、伺服与物联网电机控制硬件设计。
三相电机驱动中,电流环需要的是"相电流",而相电流最直接的采样点是高端(正母线侧)的取样电阻。但高端取样电阻上的信号以直流母线电压(如 300V)为共模参考,直接送入以地为参考的 ADC 会瞬间击穿输入级;传统方案要么用隔离放大器(贵),要么用电流互感器(低频响应差、体积大),要么做低端采样(丢失相电流真实波形、引入地弹噪声)。IR217x 的思路是:在高端完成"模拟→PWM"转换,再把 PWM 数字信号跨过电位差送到地端,用载频与占空比承载电流信息,从而同时解决隔离与共模两大问题。
IR217x 的模拟输入是外部取样电阻上的压降。随着电机相电流变化,取样电阻上产生一个很小的交流电压信号作为输入。IR2175 的最大输入电压为 +260mV,因此过载电流流过取样电阻时产生的电压应为 260mV(数据来源:IR 应用手册 AN1052)。取样电阻按"最大过载电流对应 260mV"反推,如表 1 所示。
| 最大过载电流 | 取样电阻(260mV 满量程) | 额定电流下压降(按 1/2 满量程估) | 取样电阻功耗(过载时) |
|---|---|---|---|
| 5 A | 52 mΩ | ≈65 mV | ≈1.3 W |
| 10 A | 26 mΩ | ≈130 mV | ≈2.6 W |
| 20 A | 13 mΩ | ≈130 mV | ≈5.2 W |
| 30 A | 8.7 mΩ | ≈130 mV | ≈7.8 W |
取样电阻选型要点:阻值取"260mV ÷ 过载电流"(AN1052 原文示例:10A 过载用 26mΩ);额定工况下压降控制在 100mV 量级以降低损耗;电阻必须选低感、低温度系数的功率采样电阻(如金属箔/锰铜合金),并保证过载时的功率裕量。IR2175 内部把交流输入信号转换成载频 130kHz 的 PWM 信号,经电平转换后变成以地为参考的信号。PO 是开漏 PWM 输出脚,很容易与工作电压 3.3V 到 15V 的控制电路接口,需外接上拉电阻,典型值 1~10kΩ(数据来源:AN1052)。
IR217x 的高端电路需要一个悬浮电源 Vbs——它在 Vs 电压峰值之上浮动(Vs 通常是高频方波)。最常用的产生方法是自举电路:由一只二极管 Dbs 和一只电容 Cbs 组成。当 Vs 被下拉到地(通过低端 FET 或负载)时,自举电容通过自举二极管从 Vcc(如 15V)充电,从而提供 Vbs;当 Vs 通过高端开关被拉到最高电压时,Vbs 浮动,自举二极管反向偏置阻断充电回路(数据来源:AN1052)。Vbs 电源最小值为 8V 可正常工作,但推荐 Vbs 和 Vcc 保持在 10V 以上。自举方案的局限是:为了刷新自举电容电荷,占空比受到限制——长的导通时间及较高占空比需要充电泵方案(详见 AN978)。
Vcc(15V) ── Dbs ──┬── Vbs(悬浮电源) ── IR217x Vbs 脚
│
Cbs
│
Vs(半桥输出) ── IR217x Vs 脚
说明:Vs 被拉低时 Cbs 经 Dbs 充电;Vs 升高时 Dbs 反偏,Vbs 随 Vs 浮动。
处理 IR217x 输出有两种方式:一是用滤波器滤掉载波重构模拟电流信号(适合接 ADC),二是直接与数字控制电路接口、用软件计算电流(适合接 DSP/MCU)。重构模拟信号最简单廉价的方法是低通滤波。无源方案用二阶 RC:第一阶设计为 7.2kHz 截止频率(R1=10kΩ、C1=2.2nF),第二阶用更高截止频率进一步削弱开关频率(R2=18kΩ、C2=470pF,截止约 19kHz),且第二阶阻抗高于第一阶以减小负载效应(数据来源:AN1052)。有源方案用一阶 VCVS(电压控制电压源)巴特沃斯滤波器,基本增益 19、截止频率 9kHz,性能明显优于无源。两者对比与实测线性度如表 2 所示。
| 对比维度 | 无源二阶 RC 滤波 | 一阶 VCVS 有源滤波 |
|---|---|---|
| 典型参数 | R1=10kΩ/C1=2.2nF(7.2kHz);R2=18kΩ/C2=470pF(19kHz) | 增益 19,截止频率 9kHz |
| 截止频率精度 | 无精确截止点,6dB/十倍频程滚降 | 精确截止频率 |
| 8kHz 输入线性度 | 25mV 时误差约 3% | 50mV 时优于 1%,25mV 时约 9% |
| 16kHz 输入线性度 | 优于 1%,最小分辨率 8mV | — |
| 成本 | 最低(两只电阻两只电容) | 需运放,成本略高 |
| 适用场景 | 低成本、对精度要求一般的电流环 | 要求精确截止与更高线性度的场合 |
注意:由于 PO 脚负载不同,AN1052 不推荐使用无源 LC 滤波器。载频越低精度越低——IR2172 的 PWM 载频为 40kHz,用相同滤波电路测试时,其低电平输入下的线性度明显差于 130kHz 载频的 IR2175(数据来源:AN1052)。
IR2175/IR2171/IR2172 的 PO 输出是开漏,与 3.3V 或 5V 微控制器或 DSP 接口时接一只上拉电阻即可。软件侧用输入捕获测量 PWM 占空比,再按线性关系换算电流。以 STM32 定时器输入捕获为例,代码如下。
/* STM32 输入捕获测量 IR2175 PO 占空比 → 换算电流
IR2175: 载频130kHz, 输入满量程260mV, 占空比与输入电压线性对应 */
volatile uint32_t ic_cap1, ic_cap2, ic_period, ic_duty;
void TIM_IC_Init(void) { /* TIM2 CH1 输入捕获,上升沿+下降沿捕获 */
GPIO_InitTypeDef g = {0};
TIM_IC_InitTypeDef ic = {0};
__HAL_RCC_TIM2_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE();
g.Pin = GPIO_PIN_0; g.Mode = GPIO_MODE_AF_PP; g.Alternate = GPIO_AF1_TIM2;
HAL_GPIO_Init(GPIOA, &g);
ic.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
ic.ICSelection = TIM_ICSELECTION_DIRECTTI;
ic.ICPrescaler = TIM_ICPSC_DIV1; ic.ICFilter = 0;
HAL_TIM_IC_ConfigChannel(&htim2, &ic, TIM_CHANNEL_1);
HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_1);
HAL_TIM_IC_Start_IT(&htim2, TIM_CHANNEL_2); /* 下降沿由CH2捕获 */
}
/* 在捕获中断回调中计算占空比与电流 */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) {
static uint32_t last = 0;
if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) {
ic_cap1 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);
ic_period = ic_cap1 - last; last = ic_cap1;
} else if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2) {
ic_cap2 = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_2);
ic_duty = ic_cap2 - ic_cap1;
}
}
float current_from_duty(uint32_t duty, uint32_t period, float r_sense) {
float d = (float)duty / (float)period; /* 占空比 0~1 */
float vin = (d - 0.5f) * 2.0f * 0.260f; /* 线性映射到 ±260mV */
return vin / r_sense; /* I = V / R */
}
软件算法可避免第 4 部分滤波电路引入的误差,且 IR217x 当初就是为数字接口应用而设计的(AN1052 提到与 TI TMS320C240 DSP 的接口示例见设计提示 DT99-8)。
电流传感器 IC 要求有自己单独的瞬时负偏压保护电路,因为它与门极驱动器不同步:转换期间高端开关正在关断,电流传感器 IC 仍要继续工作,因此保证 Vs 脚没有瞬时负偏压非常重要。典型做法是在 COM 脚到 Vs 脚之间接一只二极管、在 Vs 与半桥输出之间接一只电阻:二极管把 Vs 钳位到比 COM 低一个二极管压降,应选恢复时间小于 100ns 的快恢复二极管、1A 足够;Vs 与半桥输出之间的电阻取 10~20Ω(数据来源:AN1052)。该电阻虽是电流传感通道的一部分,但仅在转换瞬间有短时电流,且被 IR2175 输入运放的有限摆率忽略。
布线方面,电力电子电路布局以减小寄生电感、电容为目标:尽量缩短走线距离、加大导线宽度;Vcc 和 Vbs 上的去耦电容尽可能靠近 IC;V- 与 Vs 之间的连线靠近 IC 以减小两脚压差;取样电阻与 V+ 之间的连线尽量短以减小噪声耦合;由 R2 和 D2 组成的瞬时负偏压保护电路尽可能靠近 IC。
在高端悬浮但没有开关切换时(Vs 电压固定),占空比不会有波动。但在三相半桥电路中,Vs 脚连接半桥输出,会在接近地电位与正直流母线之间摆动,每次转换都有 dV/dt,使 PO 输出占空比产生微小波动。实测 IR2175 在直流母线 300V 时占空比波动约 2%,这会转换成电机转矩波动,设计时应予以重视(数据来源:AN1052,IR Accelerator 伺服电机控制设计平台测得)。
四款型号功能差异如表 3 所示(数据来源:AN1052 表 2)。重要提示:IR2171/IR2172 需要隔离,新设计应使用 IR2175。
| 型号 | PWM 输出 | 过流信号 | 过流触发延迟 | IQBS | PWM 载频 FO | 占空比范围 |
|---|---|---|---|---|---|---|
| IR2170 | 无 | 有 | 1.5 µs | 1 mA | N/A | N/A |
| IR2171 | 有 | 无 | 1.5 µs | 1 mA | 40 kHz | 7%~93% |
| IR2172 | 有 | 有 | 1.5 µs | 1 mA | 40 kHz | 7%~93% |
| IR2175 | 有 | 有 | 2.0 µs | 2 mA | 130 kHz | 9%~91% |
选型建议:需要过流保护信号且要求高精度线性度,选 IR2175(130kHz 载频、2µs 过流延迟);仅需电流信号且成本敏感,可选 IR2171;IR2170 无 PWM 输出,仅作过流检测。三相电机驱动通常用两个电流传感器 IC 测量两相相电流,第三相由基尔霍夫定律推算。
IR217x 电流检测设计清单
- ① 取样电阻按"260mV ÷ 过载电流"计算(10A→26mΩ),选低感低温度系数功率电阻;
- ② 自举供电:Dbs+Cbs,Vbs 保持 10V 以上,注意占空比上限;
- ③ 重构模拟信号用二阶 RC(7.2kHz/19kHz)或一阶 VCVS(增益19、9kHz),勿用 LC;
- ④ 数字接口:PO 开漏加上拉 1~10kΩ,STM32 输入捕获测占空比;
- ⑤ Vs 加"快恢复二极管(<100ns)+10~20Ω 电阻"瞬时负偏压保护,靠近 IC 放置;
- ⑥ 新设计选 IR2175,三相用两片测两相电流。
总结:IR217x 用"高端模拟→PWM 数字"的架构,把电机驱动电流环最棘手的共模与隔离问题化解为一只开漏 PWM 输出,取样电阻 26mΩ 级即可覆盖 10A 过载,130kHz 载频配合二阶 RC 滤波在 8~16kHz 电流信号下线性度优于 1%,配合 STM32 输入捕获与软件换算即可完成高性价比电流环;新设计应直接选用 IR2175,并严格按自举、负偏压保护与布线规则落地。
本文基于 IR 公司应用手册《IR217x 线性电流传感器 IC 的使用》(AN1052)等资料整理优化。
沧州艾诺威电子 — 国家高新技术企业,20+项国家专利
嵌入式系统开发 · 物联网方案 · AI智能硬件 · 一站式交付
电话:13930711029 | 邮箱:tech@czinv.com | 24小时内响应