ARTICLE DETAIL

资讯详情

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

基于LM324与74LS74的复合信号发生器设计与实现

基于LM324与74LS74的复合信号发生器设计与实现 1. 项目缘起与整体设计思路1.1 为什么选择LM324加74LS74这个组合做电子设计竞赛训练的人绕不开“复合信号发生器”这道题。它几乎是所有信号类赛题的母题——要求同时输出方波、三角波、正弦波还得能调频率、调幅度甚至有些年份还要求两种波形叠加输出。我第一次接触这道题是在实验室翻学长留下的板子上面密密麻麻全是运放和数字芯片当时就觉得这东西看着复杂拆开看其实逻辑很清晰。核心需求就三条第一产生一个基础方波作为整个系统的“心跳”第二把方波积分成三角波第三把三角波滤波成正弦波。方波由运放构成的滞回比较器产生三角波由积分器对占空比固定的方波积分得到正弦波则通过低通滤波器或二极管整形网络从三角波转换而来。频率调节靠改变积分时间常数或比较器阈值幅度调节靠输出级的比例放大。那为什么偏偏选LM324和74LS74这背后有很实际的考量。LM324是四运放一颗芯片里集成了四个独立运放刚好够用一个做滞回比较器一个做积分器一个做低通滤波一个做输出缓冲或幅度调节。它是单电源供电最低3V就能工作最高32V对实验室常见的±12V或单12V电源都很友好。更关键的是它的输入可以低到地电位输出也能接近地这在单电源场景下省去了很多偏置麻烦。价格便宜到处都能买到烧了也不心疼。74LS74是双D触发器这里用它的核心原因是做四分频。方波振荡器产生的频率往往比较高比如几十千赫兹而我们需要输出的信号频率可能在几百赫兹到几赫兹之间可调。用D触发器接成T触发器形式每来一个时钟沿翻转一次就是二分频两级级联就是四分频。74LS74内部有两个独立的D触发器刚好够用。它的最高时钟频率在LS系列里大概25MHz左右对付这种音频段到低射频段的信号绰绰有余。注意LM324的压摆率只有0.5V/μs左右这意味着它在高频段输出方波时边沿会变缓三角波在高频时线性度会下降。如果你的题目要求频率上限超过20kHz建议换TL084或NE5532但LM324在10kHz以内表现完全够用。1.2 系统框图与信号流向整个系统的信号流向是这样的滞回比较器产生方波方波经过74LS74四分频后得到频率更低的方波这个低频方波再送入积分器变成三角波三角波经过二阶低通滤波器变成正弦波。同时四分频后的方波也直接引出作为方波输出。这样三种波形就都有了而且频率是联动的——调振荡频率三种波形同步变化。为什么要在比较器后面加分频因为直接用比较器输出的方波去积分频率太高积分器的RC时间常数要设得很小电阻太小会导致运放输出电流过大电容太小又容易受寄生电容影响。先分频把频率降下来积分器的RC就可以用比较舒服的数值比如10kΩ配10nF时间常数100μs对应10kHz左右的方波能积出漂亮的三角波。幅度调节放在最后一级用一个同相比例放大器反馈回路里串一个电位器这样旋转电位器就能连续改变输出幅度。三种波形各自经过一个电位器分压后汇入输出级或者用开关选择波形后再放大。我倾向于后者因为开关切换更干脆不会出现两种波形同时串到输出端的情况。1.3 供电方案的选择LM324和74LS74都是单电源或双电源都能工作的器件但为了信号动态范围最大我选择±12V双电源供电。正负12V来自一个简单的工频变压器加整流滤波再用7812和7912稳压。7812输出12V7912输出-12V中间抽头接地。这样运放的输出可以围绕零电位上下摆动方波的正负半周对称积分出来的三角波也对称正弦波失真最小。如果你手头只有单电源比如12V和地也可以工作但需要把运放的同相端偏置到6V让输出围绕6V摆动。这样输出端会有一个6V的直流分量需要用隔直电容去掉。多一个电容就多一个相位偏移在低频时影响明显。所以条件允许的话还是上双电源。74LS74的供电是5V不能直接接12V否则会烧。用一个7805从12V降到5V给它供电。74LS74的输入高电平最低2VLM324在±12V供电下输出高电平接近10V直接驱动74LS74的时钟输入端没问题但最好串一个10kΩ限流电阻防止输入电流过大。2. 核心电路细节与参数计算2.1 滞回比较器方波的源头滞回比较器是整个系统的振荡源它的原理是用正反馈把运放变成施密特触发器。电路结构是运放反相端接一个RC网络到地同相端接分压电阻网络提供参考电压输出通过反馈电阻回到同相端形成正反馈。具体参数R110kΩ从输出接到同相端R210kΩ从同相端到地R310kΩ从输出接到反相端C110nF从反相端到地。同相端的阈值电压由R1和R2分压决定当输出高电平时阈值是Vout_high×R2/(R1R2)输出低电平时阈值是Vout_low×R2/(R1R2)。LM324在±12V供电下输出高电平约10V低电平约-10V所以上阈值约5V下阈值约-5V。反相端的电容C1通过R3充放电。当输出高电平时10V通过R3给C1充电反相端电压上升当上升到5V时比较器翻转输出变低然后-10V通过R3给C1放电反相端电压下降降到-5V时再次翻转。如此循环输出就是方波。振荡频率的计算公式是f1/(2×R3×C1×ln(12×R2/R1))。代入R1R210kΩR310kΩC110nFln(12)ln3≈1.0986所以f1/(2×10k×10n×1.0986)≈4.55kHz。这个频率经过四分频后约1.14kHz在音频范围内适合做后续处理。实操心得R1和R2的比值决定了阈值电压也决定了频率。比值越大阈值越高电容充放电时间越长频率越低。但阈值不能超过运放输出的饱和电压否则电路不起振。一般取R1R2阈值是输出幅度的二分之一比较稳妥。2.2 74LS74四分频电路把频率降下来74LS74内部有两个D触发器每个都有独立的D、CLK、SET、RESET引脚。要做四分频需要把两个触发器都接成T触发器形式把D端接到反相输出Q非端这样每个时钟上升沿输出就翻转一次。第一级D1接Q1非CLK1接比较器输出的方波SET1和RESET1都接高电平无效Q1输出就是二分频方波。第二级D2接Q2非CLK2接Q1SET2和RESET2接高电平Q2输出就是四分频方波。这里有个细节74LS74是上升沿触发所以比较器输出的方波上升沿要足够陡。LM324的压摆率有限在4.55kHz时上升时间约20μs对于74LS74来说这个边沿太缓了可能导致触发不稳定。解决办法是在比较器输出和74LS74时钟输入之间加一级晶体管整形或者用74LS14施密特触发器整形。我实际搭电路时用的是74LS14一片六施密特触发器只用其中一路把缓变的方波整成陡峭的方波再送给74LS74。74LS74的电源是5V输入高电平最低2V低电平最高0.8V。LM324输出±10V的方波直接接进去会超过输入电压范围虽然74LS74内部有钳位二极管但长期这样用不可靠。串一个10kΩ电阻限流再用两个二极管分别钳位到5V和地把电压限制在-0.7V到5.7V之间这样既安全又能可靠触发。2.3 积分器方波变三角波积分器的核心是一个运放加一个电容。输入方波通过电阻R4接到反相端电容C2跨接在反相端和输出端之间同相端接地。当输入为正时电流通过R4给C2充电输出下降当输入为负时C2通过R4放电输出上升。因为方波的正负半周对称所以输出就是三角波。参数计算方波频率f1.14kHz周期T877μs。积分器的时间常数τR4×C2。为了让三角波的幅度合适一般取τ约等于T/2的几分之一。我取R410kΩC210nFτ100μs。在半个周期438μs内电容充电的电压变化量ΔV(Vinput×t)/(R4×C2)。输入方波幅度约±10Vt438μs所以ΔV(10×438μ)/(10k×10n)4.38V。三角波的峰峰值就是4.38V×28.76V接近方波的幅度比较合理。注意积分器的运放要选输入偏置电流小的LM324的输入偏置电流约45nA在10kΩ电阻上产生的误差电压只有0.45μV可以忽略。但如果是用在高阻抗电路里比如R4取1MΩ那误差就大了。所以R4不要取太大10kΩ到100kΩ之间比较合适。积分器的输出三角波线性度取决于方波的对称性和运放的压摆率。方波正负半周幅度相等、时间相等三角波就对称。LM324的压摆率0.5V/μs在输出8.76V峰峰值时从最低到最高需要17.5μs而半个周期是438μs占比4%所以三角波的尖端会有轻微圆角但整体线性度还不错。2.4 低通滤波器三角波变正弦波三角波包含基波和奇次谐波幅度按1/n²衰减。要得到正弦波需要滤掉三次及以上谐波。用二阶低通滤波器截止频率设在基波和三次谐波之间。基波1.14kHz三次谐波3.42kHz截止频率取2kHz左右。用Sallen-Key拓扑运放同相端接RC网络反相端接成单位增益缓冲。参数R5R610kΩC3C410nF截止频率f1/(2π×R×C)1/(2π×10k×10n)1.59kHz。这个截止频率对1.14kHz基波衰减约-1dB对3.42kHz三次谐波衰减约-12dB对5.7kHz五次谐波衰减约-20dB。滤波后的波形已经比较接近正弦波了。如果觉得失真还大可以再加一级同样的低通滤波器两级级联后三次谐波衰减-24dB五次谐波衰减-40dB正弦波纯度就很高了。但两级滤波会带来更大的相位偏移和幅度衰减需要在输出级补回来。实操心得Sallen-Key滤波器的Q值由电阻比值决定如果R5R6Q0.707是巴特沃斯响应通带最平坦。如果R5≠R6Q会变化可能在某频率出现峰值。做正弦波转换时Q0.707最合适不会在截止频率附近隆起。2.5 输出级与幅度调节三种波形分别从比较器输出、积分器输出、滤波器输出引出各经过一个10kΩ电位器分压然后通过一个三档开关选择其中一路送入同相比例放大器。放大器用LM324的第四个运放反馈电阻R710kΩR810kΩ电位器串联1kΩ电阻到地。增益范围是110k/(1k到11k)约1.9到11倍。这样输出幅度可以从几伏调到十几伏。输出端串一个100Ω电阻和100μF电容隔直去掉可能的直流分量再接到BNC座输出。100Ω电阻防止输出短路时烧运放100μF电容在1kHz时容抗约1.6Ω对信号衰减很小。3. 完整搭建与调试过程3.1 元器件清单与选型元件规格数量备注LM324四运放1核心芯片74LS74双D触发器1四分频74LS14六施密特触发器1整形7805三端稳压15V7812三端稳压112V7912三端稳压1-12V电阻10kΩ 1/4W10金属膜电容10nF5瓷片电位器10kΩ3线性二极管1N41484钳位BNC座3输出电阻全部用1%精度的金属膜电阻电容用5%精度的瓷片电容。电位器用线性B型不要用指数A型否则调节幅度时手感不对。BNC座买那种带螺母固定的直接拧在机箱面板上。3.2 分模块焊接与测试不要一次性把所有元件焊上去那样出了问题很难查。我的做法是分模块焊接每焊完一个模块就单独测试。先焊电源部分。变压器次级双12V交流经过桥式整流和滤波电容得到约±16V直流再经过7812和7912稳压到±12V。用万用表量一下空载时正负电压应该对称误差在0.2V以内。然后从12V经过7805得到5V给74LS74和74LS14供电。再焊比较器部分。只焊LM324的第一个运放和周围的电阻电容输出接示波器。上电后应该能看到方波频率约4.55kHz幅度约±10V。如果不起振检查R1和R2是否接对C1是否焊好。如果频率偏差大检查电阻电容的实际值瓷片电容的误差可能有10%。比较器正常后焊74LS14整形电路和74LS74分频电路。74LS14的输入接比较器输出输出接74LS74的CLK1。用示波器看Q1应该是2.27kHz方波Q2应该是1.14kHz方波。如果Q1不翻转检查D1是否接到Q1非SET1和RESET1是否接高电平。如果Q2不翻转检查CLK2是否接到Q1。然后焊积分器。输入接Q2输出接示波器。应该看到三角波频率1.14kHz峰峰值约8.76V。如果三角波不对称检查方波是否对称如果三角波幅度太小减小R4或增大C2如果幅度太大增大R4或减小C2。最后焊滤波器和输出级。滤波器输出接示波器应该看到正弦波频率1.14kHz幅度约2V峰峰值因为滤波器对基波有衰减。如果波形失真大检查R5、R6、C3、C4是否匹配。输出级接上后调节电位器输出幅度应该能连续变化。3.3 联调与波形观测所有模块单独测试通过后连在一起联调。用示波器的四个通道同时看比较器输出、Q2输出、积分器输出、滤波器输出。正常情况下四个波形频率一致相位依次滞后。比较器输出是方波Q2是二分频后的方波积分器是三角波滤波器是正弦波。如果发现某个波形频率不对比如积分器输出频率是Q2的一半那说明积分器在自激振荡可能是R4太小或C2太大导致积分时间常数过大运放输出饱和后翻转。解决办法是增大R4或减小C2让积分器工作在正常积分状态。如果正弦波上有毛刺可能是电源退耦不好。在每个运放的电源引脚附近并一个100nF瓷片电容到地再并一个10μF电解电容。74LS74的电源引脚也要并100nF。这样能滤掉电源上的高频噪声。注意LM324是四运放四个运放共用电源引脚。如果其中一个运放输出大电流会在电源线上产生压降影响其他运放。所以电源退耦电容一定要加而且尽量靠近芯片引脚。3.4 频率和幅度的校准频率校准用频率计或示波器测量输出方波频率调节R3或C1让频率落在设计值附近。如果要做频率可调把R3换成100kΩ电位器串联10kΩ电阻这样频率可以在455Hz到4.55kHz之间连续可调。经过四分频后输出频率范围是114Hz到1.14kHz。幅度校准调节输出级的10kΩ电位器用示波器看输出幅度。如果最大幅度不够减小R8或增大R7如果最小幅度太大增大R8或减小R7。一般调到最大10V峰峰值最小1V峰峰值覆盖大部分测试需求。波形选择开关用三档拨动开关分别接方波、三角波、正弦波。开关的公共端接输出级的输入。切换时输出波形应该干净利落没有拖尾。如果有拖尾可能是开关触点氧化换一个质量好点的开关。4. 常见问题与排查技巧4.1 电路不起振怎么办这是最常见的问题。先检查电源是否正常±12V和5V是否都到位。然后检查比较器的正反馈是否接对R1必须从输出接到同相端不能接到反相端。如果接反了就是负反馈电路会变成放大器而不是振荡器。再检查C1是否焊好有没有虚焊。用万用表量C1两端的电阻应该是无穷大。如果电阻很小说明C1短路或漏电换一个。如果以上都正常还是不起振可能是R1和R2的比值不对。如果R1太大R2太小阈值电压接近输出幅度电容充放电时间很长频率很低看起来像不起振。把R1和R2都取10kΩ阈值是输出幅度的一半最容易起振。4.2 分频器不工作怎么查74LS74不工作先量电源引脚第14脚应该是5V第7脚应该是地。如果电源不对检查7805是否正常。然后量时钟输入引脚第3脚应该有方波。如果没有检查74LS14的输出是否接到这里。如果有方波但Q1不翻转检查D1是否接到Q1非第2脚接到第6脚。如果D1接错了比如接到Q1那触发器就是锁存状态不会翻转。如果Q1翻转但Q2不翻转检查CLK2是否接到Q1第11脚接到第5脚。如果接错了比如接到Q1非那Q2的频率就和Q1一样只是相位相反。4.3 三角波线性度差的原因三角波线性度差表现为波形不是直线上升和下降而是弯曲的。主要原因是积分器的RC时间常数太小导致电容充电电流变化大。增大R4或C2可以改善但幅度会减小需要在输出级补回来。另一个原因是方波不对称。如果方波正半周比负半周长三角波上升和下降时间就不等看起来像锯齿波。检查比较器的R1和R2是否对称C1是否漏电。LM324的压摆率限制也会导致三角波尖端圆角。如果频率不高但圆角明显可能是运放坏了换一个试试。4.4 正弦波失真大的解决办法正弦波失真表现为波形顶部或底部变平或者有尖峰。主要原因是滤波器截止频率太高三次谐波没滤干净。降低截止频率增大R5、R6或C3、C4让截止频率降到1.5kHz左右。如果降低截止频率后幅度太小可以在输出级增加增益。但增益太大会放大噪声所以最好用两级滤波每级截止频率2kHz级联后衰减更陡幅度衰减用输出级补。如果正弦波上有高频毛刺是电源噪声或空间干扰。在运放电源引脚加退耦电容输出线用屏蔽线示波器探头用地线弹簧而不是长地线。4.5 常见问题速查表现象可能原因解决方法不起振正反馈接反检查R1是否接同相端频率偏差大电阻电容误差换1%电阻和5%电容分频器不翻转D端接错D接Q非不是Q三角波弯曲RC太小增大R4或C2正弦波失真滤波截止频率高降低截止频率或加二级滤波输出有噪声电源退耦不足加100nF和10μF电容幅度调不动电位器接错检查电位器三端接线实操心得调试时最好用一台模拟示波器数字示波器有采样率限制看高频毛刺可能不准。模拟示波器的余辉能显示波形的稳定性方波边沿抖动一眼就能看出来。如果没有模拟示波器数字示波器要把采样率调到最高触发模式设为正常不要用自动触发。5. 进阶优化与扩展思路5.1 频率可调的实现方法把比较器的R3换成100kΩ电位器串联10kΩ电阻旋转电位器就能改变充放电时间常数从而改变振荡频率。但这样频率调节范围有限而且低频时电容漏电影响大。更好的方法是用模拟开关切换不同的电容比如用CD4051八选一模拟开关切换8个不同容值的电容每个电容对应一个频率档位。这样频率范围可以覆盖10Hz到100kHz。74LS74的分频比也可以改变。把两级D触发器改成三级就是八分频改成四级就是十六分频。分频比越大输出频率越低但方波的占空比仍然是50%因为D触发器是上升沿翻转每个时钟周期翻转一次输出周期是输入周期的两倍。5.2 波形叠加功能的添加有些赛题要求两种波形叠加输出比如方波和正弦波叠加。实现方法是用一个加法器把两路信号通过电阻汇入运放的反相端反馈电阻决定增益。方波和正弦波各经过一个10kΩ电位器分压再各串一个10kΩ电阻接到反相端反馈电阻10kΩ这样输出就是两路信号的和。叠加时要注意两路信号的幅度和相位。如果方波幅度太大会淹没正弦波如果相位不对叠加后的波形可能不对称。用双踪示波器同时看两路信号调节电位器让幅度合适必要时用移相电路调整相位。5.3 用Multisim仿真验证在搭实际电路之前先用Multisim仿真一遍可以省去很多调试时间。Multisim里有LM324和74LS74的模型直接拖出来连上就行。仿真时注意设置运放的供电电压LM324的模型默认是±15V要改成±12V。74LS74的模型默认是5V不用改。仿真时看各个节点的波形确认频率和幅度符合设计。如果仿真都不对实际电路肯定不对。仿真通过后把关键节点的电压记下来实际调试时对照测量能快速定位问题。注意Multisim的LM324模型是理想化的压摆率无限大所以仿真出来的方波边沿是垂直的三角波是完美的直线。实际电路中方波边沿有斜率三角波有圆角。不要因为仿真完美就以为实际电路也完美要留出余量。5.4 用万用表测量关键点电压没有示波器的时候用万用表也能调试。比较器输出是方波万用表测的是平均值应该是0V左右。如果测到10V或-10V说明电路不起振输出停在饱和状态。积分器输出是三角波平均值也是0V左右。滤波器输出是正弦波平均值也是0V左右。74LS74的Q1和Q2输出是方波平均值是2.5V左右因为高电平5V低电平0V占空比50%。如果测到0V或5V说明不翻转。用万用表的频率档测Q2的频率应该是1.14kHz左右。如果没有频率档用交流电压档测有电压说明有信号。5.5 电源部分的优化7812和7912的输入输出压差至少2V所以变压器次级电压要足够。双12V交流经过桥式整流后峰值约17V减去两个二极管压降约1.4V得到约15.6V再减去滤波电容纹波最低约13V给7812留了1V压差有点勉强。最好用双15V变压器整流后约19V压差充足稳压效果好。滤波电容用2200μF以上每安培电流配1000μF。整个电路电流不大LM324四个运放每个约1mA74LS74约8mA74LS14约10mA总共不到30mA。用1000μF电容就够了纹波约0.3V可以接受。如果要用开关电源注意开关噪声可能串到输出端。在开关电源输出后加一级LC滤波L用100μH电感C用1000μF电容能滤掉大部分高频噪声。6. 个人调试体会与建议这个电路我从第一次搭到完全调通花了大概三个晚上。第一个晚上焊完发现不起振查了半天是R1接错了接到反相端去了。第二个晚上分频器不翻转发现D端接到了Q而不是Q非。第三个晚上正弦波失真大加了第二级滤波才搞定。这些坑看起来低级但实际调试时很容易犯因为原理图看多了觉得理所当然实际接线时引脚顺序容易搞混。我的建议是每焊一个模块就用示波器看波形不要等全部焊完再调。全部焊完再调出了问题不知道是哪个模块的要一个一个拆很浪费时间。分模块调试虽然麻烦一点但总时间更短。另外LM324的四个运放性能有差异不是完全一致的。如果某个运放做积分器效果不好换一个运放试试。我遇到过同一个LM324里一个运放做积分器线性度很好另一个就有点弯曲。换一下就好了。74LS74的输入不能悬空悬空时可能自激振荡。不用的输入引脚要接固定电平SET和RESET接高电平不用的D端接Q非或接高电平。74LS14不用的输入也要接地或接高电平不能悬空。最后这个电路虽然简单但涵盖了模电和数电的核心知识点运放的正反馈和负反馈、RC充放电、施密特触发器、D触发器分频、有源滤波。把这道题吃透电赛的信号类题目基本都能应付。后续还可以扩展成函数发生器用单片机控制模拟开关切换频率和波形那就更接近实用仪器的水平了。
返回列表