
搞FOC的人十有八九会栽在电流采样这个环节上。最近一直在整理中心对齐PWM下低边电阻采样的各种方案从单电阻到双电阻再到三电阻把硬件、软件、采样时序、避坑点全部过了一遍发现很多看起来“跑起来没什么问题”的板子其实采样点一直踩在开关噪声上只是还没有到炸机的临界点而已。这篇文章就从原理到实操把中心对齐PWM下单/双/三电阻采样到底怎么搭、怎么配置、怎么排查一次性讲清楚适合正在入门FOC、或者做无感FOC调试时电流波形总是毛刺多、堵转就过流、偶尔还炸管的工程师参考。1. 为什么中心对齐PWM是FOC电流采样的最佳拍档1.1 FOC电流采样到底在采什么FOC的整个控制环路最内环是电流环电流环的输出经过反Park变换、SVPWM调制之后才得到六路PWM去驱动逆变器。电流环的反馈质量直接决定了整个扭矩控制的稳定性和动态响应。电流环的输入是Id、Iq它们是由三相电流经过Clark变换和Park变换得到的而三相电流的准确性完全取决于采样链路。换句大白话说电流采样就是在给电机“把脉”脉搏如果测不准后面调得再好也是白搭。尤其在负载突变、堵转、高速弱磁这些工况下电流环一旦拿到错误的反馈值PI调节器会按错误的方向继续输出几个毫秒之内就可能把母线电流推到管子完全承受不住的程度这就是“炸管”最直接的成因。所以要明确一个概念FOC电流采样不是随便找个时刻采一下电流就行它需要在一个稳定的、可重复的时间点采集到PWM周期内的相电流平均值或代表值同时保证三路采样或两路加一路估算之间在时间上是同步的。只有满足这两个条件变换出来的Id、Iq才是真实可靠的。1.2 边沿对齐 vs 中心对齐两种PWM模式决定了你的采样窗口PWM调制模式大体分为两类边沿对齐Edge-aligned和中心对齐Center-aligned。边沿对齐模式下计数器从0递增到ARR然后立刻归零PWM波形的前沿是斜的、后沿是陡的所有通道的开关动作都集中在计数周期的某个区间内中心对齐模式下计数器从0递增到ARR再从ARR递减到0PWM波形是对称的各路开关动作围绕三角波峰顶和谷底对称展开。就电流采样来说中心对齐有一个非常诱人的特性在一个载波周期的谷底计数器为0或峰顶计数器为ARR附近三相PWM都处于相同的开关状态通常是零矢量000或111电流处于续流状态绕组电流变化率最小电流纹波处于谷值。此时去触发ADC采样得到的值最接近相电流的平均值这正是电流环PI调节最需要的反馈。而边沿对齐模式下PWM的开关集中在一个很窄的时间窗口你很难找到一个“所有开关都安静下来”的时刻采样点往往落在开关瞬态附近毛刺大、重复性差。所以绝大多数做FOC的控制器都会选择中心对齐PWM同时把ADC触发点锁定在计数器下溢或上溢的瞬间。1.3 采样点为什么选在三角波谷底而不是峰顶这里要区分一下。中心对齐PWM下三角波的谷底对应的是计数器值最小的时刻通常是0此时SVPWM七段式序列处在起始和结束的零矢量000或111状态。如果零矢量选择的是000也就是三相下管全部导通那么三相低边采样电阻上都有电流流过这是低边电阻采样最理想、最公平的时刻。峰顶对应计数器值最大的时刻ARR此时如果是零矢量111三相上管全部导通低边电阻上几乎没有电流或者只有很小的续流取决于死区时序低边采样电阻根本采不到有效信号。所以低边采样方案默认都把ADC触发点放在“计数器下溢”这个事件上也就是三角波谷底。如果你用的是高边采样或者母线采样那就要另外分析了单电阻母线采样往往需要在两个非零矢量区间分别采样和低边三电阻的情况完全不同。这个后面单电阻部分细说。2. 单/双/三电阻采样的原理与选型对比2.1 三电阻采样最省心的黄金标准三电阻采样的做法是在逆变器三个下桥臂MOS管的源极与功率地之间各串联一个毫欧级采样电阻三路电流信号经过各自的放大调理电路送入MCU的三个ADC通道同一时刻同步采样。从原理上讲当SVPWM处于零矢量000状态时三相下管全部导通三相绕组电流都流经各自的下管和采样电阻回到地三个采样电阻上的电压分别反映了三相电流的瞬时值。三路ADC在下溢中断同一时刻触发一次就拿到ia、ib、ic后面不需要做任何重构计算代码逻辑最简单。三电阻采样的优势很明显无扇区盲区不存在单个矢量作用时间太短导致采不到的问题只要零矢量时间能保证下管完全导通就能采样三相电流天然同步不需要通过电流基尔霍夫定律去推算第三相调试点少对调试人员最友好鲁棒性高。缺点也摆在台面上三个采样电阻加上三路运放、三路ADC硬件成本最高PCB面积占用大三只电阻的阻值和温漂需要尽量一致否则三相增益不一致电流环工作在同步坐标系里会出现2次纹波。过去很多中大型伺服驱动器都用三电阻现在很多体积不敏感的工控场合也仍然默认三电阻。2.2 双电阻采样成本和性能的平衡点双电阻采样只在下桥臂的两相安装采样电阻比如只在A相和B相下管装电阻C相接一个虚拟的采样点或者干脆不接。这样在一个采样时刻只需要采集两相电流第三相电流通过三相电流之和为零这个基本定律计算出来ic -(ia ib)。这里要注意的是计算出来的是“瞬时的第三相电流”只适用于三相电流之和恒等于零的系统。对于BLDC、PMSM这类无中线连接的三相电机这完全成立。双电阻采样的最大坑点是扇区边界。SVPWM在输出不同矢量组合时某个矢量的作用时间会随扇区和调制比变化当某一相的占空比接近0或者接近100%时该相下管导通的时间极短可能短到小于运放建立时间和ADC采样时间之和。在这个“不可观测区”里对应相的采样电阻上无法稳定建立电流信号直接采会采到开关瞬态尖峰或者根本不成立的值。解决扇区边界采样窗口不足的办法有很多最常用的有四类移相法在保证伏秒平衡的前提下把PWM比较值整体平移几个计数周期让采样窗口避开极端占空比区间矢量注入法当某个扇区边界采样窗口不足时插入一段电流变换率很低的补偿矢量再配合一个反向矢量保证平均电压不变调整零矢量分配把中心零矢量的一部分搬到PWM周期边缘给采样窗口争取更多时间最小脉宽限制限制占空比突变率当需要极窄脉冲时用其他方案替代采样。双电阻采样在成本和性能之间找到了一个不错的平衡点目前在常规低压无感FOC驱动器、电动工具、风机水泵控制器里用得非常多。只要处理好扇区边界双电阻的动态性能并不比三电阻差多少。2.3 单电阻采样终极省钱方案但坑最多单电阻采样是整个系统里成本最低的方案但也是采样算法最复杂的方案。它的做法是在直流母线负端或正端串联一个采样电阻只要逆变器有电流流过母线电阻上就会产生电压所以它采到的是某一瞬间的母线电流而不是某一相的固定电流。母线电流到底对应哪一相完全取决于当前PWM处于哪个开关状态。在三相逆变器中任意时刻如果有一个有效非零矢量正在作用比如V1(100)那么母线电流等于流入电机某一相的电流符号可能是正、可能是负在零矢量状态下母线电流等于零或接近零。所以如果想在一个PWM周期内重构出三相电流必须在同一个PWM周期内在两个不同的有效矢量作用区间分别采样一次。这两次采样得到的是两个不同方向上合成电流的分量结合当前扇区编号、两个矢量的方向就可以通过一元二次方程组解出三相电流。这正是单电阻采样的核心算法逻辑网上很多“母线采样FOC”的代码也是这么写的。但是单电阻采样有三个天然痛点第一扇区边界不可观测区更大。当某个有效矢量的作用时间太短时这个采样点根本落不进去重构方程直接缺一个条件所以需要注入补偿矢量或调整PWM序列让两个采样点都落在可观测窗口内。第二对母线电流的纹波敏感。母线电流是脉动的如果两个采样点对应的时间点恰好都落在纹波的波峰或波谷重构出来的三相电流偏大或偏小电流环就会出现周期性抖动。第三采样到的电流方向与相电流方向之间存在符号映射关系必须结合PWM状态去判断符号修正否则重构出的三相电流符号错误电流环极性反转直接就发散了。单电阻采样适合极小体积、极低成本的场合比如电动工具、小风机泵、无人机电调。追求稳定扭矩输出的伺服、机器人关节很少会拿单电阻方案去赌性能。2.4 三种方案对比总表对比维度单电阻采样双电阻采样三电阻采样采样电阻数量1个母线2个低边3个低边每周期可采集电流母线电流需重构两相电流计算第三相三相直接同时采样是否依赖三相电流之和为零间接依赖依赖不依赖扇区边界盲区最大需算法补偿中等需处理窄脉冲基本无盲区采样时刻复杂度高需要两个矢量区间中等在零矢量区间低下溢时刻直接采硬件成本最低低中等偏高电流环动态性能上限中等高极高典型应用场景电动工具、无人机电调电动两轮车、风机水泵伺服、机器人关节3. 硬件搭建从电阻选型到运放与滤波的硬核细节3.1 采样电阻怎么选才不会烧、不会漂采样电阻是整套采样链路的最前端选型直接关系到信号质量和长期稳定性。很多人贪便宜随便找一个毫欧电阻就上板结果高温下阻值漂移严重电流环参数跑飞了都不知道为什么。选采样电阻重点看四个参数阻值、功率、温漂、寄生电感。阻值的选择逻辑是阻值太小同样的电流下电压信号太小后续运放需要很高的放大倍数运放的输入失调电压和噪声被同步放大阻值太大功耗和温升飙升同时电阻本身引入的压降会影响桥臂输出电压。业内通常把额定电流下采样电阻上的电压设计在50mV到150mV之间。以10A额定电流为例50mV对应5mΩ150mV对应15mΩ所以常规选择就是5mΩ到15mΩ之间。小功率板子1A左右经常用到20mΩ到50mΩ大功率驱动50A以上则用1mΩ甚至0.5mΩ。功率计算一定要留裕量。持续电流I流过阻值为R的采样电阻功率是P I²R。这里有个很多人会忽略的点FOC驱动电机的电流不是纯正弦还有各种纹波和尖峰堵转电流可能达到额定电流的2到3倍功率是按电流的平方增长的。如果额定电流10A、电阻5mΩ理论功率是0.5W堵转2.5倍电流时功率是3.125W直接翻了6倍。所以选型时按I²R计算出的结果至少留2倍裕量最好按堵转电流来校核。温漂决定了采样链路在长时间工作后的零点漂移和增益漂移。低阻采样电阻建议选合金箔或者锰铜类材料温漂系数在50ppm/°C以内。如果用了普通的厚膜电阻温度一上来阻值变化5%以上电流环的增益就变了板子发热后电流波形会跟着慢慢变差这种“软故障”排查起来非常费劲。还有寄生电感。采样电阻本身如果绕线结构或者封装不理想寄生电感在开关瞬态会产生很大的感应电压直接烧掉运放或者触发过流保护。实际项目里尽量选择低感设计的分流电阻比如金属箔电阻、开尔文连接的四脚采样电阻采用四线制接法把电流路径和电压检测路径分开能显著减小铜箔电阻引入的误差。3.2 采样信号调理电路运放怎么搭更稳采样电阻上的电压是非常微弱的需要放大后才能送到ADC。运放电路是采样链路的第二个关键环节也是最容易出问题的地方。先讲偏置问题。低边采样电阻上电流方向是双向的电流流入绕组和流出绕组的时刻电压方向相反而大多数MCU的ADC只能采0到3.3V的单极性电压所以运放电路必须把采样电阻上的双极性电压整体向上抬升抬到ADC量程的中点。比如3.3V供电的MCU通常把零电流对应的输出电压偏置到1.65V这样正向电流输出高于1.65V反向电流输出低于1.65V软件里再做一次“减去偏置”的运算就能还原真实电流。运放选型上现在很多工程师开始用INA240这类集成PWM抑制功能的电流检测放大器它的共模抑制能力很强可以在PWM共模电压剧烈跳变时保持输出稳定实测下来对抑制开关噪声非常有效。这类芯片有固定的增益档位用起来省事。如果追求低成本用普通运放搭差分放大器也可以但要注意几个指标输入失调电压Vos要小最好小于1mV失调大了直接表现为电流零漂电机静止时ADC读出来却一直有一个不小的“电流”Q轴电流憋着劲输出电机会抖动发热带宽要足够运放的增益带宽积至少要在10MHz级别否则PWM开关边沿的高频成分经过运放后会被平滑掉或者产生相位滞后采样出来的电流就会变形输出级要支持轨到轨输出否则接近电源轨时运放饱和正方向大电流时信号直接被削顶电流环会在最大电流区间失控。RC滤波的位置和参数也很关键。很多人喜欢在运放输出端加一个比较大的低通滤波电容觉得能滤掉噪声但实际上会严重拖慢运放的压摆率让采样窗口内的信号建立不起来尤其在高开关频率下带来很大的电流相位滞后。我的建议是滤波电路分成两级第一级放在采样电阻和运放输入端用100Ω加1nF左右的小RC截止频率大约在1.6MHz主要滤除开关边沿的高频尖峰第二级放在运放输出和ADC之间阻值可以大一点到200Ω电容取几nF到10nF兼顾抗混叠和ADC采样保持电容的充电需求。这个参数不是固定的要根据实际的开关频率、MOS关断速度、ADC采样时间整体去算核心思路是截止频率要远高于你关心的电流基波频率通常是几百Hz到几kHz同时要把十几MHz以上的开关振铃压下去。另外在运放输出到ADC引脚之间强烈建议加两个肖特基二极管一个接到3.3V一个接到GND把ADC输入电压钳位在0到3.3V之间。否则一旦采样电阻上出现异常尖峰或者运放瞬间饱和ADC引脚就可能被打坏这个问题在很多现场炸机案例里都出现过非常容易被低估。3.3 PCB布局的几条命PCB布局对电流采样的影响往往比很多人想象的还要大。我见过好几块“软件调了很多天都调不好”的板子最后发现是采样电阻的地线走线有问题。第一条命采样电阻一定要紧贴MOS管走线尽量短粗。因为采样电阻的位置决定了采样回路的寄生电感大小寄生电感越大PWM开关瞬间的di/dt在电阻两端产生的高频尖峰就越大而这个尖峰是直接叠加在采样信号上的。第二条命采样电阻的电压检测走线要用开尔文接法也就是直接从电阻的两个金属端引出细线到运放输入端而不是从大电流走线上分叉出来。大电流走线本身的铜箔电阻虽然小但在几十安培电流下也会产生毫伏级压降这个压差叠加到采样信号上轻则增益不准重则导致三相电流不平衡。第三条命功率地、模拟地、数字地要分区最后在板子的某个单点汇合。很多ADC采样抖动的板子问题就出在功率地噪声直接窜到了MCU的模拟参考地VREF上。我一般会在采样电阻的功率地端和模拟地之间放一个小磁珠或者在PCB上做一个小间距的单点桥接把功率回路的噪声挡在模拟前端之外。还有一条容易被忽略的采样电阻正下方的铜箔平面不要大面积铺地。因为高频电流会通过寄生电容耦合到地平面形成额外的共模噪声路径反而让采样信号质量变差。我习惯在采样电阻下方的内层地参考开一个隔离窗让信号路径更干净。4. 软件配置与采样时刻点设置4.1 STM32高级定时器中心对齐模式的关键寄存器软件配置的第一步是先把定时器设置成中心对齐模式并输出三相六路PWM。以STM32的TIM1为例几个关键配置点列出来时基TIM1挂载在APB2定时器时钟上计数时钟是内部时钟CK_INT向上、向下都是同一个频率。设ARR寄存器决定三角波周期中心对齐模式下PWM频率 CK_INT / (2 * (ARR 1))。很多人以为ARR CK_INT / PWM频率结果按这个设置后实际开关频率只有预期的一半这就是没算中心对齐的“2倍”关系。计数模式TIM_CR1寄存器的CMS位设置成中心对齐模式101或模式210两种模式的区别只在于OCxREF输出有效电平对应的是向上计数还是向下计数。实际项目里选模式1还是模式2主要看你习惯把哪个沿作为“采样基准”。比较输出TIM_CCR1、CCR2、CCR3分别对应三相占空比比较值。在中心对齐模式下占空比一边由CCR决定、另一边由ARR-CCR决定PWM占空比 2 * CCR / (ARR 1)简化情况下。SVPWM算法算出来的调制比要先换算成CCR值这个过程最好做成一个通用函数避免不同参数下反复调试。死区TIM1的BDTR寄存器配置死区时间。死区选多大要看功率管本身的开通关断延迟和栅极驱动电阻典型的低压MOS死区在200ns到1us之间。死区太小容易直通短路炸管太大则影响电流波形和输出能力。设置完死区后必须开启主输出MOE位否则PWM不输出。重复计数器TIM_RCR寄存器可以控制更新事件的产生频率。中心对齐模式下计数器上溢和下溢都会触发更新事件如果不预分频RCR0则每个下溢和上溢都会产生更新事件。做基础FOC时通常利用“下溢”这个事件去触发ADC。4.2 ADC触发与采样时刻点怎么对齐三电阻和双电阻采样ADC触发点通常选在计数器下溢也就是三角波谷底此时三相低边MOS处于零矢量导通状态采样窗口最理想。在STM32上可以通过定时器的TRGO事件去触发ADC注入组转换这样不需要软件干预采样时刻与PWM严格同步。配置逻辑大致是设置TIM1的CR2寄存器把MMS位配置成011选择更新事件作为TRGO输出过采样或中断里动态调整RCR让更新事件只在计数器下溢时产生如果要严格做到这一点可以把RCR设为奇数或者配合UDIS位控制具体要看芯片参考手册的中断/更新事件时序ADC配置成注入组由外部触发源EXTI 15即定时器TRGO触发每次触发完成一次注入组转换在ADC采样完成中断EOC里读取三路AD值并执行电流重构、坐标变换。采样时刻的对齐核心难点在于“采样窗口是否落在信号稳定的区间”。ADC触发延时trigger latency、运放的建立时间、采样电阻信号的稳定时间三者必须统筹考虑。如果ADC在MOS刚开通的那一瞬间就去采样采到的不是真实的稳态电流而是开关振铃叠加出来的尖峰。通常的做法是把ADC的采样开始时间往后延时几百纳秒到几微秒延时实现方式包括利用TIM的CCR捕获比较通道在计数器到达某个预设比较值时产生ADC触发而不是用下溢事件直接触发利用ADC模拟看门狗的提前中断或者DMA的循环缓冲在PWM下溢后的固定延时点去读取使用更高精度的定时器与ADC的硬件握手机制比如某些MCU支持事件触发延时寄存器EET。ADC采样保持时间也要算进去。例如ADC时钟12MHz采样周期1.5个ADC时钟加上12.5个时钟的转换时间合计约14个时钟周期差不多1.17us。这1.17us里前1.5个时钟周期是采样保持电容的充电时间采样源阻抗如果太高保持电容充不满转换结果就不准。所以前面的滤波RC电阻不能太大200Ω以上就可能对高速采样产生明显影响。4.3 采样点映射与电流重构软件逻辑三电阻采样的软件最简单三个ADC通道直接读出三相电流的原始值减去零偏乘上电流标定系数就得到实际电流值。不需要做复杂的扇区判断和符号修正这就体现了三电阻“把复杂度放在硬件上”的思路。双电阻采样的软件关键在于判断当前扇区和占空比状态决定哪两相电流可以可靠采样。通常的策略是在一个PWM周期的零矢量状态下两个采样电阻上都有电流直接采两路但如果某一路对应的相占空比接近满占空比或零占空比这一路下管导通时间太短就放弃这一路改用另一路采样值再加上KCL计算。展开就是如果A相和B相下管导通时间都足够采ia和ibic -ia - ib如果C相下管导通时间太短C相电阻上信号不可用那就要看B相和A相哪个可用采可用的两路再算第三路在极端情况下某一相占空比接近100%两路下管可能有一个窗口明显过短需要及时切换到“当前PWM周期内可采的两相”并同步更新扇区映射表。单电阻采样重构的软件要复杂一截。核心思路是记录当前PWM周期内两个非零矢量的作用时刻分别在它们作用期间触发ADC采样得到母线电流的两个值然后根据当前扇区把这两个值映射到对应的相电流上联立方程求解。我自己在实际实现时会用一张扇区映射表把矢量编号、母线电流方向、对应的相电流关系提前列好避免在中断里做太多三角函数运算。单电阻重构失败的一个常见原因是两次采样的间隔过短运放和ADC没有建立好。我的建议是在进入闭环之前先用一个测试程序给定一个固定的扇区和占空比让PWM跑起来然后把两个采样点的ADC值直接通过调试器抓出来观察它们是否稳定、是否和预期方向一致。如果连固定状态都采不准就不用谈动态重构了。5. 为什么你的板子会炸避坑与排查实录5.1 炸机原因链从采样噪声到电流发散很多“炸管”事件表面上看起来是MOS过流烧毁实际根源却是在电流采样链路上。一条典型的故障链是这样发展的采样点落在开关瞬态区域采到毛刺或尖峰电流环拿到失真严重的电流值PI输出开始异常波动扭矩指令实际输出远超预期母线电流飙升过流保护如果配置了软件比较器需要几百us甚至几个ms才响应此时MOS已经超出安全工作区最终烧管。所以“会炸”的第一原因是时序不是器件。把ADC采样点对准信号稳定窗口是所有防炸手段里的第一优先级。第二常见的原因是采样极性反了。低边采样电阻上电流方向与相电流方向的映射关系如果软件里符号搞反电流环就是一个正反馈一开始电机还能转稍微一加载就电流猛增。调试初期一定要做一次“开环给定占空比、手动测量实际电流方向”的验证确认软件读到的电流符号和示波器/电流钳测出来的一致再开始闭环调试。第三个常见问题是过流保护没有覆盖采样链路异常。很多板子的硬件过流比较器取的就是采样电阻上的电压如果采样电阻地线走线过长、寄生电感过大过流比较器本身就会误触发导致频繁保护停机反过来说如果比较器选型时带宽不够真正的过流尖峰还没有传到比较器输入MOS已经烧了。5.2 现场波形怎么看排查电流采样问题示波器是必不可少的工具。我常用的探点组合是CH1某一路PWM输出比如U相上管CH2采样电阻两端的电压CH3运放输出电压CH4ADC触发信号或软件里GPIO反转的“采样窗口”标志。重点观察采样窗口内ADC触发点前后约1到2us波形是否平坦。如果这段区间内有明显的振铃说明采样点没对准或者RC滤波不够如果波形是干净的平线但数值和电流钳对不上说明增益或偏置标定有问题。这里有一个千万要注意的测量细节示波器探头的地线夹如果用了长引线本身就会形成一个巨大的回路天线把开关噪声直接耦合进测量信号里看起来好像板子噪声很大实际上是你测量方式引入的。正确做法是使用探头自带的短弹簧地针直接压在采样电阻的地端让探头回路面积尽量小。还有一点看运放输出波形的时候要同时看它的上升沿/下降沿斜率。如果斜率明显放缓说明RC滤波太重或者运放带宽不够会导致采样窗口内信号还未完全建立。这种情况从时域波形上就能看出来不用等到电流环表现失控。5.3 单电阻重构失败的几种典型表现单电阻方案的重构失败也有几种典型表现可以快速判断电流波形在扇区边界出现毛刺抖动这是不可观测区处理不当的典型特征两个采样点中有一个落在极窄矢量区间没有建立好重构方程解出来的电流带很强的噪声。低速时电流噪声明显大于高速时低速调制比低载波周期内有效矢量作用时间短可观测窗口整体变窄单电阻采样的难度在低速低载下反而比高速更大这和其他采样方案正好相反。母线电流有低频周期性波动这是重构电流中包含纹波分量所致说明两个采样点之间的相位差和实际电流纹波相位没有对齐解出来的电流叠加了偏差。单电阻重构的软件里一定要加一个采样窗口长度检测如果本次PWM周期内两个非零矢量的作用时间都太短宁可上一拍的重构结果也不要硬算。直接拿不可靠的数据去算瞬间电流突发会让电流环直接冲出去。5.4 快速自检清单上电前和调参前必查按照我自己的调试经验整理了一份电流采样链路的快速自检清单每次换板子、换方案都照着过一遍能省下大量排查时间[ ] 采样电阻阻值是否满足额定电流下50到150mV的压降[ ] 采样电阻功率是否有2倍以上裕量[ ] 运放供电是否稳定偏置电压是否精确到ADC量程中点[ ] 运放到ADC之间是否有钳位二极管[ ] 采样电阻是否采用开尔文接法功率地和模拟地是否单点连接[ ] PWM频率换算是否正确中心对齐模式下是否遗漏了2倍关系[ ] 死区时间是否满足功率管关断延时的要求[ ] ADC触发点是否在死区之后、信号稳定窗口之内[ ] 电流环符号是否与示波器实测一致[ ] 采样窗口不足时软件是否有上一拍的保持逻辑[ ] 硬件过流比较器动作是否快于软件保护[ ] 模块级测试时母线是否串了一个限流灯泡或限流电阻。这套清单看着简单但每一条背后都是真金白银的教训。我自己早期做双电阻方案时就因为忽略了“采样电阻功率按堵转电流校核”这一条连续烧了三个采样电阻后来换了更大功率的合金电阻才消停。写在最后分享一点个人感受把中心对齐PWM下单/双/三电阻采样都做完一轮之后我的体会是这三种方案没有绝对的好坏只有合不合适的区别。三电阻最稳、最省心适合把首要精力放在算法调优上的场景双电阻是性价比之王但扇区边界的处理逻辑一定要提前写清楚单电阻最省钱可它对硬件布局、软件重构、采样时序的综合要求最高新手不建议一上来就挑战单电阻方案。最后再补一句任何方案都别忘了在调试台上先串一个限流电阻或者灯泡真的能救板子。