学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?
1 - 项目中解决的问题
LabVIEW在测试测量方面是应用非常广的一款软件,本节以Arduino为信号采集硬件,设计一个简易的“示波器”。能够实现简单的基本示波器功能,比如通道使能、触发设置、时间分辨率及电压幅度分辨率的调整。
平时我们见到的示波器如图1·,2所示:
2 做题思路
Arduino Uno R3、模拟信号发生器件。使用Arduino Uno R3的第一个模拟采集通道Analog 0作为信号采集通道,将模拟信号发生器件产生的信号送给Arduino的Analog 0通道。
3 程序设计及实现
使用Arduino进行“示波器”设计的时候要使用连续采集模式对数据进行连续采集。
如图3所示,通过VI将Arduino设置为使用连续采集模式进行数据采集。
使用连续采集函数Continuous Acquisition Sample.vi进行连续数据采集。
在前面板设计中使用波形图标显示采集到的波形。对于示波器,我们能够调整时间分辨率和电压幅度分辨率,这时需要根据前面板相应的设置控件来改变波形图表时间轴的时间显示范围以及电压幅度轴的显示范围。这部分可以通过在程序框图中对波形图表的属性节点进行设置来实现。
图4为波形图表Y轴设置的属性节点帮助文档,
图5为根据前面板控件来实现Y轴波形显示范围调整的程序框图。
图6为波形图表X轴设置的属性节点帮助文档,
图7为根据前面板控件来实现X轴
另外,对于示波器而言,波形触发功能是一个非常重要的功能,该功能允许用户可以根据设置的触发电平、触发边沿进行相应的触发采集。因此,还需要在LabVIEW中编写能够实现触发功能的程序,本设计中的触发功能实现子VI的程序框图如图8所示。
在如图8所示的程序框图中,SLOPE.VI子VI用来实现上升沿或下降沿的判断及相应边沿数据在数组中索引的输出。
实现简易“示波器”功能的LabVIEW程序框图如图9所示。简易“示波器”程序主界面如图10所示。