上周翻元件盒,翻出一把S8550三极管和几颗3.6V稳压管,手上正好有一块需要稳定5V供电的LED灯板。本来随手就能用LM1117解决,但想想天天用集成LDO,却没真正把“LDO工作原理”吃透过,于是决定用分立元件手搓一个5V LDO出来。
整个项目从电路设计、面包板验证到PCB打样,前后折腾了三个晚上。这篇文章把完整的原理图网络、元件参数、PCB布局要点和实测数据都摊开来讲,适合想搞懂三极管LDO电路、准备自己做线性稳压电源的电子爱好者和入门工程师。看完你不仅能复刻这个电路,更重要的是知道每个电阻、每个管子在这个反馈环路里到底在干什么。
1. 先厘清动机与边界:这只“手搓LDO”到底能干什么
1.1 为什么放着现成芯片不用
市场上几毛钱的LDO芯片一抓一大把,LM1117、HT7550、ME6206,都是三脚件,焊上去就能用,精度和稳定性还比我手搓的强。那为什么还要用两个三极管加一个稳压管去做一个“劣化版”LDO?
我的理由很直白:所有集成LDO的内部结构就是基准源、误差放大器、调整管和反馈网络这四个部分,芯片把误差放大器和调整管封装在了一起。手搓一次,等于把这层封装撕开,逼自己重新审视三极管在反馈环路里怎么工作。这些东西看一百遍原理图不如亲手搭一次记得牢。
另外还有一个很实际的场景:如果你在做一些小批量、非标电压的供电,比如需要3.8V、4.2V这种市面上不好找的LDO电压,用手头三极管和稳压管搭一个可调输出的线性稳压,确实能应一时之急。稳压管换一颗,分压电阻重新算一下,输出就变了,这个灵活性是固定电压芯片给不了的。
1.2 这台“LDO”能扛什么负载
先说清楚边界,省得你照做之后失望:这个电路适合给几十毫安到一百毫安级别的负载供电,比如带限流电阻的LED灯板、小风扇、传感器模块,不适合直接驱动大电流场合。
我这次选定的负载是一块额定电流约80mA的LED灯板,里面有四颗并联的白光LED加限流电阻,单个灯板耗电大约40mA,两块并联大概80mA。这个电流级别,S8550的hFE和功耗都能从容应对。如果以后你要带更重的负载,需要换更大的PNP调整管、改基极驱动电阻,这些在第5节会展开讲。
2. 电路设计全解:两只三极管如何协同把5V稳住
2.1 完整原理图网络表
先给原理图的连接关系,这样即使没有画图软件也能照着连。整个电路用文字网络表描述如下:
Vin ---- C1a(10uF) ---- GND Vin ---- C1b(0.1uF) ---- GND Vin ---- Q1(E) // Q1: S8550 PNP, 调整管 Q1(C) ---- Vout Q1(B) ---- R3(470R) ---- Vin Q1(B) ---- Q2(C) // Q2: S9014 NPN, 误差放大 Q2(B) ---- D1(C) // D1: 1N4729A, 3.6V稳压管 Q2(E) ---- Vfb // 反馈采样点 D1(A) ---- GND R4(1k) ---- Vin, D1(C) // 稳压管偏置电阻 Vout ---- R1(4.7k) ---- Vfb Vfb ---- R2(6.8k) ---- GND Vout ---- C2a(22uF) ---- GND Vout ---- C2b(0.1uF) ---- GND Vout ---- 负载(LED灯板)所需元件清单:
| 编号 | 型号/参数 | 作用 |
|---|---|---|
| Q1 | S8550 PNP三极管 | 调整管,承担输出电流 |
| Q2 | S9014 NPN三极管 | 误差放大,控制调整管 |
| D1 | 1N4729A 3.6V稳压管 | 提供基准电压 |
| R1 | 4.7kΩ 金属膜电阻 | 反馈分压上臂 |
| R2 | 6.8kΩ 金属膜电阻 | 反馈分压下臂 |
| R3 | 470Ω | Q1基极上拉/驱动 |
| R4 | 1kΩ | 稳压管偏置限流 |
| C1 | 10uF+0.1uF | 输入滤波 |
| C2 | 22uF+0.1uF | 输出滤波 |
D1选3.6V稳压管,是因为这个结构里反馈点电压等于基准电压减去Q2的Vbe,也就是3.6V-0.65V=2.95V,用R1=4.7k、R2=6.8k把5V分压到这个值,正好配对。
2.2 稳压过程推演:输出升高时发生了什么
这个电路最核心的是Q1、Q2两只三极管构成的负反馈环路。理解它的关键,是把整个调试过程在脑子里过一遍。
假设负载突然变轻,Vout从5V往上升了一点。分压节点Vfb跟着上升。Q2是NPN,基极被稳压管钳在3.6V,发射极电压升高意味着Vbe=3.6-Vfb减小,Q2趋向截止,集电极电流下降。Q1的基极通过R3上拉到Vin,Q2不再把Q1基极往下拉,Q1基极电位上升,PNP管的Veb减小,Q1导通削弱,流过调整管的电流减小,Vout被拉回来。
反过来,如果负载加重导致Vout下降,Vfb下降,Q2的Vbe增大、导通加强,把Q1基极电位往下拉,Q1导通增强,把输出电压顶回去。整个环路就是一个围绕2.95V反馈点的自动平衡系统,最终稳定在预设的5V附近。
值得强调的是,Q2在这里不是简单的开关管,而是工作在放大区,它的导通程度是连续变化的,这样才能让Q1的输出电流连续可调,而不是开关式的跳变。
2.3 参数计算:每一个电阻都有来历
先算反馈分压。设定Q2导通时Vbe典型值0.65V,稳压管D1把Q2基极钳在3.6V,则Vfb=3.6-0.65=2.95V。要让Vout=5V,需满足:
Vfb = Vout × R2 / (R1 + R2) 2.95 = 5 × R2 / (R1 + R2) R1 / R2 = 5 / 2.95 - 1 = 0.695取R2=6.8k,则R1≈4.7k,实际得到4.98-5.05V,完全够用。
R3是Q1的基极上拉电阻,它决定了能往Q1基极灌多少电流。本次按最大负载100mA设计,S8550实测在100mA时hFE大约150,最保守按100算,需要基极电流约1mA。R3从Vin到Q1基极,基极电压约为Vout+Veb=5.65V,输入电压6.2V时R3两端压降约0.55V。取470Ω,流过的电流约1.17mA,扣除Q2集电极需要维持反馈的分流约0.4mA,还剩0.7mA可以给Q1基极,刚好够100mA档位。
R4给稳压管提供稳定工作电流。1N4729A稳定电流在2mA以上才比较准,取R4=1k,从Vin到D1阴极,电流为(6.2-3.6)/1000≈2.6mA,既保证稳压管工作在稳压区,又不会让功耗失控。
2.4 为什么调整管非要用PNP
这个结构能叫“LDO”而不是普通的串联稳压,关键就在Q1用了PNP管。PNP调整管的发射极接输入,集电极输出,稳压工作时Q1的压降可以很低,最低接近饱和压降。我们手里的Vce最小可以压到0.15V左右,加上Veb约0.7V,整个电路的最小压差在0.85V上下。
如果把这个位置换成NPN管,就变成了常见的射极跟随器结构,输出比基极低一个Vbe,驱动级往往又需要更高电压,整体压差会到1.5V以上,那就只能叫普通线性稳压,不配叫“低压差”了。
这里也需要解释一个容易搞反的点:Q1的基极电压是升还是降控制导通。PNP管是Veb大于0.6V才导通,基极电位越低,导通越强。这就是为什么Q2要接到Q1基极去“抽电流”,Q2拉得越狠,Q1基极越低、导通越强;Q2一旦关断,R3把Q1基极拉到接近Vin,Q1就关断。这个反相关系是整个反馈回路正确工作的前提,画板之前一定先想清楚。
3. 从面包板到PCB:踩过的坑与布局要点
3.1 面包板上的高频自激:一次完整的排查过程
电路设计完,我先在面包板上搭了一套。插好线、接上6.2V电源,LED亮了,亮度也稳定。但用示波器一看输出,几十毫伏的高频毛刺铺满整条基线,负载稍一变化,波形就开始振铃,频率在10MHz到20MHz之间,典型的自激振荡。
排查过程是按这个链路走的:
第一反应是调整管Q1的问题,换了三颗S8550,故障依旧,排除器件离散因素。第二反应怀疑输出电容不够,把22uF电解换成100uF,低频纹波小了,但10MHz的高频振荡纹丝不动,说明不是单纯容值问题。第三,我用短地弹簧把示波器探头直接压在输出电容两端,高频毛刺仍然在,排除表笔拾取环境噪声。
最终问题出在反馈环路周围寄生参数太多。面包板上Q2发射极到Vfb节点的线接近8cm长,稳压管D1的阳极通过长长的一条地线连回电源负端,基准地已经被输出负载的电流污染。Q2在这个电路里相当于一个跨导放大器,外围导线电感加上Q1本身的增益,在高频段很容易形成正反馈条件,于是自激。
解决办法分三步:第一,把D1阳极和R2下端的地线就近拧到同一个地孔,让基准地不再和大电流地线共用长导线;第二,把Vfb引线缩短到2cm以内,分压电阻R1直接从输出电容正极端取信号;第三,在R1两端并联一颗10nF电容,把反馈环路的增益在高频段压下去,牺牲一点响应速度换稳定。调整后毛刺消失,再测动态响应时,输出只在负载跳变的瞬间有几十毫秒的恢复过程,不再振荡。
3.2 PCB布局的四个关键决定
画PCB时,很多细节是拜上面这个坑教会我的。板子做的是双面,顶层走信号和功率线,底层整片铺地。元件不多,布局却要注意四件事。
第一,Q1的散热铜箔要给足。S8550我选了SOT-223封装,集电极本身就带散热焊盘,输出端铜皮做成大块铺铜,上下两层用过孔连通,再往下就是LED灯板的整个回流焊区。100mA负载时Q1压降约1.2V,功耗0.12W,温度不高,但如果以后要上300mA,这个散热布局能救你一命。
第二,地线必须单点汇聚。整个电路分成两部分:输入电容的地、输出电容的地、LED灯板返回的地属于“功率地”,这三条最终在同一颗螺丝孔位置汇合;稳压管D1阳极、R2下端、Q2发射极这条是“基准地”,基准地单独走一条短线,只在输出电容负极附近与功率地单点相连。
第三,反馈采样点必须远离负载电流路径。R1的起点直接接在输出电容C2a的正极焊盘上,然后单独走细线到Vfb节点,而不是从LED灯板的供电焊盘上取。表面看都是从5V节点取信号,但功率走线上的压降会被反馈环路当作误差放大,导致LED电流大的时候输出电压反而往下偏。
第四,输入输出电容的位置靠近要伺候的器件。C1放在Vin和Q1发射极之间,C2放在Q1集电极和负载之间,每个电容的地脚尽量短粗。我见过有人把输出电容放得离调整管八丈远,结果ESL和走线电感形成新的谐振,动态性能差得离谱。
3.3 焊接与测试前的注意事项
焊接的时候有两点要特别留神。一是S8550和S9014的引脚顺序不一样,S8550是E-C-B,S9014是C-B-E,焊反了整板不工作,而且不太容易查出来。二是稳压管D1有极性,阴极是带黑环的一端,接Q2基极,阳极接地,接反了Q2基极电压变成负的零点几伏,电路彻底没输出。
打样回来我第一件事不是直接上6.2V,而是接可调电源从3V慢慢往上调,同时看输出节点的电压变化。调到4V以下时输出跟着输入走,那是正常现象,说明Q1还没进入稳压状态。继续往上到5.5V左右,Vout会稳定在5V附近,此时才开始真正测试各项指标。这种上电方式能避免接线错误导致的一瞬间过流烧管。
4. 实测数据解读:调整率、压差、纹波和动态响应
4.1 测试条件说明
测试用的仪器:一台可调直流电源设定6.2V输出,一台电子负载(恒流CC模式),一台四位数万用表,一台四通道示波器。纹波测量时探头用短地弹簧,直接压在输出电容两端,避免长接地线夹带来的空间噪声干扰。所有数据在PCB板上测试,不是面包板。
测试时室温26°C,无强制风冷,两个三极管自然散热。
4.2 负载调整率:从空载到200mA的表现
| 负载电流 | 输出电压 | 输出纹波 | Q1表面温度 |
|---|---|---|---|
| 0mA | 4.992V | 15mVpp | 27°C |
| 50mA | 4.971V | 20mVpp | 34°C |
| 100mA | 4.925V | 30mVpp | 43°C |
| 150mA | 4.812V | 48mVpp | 54°C |
| 200mA | 4.650V | 75mVpp | 68°C |
从50mA到100mA,输出电压掉了46mV,负载调整率约0.9%,对于分立件搭建的LDO来说已经不错。到了150mA以上,输出明显下跌,原因不只是Q1的hFE下降,更是R3能提供的基极驱动电流到了上限。这印证了第2.3节的计算:电路最佳工作区就在100mA以内。
如果你需要300mA级别的负载,最直接的改动是R3从470Ω降到220Ω,同时Q1换更大功率的PNP管,比如BD140或2SB772。但这样做静态电流也会翻倍,整个电路的功耗管理要重新核算。
4.3 压差实测:输入低到多少开始掉
把电子负载固定在50mA,逐步降低输入电压,记录输出电压:
| 输入电压 | 输出电压 | 状态 |
|---|---|---|
| 6.20V | 4.972V | 正常稳压 |
| 6.00V | 4.970V | 正常稳压 |
| 5.90V | 4.966V | 正常稳压 |
| 5.85V | 4.958V | 开始轻微回落 |
| 5.70V | 4.910V | 调整管接近饱和 |
| 5.50V | 4.720V | 退出稳压 |
实测最小压差约0.85V。也就是说,要稳定输出5V,输入至少要有5.85V。这和理论分析一致:Q1需要维持一个Veb(约0.7V)加上自身Vce_sat(约0.15V)。
4.4 动态响应:负载突加时它“喘”了一下
用电子负载的CC模式做0mA到100mA的突变,示波器看输出波形:负载跳变瞬间,输出下冲大约80mV,然后在大约200us内恢复到稳态值的98%范围。撤掉负载时,过冲大约50mV,恢复时间接近180us。
这个动态表现和集成LDO有差距,比如ME6206在同样条件下过冲能控制在30mV以内。原因是分立电路的总环路增益和带宽都受限。Q2的跨导和R3的负载阻抗决定了反馈环路的增益,而Q1本身就带着输出电容这个极点,两者叠加,环路的单位增益带宽自然上不去。对LED这一类对瞬态不敏感的负载来说无所谓,但如果后面接的是模拟电路或者MCU,这个动态响应就有点让人不放心。
5. 手搓方案的短板、改进方向与“收手”时机
5.1 这套方案的先天短板
第一个短板是静态电流。实测整个电路在空载时从输入侧消耗约3.8mA静态电流,其中R4提供稳压管偏置约2.6mA,R3反馈驱动约1.2mA。对比HT7550这类低功耗LDO的微安级静态电流,电池供电环境根本没法用。
第二个短板是温漂。稳压管的电压随温度变化,Q2的Vbe也随温度变化约-2mV/K,两个温度系数叠加,输出电压在-20°C到60°C环境温度下可能有几十毫伏的漂移。对于LED供电这种场景无所谓,但拿去做传感器基准就不行了。
第三是没有保护。集成LDO普遍带过热保护和过流保护,这个分立方案什么都没有。输出短路时Q1的功耗会瞬间拉满,S8550很快发烫,运气不好直接烧穿。我测试时都是串一个0.5A保险丝再上电的。
5.2 想要“搓得更专业”可以从哪改
如果你打算在这个结构上继续精进,有几个方向值得尝试。
把稳压管基准换成TL431,温度系数和动态阻抗都比普通稳压管好得多。TL431阴极接Q2基极,参考脚接分压网络,输出精度能提到±1%以内。
给Q1加达林顿驱动,比如用S8550驱动一个复合管,或者干脆换达林顿封装,可以获得更高的电流输出能力,代价是压差额外增加一个Vbe,就不再是“低压差”了。
增加短路保护可以在输出回路里串一个0.1Ω采样电阻,用一颗小功率三极管在压降超过0.6V时把Q2基极电流拉走,让整个环路迅速截止。这个保护电路本身又需要一颗三极管,分立方案的器件数量会越滚越多。
5.3 什么时候该收手,回去用集成方案
讲实话,这个项目的价值在教学和解构原理,不在工程量产。算一笔账:S8550几分钱、S9014几分钱、稳压管一毛多,加上电阻电容,整个BOM成本大约五毛钱,和一颗低端LDO芯片价格差不多。但集成芯片的一致性好,不需要调试,有过温和过流保护,封装还小,生产贴片效率高。
我个人的底线是:如果是给自己做实验板、学习电源反馈控制,手搓LDO是很棒的项目;如果是给产品做电源、或者给别人做东西,我会果断用集成方案。手搓最大的收获不是省了那五毛钱,而是以后再看到任何LDO的数据手册时,里面的框图不再是黑盒,每一个方块你都知道它内部是由什么晶体管、什么反馈方式组成的。
最后分享一个实际调试经验:复刻这个电路时,先不要焊固定电阻R1,而是把R1的位置用一个20k电位器串一个4.7k电阻顶上去,上电后边测Vout边调电位器,调到5.00V再断电测实际阻值,换成固定电阻。这样能避开稳压管和Vbe的离散性带来的电压偏差,一次成功。