news 2026/6/26 2:22:21

三相电流采样——三电阻方案:采样窗口与时序约束

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三相电流采样——三电阻方案:采样窗口与时序约束

前置阅读:《电流环 PI 的离散化——从连续域设计到代码实现》——PI输出的代码实现是integral+=Ki*error*Ts,其中error=i_ref-i_fb。

这篇的任务:解释上面那个i_fb(反馈电流)是怎么从PMSM的三根相线上获取的,以及为什么不能在任意时刻采样。


1.一个核心问题

电流环FLOW的前半段:

PMSM相电流ia,ib,ic→采样电阻+运放→ADC(数字量)→电流数字值i_fb→PI(算误差)

如果ADC读到的电流值本身就是错的,后面PI、坐标变换全白搭。

所以问题来了——在SVPWM驱动的三相桥里,什么时候测,才能测到真实的相电流?

直觉答案:逆变桥输出的就是PWM方波,但电机绕组是感性负载,相电流被电感滤成近似正弦——既然电流是平滑的,那随时采样不就行了?

不对。三电阻采样的精度取决于采样电阻两端的共模电压在采样那一刻是否稳定


2.三电阻采样的物理原理

2.1电路结构

常用的三电阻采样有两种电阻接法。其中一种是相线串联方案——采样电阻Rshunt串联在逆变桥输出端与电机绕组之间:

另一个常见方案是低端串联——采样电阻串在每个下管MOSFET的源极和GND之间,电流只在下管导通时流经电阻。

两种方案的采样窗口逻辑不同:

相线串联

低端串联

电流流过电阻的时刻

始终流过

仅下管导通时

采样的限制因素

共模电压跳变后运放需稳定时间

没有下管导通就测不到

运放要求

高共模抑制比(CMRR)

低共模电压,要求低

以下以相线串联方案展开——因为我目前板子的架构是这个,也是目前很多驱动板的选择。

2.2为什么还是要在零矢量区间采样

相线串联下电流始终流过Rshunt,那是不是随时都能采?

问题出在采样电阻两端的共模电压上。电机相线上的电压随着PWM开关在Vin和GND之间跳变。每次MOSFET通断,Rshunt两端的共模电压突然变化,后级的差分运放需要时间从这种跳变中恢复。

回到SVPWM驱动的7段时序:

000─→100─→110─→111─→110─→100─→000

000(下管全通)或111(上管全通)期间,没有MOSFET发生开关动作,三相共模电压都稳定在GND或Vin——这是采样窗口。

100/110等主动矢量期间,每隔一段就有一个MOSFET切换边沿,共模电压在跳变——运放输出在振铃稳定之前不可信。

所以采样窗口仍然是零矢量区间,但原因不是”有没有电流”,而是”共模电压是否稳定”。

这个区别很重要:在相线串联方案里,采样窗口的限制不是来自”能不能测到电流”,而是来自”运放能不能在开关噪声中给出精确读数”。


3.采样窗口的量化计算

3.1T0与调制比的关系

定义SVPWM调制比M(即电压利用率):

M=V_实际输出/V_SVPWM最大线性输出

SPWM最大线性输出=Vdc/2→电压利用率50%
SVPWM最大线性输出=Vdc/√3→电压利用率57.7%

M归一化到SVPWM极限,M=0~1

主动矢量总时间:

T1+T2=M·Ts
T0=Ts−(T1+T2)=(1−M)·Ts

7段式把T0切成三段(T0/4、T0/2、T0/4),中间一段长度T0/2——最长连续安静窗口

T0/2=(1−M)·Ts/2

20kHz,Ts=50μs下一目了然:

M

T0/2

0.1

22.5μs

0.5

12.5μs

0.7

7.5μs

0.8

5.0μs

0.9

2.5μs

0.95

1.25μs

M越大,窗口越短。M>0.9时窗口开始紧张,M>0.95时基本不够用。

3.2ADC需要多长时间

基于STM32G474,为170MHz系统时钟,ADC时钟配到~42.5MHz(/4):

ADC时钟周期:23.5ns
采样保持时间:10.5个时钟≈250ns
12位转换时间:12.5个时钟≈294ns
单通道总耗时:~0.54μs

如果两个ADC同步采样(ia一路,ib一路并发),总耗时还是~0.54μs。对比T0/2最短也是微秒级——ADC几乎不构成约束。

3.3真正的瓶颈:运放建立时间

每次MOSFET切换,采样电阻两端的共模电压从GND跳变到Vin(或反向)。后级差分运放需要时间从这个跳变中恢复,输出稳定到0.1%精度。

这个建立时间取决于运放的带宽和压摆率。典型电流检测运放(如INA240、TSV991等):

共模跳变幅度:12V~48V(取决于你的母线电压)
运放建立时间:1~3μs(到0.1%精度)

这才是采样的真实瓶颈。ADC转换只要0.5μs,但运放要等1~3μs才能输出稳定信号。

3.4现实约束

ADC触发必须在零矢量段开始、运放稳定之后:

从零矢量段开始,大约有(T0/2−运放建立时间)可用。M=0.9时T0/2=2.5μs,减去2μs建立时间,还能塞下一次ADC转换。M=0.95时T0/2=1.25μs——来不及。

注意一个反直觉的点:提高PWM频率帮不了你。40kHz下Ts=25μs,T0/2=12.5·(1-M)μs——窗口比例不变,但绝对时间进一步缩短,运放建立时间还是2μs跑不掉。


4.结论

三句话总结:

第一,采样窗口=零矢量区间。相线串联方案中电流始终流经采样电阻,但每次MOSFET切换后共模电压跳变,运放需要时间稳定。零矢量区间没有开关动作,是唯一保证共模电压稳定的时段。

第二,窗口随调制比M增大而缩短。T0/2=(1−M)·Ts/2,M=0.8时还有5μs,M=0.95时只剩1.25μs。

第三,瓶颈在运放,不在ADCADC转换只要~0.5μs,但运放建立要1~3μs。提高PWM频率反而让窗口更短。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 2:20:25

初识selenium自动化测试框架

一、环境搭建 1)安装3.5或3.5以上的python解析器环境 2)用 pip install selenium 命令安装自动化测试框架 3)下载谷歌浏览器和相适配的谷歌浏览器驱动(有了谷歌驱动就可以自动化操作谷歌浏览器了) 1.点击谷歌浏览…

作者头像 李华
网站建设 2026/6/26 2:20:12

Arbiter——静态分析Agent的实现

项目开发日记:静态分析Agent的实现基于tree-sitter构建代码智能分析工具在代码审查流程中,需要自动分析代码质量、发现潜在问题。我开发了这个静态分析Agent,它能解析代码AST,提取函数签名、调用图、复杂度指标,并输出…

作者头像 李华
网站建设 2026/6/26 2:19:55

多账号自动化总在第三天被封号,后来我把浏览器环境也隔离了

跑过多账号自动化的人大概都有过这个体感,脚本写得再干净,代理 IP 池配得再齐,账号还是会成批地挂。最离谱的一次,我同一套逻辑开了八个账号,前两天一切正常,第三天早上起来发现六个进了风控,剩…

作者头像 李华
网站建设 2026/6/26 2:17:28

Pearcleaner:深度解析macOS应用清理的现代Swift架构实现

Pearcleaner:深度解析macOS应用清理的现代Swift架构实现 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾好奇macOS应用卸载后残留文件的…

作者头像 李华
网站建设 2026/6/26 2:11:03

论一切离散与连续分布的杨辉三角本源及其在乖乖数学体系下的统一

论一切离散与连续分布的杨辉三角本源及其在乖乖数学体系下的统一 —— 基于 0−ε~−∞0-\tilde{\varepsilon}-\infty0−ε~−∞ 公理的推导 作者: 乖乖数学 日期: 2026 年 06 月 28 日摘要 传统概率论体系长期将离散概率分布与连续概率分布人为割裂&…

作者头像 李华
网站建设 2026/6/26 2:09:30

我为什么写了一个“只有两个功能”的极简Agent?

在AI应用爆发的今天,Agent(智能体)框架正变得越来越庞大、越来越复杂。从最初的上下文管理,到后来的哈尼斯(Harness),再到如今大行其道的Loop工程,整个行业的演进逻辑似乎只有一个方…

作者头像 李华