能够熟悉利用Labview软件,并用此软件编写程序框图和构造前面板。使设计的面板更直观,漂亮。达到虚拟仪器的功能。1.2.2基本要求设计基于Labview 的函数信号发生器。 (1)了解函数信号产生方法。 (2)输出一路占空比可调的方波信号,一路函数信号(输出信号类型可选择)。 1.2.3发挥部分
(1)产生的正弦波、三角波、锯齿波能够调节频率、幅值、相位;方波能够调节占空比。 (2)在调节的基础上能够将频率、幅值和相位的值显示出来。
2 设计思路
理解题目以后,我们又回去查阅了很多相关资料。最后确定了设计的总体思路。用Labview软件设计的过程是先进行程序框图的设计,然后再设计前面板。首先是确定我们需要的函数信号发生器一共可以产生哪些波形,然后是各个波形怎样实现和相互切换。最后是怎样来控制波形的产生。 从一些资料中受到启发,我们需要解决的一共就只有四个大问题: <波形选择>:与我们常用的函数信号发生器相联系,根据仪器的功能,可以产生多种波形;但是我们需要的是一种波形,所以必须做好信号相互切换的功能。因此用case条件结构是最好的选择。我可以在case结构中添加多个条件分支,并用特定的数据类型表示不同的波形。在case结构中的条件选择端口加一个【文本下拉列表】,输入各个可以产生的波形(必须与条件分支中的标签一一对应),这样就可以实现波形的选择了。 <信号产生>:产生各个波形的方法有很多。比如用公式编写、有仿真信号生成、还有函数生成。但是最简单的是用【函数选板】中的【信号处理】的子选板中的【波形生成】中的【正弦波形】、【方波】、【三角波】、【锯齿波】。但是这些控件必须自己输入各种参数值。 <波形控制>:一个理想的函数信号发生器必须有一个开关,如我们所用到的函数信号发生器一样。在不需要发生器的时候就利用【开关】来控制信号的产生与否。因此,只需要在case条件结构的外面再加一个while循环结构就可以了。 <参数显示>:产生的波形的各个参数是否满足我们的要求,如果没有显示这些参数的话,我们是不能知道的。所以只需在程序框图中加一个显示控件或局部变量都可以。 以上就是整个虚拟函数发生器的设计思路。
3 主程序流程图4 各部分程序框图及前面板的设计4.1 正弦波信号的产生及参数的设计产生波形的方法有很多,可以用【仿真信号】、【信号生成】等。我选择的是【波形生成】,即正弦波形( ![](http://c.51hei.com/a/huq/a/a/d/85/85.002.jpg) ),它一共有四个参数:频率、幅值、相位、直流偏移量。只要我把四个参数都设置为变量,就能实现各个参数的调节,进而产生能满足不同要求的波形。达到一个虚拟仪器的功能。 这只实现了一种波形,还有其它波形。所以就涉及到了波形的选择。因此,我用了case条件结构。充分利用它的功能,我改变【选择器标签】中的数据类型,并添加所需要的条件分支。每一个分支就对应一个波形。并根据这个波形的特点,选择不同的参数。同样,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样就可以实现正弦波。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值,看是否达到要求。 正弦波的设计原理图如下所示:
图4.1.1 正弦信号程序框图 当然,“频率”是有单位的。所以,我用了一个字符串函数:【格式化写入字符串】,根据要求加入了单位:“Hz”。 4.2方波信号的产生及参数的设计接下来,我设计的波形是方波。选择【波形生成】中的方波波形( ![](http://c.51hei.com/a/huq/a/a/d/85/85.004.jpg) ),它一共有五个参数:频率、幅值、相位、直流偏移量、占空比。其中,占空比尤其重要,不仅要能调节,而且要准确的显示它的数值。同样,把其它四个参数都设置为变量,就能实现各个参数的调节,进而能满足我们的需要。 涉及到的波形切换,用case条件结构,充分利用它的功能,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样既可以实现正弦波,也可以切换到其它的波形。再添加一个显示控件,调节参数的同时,也可以观测它的值。 方波的设计原理图如下所示:
图4.2.1 方波信号程序框图 “频率”的单位处理方法与正弦波的方法一样即可。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。 4.3锯齿波信号的产生及参数的设计与上面的方法一样,选择【波形生成】中的锯齿波形( ![](http://c.51hei.com/a/huq/a/a/d/85/85.006.jpg) ),一共有四个参数:频率、幅值、相位、直流偏移量。把四个参数都设置为变量,就能实现各个参数的调节。 再用一个case条件结构,让各参数值通过条件结构的通道,并充分利用它的结构特点,每一个分支就对应一个波形。并根据这个波形的特点,选择不同的参数。同样,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样就可以实现锯齿波。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值。 锯齿波的设计原理图如下所示:
图4.3.1 锯齿波信号程序框图 “频率”的单位处理方法与其它波形的方法一样。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。 4.4三角波信号的产生及参数的设计选择的是【波形生成】,即三角波形( ![](http://c.51hei.com/a/huq/a/a/d/85/85.008.jpg) ),它一共有四个参数:频率、幅值、相位、直流偏移量。同时,把四个参数都设置为变量,就能实现各个参数的调节。 还有其它波形,切换的方法前面已经提到过。因此,用case条件结构,充分利用它的功能,改变【选择器标签】中的数据类型,并添加所需要的条件分支。每一个分支就对应一个波形。【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值。 三角波的设计原理图如下所示: 图4.4.1 三角波信号程序框图 “频率”的单位处理方法与其它波形的方法一样。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。 4.5波形控制的设计 根据实际,当我们在使用完信号发生器以后,必须把它关掉。所以,我们设计的信号发生器如果没有开关的话,就不符合要求。解决这个问题很简单,在总的框图外面加一个while循环结构,【循环条件】处连接一个【开关】控件,并且选择【真时继续】。 设计如下图所示: 图4.5.1 信号控制程序框图 4.6前面板的设计无论什么仪器设备,我们首先看到的就是它的前面板,通过前面板可以直观的看出仪器的功能及其特点。所以前面板的设计相当重要。我们应当秉持着美观、直接、特色、规范的原则设计前面板。就如人的脸面一样,第一印象特别重要。 下面是我设计的前面板,如图所示:
图4.6.1 前面板的设计图
5 多功能信号发生器工作过程分析5.1正弦波的工作过程及波形验证一切准备就绪以后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。 验证波形图如下所示:
图5.1.1 正弦波的工作过程及验证 5.2方波的工作过程及波形验证准备就绪以后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。 验证波形图如下所示: 图5.2.1 方波的工作过程
5.3三角波的工作过程及波形验证确定程序无误后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。 验证波形图如下所示: 图5.3.1 三角波的工作过程及验证 5.4锯齿波的工作过程及波形验证设计完成并确定没错以后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。 验证波形图如下所示:
图5.4.1 锯齿波的工作过程及验证
6 主要元器件介绍6.1 模拟示波器示波器由显示电路显示电路、垂直(Y轴)放大电路、水平(X轴)放大电路和电源供给电路共同组成。显示电路包括电子枪偏、偏转系统和荧光屏。 图6.1.1 模拟示波器 图6.1.2 示波器的原理图
由示波管的原理可知,一个直流电压加到一对偏转板上时,将使光点在荧光屏上产生一个固定位移,该位移的大小与所加直流电压成正比。如果分别将两个直流电压同时加到垂直和水平两对偏转板上,则荧光屏上的光点位置就由两个方向的位移所共同决定。 如果将一个正交流电压弦加到一对偏转板上时,光点在荧光屏上将随电压的变化而移动。这光点距离坐标原点的瞬时偏转值将与加在垂直偏转板上的电压瞬时值成正比。如果加在垂直偏转板上的交流电压频率10Hz~20Hz以上,则由于荧光屏的余辉现象和人眼的视觉暂留现象,在荧光屏上看到的就不是一个上下移动的点,而是一根垂直的亮线了。该亮线的长短在示波器的垂直放大增益一定的情况下决定于正弦交流电压峰一峰值的大小。如果在水平偏转板上加一个正弦交流电压,则会产生相类似的情况,只是光点在水平轴上移动罢了。如果将被测信号电压加到垂直偏转板上,锯齿波扫描电压加到水平偏转板上,而且被测信号电压的频率等于锯齿波扫描电压的频率,则荧光屏上将显示出一个周期的被测信号电压随时间变化的波形曲线。 为使荧光屏上的图形稳定,被测信号电压的频率应与锯齿波电压的频率保持整数比的关系,即同步关系。为了实现这一点,就要求锯齿波电压的频率连续可调,以便适应观察各种不同频率的周期信号。其次,由于被测信号频率和锯齿波振荡信号频率的相对不稳定性,即使把锯齿波电压的频率临时调到与被测信号频率成整倍数关系,也不能使图形一直保持稳定。因此,示波器中都设有同步装置。也就是在锯齿波电路的某部分加上一个同步信号来促使扫描的同步,对于只能产生连续扫描(即产生周而复始连续不断的锯齿波)一种状态的简易示波器(如国产SB-10型示波器等)而言,需要在其扫描电路上输入一个与被观察信号频率相关的同步信号,当所加同步信号的频率接近锯齿波频率的自主振荡频率(或接近其整数倍)时,就可以把锯齿波频率“拖入同步”或“锁住”。对于具有等待扫描(即平时不产生锯齿波,当被测信号来到时才产生一个锯齿波进行一次扫描)功能的示波器(如国产ST-16型示波器、SBT-5型同步示波器、SR-8型双踪示波器等等)而言,需要在其扫描电路上输入一个与被测信号相关的触发信号,使扫描过程与被测信号密切配合。这样,只要按照需要来选择适当的同步信号或触发信号,便可使任何欲研究的过程与锯齿波扫描频率保持同步。
结论
这一次虚拟仪器的设计的时间比较短。于是同学们都紧锣密鼓的张罗怎样让自己的作品做得更好,功能更多,前面板更具有创意。于是同学们都积极思考、相互交流。因此,时间就过得很快,也很有意义。 当然过程中遇到困难时不可避免的,要想做成一个让人满意的作品必须对程序框图中的程序反复测试和修改。由于老师为了培养我们独立解决问题的能力,因此一般不参与设计。在同学的帮助下,最后终于把问题都解决了。有时侯我们也会遇到自己确实不能解决的问题,老师还是会提出解决问题的建议,或是指点应该改进的方向。 设计是对所学知识的综合理解与应用,它不仅要求我们对Labview软件特别熟悉,而且还要求我们能够熟练运用各个【编程】中的各种函数结构。通过设计函数信号发生器,让我懂得发现问题,分析问题,并解决问题可以提高自己的能力。同时通过分析解决问题,加深对所学知识的理解与掌握。通过这次设计我学到了很多书本上永远都学不到得东西,
以上的Word格式文档51黑下载地址:
基于labview的函数信号发生器的设计.doc
(719.5 KB, 下载次数: 33)
|