
AFE03数字示波器拓展板
简介
基于硬木课堂STM32H750VBT6核心板,制作的简易示波器拓展板,以2.8寸OLED作为显示核心,板子整体大小为10*6.8,方便携带,在日常电子制作中可以简单的使用此示波器来进行简单的测量。
简介:基于硬木课堂STM32H750VBT6核心板,制作的简易示波器拓展板,以2.8寸OLED作为显示核心,板子整体大小为10*6.8,方便携带,在日常电子制作中可以简单的使用此示波器来进行简单的测量。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
写在前面的话:
1.本AFE03拓展版需要配合硬木课堂的STM32H750VBT6核心板使用
2. 核心板详细技术文档请参考『硬木课堂』官方文档 硬木课堂-简易示波器 (yuque.com) ;
3.立创开源广场:[硬木课堂] AFE03示波器信号源扩展板 - 嘉立创EDA开源硬件平台 (oshwhub.com)
4. 电容24pf、220pf可能会导致峰峰值测量不准确,建议不进行它们的焊接;
一、项目描述
这是一个配合STM32H750VBT6核心板使用的示波器+信号源模拟前端扩展板。其主要功能与特性:
1、模拟输入部分 ( INA/INB)
- 通道数:同步双通道
- 采样率/带宽:2MSPS/100KHz
- 输入范围: ±10mV ±15V
- 输入阻抗:1MΩ
2、模拟输出部分 (COM4)
- 通道数:1
- 输出信号波形种类:正弦波,方波,三角波
- 输出正弦信号频率:1Hz - 20KHz
- 输出范围: +10V~-10V
- 输出阻抗:50欧姆
- 输出电流能力:±10mA
二、STM32H750核心板简介
详细技术文档请参考『硬木课堂』官方文档 硬木课堂-简易示波器 (yuque.com)
三、硬件部分设计说明
核心板和拓展板的引脚连接位置相同,可以直接将示波器拓展板插在核心板上面。
示波器通道介绍:
首先,我们要认识到当STM32H750的VREF用3.3V供电时,STM32的ADC输入范围为0-3.3V,而我们的输入信号最大是±15V,所以我们需要解决大信号输入不能饱和的问题,让我们来解个方程:
15*a+b = 3.3
-15*a+b = 0
得到a=0.11,b=1.65
也就是说我们需要将输入信号至少衰减到0.11倍(约衰减为1/9),再加上1.65V直流,就能满足ADC的满量程输入。于是我们使用下面的运算放大器电路,电阻网络完成1/20衰减,运算放大器实现x2倍放大器和1.65V电压平移,从而实现了0.1INB+1.65V;
可以使用叠加定理来分析这个电路,首先分析输入信号INB对输出Vo的贡献时,将电路中另一路电压源-1.65V接地,这样输入信号经过R14和R18后被分压到1/20,接着被同相放大器电路放大2倍,输入信号的整体增益就是1/10;而分析-1.65V对输出的贡献时,将输入信号AIN接地,-1.65V的放大倍数是-1倍。于是得到输出Vo = -1.65V * (-1) + AIN/10 = 1.65V + AIN/10。
-1.65V由-12V经过电阻分压和缓冲器得到:
上面这个电路解决了±15V输入匹配到ADC的0-3.3V输入范围的问题呢,我们还要考虑当输入信号较小时也能够准确采样的问题,例如当10mV信号输入时,经过上面的电路,会衰减到1mV,为了尽可能保证输入信号的信噪比,我们这里在模拟前端加入切换分档的方式,当采集小信号的时候,使用开关选择直通INB进入运放同相端,而不再选择INB衰减后的信号进入运放同相端,这样确保进入ADC的信号尽可能大。再配合16位ADC,可以让采样结果准确可靠。
INA、INB:示波器的输入端,这里通过电阻串联分压实现1MΩ的输入阻抗,并产生两个信号供选择,一个输入直通,一个衰减为1/20。
需要注意的是输入处的滤波电容24pf、220pf、不需要焊接,焊接会导致示波器拓展板峰峰值偏移过大。
gain:选通开关,选择直通信号或衰减为1/20的信号进入第一级同相放大器,同相放大器完成两个工作,第一是将同相端输入信号放大两倍,二是将放大后的信号平移1.65V,计算公式为Vo = 1.65 + 2*Vi。因此,对应电路整体增益为2倍或1/10倍。
AnalogA、AnalogB:经过同相放大器放大和平移后的模拟信号与STM32H750开发板连接,进入H750的ADC中;
TrigerA、TrigerB:AnalogA、AnalogB与直流参考电平(由H750的一路DAC产生)经过比较器后产生的方波信号,进入STM32H750的定时器进行测频。
示波器信号源介绍:
DAC_OUT2: 直流参考电平,通过STM32H750配置内部DAC2发出。包括了电阻分压和运算放大器实现的信号调理,和比较器实现的方波输出(供触发和测频使用)。STM32H750的DAC1输出的范围为0-3.3V的波形。两阶RC滤波器,实现低通滤波器功能。信号源电源部分经过电阻分压和缓冲器,将5V输入变为低阻的2V输出,后续放大-5倍用于平移输出信号。输出放大器,完成两个功能,第一将同相端输入放大6倍,第二将放大6倍后信号平移-10V后输出,计算公式为Vo=-10+6*Vi;分压网络,用于输出小信号时利用模拟电路分压来获得好的效果。
当STM32H750的VREF用3.3V供电时,内部DAC的输出范围是0-3.3V,为了达到题目中要求的±10V输出,我们需要解个方程:
0*a + b = -10V
3.3*a + b = 10V
解得a=6.06,b=-10
可以设计出上图中的电路。
上图中STM32H750内部的DAC输出的0-3.3V的信号,经过低通滤波器后从TL082的同相端输入,构成了放大倍数为6倍的同相放大器,放大后得到波形为0-19.8V;然后我们利用TL082反相放大器部分的-5倍放大能力,将5V分压得到的+2V经过-5倍放大得到-10V,和同相放大器输出的0-19.8V信号叠加得到约±10V输出。计算公式为:Vout = 6*Vin -10。
跟ADC类似,要使信号源输出覆盖±10mV到±10V,同时兼顾大信号范围和小信号精度,DAC的分辨率是个问题。H750的DAC是12位,DAC满量程(也就是4096个码值都用满时)输出是±10V,当我们靠调小DAC码值输出小信号时,要想波形的电压分辨率达到7位精度,也就是波形的垂直分辨率有128个点,只能将波形衰减128/4096=1/32,换算到输出电压范围±10V/32 =±0.3215V,在±0.3125V以下更小的信号,再靠调小码值输出的话,DAC的分辨率就不足了,波形上的台阶就比较明显。于是我们使用模拟分档的方式,当要输出±0.3125V以下更小的信号的时候,使用开关切换电阻分压将波形衰减1/20输出,确保了小信号下的电压分辨率。同时,R57和R62的组合也使得电路在1/20衰减下的输出电阻为50Ω,R5使得电路在x1档下的输出电阻为50Ω。
比较器电路:
为了实现触发功能和频率计功能,我们在板上设计了两路比较器通道,将两路模拟输入通道进入ADC前的波形转换为方波信号给H750的定时器输入使用。这里之所以使用进入ADC前的波形进行比较,是因为进入ADC的波形经过前端模拟电路调理已经落到已知的0-3.3V范围之内,这样比较器的比较门限容易设计。
如上图,H750利用内部的DAC2输出一个0-3.3V的直流,来和进入ADC前的通道2波形进行比较,将通道2的波形变为方波,这样H750的定时器功能就可以利用方波信号进行中断处理和定时器捕获处理。
电源管理模块:
使用MT3608芯片进行设计DC-DC升压,LDO线性稳压器L78和L79系列要注意分辨
按键部分介绍:
使用四个功能按键对示波器的界面进行操作控制,SW1为光标右移、SW2为光标左移、SW3为通道1/2的切换选择开关、SW4为DAC的开关。
旋转编码器介绍:
采用EC11直插型旋钮,未设置中间按键按下的功能,左旋增加数值,右旋减少数值
OLED显示屏介绍:
某宝购买的同款显示屏
- 重要(显示白屏):我个人的项目进度在屏幕部分耽误了较长的时间,主要问题是屏幕显示为白屏,硬木课堂官方文档在此部分也有详细的测试步骤,请参考第二章 快速刷新 (yuque.com) 后面的LCD测试部分内容。建议直接对屏幕座子的引脚进行波形测量,防止虚焊、接触不良导致的问题,一般情况下核心板的输出不会出现问题。
我这里设计了一款简单的LCD转接测试板来进行测试
PCB走线设计及外壳:
PCB 3D图展示:
PCB 3D外壳展示:
四、软件部分设计说明
连接上电脑打开烧录文件”5_DAC_1“运行Keil的时候,会提示需要安装STM32的运行库,按提示安装就好了,
设置flash编程算法
代码请查看附件,这里就不做过多的解释了
示波器界面介绍:
五、实物展示
简易示波器正面
简易示波器反面
简易示波器侧面
六、注意事项
电容24pf、220pf可能会导致峰峰值测量不准确,建议不进行它们的焊接;
在焊接过程中建议焊接一部分测试一部分,以免一个地方短路导致整个电路报废,这里我是先进行电源模块的焊接再焊接其他部分
七、演示视频
提示:演示视频上传附件即可,附件最大只能长传50M的文件,大于50M的文件可放置在其他网盘或视频网站上,只需把地址链接放入这里即可
八、附件内容
附件一:PCB板Gerber文件
附件二:PCB板BOM文件
附件三:示波器外壳文件
设计图

BOM


评论