尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

PWM抑制双向电流检测放大器,解决电机驱动采样干扰问题

PWM抑制双向电流检测放大器,解决电机驱动采样干扰问题 开头从业者口吻引入很多老工程师在电机驱动或者Buck/Boost电源的项目里都遇到过这么个鬼问题电流检测放大器的输出波形明明输入信号是对的示波器上却全是毛刺峰值高达几百毫伏直接把后级ADC的判断给带偏了。你查了半天怀疑是布线问题、电阻选型问题最后发现罪魁祸首是PWM开关节点上的高压瞬变直接耦合进了放大器输入级。这就是典型的“PWM干扰导致电流采样失真”场景。Bidirectional Current Sense Amplifier Features PWM Rejection具备PWM抑制能力的双向电流检测放大器正是专门收拾这种局面的方案。我最早接触这类器件是在做无刷直流电机驱动器的时候当时被传统CSA的输出毛刺折磨得够呛换成带PWM抑制的型号之后一个是天一个是地。这篇文章就把这东西从头到尾掰开唠适合正在做电机控制、电源设计、电池管理或H桥驱动被电流采样噪声搞到怀疑人生的工程师看。1. 双向电流检测放大器到底是什么为什么需要它1.1 一个采样电阻怎么测出两个方向的电流基本的电流检测原理不复杂在电流通路上串联一个精密采样电阻Shunt Resistor用放大器去测量它两端的差分电压再根据已知的电阻值和放大器的增益换算出实际流过的电流大小。单向检测只需要一个同相放大结构就够了电流方向固定输出的电压也就稳定在一个区间内。但现实应用里大量的场景要求电流双向流动。举几个最常见的例子电池充放电管理充电时电流从充电器流入电池放电时电流从电池流向负载两个方向都要监测。H桥或全桥电机驱动换向时电流方向变化控制器需要精确知道每一个方向上的电流值完成闭环控制。同步Buck变换器的电感电流检测轻载时电感电流进入负向区间为了做CCM/DCM判断或者过流保护负向电流也得能被看见。伺服驱动和电动工具需要实时上报正反转的扭矩情况本质还是电流方向与大小。双向检测的思路本质上是给放大器人为设定一个“零点参考”。具体做法是在放大器的同相输入端通过VREF引脚注入一个固定的参考电压。当电流为零时输出稳定在这个参考电压上电流往一个方向流输出在参考电压之上浮动反过来输出就压到参考电压以下。这样一个检测链路就把两个象限的电流都囊括进来了不用为每个方向单独设置一路采样。1.2 传统方案在PWM环境下的崩溃现场普通的电流检测放大器比如非常普及的INA180、AD8210这类在静态或者低频环境下测直流电流精度表现很好。但只要把它用在PWM驱动的系统里问题就来了。你拿示波器去看输出端本来应该是一条平直的电压线用来表征电感平均电流的结果波形上全是高频毛刺和地弹噪声严重的时候在PWM每一个开关沿都能看到一个巨大的尖峰脉冲幅度甚至能达到放大器输出满摆幅的百分之几十。这个尖峰如果持续时间超过一定阈值直接导致后级过流比较器误触发把系统保护掉。为什么会这样PWM开关节点上MOSFET的栅极驱动电压基本是秒开秒关开关节点上的电压变化率dv/dt可以做到10V/ns以上。这个高压瞬变通过采样电阻的寄生电感、PCB走线的寄生电容、甚至放大器输入引脚之间的耦合电容形成了一条通往CSA输入级的路径。普通的差分放大器虽然标称共模抑制比CMRR很高但那是直流或者低频条件下的指标面对1V/ns以上的瞬态共模跳变内部的输入级无法瞬间平衡就会在输出端产生一个明显的共模误差脉冲。更麻烦的是这个脉冲宽度虽然通常只有几百纳秒但幅度大而且出现频率就是PWM的开关频率对于带宽几MHz的ADC来说很容易被采样到。1.3 PWM Rejection到底在“拒绝”什么PWM Rejection简称PWM抑制是芯片厂商针对上述痛点专门做的事。它不是什么单纯的输出加法滤波而是在放大器输入端和主放大级之间内置了一种专门用于吸收高频共模瞬变的结构。以TI的INA240为例它的内部实际上做了两级处理第一级是一个特殊的输入滤波网络这个网络对差模信号是“透明”的对共模瞬变则呈现很高的阻抗和衰减第二级才是真正的放大级。这种结构的好处是干扰信号在进入主放大级之前就被大幅度削弱了放大器自身不需要响应这个瞬态输出端的扰动自然就小得多。从指标上看这类器件的“增强型PWM抑制能力”通常体现在数据手册里的一个图表上给定一个固定斜率比如1V/ns或5V/ns的共模阶跃画出输出端的残留误差电压随时间变化的曲线。好的器件能做到在100ns以内恢复到最终的精度范围内残留误差只有几毫伏。而普通CSA在这种测试条件下可能需要几个微秒才能恢复幅值可能冲到几十上百毫伏。这差距就是PWM抑制技术存在的核心价值。2. 芯片内部的关键设计从输入级到双向零点的完整拆解2.1 输入级滤波架构不只是多几个电阻电容很多人看到带PWM抑制的CSA觉得它无非是在输入端多加了一个RC低通滤波器抑制一下高频干扰。实际情况比这个复杂得多。如果只是简单加RC确实能滤掉一部分高频噪声但同时也会带来两个副作用一是因为采样电阻的等效阻抗非常低毫欧级别RC滤波器的电阻端阻抗再低也会和采样电阻形成分压产生显著的增益误差二是RC滤波会造成采样信号的延迟这在电流环控制里会影响相位裕度严重时导致控制环路震荡。所以真要实现PWM抑制且不牺牲精度芯片内部得有更精巧的电路。拿INA240这类器件的内部架构来说它引脚SH和SH-进去之后首先接的是一个专用的差模瞬态抑制网络这个网络利用电容对高频共模信号的耦合特性先把差模电流分量“短路”到输入参考地再送入后级主放大器。主放大器本身则是一个高带宽、高开环增益的精密放大器。这两个部分结合在一起既保证了差模测量带宽通常能到几十kHz甚至上百kHz又能把高频共模干扰挡在门外。从我实测的角度来理解就是PCB上即使有比较高dv/dt的开关节点只要这个节点不跟输入走线正对产生强耦合放大器输出端的扰动就基本可以忽略。而如果你用的是不带PWM抑制的普通CSA同样布局条件下输出毛刺幅度可能就大到不能看了。2.2 VREF引脚与双向零点设定的工程细节双向检测的零点设定是这套方案里最容易出错却也最灵活的环节。以INA240为例它有VREF1和VREF2两个引脚在芯片内部通过一个电阻网络把输入的参考电压叠加到输出端。具体接法上有两种常见方案用分压电阻从电源端获取参考电压。比如电源是5V要想零点设在2.5V就用两个10kΩ的电阻分压连接到VREF1和VREF2引脚。这样最简单的优点是零成本缺点是分压电阻的精度会直接影响零点精度1%那档的电阻零点偏差虽然有但对电机控制这种对绝对电流精度要求不太高的场景完全够了。用精密基准源比如REF5025这种提供2.5V的参考电压。这种方案适合高精度电池管理系统、实验室测量仪器等需要准确知道双向电流绝对值的场景代价是成本和面积多出来一块。这里有个很多人踩过的坑是VREF引脚上的滤波电容不要太大。有些工程师为了给参考电压滤波顺手在VREF引脚上挂了一个10uF的陶瓷电容。这么做的后果是在启动瞬间参考电压的上电斜率会非常缓慢而放大器在VREF还没有稳定到最终值之前就已经开始工作导致上电初期输出出现一个长时间的偏移残差需要几百毫秒才能恢复正常。我的处理习惯是VREF引脚上只用1nF到10nF的陶瓷电容做去耦既能滤掉参考线上的高频噪声又不至于拖慢启动响应。2.3 共模电压范围与电源设计“轨到轨输入”别理解错带PWM抑制的双向CSA还有一个关键参数是共模输入电压范围VCM。你要留意这类器件的数据手册它的VCM范围往往跟电源电压没有直接关系甚至允许远高于电源电压。比如INA240的共模范围是-4V到80V也就是说即使你供电是3.3V或5V输入引脚上的电压在-4V到80V之间时芯片内部电路依然能正常工作不会损坏输出也依然能保持正确。这个特性在低边检测和高边检测两种拓扑里都有用。低边检测时采样电阻放在负载和地之间共模电压接近0V高边检测时采样电阻放在电源和负载之间共模电压就是电源电压。如果要做电机驱动的相电流检测采样电阻放在低边MOSFET的源极和地之间PWM开关时这个点会瞬间跳到母线电压再掉回到0V这个共模电压的变化也是高压瞬变。PWM抑制型和传统型的区别就是传统型面对这种大范围共模跳变输出端的瞬态恢复时间长而PWM抑制型的恢复时间极短。关于电源电压的低压工作特性往往会被忽略。很多PWM抑制型双向CSA最低工作电压是2.7V到了3.3V电源系统里还有不小的裕量但如果你的系统是2.5V单电源供电就得重新评估了。输出摆幅不会是真正的轨到轨通常距离电源轨还有几十到一百毫伏的压差这会压缩双向检测的动态范围。按我的经验为了让双向检测的负向电流区域有足够的摆幅空间电源电压建议至少比零点参考电压高2V以上。比如零点设在2.5V电源用5V负向电流最大能压到0V附近输出动态范围基本能覆盖满摆幅但如果你用3.3V电源、零点设2.5V那负向方向可能只剩0.8V的空间了测量范围受限明显。3. 电路设计实操从选型到PCB布局3.1 选型时对照的关键参数实际项目选型时不要只盯着“带PWM抑制”这一个卖点还有一个重要参数是增益带宽积。下面是几个关键参数的对照你可以存在手边备用参数不敏感场景PWM敏感场景备注失调电压(Vos)1mV以内推荐典型值≤10uV低温漂电机大电流下失调导致零点偏移明显共模瞬态免疫(CVCR)普通≥1V/ns最好看曲线决定PWM开关沿造成的输出扰动大小增益误差1%足够≤0.1%低温漂双向测量需要精确对称带宽无要求根据PWM频率同步估算太低测不准纹波电流太高把噪声也放大了共模电压范围够用即可覆盖系统最恶劣瞬态高压侧采样尤其要注意对于PWM抑制型CSATI的INA240系列是应用比较广泛的代表它有10倍、20倍、50倍、100倍四种固定增益可选。实际设计里我一般优先选50倍这个折中的档位。因为20倍在低电流分辨率要求下可能输出幅度不够100倍虽然把微电流放得很大但输入失调和噪声也会被放大得比较明显在50A电流的电机驱动场景中50倍增益结合1mΩ采样电阻满量程压降50mV输出满摆幅2.5V正好适配3.3V ADC。3.2 采样电阻的选型阻值、功率与热电动势双向检测里采样电阻是“信号的源头”它的质量直接决定整条链路的精度。选型要从三个维度看阻值、功率和温度特性。阻值的选择逻辑是在满量程电流下把压降控制在合理范围内。压降太小比如5mV放大器的失调和噪声占比就会凸显压降太大自身的功耗就上去了而且会侵占系统的最低工作电压。经验法则是让满量程压降落在25mV到100mV之间。比如满量程50A选1mΩ满量程压降50mV增益50倍ADC端满量程输出2.5V这很舒服。功率维度简单粗暴50A电流流过1mΩ电阻功耗是2.5W。这时候普通贴片电阻根本扛不住需要选带散热焊盘的大功率分流电阻或者直接上金属条采样电阻。同时还要考虑一个很多人不注意的点——热电动势Seebeck效应引起的误差。铜和锰铜合金两种不同材料在温度梯度下会产生微小电压这个电压叠加在采样电压上就会造成零点漂移。高精度的电池巡检设备里我见过用热电动势非常低的特定合金采样电阻并且把两个采样引脚排布成对称结构。3.3 开尔文连接与PCB布局采样电阻的PCB布局是双向电流检测里最核心的实操环节这一步做不好再贵的芯片也白搭。核心准则是“四线开尔文连接”采样电阻的两个电流端子走大电流通路两个电压侦测端子单独走一对细线直接连到放大器输入引脚绝对不能让大电流路径经过电压侦测线。我见过很多失败案例工程师图省事把放大器的差分输入直接接在采样电阻的焊盘上但输入线之间刚好还有一段大电流流过的主铜箔。这段铜箔虽然只有几毫米长但其电阻在几十毫欧级别远比想象中大大电流流过时会在上面产生压降直接叠加到采样的差分信号里造成极大的测量误差。正确做法是电压侦测线从采样电阻的内侧靠近电阻本体引出而且两条线尽量等长、靠近走形成紧耦合减少环路面积对外部噪声的拾取。另外输入走线的低通滤波电容要尽量靠近放大器的输入端。如果你在SH和SH-之间加了一颗共模/差模滤波电容这颗电容要放在芯片引脚旁边而不是采样电阻旁边。原因是电容放在采样电阻附近会把采样电阻上的高频成分直接短路回地影响高频段测量响应放在芯片输入引脚附近则是把已经走完差分线的信号做末端滤波同时兼顾差模和共模干扰抑制。这个顺序错了滤波效果差很多。3.4 VREF分压与输出缓冲的搭配双向检测的零点精度跟VREF引脚的供电方式密切相关。前面说了可以用两个电阻分压产生但这里必须考虑一个实际因素VREF引脚的输入漏电流虽然很小但会在分压电阻上产生压降引起零点偏差。数据手册里通常会给VREF引脚的输入阻抗比如INA240是典型的大阻抗但你也得算一下。简单估算就是VREF引脚输入阻抗与分压电阻并联总电阻改变零点就会偏移。用高精度低阻值分压电阻可以减小这个影响但这又反过来增加了静态功耗。更稳妥的做法是用一个低失调运放缓冲一下VREF电压Buffer的输出低阻抗直接驱动VREF引脚这样分压电阻精度只决定参考电压的准确性不会因为内阻传导产生额外误差。不过加Buffer的成本不算低通常只有在高精度电池测试仪里才值得这么做普通电机驱动没必要。还有一个更省事的做法就是直接用带内部基准的ADC或单片机的内部VREF输出一个2.5V基准直接接到VREF引脚。4. 实测调试验证与波形解读4.1 搭建PWM场景下的测试环境拿到一片PWM抑制型CSA写在纸面上的指标再漂亮还是得上电实测才放心。实测环境搭建不算复杂但要注意几个关键点。第一要有一个真实的PWM开关节点。可以用一个同步Buck电路或者直接用一个半桥测试板。示波器的地线夹子要特别注意探头的地线阻抗会影响高频测量建议用短地弹簧而不是鳄鱼夹保证探头的带宽没有被地线长环路破坏。第二在采样电阻两端接上差分探头或者直接测CSA的输出。通过对比放大器输入端的差分电压和输出端的波形可以判断PWM抑制是否真的起效。前提是示波器至少要有100MHz带宽采样率在1GS/s以上才能看到纳秒级的细节。第三给被测系统设置几个典型工况PWM占空比5%和95%考察最小/最大占空比下的瞬态、占空比50%考察连续开关沿的影响、空载和满载考察电流大小对共模瞬变耦合的影响。4.2 如何从示波器波形判断PWM抑制效果测量结果的判读是有门道的。你去看输出波形时重点关注PWM开关沿对应的时间点前后输出有没有异常的尖峰、凹陷或者长时间拖尾。好的PWM抑制型CSA示波器上开关沿位置几乎看不到明显的扰动输出波形是一条平滑的纹波电流叠加信号普通CSA则会出现一个明显的向下凹陷或向上尖峰持续时间可能长到把整个PWM周期都污染了。还有一个容易被忽视的细节是恢复时间。PWM开关沿到来时放大器输出开始偏离理想值经过一段时间回到理想值附近这段时间就是恢复时间。数据手册里通常会给出这个值。实际测量时要注意输出端如果有额外的RC滤波器它会掩盖部分恢复问题——因为RC滤波器把高频毛刺也滤掉了看起来输出很干净但实际上信号已经变形了响应的带宽也被压低了。所以要裸测先别接输出滤波器看放大器本身的真实响应确认没问题后再根据系统需求加后级滤波。4.3 死区时间与占空比边界的特殊观察做电机驱动时死区时间Dead Time的设置对电流采样有直接影响。在死区内半桥上下管都关断电感电流会通过体二极管续流。这时采样电阻上的电流方向可能会短暂反转尤其在小电流或轻载条件下双向检测放大器必须能正确捕捉到这个短暂的负向电流。我在实测中发现一个有趣现象某些标称双向的CSA在死区期间由于共模电压下降很快且幅度大从母线电压掉到负的二极管压降输出会产生一个短暂的“假负向电流”毛刺。这个毛刺幅度不大但如果你用它对电流做积分或做方向判断可能会在零电流附近产生误判。解决思路有两个层面第一是在软件上增加采样窗口避开死区时间内的采样点这在电机控制里很常见第二是在硬件上确保采样电阻的低边连接点没有引入额外的寄生电感因为寄生电感在电流换向时会形成额外的电压尖峰叠加到采样信号上。5. 常见问题与排查技巧实录5.1 输出端出现持续振荡有一回我做同步Buck的电流内环测试换上INA240之后输出端莫名其妙出现了大约20MHz的持续振荡不管PWM有没有动作都在振。排查了半天最终发现是输出端接的示波器探头寄生电感和放大器输出阻抗形成了谐振。解决方案就是直接在输出引脚根部串了一个22Ω的小电阻做隔离顺便把示波器探头的地线从鳄鱼夹改成了短地簧。这类振荡跟放大器本身无关大多是测试手段引入的假象调试时优先检查探头和布线。但如果振荡频率在几百kHz级别而且跟PWM频率有关那大概率是环路稳定性的问题——输出后级接了驱动电路或者容性负载重导致相位裕度不足。这时候可以在输出端并联一个20pF到100pF的小电容做补偿或者在输出和ADC之间串联一个几kΩ的电阻来限制容性负载的影响。5.2 零点漂移超过预期双向检测时如果电流为零的时候输出端不在VREF设定的零点上通常有三个原因第一是VREF分压电阻精度不够换用0.1%精度的低温漂电阻能解决大部分问题第二是采样电阻两端存在热电动势这种误差跟温度分布相关需要从布局上让两个采样引脚等温第三是放大器本身的失调电压太大这种时候别纠结直接换一颗低温漂、低失调的型号。5.3 PWM瞬态饱和导致过流保护误触发这是电机驱动项目里最头疼的问题。如果过流比较器直接接在CSA的输出端那么PWM开关沿产生的短暂毛刺一旦超过比较器阈值就会触发虚假的过流保护。传统方案是加软件滤波或者RC延迟但这会降低真实过流保护的响应速度。带PWM抑制的CSA本身就缓解了大半问题但如果还出现误触发就要检查是不是布局把开关节点的电场耦合到了输入线上。一个很有效的排查手段是把采样电阻两端用短路线短路然后让PWM正常运行观察CSA的输出。如果这种情况下输出还有毛刺说明干扰不是来自电流信号本身而是耦合噪声直接串进了放大器。我就遇到过因为输入线走在开关管栅极走线的正下方导致每次都因为耦合而误报过流的情况把输入走线挪到地平面另一侧重新布层问题直接消失。5.4 共模瞬变下放大器自身的过载恢复问题最后一个容易被忽视的点PWM抑制型CSA虽然共模瞬态免疫很强但如果共模电压超过放大器允许的绝对最大额定值或者差模输入电压瞬间过大内部输入级会进入过载状态恢复时间会急剧延长。极端的案例是在电机刹车过程中感性负载产生负压尖峰如果这个尖峰低于芯片的绝对最小共模电压例如-4V就可能导致放大器输出在一段时间内保持错误状态。解决办法是在输入引脚上加钳位二极管或增加TVS管把瞬态电压限制在芯片允许的范围内。因为PWM抑制型CSA本身就是用来对付恶劣瞬态的外部保护务必跟上才能既有性能又可靠运行。6. 最后再分享一个调试经验从我实际做项目的体会来说带PWM抑制的双向电流检测放大器最大的价值不只是省掉了输出滤波的RC网络而是让你在设计电流采样链路时不用再靠运气和反复试错碰方案。用上这类器件之后我最大的感受是“可控性”变强了——干扰来自哪里、怎么消除、采样窗口选在什么位置这些问题都能基于实测数据去精确判断而不是盲目堆电容、加滤波、调软件。最后再分享一个小技巧新板子回来先不要急着上正常控制逻辑单独把PWM空载跑起来用示波器同时抓PWM开关节点和CSA输出端波形观察开关沿位置的扰动。这几十秒的测试能帮你在后续调试中节省大量时间。如果这一步输出是干净的那么后面的电流环几乎不会被采样噪声折磨。如果输出有毛刺就先解决布局和耦合问题再往下走千万别带着问题追软件滤波的“特效药”治标不治本后面够你受的。
返回列表