IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> labview入门到出家11(补充)——基于单片机和labview开发的虚拟示波器 -> 正文阅读

[嵌入式]labview入门到出家11(补充)——基于单片机和labview开发的虚拟示波器

? ?之前有小伙伴提到需要虚拟示波器的资料,有些库还有文件丢失了,直接给的工程跑不起来,这里我把关键的地方讲解一下,大家可以自行开发。其实开发不难,只是有些点会耗点时间。虚拟示波器,顾名思义就是非实物的示波器,但也还是硬件(便携的采集设备)和软件(在电脑上显示和操作)的结合,和数字示波器相比,本质上区别不大,现在贵一些的数字示波器从功能上看,也很像一台计算机了)。今天要讲的只是低配的,简易版的虚拟示波器(在下当年的毕业设计)。下位机是基于STM32的ADC采集实现的信号抓取,然后通过串口传到上位机中显示。单片机的ADC和串口传输,注定了这虚拟示波器采集的波形频率不会太高,之前能在上位机上还原得比较好的波形频率是25Khz以下,如果大家有其他更快的采集(DSP,FPGA,NI采集卡)和数据上传的方式(USB等),可以尝试一下,也期待你们的分享。下面大体对硬件(外围电路),单片机程序(STM32),和上位机程序(labview)三部分进行讲解

1、硬件

????????硬件很简单,就是将输入到单片机的波形信号进行处理。因为我用的STM32的单片机,能检测到的电压值是0~3.3V,所以硬件部分就是把输入的交流信号先控制在-1.65V~1.65V之间,最后再通过电路将信号往上偏置1.65V就可以给单片机采集了。至于如何将信号放大放小,控制到可采集的电压范围呢,可以通过上位机发送串口数据给单片机,让单片机控制继电器(或者其他开关方式)切换运放端的电阻,达到更改运放倍数的方式,最后上位机呈现波形的时候加上放大缩小的倍数,就可以在上位机界面上还原波形信号了。我这里先采用了LM358的双电源运放芯片(交流信号,需要双电源运放芯片),后面因为LM358在高频输入的时候,运放输出的信号在零点处会失真,换了一款高频的运放芯片UA741,问题解决。双电源里面的负电压是通过LCL7660输出的。至于偏置电压,是我在multisim上面仿真出来的,实际测试后确实可以偏置,大家可以尝试使用1比1的运放后加偏置电压,也可以参考我的设计电路。附上完整电路图。

1-1:运放电路

这是直接用了毕业设计里面的图片,之前的文件不见了。应该能看懂吧 。运放采用的是最简单的负反馈放大电路。放大倍数Vout/Vin=R1/R2。

1-2:负电压电路

由于运放芯片想运放负极电压信号,需要采用双电源模式,必须为运放芯片提供负电压。所以本设计采用低功率,额定电压为5V的电源极性转换器ICL7660。ICL7660输入5V正电压,输出-5V电压。为LM358提供双电源。本设计采用ICL7660的基本负电压转换模式。

1-3:1.65V偏置电路(自己仿真实现的,实测可用)

?

2、单片机软件

????????这个直接用STM32的单片机ADC采集和串口例程,将数据分高4位和低8位的方式(单片机串口只能上传8位的数据),将12位的ADC数据通过串口分别传输给上位机,ADC采样率调到最高,串口通过DMA的方式,这样可以达到最高的采集速度。最后分别用两个for循环,循环往串口发送1000个低8位和1000个高4位数据。每次发送两组1000个数据的间隔你们可以自己定,我记得我应该间隔是100ms左右刷新一次数据,上位机整合两组数据后,一次显示1000个数据点。ADC和串口传输数据的可以在STM32的例程中找到,具体逻辑这里不再累述。不过还是附上当年写的几条程序吧。

1、连续读取1000个ADC数据;

2、拆分低8位和高4位;

3、向串口上传低8位数据;

4、向串口上传高4位数据;

3、上位机

????????上位机在整合两次接收的数据,直接调用Labview提供的信号分析函数,如单频测量函数,频谱测量函数以及幅值和电平测量函数。

3-1:读取串口数据

?3-2:整合高4位,低8位位数据。右侧输出直接给到波形显示控件

?3-3:波形控件

前面板->控件->新式->图形->波形图。

4、最终整合后的虚拟示波器效果

?采集的信号范围为5HZ~25KHZ(STM32F1系列采样率最高为0.5MS/s),0.1V~16.5V的模拟信号;幅值误差低于5%,频率误差低于2%,能满足日常中大多信号/电压的信号采集与分析。希望对大家有所作用,也希望国内开源资源能越来越丰富吧。虽然一般技术不能给我们工程师带来多大的财富,但至少在某个年龄段,在追求一种引以为傲的技能的时候,能让我们感到充实,自豪,也是一种不错的人生体验呢!

原创不易,一键三连拉!

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:39:38  更:2022-07-17 16:42:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:53:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码