ARTICLE DETAIL

资讯详情

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

单结晶体管张弛振荡电路:从原理到实战,老器件的新玩法

单结晶体管张弛振荡电路:从原理到实战,老器件的新玩法 单结晶体管这个器件现在很多年轻工程师可能都没怎么摸过了。大家一提到振荡电路第一反应都是运放搭文氏电桥、或者用555定时器再不然就是单片机DAC输出。但如果你翻一翻上世纪七八十年代的经典电路图册会发现大量张弛振荡器、锯齿波发生器、可控硅触发电路里都有一个三个引脚、长得像三极管但脾气完全不同的家伙——单结晶体管UJT。它结构简单、成本极低、触发阈值稳定在调光、调速、定时这些场景里曾经是绝对主力。我最近因为一个老设备维修项目重新把它捡起来搭了一个最基础的张弛振荡电路从选管、算参数到抓波形踩了几个不大不小的坑。这篇文章就把整个过程拆开讲清楚包括电路图怎么画、电阻电容怎么算、示波器上该看到什么、以及为什么你的电路可能不起振。适合刚接触模拟电路的学生、需要做可控硅触发或简易定时方案的工程师以及单纯想搞明白“张弛振荡”到底怎么回事的爱好者。1. 先搞清楚单结晶体管到底是个什么器件1.1 三个引脚但不是一个三极管单结晶体管Unijunction Transistor简称UJT最常见的型号是2N2646、2N2647、BT33、BT35这一类。它外面看是TO-92或者TO-18封装三个引脚分别是发射极E、基极B1、基极B2。名字里带“晶体管”但它跟NPN或PNP三极管的工作机制完全不是一回事。三极管是电流控制电流基极电流决定集电极电流。UJT不是。它的核心结构是一根高阻值的N型硅棒两端分别引出B1和B2中间偏B2一侧做一个PN结引出E极。注意这个PN结的阳极是E阴极是硅棒中段。正常工作时B2接正电压B1接地硅棒上形成一个电位梯度。E极所在的点在没有外部注入电流时电位大约是η×V_B2B1这个η叫分压比典型值在0.5到0.8之间。关键就在这个η。它由器件内部结构决定出厂就固定了而且温度稳定性相当好。2N2646的η典型值是0.56到0.75BT33F大概在0.65左右。这意味着只要B2B1之间的电压稳定E极的触发阈值就是一个非常确定的值。这一点比用三极管搭的触发电路要省心得多不需要复杂的偏置网络。1.2 负阻特性才是它的灵魂UJT最迷人的地方是它的输入特性曲线里有一段负阻区。什么叫负阻就是电压增加的时候电流反而减小或者说电流增加的时候电压反而降低。这在普通电阻、二极管、三极管里都是看不到的。具体过程是这样的当E极电压低于峰值电压V_P约等于η×V_B2B1V_DV_D是PN结正向压降约0.7V时E结反偏或者零偏只有很小的漏电流UJT处于截止状态。当E极电压被外部电路充到V_P时PN结正向导通空穴从E注入到硅棒中段。这些空穴会降低硅棒中段区域的电阻率导致E到B1之间的等效电阻突然变小。电阻变小在同样的外加电压下电流就会增大而E极电压反而被拉低——这就是负阻。这个负阻过程一旦触发就是雪崩式的速度非常快通常在微秒级别。E极电压会迅速从V_P跌到谷底电压V_V典型值只有1到2V。然后随着外部电容放电电流逐渐减小当电流降到谷点电流I_V以下时器件重新回到截止状态E极电压又开始被充电。如此循环就形成了张弛振荡。理解这一点非常重要因为后面所有参数计算都围绕两个关键量峰值电压V_P和谷点电压V_V。V_P决定电容充到多高才触发V_V决定放电放到多低才截止。这两个值都跟B2B1之间的电压直接相关。1.3 为什么不用三极管或555替代有人会问既然三极管也能搭振荡电路555更简单为什么还要用UJT这个问题我在实际选型时认真想过。用三极管搭张弛振荡器需要至少两个三极管构成类似可控硅的结构或者用单结管等效电路。分立元件多阈值电压受温度影响大调试麻烦。555定时器确实方便但它的输出是方波要得到锯齿波还需要额外积分电路而且555的阈值是固定比例不像UJT可以通过调节B2B1电压来线性改变触发点。UJT的优势在于第一触发阈值由η决定温度系数很小实测在-40到100度范围内漂移不到百分之几第二输出脉冲电流大可以直接触发小功率可控硅不需要中间放大第三电路极简一个UJT、一个电容、两个电阻就能起振。在老式调光台灯、电风扇调速器、简易定时器里这个方案的成本和可靠性都是最优解。当然现在如果你要做精确的定时或频率合成肯定选单片机或者专用振荡芯片。但如果是维修老设备、做教学演示、或者需要一个极简的触发源UJT仍然值得掌握。2. 张弛振荡电路的完整搭建过程2.1 电路拓扑与元件清单先上电路结构。整个振荡器就五个元件一个UJT我用的是2N2646、一个定时电容C、一个充电电阻R_E、两个基极电阻R_B1和R_B2。电源V_BB一般取12V到20V我用的是15V。连接方式如下V_BB正端接R_B2到UJT的B2同时接R_E到UJT的E。UJT的B1通过R_B1接地。定时电容C接在E和地之间。输出信号从B1对地取或者从E极取锯齿波。这里R_B2的作用是温度补偿。因为UJT的峰值电压V_P会随温度略微变化而R_B2上的压降会随温度反向变化两者相互抵消。典型取值在100Ω到1kΩ之间我用了470Ω。R_B1是输出负载电阻同时决定脉冲宽度取值在20Ω到100Ω我用的是47Ω。R_E是充电电阻决定充电时间常数取值在10kΩ到1MΩ之间我用了100kΩ。C取0.1μF到10μF我用的是1μF。电源电压V_BB的选择有讲究。太低比如5VV_P可能只有3V左右接近V_V振荡幅度小容易受干扰。太高比如30V功耗大而且R_E上的压降大充电电流小频率稳定性下降。15V是个比较舒服的中间值。2.2 关键参数的计算逻辑现在来算频率。张弛振荡器的周期主要由充电时间决定放电时间很短可以忽略。充电过程是电容通过R_E从V_V充到V_P遵循RC充电公式V_C(t) V_BB - (V_BB - V_V) × exp(-t/(R_E×C))当V_C达到V_P时触发所以V_P V_BB - (V_BB - V_V) × exp(-T/(R_E×C))解出TT R_E × C × ln[(V_BB - V_V)/(V_BB - V_P)]对于2N2646η取0.6V_D取0.7VV_BB15V V_P 0.6×15 0.7 9.7V V_V大约1.5V代入 T 100k × 1μF × ln[(15-1.5)/(15-9.7)] 0.1 × ln(13.5/5.3) 0.1 × ln(2.547) 0.1 × 0.935 0.0935秒频率约10.7Hz。这个频率适合做可视化的LED闪烁或者低速触发。如果你要音频范围的振荡比如1kHz需要把R_E降到1kΩ左右或者C降到0.01μF。这里有个经验公式可以快速估算f ≈ 1/(R_E×C×ln(1/(1-η)))。当η0.6时ln(1/0.4)0.916所以f≈1/(0.916×R_E×C)。跟精确计算差不太多日常估算够用。2.3 实际焊接与布局注意事项面包板搭这个电路完全可以起振但有几个细节不注意就会翻车。第一R_B1和R_B2的功率。虽然电阻值不大但B1在放电瞬间会有较大脉冲电流。我一开始用1/4W的电阻摸上去有点温后来换成1/2W就没事了。计算一下放电时E到B1之间的等效电阻可能只有几十欧15V加在R_B147Ω和等效电阻上峰值电流可能达到100mA以上。脉冲宽度虽然窄但平均功率还是要留余量。第二定时电容的漏电流。这个坑我踩得最狠。一开始随手拿了一个电解电容结果电路要么不起振要么频率乱跳。后来换成CBB薄膜电容立刻稳定。原因是电解电容漏电流大等效并联电阻可能只有几百kΩ跟R_E100kΩ可比导致电容充不到V_P就被漏电流拖住了。所以C必须选薄膜电容、涤纶电容或者NP0/C0G陶瓷电容千万别用普通电解。第三布线。E极的充电节点是高阻抗节点容易拾取干扰。连线尽量短远离电源线和输出线。如果频率较低可以在E和地之间并联一个高阻值电阻比如1MΩ帮助稳定直流工作点但会略微降低频率。第四电源去耦。V_BB到地之间并一个100μF电解加一个0.1μF陶瓷位置尽量靠近UJT的B2。否则电源纹波会直接调制振荡频率示波器上能看到明显的抖动。3. 示波器上到底该看到什么波形3.1 E极的锯齿波从充电到触发的完整周期把探头接到E极地夹接电路地示波器设成DC耦合时基调到10ms/div左右你应该能看到一个非常典型的锯齿波。波形是这样走的电压从V_V约1.5V开始沿着指数曲线向上爬升爬升速度越来越慢这是RC充电的标准形状。当电压到达V_P约9.7V时波形突然垂直下跌几乎是一条竖线回到V_V。然后又开始下一轮爬升。这个“垂直下跌”就是负阻触发的瞬间。下跌时间通常在1微秒以内所以在10ms/div的时基下看起来就是一条竖线。如果你把时基展开到1μs/div能看到下跌沿其实有一点点倾斜那是载流子渡越时间造成的但工程上完全可以当成理想跳变。锯齿波的线性度取决于V_P和V_BB的比值。V_P越接近V_BB充电曲线越弯曲锯齿波线性越差。所以如果你需要线性度好的锯齿波要么提高V_BB要么选η小一点的UJT。2N2646的η范围宽可以挑一个η偏低的个体。3.2 B1输出的窄脉冲幅度和宽度的实测值把探头移到B1对地你会看到完全不同的波形。平时B1电压接近0V只有在E极触发的瞬间B1会跳出一个正向窄脉冲。实测2N2646在V_BB15V、R_B147Ω时脉冲幅度大约4V到5V宽度大约2μs到5μs。这个脉冲的上升沿很陡下降沿稍缓形状接近半个正弦波。脉冲幅度跟R_B1有关R_B1越大幅度越高但宽度也越宽。如果R_B1太大比如超过1kΩ脉冲会变得很宽甚至影响下一次充电导致频率下降。这个脉冲就是用来触发可控硅的。可控硅的触发电流通常需要几毫安到几十毫安UJT的B1脉冲在47Ω负载上能提供大约100mA的峰值电流驱动小功率可控硅绰绰有余。如果你要触发大功率可控硅可以在B1后面加一级三极管放大或者用脉冲变压器隔离。3.3 波形异常时的排查思路不起振是最常见的问题。排查顺序我总结成这样先看E极有没有充电迹象。如果E极电压一直停在0V或者V_BB说明充电回路断了。检查R_E有没有焊错、电容有没有短路、UJT有没有装反。UJT的E极和B1、B2不能搞混2N2646的引脚排列是面对平面从左到右E、B1、B2但不同厂家可能不一样一定要查数据手册。如果E极有充电但充不到V_P就平了说明漏电流太大。重点查电容换薄膜电容试试。也可能是UJT的E结坏了用万用表二极管档测E到B1应该是一个PN结特性正向压降0.6V左右反向无穷大。如果波形有但频率不对先算一下理论值再检查R_E和C的实际值。电阻的误差一般不大但电容的标称值和实际值可能差20%以上尤其是陶瓷电容的直流偏压特性。用LCR表量一下实际容量再算。如果波形抖动厉害看电源纹波。示波器AC耦合看V_BB纹波应该在10mV以下。如果超过100mV加强去耦。4. 从基础电路延伸出去的几个实用变体4.1 用UJT触发可控硅的调光电路这是UJT最经典的应用。把B1输出的脉冲接到小功率可控硅的门极可控硅串在负载回路里就构成了一个相位控制调光器。具体做法交流电源经过负载接到可控硅阳极可控硅阴极接地。UJT振荡器的同步电压从交流电源经过桥式整流后取得但不滤波这样每个半周过零时UJT的V_BB也跟着归零振荡器重新同步。调节R_E的阻值就能改变充电时间常数从而改变可控硅的导通角实现调光。这里的关键是同步。如果V_BB是平滑直流振荡器自由运行触发相位跟交流电没关系可控硅会乱触发。必须用未滤波的全波整流电压给UJT供电让每个半周开始时电容从零开始充电。这样触发角就跟R_E一一对应调光才线性。R_E通常用一个电位器串联一个固定电阻固定电阻限制最小触发角防止电位器调到零时可控硅全导通烧负载。电位器取值500kΩ到1MΩ固定电阻10kΩ左右。4.2 长延时定时器把C换成大容量如果把定时电容C换成100μF甚至1000μF的薄膜电容注意还是不能用电解R_E取1MΩ周期可以拉长到几十秒甚至几分钟。这种长延时电路可以用来做定时关断、间歇工作控制。但这里有个问题电容越大漏电流要求越苛刻。100μF的薄膜电容体积大、价格高。实际工程里更常见的做法是用小电容配高阻值R_E但R_E太大时UJT的峰值电流可能不足以触发因为充电电流太小了。2N2646的峰值电流I_P典型值是5μA左右所以R_E最大不能超过(V_BB-V_P)/I_P。15V供电时(15-9.7)/5μA1.06MΩ。超过这个值电容充到V_P时提供的电流不够维持负阻触发电路就不起振了。所以长延时的正确姿势是R_E取到接近但不超过1MΩC取10μF到47μF的薄膜电容周期能做到几秒到十几秒。再长就得用计数器或者单片机了。4.3 压控振荡改变B2B1电压来调频UJT的V_P跟V_B2B1成正比所以如果你用一个可变电压源给B2供电同时保持B1接地就能通过改变V_B2B1来调节触发阈值进而改变频率。这就是压控振荡器的雏形。具体接法V_BB固定通过一个电位器分压后接到B2B2到地之间接一个滤波电容。E极的充电电阻R_E仍然接V_BB。这样V_B2B1变化时V_P跟着变充电到触发的时间就变了。实测2N2646在V_B2B1从5V变到15V时频率变化范围大约3倍。线性度一般因为V_P跟V_B2B1是线性关系但周期跟ln函数有关。如果要求线性压控需要加线性化电路或者干脆用专用VCO芯片。这个变体适合做简易的频率调制或者扫频信号源但精度别指望太高玩玩可以做产品还是算了。5. 几个容易翻车的细节和我的实测数据5.1 分压比η的离散性比你想的大2N2646的数据手册写η范围是0.56到0.75这不是开玩笑。我手头十个2N2646实测η从0.58到0.72都有。这意味着同样的电路换一个管子频率可能差百分之二三十。如果你要做批量生产要么买η分档的型号比如2N2646按η分A、B、C档要么在电路里加一个微调电位器。我自己的做法是R_E用固定电阻加多圈电位器调试时用频率计监测调到目标频率后锁死。测η的方法很简单给B2B1加一个固定电压比如10V慢慢升高E极电压记录E极电流突然增大时的E极电压减去0.7V再除以10V就是η。没有可调电源的话用电路本身也能估V_P约等于η×V_BB0.7从示波器上读出V_P反推η。5.2 温度对频率的影响实测我把电路放进恒温箱从25度升到60度频率从10.7Hz变到10.2Hz变化约5%。这个漂移主要来自V_V和V_P的温度系数以及电容的温度系数。如果电容用的是CBB温度系数很小那主要就是UJT本身的漂移。R_B2的温度补偿确实有用。我试过把R_B2短路同样温度范围内频率变化超过10%。加上470Ω的R_B2后降到5%左右。如果要进一步补偿可以在R_B2上并联一个负温度系数的热敏电阻但那就复杂了一般应用没必要。5.3 输出脉冲驱动可控硅时的实际电流我用示波器电流探头测了B1脉冲的峰值电流。在R_B147Ω时峰值约85mA脉冲宽度3μs。这个电流触发BT151这类小功率可控硅没问题但触发BTA41这种大功率可控硅就有点勉强需要加一级射极跟随器缓冲。加缓冲的方法B1脉冲经过一个1kΩ电阻接到NPN三极管的基极三极管集电极接V_BB发射极接可控硅门极和下拉电阻。这样UJT只需要提供很小的基极电流三极管提供大的门极电流。注意三极管的响应速度要快用2N2222或者BC547就行。5.4 电源电压低于10V时的表现我试过把V_BB降到9V电路仍然起振但V_P只有6.1V左右V_V约1.2V振荡幅度不到5V。示波器上看锯齿波明显变矮而且频率对电源电压变得敏感V_BB变化0.5V频率就变10%。所以如果电源不稳要么提高V_BB要么加稳压。V_BB的下限大概是V_P必须明显大于V_V一般要求V_BB至少8V。再低的话V_P和V_V太接近负阻区太窄容易受噪声干扰误触发。6. 从UJT到现代方案的选型思考6.1 什么场景下UJT仍然是最优解虽然现在可选的振荡方案很多但UJT在几个特定场景下仍然有优势。一是维修老设备。很多七八十年代的调光器、调速器、定时器用的就是UJT电路图上的型号可能是BT33、BT35或者2N2646。如果你要修复这些设备用现代芯片替代反而麻烦直接找同型号UJT换上最省事。二是教学演示。UJT的负阻特性非常直观一个示波器就能看到从充电到触发的完整过程比讲三极管放大或者运放振荡更容易让学生理解“阈值”和“正反馈”的概念。三是极简触发电路。如果你只需要一个几赫兹到几千赫兹的脉冲源去触发可控硅而且对频率精度要求不高UJT方案只需要五个元件成本不到一块钱可靠性还高。6.2 替代方案对比555、运放、单片机如果抛开维修和教学场景纯做新设计UJT的替代方案确实更多。555定时器做张弛振荡器频率范围更宽从0.1Hz到500kHz都很稳而且输出是方波驱动能力强。缺点是阈值固定为2/3 VCC要调频率只能改RC不能像UJT那样通过改变B2电压来压控。运放搭文氏电桥振荡器输出正弦波失真度可以做到很低适合音频测试。但需要双电源电路复杂频率调节需要同轴电位器。单片机方案最灵活一个引脚输出PWM频率和占空比随便调还能数码显示。但需要编程而且在高噪声环境下可能受干扰。我的建议是如果频率精度要求高于1%选单片机或者555。如果只需要一个粗略的脉冲源而且希望电路极简、成本极低、抗干扰好UJT仍然值得考虑。6.3 从UJT电路里能学到的通用设计思路最后说点虚的但我觉得比具体电路更重要。UJT张弛振荡器本质上是一个“阈值检测正反馈”系统。电容充电是积分过程UJT触发是比较器负阻是正反馈。这个结构在开关电源的PWM控制器、可控硅触发、甚至神经网络的脉冲神经元模型里都能看到影子。理解了V_P和V_V这两个阈值你就理解了所有张弛振荡器的核心。换成555阈值变成2/3 VCC和1/3 VCC换成施密特触发器阈值变成VT和VT-。形式变了逻辑没变。另外R_B2的温度补偿思路也很典型。用一个正温度系数的电阻去抵消器件的负温度系数这种“以毒攻毒”的补偿方法在模拟电路里到处都是。热敏电阻、补偿电容、稳压二极管的温度系数匹配都是同一个道理。我在实际搭电路的时候一开始总想着用最理想的元件后来发现真正让电路稳定的往往不是高精度元件而是合理的补偿和冗余设计。UJT这个老器件教会我的就是接受器件的不完美然后用电路技巧去弥补它。
返回列表