ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

三相无刷电机驱动设计:EG2163栅极驱动芯片与LDO集成方案详解

三相无刷电机驱动设计:EG2163栅极驱动芯片与LDO集成方案详解 做电机驱动这些年我有个很深的体会很多项目的成败在选驱动方案那一刻就定了一半。三相无刷电机的驱动从来不是MCU给六个PWM就能跑起来的事。栅极驱动电平不够、驱动电流不足、高边桥臂悬浮供电、开关噪声、死区控制每一件事都能让板子从“能转”变成“返工”。最近做一台24V无刷水泵控制器时我用了一颗EG2163这颗三相半桥驱动芯片把栅极驱动和两路LDO集成在了一起一颗芯片就搞定驱动和板级供电给紧张的PCB面积争取到了很大余地。这篇分享就把这颗芯片的选型逻辑、最小系统设计、PCB布板要点和调试中遇到的坑一起捋一遍给正在做或者准备做12V/24V无刷电机驱动的朋友一个参考。1. 先把EG2163这颗芯片吃透它到底替你干了多少活1.1 为什么三相无刷电机非得要栅极驱动芯片很多人刚接触无刷电机第一反应是单片机输出6路PWM直接接MOS管栅极。低速小功率还能凑合但一旦母线电压到12V以上问题全出来了。第一个问题是电平。MCU的IO口通常3.3V或5V而功率MOS管在12V、24V母线系统里常用的管子阈值电压在2V到4V之间。看起来3.3V刚好能超过阈值但MOS管在阈值附近只是刚开始导通RDS(on)远没有达到规格书标称值管子会工作在放大区发热严重。电机负载一上来管子温度直接飙升。24V系统里如果选了VGS(th)偏高的管3.3V逻辑甚至根本不能可靠开通。第二个问题是驱动能力。MCU IO口的拉灌电流一般在几毫安到二十毫安而MOS管的栅极等效电容Ciss动不动就是几百pF到几nF电荷Qg可能几十nC到上百nC。要让管子快速开通、减少开关损耗需要在几纳秒到几十纳秒内把栅极电荷充进去瞬时驱动电流需要达到几百毫安甚至安培级别。用MCU直驱栅极充放电缓慢管子长时间停留在线性区开关损耗大得吓人。第三个问题是高边桥臂。三相全桥的上管源极是悬浮的跟着电机相线电压上下跳变电压范围可以从0一直跳到母线电压附近。MCU的地是固定的没法直接给上管栅极提供驱动电平。栅极驱动芯片通过自举电路把栅极电源提到悬浮电位上专门解决高边驱动问题。EG2163这类三相半桥驱动芯片就是把这些事全部包揽了。外部只需要给它一路逻辑电源它就能把MCU的6路PWM信号转换成功率MOS管需要的强驱动信号内部还带了死区、欠压保护这些逻辑出问题的概率比纯分立方案低很多。1.2 70V耐压不是让你随便超压而是给你留够了尖峰余量标题里那个“70V耐压”很关键但我见过不少朋友把它理解成“我的系统是24V70V绰绰有余放心用”——这个理解方向是对的但耐压参数真正应对的是母线上的瞬态尖峰而不是稳态电压本身。电机是感性负载PWM关断瞬间相电流没有地方去会在MOS管漏源两端形成电压尖峰。尖峰的幅度和关断时电流变化率、线路寄生电感有直接关系。我一个实际项目里测过24V母线系统关断尖峰最高到过40多伏这还是布局做得不错的情况。要是PCB大电流环路走线长了寄生电感大主板布线乱尖峰超过50V也不是没可能。所以选驱动芯片看耐压要在母线稳态电压基础上预留2倍余量。12V系统选40V以上方案比较稳妥24V系统往60V以上选。EG2163的70V额定耐压对于12V和24V系统都是很宽松的余量甚至对于一些轻载的48V直流电机场景也能留出设计空间。不过这里要提醒一下“耐压70V”通常是绝对最大额定值设计上不要顶着极限跑超过一点虽然不一定会立刻烧但长期可靠性会明显下降。1.3 1.5A拉电流开关速度、损耗与EMI之间怎么找平衡拉电流source current指的是芯片输出级能给MOS管栅极注入的最大电流。同样一只MOS管栅极电荷Qg是固定的驱动电流越大栅极电压上升越快开关时间越短开关损耗越低。可以简单算一下。假设选了只Qg约60nC的MOS管EG2163的峰值拉电流1.5A如果外部栅极电阻很小、走线很短理论上栅极充电时间大约 60nC / 1.5A 40ns。这个速度对于20kHz开关频率的系统来说非常快开关损耗几乎可以忽略。但实际设计里几乎不会真把所有驱动电流都用满因为开关太快di/dt和dv/dt都极其剧烈母线和电机端会产生大量振铃EMI直接超标甚至会引起上下管之间的寄生导通。我在24V水泵项目里用的栅极驱动电阻是15Ω关断时在电阻上反并联一个1N4148让关断比开通稍快一点既保证了开关速度又把振铃压在一个可控范围。这种“非对称驱动”是工程里非常常用的小技巧电路很简单效果立竿见影。需要说明的是1.5A这个指标也决定了EG2163能够驱动多大功率的MOS管。理论上只要MOS管的Qg不是特别夸张比如几百nC级别的大功率管1.5A都够用。实际中真正限制驱动能力上限的往往是芯片的功耗——开关频率高了每相驱动功耗大概是 f × Qg × Vg如果单管Qg做到了300nC20kHz频率在12V栅压下三相总驱动功耗就有 300nC × 12V × 20kHz × 3 ≈ 0.216W再加上LDO的功耗芯片温升就会变得明显。2. 基于EG2163的最小系统设计从MOS管到自举再到LDO2.1 功率MOS管怎么选才配得上这颗驱动选MOS管不是看耐压越高越好而是看几个参数能不能和驱动芯片、母线电压、电机负载匹配。首先是耐压。12V系统选40V档24V系统选60V档。留出的余量用于吸收开关尖峰同时也要考虑电机制动、反电动势叠加的极端工况。如果预算允许24V系统直接上75V或者100V档也不是不行代价是耐压越高的管子往往RDS(on)越大、Qg越大、价格越高没有必要盲目追高。其次是Qg。这颗管子决定了开关损耗也决定了驱动芯片的负担。普通小功率BLDC电机用的小管子Qg在10nC到30nC就很轻松中功率的管子比如60V/30A级别的Qg一般在30nC到80nCEG2163完全带得动再往上到100nC以上就要认真核算驱动功耗和开关速度了。再者是RDS(on)。RDS(on)决定导通损耗。24V系统、8A负载电流如果RDS(on)是20mΩ单管满占空比导通损耗是 I²×R 8²×0.02 1.28W已经非常可观必须配合散热设计。所以负载电流大的应用里优选RDS(on)更小、Qg也相对合理的管子要在这两者之间找平衡。最后是体二极管的反向恢复特性。无刷电机是异步换相在换流瞬间体二极管会短暂导通如果电机是PMSM这类高速电机电流变化率很大体二极管反向恢复慢会产生额外损耗和尖峰。不过对于12V/24V低压系统普通MOS管的体二极管一般够用不是主要矛盾。2.2 高侧自举电容的计算算过一次就忘不掉三相全桥的上管是悬浮驱动业界最常用的方案就是自举。每个高边驱动通道需要一只自举电容一端接芯片的高边悬浮电源另一端接电机相线。当低边管导通时电机相线被拉到地芯片内部的充电回路通过自举二极管给电容充电高边管需要开通时电容上的电荷通过驱动级注入上管栅极。自举电容的容量怎么定有一个很实用的估算公式Cbs ≥ Qg / ΔVbs其中Qg是高边MOS管的总栅极电荷ΔVbs是允许的自举电压跌落。假设选了一只Qg60nC的管子希望自举电压在开通过程中跌落不超过0.5V那么Cbs至少是 60nC / 0.5V 120nF。我实际设计时会按下面这个逻辑取值已知参数 Qg 60nC // 高边MOS总栅极电荷 ΔVbs 0.5V // 允许的自举电压跌落 理论最小值 Cbs Qg / ΔVbs 120nF 工程取值 考虑到驱动级静态电流、高边逻辑工作电流、电容容量随温度变化等因素 取理论值的10~50倍常用范围 1μF ~ 4.7μF。 材质X7R陶瓷电容。 耐压至少为母线电压的1.5倍。自举电容的位置和材质都很重要。电容要尽量贴近芯片的自举引脚和相线引脚走线距离越短越好。常见的选择是贴片陶瓷电容X7R材质不要用Y5V、Z5U这类温度特性差的材质也不建议在这个位置用电解电容ESR太大高频特性差充放电速度跟不上。2.3 两路LDO的输出分配与去耦千万别踩“共用电源”的坑EG2163这一类集成LDO的驱动芯片最大的卖点之一就是“一颗芯片解决驱动和板级供电”。我实际用下来理解它的电源分配逻辑很重要。5V输出通常适合给MCU、逻辑电路、霍尔传感器、反电动势比较器供电。12V输出主要给栅极驱动级本身和一些对电压精度要求适中、电流要求不大的外设。实际项目里如果MCU是3.3V的5V这一路可以再外接一个小的LDO或者DCDC转3.3V如果MCU能接受5V供电直接省掉一级。电容去耦这块不能省。两路LDO输出端都要按手册要求放输出电容常见是1μF到10μF的陶瓷电容并联一个小容值高频电容比如0.1μF。布局上电容要贴近芯片对应的输出引脚不要从电容引脚拉很长走线再去给MCU供电。需要注意的是LDO输出和逻辑电源的“地”要处理好。驱动芯片的地要分成功率地和信号地功率地是低边MOS管源极、母线电容负极、电流采样电阻这一块信号地是MCU、逻辑电路、LDO输出电容负极。两个地在主电容负极附近单点连接。如果功率地和信号地混成一片LDO的5V/12V输出会给MCU带来大量开关噪声ADC采样抖动会非常明显。2.4 和MCU的接口设计PWM、反电动势检测和电流采样一条龙驱动芯片负责功率级但它和MCU之间的接口也决定了系统的稳定性。PWM输入这侧EG2163这类芯片的输入一般兼容3.3V和5V逻辑。MCU如果是3.3V供电比如STM32F103可以直接接但要用示波器确认芯片高电平阈值是不是真的低于3.3V。有些老一代驱动芯片逻辑高电平阈值到2.5V以上余量不算大稳妥起见可以用三极管/电平转换电路或者加1kΩ串联电阻保护。死区处理上如果驱动芯片内部有死区逻辑MCU的PWM配置可以相对简单如果没有必须在MCU端生成带死区的互补PWM比如STM32高级定时器TIM1/TIM8直接支持死区插入。这里一定要确认必要的话做一次死区时间实测让上下管波形之间有明显间隔。反电动势检测用于方波驱动六步换相时要检测不导通相的反电动势过零点。做法是把三相分压电阻网络引到MCU ADC或者用比较器转成过零信号。因为反电动势峰值在24V系统里可以超过母线电压分压比要按最大可能峰值算留足余量。分压后的信号还要并联小电容滤波滤掉PWM开关噪声但滤波电容不能太大否则过零检测相位滞后太多换相点会偏移。电流采样建议用低侧采样电阻。采样电阻放在低边MOS管源极和GND之间阻值通常0.005Ω到0.02Ω通过运放放大后进ADC。低边采样配合PWM信号同步采样能够得到相电流的真实波形做简单的电流环甚至FOC都够用。EG2163的5V LDO给运放供电基准电压稳定采样精度也能保证。3. 原理图与PCB实操把纸面设计变成能跑的板子3.1 原理图里的几个关键节点原理图阶段容易出问题的反而是细节。第一个是每个电源引脚的去耦电容。芯片的VCC引脚、LDO输出引脚都要放电容而且要分组大容值电容负责储能小容值电容负责高频去耦。我见过的翻车案例里不少是漏了VCC引脚上的0.1μF高频电容结果芯片内部逻辑受开关噪声干扰输出波形出现毛刺。第二个是使能/关断引脚的处理。如果芯片有EN脚或SD脚不用的时候要按手册接到确定的电平不能悬空。悬空的使能脚很容易被空间耦合噪声触发导致芯片在电机运行时莫名关断或重启。第三个是PWM输入端的保护电阻。MCU和驱动芯片之间串一个100Ω到1kΩ的电阻成本很低但能有效抑制振铃、限制过冲电流也能在焊接失误时保护MCU端口。有些调试时示波器不小心碰到高压输入电阻还能起到一定的缓冲作用。第四是电流采样电阻的引脚。采样电阻两端的走线要用开尔文接法也就是信号走线先到电阻两端各自的焊盘附近再引入运放正反相输入不要直接从大电流走线上拉信号线否则采样电阻自身的寄生电阻会串进去。3.2 PCB布局走线功率地和信号地分家的具体做法PCB布局是电机驱动板最考验功力的部分。布局的方向决定了EMI、散热、噪声性能很多时候返工的原因就在这里。第一优先级是缩小功率回路的环路面积。什么是功率回路一个PWM周期里母线电容、上管、电机线圈、下管、电流采样电阻、再到母线电容电流流过的路径。环路面积越大寄生电感越大开关尖峰越高。所以布局上要让母线电容尽量靠近全桥把电流路径画成一个尽量紧凑的闭环。第二优先级是高边VS节点和栅极走线。VS节点是电机相线电压在0和母线电压之间快速跳变di/dt大它和自举电容之间的走线要短而粗。栅极驱动回路的走线虽然电流不大但要走得短避免和功率主线平行栅极电阻靠近MOS管栅极。第三是地平面分割。小功率板子可以整板铺地但要在心里清楚功率地和信号地的边界。低边MOS管源极和采样电阻的“地”属于功率地MCU周围的地属于信号地。两个区域在母线电容负极一点连接。LDO输出电容负极也接到信号地区域这样MCU的5V供电不会受到功率地上大电流瞬态的影响。第四是散热。驱动芯片底部如果有散热焊盘一定要按手册铺铜并打过孔。三相驱动芯片在持续工作时的功耗主要有三块驱动级开关损耗、LDO功耗、内部逻辑功耗。如果散热没做好芯片内部温升导致过热保护电机运行一会就停机排查起来非常像软件Bug容易走弯路。3.3 上电调试顺序我踩过不按顺序的坑这块值得单独拿出来说。我早期做驱动板吃过亏芯片焊好后直接上母线调试烧了一颗MOS管才发现问题。后来总结了一个固定的调试顺序每次都按这个来。第一步不装MOS管只给驱动芯片的VCC供电。用万用表确认两路LDO输出电压正常。这个阶段能排除芯片焊接问题、供电问题。第二步不动功率部分给MCU烧一个测试程序让它输出6路固定电平的PWM用示波器看驱动芯片对应输出的波形确认逻辑关系正确、死区明显。这时候还没有母线电压不会炸管可以放心测。第三步装好MOS管但先不加母线电压只给芯片VCC用示波器量高压侧的VB和VS引脚确认自举电压建立了。没有母线时自举可能无法正常建立这个要心里有数或者给一个小母线电压比如5V来检查。第四步加很小的母线电压比如先用5V到12V空载跑电机看相线波形是否正常换相。确认无短路、无过流后再把母线电压升到目标值。第五步带载测试。逐步增加负载同时用示波器看电流波形和芯片温度。发现异常立即断电分析波形而不是直接换器件。我踩过的坑是第二步直接跳到了第四步导致高边驱动逻辑错误没被发现接上母线后上管误导通直接炸了一只MOS管。从那以后我再也不敢跳过调试步骤了。4. 调试路上的典型问题直接给你排查表4.1 芯片发烫先别怀疑芯片坏了芯片发烫最常见的原因其实不在芯片本身。一个很典型的现象是死区时间不足上下管PWM切换时短暂直通母线相当于被短路了一下每次开关都产生很大的瞬态电流。这种损耗全部转化为热量芯片当然烫。排查方法是用示波器看半桥中点到地的电压波形直通会在切换瞬间出现明显的下拉毛刺。另一个原因是栅极电阻太小、开关太快。此时波形上会有严重振铃MOS管寄生导通风险也高关断时米勒平台区域振荡可能触发上下管共导通。把栅极电阻加大到15Ω到33Ω很多发热和振铃问题都解决了。还有一个不能忽视的点是LDO的压差功耗。举个例子如果系统输入48V用LDO降到5V带50mA负载功耗就是 (48-5) × 0.05 2.15W这个热量在一颗小芯片上足以让温度快速上升。这种情形要重新评估供电架构高压差大电流的场合不应该用LDO换成DCDC才是正解。4.2 电机启动无力甚至堵转问题多半在换相电机能启动但没力或者带不了负载软件上很多人先怀疑PID参数但我建议先检查换相逻辑。方波驱动下换相时刻必须和反电动势过零点匹配。如果使用反电动势检测过零信号经过分压电阻和滤波电容后有相位滞后检测点往后偏换相点也偏离最佳30°电角度电机的出力就会下降。可以通过加大分压电容滤波的同时用软件补偿角度来改善或者换成霍尔传感器直接换相更省心。如果电机启动时完全没力、只抖动不转多半是启动阶段的预定位和强制换相没有做好。无传感器方波驱动里静止状态下没有反电动势必须先给一个固定矢量让转子预定位然后用逐步加快的强制换相把电机拉起来达到一定转速后再切换到反电动势闭环。这个切换转速阈值、强制换相频率都是要调的。硬件本身没问题别一上来就换MOS管。4.3 自举电容“充不满”的三种原因高边驱动异常、上管开通不完全电机相线上高压低上不去的时候优先怀疑自举。第一种原因是占空比太高。如果PWM占空比长时间接近100%低边管导通时间太少自举电容没有足够时间充电高边电压会掉。有些驱动会内置电荷泵来缓解这个问题但很多三相驱动芯片没有所以要避免高边长时间100%占空比。第二种原因是PWM频率太高。频率越高每个周期的低边导通时间越短自举充放电时间都不够。一般三相电机驱动用15kHz到25kHz不会有问题但有些应用把PWM频率调到40kHz甚至更高就要仔细核算。第三种原因是自举电容本身选得不对。位置离芯片太远、走线太细、用了ESR大的电容类型都会导致充不满。我碰到过一次芯片端电容容量偏小高边在连续大占空比时电压掉到欠压阈值附近驱动输出波形开始抖动后来把电容从0.1μF换到1μF问题消失。4.4 高频PWM噪声咬住MCU采样怎么应对MCU ADC采样电流或者反电动势时数值乱跳是最常见的调试噩梦。我自己的排查思路是先看采样的时刻。低边电流采样建议在PWM开通的中段采样避开开关边沿的振铃。用STM32的话可以用定时器触发ADC把采样时刻定在PWM波形的稳定区。再看地平面。如果信号地和功率地没有单点隔离功率地开关瞬态的电流会在信号地上产生压降导致采样参考地抖动。处理方法是把MCU的ADC参考地、模拟地单独连到LDO输出电容的负极端再通过单点接到功率地。最后看滤波。反电动势分压信号和电流放大信号都建议串一个RC滤波器。RC截止频率不要低于PWM频率太多一般取PWM频率的1/5到1/10既能滤掉开关噪声又不会把有效信号衰减太厉害。如果软件上还有移动平均滤波效果会更好但要注意平均点数太多会引入延迟对电流环有影响。5. 内置LDO的思考LDO和DCDC怎么选什么时候可以用LDO5.1 LDO和DCDC的区别用一张表说清楚很多人一看到“集成LDO”就皱眉头觉得LDO效率太低。这个印象在部分场景是对的但不是全部。先看两者的本质区别对比项LDO线性稳压器DCDC开关稳压器工作原理调整管线性降压多余压差以热量形式消耗开关管高频通断通过电感储能变换电压效率约为 Vout/Vin压差越大效率越低通常在80%到95%与压差关系不大输出纹波很小基本是输入纹波和参考噪声有开关纹波需要滤波电感和电容体积小外围只需要输入输出电容大需要电感、续流二极管、补偿网络成本低中高EMI无开关噪声开关频率及其谐波会产生噪声动态响应较好但受调整管带宽限制依赖环路设计瞬态过冲可调简单说LDO是用“简单”换“低效”DCDC是用“复杂”换“高效”。5.2 EG2163内置LDO适合的场景以及功耗预估要怎么做EG2163把两路LDO放进驱动芯片本质上解决的是“小功率供电不去上DCDC”的问题。电机驱动板上主控供电和逻辑供电的电流通常不大比如MCU 50mA、霍尔和比较器再加20mA、运放几毫安总共100mA以下。这种负载如果用专门一路DCDC来供增加的电感、二极管、反馈电阻占用的PCB面积很大反而浪费。内置LDO适合的场景有三个共同点输入输出电压差不算太大、负载电流小、板子空间紧张。12V母线系统里5V LDO的压差是7V如果电流50mA功耗0.35W芯片还能承受24V母线系统里如果从母线直接给5V LDO压差接近19V100mA就有1.9W功耗这就不能接受了。所以EG2163的设计里才会有12V和5V两级很可能就是让12V那级承担中间降压避免直接用大压差从高母线拉到5V。功耗预估要怎么做公式就一个Pd (Vin - Vout) × Iout。选了这颗芯片要根据实际负载电流估算LDO功耗再看芯片总功耗会不会导致温升超标。如果输入电压太高、输出电流过大还是老实用DCDC让LDO只管小电流的薄弱环节。我自己的经验是12V和24V系统里用EG2163的内置LDO非常顺手几乎没有功耗压力但48V系统做起来就要格外谨慎需要按手册仔细核算。最后说两句我自己的真实感受。做电机驱动时我越来越觉得选芯片真的是件兼顾技术和工程权衡的事。EG2163这类把栅极驱动和LDO放在一起的方案参数上不一定是最炸裂的但它在小尺寸控制板、一体化电机控制器这些场景里带来的系统简化是实实在在的。你如果正在做12V或24V的三相无刷电机驱动不妨在选型表里把这类方案加进来仔细核算一下LDO功耗和散热大概率会有惊喜。调试顺序上我还是劝各位耐住性子先把芯片点亮、再测逻辑、再上母线、最后带载这套流程能帮你在半夜少骂几句。
返回列表