DIY制作示波器的超详细教程:(一)我不是为了做一个示波器

讲一个故事:

今年九月,一个新学期的开始,课很少。

我是一个闲不住的人,这样的日子很难熬,想去电子市场逛逛,但学校离市区有三十 多公里路,终于无聊到周末了。

和平常一样,逛电子市场都是这儿看看哪儿看看,碰着没见过的还喜欢问问,多年的习惯改不掉的……

一家柜台上摆着“低价处理 LCD 模块”的牌子,对于像我这样的穷学生来说,价格往往是考虑的主要因素。我径直走了过去,老板说这些低价屏都是全新的,只是没有资料,所以只能低价处理,于是我就贪了个小便宜花 30 块钱买了一块 128*64 分辨率的点阵屏。喜欢贪小便宜的人最后往往都是要吃亏的,最后我真“吃亏”了,就因为这个屏,害得我花了近300 块买了一块 320*240 的屏。

回到学校后就上网找它的资料,功夫不负有心人,我找着了。从资料中得知这块液晶显示器是不带字库的,这让我有些小失望,但一想只花了 30 块钱也就没事了。根据资料编写了程序让它显示了一些简单的图形,但让它显示图形或字符都得将所要显示的东西做成点阵数据存放在数组里才行,太浪费单片机里少得可怜的资源了!没有字库的点阵屏就是鸡肋!

正徘徊在“食之无肉,弃之有味”的时候,突然灵光一现,何不用它来显示一些时实的图形呢?显示什么呀?亮着的示波器给了我灵感,那就让它显示波形吧!正好我用的 AVR单片机带有 AD 转换器,说干就干,忙活了一下午,晚上的时候波形就显示出来了。这不就是一个最基本的数字示波器吗?图 1 和图 2 就是当时的“珍贵照片”,因为那块电路在以后的试验中已经被我拆了。这两张照片是我买了 LCD 屏的第二天晚上照的。

第一步的成功,坚定了我做数字示波器的信念。人总是有追求的,所以我要完善它! 其实这无异于“因有一只鞍而买一匹马”,但那并不总是坏的。

接下来的一个星期中我有事做了……

第二个周末,我拿出了我半个月的生活费,花三百多块买了一块 320*240 的液晶显示 屏和两片 TLC5510,开始了我自制数字示波器的征程。

以前从没有想过要制作一台数字示波器,所以对数字示波器的了解也仅停留在基本原理和功能上,更深入的东西几乎是一片空白。但是我相信电类的知识,只要你下工夫就没有学不来的,于是我开始到处找资料,但不管是图书馆还是互联网,几乎找不着一个现成的电路或实例可供参考,这种情况下只能自力更生,按自己的理解画出框图,一步一步的实验。

刚开始时因为用的是 AVR 单片机中的 ADC,最快的转换速率为 40k(不要求达到 10位精度),所以勉强能测到两三千赫兹,这样的性能我当然不满意!于是就用外置的高速ADC,这时 TLC5510 就派上用场了,它的最高转换速率为 20MSa/s,为了达到高速采样我给它提供 20MHz 的时钟信号,8 位并行数据直接送入单片机,问题出来了,单片机太慢了,来不及读数据。通过查阅资料我了解到对高速数据的缓冲可以使用 FIFO 存储器,这是我第一次接触 FIFO 存储器。第三个周末,我花了 40 块钱买了一片 4KB 容量的 FIFO 存储器IDT7204,直到现在这个示波器还是用的这片存储器。FIFO 的使用解决了单片机来不及读 数据的问题,但剩下问题还有很多:如何控制扫速、如何控制灵敏度、如何控制触发……

太多的“如何”让我好几个晚上不知如何睡好觉,但也正是这些“如何”给了我解决掉这些“如何”的动力……我喜欢挑战自己。换方案,试验,调试,再换方案,再实验,再调试……最终一个个“如何”的被我解决掉了,兴奋又使我好几个晚上不知如何入眠。这就跟一个国家的内战一样,不管谁输谁赢受伤的总是这个国家,但却推动了历史的进步。我就是在发现问题和解决问题中进步的,虽然受了点伤……试验期间我得到了《无线电》杂志社尹飞编辑的鼎立帮助,非常感谢他在精神以及物质上对我的支持!

最终我将这个数字示波器做出来了,也实现了我起初的要求,能较好的测量到 5MHz,这样的性能与专业的示波器相比也许差了些,但用于音频电路和平时的电子制作调试中性能还是能够满足要求的,不足 500 元的成本我觉得是很实用的,特别是对象我这样的穷学生电子爱好者。

谁对自制数字示波器有兴趣?

想体验一下兴奋到失眠的感觉?

跟我来吧,我们一同体验这种兴奋的感觉!

  • 42
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
关于是德科技: 是德科技(NYSE:KEYS)-原安捷伦电子测量事业部,是全球电子测量技术和市场的领导者,致力于推动无线通信、模块化和软件解决方案的持续创新,专注于为客户提供卓越的测量体验。是德科技提供的电子测量仪器、系统、软件及服务广泛应用于电子设备的设计、研发、制造、安装、部署和运营。 前言: 最近一直在玩STM32和LCD屏,从字符到TFT,从1.8到3.5寸,挨个都摸了个摸,公司产品出来了,可一直想用这些东东来作点什么。示波器上班用公司的,虽说也是便携的,但也不好带回家去用呵,看看市场上动辙千元以上,唉,还是自己动手来DIY方便自己,也造福网友。 性能目标: 电源使用二节2500mA锂电,正常工作5小时以上。 数字示波器参数: 主控: STM32F103ZET6 液晶屏: 3.2"TFT320×240 65K彩色LCD显示屏 STM32 FSMC总线驱动 AD: ADS831 IDT7205 最高实时取样率60Msps 8Bits, 取样缓冲器深度:5K 垂直灵敏度:5V,1V,500mV,200mV,100mV,50mV,20mV,10mV; 基准电压使用STM32 DA输出,实现按键调节波形基准。并有位置指示 水平时基范围:2S, 1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS,500nS, 水平位置可调并有指示 输入阻抗:≥1MΩ 最高输入电压:50Vpp 耦合方式:AC/DC 实现自动、常规、单次触发方式 ,上升或下降边沿触发 实现计算测量输入信号的频率、周期、占空比、交流峰-峰值、平均值 触发电平高低位置可调,并电压指示 触发时基位置可调,并带指示 实现RUN/STOP功能 使用16个按键,真正作到单键操作以免去组合按键麻烦。 如截图: 功能预留: 波形发生器:使用STM32另一路DA+NE5532实现正弦,三角波,方波输出。 SD卡波形存储输出。 系统串口,可连接电脑输出数据,也可实现远程ISP升级:通过从网上下载升级包文件,方便地升级示波器软件。 注意: 具体看原理图,实现机理:在系统复位后,SYSCLK的第4个上升沿,BOOT管脚的值将被锁存。在开机时使用按键将BOOT0位拉低即可实现STM公司原ISP程序升级,而不再用提前预装IAP程序造成使用麻烦 数字示波器实物展示: 原文出处:https://www.amobbs.com/thread-3706638-1-1.html
DIY示波器程序的编写需要掌握一定的编程知识和电子电路基础。下面简要介绍一下DIY示波器程序的编写步骤和要点。 1. 硬件准备:首先需要购买示波器需要的硬件设备,包括模拟-数字转换芯片(ADC)、微控制器、显示屏、输入输出电路等。 2. 程序流程设计:设计程序的流程,明确示波器的基本功能和操作方式。常见功能包括信号采集、数据处理、波形显示、参数调整等。 3. 信号采集:使用ADC将模拟信号转换为数字信号,并存储在微控制器的内存中。可以使用定时器和中断等技术来实现连续采样和高速采样。 4. 数据处理:对采集到的数字信号进行数据处理,包括滤波、放大缩小、垂直和水平触发等。可以使用数值处理算法或者内置的函数库来实现。 5. 波形显示:将处理过的信号通过显示屏以波形的形式显示出来。可以使用图形库或者自己编写显示函数来实现波形绘制。 6. 参数调整:为了方便用户操作,可以设置一些参数调整功能,比如触发级别、触发方式、时间基准等。可以通过按钮、旋钮或者触摸屏等方式来实现参数调整。 7. 错误处理:考虑一些异常情况的处理,比如输入信号过范围、采样率过低等。可以添加报警功能或者错误提示来提醒用户。 8. 测试和优化:完成编写后,进行测试,检查软硬件是否协同工作,是否满足设计要求。根据实际测试结果进行调整和优化。 总之,DIY示波器程序的编写需要深入了解示波器原理和相关的编程知识,针对具体硬件平台和要求进行设计和实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值