如何通过Arduino制作数字示波器

2020-01-09来源: elecfans关键字:Arduino  数字示波器  数模转换

在线制作数字示波器的经常见到的人,DSO必须具有数模转换单元,根据d/a转换电路可分为两种模式:1.特殊ADC芯片+单片机,2.在转换器内部使用单片机ADC计数。对于第一个模型,我尝试了两个,该电路稍微复杂一点,组件更难以完成,对于初学者来说很难。第二种结构相对简单,易于制造,但是具有很大的缺点,即带宽较窄, 示波器的带宽仅为7.7KHz。国内用户和STC单芯片AVR生产,但实际带宽小于10KHz。您也可以选择使用Fusion PCB制作PCB板,而无需自己焊接。

如何通过Arduino制作数字示波器

步骤1:代码

最近用Arduino示波器看到了一个网友,它可能比上面的第二种方法更容易使用,但结果并不理想,带宽很窄。因此,我想尝试一下,没有解决此问题的好方法。通过实验制作,不断修改代码,提高了d/a转换采样率,取得了很好的效果。


最终产品的主要参数:频率响应:10Hz-50KHz电源: 5V LCD LCD屏幕:128x64(ST7920)测量显示区域:96x64信息显示:32x64,显示测试信号的频率,Vpp等;同步:上升沿触发扫描速度:0.02ms/div〜10ms/div,载有9个1-2-5保持功能:冻结显示的波形和参数二,基本测试使用Arduino项目的最大优势是其丰富的资源,并且不需要太多的SCM知识。我使用的是u8glib LCD储存库,从而使编程更容易,否则LCD驱动器将花费您很多时间。 U8glib下载:u8glib_arduino_v1.13.zip(989.55 KB,下载:2577)这是我使用Arduino UNO构建的第一个测试电路,使用ST7920控制的12864 LCD LCD。只要将以下代码中的输入法下载后编译,就可以实现数字示波器的基本功能,会不会更简单? #包括//声明U8GLIB_ST7920_128X64_4X u8g(13,12,11);语句LCD SPI Com:SCK = 13,MOSI = 12,CS = 11 int x,y;绘制点坐标int Buffer [128];缓存存储阵列void setup(){}样本void sample(){for(x = 0; x 《128; x ++)Buffer [x] = AnalogRead(A0); (x = 0; x 《128; x ++)Buffer [x] = 63-(Buffer [x] 》》 4)的信号采样;计算y值}显示void draw(){for(x = 0; x 《127; x ++)u8g.drawLine(x,Buffer [x],x,Buffer [x + 1]);画两条线u8g.drawLine(64,0,64,63);绘制轴u8g.drawLine(0,32,128,32);对于(x = 0; x 《128; x + = 8)//绘制轴刻度u8g.drawLine(x,31,x,33); for(x = 0; x 《64; x + = 8)u8g.drawLine(63,x,65,x); u8g.drawFrame(0,0,128,64);绘制边框} void loop(){sample();示例u8g.firstPage();清除屏幕做draw();显示while(u8g.nextPage());

}


步骤2:电路

使用测试电路,直接使用AnalogRead()函数测量Arduino,以完成ad/a转换,转换速度约为111μs速度很慢,因此其带宽大部分为1KHz,下一个优先事项是在增加其他功能的同时提高数模转换的速度。


第三,最新的程序这是使用最新的源代码,请保留我的开机LOGO,哈哈。 Arduino_oscilloscope.zip(2.72 KB,下载:2710)

程序芯片1.1V ADC使用上述电压基准,如果要使用外部5V基准电压,则应程序ADMUX = 0xe0;至:ADMUX = 0x60; Vpp =(V_max-V_min)* 1.1/255;读取:Vpp =(V_max-V_min)* 5/255;

使用Fusion PCB可以制造出更好的电路板。

使用上面的Arduino UNO进行四次机器制造的实验,

电路图:

主要组件列表:编号名称Arduino PRO mini 1 LCD12864 LCD(ST7920)1电解电容器(100μ25V)1电位器(50k)1孔板3电源开关1电池盒2按钮开关(带可充电电池,第7个)1盒1

1,焊接Arduino PRO mini PIN。/p》

2,焊接电路板组件

3,制作LCD孔板

4,组装电路板

5,制作外壳I

6,组装

将带有塑料外壳的宝盒的充电结构调整到孔中的适当位置。

6,组装

将电路板装入带有厚白色面板的外壳中

第3步:上传并测试

都e到Arduino PRO mini不会打开USB串行端口电路,因此在下载程序之前要通过USB串行端口下载进行传输。

示波器的调试非常简单,只需将电位器调至50k中心即可。水平扫描线。我使用信号发生器的信号源。

启动LOGO

测试:

一些解释

1,这是最常见的一种。简单的数字示波器,您可以在此基础上进一步改进;


3 ,工作很匆忙,存在任何缺陷和不足,请提出建议,您还有任何问题可以在这里进行。

关键字:Arduino  数字示波器  数模转换 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/Test_and_measurement/ic485064.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:教您利用数字存储示波器对特殊信号进行测量的方法
下一篇:混合信号示波器可以向用户提供比传统数字示波器更多功能

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

怎样制作基本的ArduinoPC示波器
将简单的Arduino Uno(以及一些Python代码)转换为粗略的示波器,以查看波形和电压电平。示波器非常有用,但通常带有很大的价格标签。幸运的是,有一些专用示波器的替代方案,所以在这个项目中,我们将把一个简单的Arduino Uno(以及一些Python代码)转换成可以用来查看波形和电压电平的粗略示波器!工作原理:Arduino示波器的硬件/固件端非常简单,并利用内置的模块Arduino,ADC。 ADC代表模拟数字转换器,是一个可以采用模拟电压(0V和5V之间)并将其转换为二进制数的模块。 Arduino有一个10位ADC,这意味着最大电压5V表示为1023(1111111111),最小电压0V表示
发表于 2020-02-14
怎样制作基本的ArduinoPC示波器
如何使用Arduino制作简单的示波器
步骤1:所需的零件和工具Arduino Uno [Banggood]Arduino IDE步骤2:过程在此处下载代码1:打开Arduino IDE并打开代码,然后上传到arduino开发板。2:从下载的文件中打开串行示波器文件3:将波特率设置为115200。将串行端口设置为arduino板连接的端口。4:单击示波器按钮,然后选择通道。一次您可以在一个窗口中看到3个通道。5:现在这里是探头连接,arduino板的每个模拟引脚都可以用作通道。要在窗口中激活多个通道,必须在终端中输入通道号。
发表于 2020-02-07
如何使用Arduino制作简单的示波器
如何采用Arduino系统板进行单片机编程
用Arduino编程具有简单易学的特点,但要配合Arduino控制板使用,使得成本比较高,体积也大,而且除单片机电路以外的大部分电路只在编程时有用,在电子制作上使用后就是多余的了,造成了浪费。能不能不用Arduino控制板,直接想办法用Arduino给单片机编程呢?答案是肯定的,只要做一个Arduino最小系统板,配合ISP下载线USBtinyISP或USBasp 就可以给AVR单片机下载程序了,Arduino最小系统板有一个锁紧座,方便单片机插上和取下,下载好程序的单片机就可以取下装到目标板上去使用了。Arduino最小系统板电路见下图,适用于对ATmega8、ATmega168、ATmega328等型号的单片机编程。电路图
发表于 2020-01-20
如何采用Arduino系统板进行单片机编程
avr和arduino之间有什么关系?avr单片机和arduino的优点分析
       很多时候我们可以看到avr和arduino几乎可以同时出现,那么它们之间都什么区别呢?本文主要围绕avr和arduino之间的区别以及优点而进行的研究。  avr介绍  AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(Reduced InstrucTIon Set Computer) 精简指令集高速8位单片机。AVR的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。 1997年,由Atmel公司挪威设计中心的A先生和V先生,利用Atmel公司的Flash新技术,共同研发出RISC精简指令集高速8位单片机
发表于 2020-01-11
avr和arduino之间有什么关系?avr单片机和arduino的优点分析
使用USBASP给Arduino烧写bootloader教程
arduino板由于操作不发导致固件损坏,或者想更新固件怎么办?今天给大家介绍一下如何使用UsbAsp烧写bootloader.个人认为,此种方法比使用TinyIsp要方便并且成本更低。 首先确保手上有一个USBASP下载器,某宝上一搜一大堆,下面以TSROBOT的兼容型UNO板,分别介绍mega16u2的固件和mega328p的固件烧写。______________________________________________________________________ 下载器的驱动安装:将USBasp 插入电脑usb 接口后,系统提示找到硬件,按下列图示安装。<ignore_js_op>选择“从列
发表于 2019-12-11
使用USBASP给Arduino烧写bootloader教程
数字示波器提供的工具如何用来表征噪声
每个电路都有一定的噪声,这些噪声会影响模拟和数字电路的性能。有些噪声来自外部干扰,有些噪声则由热效应等随机因素引起。随机产生的噪声要比已知来源的噪声更难以表征,因为没有哪次测量提供了关于上一次或下一次测量的任何信息。这种过程只能通过对许多事件的多次测量、并用下次某个具体事件的概率来描述。许多数字示波器提供的工具可以用来表征噪声。一旦了解了噪声的特征,就有办法减轻噪声。要用数字示波器分析诸如电气噪声等随机信号,就需要能够提供随机过程多个视图的工具。图1是多维示波器工具的预览图。图1:左上图是带宽受限的高斯噪声的时域图,左下图是功率谱密度,是带宽受限噪声的频域图;右面的柱状图是带宽受限噪声的统计图。这三个视图都因采用了有助于对测量进行
发表于 2020-02-20
数字示波器提供的工具如何用来表征噪声
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved