ARTICLE DETAIL

资讯详情

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

单片机I/O口驱动MOS管:栅极驱动、低边高边与发热排查实战

单片机I/O口驱动MOS管:栅极驱动、低边高边与发热排查实战 1. 先把问题看透单片机I/O口驱动MOS管为什么不是“一根线”的事单片机I/O口驱动MOS管这件事新手最容易掉进的坑就是把它想成“输出高电平就开、输出低电平就关”的普通数字电路。我最早调直流电机时也这么干过51单片机P1.0直接接IRF540的栅极程序一跑电机能转心里还挺得意。结果运行十几秒MOS管烫得不敢摸电机转速还随负载乱飘。后来把示波器接到栅极才发现5V单片机I/O口输出高电平后栅极电压只爬到4V出头还带着明显振铃MOS管一直卡在放大区等于用一个功率器件当电阻烧。这个经历基本说明了问题的核心单片机I/O口驱动MOS管本质不是给一个“高电平”而是给MOS管栅极这个电容快速充放电并且把Vgs推到一个足够充分、足够干净的工作区间。很多人看MOS管手册只看到Vgs(th)是2V到4V就以为5V I/O肯定能驱动。可Vgs(th)只是“开始有电流”的门槛不是“完全导通”的保证。以常见的IRF540为例手册标称Rds(on)通常是在Vgs10V下测的5V驱动时导通电阻会大很多大电流下压降和发热都会明显上升。再加上51单片机P1口是准双向结构输出高电平靠内部弱上拉拉电流能力很有限STC单片机虽可设置推挽输出但也要看具体型号和口线配置。3.3V单片机更要注意很多功率MOS管在3.3V下只能算“半开”驱动电机、加热丝、电磁阀这类负载时非常危险。这篇文章就围绕“单片机I/O口驱动MOS管”展开把常见的低边开关、高边开关、推挽扩流、专用驱动芯片、自举电路、栅极电阻计算、米勒效应、发热排查都讲清楚。适合正在做51单片机、STC单片机、小车测速、智能门禁、电磁炉控制、电机驱动、PWM调光调温的读者。无论你用的是面包板还是已经画了PCB只要涉及I/O口和MOS管这里面的参数计算和踩坑记录都能直接拿去参考。1.1 I/O口输出能力与MOS管栅极需求的差距先看单片机I/O口这一侧。传统51单片机P0口作为普通I/O时是开漏结构需要外接上拉电阻P1、P2、P3口是准双向口输出高电平时靠内部弱上拉拉电流通常只有几十微安到几百微安级别输出低电平时灌电流能力较强可以到十几毫安。STC不少增强型51支持推挽输出单个I/O口拉电流和灌电流能到20mA左右但这个20mA是持续电流限制不是瞬间峰值能力。STM32、GD32这类3.3V单片机普通I/O口通常标称20mA但全部口线同时大电流输出时芯片总电流和地弹问题会变得突出。再看MOS管栅极这一侧。MOS管栅极对驱动电路来说是一个电容手册里常用Ciss、Coss、Crss或者直接给Qg、Qgd、Qgs。以一个小功率AO3400为例Qg可能在几纳库仑一个IRF540的Qg可能在几十纳库仑大功率MOS如IRFP250、TO247封装器件Qg可能到100nC以上。I/O口如果只有20mA驱动能力按IQg/t估算给30nC栅极充电到10V理论上需要1.5微秒给100nC充电需要5微秒。如果PWM频率是20kHz周期50微秒5微秒的开通时间已经占了10%开关损耗会很明显。更麻烦的是I/O口输出电流被内部电路限制实际波形往往不是干净的阶跃而是先快速上升一段进入米勒平台后拖得很久最后才缓慢爬到最终电压。所以判断能不能直驱不能只看“高电平电压够不够”还要看栅极电荷量、需要的开关速度、负载电流、工作频率、允许的MOS损耗。小信号MOS管、逻辑电平MOS管、负载电流几十毫安的场景5V或3.3V I/O加一个小栅极电阻和下拉电阻有时确实能用。但只要负载电流上到1A、PWM频率上到几千赫兹或者MOS管Qg偏大就应该把I/O口当成“信号源”后面加一级专门驱动。把I/O口当功率驱动用短期可能能跑长期就是拿芯片和MOS管的寿命换经验。1.2 MOS管三个极和导通条件的再认识MOS管符号里G是栅极D是漏极S是源极。N沟道MOS管在Vgs大于阈值且Vds为正时导通电流从D流向SP沟道MOS管在Vgs小于阈值也就是栅极比源极低足够多时导通电流从S流向D。实际电路中NMOS做低边开关最常见源极接地漏极接负载负极负载正极接电源正极。这样单片机I/O只要驱动栅极相对于地的电压参考点简单。PMOS做高边开关时源极接电源正极漏极接负载正极栅极需要被拉到比源极低才能导通所以I/O口不能直接给高电平往往要用NPN三极管或专用芯片反相驱动。导通条件的关键不是Vgs(th)而是在目标电流下Vgs能否让Rds(on)足够低。比如一个NMOS在Vgs4.5V时Rds(on)是30毫欧在Vgs10V时是10毫欧如果负载电流5A前者功耗是0.75W后者是0.25W差了三倍。再比如有些MOS管手册里写“Vgs(th)1V到2V”看起来3.3V单片机很合适但它的Rds(on)曲线在3.3V时可能已经明显上翘。选型时要翻到手册的“On-Region Characteristics”和“Rds(on) vs Vgs”曲线别只盯第一页参数。另外栅极不是理想电容。开关过程中Cgd会通过米勒效应把漏极电压变化耦合到栅极形成米勒平台。栅极电压在平台期间几乎不上升但漏极电流和电压正在剧烈变化这段时间是开关损耗的大头。驱动电流不足时米勒平台被拉长MOS管在高压大电流区停留更久发热自然严重。理解这一点就能明白为什么“单片机I/O口直驱”在低频小负载时似乎没事一上高频或大电流就原形毕露。栅极驱动电路的任务就是在米勒平台期间仍然能提供足够的充放电电流把平台时间压短。1.3 哪些场景可以直驱哪些必须加驱动不是所有MOS管都必须加驱动芯片。判断标准可以简化成一张表负载电流小于100mA、MOS管是逻辑电平型、Qg小于10nC、PWM频率低于1kHz、供电和单片机同为5V或3.3V可以尝试I/O口加100Ω栅极电阻和10k下拉电阻直驱。例如2N7002、AO3400、SI2302这类小MOS用于LED、小继电器、小蜂鸣器通常问题不大。但如果负载是直流电机、电磁阀、加热丝、大功率LED电流超过500mA或者PWM频率超过5kHz就应该加推挽三极管、专用低边驱动芯片或光耦隔离驱动。专用驱动芯片里低边驱动可以看TC4420、UCC27511、IXDN604这类输入兼容3.3V/5V逻辑输出峰值电流能到几安培适合驱动大Qg MOS。半桥或高边驱动可以看IR2104、IR2110、EG2133这类带自举电路能驱动高边NMOS。隔离场景可以用光耦如TLP250、6N137加驱动或者数字隔离器加驱动芯片。需要特别提醒的是光耦不是随便选一个PC817就能驱动MOS管PC817电流传输比和速度都有限驱动大MOS时上升沿会非常慢反而增加发热。选光耦要看输出侧峰值电流、传输延迟和共模抑制不能只看“能隔离”。2. 驱动拓扑怎么选低边、高边、PMOS与推挽2.1 低边NMOS最常用但地线被切断低边NMOS开关是单片机控制功率负载最常用的拓扑。负载正极直接接电源正极负载负极接MOS管漏极MOS管源极接地单片机I/O通过栅极电阻接G栅极对地接10k下拉电阻。单片机输出高电平Vgs为正NMOS导通负载得电输出低电平Vgs接近0NMOS关断。这个拓扑的优点是驱动参考点是地单片机不需要额外电平转换NMOS选择多、导通电阻低、价格便宜。控制电机、加热丝、LED灯带、电磁阀都可以用。但低边开关有个必须接受的现实负载不再直接接地而是“浮地”。如果你用示波器测负载两端不能像测普通对地信号那样只夹一个探头最好用差分探头或者两个探头做数学运算。很多新手测低边电机波形时探头地夹在负载负极结果一夹就短路因为示波器探头地是和大地相连的。这个问题不是电路原理问题是测量安全问题。低边开关还要求负载电源和单片机电源共地否则栅极电压没有共同参考。共地之后大电流回流路径要单独走线不能和单片机地线混在一起否则电机启动时的地弹可能让单片机复位。低边NMOS的栅极电阻选择也有讲究。电阻太小栅极充放电快但容易和栅极电感、源极电感形成振铃严重时Vgs超过手册最大额定值电阻太大开关慢米勒平台长发热增加。通常小MOS用10Ω到100Ω大MOS用4.7Ω到22Ω。如果希望开通慢一点、关断快一点可以用两个电阻加二极管组成非对称驱动开通走大电阻关断走小电阻和二极管。这样能减少开通时的EMI同时加快关断降低关断损耗。2.2 高边开关为什么自举电容和PMOS总让人头疼高边开关把MOS管放在电源正极和负载正极之间负载负极直接接地。这种拓扑更符合很多负载的接地习惯比如汽车电子、电磁阀、门禁锁。高边用NMOS时源极接负载正极漏极接电源正极。要导通栅极电压必须比源极高出Vgs(th)而源极电压在导通后接近电源正极。如果电源是12V栅极需要大约12V加10V也就是22V左右。单片机5V或3.3V I/O显然做不到所以需要自举电路或独立电源。自举电容配合二极管在MOS关断时通过二极管从电源给电容充电导通时电容把栅极电压抬到电源电压之上。IR2104、IR2110这类半桥驱动芯片内部就集成了自举逻辑但外部自举二极管和电容要选对电容容量不够会导致高边驱动电压跌落。高边用PMOS时源极接电源正极栅极拉低到源极以下一定电压就能导通。单片机I/O可以控制一个小NPN三极管三极管把PMOS栅极拉低PMOS导通三极管关断时栅极通过上拉电阻回到源极PMOS关断。这个电路简单但PMOS的Rds(on)通常比同规格NMOS大价格也高大电流下发热更明显。如果电源电压高于单片机I/O耐压比如24V系统NPN三极管基极需要限流和钳位防止I/O口被高压反灌。高边开关还要注意负载短路时的保护很多专用高边驱动芯片带过流检测和热关断比离散PMOS方案更省心。2.3 隔离、电平转换和推挽级当单片机地和功率地不能直接相连或者功率侧有高压、强干扰时需要隔离驱动。光耦是最常见的选择但普通光耦速度慢适合低频开关高速光耦或数字隔离器适合PWM电机驱动。隔离驱动的输出侧仍需要一个驱动级把光耦输出的微弱电流放大成栅极需要的峰值电流。常见做法是光耦输出接三极管推挽再驱动MOS栅极。推挽级由NPN和PNP组成NPN负责灌电流给栅极充电PNP负责从栅极抽电流放电。这个电路要小心交越导通基极电阻和发射极电阻要配合不能出现上下管同时导通。电平转换是另一个常被忽略的环节。3.3V单片机控制5V逻辑的驱动芯片多数驱动芯片输入高电平阈值约2V可以直接兼容。但5V单片机控制某些要求3.3V输入的芯片就要确认输入高电平阈值和耐压。如果单片机I/O是开漏输出需要加上拉电阻到目标逻辑电压。开漏输出不能主动拉高只能拉低所以驱动NMOS低边时可以输出低电平关断、释放为高阻让上拉电阻拉高导通但上升沿会受上拉电阻和栅极电容影响。如果PWM频率高开漏加弱上拉会严重拖慢上升沿最好改成推挽输出或加一级缓冲。3. 核心电路参数计算与器件选型3.1 栅极电阻Rg峰值电流、上升时间和损耗的三角关系栅极电阻是单片机I/O口驱动MOS管时最值得花时间计算的元件。它决定了驱动峰值电流、开关时间和振铃程度。简化计算可以这样做先确定驱动电压Vdrive比如12V再确定允许的峰值电流Ipeak驱动芯片或推挽级能承受多大然后Rg总电阻约等于Vdrive/Ipeak。但Rg总电阻包括驱动芯片内阻、单片机I/O内阻、外部栅极电阻。假设驱动芯片内阻2Ω外部Rg选10Ω总电阻12ΩVdrive12V峰值电流约1A。如果MOS管Qg是30nC理想充电时间约Qg/Ipeak30ns。实际因为米勒平台和回路电感上升时间会更长但方向可以这样估算。如果I/O口直驱Vdrive5VI/O内阻可能几十欧姆外部Rg100Ω总电阻150Ω峰值电流只有33mA。给100nC栅极充电时间约3微秒这还没算米勒平台。如果PWM频率20kHz开关损耗会非常可观。计算公式可以粗略写为Psw≈0.5×Vds×Id×(trtf)×f。假设Vds12VId5Atrtf1微秒f20kHz开关损耗约0.6W。如果上升下降时间变成5微秒开关损耗约3WMOS管不烫才怪。所以Rg不是随便放一个10Ω就完事要结合驱动能力和开关频率反推。Rg太小也有代价。栅极回路有寄生电感主要是栅极走线电感和源极公共电感。Rg小电流变化率di/dt大栅极电压容易振铃甚至超过Vgs最大额定值20V。源极电感还会在开关时产生负压反过来影响栅极。解决办法是缩小栅极回路面积、源极开尔文连接、加栅极钳位二极管或齐纳二极管。实际调试时我通常先按10Ω到22Ω起步用示波器看栅极波形如果振铃明显加大到33Ω或47Ω如果发热严重且波形上升沿太慢再换用更强驱动芯片并适当减小Rg。这个顺序比背公式更贴近现场。3.2 下拉电阻、限流、钳位与米勒效应抑制栅极下拉电阻是另一个不能省的元件。单片机复位、下载程序、上电初始化期间I/O口可能是高阻或弱上拉状态。如果没有下拉电阻MOS栅极可能因为漏电流、耦合干扰慢慢充到阈值以上导致负载误导通。低边NMOS栅极对地接10k到100k电阻是常规做法既能泄放电荷又不会给驱动带来太大负担。高边PMOS栅极对源极也要接上拉电阻确保默认关断。下拉电阻的功耗也要算如果栅极驱动电压12V下拉10k驱动输出高电平时会有1.2mA额外电流虽然不大但在低功耗场合要权衡。栅极限流和钳位同样重要。长线驱动、感性负载、高压侧开关时栅极很容易被耦合出尖峰。可以在栅极和源极之间加一个15V或18V的齐纳二极管把Vgs钳在安全范围。注意齐纳二极管有结电容可能影响开关速度低频场合影响小高频场合要选低电容型号。栅极串联电阻可以分成开通和关断两路开通用一个电阻关断用一个二极管并联一个小电阻。这样开通慢一点降低dv/dt和EMI关断快一点减少拖尾损耗。这个技巧在电机驱动和电磁炉控制里很常见。米勒效应是栅极驱动里最隐蔽的敌人。MOS管开通时漏极电压从高变低Cgd会把栅极电荷抽走或注入形成米勒平台。如果驱动电流不足栅极电压会卡在平台附近漏极电流已经上来漏极电压还没降下去瞬时功耗很大。抑制米勒效应核心是提高驱动峰值电流、缩短栅极回路、减小Cgd耦合路径。有些电路会在栅极和源极之间加小电容牺牲一点开关速度换取抗dv/dt能力防止半桥上下管直通。半桥电路里死区时间设置和栅极电阻匹配尤其关键软件死区加硬件栅极电阻双保险。3.3 PWM频率、续流和散热估算PWM频率选择影响很大。直流电机驱动常用1kHz到20kHz低于1kHz可能听到电机啸叫高于20kHz超出人耳范围但开关损耗增加。加热丝控制可以用1Hz到100Hz因为热惯性大没必要高频。LED调光常用200Hz到2kHz太低会闪烁太高对驱动和布线要求高。电磁炉、可控硅类应用更特殊涉及过零触发和电网同步不是简单单片机I/O直驱MOS管能覆盖的必须按专用拓扑和安全规范做。选PWM频率时要同时看驱动能力、MOS管Qg、负载电感和允许纹波。感性负载必须加续流二极管。直流电机、继电器线圈、电磁阀在关断时会产生反向电压如果没有续流路径MOS管漏极会出现高尖峰可能雪崩击穿。低边NMOS驱动电机时续流二极管阴极接电源正极阳极接MOS漏极方向与电机反电动势相反。二极管要选快恢复或肖特基电流额定大于负载平均电流耐压大于电源电压加尖峰余量。如果电机需要正反转要用H桥续流路径由体二极管和外部二极管共同承担。继电器线圈可以并联续流二极管但要注意并联后会延长释放时间高频动作场合要评估。散热估算可以用热阻模型TjTaP×Rthja。假设MOS管功耗2WRthja50°C/W环境温度40°C结温约140°C已经接近很多器件的上限。如果加散热片Rthja降到10°C/W结温约60°C余量就大了。功耗来源主要是导通损耗和开关损耗。导通损耗PI²×Rds(on)开关损耗用前面公式估算。很多新手只算导通损耗忽略开关损耗结果低频轻载没事一上PWM就发热。选MOS管时SOA曲线也要看感性负载关断瞬间可能同时有高电压和大电流虽然时间短但超出SOA多次也会累积损伤。4. 从面包板到PCB的实操过程4.1 5V STC/51单片机驱动AO3400低边电机先拿一个可复现的小方案练手。目标是用STC51单片机P1.0输出PWM驱动一个5V小直流电机工作电流约200mA。选AO3400逻辑电平NMOSSOT23封装Vgs4.5V时Rds(on)约30毫欧5V驱动可以接受。电路连接单片机P1.0经过100Ω电阻接AO3400栅极栅极对地接10k下拉电阻源极接地漏极接电机负极电机正极接5V电源正极电机两端反并联一个肖特基二极管阴极接5V阳极接漏极。单片机电源和电机电源共地电机电源单独走粗线避免电机电流经过单片机地线。STC单片机需要把P1.0设置为推挽输出。传统8051准双向口输出高电平驱动能力弱推挽模式能提供更强拉电流。程序上用定时器产生PWM频率约1kHz到5kHz。代码示例#include stc8h.h void Timer0_Init(void) { TMOD 0xF0; TMOD | 0x01; TL0 0x66; TH0 0xFC; TR0 1; ET0 1; EA 1; } unsigned char duty 128; unsigned char count 0; void Timer0_ISR(void) interrupt 1 { TL0 0x66; TH0 0xFC; count; if (count 255) count 0; if (count duty) P10 1; else P10 0; } void main(void) { P1M1 ~0x01; P1M0 | 0x01; Timer0_Init(); while (1) { } }这个代码只是演示PWM思路不同STC型号寄存器名和定时器配置不同移植时要查手册。实测下来1kHz PWM、200mA负载AO3400基本不热栅极波形上升沿在几百纳秒级别。如果发现电机启动时单片机复位优先检查地线布局和电源去耦电机两端加0.1uF陶瓷电容和电解电容电源入口加100uF以上电解电容。面包板上电机电流回路长地弹明显能画PCB就画PCB至少把电机电源线和信号线分开走。4.2 3.3V单片机驱动IRF540推挽加驱动芯片方案升级到3.3V单片机驱动IRF540控制12V、5A直流电机。IRF540的Qg大约70nCRds(on)标称在Vgs10V下约44毫欧3.3V或5V直驱都会让它工作在半开状态。方案是3.3V单片机PWM输出接TC4420低边驱动芯片输入TC4420供电12V输出经过10Ω栅极电阻接IRF540栅极栅极对地10k源极接地漏极接电机负极电机正极接12V续流二极管用MBR20100。TC4420输入高电平阈值约2.4V3.3V可以可靠触发输出峰值电流几安培能给IRF540栅极快速充放电。这个方案里驱动芯片电源去耦很关键。TC4420的VCC和GND之间要放一个1uF陶瓷电容和一个10uF电解电容越靠近芯片越好。驱动芯片的地要单独回到MOS管源极不要和单片机地混在一起再绕远路。栅极电阻10Ω实测栅极上升沿约100ns到200ns米勒平台很短IRF540在5A下压降约0.25V功耗约1.25W需要加小散热片或者铺铜散热。如果PWM频率20kHz开关损耗也要算进去总功耗可能到2W左右TO220封装不加散热片会烫。电机两端继续加续流二极管和RC吸收降低尖峰。如果要做高边开关比如控制电磁阀正极IRF540放在高边就不行了需要IR2104加自举。自举二极管选快恢复如UF4007自举电容1uF左右耐压大于12V。IR2104的HIN和LIN输入接单片机注意上下管死区。电磁阀关断时反电动势大高边NMOS的源极电压会低于地可能把自举电容和驱动芯片拉坏所以电磁阀两端必须加续流二极管必要时加TVS钳位。高边电路的调试比低边复杂建议先用低边方案验证控制逻辑再换高边。4.3 示波器看栅极波形四个特征判断驱动是否到位调试单片机I/O口驱动MOS管示波器比万用表有用得多。测栅极波形时探头地线要用弹簧地针不要用长鳄鱼夹长地线会引入振铃让你误判电路。第一个特征是幅值低边NMOS栅极高电平应该接近驱动电压比如12V驱动芯片输出栅极应该在10V到12V之间如果只有5V说明驱动级或电源有问题。第二个特征是上升沿应该快速上升不能有明显圆弧拖尾如果上升时间超过1微秒而PWM周期只有50微秒就要考虑换驱动。第三个特征是米勒平台平台越短越好平台期间电压几乎不涨但时间过长说明驱动电流不足。第四个特征是关断沿关断应该干净落到0V附近不能残留1V到2V否则MOS可能没有完全关断。实测中如果栅极波形有高频振铃先缩短栅极回路再适当加大Rg如果振铃频率很高且幅值超过20V要加钳位。如果上升沿慢但振铃小可以考虑减小Rg或换更大峰值电流的驱动芯片。如果关断时栅极电压下不去检查下拉电阻是否焊接、驱动芯片是否共地、源极回路是否有公共电感。电机负载下还要在电机运行时测波形空载波形好看不代表带载没问题。带载时地弹和dv/dt耦合会更严重很多问题只有在电机启动、堵转、换向时才暴露。5. 常见问题与排查技巧实录5.1 MOS管发热、关不断、误导通按这个顺序查MOS管发热是最常见的问题但原因不止一种。排查顺序我习惯从驱动开始先看栅极电压幅值够不够再看上升下降时间再看PWM频率和负载电流最后看散热。如果栅极电压只有4V而MOS管需要10V发热是必然的如果栅极波形良好但依然发热算一下导通损耗和开关损耗看看是否超过散热能力如果空载不热、带载就热重点查续流二极管和负载电流是否超出预期。还有一种隐蔽情况MOS管买到了假货或翻新货Rds(on)远大于手册值替换正品后温度立刻下降。MOS管关不断表现为输出低电平后负载仍有电流。先查栅极下拉电阻是否安装阻值是否太大再查驱动芯片输出低电平是否真的到0V有些驱动芯片关断时输出高阻需要外部下拉再查MOS管源极和漏极是否接反体二极管可能提供意外通路如果是高边PMOS查上拉电阻和反相三极管是否漏电。米勒效应也会导致关不断半桥电路中下管关断时漏极电压快速上升通过Cgd耦合到栅极可能把栅极重新抬到阈值以上形成直通。解决办法是加负压关断、加大栅极下拉、调整死区。误导通通常发生在上电、复位、插拔线缆时。单片机I/O在上电初期是高阻如果栅极没有下拉MOS管可能被干扰触发。解决方法是栅极对地或对源极加10k下拉软件初始化时先把I/O置为关断电平再配置外设。长线连接时栅极线容易拾取干扰可以加RC低通或者磁珠但要注意不要拖慢开关速度。如果负载是电机或继电器关断尖峰会通过空间耦合到栅极MOS管附近加TVS和吸收电容会有帮助。排查时可以用示波器单次触发捕捉上电瞬间栅极波形比反复猜有效。5.2 常见问题速查表现象可能原因快速排查解决方向MOS管轻微发热驱动电压不足工作在半开区测Vgs高电平幅值加驱动芯片或推挽选逻辑电平MOSMOS管严重发热开关损耗大、PWM频率高、Rg过大测上升下降时间算开关损耗减小Rg增强驱动降低频率加散热关不断栅极残压、下拉缺失、驱动高阻关断时测Vgs加10k下拉换带主动关断的驱动上电误导通I/O高阻栅极拾取干扰单次触发看上电波形栅极下拉软件先置关断缩短走线电机启动单片机复位地弹、电源跌落测单片机VCC和地线分离功率地加去耦粗线供电栅极振铃严重回路电感大Rg太小弹簧地针测Vgs缩短回路加大Rg加钳位高边驱动不工作自举电容未充电或容量不足测自举电压检查自举二极管和电容降低PWM占空比限制半桥上下管直通死区不足米勒耦合测上下管栅极时序增加死区调整Rg负压关断光耦驱动发热光耦速度慢上升沿拖尾测光耦输出波形换高速光耦加推挽放大带载后波形变差功率地干扰信号地对比空载和带载波形单点接地开尔文源极加吸收注意表格里的“快速排查”只是缩小范围最终都要回到示波器波形和手册参数不能凭感觉换件。5.3 我的避坑清单布局与测量布局上栅极驱动回路面积要尽可能小。驱动芯片输出、栅极电阻、MOS栅极、源极、驱动芯片地这个环路包围的面积越大寄生电感越大振铃越严重。PCB上把驱动芯片放在MOS管旁边栅极电阻紧贴栅极源极和驱动地就近连接。电流采样电阻要用开尔文接法采样线从电阻焊盘内侧引出不要和功率电流走同一段铜箔。散热铜箔可以和漏极相连但要注意漏极是高压开关节点铜箔面积大可以散热也会增加电容耦合必要时用绝缘垫片加散热片。测量上测低边MOS的Vgs探头地接源极探针接栅极这是差分测量普通探头地夹不能随便接。测高边MOS的Vgs更需要差分探头或者用两个探头相减。测漏极电压时要确认探头耐压和衰减档位高压场合必须用高压差分探头。很多“电路问题”其实是测量方法造成的比如用长地线测栅极看到一堆振铃换了弹簧地针就干净了。还有示波器带宽不要低于100MHz低频电路虽然信号慢但振铃频率可能很高带宽不够会看不到真实尖峰。软件上PWM启动建议加软启动占空比从0慢慢加到目标值避免电机启动瞬间大电流冲击。换向或正反转时先关断再切换插入死区时间。对于51单片机定时器中断里不要做复杂运算PWM占空比更新放在主循环或低优先级中断。如果使用STC的PCA或高级PWM要查手册配置引脚切换和死区寄存器。门禁锁、电磁阀这类负载软件上可以加吸合后降低占空比保持减少线圈发热但要注意保持电压足够不能让锁自动弹回。6. 扩展场景电机、电磁炉、门禁锁里的驱动差异6.1 直流电机与小车测速PWM低边加续流加测速反馈直流电机是单片机I/O口驱动MOS管的典型场景。小车测速一般用霍尔传感器或光电编码器电机驱动用低边NMOS加PWM。电机是感性负载PWM关断时电流不能突变续流二极管必须提供回路。如果电机正反转用H桥四个MOS管组成两个半桥高边需要自举或PMOS。H桥的死区时间非常关键上下管同时导通会瞬间烧管。软件死区通常设置几百纳秒到几微秒具体看MOS开关速度。电流采样可以用低边采样电阻配合运放送单片机ADC做堵转保护。小车测速时PWM频率和编码器采样要配合。如果PWM频率太低电机电流纹波大转速波动太高开关损耗大驱动芯片发热。常见选择是8kHz到16kHz避开音频噪声。编码器脉冲用外部中断或定时器计数定期计算转速。遇到电机启动时单片机复位除了地线布局还要检查电池供电能力。电机启动电流可能是额定电流的几倍电池内阻大会导致电压跌落单片机低压复位。电源入口加大电容单片机和电机分别供电共地单点连接能解决大部分问题。6.2 加热丝、电磁炉、门禁工频、可控硅与MOS的边界加热丝控制可以用MOS管做低频PWM因为热惯性大开关频率几赫兹到几十赫兹都行。但加热丝冷态电阻小启动电流大MOS管要按冷态电流选不能只按额定功率算。如果是220V市电加热绝不能直接用低压MOS管和单片机I/O驱动必须用继电器、可控硅或专用固态继电器并且做好隔离和安规。电磁炉更复杂涉及谐振、过零检测、高压大电流通常用IGBT和专用驱动不是普通单片机I/O直驱MOS管的范畴。初学者不要为了省钱去碰市电直驱安全风险太高。门禁锁、电磁锁通常用12V或24V供电电流几百毫安到几安培。低边NMOS可以驱动但锁是感性负载必须加续流二极管。电磁锁关断时反电动势可能把MOS漏极打到几十伏二极管和TVS要选够。门禁系统还要求断电开锁或断电闭锁要查锁的类型。如果MOS管失效短路锁会一直吸合可能造成安全问题所以高可靠性场合要用带保护的高边驱动芯片甚至加继电器冗余。单片机I/O口驱动MOS管在这里只是执行级前面还要有电源管理、通信、看门狗和故障检测。我自己的经验是把MOS管栅极当成一个需要快速充放电的电容把驱动回路当成一个小型射频回路把地线当成整个系统的参考基准很多发热、误导通、波形振铃的问题就会变得有迹可循。先用低边NMOS加逻辑电平MOS管做小负载验证再逐步加驱动芯片、加隔离、加自举最后再上大电流和高压。每次改电路只动一个变量用示波器记录栅极和漏极波形比一次性堆一堆元件再猜问题要快得多。
返回列表