第一篇:函数发生器实验及设计
电子信息工程学院
班级:电子信息一班 姓名:何 胜 学号:201105431551
函数信号发生器
一、设计任务
函数发生器的设计
二、设计条件
设计基于学校实验室
三、设计要求
1.电路能输出正弦波(选做)、方波(必做)和三角波(必做)等三种波形; 2.输出信号的频率要求可调;
3.在面包板上或万能板上安装电路; 4.测量输出信号的幅度和频率; 5.写出设计性报告。
四、设计内容
设计内容包括电路能输出正弦波、方波和三角波三种波形
1.电路原理图
D6R12R2R3D1N9143k15k2D7.2kC3V2U115VdcD1N9140.1ufR1737++VOS25uA74110k0U4R11R9U373++VOS253+VOS25OUT6R8+65k2k2OUT6-V-OS11R6OUT0212k0-V-OS12-V-OS114V110kuA741uA741044R7R5C101520kR410k0.01ufD310kC2D4D1N7500.01ufD1N7500
02.计算与仿真分析
8.0V4.0V0V-4.0V-8.0V130ms131msV(D3:1)132ms133ms134ms135ms Time136ms137ms138ms139ms140ms15V14V13V12V130msV(C3:2)131ms132ms133ms134ms135ms Time136ms137ms138ms139ms140ms20V10V0V-10V-20V130ms131msV(C1:2)132ms133ms134ms135ms Time136ms137ms138ms139ms140ms
3.元件清单
10k电阻4个,9k一个,45k一个,2.2k一个,20k一个,2k两个,5k一个,0.01u两个,0.1u一个,ua741三个,稳压管两个,二极管两个,导线若干 4.调试过程
依据元件清单和电路图连接进行调试 5.设计和使用说明
产生正弦波、方波和三角波三种波形,在低频范围内性能好。
五、设计总结
1.通过本篇实验的设计,使我们对ua741的工作原理有了本质的理解,掌握了工作波形等内部构造及其工作原理。可输出正弦波、方波、三角波,输出波形稳定清晰,信号质量好,精度高。
2.通过这次课程设计,让我的理论联系实际能力、设计电路能力、实际操作能力以及正确的处理数据、分析和综合实验结果,检查和排除故障的能力有了大大的提高,并且巩固了我的理论知识,起到了双重效果。
3.要想做出一个实用的实物来,并不是自己想象中的那样简单。
4.团结就是力量,在做设计的过程中我们必须讲究团队精神,各施其职。
六、设计参考资料
《电子技术实验书》李艺琳 编写
第二篇:VHDL实验四函数信号发生器设计.
VHDL实验四:函数信号发生器设计
设计要求:设计一个函数信号发生器,能产生方波,三角波,正弦波,阶梯波。设计概述:信号的输出实质上是指电压幅度随时间的变化。根据这个原理我们就可以设计函数信号发生器了。FPGA里面产生的数据只能是数字信号,最终我们通过连接8bit的DA转换器就能将数字信号转换成电压信号,从而实现了信号发生器的功能。
本设计有5个模块组成,其中有:方波发生器,三角波发生器,正弦波发生器,阶梯波发生器,4选1选择器。下面是我设计的整个过程: 方波发生器:实质上是一段时间输出0,一段时间输出255的数字信号,当然这有8位的通道输出。
程序设计如下:--工程名:方波发生器
--功能:产生方波,是通过交替送出全0和全1实现的,每32个时钟翻转一次--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sqaure is port(clk,clr:in std_logic;
q:out integer range 0 to 255;end entity;architecture behav of sqaure is signal a:bit;begin process(clk,clr--计数分频 variable cnt:integer range 0 to 32;begin if(clr='0' then a<='0';elsif clk'event and clk='1' then if cnt<31 then--进行32分频 cnt:=cnt+1;else cnt:=0;a<=not a;end if;end if;
end process;process(clk,a--信号输出 begin if clk'event and clk='1' then if a='1' then q<=255;else q<=0;end if;end if;end process;end behav;三角波发生器:实质上是先输出直线递增的数字信号,随后按照同样的斜率输出递减的数字信号。这样就能实现三角波的发生了。
程序设计如下:--工程名:三角波信号发生器
--功能:产生的三角波以64个时钟为一个周期,输出q每次加减8。--时间:2010-12-17 library ieee;
use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity delta1 is port(clk:in std_logic;--时钟信号 rst:in std_logic;--复位信号
q:out std_logic_vector(7 downto 0;--输出信号 end entity;architecture behav of delta1 is begin variable tmp:std_logic_vector(7 downto 0;variable a:std_logic;begin if(rst='0' then tmp:=“00000000”;elsif clk'event and clk='1' then if(a='0' then if(tmp=“11111000” then--tmp=248 tmp:=“11111111”;
a:='1';--信号计数完成,下一次改成递减 else tmp:=tmp+8;--递增 end if;else if tmp=“00000111” then--tmp=7 tmp:=“00000000”;a:='0';--信号计数完成,下一次改成递增 else tmp:=tmp-8;--递减 end if;end if;end if;q<=tmp;--信号输出 end process;end behav;正弦波发生器:这里我设计了64个状态,就是将一个周期的正弦波分成64分,在然后一份份的数字信号输出就可以了。具体怎么取值,用excel计算就可以了。自己手动计算也可以的哦。
具体程序设计如下: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sin1 is port(clk,clr:in std_logic;d:out integer range 0 to 255;end entity;architecture behav of sin1 is begin variable tmp:integer range 0 to 63;begin if clr='0' then d<=0;elsif clk'event and clk='1' then if tmp=63 then tmp:=0;else
tmp:=tmp+1;end if;case tmp is when 00=>d<=255;when 01=>d<=254;when 02=>d<=252;when 03=>d<=249;when 04=>d<=245;when 05=>d<=239;when 06=>d<=233;when 07=>d<=225;when 08=>d<=217;when 09=>d<=207;when 10=>d<=197;when 11=>d<=186;when 12=>d<=174;when 13=>d<=162;when 14=>d<=150;when 15=>d<=137;when 16=>d<=124;when 17=>d<=112;when 18=>d<=99;when 19=>d<=87;when 20=>d<=75;when 21=>d<=64;when 22=>d<=53;when 23=>d<=43;when 24=>d<=34;when 25=>d<=26;when 26=>d<=19;when 27=>d<=13;when 28=>d<=8;when 29=>d<=4;when 30=>d<=1;when 31=>d<=0;when 32=>d<=0;when 33=>d<=1;when 34=>d<=4;when 35=>d<=8;when 36=>d<=13;when 37=>d<=19;when 38=>d<=26;when 39=>d<=34;when 40=>d<=43;when 41=>d<=53;when 42=>d<=64;when 43=>d<=75;when 44=>d<=87;when 45=>d<=99;when 46=>d<=112;when 47=>d<=124;
when 48=>d<=137;when 49=>d<=150;when 50=>d<=162;when 51=>d<=174;when 52=>d<=186;when 53=>d<=197;when 54=>d<=207;when 55=>d<=217;when 56=>d<=225;when 57=>d<=233;when 58=>d<=239;when 59=>d<=245;when 60=>d<=249;when 61=>d<=252;when 62=>d<=252;when 63=>d<=255;when others=>null;end case;end if;end process;end behav;阶梯波发生器:实质上是一个直线递增的数字信号输出而已,和三角波发生没有什么差别。
--工程名:阶梯波信号发生器
--功能:改变该模块递增的常数,可以改变阶梯的个数--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;entity ladder1 is port(clk:in std_logic;--时钟信号 rst:in std_logic;--复位信号
q:out std_logic_vector(7 downto 0;--输出信号 end entity;architecture behav of ladder1 is begin process(clk,rst variable tmp:std_logic_vector(7 downto 0;variable a:std_logic;begin if(rst='0' then--复位 tmp:=“00000000”;elsif clk'event and clk='1' then if a='0' then if tmp=“11111111” then tmp:=“00000000”;a:='1';
else tmp:=tmp+16;--以常数递增 a:='1';end if;else a:='0';end if;end if;q<=tmp;--信号输出 end process;end behav;4选1模块
最后我们要将模块进行整合,就需要设计一个选通模块,进行选择。
具体程序设计如下:--工程名:4 选 1 模块选择器--功能:选通模块作用--时间:2010-12-17 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity select4_1 is port(sel:in std_logic_vector(1 downto 0;--选择信号 d0,d1,d2,d3:in std_logic_vector(7 downto 0;--4 个信号发生器通道 q:out std_logic_vector(7 downto 0;--输出通道 end entity;architecture behav of select4_1 is begin process(sel begin case sel is--选择 when“00”=> q<=d0;when“01”=> q<=d1;when“10”=> q<=d2;when“11”=> q<=d3;end case;end process;end behav;最后将所有模块就连接起来进行图形化设计; 进行仿真。最后进行硬件调试,通过 DA 将 8
位的数字信号转化成电压信号就能完成了整个 系统的设计了。总结:通过设计这个简单的数字信号发生器,我彻底的了解了如何设计一个函数 发生器。一直以来都想设计这个一个东西,所以今天终于完成了我一直以来的心 愿了。但是这仅仅是开始,要设计一个很好信号发生器,需要使用 DDS 的技术,因此希望我以后更加再接再厉,慢慢稳健的成长起来。
第三篇:函数信号发生器设计
函数信号发生器设计设计任务与要求
⑴ 设计并制作能产生正弦波、矩形波(方波)和三角波(锯齿波)的函数发生器,本信号发生器可以考虑用专用集成芯片(如5G8038等)为核心实现。⑵ 信号频率范围: 1Hz∽100kHz;
⑶ 频率控制方式:
① 手控通过改变RC参数实现;
② 键控通过改变控制电压实现;
③ 为能方便地实现频率调节,建议将频率分档;
⑷ 输出波形要求
① 方波上升沿和下降沿时间不得超过200nS,占空比在48%∽50%之间;② 非线性误差≤2%;
③ 正弦波谐波失真度≤2%;
⑸ 输出信号幅度范围:0∽20V;
⑹ 信号源输出阻抗:≤1Ω;
⑺ 应具有输出过载保护功能;
⑻ 具有数字显示输出信号频率和电压幅值功能。
第四篇:基于Labview的函数信号发生器的设计(开放性实验)
开放性实验设计(报告)
摘 要
本次设计基于美国国家仪器(NI)的虚拟仪器开发平台Labview,使用图形化语言编程,设计了一款虚拟函数信号发生器。该虚拟函数信号发生器能够产生正弦波、三角波、方波、锯齿波等波形,其中输出信号的频率、幅值、相位、偏移量以及方波的占空比等都可以在较宽的范围内动态的调节,能够更好的得到满意的波形。
关键词:虚拟仪器;Labview;函数信号发生器;图形化编程
I
开放性实验设计(报告)
目 录
第1章 绪 论..........................................................................................................1 第2章 虚拟函数信号发生器的设计....................................................................2
2.1 概述...........................................................................................................2 2.2 函数信号发生器程序框图设计...............................................................2
2.2.1 基本函数信号发生器的配置........................................................2 2.2.2 while循环的设计............................................................................3 2.2.3 程序中的延时机制........................................................................4 2.2.4 波形显示控件的设计....................................................................4 2.3 前面板的界面布局...................................................................................7 2.4 帮助信息...................................................................................................9 第3章 程序调试..................................................................................................10 第4章 实验设计总结..........................................................................................12 参考文献................................................................................................................13 附 录......................................................................................................................1
4II
开放性实验设计(报告)
第1章 绪 论
在有关电参量的测量中,我们需要用到信号源,而信号发生器则为我们提供了在测量中所需的信号源,它可以产生不同频率的正弦信号、方波、三角波、锯齿波、正负脉冲信号、调幅信号、调频信号和随机信号等,其输出信号的幅值也可以按需要进行调节。传统信号发生器种类繁多,价格昂贵,而且仪器功能固定单一,不具备用户对仪器进行定义及编程的功能,一个传统实验室很难同时拥有多类信号发生器,然而,基于虚拟仪器技术的实验室则能够实现这一要求。
随着计算机技术的迅猛发展,虚拟仪器技术在数据采集、自动测试和仪器控制领域得到了广泛的应用,促进和推动测试系统和仪器控制的设计方法与实现技术发生了深刻的变化。“软件即是仪器”已成为测试与测量技术发展的重要标志。虚拟信号发生器就是利用高性能的模块化硬件,结合高效灵活的LabVIEW软件来完成各种测试、测量和自动化应用。
开放性实验设计(报告)
第2章 虚拟函数信号发生器的设计
2.1 概述
在传统的测量中,为了得到测量结果我们往往需要一个信号源对测量电路进行激励,这就需要用到函数信号发生器。正弦波、三角波、方波、锯齿波等是实验和测量中常用的信号波,但是传统仪器的功能的固定性和费用的高昂限制了传统仪器的推广和使用。本次设计利用labview设计包含传统仪器各种功能的虚拟函数信号发生器。
2.2 函数信号发生器程序框图设计
函数信号发生器的程序框图的设计包含基本函数信号发生器的配置和while循环的设计。
2.2.1 基本函数信号发生器的配置
本次设计采用美国国家仪器(NI)的虚拟仪器开发平台labview 2011版本来实现。
启动labview2011进入软件启动界面,然后新建VI并命名为“基本函数信号发生器”。通过菜单栏中“窗口→显示程序框图”(或者快捷键ctrl+E)进入程序框图的编辑界面。在程序框图的空白处鼠标右键单击显示函数选板,打开“信号处理→波形生成”的子选板,选择“基本函数发生器”,将其拖放至程序框图中。为了方便观察和操作,可以右键点击函数发生器,快捷菜单中“显示为图标”前面的勾去掉即可,其如图2.1所示。
开放性实验设计(报告)
图2.1 基本函数发生器的选择
移动光标到函数发生器的“频率”端口上,鼠标右键单击,在其快捷菜单中选择“创建→输入控件”,程序会自动帮助完成输入控件与函数发生器的连接,同过同样的步骤完成“幅值”、“相位”、“信号类型”、“重置信号”、“偏移量”、“采样信息”等端口输入控件的创建和连接,合理调整它们的位置,使得界面布局合理。创建完成如图2.2所示。
图2.2 输入控件的创建
2.2.2 while循环的设计
While循环模块的功能实现程序连续运行及波形参数的实时调节与输出显示。在while循环的条件接线端接入的是一个布尔变量,用以控制循环的结束。
在程序框图的函数选板中,打开“编程→结构→while循环”,鼠标左键单击选中“while循环”后在程序框图的合适位置拖放出一个矩形框,该矩形框需要将程序
开放性实验设计(报告)
框图的所有节点都包含进去。为了能够更好地操作程序,在while循环的右下角有个条件接线端,右键点击循环的条件接线端,在其快捷菜单中选择“创建输入控件”。如图2.3所示。
图2.3 while循环的放置
2.2.3 程序中的延时机制
为了有效的控制代码的执行速率和降低CPU的占用率,需要在while循环中采用定时机制。
在程序框图界面中,打开函数选版,选择“编程→定时→等待(ms)”函数节点,将该函数节点拖放至循环结构的内部。移动光标到“等待(ms)”函数节点的“等待时间(毫秒)”端口上,单击鼠标右键,从弹出的快捷菜单中执行“创建/常量”的命令,放置一个数值常量并修改其数值为50,其如图2.44所示。
图2.4 延时机制的设置
2.2.4 波形显示控件的设计
在程序框图的菜单栏中,由“窗口→显示前面板”(或者快捷键ctrl+E)切换至前面板。在前面板的空白处右键点击调出“控件选板”,打开“新式→图形”,将“波形图”控件节点拖放至前面板的合适的位置,并在程序框图中和函数发生器的“信号输出”端口连接起来。如图2.5所示。
开放性实验设计(报告)
图2.5 函数信号发生器的显示控件的放置
鼠标右键点击“波形图”控件,在其快捷菜单中选择属性选项,对其“外观”、“显示格式”、“曲线”等选项卡进行设置,具体的设置如下面的各个图形所示。
图2.6 图形表控件的外观选项卡的设置
开放性实验设计(报告)
图2.7 图形表控件的显示格式选项卡的设置
图2.8 图形表控件的曲线选项卡的设置
开放性实验设计(报告)
至此,整个函数信号发生器的程序框图已经设计完毕,完整的 程序框图如下图2.9所示.图2.9 整体程序框图
2.3 前面板的界面布局
当控件,但是它们都杂乱无章的排列着,这时候就需要我们来手动调整并合理的布局了。Labview虚拟仪器开发平台在人机交互界面(HMI)的设计上有很多她的独到之处。例如我们在我们将程框图的程序编辑完切换回前面板后,我们会发现在前面板发现很多输入控件和显示控件选板中,打开“新式→修饰”后我们会看见很多的修饰控件,这些都是为我们更好的装扮我们的HMI,让我们的人机交互界面看起来更加的友好和与众不同。修饰界面控件如图2.10所示。
开放性实验设计(报告)
图2.10 控件选板的修饰控件界面
经过对前面板控件的合理布局及修饰,我们得到如图2.11所示的最终界面。
图2.11 函数信号发生器的前面板
开放性实验设计(报告)
2.4 帮助信息
在很多软件中我们都可以看见帮助信息,因为帮助信息对初次接触该软件的人员具有一定的引导作用,而不至于打开软件之后毫无眉目,着对一个软件的推广使用也是至关重要的。本函数信号发生器的帮助信息主要是对一些输入控件的常规解释,点击函数信号发生器的右上角的帮助文字帮助信息就会以对话框的形式显示出来。解释如下:
偏移量:指的是直流信号的偏移。
重置信号:如果输入为真,则重置信号的相位控制值,并且将时间重置为0.信号类型:波形的生成类型,有正弦波、三角波、方波、钜齿波等。频率:是指波形的频率。
幅值:是指波形的振幅,同时也是电压信号的峰值。
相位:波形的初始相位为0,如果重置信号输入为假,则忽略相位。采样信息:包含采样率(FS)和采样数,采样率是指每秒钟的采样率,而采样数是指波形中的样本数。
方波占空比(%):是指一个周期内,方波高电压持续时间占总周期的百分比。
图2.12 函数信号发生器的帮助信息
开放性实验设计(报告)
第3章 程序调试
单击前面板工具栏上的运行按钮,运行该程序。通过波形图显示控件可以观察到函数的波形,调整输入参数,可以观察到波形随着参数的调节而变化,具体程序调试结果如下面各图所示。
图3.1 正弦波的调试结果
图3.2 三角波的调试结果
开放性实验设计(报告)
图3.3 方波的调试结果
图3.4 锯齿波的调试结果
开放性实验设计(报告)
第4章 实验设计总结
虚拟信号发生器通过LabVIEW图形化语言将计算机硬件资源与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器硬件的测量、控制能力结合在仪器,大大缩小了仪器硬件的成本和体积,并通过LabVIEW实现对数据的显示、存储以及分析处理。因为虚拟信号发生器可与计算机同步发展,与网络及其他周边设备互联,用户只需改变软件程序就可以不断赋予它或扩展增强它的测量功能。这就是说,仪器的设计制造不再是厂家的专利。虚拟信号发生器开创了仪器使用者可以成为仪器设计者的时代,这将给虚拟信号发生器使用者带来无尽的利益。
Labview作为一个图形化编程软件,是开发测试系统的一种功能强大、方便快捷的编程工具。其良好的相通性、开放性、专用性,使测试系统的开发周期短、成本低、质量高。基于Labview的虚拟函数信号发生器具有机交互性好、易于操作等特点,能够广泛的应用与于科研、生产等领域.
开放性实验设计(报告)
参考文献
[1]胡仁喜等编著.LabVIEW8.2.1虚拟仪器实例指导教程.北京:机械工业出版社,2007.11.[2]张凯等编著.LabVIEW虚拟仪器工程设计与开发.北京:国防工业出版社,2004.6.[3]张毅等编著.虚拟仪器技术分析与应用.北京:机械工业出版社,2004.2.[4]余成波,冯丽辉等编著.虚拟仪器技术与设计.重庆:重庆大学出版社,2006.7.[5]刘全心,南建平.基于LabVIEW的虚拟函数信号发生器的设计[J].2007年5月第31期.[6]National Instruments.Using LabVIEW to Create Multithreaded VIs [M].Texas: National Instruments, 2000.[7] 张雄伟,陈亮,杨吉斌.现代语音处理技术及其应用[M ].北京:机械工业出版社, 2003.开放性实验设计(报告)
附 录
程序整体框图
…
前面板整体图
第五篇:低频函数信号发生器设计
实验报告
课程名称:
电子系统综合设计
指导老师:
周箭
成绩:
实验名称:低频函数信号发生器(预习报告)实验类型:
同组学生姓名:
一、课题名称
低频函数信号发生器设计
二、性能指标
(1)同时输出三种波形:方波,三角波,正弦波;(2)频率范围:10Hz~10KHz;
(3)频率稳定性:(4)频率控制方式:
① 改变RC时间常数;
; ② 改变控制电压V1实现压控频率,常用于自控方式,即F=f(V1),(V1=1~10V); ③ 分为10Hz~100Hz,100Hz~1KHz,1KHz~10KHz三段控制。
(5)波形精度:方波上升下降沿均小于2μs,三角波线性度δ/Vom<1%,正弦波失真度
;
(6)输出方式:
a)做电压源输出时
输出电压幅度连续可调,最大输出电压不小于20V 负载RL=100Ω~1KΩ时,输出电压相对变化率ΔVO/VO<1% b)做电流源输出时
输出电流幅度连续可调,最大输出电流不小于200mA 负载RL=0Ω~90Ω时,输出电流相对变化率ΔIO/IO<1% c)做功率源输出时
最大输出功率大于1W(RL=50Ω,VO>7V有效值)具有输出过载保护功能
三、方案设计
根据实验任务的要求,对信号产生部分,一般可采用多种实现方案:如模拟电路实现方案、数字电路实现方案、模数结合的实现方案等。
数字电路的实现方案
一般可事先在存储器里存储好函数信号波形,再用D/A转换器进行逐点恢复。这种方案的波形精度主要取决于函数信号波形的存储点数、D/A转换器的转换速度、以及整个电路的时序处理等。其信号频率的高低,是通过改变D/A转换器输入数字量的速率来实现的。
数字电路的实现方案在信号频率较低时,具有较好的波形质量。随着信号频率的提高,需要提高数字量输入的速率,或减少波形点数。波形点数的减少,将直接影响函数信号波形的质量,而数字量输入速率的提高也是有限的。因此,该方案比较适合低频信号,而较难产生高频(如>1MHz)信号。
模数结合的实现方案
一般是用模拟电路产生函数信号波形,而用数字方式改变信号的频率和幅度。如采用D/A转换器与压控电路改变信号的频率,用数控放大器或数控衰减器改变信号的幅度等,是一种常见的电路方式。
模拟电路的实现方案
是指全部采用模拟电路的方式,以实现信号产生电路的所有功能。由于教学安排及课程进度的限制,本实验的信号产生电路,推荐采用全模拟电路的实现方案。
模拟电路的实现方案有几种:
①用正弦波发生器产生正弦波信号,然后用过零比较器产生方波,再经过积分电路产生三角波。但要通过积分器电路产生同步的三角波信号,存在较大的难度。原因是积分电路的积分时间常数通常是不变的,而随着方波信号频率的改变,积分电路输出的三角波幅度将同时改变。若要保持三角波输出幅度不变,则必须同时改变积分时间常数的大小,要实现这种同时改变电路参数的要求,实际上是非常困难的。
② 由三角波、方波发生器产生三角波和方波信号,然后通过函数转换电路,将三角波信号转换成正弦波信号,该电路方式也是本实验信号产生部分的推荐方案。这种电路在一定的频率范围内,具有良好的三角波和方波信号。而正弦波信号的波形质量,与函数转换电路的形式有关,这将在后面的单元电路分析中详细介绍。
四、单元电路分析
1、三角波,方波发生器
由于比较器+RC电路的输出会导致VC线性度变差,故采用另一种比较器+积分器的方式
积分器
同相滞回比较器
由积分器A1与滞回比较器A2等组成的三角波、方波发生器电路如图所示。在一般使用情况下,V+1和V-2都接地。只有在方波的占空比不为50%,或三角波的正负幅度不对称时,可通过改变V+1和V-2的大小和方向加以调整。
合上电源瞬间,假定比较器输出为低电平,vO2=VOL=-VZ。积分器作正方向积分,vO1线性上升,vp随着上升,当vp>0时,即vo1≥R2/R3*,比较器翻转为高电平,vO2=VOH=+VZ。积分器又开始作负方向积分,vO1线性下降,vp随着下降,当vp<0时,即vo1≥R2/R3*,比较器翻转为低电平,vO2=VOH=-VZ。
取C三种值:0.1uF 对应10-100Hz; 0.01uF 对应100-1kHz; 0.001uF 对应1k-10kHz。调节R23的比值可调节幅度,再调节R,可调节频率大小。
2、正弦波转换电路 常用方法有使用傅里叶展开的滤波法,使用幂级数展开的运算法,和转变传输比例的折线法。但前二者由于其固有的缺陷:使用频率小,难以用电子电路实现的原因,在本实验中舍弃,而采取最普遍的折线法。
折线法是一种使用最为普遍、实现也较简单的正弦函数转换方法。折线法的转换原理是,根据输入三角波的电压幅度,不断改变函数转换电路的传输比率,也就是用多段折线组成的电压传输特性,实现三角函数到正弦函数的逼近,输出近似的正弦电压波形。由于电子器件(如半导体二极管等)特性的理想性,使各段折线的交界处产生了钝化效果。因此,用折线法实现的正弦函数转换电路,实际效果往往要优于理论分析结果。
用折线法实现正弦函数的转换,可采用无源和有源转换电路形式。无源正弦函数转换电路,是指仅使用二极管和电阻等组成的转换电路。根据输入三角波电压的幅度,不断增加(或减少)二极管通路以改变转换网络的衰减比,输出近似的正弦电压波形。
有源正弦函数转换电路除二极管、电阻网络外,还包括放大环节。也是根据输入三角波电压的幅度,不断增加(或减少)网络通路以改变转换电路的放大倍数,输出近似的正弦电压波形。
有
源
正
弦
函
数
若设正弦波在过零点处的斜率与三角波斜率相同,即
则有,由此,可推断出各断点上应校正到的电平值:
方案一,使用二极管控制形成比例放大器,使得运放在不同时间段有不同的比例系数
方案二,用二极管网络,实现逐段校正,运放A组成跟随器,作为函数转换器与输出负载之间的隔离(或称为缓冲级)。
当输入三角波在T/2 内设置六个断点以进行七段校正后,可得到正弦波的非线性失真度大致在1.8 % 以内,若将断点数增加到12 个时,正弦波的非线性失真度可在0.8 %以内。3 输出级电路 根据不同负载的要求,输出级电路可能有三种不同的方式。
(1)电压源输出方式
电压源输出方式下,负载电阻RL通常较大,即负载对输出电流往往不提出什么要求,仅要求有一定的输出电压。同时,当负载变动时,还要求输出电压的变化要小,即要求输出级电路的输出电阻RO足够小。为此,必须引入电压负反馈
图(a)电路的最大输出电压受到运放供电电压值的限制,如运放的VCC 和VEE 分别为±15V时,则VOPP =±(12 ~ 14)V。若要求有更大的输出电压幅度,必须采用电压扩展电路,如图12(b)所示。
(2)电流源输出方式
在电流源输出方式下,负载希望得到一定的信号电流,而往往并不提出对输出信号电压的要求。同时,当负载变动时,还要求输出电流基本恒定,即要求有足够大的输出电阻Ro。为此,需引入电流负反馈。
图(a)电路的最大输出电压受到运放供电电压值的限制,如运放的VCC 和VEE 分别为±15V时,则VOPP =±(12 ~ 14)V。若要求有更大的输出电压幅度,必须采用电压扩展电路,如图(b)所示。
a)为一次扩流电路,T1 和T2 组成互补对称输出。运放的输出电流IA中的大部分将
图(作为T1、T2 的基极电流,所以IO = βIA。图(b)为二次扩流电路,用于要求负载电流IO 较大的场合。复合管T1、T2和T3、T4 组成准互补对称输出电路。
(3)功率输出方式
在功率输出方式下,负载要求得到一定的信号功率。由于晶体管放大电路电源电压较低,为得到一定的信号功率,通常需配接阻值较小的负载。电路通常接成电压负反馈形式。如用运放作为前置放大级,还必须进行扩流。当RL较大时,为满足所要求的输出功率,有时还必须进行输出电压扩展。
静态时,运放输出为零,– 20V电源通过下列回路:运放输出端→R1 →DZ →b1 →e1 → –20V 向T1 提供一定的偏置电流 R6 ,C3 和R7 ,C4 组成去耦滤波电路。需要注意的是几个晶体管的耐压限流以及最大功率值。
其中调节W可改变晶体管的静态工作电流,从而克服交越失真。
4)输出级的限流保护 由于功率放大器的输出电阻很小,因而容易因过载而烧坏功率管。因此需要进行限流保护。
图(a)是一种简单的二极管限流保护电路,当发生过流(I o过大)时,R3、R4 上的压降增大到足以使D3、D4 导通,从而使流向T1、T2 基极的电流信号I1、I2 分流,以限制I o 的增大。
图(b)是另一种限流保护电路,T3、T4 是限流管。当I o 过大,R5、R6 上的压降超过0.6V时,T3、T4 导通防止了T1、T2 基极信号电流的进一步增大。I o 的最大值为 0.6/R5,R3、R4 用来保护限流管T3、T4。
五、仿真分析
以1KHz为例即C=1nF
三角波方波发生电路
方波下降沿时间4.3μs
三角波峰值
改变RP2
改变RP1
调节占空比
调节偏移量
正弦波转换器
三角波转换正弦波,三角波放大后输出峰峰值10V
静态工作点
改变静态工作点(调节RP45)发生失真
功率放大电路
功率放大波形,输入为之前的正弦波,变阻器衰减后最大不失真输出电压
总电路图,模块形式
衰减前的输入信号与输出信号
由仿真结果来看,基本满足设计要求,准备按仿真电路设计实际电路。
六、仿真心得
在仿真的过程中出现了一下几个问题,但后来都分别排查掉了,希望实际连接时不再犯。
1、运放未接电源导致没有波形
2、变阻器接入阻止过小或过大导致没有信号或失真(尤其需要注意)
3、Lm324故障无法解决导致用了LM353代替