使用Labview做一个模拟数字示波器

使用Labview做一个模拟数字示波器,第1张

建议:

1首先在前面板上添加示波器所需要的控件。例如,波形图,旋转按钮等等。

2选择一种编程结构,建议你用事件结构(这个结构在LabVIEW软件中自带),

用状态机和事件结构结合的编程结构会更好(这个是大虾们的经验)。

3如果你的示波器要和硬件通信的话,就就具体看你用什么硬件,然后用什么函

数。例如,如果你用NI的采集卡,那你可以用DAQ函数。如果不需要硬件,那可

以用函数生成波形。

虚拟示波器传输模块设计的基本方法和基本功能。分成硬件和软件2部分设计

硬件部分:

1、虚拟示波器硬件传输模块设计,需要电子电路知识和集成电路选型手册等,或者找到参考电路图,再结合设计的技术要求,才能设计出硬件传输模块。

2、硬件传输模块实现输入电压、频率、波形的信号测量,测量结果输出USB口,连接电脑的传输通讯数据信号。

3、硬件传输模块选用不同的集成电路和通讯电路则具有不同的截止频率,这是很重要的指标。例如10MHz示波器,40MHz示波器,频率不同,差异和价位不同。

软件部分:

4、虚拟示波器软件传输模块设计,需要电脑系统支持的开发软件,例如VC,C++,java等等,设计软件要能够实现:读取USB通讯的硬件传输模块传递来的测量结果数据,把这个数据解析出来,在电脑屏幕上模拟示波器功能,实时显示出来测量结果的波形。

5、虚拟示波器软件还要有模拟真实示波器的时间,幅值、刻度等选择、转换开关功能等,才能完善的实现硬件+软件的传输模块功能。

虚拟示波器就是和实际的差不多用。我用过,对于没有示波器的情况看看低电压工作的地方还是挺好的。你需要做一条表笔线就可以了,插到声卡的线路输入。就行了就需要这一个外部器件。放到你的线路板的三极管集电极就可以了,调整虚拟示波器的幅值,时间。

虚拟示波器不需要DAQ

通过程序面板 函数 - 数学 - 初等与特殊函数 里面的函数来模拟发送波形!

然后通过各种显示控件 或者别的程序处理来模拟示波器显示。

DAQ 是支持NI的数据采集卡的驱动程序 与你这个虚拟设计是没有什么关联的!

首先你要有示波器探头,接到你的开关电源电路板上,其次你的虚拟示波器在电脑上要正确采集,测量到信号就是开关电源电路板上的信号,与你设计的信号比较,通过调节开关电源电路板,达到你的要求即可。购线网

虚拟示波器是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。

虚拟仪器技术(VI)就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。这也正是NI近30年来始终引领测试测量行业发展趋势的原因所在。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色的集成这四大优势。

在模拟示波器中,上升时间是示波器的一项极其重要的指标。而在虚拟示波器中,上升时间甚至都不作为指标明确给出。由于虚拟示波器测量方法的原因,以致于自动测量出的上升时间不仅与采样点的位置相关,如图2中a表示上升沿恰好落在两采样点中间,这时上升时间为数字化间隔的08倍。图2中的b的上升沿的中部有一采样点,则同样的波形,上升时间为数字化间隔的16倍。另外,上升时间还与扫速有关,虽然波形的上升时间是一个定值,而用虚拟示波器测量出来的结果却因为扫速不同而相差甚远。模拟示波器的上升时间与扫速无关,而虚拟示波器的上升时间不仅与扫速有关,还与采样点的位置有关,使用虚拟示波器时,我们不能象用模拟示波器那样,根据测出的时间来反推出信号的上升时间。

Dim 波形 As Integer

2 Private Sub Command1_Click()

3     For i = 0 To 2

4         If Option_波形(i)Value Then 波形 = i

5     Next

6     DrawSin

7 End Sub

8

9 Private Sub Command2_Click()

10     Form_Activate

11 End Sub

12

13 Private Sub Option_波形_Click(Index As Integer)

14     波形 = Index

15 End Sub

16

17 Private Sub Form_Activate()

18     波形 = 0

19     Picture1Cls

20     Picture1Scale (-120, 1400)-(1100, -1400)

21     Picture1Line (0, 1000)-(1000, -1000), vbWhite, B

22     Picture1Line (0, 0)-(1000, 0), vbYellow

23     Picture1ForeColor = vbRed

24     Picture1CurrentX = -110:

25     Picture1CurrentY = 1100: Picture1Print "+1000"

26     Picture1CurrentX = -110: Picture1CurrentY = -900: Picture1Print "-1000"

27     Picture1CurrentX = -110: Picture1CurrentY = 100: Picture1Print "    0"

28 End Sub

29

30 Sub DrawSin()

31     pi = 31415926

32     txt宽度 = IIf(txt宽度 > 1000, 1000, txt宽度)

33     txt高度 = IIf(txt高度 > 1000, 1000, txt高度)

34     p = pi  txt波数  2

35     For i = 0 To p Step txt解析度

36         Select Case 波形

37             Case 0: y = Sin(i)  txt高度

38             Case 1: y = IIf(Sin(i) > 0, 1, IIf(Sin(i) < 0, -1, 0))  txt高度

39             Case 2: d = ((i  180 / pi) + 90) Mod 360: y = (d Mod 180 - 90) / 90  IIf(d > 180, -1, 1)  txt高度

40         End Select

41         x = i  txt宽度 / p

42         Picture1PSet (x, y), vbGreen

43     Next

44 End Sub

以上就是关于使用Labview做一个模拟数字示波器全部的内容,包括:使用Labview做一个模拟数字示波器、虚拟示波器传输模块怎么设计、虚拟示波器软件怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10208448.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存