三极管推挽电路从原理到实战:8050与8550互补驱动及交越失真 我相信很多入门电子的朋友第一次听说“推挽电路”的时候脑子里都是一个画面两只三极管被绑在一块儿轮流干活一推一拉把信号送出去。等自己真正动手搭电路的时候才发现光是搞明白用NPN还是PNP、静态电流怎么调、交越失真怎么消除就能折腾掉好几个晚上。这个项目标题问的是“什么是三极管推挽电路”但说实话网上讲这玩意的资料很多能从头到尾把原理、计算、实操、踩坑串起来讲明白的却不多。我这些年做过音频功放、电机驱动、串口电平转换甚至还在反激电源的辅助供电电路里跟一堆三极管打过交道几乎处处都能看到推挽的身影。这篇文章我就从最基础的三极管导通原理讲起结合8050和8550这对最常见的互补管把推挽电路的原理、设计、实战场景以及和MOS管的对比一次性说透。无论你是刚学完“三极管三种工作状态”的新手还是在纠结“图腾柱驱动MOS管”的老手这篇都能给你一些书本之外的经验。1. 推挽电路到底在解决什么问题1.1 先把三极管导通这件事彻底说透要理解推挽电路绕不开三极管本身的工作机制。NPN和PNP虽然长相不同驱动极性相反但本质上都是电流控制器件像一个受控的水阀基极电流就是那个“开阀信号”集电极和发射极之间流通的电流则是“主管道的水流”。对于NPN管比如8050导通条件是集电极电压要高于发射极同时基极相对发射极要有一个正向偏压通常硅管约0.6到0.7V。这时只要从基极注入一点点电流就能控制从集电极流向发射极的大电流。而对于PNP管比如8550极性刚好反过来发射极电压要高于集电极基极相对发射极要有负向偏压电流方向是从发射极流向集电极。很多人记不住这俩管子的导通方向我教大家一个土办法箭头的方向就是电流的方向。NPN的箭头是“指向外面”的电流从基极流进、从发射极流出PNP的箭头是“指向里面”的电流从发射极流进、从基极流出。实际上你可以把整个三极管工作状态分为截止区、放大区、饱和区三个区域。推挽电路里的三极管通常要么工作在截止区不导通要么工作在放大区或饱和区导通并输出信号不会长期停留在某一个固定状态。但这里有个关键点也是新手最容易忽略的三极管是电流放大器件放大倍数是hFE也就是β值。跟MOS管那种电压控制不同你给三极管基极供多大电流它集电极才能流过对应倍数的电流。想要8050完全饱和导通、压降降到很低基极电流至少要达到集电极电流的十分之一左右这就是所谓的“过驱动”技巧。很多推挽电路看着简单实际上基极限流电阻的取值、基极驱动能力够不够直接决定了整个电路的性能上限。1.2 单个三极管的局限为什么必须推挽那单只三极管能不能完成信号放大和驱动任务能但很别扭。我们举个例子用一只NPN三极管搭一个射极跟随器信号从基极输入从发射极输出。正半周的时候基极电压升高管子导通输出电压能跟着输入走这叫拉电流source输出电流从电源经三极管流入负载。但到了负半周基极电压降低NPN管的发射结偏压不足管子趋向截止负载上的电流只能靠其他路径提供输出波形会明显被削掉下半部分。这就是单管输出级最致命的问题不对称。换句话说一个管子只能“推”或者只能“拉”不能同时干两件事。想让负载在正负两个半周都被驱动得干干净净最好的办法就是找两个特性对称的管子一个负责正半周把输出节点往上推一个负责负半周把输出节点往下拉一个干活的时候另一个休息轮流接力合在一起完成整个周期的输出。这种“两个管子一推一拉”的结构英文叫push-pull翻译成“推挽”非常形象。推挽电路的核心价值在于它解决了单管驱动能力不对称的问题提高了输出效率同时降低了静态功耗。两个管子在静态时基极几乎不流过电流输出端静止不动只有输入信号到来时才交替导通输出能量这与甲类放大那种“始终导通、随时发热”的工作方式完全不同。1.3 推挽电路的三种常见形态推挽电路听起来只有一种实际用起来有好几个变种搞混了会很麻烦。第一种是互补推挽也是最常见的形态就是用一只NPN和一只PNP配对典型组合就是8050配8550或者2SC1815配2SA1015。两只管子的基极连在一起作为信号输入端发射极连在一起作为输出端集电极分别接电源正极和地或负电源。靠输入信号自身的极性变化来自动决定哪只管导通实现“互补”输出。第二种是同极性推挽也就是用两只NPN或两只PNP配合变压器来实现倒相。这种方案在早期的音频功放里非常多见输入变压器把信号变成两个相位相反的信号分别驱动两只同极性三极管变压器次级再把两个半周的输出合并起来。缺点是变压器体积大、频率响应受限现在基本被互补推挽取代。第三种是准互补推挽常见于大功率OCL功放电路中。因为大功率NPN管好找但大功率PNP管又贵又少设计师就采用前级互补驱动后级同极性的组合用两只大功率NPN作为输出管前级用互补小信号管来驱动。普通电路设计很少用到这么复杂的结构但在音响发烧友圈子里这属于必修课。不管选哪种形态推挽电路的精髓是一致的两个管子交替导通在输出端合成完整的信号波形提高驱动能力和效率。理解了这一点后面看什么电路都能举一反三。2. 8050和8550搭建的经典互补推挽电路2.1 电路结构与工作原理逐段拆解提到三极管推挽电路最经典、最常见的范例就是用8050NPN和8550PNP这对兄弟管搭的互补输出级。为什么常用这对管子因为8050和8550的参数高度对称集电极最大电流Icm都在1.5A左右耗散功率约1W特征频率足够覆盖音频和一般低频应用而且价格便宜得可以忽略不计到处都能买到。一个最简的互补推挽输出级电路结构是这样的电源正极接8050的集电极电源负极或地接8550的集电极8050的发射极和8550的发射极连在一起作为输出端OUT两只管的基极连在一起作为信号输入端IN。这就是一副骨架。当输入信号在正半周时IN端电压升高。对于8050这个NPN管来说基极电压高于发射极发射结正偏它开始导通输出电流从电源正极经过8050流向负载把输出节点向上“推”。与此同时8550这个PNP管的基极电压也在升高但它的发射极接的是输出端此时输出端电压跟随着基极一起升高基极-发射极之间反偏所以8550截止不掺和。负半周时正好反过来IN端电压降低8050的发射结偏压不足趋向截止而8550的发射极电压高于基极PNP管发射结正偏8550导通负载电流反向从地或负电源经8550流向输出端把输出节点向下“拉”。就这样8050和8550各管半个周期正负交替完成了整个信号的传输。这里要特别强调一下输入信号的电压幅度必须足够覆盖两只管的导通门槛。以5V单电源供电为例8050的发射结需要大约0.7V的正向压降才能导通8550的发射结需要约0.7V的反向压降对PNP来说是正偏才能导通所以输入信号需要足够“高”和足够“低”才能让两只管正常工作。如果你输入的是一个0到3.3V的数字信号后面接的却是5V供电的推挽电路8050始终导通、8550始终截止输出波形必然出问题。这种压摆不匹配的情况我在调试电平转换电路时踩过不止一次。2.2 交越失真推挽电路最典型的坑不带偏置的最简推挽电路看起来结构很简单接上就能用但实际输出波形一上示波器你会发现中间过零点附近有一小段“平台”就像正弦波被掐了一刀。这就是传说中的交越失真。交越失真的本质是两只管子各有一个0.6至0.7V的死区电压。当输入信号在零点附近徘徊时信号幅度低于NPN管的导通门槛也低于PNP管的导通门槛此时两个管子都处于截止状态输出端就像断了线的风筝既不往上推也不往下拉。结果就是正半周和负半周之间出现了一段输出“空白”波形自然就被破坏了。要想消除交越失真核心思路是让两只管子在静态时就处于微导通状态也就是给基极叠加上一个固定偏压让输出管“齐射待命”。一旦输入信号有微小变化立即有对应的管子响应不会出现双管截止的真空期。最常见的做法是在两个基极之间串联两个二极管或一个二极管加一个电阻利用二极管约0.7V的正向压降在静态时给8050和8550的基极各提供一个约0.6V至0.7V的偏压。此时两只管子都处于微导通状态集电极电流虽然很小但已经跨过了死区门槛。输入信号来了之后输出波形就能平滑地从正半周过渡到负半周交越失真大幅减小。如果你用万用表量静态时输出端对地的电压应该在电源电压一半左右这就是两只管子“对称待命”的标志。加上偏置后还要留意一个副作用静态功耗会有所上升。因为两只管子都在微导通电流从电源正极经8050、8550流向地形成了所谓的“静态贯通电流”。偏置调得越大静态电流越大管子越热。对于小功率应用静态电流控制在几个毫安以内问题不大如果是大功率功放就必须用恒压偏置电路来精确稳定这个电流防止热失控。2.3 偏置电阻怎么选不靠猜靠算很多初学推挽电路的朋友问的第一句话就是“基极电阻到底用多大”答案不是凭感觉而是根据你期望的静态电流算出来的。我带大家走一遍完整的计算流程。假设采用5V单电源供电负载是一个8欧姆的喇叭用二极管加电阻的偏置方式。我们希望静态时每一只管的集电极电流ICQ约为5mA这个值足够克服交越失真又不至于让管子发热太严重。8050和8550的hFE在中等电流下大约在100到300之间我们取一个保守值150。先算基极静态电流IBQ ICQ / hFE 5mA / 150 ≈ 0.033mA也就是33微安。这个电流非常小但已经足以让发射结处于微导通状态。偏置网络的设计目标是在两个基极之间建立大约1.2至1.4V的电压差两个PN结压降同时能向基极供给这个33微安的电流且压差不随温度漂移太厉害。用两只二极管串联的话本身就有约1.4V压降刚好合适。如果你用“二极管电阻”的组合电阻要选得让流过它的电流远大于基极电流一般取10倍以上。流过偏置网络的电流至少取0.5mA则限流电阻R (5V - 1.4V) / 0.5mA ≈ 7.2千欧可取标称值6.8千欧或8.2千欧。但这里有个容易踩的坑上述计算只适用于纯小信号放大。如果你做的是功率输出级8050和8550需要向负载提供几百毫安甚至更大的电流基极电流就必须相应增大到几毫安甚至几十毫安。此时前面的偏置网络根本供不出这么大的基极电流会严重影响输出驱动能力。所以实际功放输出级前面还需要加一个电压放大级先放大电压和电流再驱动互补推挽输出级。千万别指望一个简单的互补输出级直接吃下大信号。3. 推挽电路在实战中的经典应用场景3.1 电平转换用三极管把1.8V信号抬到3.3V嵌入式开发中经常遇到1.8V单片机与3.3V外设通信的情况最常见的就是UART串口。直接连接会导致高电平不够高、逻辑混乱甚至烧毁器件这时就需要电平转换电路。用三极管做单向电平转换最经典的是一种近乎推挽的接法NPN三极管发射极接地基极通过电阻接1.8V信号端集电极通过上拉电阻接3.3V电源输出从集电极引出。这种电路本质上是共射极开关不算严格意义上的推挽但它能实现“1.8V低电平输入时输出被拉低、1.8V高电平时输出被上拉到3.3V”的效果。不过如果要追求更低的输出阻抗、更强的高电平驱动能力很多人会采用两个三极管搭成的“互补电平转换电路”一只NPN负责把信号翻转并拉低输出一只PNP负责把输出上拉到高电平。当输入为低时NPN截止PNP的基极被下拉PNP导通输出被强力拉到3.3V当输入为高时NPN导通输出被拉低同时PNP截止。这种结构就是推挽思想在电平转换中的直接应用——两只管子轮流把输出端拉到高或低保证输出波形的上升沿和下降沿都比较陡峭尤其在波特率较高的串口通信里波形好坏直接决定了通信是否稳定。这里给新手一个经验做1.8V转3.3V串口电平时基极串联电阻选4.7千欧到10千欧之间比较合适上拉电阻选1千欧到4.7千欧同时注意信号方向。三极管电平转换是单向的UART的TX、RX两条线必须分开各做一个电路不能像I2C那样一根线双向复用。3.2 三极管控制电机与开关电路中的推挽思想推挽电路另一个常见场景是直流电机驱动。很多人觉得电机控制很复杂其实拆开来看核心就是一个H桥而H桥的每个桥臂都可以看成是推挽结构的一个部分。用8050和8550搭一个简易的电机驱动电路可以用两只NPN和两只PNP组成H桥实现对直流电机的正反转控制。电机两端各接一个“高边管”和“低边管”当左上NPN和右下NPN导通时电流从左往右流过电机电机正转换另一对管子导通电流方向反过来电机反转。这种全桥驱动本质上就是在用推挽原理控制电机两端电压的极性和大小。但驱动电机和驱动喇叭有一个显著区别电机是感性负载。切断电流的瞬间电感会试图维持原来的电流方向产生很高的反向电动势如果回路里没有续流二极管这个反电动势很容易击穿三极管。所以不管是用推挽电路还是H桥驱动电机都必须在电机两端并联续流二极管或者在三极管内部寄生二极管的基础上外加快速恢复二极管。我一开始用8050/8550搭H桥驱动小电机时没加续流二极管结果管子烧了好几只后来才意识到问题出在反电动势上加了1N5819后再也没烧过。另一个值得注意的点是三极管开关电机时如果基极驱动电流不够管子进入不了饱和区而是停留在放大区那么管压降会很大功耗集中在三极管上发热严重。所以给电机这类大电流负载做开关控制时基极电流一定要按“集电极电流的十分之一”这个经验法则取宁可多给一点也要确保管子饱和压降低。3.3 呼吸灯电路三极管与PWM的配合呼吸灯是另一个很有代表性的三极管应用场景网上搜“三极管呼吸灯电路”能找到一堆资料但很多人只抄电路、不懂原理做出来波形不对也不知道怎么调。典型的三极管呼吸灯电路是用一个PWM信号去控制三极管的导通程度让LED的亮度按预期周期渐亮渐灭。单片机输出的PWM波不能直接驱动大功率LED需要通过三极管做功率放大。用8050作为下管的开关电路PWM从基极输入LED串接在集电极和电源之间发射极接地。PWM占空比从0%逐步增加到100%LED由暗变亮再从100%降到0%LED由亮变暗模拟呼吸效果。如果你想让灯的亮度变化更平滑或者想驱动更长的LED灯带单管可能驱动能力不够此时就会用到推挽结构从PWM端口接一个互补推挽缓冲级再用两只管子一起驱动多路LED灯带。这种缓冲级能提供更大的瞬态电流让LED在快速切换时不会出现明显的闪烁和拖影。呼吸灯电路的调试重点在PWM的频率和占空比变化速率。频率太慢会看到明显的闪烁太快了LED的开关损耗会增大。我一般是把PWM频率设在1kHz到5kHz之间占空比变化速率控制在每10到20毫秒变化1%呼吸周期大约2到3秒效果最自然。同时基极串联电阻和集电极限流电阻要匹配好不能让三极管在大电流下长时间工作在放大区。3.4 反激电源VCC供电旁边那一堆三极管跟推挽有什么关系有朋友搜到“为什么有些反激式开关电源VCC供电这么多三极管”感到困惑电源芯片附近怎么围了一圈三极管其实这些三极管各有分工和推挽电路有千丝万缕的联系但并不是所有组合都是推挽结构。反激电源刚上电时芯片的供电VCC还没有建立需要从高压侧取电。这个功能通常由一个启动电阻完成电流慢慢给VCC电容充电到芯片启动门限。芯片启动后辅助绕组接管供电此时可能经过一个开关管通常是NPN来调节辅助绕组的输出电压稳定在芯片正常工作范围内。这个开关管配合稳压管就构成了一个线性稳压器负责把辅助绕组较高的电压降到一个合适值。有些电源还会在VCC引脚附近加一个三极管做欠压保护或过压钳位当VCC电压异常升高时快速导通把多余能量泄放掉保护芯片不被烧毁。另一些设计则会在VCC供电路径上用推挽结构目的是加速启动、降低损耗。比如用一只小功率PNP做线性调整管配合NPN做控制管形成一个简单的稳压环路就具备了一定的“推”和“拉”能力。所以看到电源板上一堆三极管不要慌先逐步分析每个管子连接到哪里、起什么作用。很多电路设计看起来复杂拆解后无非就是启动、供电、稳压、保护这几个功能。想用推挽思维去分析它们关键是先找输出节点再看哪只管负责往上推、哪只管负责往下拉逻辑一下就理顺了。4. 三极管推挽与MOS管推挽米勒电容不容忽视4.1 米勒电容到底是什么热词里有一条是“三极管和MOS管的米勒电容”这其实是很多人在设计高频开关电路时踩坑的地方。先解释一下米勒电容MOS管的栅极和漏极之间存在一个寄生电容叫Cgd。当栅极电压变化时漏极电压也会跟着变化这个电容会把漏极的电压变化耦合回栅极导致栅极充电过程出现“平台”现象这就是工程师常说的米勒平台。三极管也有类似的问题基极和集电极之间存在寄生电容Cbc即米勒电容。但在低频应用里这个电容的影响不大大家几乎感觉不到。真正让米勒电容成为焦点的是MOS管驱动的场景当你要用单片机IO口直接驱动一个大功率MOS管时如果IO口的驱动能力不足栅极充电速度慢米勒平台时间拉长MOS管会长时间工作在放大区开关损耗急剧增加管子发热甚至烧毁。4.2 用推挽电路驱动MOS管栅极图腾柱驱动为了解决MOS管栅极驱动能力不足的问题工程师想到了一个推挽方案用两个三极管搭一个图腾柱totem-pole驱动级用来“猛推猛拉”MOS管的栅极电容。典型的图腾柱驱动电路是这样的一只NPN的集电极接正电源发射极接MOS管栅极一只PNP的集电极接地或负电源发射极也接MOS管栅极两个基极连在一起由前面的控制信号驱动。当控制信号为高时NPN导通快速将栅极电压往上拉当控制信号为低时PNP导通快速将栅极电荷泄放掉把栅极往下拉。这种推挽结构能提供很大的瞬态充放电电流让MOS管的开关过程非常迅速减少米勒平台持续时间大幅降低开关损耗。这里有个关键点三极管图腾柱驱动和前面讲的三极管互补推挽输出级画法几乎一模一样但工作状态有区别。在互补输出级中两只管子可能工作在放大区用以线性放大信号而在图腾柱驱动中两只管子工作在大信号开关状态追求的是“快、准、狠”。所以图腾柱驱动级的基极驱动电流、深度饱和状态、基极限流电阻都要按开关应用来设计。从公式角度理解MOS管的栅极充电过程满足Qg ∫Ig dt其中Qg是栅极总电荷Ig是栅极驱动电流。想要的开关速度越快需要的驱动电流越大。普通单片机IO口只能提供几毫安的电流而推挽图腾柱驱动级可以提供几百毫安这就是为什么高速开关电路几乎都会加一级图腾柱驱动。4.3 三极管推挽和MOS管推挽怎么选很多朋友在设计推挽电路时纠结到底用三极管还是MOS管其实两者各有优劣选型要看具体的应用场景。从输入阻抗来看MOS管的输入阻抗极高栅极几乎不消耗直流电流驱动电路主要是给寄生电容充放电而三极管是电流控制器件基极必须持续提供电流才能维持导通驱动电路本身要有一定的输出能力。因此在驱动端MOS管通常更好驱动但在开关速度上三极管不存在那么明显的米勒电容平台某些小信号场合反而更简单。从导通压降来看三极管饱和压降大约是0.2V到0.3V工作在大电流下时基本稳定MOS管在低压大电流场合如果用普通管子导通电阻产生的压降可能比较大但低导通电阻的MOS管在大电流下效率更高。音频功放的输出级很多人偏爱三极管就是因为它压降特性听起来“暖”而开关电源里的同步整流、电机驱动等高频大电流场合MOS管几乎是唯一选择。我给一个快速选型表可以帮你根据应用场景快速做决定维度三极管BJTMOS管控制方式电流控制电压控制输入阻抗低需基极电流极高栅极几乎无直流电流导通压降饱和压降约0.1-0.3V取决于导通电阻Rds(on)开关速度一般受存储时间限制快但受米勒电容影响过流能力受hFE限制需基极驱动可并联电流能力强价格便宜略贵典型应用音频放大、小功率驱动、电平转换开关电源、大功率驱动、高频逆变静态损耗有基极电流损耗栅极几乎无损耗如果你的应用场景是音频信号放大、低速开关、电平转换用三极管推挽简单可靠如果是高频开关电源、高速电机控制、大功率DC-DC那就不要纠结三极管了MOS管配图腾柱驱动才是正解。5. 推挽电路实操中的常见问题与排查技巧5.1 三极管发烧甚至烧毁先查这三个地方做推挽电路时最大的挫败感来源就是三极管莫名其妙地发烫甚至闻到了糊味。根据我这些年踩坑的经验三极管烧毁绝大多数是以下三个原因之一第一个原因是基极限流电阻缺失或取值过小。推挽电路的两个基极直接连在一起如果输入环路中没有任何限流电阻基极电流可能被拉到很大导致三极管过流烧坏。尤其当输入信号电压较高时这个风险是致命的。处理方法是无论信号源是什么都要在两个基极和信号源之间串联电阻一般取1千欧到10千欧之间小信号放大可以取大一点功率驱动取小一点。第二个原因是负载短路或过流。不少朋友在调试电机、喇叭、LED灯带时输出端对地短路瞬间电流超过三极管Icm直接把管子击穿。8050和8550的极限电流是1.5A看起来不小但如果你用5V电源驱动一个1欧姆的低阻负载电流瞬间就能到5A三极管根本扛不住。务必在电源端加限流措施或者选用更大电流容量的管子。第三个原因是感性负载的反电动势。我在驱动继电器、电磁铁、电机时烧过好几次管都是没加续流二极管。线圈断电瞬间产生的反向电压可以轻松超过三极管的耐压值导致击穿。解决方案很简单感性负载两端反向并联一个快速恢复二极管或肖特基二极管比如1N4148、1N5819把反电动势钳位住。5.2 输出波形不对称、波形畸形从哪里入手查推挽电路搭好后用示波器观察输出波形如果发现正半周和负半周幅度不一致或者出现了平台、切顶、振铃等现象需要按顺序排查。先看电源是否对称。如果你用双电源供电正负电源的电压差会引起正负半周不对称如果单电源供电输出端静态电压偏离电源电压一半也会出现正负半周幅度不一。用万用表量一下静态输出端电压和电源电压确认工作点是否正常。再看偏置是否合适。交越失真严重说明静态偏置电流太小两个管子存在“交接班空档”如果静态电流太大管子温度会持续升高严重时还会进入热失控。这就要重新调整偏置电阻让静态输出电流处在一个合理的范围内。再看负载是否合适。如果推挽电路的驱动能力远小于负载需求正半周时负载把输出端电压“压垮”波形会顶部削平。这时需要减小负载电流或者换用更大功率的三极管又或者在输出端加一级功率放大。最后看输入信号幅度是否超过电源范围。如果输入信号峰值太接近电源轨输出波形的顶部或底部会被电源电压卡住出现削波。这种情况通常发生在音频功放的“响度”追求上要合理设计增益和电源电压给信号留足动态余量。5.3 9013、2N5089能不能直接替换8050和8550有朋友问“我手头只有9013和2N5089能不能替换8050和8550”答案是分场景不能一概而论。9013的NPN管极限电流和耐压都比8050低一些如果用在小信号电平转换、音频前置放大、小功率推挽输出9013完全可以胜任。但如果是驱动电机、喇叭这类大电流负载9013就明显力不从心很容易过流烧毁。2N5089则是一个低噪声、高增益的小信号管hFE可以达到几百甚至上千非常适合做音频前置放大但它毕竟不是功率管不能指望它去驱动大功率负载。替代时的核心参数对照如下表参数8050855090132N5089类型NPNPNPNPNNPNVceo25V25V20V25VIc1.5A1.5A0.5A0.1AhFE100-300100-300100-300400-900典型用途功率驱动功率驱动小信号开关低噪声放大替换的原则很明确看你的驱动电流、耐压、频率需求。驱动小负载、做小信号处理代换起来很自由驱动大功率负载就老老实实选Icm大于负载电流1.5倍以上的管子。如果你不确定最稳妥的办法是看数据手册里的SOA安全工作区曲线但那是另一个很深的话题了。5.4 推挽电路的基极电阻怎么配平衡最后分享一个很多教程不会讲的细节推挽电路两只三极管基极回路的电阻要尽量保持对称。理论上NPN管和PNP管的基极-发射极压降都是约0.6至0.7V但实际型号之间存在离散性如果两路的基极电阻相差很大静态工作点就不对称输出波形会偏向某一侧造成直流偏移。举个实例我调试一个用8050和8550搭的缓冲电路时NPN基极接了一个10千欧电阻PNP基极接了一个1千欧电阻结果输出端静态电压偏到了4.2V电源5V时正负半周明显不对称。后来把两个电阻改成相同的4.7千欧静态电压回到了2.5V附近波形恢复正常。所以凡是互补对称的推挽电路元件参数选择一定要“对称优先”这个习惯能帮你省掉很多调试时间。另外如果你用的是两个二极管做静态偏置最好选两个特性一致的二极管或者直接用现成的“双二极管共阴/共阳”封装保证两只输出管的偏置电压一致。还有一点偏置二极管要紧贴输出管安装利用热耦合来稳定静态电流。小功率电路无所谓大功率功放就非常讲究这一点否则温度漂移会导致静态电流失控。我从第一次搭8050和8550的推挽驱动电路到现在已经数不清多少次被示波器上的畸形波形折磨得头大。但坦白讲正是这些踩坑经验让我把三极管工作原理、导通条件、偏置设计、负载特性这些事情真正串了起来。推挽电路就像一个很好的缩影它把模拟电路里的很多核心概念浓缩在一起极性、偏置、死区、饱和、功耗、失真正。弄懂了它你再去看MOS管驱动、音频功放、开关电源很多原来觉得玄乎的东西都会变得顺理成章。如果你正卡在某个波形不正常的推挽电路上别急拿万用表和示波器一步步量把工作点算清楚把每个管子的导通条件核实一遍问题往往会自己浮出水面。