发作品签到
标准版

#第六届立创电赛#低成本虚拟示波器

工程标签

1.7w
0
0
21

简介

简介:

开源协议

GPL 3.0

创建时间:2021-09-05 23:25:37更新时间:2022-07-08 08:09:36

描述

注:* 为必填项

请在报名阶段填写 ↓

 

* 1、项目功能介绍


在一些简单的电子电路设计中,无需使用到高性能且体积庞大的台式示波器。因此,本项目为体积小巧的USB虚拟示波器。在设计过程中,在考虑了成本问题的基础上,尽量实现标准示波器的各项功能,充分发挥芯片性能。该虚拟示波器的参数和特点如下。

•采样率2MSa/S

•测量范围±10V

•交流耦合和直流耦合模式

•输入阻抗约为1MΩ/100pF

•最大100倍程控增益

•电压测量精度2%

•支持一键自动功能

•支持FFT模式

•在快速模式下屏幕刷新率可达20FPS

•元器件成本小于30元(基于立创商城价格计算)

*2、项目属性


硬件部分、单片机程序和上位机程序均为原创设计,没有参加其他比赛,也没有在校参加答辩。

* 3、开源协议


GPL3.0开源协议

请在竞赛阶段填写 ↓

 

*4、硬件部分


•实物图

PCB大小为6×4厘米,双层板设计,元器件只在顶层。模拟信号从左端SMA接口输入,由Micro-USB接口连接至上位机,并引出程序调试端口。

为了便于手工焊接,阻容器件选用了0805封装,在进行设计时也加大了间距,故在PCB布局和布线上仍有优化空间。值得一提的是,这次的丝印莫名比以往都要清楚,可以清晰的看到元件值和嘉立创的logo

•总体说明

硬件主要包括将测量信号转换至单片机AD可以采集的模拟信号转换部分、单片机电路USB串口数字电路部分和±3.3V电源部分。下面将依次进行说明。

•芯片和方案选择

由于不需要驱动OLED,主控芯片的性能可以较低,只需要实现AD转换和串口发送功能。选用了STM32G030F6单片机,TSSOP20封装,8KRAM12AD最大转换速率为2.5M,更关键的是,在立创商城的价格仅为8元,符合设计需求。

为了测量小信号,信号转换部分的运放需要双极性供电。考虑到整体的电流较小,负电源选用了极性反转电荷泵方案。在立创商城中有并没有找到价格合适的,最终选用了SGM3204(本项目用到的唯一在立创商城没有现货的芯片),具有200mA输出电流的电荷泵,只要三个电容就可以将+5V电源转换成-5V电源信号。

-5V电源的纹波较大,需经过LDO稳压芯片才能给运放电路供电。选用了XC6902N331稳压芯片,价格接近3元。同样,+5V电源也需要经过稳压芯片,给运放和单片机供电,选用了常见的1117线性稳压芯片。

运放芯片选用了NCS20072,具有3.2MHz带宽、2.4V/us压摆率,极高的输入阻抗,具有单位稳定增益,在±3.3V供电下有着±3V的输入输出范围,价格仅为1.6元。完全符合设计要求。

除此之外,还选用了模拟开关CD4053,串口转USB芯片CH340,通用比较器LM393,不再赘述。

•信号转换电路

信号首先经过680KΩ和220KΩ电阻电容构成的衰减电路,使得±10V的信号转化至运放可以处理的±2.5V范围,后一级电压跟随器使得示波器的输入阻抗为900KΩ/90pF

由单刀双掷开关控制是否经过RC高通滤波器,以实现交直流耦合切换。此处使用继电器是一个更好的方案,但模拟开关CD4053的价格显然更为合适。

两个同相比例放大器构成类似于级联的形式,由模拟开关控制是否进行放大。第一级放大倍数为5倍,第二级放大倍数接近于20倍。从而可以实现放大倍数为1倍、5倍、20倍、100倍的不同增益。相比较由一个运放构成的改变反馈电阻的程控放大电路,该电路对于频率较高的小信号有更好的放大能力。

后续经过电压抬升电路,将正负电压信号转换成单片机AD可以采集的信号,最终的信号将叠加在1.5V直流量上。比较器的正比较端也接入1.5V直流信号,比较器输出端即为同频率的脉冲信号。加入比较器的主要作用是获取波形的频率值,以更快的实现一键自动功能。

此外,图中所用的LM358通用运放在实际调试中改成了性能更好的NCS20072运放。可能由于LM358的压摆率太低,导致在频率超过10KHz时就会出现奇怪的失真波形。

•电源电路

电脑USB5V电源信号质量较差,含有大量的高频脉冲噪声,故首先经过简单的LC滤波电路。之后的SGM3204电荷泵可以将+5V电源信号转换至-5V电源,XC6902N331稳压器和ZLDO1117稳压器用于输出稳定的±3.3V信号。该电路均参考各自的芯片手册。

•数字电路

简单的单片机外围电路,用于注意程序调试的PA14引脚和BOOT0引脚为同一个,需要接入下拉电阻。20引脚的STM32G030F6P6TR的没有将模拟电源和数字电源分开,这可能会使得单片机AD有更大的噪声。在实际测试过程中,在2M采样率,256个采样点中,单片机AD的测量结果会产生最大15LSB的偏差(即0.3%的偏差)。

STM32G030F6没有USB接口,需要接入串口转USB芯片以实现串口数据传输的功能。CH340N内置晶振,只需要一个去耦电容即可。

•调试图片

 

 

*5、软件部分


软件包括STM32单片机部分和LabVIEW上位机部分。下面将分别说明。

•单片机程序总体说明

单片机主要实现串口接收指令、AD采集、波形数据转换和串口发送波形数据的功能。采用STM32Cube预先配置各项参数,在Keil中进一步编程。

•单片机参数配置

配置ADC触发方式为定时器触发,这样可以更精准的控制采样间隔。由DMA控制器将波形数据保存至数组,并设置DMA为非循环模式。

配置串口波特率为256000(没有采用常用的115200,因为只有在该波特率下才能够实现20FPS的刷新率)。开启接收中断。由DMA控制串口发送数据,这样在发送串口数据时,不会影响主程序的运行,从而可以提高刷新速度。

在频率测量中,配置定时器为输入捕获模式,将定时器从模式设置为复位,触发源为TI1FP1。由DMA控制器将每次脉冲信号来临时,将定时器的计数值保存至数组。另外,比较器的输出端含有高频脉冲噪声,需要配置定时器输入通道滤波器。

•单片机波形采集程序

串口波形数据格式为< Time00640+Fre00100+Amp0+DC+波形数据点>的形式。其中AD触发定时器的计数值Time,最大65535;输入捕获定时器的计数值Fre,最大65535;程控放大器的放大倍数Amp,最大值3;耦合方式用DCAC表示。

波形采集过程如下。

 

•上位机程序

上位机的主要工作是解析来自串口的字符串,处理波形、计算相关参数并显示。在单片机中不进行浮点运算,所有的波形数据均为AD采集的原始数据,为整数形式。而在上位机中,需要将这些整数转换成电压值。很显然,单片机AD值和输入电压值之间理论上成完全的线性关系,在上位机中需要跟据此线性关系求得实际电压值。在本作品中,有着4种程控增益,也就对应着4个函数关系。

上位机示意图如下。

 

•总结

本作品可以实现基本的示波器测量功能,对于电压测量有着较好的精度。其2M的采样率,对于音频范围内的信号,即20KHz的信号可以充分测量。由于示波器的带宽较小,使得其本身的底噪也不大。在下面的视频中,对于20mV的正弦波进行了测试。另外,该虚拟示波器可以测量具有5V直流偏置、频率为50KHz、幅度仅为50mV的小信号,该测量在下面的视频中也有所展示。

当然,一般的手持示波器都采用的是FPGA+高速AD的方案来实现高采样率,这是单片机内置AD远不能达到的。但是在价格方面,本作品的成本约为35元,也算是本作品的最大特点。在电路设计和选型过程中,也是尽量精简电路,减小成本。

*6、BOM清单


请输入内容…

*7、大赛LOGO验证


* 8、演示您的项目并录制成视频上传


分为常规功能展示和功能展示两个视频。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
LabVIEW.rar
263
2
STM32.rar
1236
3
原理图.pdf
178
4
立创EDA工程.rar
158
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航