草庐IT

基于LM324四运放的复合信号发生器(17年电赛国赛题)

cb2506334803 2023-04-14 原文

成品实物展示

一、课程设计要求

        设计制作一个方波产生器输出方波,将方波产生器输出的方波四分频后再与三角波同相叠加输出一个复合信号,再经滤波器后输出一个正弦波信号。

1. 方波产生器输出信号参数要求: Vo1pp=3V士5%,f=20kHz士100Hz,输出电阻R=600欧姆,波形无明显失真;

2.四分频方波输出信号参数要求:Vo2pp=1V士5%,f=5kHz土100Hz,输出电阻R=600欧姆,波形无明显失真;

3. 三角波产生器输出信号参数要求: Vo3pp=1V士5%,f=5kHz土100Hz,输出电阻R=600欧姆,波形无明显失真;

4.同相加法器输出复合信号参数要求:Vo4pp=2V士5%,f=5kHz士100Hz,输出电阻R=600欧姆,波形无明显失真;

5.滤波器输出正弦波信号参数要求: Vo5pp=3V 士5%,f=5kHz 土100Hz,输出电阻R=600欧姆,波形无明显失真;

6、电源只能选用+5V单电源,由稳压电源供给。不得使用额外电源。

7、要求预留方波Vo1pp、四分频后方波Vo2pp、三角波Vo3pp、同相加法器输出复合信号Vo4pp、滤波器输出正弦波Vo5pp和+5V单电源的测试端子。

二、课程设计的内容

        本次课程设计主要利用一片LM324(四运放)、一片74LS74(双上升沿D触发器)通过自激振荡产生方波,经四分频后再利用积分电路、同向加法器、低通滤波器电路,设计得到要求输出的Vpp、频率和波形(三角波、叠加波、正弦波)。

三、各模块设计原理分析及仿真

3.1方波发生器

        如图3.2.1-a方波信号发生电路是基于RC震荡电路产生的。根据RC的频率计算公式f=12πRC可以计算出震荡的频率。C1、R5、R2、R3构成选频网络,输出频率由R2、R5共同决定,调节R2还可以改善波形。修改输出端串联的R6阻值可以对输出电压的幅度进行调节,最终输出一个3V-vpp 20Khz的方波如图

3.2四分频电路

        74LS74四分频原理:74LS74是个双D触发器(上升沿有效),把其中一个D触发器的输出端Q非端连接到输入端D,接入时钟信号,这样每来一次时钟脉冲,D触发器的状态就会翻转一次,每两次时钟脉冲就会使D触发器输出一个完整的方波,就实现了二分频。把同一片74LS74上的两路D触发器串联起来,已经实现二分频的D触发器的输出作为另一个D触发器的时钟信号,就实现了四分频电路。

        电路如图3.2.2-a,CLOCK1接上一级方波发生器的20Khz方波,经由电路四分频后从Q2输出,改变输出端串联的R8阻值即可调节输出幅度。最终输出5Khz 1V-vpp的方波如图3.2.2-b。

3.3积分电路

        积分电路如图3.2.3-a,是能使输出信号与输入信号的时间积分值成比例的电路,可将矩形脉冲波转换成三角波其原理主要是利用电容的充放电特性实现的。构成积分电路的条件是:电路的时间常数R*C必须要大于或等于10倍于输入波形的时间宽度。积分电路基本计算公式:         

        如图3.2.3-a,将四分频后的5Khz 1V-vpp方波信号接入积分电路中在反馈电容上并联一个电阻,并在同向端接入偏置电压即可通过调节R10阻值来改善波形及调节幅度,最终输出如图3.2.3-b的5Khz 1V-vpp三角波

 3.4同向加法器 

 

        R19为平衡电阻,当R19、R16、R17阻值固定后同向加法器输出电压幅度可通过改变R15阻值来调节。输出幅度大小可根据运放的虚短虚断特性进行计算。如图3.2.4-b最终三角波和方波相加,频率不变幅度为2V-vpp。

3.5低通滤波电路 

如图3.2.5.a采用有源二阶RC低通滤波器通过滤波,二阶有源低通滤波器的特点是输入阻抗高,输出阻抗低。

滤波原理:根据傅里叶变换可知方波是由许多不同频率得正弦波叠加组成,比如说基波频率为f,高次谐波为2f,3f,5f …;而低通滤波器就是把高于截止频率的其他频率全部滤掉,因此当截止频率设置在f-3f之间将高次谐波滤掉就只剩频率为f的基波(正弦波)。

由于没找到合适容量电容因此在运放同向输入端使用的两个100nf的电容串联得到50nf的电容,C6、C8、C5为滤波电容,小容量的电容可以起到很好的滤高频作用。最终将2v的叠加波放大变换成3V的正弦波如图3.2.2-b。

电路工作在线性区,因此根据集成运放在线性去的虚短续断特性可以列出个节点电流、电压方程,从而计算出电路放大倍数为:

)

         运放同向端接R21、R24构成分压偏置电路,输入端电位器R20可以调节输入幅度,因此调节电位器R21、R20阻值可改善正弦波的波形和调节输出幅度。

四、电路原理图仿真

五、实物制作

5.1原理图 

5.2PCB图

5.3实物图 

六、参数调试

七、总结

        ......电子设计课程的一个小考核,花了一周时间完成从资料查找到原理图仿真测试验证可行性,到PCB绘制,实物制作、元器件选择、焊接和最后的实物调试。中间遇到很多困难,但是苦难不就是用来克服的嘛!做出来的时候还是有点小成就感的,也是通过这些综合实验,更能将我们所学到的知识联系起来应用到实际。

        查了很多资料,相当于是参考整理了很多别人的意见和成果,最后自己根据自己的实际情况完成了课程考核要求,有需要的可以参考哦,希望对你有所帮助!

有关基于LM324四运放的复合信号发生器(17年电赛国赛题)的更多相关文章

  1. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  2. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  3. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  4. ruby-on-rails - (Ruby,Rails) 基于角色的身份验证和用户管理...? - 2

    我正在寻找用于Rails的优质管理插件。似乎大多数现有的插件/gem(例如“restful_authentication”、“acts_as_authenticated”)都围绕着self注册等展开。但是,我正在寻找一种功能齐全的基于管理/管理角色的解决方案——但不是简单地附加到另一个非基于角色的解决方案。如果我找不到,我想我会自己动手......只是不想重新发明轮子。 最佳答案 RyanBates最近做了两个关于授权的railscast(注意身份验证和授权之间的区别;身份验证检查用户是否如她所说的那样,授权检查用户是否有权访问资源

  5. ruby - 在 Rakefile 中动态生成 Rake 测试任务(基于现有的测试文件) - 2

    我正在根据Rakefile中的现有测试文件动态生成测试任务。假设您有各种以模式命名的单元测试文件test_.rb.所以我正在做的是创建一个以“测试”命名空间内的文件名命名的任务。使用下面的代码,我可以用raketest:调用所有测试require'rake/testtask'task:default=>'test:all'namespace:testdodesc"Runalltests"Rake::TestTask.new(:all)do|t|t.test_files=FileList['test_*.rb']endFileList['test_*.rb'].eachdo|task|n

  6. ruby - 如何使用 Ruby 基于字母数字字符串生成颜色? - 2

    我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:

  7. 【自动驾驶环境感知项目】——基于Paddle3D的点云障碍物检测 - 2

    文章目录1.自动驾驶实战:基于Paddle3D的点云障碍物检测1.1环境信息1.2准备点云数据1.3安装Paddle3D1.4模型训练1.5模型评估1.6模型导出1.7模型部署效果附录show_lidar_pred_on_image.py1.自动驾驶实战:基于Paddle3D的点云障碍物检测项目地址——自动驾驶实战:基于Paddle3D的点云障碍物检测课程地址——自动驾驶感知系统揭秘1.1环境信息硬件信息CPU:2核AI加速卡:v100总显存:16GB总内存:16GB总硬盘:100GB环境配置Python:3.7.4框架信息框架版本:PaddlePaddle2.4.0(项目默认框架版本为2.3

  8. ruby - 无法激活 susy-2.1.1,因为 sass-3.2.17 与 sass 冲突 (~> 3.3.0) - 2

    我已经安装了最新版本的compass、sass和susy。但我仍然收到此错误:Unabletoactivatesusy-2.1.1,becausesass-3.2.17conflictswithsass(~>3.3.0)有人知道这个Ruby是如何工作的吗?这是我安装的gem的列表:***LOCALGEMS***CFPropertyList(2.2.0)chunky_png(1.3.0)compass(0.12.4)compass-core(1.0.0.alpha.19)compass-import-once(1.0.4)compass-rails(1.1.3)fssm(0.2.10)l

  9. ruby - 规范测试基于 EventMachine 的(Reactor)代码 - 2

    我正在尝试整个BDD方法并想测试AMQP基于Vanilla的方面Ruby我正在写的应用程序。选择Minitest后作为与其他名副其实的蔬菜框架不同的平衡功能和表现力的测试框架,我着手编写此规范:#File./test/specs/services/my_service_spec.rb#Requirementsfortestrunningandconfigurationrequire"minitest/autorun"require"./test/specs/spec_helper"#Externalrequires#MinitestSpecsforEventMachinerequire

  10. ruby - JSON的基于流的解析和写入 - 2

    我分1,000个批处理从服务器获取大约20,000个数据集。每个数据集都是一个JSON对象。坚持这会产生大约350MB的未压缩明文。我的内存限制为1GB。因此,我以追加模式将每1,000个JSON对象作为一个数组写入到一个原始JSON文件中。结果是一个包含20个需要聚合的JSON数组的文件。无论如何我都需要触摸它们,因为我想添加元数据。一般RubyYajlParser使这成为可能:raw_file=File.new(path_to_raw_file,'r')json_file=File.new(path_to_json_file,'w')datasets=[]parser=Yajl::

随机推荐