手头正好缺一个5V稳压源,翻遍抽屉只有几颗三极管、稳压管和一堆LED,索性就用两个三极管加一颗稳压管,手搓了一个5V线性稳压器出来。项目本身不复杂,但把LDO的反馈环路、基准源、调整管这些概念全过了一遍,还顺手画了PCB打样回来实测,数据能看。这篇文章把完整原理、元件参数计算、PCB布局经验、实测数据和调试踩坑都摊开来讲,适合想理解稳压器底层原理、或者纯粹想在嘉立创白嫖打样搞点小东西的朋友。
我不会只贴一张原理图就完事。每个电阻为什么取这个值、哪个管子管发热、纹波怎么测、振荡了怎么压,都会讲清楚,尽量让你能直接复现,同时也能看懂电路到底在干什么。
1. 电路思路:为什么用“两个三极管加稳压管”也能稳压
1.1 LDO到底在干什么
LDO的核心一句话就能说清:用调整管消耗掉多余的输入电压,把输出稳住。好比一个自动调节的水龙头,不管上游水压怎么变、下游用水量怎么变,它都要让出水口的水压保持恒定。多余的水压就被“憋”在水龙头那里变成热量放掉。
放到电路里,这个水龙头就是调整管,负责消耗压差;稳定水压的传感器和自动阀门就是误差放大器和基准电压。经典的78L05内部就是这几个模块的集成体,只不过封装成了一个三端器件。
1.2 为什么用分立元件搭
直接买一颗AMS1117-5.0或者L78L05,几分钱到几毛钱,省事又可靠,为什么要自己搭?我当时的理由有三个:一是手头确实没现货,快递等不及;二是想借这个机会把稳压器的反馈环路彻底搞明白,毕竟天天用LDO芯片,内部原理却未必说得清;三是这种分立方案可控性很强,基准电压、输出电流、保护逻辑都能自己捏,用作学习或者特殊场景的应急电路,价值不低。
这个项目里,我的目标是输出5V,负载是一串LED灯珠,电流大概在几十到两百毫安之间,输入电压用7到9V的直流电源。所以整个设计围绕低静态功耗、低纹波、够用的输出能力来展开。
1.3 整机方案:NPN射极跟随器加误差放大管
我在面包板上试过几种结构,最终选了目前这套最适合新手复现的:Q1作为调整管,NPN三极管接成射极跟随器输出;Q2作为误差放大管,它的基极接采样分压,发射极接稳压管的基准电压;稳压管D1提供3.3V的基准。整套电路就三个有源器件加一颗稳压管,负反馈自动把输出稳定在5V附近。
这套方案相比用PNP管做调整管的真LDO,压差会稍大一点,实测静态压差大约0.8到1V,所以输入电压要高过输出大约1V以上才能工作在稳压区。严格来说它算是“准LDO”,但作为入门理解稳压原理、用来给LED和单片机小系统供电,完全是够格的。如果你后面想做真正意义上几百毫伏压差的分立LDO,可以在此基础上把调整管换成PNP,并重新设计环路相位,难度会高一个台阶。
2. 原理图设计与参数计算
2.1 核心原理图
电路连接方式如下,每个元件的编号对应我画PCB时的丝印:
- Q1:NPN三极管(SS8050),集电极接输入Vin,发射极接输出Vout
- Q2:NPN三极管(SS8050或2N3904),集电极接到Q1的基极,发射极接稳压管D1的阴极
- D1:3.3V稳压管(1N4728A),阴极接Q2发射极,阳极接地
- R1:27k,接在Vout和Q2基极之间的采样上分压电阻
- R2:100k,接在Q2基极和GND之间的采样下分压电阻
- R3:1k,从Vin接到D1阴极,给稳压管提供偏置电流
- R4:1k,从Vin接到Q1基极和Q2集电极的公共节点,给Q1提供基极驱动电流
- C1:输入电容,10uF电解电容并联100nF陶瓷电容
- C2:输出电容,22uF电解电容并联100nF陶瓷电容
- C3:100nF陶瓷电容,并在D1两端,降低基准噪声
采样点Vfb就是Q2的基极,也就是R1和R2的连接点。反馈环路是这样工作的:当输出电压升高,Vfb跟着升高,Q2基极电压升高、导通更强,Q2集电极电位被拉低,于是分流掉更多从R4流入Q1基极的电流,Q1导通减弱,输出电压回降。反过来,输出电压偏低时,Q2导通变弱,Q1基极电流增大,输出电压回升。负反馈闭环稳定之后,Vfb会被钳在一个固定值附近。
2.2 基准与分压电阻怎么算
稳压管D1提供3.3V基准,Q2发射极就钳在3.3V。Q2的基极要让它刚好进入线性放大区,基极电压应该等于发射极电压加上一个Vbe,通常在0.6到0.7V之间。所以稳定状态下:
Vfb ≈ Vz + Vbe_Q2 ≈ 3.3V + 0.65V ≈ 3.95V
输出目标5V,那么分压比就是:
Vfb / Vout = 3.95 / 5 = 0.79
也就是说R2/(R1+R2)要等于0.79。我选了R1=27k、R2=100k,实际分压比是:
100 / (27 + 100) = 0.787
代入计算,输出约为:
Vout = Vfb / 0.787 ≈ 3.95 / 0.787 ≈ 5.02V
这个结果落在5V±1%附近,对于给LED供电来说足够精确了。如果你手头有E96系列精密电阻,也可以用R1=26.1k、R2=100k,算出来更接近5.00V,但27k在E24系列里更好买。
需要注意Vbe_Q2会随温度和集电极电流变化,大概在0.5到0.8V之间波动,所以这个电路的输出精度大约在±3%左右,不能指望它达到集成基准源那种1%以下精度。
2.3 关键元件选型:谁负责发热、谁负责精度
调整管Q1是整机发热大户,选型必须关注额定电流和封装热阻。SS8050的Ic最大1.5A,看起来够用,但SOT-23封装的散热能力很差,我实测在9V输入、150mA负载时,Q1功耗已经到0.6W,长时间运行外壳烫得不能碰。所以如果你要跑200mA以上,建议用SOT-223封装的2SD882或者直插TO-252封装的管子,PCB上还要给集电极和发射极铺上足够大的铜皮散热。
Q2作为误差放大管,工作在几十毫安的集电极电流范围,用SS8050或者2N3904都行,发热可以忽略,但hFE和Vbe的一致性会影响输出电压精度,焊接前最好挑选一下。
稳压管D1选3.3V的1N4728A,额定功耗1W,实测工作电流稳定在2到4mA,非常安全。如果手头只有5.1V稳压管,也能用,但分压电阻要重新算:Vfb≈5.8V,对应分压比0.116(R2/(R1+R2)),R2取10k,R1就需要大约76k,整个采样网络功耗会高一些,而且因为Vfb接近Vout,电阻取值误差对输出影响更大,不建议。
2.4 输入输出电容和稳定性的关系
这个电路本质是个带负反馈的两级放大器,Q2这一级增益很高,加上Q1射极跟随器,整个环路增益不低,如果补偿没做好很容易自激振荡。我第一版面包板测试时,输出端并了一个小容量陶瓷电容,示波器上就看到了几百毫伏的振荡波形,后来换了电解电容才好。
输出电容C2选22uF电解电容并联100nF陶瓷电容,电解电容的等效串联电阻ESR大约零点几到几欧姆,正好给环路提供一个零点,有利于稳定。如果你手里只有钽电容,ESR较低,可能需要把C2容量加大到47uF并串联一个小电阻,或者把R4从1k加大到2.2k,降低环路增益来稳定。
输入电容C1主要应对输入线缆的寄生电感和电源瞬态跌落,10uF加100nF是常规操作。稳压管D1两端并联的C3能用100nF就用上,它对抑制高频噪声和偶发振荡都有正面作用。
3. PCB画板与打样要点
3.1 布局思路:先画一条“主电流路径”
画PCB之前,我先在纸上标出了整机的主电流路径:从输入端子到C1正极,再进Q1集电极,从Q1发射极出来到输出端子,中间经过C2到GND。这条路径上的电流波动最大,所以元件要按顺序单行排开,避免反复绕圈。
我在嘉立创EDA里画的板子尺寸是25mm×18mm,双面覆铜。顶层走信号和采样,底层大面积铺GND。Q1放在板子的右侧靠边缘,方便将来贴散热片或者直接锁到外壳上定位,C2紧挨着Q1的发射极和GND脚,保证输出滤波路径最短。
特别提醒一下,R1和R2这两个采样电阻必须从输出的根部取电压,也就是从C2正极那一段走一根细线到R1,不能直接从负载端拉线回来。如果采样线接到LED负载那边,负载电流在PCB走线上产生的压降会被误差放大器当成输出电压变化,造成调整误差,严重时还会振荡。
3.2 布线避坑:地线铺铜的学问
地线是整个板子最容易出问题的地方。我见过好多DIY板子,GND铜皮铺得满板都是,但从输入到负载的地回流路径却要绕一大圈,最后纹波反而大。
我的做法是:底层用完整的GND铺铜,但把输入地、输出地、基准地这三个点用一根短而宽的铜皮连接,不要各自单独往下打一堆过孔。稳压管D1的阳极和R2的下端、C2的负极、输入电源的地,最终都汇聚到同一点上,这就是常说的单点接地思想。这样做的好处是,负载回流的脉冲电流不会流过基准地和采样地,输出电压的毛刺能小不少。
过孔方面,SS8050的SOT-23封装中间那个脚是集电极,输入电流很大,我打了4个过孔把它和底层大铜皮连起来辅助散热。如果你画的是两层板,记得在Q1的集电极和发射极区域放一排过孔,能明显降低热阻。
3.3 打样焊接的实操经验
打样选的是嘉立创的5元打样,板厚1.6mm,收货后通电前先做三步检查:目测有无桥连、用万用表二极管挡量输入和地之间有没有短路、量输出和地之间有没有短路。这个项目焊接难度不大,唯一要注意的是稳压管D1的方向,丝印上通常有一条横杠标记阴极,1N4728A这类贴片稳压管的阴极跟二极管一致,是白色横杠那一端,千万别焊反,焊反了基准直接变成0.4V左右的正向压降,输出会跑到一个莫名其妙的值。
还有一个小坑:SS8050的引脚定义是E-C-B还是B-C-E,不同厂家封装顺序可能不一样。我画PCB前专门查了立创商城的数据手册,确认SS8050 SOT-23的引脚顺序是1-B、2-E、3-C,如果你用的是别的品牌,上电前务必用万用表hFE插孔或者二极管挡确认一遍,否则集电极和发射极接反了,输出电压会被Veb钳位在一个很低的电平上。
4. 实测数据与分析
4.1 直流输出特性:负载调整率
实测输入电压9V,分别在空载、50mA、100mA、150mA、200mA负载下测量输出电压,用万用表四位半读到的数据如下:
| 负载电流 | 输出电压 | 相对空载变化 |
|---|---|---|
| 0mA | 5.02V | 基准 |
| 50mA | 5.00V | -20mV |
| 100mA | 4.98V | -40mV |
| 150mA | 4.95V | -70mV |
| 200mA | 4.90V | -120mV |
0到200mA负载调整率大约120mV,折合成百分比约2.4%。对于LED供电来说完全够用,因为LED亮度对电压变化不敏感。但如果你后面要用它给单片机或者传感器供电,200mA时输出已经掉到4.90V,要注意MCU的电源电压范围是否允许。
负载调整率之所以比不上集成LDO,主要原因是Q1的Vbe会随电流增大而略微上升,同时R4提供的基极驱动能力有限,大电流下Q1的输出特性不再是理想的射极跟随器。想改善,可以把R4从1k降到470欧,或者把Q1换成hFE更高的达林顿管,但代价是压差会再增加0.7V左右。
4.2 线性调整率与输入范围
保持空载,输入电压从6V一路调到12V,每1V记录一次输出电压:
| 输入电压 | 输出电压 |
|---|---|
| 6.0V | 4.98V |
| 7.0V | 5.01V |
| 8.0V | 5.02V |
| 9.0V | 5.02V |
| 10.0V | 5.03V |
| 12.0V | 5.03V |
线性调整率做得不错,6到12V变化只有50mV,说明反馈环路对输入波动的抑制能力很强。这也符合线性稳压器的特点:本质上输出等于基准乘以分压比,基准稳压管两端电压相对稳定,输入变化主要被调整管Q1吸收掉了。
输入电压下限值得注意。当输入低到5.6V时,输出只有4.6V左右,已经脱离稳压状态,因为Q1需要的基极电压大约是输出加上0.7V,也就是5.7V,输入再低就无法保证Q1工作在正常的放大区。所以这个板子的实际工作输入范围建议是5.8V到12V,给LED供电常用7到9V最合适,再高就要考虑Q1功耗。
4.3 纹波与动态响应
用示波器交流挡测输出纹波,输入接的是实验室直流电源,本身纹波很小。这类电源上测到的输出纹波大约20mVpp,主要来自稳压管自身的噪声和采样电阻的热噪声。
后来我故意在输入侧用另一个电源叠加了200mVpp的开关纹波,输出端测到约35mVpp,抑制比大约15dB。这个值不算突出,但对于LED供电来说,只要没有目视可见的频闪,纹波对亮度的影响可以忽略。
动态响应我用了电子负载做100mA到300mA的阶跃切换,示波器看到约80mV的过冲,恢复时间大约40微秒。这个表现和输出电容C2的容量关系很大,把C2加大到47uF,过冲能压到50mV以内,但负载响应速度会变慢,形成了过冲和响应速度的trade-off。
4.4 效率与温升
线性稳压器的效率本质上是Vout/Vin,输入9V时理论效率最高只有55%左右,剩下的电压差全部变成热量消耗在Q1上。实测9V输入、150mA负载时,Q1功耗:
P = (9 - 5) × 0.15 = 0.6W
SOT-23封装的SS8050在这个功耗下,壳温一分钟内就升到80摄氏度以上。这个数据说明两个问题:第一,这板子不适合长时间跑大电流;第二,如果要跑200mA以上,至少要把Q1换成SOT-223封装并加大铺铜面积,或者干脆降低输入电压到6.5V左右,让Q1功耗降到0.2W。
效率方面我实测满载200mA时的整机效率约58%,加上采样电阻和稳压管偏置的静态损耗大约几毫瓦,几乎可以忽略。如果负载只是几个LED,平均电流几十毫安,这种效率完全够用,毕竟线性稳压的好处是纹波小、电路简单。
5. 踩坑记录与调试心得
5.1 自激振荡:输出电容ESR的重要性
这个坑我前面提过,但值得单独再说一次。面包板调试阶段,我在输出端只并了一个10uF的陶瓷电容,示波器上看到频率约几百千赫兹、幅度接近1V的高频振荡,LED甚至出现了肉眼可见的亮度抖动。
原因是陶瓷电容ESR极低,在反馈环路里引入了一个接近90度的相位滞后,加上Q2和Q1两级放大总相移接近180度,环路在某个频率上变成了正反馈。解决思路有两个:一是降低环路增益,把R4从1k改成2.2k甚至3.3k,让Q1基极驱动电流变小;二是更换输出电容,用ESR较高的电解电容给环路提供零点补偿。我最终采用22uF电解电容并联100nF陶瓷电容,电解电容的ESR大约0.7欧,正好把振荡压下去了。
5.2 上电瞬间电压过冲
第一次成功调出5V之后,我反复上电断电观察,发现每次上电瞬间输出都会冲到6V左右,持续几十毫秒才回落。原因也不复杂:输出电容C2充电到5V需要时间,而稳压管D1的基准建立更慢,两者时间常数不匹配,导致反馈环路在初始阶段处于“失控”状态,Q1被R4完全驱动,输出跟着输入直接冲高。
后来我做了两个改进:一是把R3从1k稍微加大到1.2k,让稳压管基准建立得更快?不对,实测是反向的,稳压管建立慢是因为给D1充电的电流太小,R3加大反而更慢。我实际是把C2从22uF减小到10uF,让输出电容先充到位,同时给D1并在C3加快基准建立,实测过冲降到5.4V,几十毫秒内回落。如果你的负载对过冲敏感,可以再加一个RC软启动电路,但LED应用没必要这么讲究。
5.3 不同批次稳压管的电压差别
我手头翻出来三颗1N4728A,按3.3V标称买了,实际万用表量到的稳压值分别是3.28V、3.35V、3.41V。这导致同一块板子上换不同稳压管,输出电压会差将近两三百毫伏。
如果你要精确输出5.00V,建议先测量手头稳压管的实际Vz,再按实际值反推分压电阻。我用3.35V那颗稳压管,算出来R1最好取26.7k,刚好手头有27k,误差忽略。稳压管这种离散性在分立LDO项目里很常见,属于正常现象,不追求精度就无所谓,追求精度就要加微调电阻或者改用TL431这类高精度基准。
5.4 给LED供电的搭配建议
这个板子目标负载是LED,实际使用时有两点建议。一是输出端一定要串限流电阻,5V直连3V白光LED会直接过流烧灯珠,串100到120欧姆限流电阻,工作电流控制在20到25mA比较合适。二是如果驱动多组灯珠并联,建议每个支路单独串电阻,避免LED正向压降不一致导致电流分配不均。
我手上这板子实测带三组并联的白光LED,每组串100欧电阻,总电流大约60mA,亮度稳定,电源纹波肉眼不可见。整个板子放在桌面上跑了半小时,Q1温升大约40度,摸上去温热但不烫手,符合预期。
5.5 后续可以怎么扩展
这个分立LDO的结构其实有很大的扩展空间。想提高输出电流,把Q1换成达林顿管或者加一个PNP预驱动级;想提高精度,把稳压管D1换成TL431,基准精度能到1%以内;想做成可调输出,把R2换成电位器就行。我印象最深的是,在实际调试中真正理解负反馈环路之后,再看那些集成LDO的数据手册里关于ESR范围的说明,一下子就明白它为什么那么写了。
如果你也想复现这个项目,我的建议是先在面包板上搭一遍,把原理彻底看明白,再画PCB去打样,不要一上来就画板子。毕竟这种电路的乐趣,一半在搭电路,一半在调试中。