1. 为什么还在用7805?聊聊可调稳压电源的实际需求
但凡摸过几天电路板的人,对7805这个三端稳压芯片都不会陌生。TO-220封装,三个引脚,左边进右边出中间接地,接上两个滤波电容就能输出稳定的5V,简单到几乎不需要动脑子。我刚入门那会儿,手头一堆7805,觉得这玩意儿简直是万能神器,什么电路都往上怼。但做得多了你就会发现,7805能干的活实在太有限了——它只能输出固定5V,电流超过1A就开始烫得能煎鸡蛋,压差大了效率低得可怜,输入12V输出5V的时候,那7V的压差全变成热量白白浪费掉。
实际项目中,我们经常需要非标准电压。比如给一个3.3V的单片机系统供电,或者给运放电路提供±6V的双电源,又或者调试某个传感器时需要从3V慢慢往上调,观察它的响应曲线。这些场景下,7805就完全不够用了。你可能会想到LM317这类可调稳压芯片,它确实好用,输出范围1.25V到37V连续可调,但问题是——你真的理解它内部是怎么工作的吗?如果有一天手头没有LM317,或者你需要更灵活地控制稳压过程,能不能用最基础的分立元件搭一个出来?
这就是我写这篇东西的出发点。用三极管搭建可调稳压电源,不是为了替代LM317,而是通过这个过程真正搞懂串联型稳压电路的底层逻辑。一旦你理解了误差放大、基准电压、调整管这几个核心模块是怎么配合的,再看任何稳压芯片的内部框图都会觉得豁然开朗。这篇文章适合已经知道三极管三个引脚怎么区分、能看懂基本共射放大电路的朋友,如果你连NPN和PNP的区别都还模糊,建议先补一下三极管工作原理的基础知识再来看。
整个电路的核心思路其实很朴素:用一个三极管作为调整管,让它工作在放大区而不是开关区,通过控制基极电流来调节集电极和发射极之间的压降,从而实现输出电压的稳定。听起来简单,但要让它在输入电压波动和负载变化时都能稳住输出,就需要引入负反馈机制。下面我会从整体设计思路开始,一步步拆解每个元件的作用,给出完整的电路图,然后手把手带你算参数、选元件、搭电路、调试。中间会穿插我实际制作时踩过的坑和总结的经验,这些东西在教科书上通常不会写。
2. 串联型稳压电源的整体设计思路拆解
2.1 从7805的内部框图说起
7805之所以能稳压,核心在于它内部集成了一个基准电压源、一个误差放大器和一个大功率调整管。基准电压通常由带隙基准电路产生,温度漂移很小;误差放大器不断比较输出电压的采样值和基准电压,输出控制信号去驱动调整管;调整管则根据控制信号改变自身的导通程度,从而调节管压降。整个环路是负反馈,输出电压升高时,采样值超过基准,误差放大器输出变化使调整管导通减弱,管压降增大,输出电压回落;反之亦然。
分立元件搭建可调稳压电源,本质上就是把这几个模块用独立元件实现出来。基准电压可以用稳压二极管提供,误差放大器可以用一只三极管承担,调整管用功率三极管,采样网络用两个电阻分压。这样搭出来的电路,性能肯定不如集成芯片,但胜在结构透明,每个节点电压和电流你都能拿万用表量出来,调试过程本身就是最好的学习。
2.2 为什么选择三极管而不是运放
有人可能会问,误差放大器为什么不用运放?LM358、NE5532这些运放做误差放大确实性能更好,开环增益高,输入失调小,稳压精度会高很多。但用三极管有一个好处:电路更简单,不需要额外的运放供电,而且三极管的基极-发射极结本身就是一个天然的比较器,当基极电压略高于发射极时它就导通,略低时就截止,这个阈值特性正好可以用来做误差检测。
当然,用三极管做误差放大也有代价。它的增益有限,温度漂移比运放大,基极电流也会引入误差。但对于一个学习性质的电路,输出精度做到±5%以内完全够用了。如果你后续想提升性能,可以把误差放大级换成运放,调整管换成达林顿结构,基准源换成TL431,那就是另一个层次的电路了。
2.3 电路拓扑的选择:串联调整还是并联调整
稳压电路有两种基本拓扑:串联型和并联型。串联型是把调整管串联在输入和输出之间,通过改变管压降来稳压;并联型是把调整管并联在输出端,通过分流来稳压。串联型的效率更高,因为调整管只在必要时消耗功率,而并联型不管负载轻重都要从调整管分流,效率低且发热大。
我这个电路采用串联调整结构。调整管选用NPN型功率三极管,型号可以用2N2222做小功率测试,实际带负载时建议换成TIP41C或者2N3055这类大功率管。2N2222的最大集电极电流只有800mA,功耗也就几百毫瓦,带个小负载或者做实验没问题,但你要是想输出1A以上的电流,它扛不住。TIP41C可以到6A,2N3055可以到15A,散热片装好之后带几安培的负载很轻松。
2.4 基准电压的获取方式
基准电压是整个稳压电路的“标尺”,它的稳定性直接决定输出电压的稳定性。最简单的方案是用稳压二极管,比如1N4733(5.1V)或者1N4734(5.6V),配合一个限流电阻从输入电压取电。稳压二极管的反向击穿电压就是基准电压,温度系数通常在±0.05%/°C左右,对于一般实验够用了。
如果你想要更好的温度稳定性,可以用TL431可调基准源,它的温度系数可以做到±50ppm/°C,而且输出电压可以通过两个电阻精确设定。但TL431需要至少1mA的阴极电流才能正常工作,电路上要多考虑一点。我第一版电路用的是1N4733,后来换成TL431之后,输出电压的温漂明显小了很多,从冷启动到热稳定,输出变化从原来的50mV降到了10mV以内。
3. 核心元件选型与参数计算实操
3.1 调整管的选型与功耗核算
调整管是整个电路里压力最大的元件,它要承受输入输出之间的全部压差,还要通过负载电流。功耗计算公式很简单:P = (Vin - Vout) × Iload。假设输入12V,输出5V,负载电流1A,那么调整管上的功耗就是(12-5)×1 = 7W。这个热量相当可观,没有散热片的话,TO-220封装的管子几秒钟就能烫到摸不得。
选调整管的时候,要关注三个参数:最大集电极电流Ic(max)、最大集电极功耗Pc(max)和最大集电极-发射极电压Vceo(max)。以TIP41C为例,Ic(max)=6A,Pc(max)=65W(25°C壳温下),Vceo(max)=100V。看起来余量很大,但实际使用时Pc(max)会随着壳温升高而急剧下降,所以散热片一定要装。我实测过,TIP41C不加散热片带0.5A负载,壳温能到120°C以上,加了铝制散热片之后降到60°C左右,差别非常明显。
如果你手头只有2N2222,做小电流实验是可以的。2N2222的Ic(max)=800mA,Pc(max)=625mW(25°C环境温度下),Vceo(max)=40V。注意它的功耗限制,如果输入12V输出5V,压差7V,那么最大允许电流只有625mW/7V ≈ 89mA。超过这个电流,管子就会过热。所以用2N2222的时候,负载电流最好控制在50mA以内,并且加一个小散热片。
3.2 基准稳压管的限流电阻计算
稳压二极管需要串联一个限流电阻才能正常工作。这个电阻的取值要保证两件事:一是在输入电压最低、负载电流最大时,流过稳压管的电流仍然大于它的最小工作电流(通常1mA到5mA);二是在输入电压最高、负载电流最小时,流过稳压管的电流不超过它的最大允许电流。
以1N4733为例,它的稳定电压是5.1V,最小工作电流约1mA,最大功耗1W,所以最大电流约1W/5.1V ≈ 196mA。假设输入电压范围是9V到15V,基准电路的总电流(包括稳压管电流和误差放大管基极电流)约5mA。那么限流电阻R1的计算如下:
最低输入电压9V时,R1上的压降是9V - 5.1V = 3.9V,要保证至少5mA电流,R1最大值为3.9V/5mA = 780Ω。最高输入电压15V时,R1上的压降是15V - 5.1V = 9.9V,如果R1取780Ω,电流为9.9V/780Ω ≈ 12.7mA,远小于196mA,安全。所以R1取680Ω到750Ω之间的标准值都可以,我实际用的是680Ω,实测稳压管电流在8mA左右,工作很稳定。
3.3 采样电阻分压比的计算
采样网络由两个电阻组成,把输出电压分压后送到误差放大管的基极,与基准电压进行比较。设输出电压为Vout,采样电阻为R3(上)和R4(下),误差放大管基极电压为Vb,则有:
Vb = Vout × R4 / (R3 + R4)
当电路稳定时,Vb应该等于基准电压Vref加上误差放大管基极-发射极压降Vbe。对于硅NPN三极管,Vbe约0.6V到0.7V。所以:
Vout = (Vref + Vbe) × (R3 + R4) / R4
假设Vref=5.1V,Vbe=0.65V,那么Vout = 5.75V × (R3+R4)/R4。如果我想输出12V,那么(R3+R4)/R4 = 12/5.75 ≈ 2.087,即R3/R4 ≈ 1.087。取R4=1kΩ,R3≈1.087kΩ,标准值取1.1kΩ。实际输出会略高于12V,因为Vbe会随温度变化,但误差在可接受范围内。
如果要实现可调输出,把R3换成电位器加固定电阻的组合。比如用10kΩ电位器串联1kΩ固定电阻代替R3,R4保持1kΩ,那么输出电压的调节范围大约是:
- 电位器调到0时,R3=1kΩ,Vout = 5.75V × (1k+1k)/1k = 11.5V
- 电位器调到最大时,R3=11kΩ,Vout = 5.75V × (11k+1k)/1k = 69V
这个范围太宽了,实际输入电压只有15V,输出不可能超过输入。所以要把R3的最大值限制在合理范围内。如果输入最高15V,输出最高希望到14V,那么(R3+R4)/R4 = 14/5.75 ≈ 2.435,R3/R4 ≈ 1.435,取R4=1kΩ,R3最大约1.5kΩ。可以用一个2kΩ电位器串联一个500Ω固定电阻,这样调节范围大约在10V到14V之间,比较实用。
3.4 误差放大管和推动管的配置
误差放大管我选用2N2222,它的集电极接在调整管的基极上,发射极接采样点,基极接基准电压。当输出电压升高时,采样点电压升高,误差放大管的Vbe减小,集电极电流减小,调整管基极电流减小,管压降增大,输出电压回落。这个反馈过程是连续的,最终稳定在某个工作点。
如果调整管用TIP41C这类大功率管,它的基极电流需求比较大(Ic/hFE,假设hFE=50,Ic=1A,则Ib=20mA),误差放大管2N2222的集电极电流可能不够直接驱动。这时候需要加一级推动管,用2N2222或者BC547做射极跟随器,把误差放大管的输出电流放大后再驱动调整管。推动管的集电极接输入电压,基极接误差放大管集电极,发射极接调整管基极,这样推动管本身也承担一部分功耗,但比调整管小得多。
我实际搭电路的时候,第一版没有加推动管,直接用2N2222驱动TIP41C,结果带载能力很差,输出1A的时候电压掉到9V以下。后来加了BC547做推动级,带载能力立刻上来了,1A负载下输出仍然稳定在12V。所以如果你要用大功率调整管,推动级不能省。
4. 完整电路图与分步搭建实录
4.1 电路原理图说明
由于这里没法直接画图,我用文字描述电路连接,你照着在面包板或者洞洞板上搭就行。整个电路分为四个部分:基准电压源、误差放大器、推动级、调整管和采样网络。
基准电压源部分:输入电压Vin正极接电阻R1的一端,R1另一端接稳压二极管D1的阴极,D1阳极接地。D1阴极同时接误差放大管Q2的基极。R1取680Ω,D1用1N4733(5.1V)。
误差放大器部分:Q2用2N2222,NPN型。基极接D1阴极,发射极接采样点(R3和R4的连接点),集电极接推动管Q3的基极,同时通过电阻R2(10kΩ)接Vin正极,作为Q2的集电极负载。
推动级部分:Q3用BC547,NPN型。基极接Q2集电极,集电极接Vin正极,发射极接调整管Q1的基极。
调整管和采样网络:Q1用TIP41C,NPN型。集电极接Vin正极,发射极接输出端Vout,同时接R3的一端。R3另一端接R4的一端和Q2发射极,R4另一端接地。输出端接滤波电容C2(100μF)到地。
输入滤波:Vin正极接电容C1(1000μF)到地,用于滤除输入纹波。
整个电路一共用了四个三极管、一个稳压二极管、若干电阻电容。看起来简单,但每个元件的取值都会影响最终性能,下面我按实际搭建顺序一步步说。
4.2 面包板搭建步骤与实测数据
第一步,先搭基准电压源。把R1和D1接好,用万用表量D1阴极对地电压,应该在5.1V左右。如果偏差超过0.2V,换一个稳压管或者检查R1是否接对。我实测用680Ω时,D1阴极电压是5.08V,很稳。
第二步,接误差放大管Q2。先不接采样网络,把Q2发射极暂时接地,基极接D1阴极,集电极通过10kΩ电阻接Vin。这时候量Q2集电极对地电压,应该在0.1V到0.3V之间,说明Q2饱和导通。然后把发射极从地断开,接到采样点。
第三步,接采样网络。R3用1.1kΩ,R4用1kΩ,先不接电位器,固定输出测试。接好后量输出电压,应该在11.5V左右。如果偏差大,检查Q2的基极和发射极是否接反,或者稳压管电压是否准确。
第四步,接推动管Q3和调整管Q1。注意TIP41C的引脚排列是:从左到右依次是基极、集电极、发射极(字面朝自己)。2N2222的引脚排列是:发射极、基极、集电极(字面朝自己,引脚朝下)。BC547和2N2222一样。接好后先不接负载,量输出电压,应该和第三步差不多。
第五步,加负载测试。用一个100Ω/5W的功率电阻做负载,接在输出端。此时负载电流约115mA。量输出电压,应该下降不超过0.1V。如果下降很多,说明调整管或推动管的驱动能力不够,检查Q3和Q1的基极连接。
我实测的数据:输入12V,空载输出11.6V,接100Ω负载后输出11.5V,下降0.1V。接47Ω负载(约245mA),输出11.4V,下降0.2V。接22Ω负载(约520mA),输出11.2V,下降0.4V。这个表现对于分立元件电路来说已经不错了。
4.3 可调输出的实现与调节范围测试
把R3换成2kΩ电位器串联500Ω固定电阻,R4保持1kΩ。电位器调到最小时,R3=500Ω,输出电压约5.75V × (500+1000)/1000 = 8.6V。电位器调到最大时,R3=2500Ω,输出电压约5.75V × (2500+1000)/1000 = 20.1V。但输入只有12V,输出不可能超过输入减调整管饱和压降,所以实际最高输出约11V左右。
实测调节范围:从8.5V到11V连续可调,电位器旋转过程中输出电压变化平滑,没有跳变。如果你想扩大调节范围,可以提高输入电压到18V,这样输出可以调到15V以上。但要注意调整管的功耗会增加,散热片要加大。
4.4 输出纹波与负载调整率实测
用示波器交流耦合档量输出纹波,空载时约5mV峰峰值,接100Ω负载后约15mV峰峰值。这个纹波主要来自输入端的工频纹波和稳压管的噪声。如果在输出端再并一个100μF电解电容和一个0.1μF陶瓷电容,纹波可以降到10mV以下。
负载调整率方面,从空载到500mA负载,输出电压变化约0.4V,负载调整率约3.5%。这个指标不算好,LM317可以做到0.1%以下。但对于学习电路来说,能稳定工作已经达到目的了。想改善的话,可以提高误差放大管的增益,比如用达林顿结构或者换成运放。
5. 调试过程中遇到的典型问题与排查技巧
5.1 输出电压不可调或调节范围异常
这是最常见的问题。我第一次搭好电路后,发现电位器旋转时输出电压几乎不变,始终在11V左右。排查了半天,发现是Q2的发射极接错了位置——我把它接到了R3和R4的连接点,但R3和R4的焊接点虚焊,导致采样电压根本没有反馈到Q2。重新焊接后问题解决。
还有一种情况是输出电压始终等于输入电压,调整管完全导通。这通常是因为Q2截止了,集电极电压升高,导致Q3和Q1都饱和导通。检查Q2的基极电压是否正常(应比发射极高0.6V左右),如果基极电压为零,说明稳压管没工作,检查R1和D1的连接。
5.2 带载后输出电压大幅下降
这个问题我遇到过两次。第一次是因为调整管用了2N2222,带载200mA时功耗超过额定值,管子过热后hFE下降,基极电流不够,输出电压掉到8V。换成TIP41C并加散热片后解决。第二次是因为推动管Q3的基极电阻R2取值太大(用了47kΩ),导致Q3基极电流不足,无法驱动调整管。把R2换成10kΩ后,带载能力明显提升。
排查这个问题的思路是:先量调整管基极电压,如果比输出端高不到0.6V,说明调整管没有充分导通,问题在推动级或误差放大级。再量推动管基极电压,如果接近输入电压,说明推动管饱和了,问题在误差放大管。逐级往前推,很快就能定位。
5.3 输出纹波过大或自激振荡
分立元件稳压电路容易自激,表现为输出端有高频振荡,用示波器可以看到几十kHz到几MHz的杂波。我遇到过一次,输出端并了一个0.1μF电容后振荡消失了。这是因为调整管的输入电容和电路中的分布电感形成了LC振荡,加一个小电容可以破坏振荡条件。
如果纹波是100Hz的工频纹波,说明输入滤波电容不够大。把C1从1000μF增加到4700μF,纹波明显减小。另外,采样网络的走线要尽量短,避免引入干扰。我在洞洞板上把R3和R4靠近Q2放置,纹波比之前分散布局时小了一半。
5.4 常见问题速查表
| 现象 | 可能原因 | 排查方法 | 解决方法 |
|---|---|---|---|
| 输出电压为零 | 输入未接通或调整管截止 | 量Vin和调整管基极电压 | 检查输入连接和Q2工作状态 |
| 输出电压等于输入 | 调整管饱和导通 | 量Q2集电极电压 | 检查稳压管和Q2基极连接 |
| 输出电压不可调 | 采样网络虚焊或电位器损坏 | 量采样点电压是否随电位器变化 | 重新焊接或更换电位器 |
| 带载后电压大跌 | 调整管功耗过大或驱动不足 | 量调整管基极电流和壳温 | 换大功率管、加散热片、减小R2 |
| 输出纹波大 | 输入滤波不足或自激 | 示波器观察纹波频率 | 加大C1、输出并小电容 |
| 输出电压温漂大 | 稳压管温度系数高 | 冷热态分别量输出电压 | 换TL431或加温度补偿 |
5.5 几个容易被忽略的细节
第一个细节是调整管的基极-发射极电阻。在调整管基极和发射极之间并一个1kΩ电阻,可以加速调整管的关断,改善负载瞬态响应。我试过不加这个电阻,负载突变时输出电压有200mV的过冲,加了之后过冲降到50mV以内。
第二个细节是稳压管的旁路电容。在D1两端并一个10μF电解电容,可以滤除稳压管的噪声,输出纹波会进一步降低。但电容不能太大,否则上电时基准电压建立太慢,输出电压会缓慢上升而不是快速稳定。
第三个细节是电位器的接线。如果用长导线连接电位器,导线电感可能引入干扰。我建议把电位器直接焊在电路板上,或者用屏蔽线连接。另外,电位器的滑动端要接一个0.1μF电容到地,滤除调节过程中的抖动。
6. 性能优化方向与扩展玩法
6.1 用TL431替换稳压管提升精度
TL431是一个可调精密基准源,温度系数比1N4733好一个数量级。它的参考电压是2.5V,通过两个电阻分压可以设定任意基准电压。把D1和R1换成TL431和两个分压电阻,基准电压的稳定性会大幅提升。
具体接法:TL431的阴极接R1到Vin,阳极接地,参考端接两个分压电阻的中点。分压电阻的取值要保证TL431的阴极电流在1mA到100mA之间。比如设定基准电压为5V,取上电阻10kΩ,下电阻10kΩ,参考端电压就是2.5V,阴极电压就是5V。实测用TL431后,输出电压从冷启动到热稳定(约10分钟)的变化从50mV降到了8mV。
6.2 增加过流保护电路
分立元件电路没有内置过流保护,输出短路时调整管会瞬间烧毁。加一个简单的过流保护:在调整管发射极串联一个0.5Ω/2W的电阻,再用一个2N2222的基极接在电阻两端,发射极接输出端,集电极接推动管基极。当负载电流超过1.2A时,电阻上的压降达到0.6V,保护管导通,把推动管基极拉低,调整管截止,输出电流被限制在1.2A左右。
这个保护电路我实际搭过,短路测试时输出电流稳定在1.1A,调整管没有损坏。但保护管本身会发热,因为短路时它要承受全部输入电压。所以保护管也要选耐压足够的型号,比如2N5551(Vceo=160V)。
6.3 做成数控可调电源的思路
如果你想用单片机控制输出电压,可以把电位器换成数字电位器(比如MCP41010),或者用DAC输出一个电压去替代基准电压。单片机通过SPI或I2C控制数字电位器的阻值,就能实现数控调节。但要注意数字电位器的耐压通常只有5V,不能直接接在输出端,需要加隔离或者用运放缓冲。
另一个思路是用PWM加RC滤波产生基准电压,单片机调节PWM占空比就能改变基准电压,从而调节输出。这个方案成本低,但PWM纹波会串到输出端,需要加多级RC滤波。我试过用Arduino的PWM加两级RC滤波,输出纹波在20mV左右,对于一般应用够用了。
6.4 从面包板到PCB的注意事项
面包板搭电路适合验证原理,但长期使用建议做PCB。画PCB的时候注意几点:调整管的散热焊盘要足够大,最好铺铜并开窗;采样网络的走线要远离大电流路径,避免引入压降误差;输入输出电容尽量靠近调整管引脚,减小回路电感。
我用Altium Designer画过一版PCB,调整管用TO-220封装,散热焊盘铺了2cm×2cm的铜皮,带1A负载时壳温约55°C,比面包板上的70°C低了不少。另外,PCB上把基准电压源部分用接地铜皮包围起来,减少干扰,输出纹波比面包板低了30%左右。
6.5 这个电路还能怎么玩
除了做稳压电源,这个电路的核心模块还可以拆出来用在其他地方。比如误差放大加调整管的结构,稍加改动就是一个恒流源——把采样网络换成电流采样电阻,基准电压不变,反馈量从电压变成电流,就能输出恒定电流。我用这个思路做了一个LED恒流驱动,输出电流稳定在350mA,驱动1W LED很合适。
另外,把调整管换成PNP型,电路就变成了负压稳压器,可以输出负电压。只要把输入输出极性对调,基准和采样网络也跟着调整,就能得到-5V或-12V的输出。这个玩法在需要双电源的运放电路里很有用,比用两个独立电源简单。
最后再分享一个小技巧:调试的时候,在调整管集电极串联一个电流表,可以实时观察负载电流变化。如果电流突然增大而输出电压下降,说明负载有问题或者调整管快撑不住了。这个习惯帮我避免了好几次烧管子的悲剧。