自制简易示波器,示波器DIY过程分享

更新时间:2024-03-04 00:52:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

自制简易示波器,示波器DIY过程分享

自制简易示波器,示波器DIY过程分享 一年前,在《无线电》杂志上看到一篇示波器的连载文章(作者是魏坤)很是心动,希望自己也能亲手DIY一个。但当时材料、实力有限,于是笔者拼命的研究文章中提供的电路图和使用的芯片资料。现在,自己终于也能DIY一个了,当然,性能远远没有那篇文章介绍的强,但软、硬件技术及制作难度很小,容易让DIY爱好者们自制成功。在这里,笔者愿和大家分享一下制作过程。这款简易示波器的性能如下:1.电压挡位:200mV、500mV、1V、2V、5V、12.5V、25V、50V。2.频率挡位:12MHz、6MHz、4MHz、3MHz、2MHz、1MHz、500kHz、250kHz、100 kHz、50kHz、25kHz、10kHz。3.能较好地测量300 kHz的波形。这次DIY的示波器性能虽然较弱,仅仅能用来测试音频等300kHz以下频率的周期波形。不过它还有一个实用的功能,可以用来测试+/-50V的电压(量程是自动切换的)。主要零件编号 零件名称 数量1 ATMEGA8单片机 19 24MHz有源晶振 18 128x64液晶屏 [ST7565控制器] 12 5532运放 23 AD603压控放大器 14 TLV5618[DA] 15

ADS830E[AD] 16 IDT7205 17

ILC7660 210 1117-5.0 211 1117-3.3 112 79L05 113 继电器 214 电容、电阻、二极管 若干15 三极管 216 洞洞板 117 按钮 2电路分析这个版本示波器的电路原理如图1所示。电路制作时,我用了1块16cm×10cm的万用板,电路中仅仅使用2个按钮来操作示波器,因为我只使用了一片M8单片机作为控制器,1个按钮用于循环改变采样频率,另一个按钮用来选择信号的耦合方式,直流或者交流耦合。大家要问了,如何用一片 M8 单片机产生12MHz的采样时钟呢?呵呵,其实我对M8单片机进行了超频,使用24MHz的有源晶振作为它的时钟频率。然后,通过定时器2的比较匹配翻转电平,以产生不同的时钟。当OCR2=0时,单片机的OC2引脚就能产生12MHz的方波了。当然,如果大家不想超频,那么最高的采样频率就是16MHz 的一半,8MHz了。因为,M8的技术手册上建议最高为16MHz的时钟,而比较匹配的最高频率为系统时钟的2分频,即8MHz。本次制作的源代码使用 WinAVR编译。如果使用16MHz的晶振,请自行修改源代码。电路中,被测量的信号,经过500kΩ、480 kΩ、20 kΩ电阻串联回路,通过继电器进入第1个运放,运放起到阻抗匹配的作用,因为AD603的输入电阻仅为100Ω。单

片机通过继电器选择合适的衰减倍数,在默认情况下,为1/2倍的衰减。在测量较大的电压时,单片机会选择1/50 的衰减。选择衰减的目的是为了方便后期的2次放大。后期放大使用了一片AD603,它是压控放大器。通过改变GPOS(第1脚)与GNEG(第2脚)之间的电压差,即可控制它的放大倍数。AD603的GPOS(第1脚)的电压通过一片DA5618控制,它是12位串口DA,它的参考电压为1.25V,由2 个电阻分压而得。整个电路的运放可以使用NE5532、AD8066、LM6172等,它们的引脚都是兼容的。由于采样的速度比较快,远大于M8单片机的读取及处理速度,所以通过IDT7205来缓冲高速采样的电平数据。最后,单片机读取采样的数据,并在128×64的液晶上显示。那么,如何控制采样电压呢?单片机程序会自动选择合适的电压挡位(即控制AD603的放大倍数)。当电压一直小于一定值后,那么程序会选择高灵敏度的挡位(即增大控制AD603的放大倍数)。同样,电压一旦大于一定值,就会选择低灵敏度挡位(即减小控制AD603的放大倍数)。这样,电压的选择就实现了自动的功能。我使用了一个按钮来选择频率,手动循环地选择不同的量程。电源使用12V的电压,经过6个二极管降压,这时的末端电压为6~7V。通过2片1117-5.0V稳压。这样就有两路5V的正电源了。一路用在数字部分,另一路用在模拟部分。其中,数字部分,再经过1117-3.3V稳压,产生3.3V的

电压,用在黑白液晶上。负压,通过ILC7760产生,并经过 79L05稳压到-5V。这样,示波器所需要的电压就都有了。程序控制笔者觉得这套电路中单片机程序的精华算是软件产生示波器所需要的采样频率了。M8单片机有3路时钟,T0、T1和T2,其中T1和T2有CTC时钟模式,于是我就使用了T2时钟的CTC比较匹配模式。那么什么是CTC模式呢?CTC也叫比较匹配模式,T2定时器运行时,会和一个比较匹配寄存器比较。当数值一致时,定时器会复位,重新从0开始计数,周而复始。我们设置寄存器匹配时,单片机的OC2引脚翻转电平。这样,引脚上就能周而复始产生固定频率的方波了。如何改变频率呢?很简单,通过改变比较匹配寄存器的数值即可。具体的数值,通过公式OC2 = 时钟频率/2/需要产生的频率-1来计算。其中,时钟频率可以设置为系统时钟、系统时钟8分频、系统时钟32分频等。单片机通过控制三极管来驱动继电器,其中一个继电器控制耦合方式,另一个控制衰减倍率。与此同时,单片机发送2字节的数据,让TLV5618产生控制电压,一路用于控制AD603,改变它的增益大小。一路恒定产生2.5V的中点电压。因为在这个电路中ADS830E的电压测量范围为1.5~3.5V,当ADS830E采样到的电压为1.5V 时,ADS830E的数值为0,采样到的电压为2.5V时,ADS830E的数值为128,采样的电压为3.5V时,它的数值为255。由于我使用的是 128×64

的液晶,所以,把采集到的数据除以4压缩后,就可以方便地在128×64液晶上显示了。由于一个屏幕的波形,需要128个点显示,即128字节。因此,单片机最好有128字节以上的RAM来缓存数据。通过平均每点的数据,转换它代表的实际电压,即可计算出平均电压值。同时,比较数据,查出最大值和最小值,即可计算出峰峰值。最后,计算2次波峰间的点距,计算它代表的采样时间,即可得到波形的频率。具体的方法,请分析源代码吧。制作过程为了焊接方便,在制作前,我把贴片元件通过转接板,转接成DIP封装,以方便后期制作,见图2。这样,示波器的焊接将会变得简单些,不过整体体积增大了不少。器件之间,我用绝缘线连接。由于连接得太难看,就没拍照记录了。液晶使用128×64的黑白液晶,它使用的背光是橘黄色的。使用的控制芯片为 ST7565。它支持串行模式,所以仅仅使用4个I/O口和单片机连接,2个按钮和TLV5618的数据线与时钟线复用,用绝缘线将它们连接在一起。在洞洞板的右侧,焊接了ISP下载接口,方便下载程序。电源使用的是12V电压,可以用变压器、8节5号电池、聚合物电池等供电,如图2所示。示波器的探头是在面包板连接线的末端焊上鳄鱼头做成。呵呵,这样一个示波器够“山寨”的。A/D、D/A、继电器、电源等的相关引脚用圆孔插座引出,这样一方面可以快速检测问题,另一方面可以用其他更高性能的单片机或处理器控制

它,使示波器的性能更上一层楼。一切都焊接好后,当然免不了测试一下这款“示波器”。可是,如果自己家里没有函数信号发生器,怎么测试呢?一种方法是通过单片机,自己编写程序产生指定的波形。另一种比较简单的方法是,下载测试用的音频文件到MP3、MP4、计算机等,通过音频线向“示波器”输出需要的波形。使用效果测量的具体效果,如图3所示。在128×64的液晶屏上,左上脚表示的是耦合方式,AC代表的是电容耦合、DC代表的是直流耦合,可以通过按钮循环改变。在液晶屏的右上角显示的是当前的采样频率,也是通过按钮循环改变的。液晶屏的左下角是测量的波形频率,程序测量2次波形频率,当频率一致时,才会显示出来。右下角的两个电压值分别代表波形的峰峰值和平均电压值。制作完成后,笔者感觉设定为50倍的采样率时,液晶屏能比较好看地显示出波形的整体效果。由此也可以认为,这个“示波器”的带宽仅为200~300kHz。不过,它还是能测量最高4MHz的频率,只是波形无法完美地在液晶屏幕上显示。具体的测试效果,可以看我用手机录制的视频。测量1 kHz正弦波250 kHz方波(注:这个方波是通过单片机产生的250kHz方波)这个DIY的简易示波器距离实际应用还有一段距离,但从这个DIY的过程中,笔者个人认为可以学到挺多东西的,如D/A、A/D、FIFO、运放等。还等什么,也动手制作一个吧!本制作的源程序、烧录文件、视频

文件可到本刊网站www.radio.com.cn上下载。

本文来源:https://www.bwwdw.com/article/gvta.html

Top