简易数字示波器制作-1

简介: 简易数字示波器制作

前言

       最近想做一个软硬结合的项目学习巩固之前学过的知识,在立创开源广场看到一个自制数字示波器项目非常不错,所以想复刻一遍。


       学习设计和制作一个数字示波器对于个人综合能力的培养是非常有帮助的,通过完成这个项目可以学到很多东西,数字示波器项目包括单片机电路的设计与开发、信号调理电路的计算、人机交互的设计以及外壳模型的设计等内容,综合了模拟电路、单片机设计、电路与PCB设计、外壳设计等综合知识。


一、项目介绍

通过本次实验,可以自制一个简易数字示波器实现以下内容:

  • 在1.8寸TFT屏幕上显示波形;
  • 支持通过旋钮对波形进行放大与缩小查看;
  • 支持暂停波形显示;
  • 支持输出1K、2K、4K方波信号,能够被自身输入检测到并显示在示波器上;
  • 支持通过按键调整占空比
  • 支持频率测量;


图片示例:

二、前期准备

做一个简易示波器首先我们需要自己设计原理图,然后进行PCB绘制和打样,购买元器件自行焊接,最后编写代码实现功能。    

核心板我们可以选用国产 GD32,或者 STM32 最小系统板为主控,在这里我选的是 STM32 最小系统板,可使用标准库或者HAL库进行编程。

1.原理图设计

2.PCB绘制

完成该项目只需掌握以下几点走线基本要求即可:

  • 走线以直线为主,如需拐弯时拐角以135°钝角或圆角优先,减少直角的使用;
  • 走线线宽电源线宽大于信号线,该项目中信号线走线宽度为15mil,电源走线为20mil,GND和AGND网络使用铺铜的方式连接;
  • 建议优先使用顶层走线,走不通的地方使用过孔建立顶层和底层的连接后转到底层继续走,底层走不通同样可以放置过孔换到顶层连线;
  • AGND和GND之间要通过一个0欧姆电阻进行连接,这样可以减少干扰
  • 对AGND和GND需要以0欧姆电阻处为分界单独覆铜,这里需结合PCB布局情况来调整覆铜范围;
  • 覆铜完成后如果还存在飞线,可通过在存在飞线的位置放置对应网络的过孔或者是调整走线位置使网络能够连接,也可以采用手动接线的方式消除飞线;
  • 走线完成后可在“工具”菜单栏选择泪滴添加,加强焊盘与走线的连接,最后再进行覆铜操作,如果对走线有移动调整也应使用快捷键Shift+B进行重建覆铜。


3.BOM (Bill of Material) 物料清单

image.png

三、电路原理分析

数字示波器是一种用于显示电信号波形的仪器,主要由模拟前端处理电路、单片机电路、电源电路、控制电路、触发电路、校准电路等电路组成。由于该项目为示波器入门项目,在电路设计上选择了一些核心电路,帮助初学者更好的了解示波器的原理和设计方法,主要包括了以下电路:


(1)模拟前端处理电路:负责将输入的检测模拟信号进行处理后给单片机进行识别,具体电路包括了交直流耦合选择电路、电压衰减电路、信号处理电路以及频率检测电路,是整个电路的核心。


(2)电源电路:负责给运放提供正负电源以及系统供电,是保障电路正常运行的基础;


(3)单片机电路:给系统提供控制核心,负责对输入信号的采集与处理输出工作;


(4)人机交互电路:用于控制示波器功能,包括按键、旋钮、LED灯、显示屏以及其它输入输出接口,为示波器功能的开发提供基础。


一个优秀的数字示波器设计及工作原理非常复杂,其中还包含了许多细节和技术内容,各个电路相互配合,使得数字示波器能够准确地获取、存储和显示输入信号的波形。


1.模拟前端处理电路

在整个示波器电路设计过程中,模拟前端处理电路是最为重要的,其中大量应用了模拟电路的知识,其中包括输入交直流耦合切换电路、输入信号衰减电路、以及信号调理电路所组成,在讲解模拟输入采集电路前,我们来思考以下几个问题:

  • 为什么要加这个电路,直接将输入信号接到单片机引脚不行吗?
  • 输入信号处为什么要加一个电容,有什么作用?
  • 信号调理电路的作用是什么,该如何设计?


(1)交直流耦合切换电路


信号类型可以分为直流信号和交流信号,现实中的信号往往都是都不是理想波形。比如直流电源信号应该是一条水平的直流信号,但都会存在电源纹波(交流信号);在采集交流信号时也可能混入直流信号对波形的峰峰值造成影响。为了保障对输入交流信号的准确测量,利用电容通交隔直的特性,将电容串联到电路中就可以过滤到信号中的直流分量,这就是交流耦合的概念。而直流耦合就是不对输入信号做任何处理。


举个例子:一个电压为1V的直流电平上叠加了一个1Vpp的正弦波信号,如果使用直流耦合模式,测试看到的是一个向上抬升1V的正弦波信号,但如果使用交流耦合模式,直流信号被滤除,则输出正弦波基准电压为0V。


电路中通过一个拨动开关SW2对输入交直流耦合信号进行切换,当开关2与1接到一起时为直流耦合,当开关2接到3时为交流耦合。那么问题来了,这里的电容该如何取值呢?是不是任意一个电容都行?


fbfbc684298d5b0089d7b4dfbec605a3_b72c4e762bbd4718bd1a5e1333837fae.png


要解决这个问题,那就需要了解电容的频率特性,理想状态下隔直电容的选择应该越大越好,但是由于不同容值的自谐振频率不同,低于自谐振频率时电容呈现容性状态,高于该频率时存在感性状态。电容越大,其自谐振频率越低,简单来说就是大电容通低频,小电容通高频。如上右图可知当瓷片电容为0.1uF(100nF)时,其自谐振频率为4Mhz,一般要求电容的截止频率 fc = 1 / 5 * fo,其中 fo 为电路中工作频率。由此可知在该项目中100nF是足够应用的,但如果输入信号频率更高,就应该选择更小的电容。


(2)输入信号衰减电路

信号经过交直流耦合选择电路后由开关SW3选择两个通道,开关2和3接到一起时,输入信号直接流入后级的电压跟随器电路;当开关2和1接到一起时,输入信号经过R7、R11、R14三个电阻构成的电阻分压网络后将信号衰减到了1/50倍,即 20k / (510k + 470K + 20k) = 1 / 50。结合后面的信号调理电路计算可知:


  • 当SW2开关2和3接到一起时,可以测量的输入信号幅值为-1.6V-5V
  • 当SW2开关2和1接到一起时,可以测量的输入信号幅值为-80V-250V

由此可知,当输入信号幅值较小时,可优先选择低压档位,如果测量时不确定输入信号幅值可先用高压档位测量后如满足低压范围内,可用低压档位测量以得到更为精准的测量结果,同时保护电路。

2548fde59b86b10b6e8d15b0037b8d8e_2a10624e9abe4e52b979570d999ebfc8.png

补充说明:该项目中使用的探头为BNC转鳄鱼夹探头,非专业示波器探头,仅对电路进行简单分析,此处不进行展开说明更多关于探头选择与阻抗说明。如使用专业示波器的无源探头进行测量,由于探头上有一个x1和x10的档位选择,当档位为x10时可以通过调整探头上的补偿电容或者是电路中的C10进行匹配已得到准确的测量效果,其中C10一般为可调电容,实际大小与各板间电容特性有关。


(3)信号调理电路

在信号调理电路中包含了一个电压跟随器以及由运放构成的信号放大电路,在分析该这部分电路时需要掌握运放的虚断与虚短原理。


虚断:


理想运放的输入阻抗是无穷大,然而真实的运放输入阻抗却是有限的。如果给运放的输入端加一个电压,然后测量该输入端的电流会发现电流读数接近为0,感觉运放内部断开,没有电流流入一样,但实际又是连接的,这种现象称为虚断。


也可以用欧姆定律U = I * R来理解,当电压一定时,电流与电阻成反比,电阻无限大那电流也就无限小接近为0。


虚短:


在运放处于深度负反馈时会出现虚短现象,使两个输入端的电位相等,就好像两个输入端短接到了一起,可以近似为 V+ = V- 。


在负反馈中,运放的输出信号的一部分被取出并反馈到输入端。这种反馈作用使得运放的两个输入端(正输入和负输入)的电压差趋近于零,、两个输入端的电压几乎相等。因为尽管运放的两个输入端在电气上并没有被直接短路、,但由于负反馈的作用,两个输入端的电压却几乎相等,就好像它们被短路了一样,故称为虚短。


接下来我们用虚短和虚断的知识分析以下电路:


b415757443ccaa7d3d4e48f8c31fba4d_aa978b1d728a48129878d88dd1979985.png


1)电压跟随器电路

在电路U5.2芯片中运放反向输入引脚2脚接到运放输出引脚1脚,结合运放的虚短特性,V+=V-=Vout。


根据虚断可知运算放大器的输入阻抗比较大,所以运算放大器正向输入电流很小,运放输出阻抗小所以输出的电流很大,说这里的电压跟随器起着一个阻抗匹配的作用。


2)比例放大电路

在对U5.1运放构成的电路进行分析时,可以将其拆解为一个同相比例放大电路和一个反相比例放大电路进行单独分析后合到一起。


536c552805b33c13085bbb25ead38a1c_d8ebb6c5765043ff9ce10072cdf49710.png


假设运放正向输入端接地,构成反相比例放大电路,由运放的虚断特性可知反向输入引脚流入运放的电流为0,可以R13和R15可以看做串联,所以流经电流相同。由虚短特性可知V+=V-=0,由此可得:

8162693d245458917330511f8049c741_3a0d318d17694921a374ad024af46af8.png

将Vi=1V,R13=20K,R15=10K带入得Vo=-0.5V,与仿真结果一致。


假设运放反向输入端接地,构成正相比例放大电路,由运放的虚断特性可知运算放大器两个输入引脚流过的电流为0,即流过R4的电流为0,Vin=V+。可以看做R13和R15串联,所以流过的电流也相同。由虚短特性可知两个输入引脚的电压相同,即V+=V-,所以有Vin=V+=V-。Vo与R13和R15构成回路,则流过的电流为:

单独对R13来看,流过的电流也等于它两端的电压除以它的电阻值,代入Vin=V+=V-得到以下公式:

合并两公式可得出:


将以上两个公式合到一起,将Vin = 5/3V,R13 = 20K,R15 = 10K带入得Vo = 2.5V,与仿真结果一致。


de9756f131866d2f8053e99452e30493_93bb7615a9fc422090fb545933889a5d.png


将以上同相比例放大电路与反相比例放大电路结合起来得到以下公式 Vo = (5 - Vin) / 2,将Vin=1代入公式得Vo=2V,与仿真结果保持一致。


Vo信号将直接接到单片机的ADC引脚,由于单片机采集到ADC的电压范围值为0~3.3V,由此可以计算出该示波器输入电压范围。

当输入信号Vin不衰减时,将Vo=0、Vo=3.3V分别代入公式得:

当输入信号Vin衰减 1 / 50 时,将Vo=0、Vo=3.3V分别代入公式得:

得到以下结论:


  • 低压档位测量范围:-1.6V~5V
  • 高压档位测量范围:-80V~250V

(4)比较器测频电路

为了实现频率检测的功能,将ADC输入信号通过一个滞回比较器对输入信号进行比较,实现频率的测量功能。滞回比较器是属于电压比较器中的一种,常规的电压比较器是一个单限比较器,电路中只有一个阈值电压,但在输入电压在阈值附近有微小变化时都会引起输出电压的越变。为了增强电路的抗干扰能力,在单限比较器的基础上引入了正反馈,保障了在一定范围内信号的稳定性。通过滞回比较器电路后输出一个方波信号,使用单片机的定时器捕获功能计算出输入波形的周期大小。


a27fc9233cd42445e62adc9dd13d55e4_de2467b9b8554936b2b1799163b8a0a2.png


滞回比较器电路的阈值电压需单独对运放输出结果进行分析,当输出为高电平时,输出端上拉到高电平,这时等效电路如下左图所示,算得Uth = U+ = 2.214V。当运放输出为低电平时,输出端接地,等效电路如下右图所示,算得Utl = U- = 2.172V。


b9f56b73c8a638dba5ace1d7c65fab1f_aaf12a8448114bf88e3e6ef6bbaa661c.png


下图绿色线代表信号输入电压变化情况,从0电位上升,初始输出状态为高电平,输入电压达到2.214V时,输出信号变成低电平,直到输入信号低于下限阈值2.172V时输出变为高电平。可以根据比较器当前的输出状态来确定下一个变化电平的阈值,当输出为高电平时使用的是高阈值Uth,输出为低电平时使用低阈值Ttl。之所以将阈值设置接近是为了避免信号干扰造成的误识别。


71f3e77bda1685ecc6f613d394e8621e_8152ada91c0c4a52871919e7a2f2a32b.png


注意事项:此处阈值比较器运放正向输入信号为固定电平,若使用带有DAC输出的单片机,可自由配置该点电位大小,从而改变阈值电压,实现对触发模式的设置。


这里除了可以用DAC输出的方式自由配置外,还可以使用PWM转直流的方式进行自由配置。


简易数字示波器制作-2

https://developer.aliyun.com/article/1508447

相关文章
|
2月前
|
算法
LabVIEW在同一个面板下描绘模拟波形和数字波形
LabVIEW在同一个面板下描绘模拟波形和数字波形
24 0
|
2月前
|
搜索推荐 JavaScript 人机交互
|
8月前
|
C++
HMI-28-【运动模式】给速度表添加数字显示
今天我要做的功能时给速度表添加数字显示。就是下图中左侧的`888`
HMI-28-【运动模式】给速度表添加数字显示
单片机-蓝桥杯 用光敏电阻测量光照强度并显示在数码管上。
单片机-蓝桥杯 用光敏电阻测量光照强度并显示在数码管上。
186 1
|
数据采集
LabVIEW虚拟数字示波器
本篇博文将设计一款虚拟示波器(简易版+复杂版),不依托外部设备,通过LabVIEW内置的信号发生VI,生成各类型波形,通过上位机软件可以对波形进行分析。当然,感兴趣的朋友也可以参照之前博文项目进行修改,将生成波形信号的功能,替换为采集实际设备,实现对实际设备数据的采集和分析。
|
芯片
数电实验 数字电子钟设计 基于quartus 实现计时校时闹钟秒表稍复杂音频 分享电路图设计以及工程文件
数电实验 数字电子钟设计 基于quartus 实现计时校时闹钟秒表稍复杂音频 分享电路图设计以及工程文件
1404 1
数电实验 数字电子钟设计 基于quartus 实现计时校时闹钟秒表稍复杂音频 分享电路图设计以及工程文件
数字逻辑电路实验:基本电子钟
数字逻辑电路实验:基本电子钟
91 0
|
传感器 数据处理 芯片
基于单片机的数字温度计设计
基于单片机的数字温度计设计
178 0
基于单片机的数字温度计设计
|
存储 芯片 内存技术
基于单片机的数字万年历设计
基于单片机的数字万年历设计
274 0
基于单片机的数字万年历设计
|
存储 数据采集 芯片
基于单片机的数字存储示波器设计
基于单片机的数字存储示波器设计
146 0
基于单片机的数字存储示波器设计