找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

只需一步,快速开始

  • QQ空间
  • 回复
  • 收藏

参加活动: 1

组织活动: 0

  • TA的每日心情
    奋斗
    2017-8-19 17:50
  • 签到天数: 156 天

    [LV.7]常住居民III

    ntwhq 高级会员 2013-8-18 16:42 楼主
    本帖最后由 ntwhq 于 2016-8-17 07:58 编辑

      
                                                                          基于Arduino的数字示波器

    (注:本作品在我写的新书《玩转Arduino电子制作》中有更详细的介绍)

    测试图-方波2.jpg           电路图B.jpg

                        

    一、概述

           经常在网上 看到有人制作数字示波器,数字示波器必须有数模转换单元,根据数模转换方式可以将电路分为两种模式:1.专用ADC芯片+单片机,2.利用单片机内部的ADC作数模转换。对于第一种模式我也做过两种(见我的博客: http://blog.sina.com.cn/ntwhq ),这种模式电路要复杂一点,元器件也较难配齐,对初学者来说比较困难。第二种结构比较简单,容易制作,但有一个明显的缺点,就是带宽比较窄,其中一个比较典型的作品是国外网友制作的:http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm ,这个示波器的带宽只有7.7KHz。国内也有网友用AVR和STC单片机制作的,但实际带宽均不超过10KHz。
            最近看到有网友用Arduino做示波器,这可以说比上面的第二种方式还要简单,但观察其制作的效果却不理想,带宽很窄。因此我也想试一下,看看又没有好的方法来解决这一问题。通过实验制作,不断修改代码,提高数模转换的取样率,取得了很好的效果。
            最终作品的主要参数
            频率响应:  10Hz-50KHz
         电    源:  5V
         LCD液晶屏: 128x64(ST7920)
         测量显示区:96x64
         信息显示区:32x64,显示测试信号的频率、Vpp等内容
         同步方式:上升沿触发
            扫描速度:0.02ms/div~10ms/div,按1-2-5进位分九档
            Hold功能:冻结显示波形和参数

    二、基础试验

          使用Arduino 做项目的最大优势就是其丰富的资源,同时也不需要了解太多单片机的知识。我下面的制作就利用了一个LCD的资源库u8glib,使得编程变得简单多了,不然LCD的驱动会花费你好多时间。
          u8glib 下载: u8glib_arduino_v1.13.zip (989.55 KB, 下载次数: 3326)

    评分

    参与人数 1贡献 +1 收起 理由
    coloz + 1 赞一个!

    查看全部评分

    打赏作者鼓励一下!
    这是我看的最认真的一个帖子,虽然我有很多不懂,也仿制了一个,相当NB,看见楼主这么认真而详细的回答,很佩服楼主,中国现在需要这样的人才。
    code_asf 发表于 2013-8-19 09:49
    相当NB,打算山寨一个

    同感,同感
    不过,我想用intel 的galileo做,是不是2代伽利略采样能高很多啊/
    " 2、大家可能注意到我没有使用 I/O端口0-7,这正好是AVR单片机的一个8位并口,这是我为后续升级准备的,在使用专用ADC芯片的时候它可以作为数据输入,如果大家对这个示波器感兴趣,以后我会考虑升级;"出升级版本的啦,这个简易的M数太小了哦。
    果然高端大气上档次,显示屏还有更好的么,那就帅呆了
    可以考虑用arduino due,芯片的采样率可以1M
    如果你觉得以上内容帮到了你,你可以打赏支持作者
    小小弧 发表于 2013-8-18 17:44
    果然高端大气上档次,显示屏还有更好的么,那就帅呆了

    谢谢关注,再好就用TFT屏了,但u8glib库不支持,得另外找库或自己写驱动。
    打赏作者鼓励一下!
    本帖最后由 ntwhq 于 2013-8-22 21:55 编辑
    coloz 发表于 2013-8-18 17:45
    可以考虑用arduino due,芯片的采样率可以1M

         谢谢加精和关注,arduino due太贵了,我这个arduino PRO mini经优化编程后采样率也达到400K了,要达到更高的采样率就要考虑采用片外ADC了.
    打赏作者鼓励一下!
    高端大气上档次
    袁培根 发表于 2013-8-18 22:28
    高端大气上档次

    谢谢鼓励!
    打赏作者鼓励一下!
    很不错,但是输入阻抗偏小了,最好加运放跟随下,以及没有电压衰减,加两个电阻分压下就不错了。


    然后程序上丰满下,加上偏移的电路。
    相当NB,打算山寨一个
    珜羽 发表于 2013-8-19 09:36
    很不错,但是输入阻抗偏小了,最好加运放跟随下,以及没有电压衰减,加两个电阻分压下就不错了。

          您的建议很好,我这次就是想尽量做得简单点,可以根据需要再加入输入电路。5V的电压用运放效果不是太好,用升压电路又复杂了,可以考虑在输入级用场效果管作跟随器。
    打赏作者鼓励一下!
    发表评论
    高级模式  
    您需要登录后才可以回帖 登录 | 立即注册  
    关闭

    推荐主题 上一条 /2 下一条