ARTICLE DETAIL

资讯详情

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

用BJT三极管搭出音频放大器:从原理到Arduino实做

用BJT三极管搭出音频放大器:从原理到Arduino实做 这些年我前前后后拆过好几台老收音机有一台从收废品那淘来的机壳裂了一条缝但收音部分完全正常。问题只有一个耳机孔接上耳机声音凑合能听可一旦想外放或者接进Arduino这种开发板做音频实验信号就弱得让人想砸桌子。其实这不是收音机坏而是缺了中间一级——音频放大器。后来我干脆用BJT三极管自己搭了一个简易音频放大器成本不到十块钱全程面包板搞定顺手还把它接到了Arduino上玩各种音频小项目。这篇博文就把电路图、元件清单、原理推导和实操踩坑全写清楚照着搭基本一次通电就能出声。这套东西适合谁一个是还在啃三极管原理、想知道书本上那堆偏置电阻到底怎么用的学生党另一个是手头有Arduino、想给它加一级干净放大输出的DIY玩家还有纯粹想把老收音机耳机口废信号重新利用起来的折腾型选手。别被“音频放大器”这几个字吓到核心就是一只BJT加几个电容电阻原理吃透了以后做传感器信号调理、做音频前端都能复用同一套思路。1. 为什么用BJT搭音频放大器原理与选型背后的门道音频放大器听起来像是个“高保真专用设备”但实际上最原始的放大需求就是“把小信号变大”。收音机耳机口输出的信号幅度大约在几十毫伏到两三百毫伏之间直接驱动不了喇叭但如果先把它送进一只BJT三极管的基极让三极管用外部电源的能量去复制并放大这个信号就能得到几伏级别的输出。这正是音频放大器最本质的工作方式。1.1 不到一分钟看懂BJT的工作本质BJT三极管的英文全称是Bipolar Junction Transistor翻译过来是“双极型晶体管”意思是它内部同时靠电子和空穴两种载流子导电。NPN型三极管可以理解成一个“电流控制的电流源”基极电流Ib流入后集电极电流Ic会被放大成β倍直流放大倍数常见小信号管在100到400之间。这个β在数据手册里写作hFE。很多人一开始学三极管总喜欢念叨“放大电流、放大电流”但真正搭放大电路时你会发现我们关心的并不是电流本身而是电流流过电阻时在电阻两端产生的电压变化。放大电压的本质就是把Ib的变化转成Ic的变化再让Ic流过一个电阻Rc从而在Rc上得到ΔU ΔIc × Rc这么大的电压摆动。只要这个摆动比输入信号的电压变化大电路就完成了“放大”。音频信号是交流信号正负交替而三极管只对单一方向的基极电流敏感。所以必须先把信号的工作点垫到一个合适的直流电流上让输入信号在这个直流基础上做“小幅度摇摆”三极管才能完整地放大信号的正半周和负半周。这就是静态工作点存在的意义。后面计算那一节会专门演示怎么把这工作点算出来。1.2 共射极放大电路为什么是最顺手的方案三极管放大电路有共射极、共集电极、共基极三种基本接法名字里的“共”指的是哪个极作为输入输出的公共端。音频放大器领域共射极电路用得最多因为它同时具备电压增益和电流增益一级电路就能把信号放大几十倍。共射极电路的特点是信号从基极进、集电极出、发射极直接或者通过电阻接地。集电极电阻Rc是关键角色它把集电极电流的变化转化成集电极电压的变化。栅极偏置则负责设定一个合理的直流工作点让三极管处于放大区而不是饱和区或截止区。共集电极电路也叫射极跟随器在音频电路里也常见但它的电压增益约等于1优点是输入阻抗高、输出阻抗低适合做阻抗变换也就是把一个高阻抗的信号源接到低阻抗负载上去。共基极电路增益也不低但输入阻抗很低音频场景里很少直接用。所以我的建议很明确想学原理、想搭出一个真正“有放大效果”的音频放大器第一选择永远是共射极。1.3 和运放、JFET放一起比一比BJT赢在哪做过两年电子DIY以后你会发现同一级放大任务摆在桌面上的方案有运放、JFET结型场效应管、BJT三种。运放是目前最省心的方案一片NE5532或LM358就能达到很高的增益和很低的失真外围电阻一搭就有固定增益很多成品音频前级都用它。那为什么还要学BJT因为运放是“给你结果”BJT是“展示过程”。用BJT搭放大电路你必须自己算偏置、算工作点、算增益。这笔账算明白了之后用运放、用仪器仪表你都清楚每一级电压是怎么来的。而且BJT分立电路在成本、供电灵活性和细节调校上有自己的位置比如有些高阻抗麦克风前置电路会用JFET加BJT组合JFET负责高阻抗输入BJT负责电流放大和输出驱动两个器件各干各的强项。JFET的输入阻抗非常高适合直接接麦克风、拾音器这类源阻抗很高的信号源但它的一致性不太稳定同型号不同管子之间参数差异比BJT大对初学者不算友好。BJT的输入阻抗虽然低一些但偏置电阻可以通过分压网络灵活设计数值可控、计算简单、市面上随便哪个元件盒里都能翻出几只这才是它适合入门教学的核心原因。2. 元件清单与工具准备照着买就行既然要动手搭第一件事就是把材料准备齐。我不太建议一开始就买那种“全彩套装”里面一大堆用不上的传感器模块。做这个音频放大器项目全部核心元件不超过十种到本地电子市场或者网购平台搜对应型号就能一次买全。2.1 核心元件清单下面这张表格是我实际焊接和面包板搭建时用的元件清单全都按“最容易买到、参数适中、不会踩坑”的原则选出来的元件型号/参数数量作用说明NPN三极管2N3904或S8050、90131只核心放大器件上偏置电阻47kΩ1/4W1只与R2组成分压设定基极电位下偏置电阻10kΩ1/4W1只配合R1设定静态工作点集电极电阻1kΩ1/4W1只把Ic变化转为电压变化发射极电阻220Ω1/4W1只稳定工作点抑制温漂发射极旁路电容10μF100μF电解电容1只交流短路Re提升增益输入耦合电容1μF电解电容或0.1μF薄膜电容1只隔离直流通过交流信号输出耦合电容10μF100μF电解电容1只隔离输出端直流保护负载电源退耦电容100μF电解电容0.1μF陶瓷电容各1只滤除电源高频纹波面包板跳线若干若干连接电路信号源手机耳机孔/收音机耳机孔1台输入信号负载耳机、有源音箱或压电蜂鸣片1个听声音结果常用电阻功率选1/4W就够三极管整机也就几十毫瓦功耗电阻不会发热。电解电容耐压选16V或者25V比5V供电高出一大截安全裕量足够。2.2 三极管选型2N3904、9013、S8050怎么选新手最容易卡在“我该买哪个型号”上。我的回答非常直接有2N3904就买2N3904没有就用S8050或者9013这三者的引脚排列绝大多数是EBC排列但S8050也有BCE排列的封装务必用万用表确认和参数都适合这个小功率放大场景。2N3904是北美最经典的小信号NPN管hFE大约在100到400之间集电极最大电流200mA截止频率300MHz做音频放大绰绰有余。S8050和9013是亚洲市场常见的管子9013的hFE通常也能做到100以上驱动几十毫安的集电极电流都没有压力。有些廉价的9013引脚排列是EBC而S8050某些批次是BCE区别很要命接反了三极管不工作或者直接烧所以上电前一定用万用表二极管档找一下BC、BE的方向顺便确认hFE档能读到放大倍数。我自己的习惯是凡是网购“三极管套装”到手后先用万用表的hFE档挨个测量并记录放大倍数然后把β值接近的管子归类。音频放大器对β值不敏感但一致的β值会在后面做两级放大时更方便调试。2.3 工具准备与测量注意搭面包板至少需要一个数字万用表、一把剥线钳、若干面包板跳线。如果准备改成洞洞板焊接那么再准备一把尖头烙铁、焊锡丝和吸锡带。万用表是刚需因为后面调试静态工作点时每一步都要量电阻两端的电压没有表就只能靠猜。测量时有一个很容易犯的错误测电压要把红黑表笔并联在元件两端测电流要串联在回路里。新手经常用电流档去直接并联电池两端结果就是烧表保险丝。调试音频放大器这种小电流电路我几乎全程只用电压档通过测已知电阻两端电压再除以阻值来推算电流尽量避免串联电流表打断电路。3. 电路图解析与参数计算看得懂、算得出、搭得对网上搜“音频放大器电路图”能搜出一大堆但很多图要么没有标明元件数值要么数值一看就是拍脑袋写的。这一节我给出一个经过实测、适合5V供电的完整电路然后一步一步教你算工作点和增益。学会了这套计算以后自己改供电电压、改三极管都知道公式怎么用。3.1 整机电路连接示意先看电路连接关系。NPN三极管2N3904的集电极通过Rc接电源正极发射极通过Re接地。基极接到R1和R2的分压点R1另一端接电源正极R2另一端接地。输入信号经过C1耦合电容接到基极与R2的接点上。C2并联在Re两端作为发射极旁路电容。C3从集电极引出作为输出耦合电容输出端接耳机或下一级电路。下面用文字画出连接逻辑方便对照面包板一排一排地插VCC (5V) | ├─ R1 47kΩ ──────┬───────── 基极 | | | R2 10kΩ C1 Q1 2N3904 | | | 集电极─ Rc 1kΩ ─── VCC GND IN 发射极─ Re 220Ω ─── GND | GND为了更直观我拆成逐点连接看着更清楚VCC接R1一端R1另一端接节点B。节点B接R2一端R2另一端接GND。节点B接C1正极C1负极接信号输入端。节点B接Q1的基极。Q1的集电极接Rc一端Rc另一端接VCC。Q1的发射极接Re一端Re另一端接GND。C2并接在Re两端注意电解电容正极接Q1发射极侧。Q1的集电极接C3正极C3负极接信号输出端。这里所有电解电容的极性都必须朝正确方向接反了轻则漏电、重则炸裂电解电容内部压力会骤升。判断规则电容正极接直流电位高的一侧。C1正极接基极偏置节点大约0.9V负极接输入信号通常为0V附近C2正极接发射极约0.2V负极接地C3正极接集电极约4V负极接负载或悬空这几个方向都按“高电位到低电位”来就对了。3.2 静态工作点完整计算5V供电版全过程为什么要算静态工作点因为三极管只有在放大区——也就是Vce在饱和电压以上、且集电结反偏——才能让交流信号无失真地通过。静态工作点设得太高正半周会撞上饱和区顶部被削平设得太低负半周会进入截止区底部被截掉。目标是把Vce设定在电源电压的一半左右让输出电压能双向摆动。以VCC5V、R147kΩ、R210kΩ、Rc1kΩ、Re220Ω为例。第一步计算基极电压。分压电路的空载输出电压公式是Vb ≈ VCC × R2 / (R1 R2) 5 × 10 / (47 10) 50 / 57 ≈ 0.877V虽然基极会拉走一点电流但由于三极管的β通常大于100基极电流只有几个微安对分压点的影响很小工程上可以忽略。第二步计算发射极电压。NPN硅管的发射结压降Vbe约0.65V到0.7V之间。因此Ve Vb - Vbe ≈ 0.877 - 0.65 0.227V第三步计算发射极电流。发射极电阻Re两端电压就是Ve所以Ie Ve / Re 0.227V / 220Ω ≈ 1.03mA由于Ie约等于Ic集电极电流大约就是1mA。第四步计算集电极电压和Vce。集电极电阻Rc上的压降是Vrc Ic × Rc 1mA × 1kΩ 1V所以集电极电位Vc VCC - Vrc 5 - 1 4VVce Vc - Ve 4 - 0.227 3.773VVce大于饱和电压约0.2V说明三极管处于放大区静态工作点合理。电源电压5V的话集电极电压4V离电源轨还有1V余量离发射极还有3.7V余量。这意味着输出信号最坏情况下可以向上摆1V、向下摆3.7V。咦看起来不对称确实为了追求电路简单这个偏置方案牺牲了一点对称性但正好说明一个问题如果你想要更大的输出摆幅可以把Rc选大一点让Vc降到2.5V附近例如Rc2.2kΩ但增益也跟着改变需要自己权衡。3.3 增益怎么来的耦合电容与旁路电容各自的任务交流通路里输入信号加到基极后基极电压发生微小变化ΔVb发射极电压也跟着变化ΔVe但C2把Re在交流信号下短路了所以发射极交流等效接地交流信号看到的发射极阻抗只剩三极管内部的小信号等效电阻re。re的计算公式是re ≈ 26mV / Ie 26mV / 1.03mA ≈ 25Ω这个公式来自半导体物理中二极管电流与跨导的关系常温下工程上取26mV。理解这个数字很重要工作电流越大三极管的跨导越高re越小增益越大。输出电压变化量是ΔIc × Rc输入电压变化量约等于ΔIb × β × re或者更直接地共射极电路电压增益近似为Av ≈ -Rc / re 1000 / 25 40倍负号代表反相也就是输入上升时输出下降。40倍电压增益相当于32dB对一级小信号放大来说是相当可观的数字。如果去掉C2旁路电容等效发射极阻抗变成Rere≈245Ω增益会掉到4倍左右这就是为什么C2必须接上才能获得高增益。耦合电容C1和C3则各自承担“隔直”任务。C1隔断输入信号源可能带有的直流分量防止它破坏基极偏置。C3隔断集电极4V直流电压防止直流电流灌进耳机或下一级电路烧毁器件。电容的取值决定低频截止频率C1和后面的输入阻抗共同构成高通滤波器具体公式后面会提。3.4 想提高增益或匹配不同阻抗怎么改实际使用中40倍增益对耳机信号可能稍大对收音机耳机口信号又刚好。如果信号源更强比如手机耳机口输出能到几百毫伏接入后可能失真。这时可以在C2旁路电容的位置串联一个10Ω到100Ω的电阻再接地让交流信号也看到一点负反馈把增益压到10~20倍同时降低失真。如果信号源很弱比如动圈麦克风只有几毫伏40倍还不够可以把Rc调到4.7kΩ同时调整R1到100kΩ、R2到20kΩ让工作点继续保持在放大区。此时re仍是25Ω左右增益大约188倍。不过增益不是越高越好——电阻值越大内部热噪声和电源纹波也会被放大整机信噪比可能变差。做DIY音频放大器建议在“够听”和“不自激”之间找一个平衡点通常一级放大做20到60倍最舒服。还有一条经验线想让高频更通透C1和C3可以考虑用薄膜电容代替电解电容。电解电容在高频下等效串联电阻更大声音会蒙一点。但作为入门实验先用便宜的电解电容听清原理后续再发烧也不迟。4. 动手实做从面包板到收音机、Arduino理论算完了接下来就进入最快乐的环节——插面包板。我第一次搭这个电路从手忙脚乱到通电出声总共花了不到十分钟但中间也遇到过信号源接地没共地导致的无声问题。这节我按实际操作顺序一步步写你跟着做基本不会翻车。4.1 一步一步搭面包板面包板的上下两排横向连通中间五孔纵向连通。先把2N3904插在面包板中央让三个引脚分别落在三条不同的纵向跳线上并确保引脚顺序和封装图对得上。如果你不确定引脚排列用万用表二极管档测红表笔接一个脚、黑表笔接另外两个脚如果都显示0.6V左右那红表笔接的就是基极剩下两个脚中电压更高的那个是发射极。随后按连接关系逐个插电阻和电容插入R1一端连接VCC正极排另一端连接基极节点。插入R2一端连接基极节点另一端连接GND排。插入Rc一端连接VCC正极排另一端连接三极管集电极节点。插入Re一端连接三极管发射极节点另一端连接GND排。插入C2并接在Re两端正极朝三极管发射极侧。插入C1负极接信号输入线正极接基极节点。插入C3正极接集电极节点负极接信号输出线。接线完成后先别急着接信号源。先用万用表测量各个节点的直流电压基极应该在0.8V左右发射极0.2V集电极4V左右电源正负极之间没有短路。测完再输入信号。4.2 接耳机和收音机的实操细节信号源接法很多人搞错。手机或收音机的耳机孔是立体声三极插头左右声道和内芯都是信号正极外壳是公共地。你需要一个3.5mm音频线把它剪断后剥出里面的线芯左右声道两股线可以并在一起作为正极外面的屏蔽层作为负极。把正极线接C1负极把负极线接到面包板的GND排同时保证收音机或手机的地与电路共地。这一步非常关键如果不共地信号根本没有闭合回路放大电路只会输出嗡嗡噪音。负载接法同理。吃灰耳机拆一只或者用那种几块钱的压电蜂鸣片注意不是带驱动电路的那种有源蜂鸣器而是压电陶瓷片正极接C3负极负极接GND。接通电源后慢慢旋转收音机音量旋钮你应该能在耳机或蜂鸣片里听到清晰的广播声。如果声音很小检查C2是否插好如果声音破音检查输入信号是不是太大了把收音机音量调小一点。4.3 接Arduino输出的问题与解药和收音机相比Arduino的数字输出引脚只能输出0V或5V两个电平直接插到C1输入端放大电路会因为输入信号幅度太大而严重失真。很多人在这一步翻车以为电路有问题其实是驱动电平不匹配。想让Arduino播放WAV或蜂鸣音乐有两条路。第一条是用analogWrite()配合PWM输出频率约490Hz或980Hz取决于引脚再让输出经过一个RC低通滤波把PWM载波滤掉只留下模拟音频包络。可以在Arduino输出引脚上串一个10kΩ电阻到GND再接一个1μF电容到C1负极构成一个简单低通滤波截止频率约1/(2πRC) ≈ 16Hz这就把PWM高频载波干掉大半。第二条路是用 Arduino 里更高精度的DAC引脚。但基础型号的Uno板子没有真正的DAC只能靠PWM。如果你用的是ESP32或某些带DAC的开发板DAC输出可以直接经过C1输入到放大电路效果更好。有ESP32的还可以顺便把WAV文件放在SD卡或者通过WiFi传输做一台网络音频播放器。一定要记住Arduino输出的地线必须和放大器电路共地。接线顺序是Arduino GND接面包板GND排Arduino信号引脚接滤波电路再进C1接好之后打开串口监视器播放测试音基本能从头到尾跑通。4.4 仿真验证Multisim / Wokwi 先模拟再动手现在做电子实验有个好处可以先用仿真软件把电路跑一遍确认参数没问题再动手焊。Multisim是很多院校用的仿真工具里边的元件库自带2N3904搭电路和搭面包板几乎一样。地址栏里找到万用表工具可以直接显示工作点电压比我前面手算的还方便。如果不想装重型软件在Wokwi这个网页仿真平台里它反而更适合Arduino相关项目左侧选Arduino Uno再选BJT元件库里的2N3904把电阻电容拖进去点开始仿真就能看到波形。Wokwi的好处是免费、网页打开就能用、还自带逻辑分析仪对入门调试足够了。我自己的习惯是先算一遍再仿真一遍最后实搭一遍。三次结果对照如果全部一致电路基本不会出错。仿真还能帮你快速试错比如把R1改成100k看波形怎么变化心里对电路的理解会加深不少。5. 常见问题速查与实际调试心得DIY音频放大器出问题几乎不会是“原理不对”而是接线、共地、电容极性这种细节。我把这几年调试类似电路遇到的高频问题和对应的解决方案整理了一下做成速查表建议收藏后按图索骥排障。5.1 常见问题速查表现象可能原因排查与解决办法完全无声三极管引脚接错用万用表二极管档确认B、C、E按确认后的排列重插完全无声电源没接地共地确认信号源地与面包板GND连通完全无声电解电容接反检查C1、C2、C3极性方向接反时电容可能漏电发热声音很小C2旁路电容没插好确认C2确实并联在Re两端接触良好声音破音输入信号过大调小信号源音量或增大R1/R2分压比例降低增益有广播但有明显底噪电源纹波大在VCC与GND之间加0.1μF和100μF电容并联退耦手靠近电路杂音变大输入端悬空或接触不良检查C1与信号线连接或者用屏蔽线做输入通电后管子发烫工作点电流过大量Re两端电压若大于0.5V说明Ie过大增大Re或调R1/R2比例高频声音刺耳旁路电容选小了适当增大C2到47μF~100μF降低高频增益尖峰注意电解电容接反造成的故障很阴险有时还能出声但声音里夹杂持续的沙沙杂音而且电容外壳会微微发热。遇到这种诡异现象第一时间拆掉电解电容检查正负极往往就能找到病根。5.2 我在调试中踩过的4个坑第一个坑是“信号源地没接”。我第一次用手机耳机口做信号源只把信号正极接到了电路输入端没把手机的地接到面包板GND结果示波器上看到一堆毛刺声音完全是噪音。当时还以为是三极管坏了后来才想到音频插头的地必须共地。现在只要接音频信号源我第一件事就是确认屏蔽层是否连上了GND排。第二个坑是“以为增益越高越好”。我把Rc换到10kΩ试图把增益推到400倍结果电路各种自激啸叫。高频自激在面包板上太常见了原因包括走线过长、电源退耦不足、输入输出线靠太近。后来我在电源两端并联了0.1μF陶瓷电容把输入线和输出线分开走啸叫才消失。做音频放大稳定压倒一切。第三个坑是“面包板接触不良”。面包板用久了中间弹簧片会氧化或松弛看起来插进去了其实没通。最后我总结出一个排查顺序先量电源轨有没有5V再量基极电压然后是集电极电压一级一级往下量。几分钟就能定位到哪条跳线出问题。第四个坑是“PWM输出直接接放大电路”。Arduino的PWM输出频率大约490Hz虽然听感上是频率可变的方波但它含有大量高频分量。没加RC滤波时放大电路输出的是一团刺耳的响声完全听不出旋律。后来加了10kΩ电阻和1μF电容的低通滤波再进放大器声音就正常多了。只要是开发板PWM输出滤波这步不能省。5.3 再往前走一步音量电位器、两级放大、推喇叭改造思路基础版电路玩明白后有两条明显的升级路径。第一条是加音量电位器在C1前面串一个10kΩ或者50kΩ的对数型电位器中间抽头接C1另外两端分别接信号源和地就能实现音量连续调节。特别提醒音频用对数电位器标记为A型线性电位器B型调音量时前段变化太猛手感很怪。第二条是加一级射极跟随器输出用来驱动低阻抗负载。共射极放大器输出阻抗偏高直接推阻抗只有32Ω的耳机时电压会被拉低很多。用一个三极管接成共集电极电路基极接前级输出发射极接一个10Ω到100Ω的电阻到地输出从发射极引出再接一个220μF电容到耳机这样输出阻抗大幅降低耳机听感更稳。如果你想让放大电路直接驱动小喇叭那已经不是“简易放大器”的范围了需要再加一级功率放大或者用音频功放芯片比如PAM8403这类D类功放模块几块钱一个效率高很多。先把手头的BJT小信号放大电路调好再往功率方向走会顺很多。这个小项目扩展空间还很大想加音调控制可以在反馈回路里串RC网络做高音和低音调节想加大动态可以让两级BJT放大器配合JFET缓冲想做成完整作品可以把Arduino的PWM音频源和这个放大器装进一个3D打印外壳里变成一台复古风桌面音频装置。这大概就是我开始玩电子时最享受的部分——一个小三极管配上几颗电阻电容就能让无声的信号重新开口说话。实际上在调试完这个电路后我自己最大的感受就是书里的公式真的有用但只有亲手量过基极电压、听过失真声音的变化那些公式才真正变成你的东西。
返回列表