【立创训练营】简易口袋式示波器 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 【立创训练营】简易口袋式示波器

简介:项目源于嘉立创联合硬木课堂举办的嘉立创EDA仪器仪表训练营活动,配合STM32H750核心板使用的示波器+信号源模拟前端扩展板.

开源协议: GPL 3.0

(未经作者授权,禁止转载)

已参加:仪器仪表训练营

创建时间: 2023-10-12 18:13:14
更新时间: 2023-11-19 10:34:45
描述

本项目仅供电路设计参考,欢迎大家根据自己的需求进行二次开发设计

本项目的io分配仅适用于硬木课堂的H750核心板,具体分配情况请看原理图

成品效果如上图所示 👆

软件代码在附件中!

 

信号调理电路的实现:

下面我们先简单介绍AFE03板卡上的模拟输入和模拟输出通道,后续我们再详细介绍设计和计算方法。

模拟输入通道介绍

包括了电阻分压和运算放大器实现的信号调理,和比较器实现的方波输出(供触发和测频使用)。

3vRLZ0SL5tUqobGPaMUcxT2OcLOXDaySyyKwflbF.png

nJWAp3prlGBw8CrDgm718n5yeycmNxeHMzYXSz2B.png

INA、INB:示波器的输入端,口袋仪器发出模拟信号与此处连接,这里通过电阻串联分压实现1MΩ的输入阻抗,并产生两个信号供选择,一个输入直通,一个衰减为1/20。

rx2e6VTTCV8kJqmT7ZlW0uE0MOPCtkUmLLyyjTyr.png

gain:选通开关,选择直通信号或衰减为1/20的信号进入第一级同相放大器,同相放大器完成两个工作,第一是将同相端输入信号放大两倍,二是将放大后的信号平移1.65V,计算公式为Vo = 1.65 + 2*Vi。因此,对应电路整体增益为2倍或1/10倍。

P72evvpKfGhliIFe7QddHERNM9kOQ3ttvc3zjxnf.png

AnalogA、AnalogB:经过同相放大器放大和平移后的模拟信号与STM32H750开发板连接,进入H750的ADC中;

oLWuNFknIY9Y5jNNQSAuFWD7K0EufQ36nzQLo6Iq.png

rZKF67wbA7Tm0hE1Sx9972HnLez2X847uzz14KJd.png

TrigerA、TrigerB:AnalogA、AnalogB与直流参考电平(由H750的一路DAC产生)经过比较器后产生的方波信号,进入STM32H750的定时器进行测频。

0aA6Xxmr87lw08WXerhICRY9a1qsCEBnK7CulOjc.png

DAC_OUT1: 直流参考电平,通过STM32H750配置内部DAC2发出。

模拟输出通道介绍

包括了电阻分压和运算放大器实现的信号调理,和比较器实现的方波输出(供触发和测频使用)。

c0GnKktG5ietAWVckGXKV7AAH8ZETaUuJ6xhaiqR.png

STM32H750的DAC1输出的范围为0-3.3V的波形。

两阶RC滤波器,实现低通滤波器功能。

DI8gDXFiZoTqdwdxGSgqdVL4KRCRxJG5ZUP9i7CN.png

电阻分压和缓冲器,将5V输入变为低阻的2V输出,后续放大-5倍用于平移输出信号。

tjbhBDqxZtezlp42gtKcXp4Kj6DYfRyrPQAAR2Xc.png

输出放大器,完成两个功能,第一将同相端输入放大6倍,第二将放大6倍后信号平移-10V后输出,计算公式为Vo=-10+6*Vi;

5KDO6lZX5YIEiWn2fKkIe2W5OcfKlzOTIhjT0G2j.png

分压网络,用于输出小信号时利用模拟电路分压来获得好的效果。

 

 

下面我们来详细介绍一下模拟电路的计算:

模拟输入通道计算

本节需要大家对运算放大器有一定的基础知识。

首先,我们要认识到当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;

P72evvpKfGhliIFe7QddHERNM9kOQ3ttvc3zjxnf.png

我们可以使用叠加定理来分析这个电路,首先分析输入信号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经过电阻分压和缓冲器得到:

6Sh1xjFFYBCd4pEwzhw1w5thejRVqWgmN76rsyl2.png

上面这个电路解决了±15V输入匹配到ADC的0-3.3V输入范围的问题呢,我们还要考虑当输入信号较小时也能够准确采样的问题,例如当10mV信号输入时,经过上面的电路,会衰减到1mV,为了尽可能保证输入信号的信噪比,我们这里在模拟前端加入切换分档的方式,当采集小信号的时候,使用开关选择直通INB进入运放同相端,而不再选择INB衰减后的信号进入运放同相端,这样确保进入ADC的信号尽可能大。再配合16位ADC,可以让采样结果准确可靠。

bCWIQiIFpehnIsPlTsaKe27dCDcmajLQ8VeTxgbp.png

如上图,在1M欧姆输入分压电阻后面我们加入一个信号开关(继电器或手动开关),用于选择INB是直接进入运放同相端还是分压到1/20之后进入,两种方式对于INB来说输入阻抗都是1M欧姆。当我们需要采集小信号时,我们可以拨动开关使用直通输入来获取更精确的测量结果。

可以计算得到:当选择直通输入时,Vo = 2AIN + 1.65,而当选择衰减输入时,Vo = AIN/10 + 1.65

 

模拟输出通道计算

当STM32H750的VREF用3.3V供电时,内部DAC的输出范围是0-3.3V,为了达到题目中要求的±10V输出,我们需要解个方程:

0*a + b = -10V

3.3*a + b = 10V

解得a=6.06,b=-10

可以设计出如下的电路:

DHxWG0mlZwCRDzkLBlYMlyd0GbG8cdvp8DLoCwbO.png

上图中STM32H750内部的DAC输出的0-3.3V的信号,经过低通滤波器后从TL082的同相端输入,构成了放大倍数为6倍的同相放大器,放大后得到波形为0-19.8V;然后我们利用TL082反相放大器部分的-5倍放大能力,将5V分压得到的+2V经过-5倍放大得到-10V,和同相放大器输出的0-19.8V信号叠加得到约±10V输出。计算公式为:Vout = 6*Vin -10。

vhEth4RinvChX15iZqYeymSLZc8v9Ri0jd5tsarK.png

跟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范围之内,这样比较器的比较门限容易设计。

TKhNfUdX4Z7BvfDrrH3BBENd3YDKEKI9AAn1JldU.png

如上图,H750利用内部的DAC2输出一个0-3.3V的直流,来和进入ADC前的通道2波形进行比较,将通道2的波形变为方波,这样H750的定时器功能就可以利用方波信号进行中断处理和定时器捕获处理。

 

测试视频链接:

https://www.bilibili.com/video/BV1qu4y1b77z/?vd_source=9e246afe4431a9ce8e6e4a2b312f5829#reply918519483

 

本项目所参考的硬木课堂的开源项目,里面包含了原理图中的电路相关知识点的讲解以及开源代码。连接如下:

https://oshwhub.com/damihuang/AFE03

 

附件说明:

程序源码.zip文件解压后可直接编译上传到硬木课堂开发的H750核心板,需注意KEIL MDK的相关环境配置。

 

 

训练营参与感想:

1.参加这次活动也是偶然在公众号推文上发现的,抱着试一试的态度填写了报名表,觉得重在参与。一开始电路图看不懂,就每天在群里看大佬们的发言,看的可仔细了,生怕落下哪一条对自己理解电路图有帮助的信息,知道了原理图上的一些小瑕疵,尝试修改原理图与封装。

2.后面画PCB需要用到专业版,之前也没用过。刚好在那段时间立创EDA有四层板的教学,我就去学习如何操作,包括内层的绘制,一些元器件摆放、连线的要点以及铺铜的相关知识,视频内容很详细,给了我这个初学者莫大的帮助。后面自己也不断揣摩硬木课堂提供的模板PCB,学习他们的布局与走线,磕磕绊绊也算顺利通过了PCB验收。这里要注意PCB上一些较大型的元器件是否会干涉。

3.在购买元器件时,由于元器件对于新手我来说确实还是有点多的,就需要厘清购买的元器件型号是否正确,封装是否对上,数量是否合理。这在操作过程中也踩了点小坑,比如没看仔细一种电阻的封装,PCB上是0805,却买了0603的,不过后来想想也凑合能用。

4.板子焊接调试过程才是最花时间的。因为也是新手焊接,一开始不懂要分块焊接,一次性就焊完了。结果一上电mt3608就冒烟短路了(特别提醒:上电前一定要测通断),后来换了个新的,上电前测通断显示电源和地没导通,但一上电就短路。怀疑是购买的元器件有点问题,换了一家店重新购买,重新焊接后电压调通了。还有就是虚焊问题也很关键,后面测试过程不少问题都出在了虚焊上。

5.软件调试过程也得益于群友的帮助,包括按键前后顺序调整,编码器跳两档的问题,如何调出想要的波形等。没有大佬群友的帮助,估计得卡好久。

6.如果说给这次训练营想一个能让大家都引起共鸣的关键词,我觉得,那一定是“每日运放一问”,从开头的每天有人问电路图中的运放问题,到最后快收官时依然有人提出,可谓首尾呼应。这两颗TL084CPW运放芯片,可以说刻在了这次训练营活动每个人的心上。

 

 

鸣谢:

感谢立创开源平台提供的这次周到的训练营活动!

感谢硬木课堂提供的硬核技术支持!

感谢训练营一群优秀而可爱的大佬!

一个月的训练营时间,坚持下来,顺利完成,收获颇丰!

期待与立创开源平台训练营的再度重逢,明年春来再相见!

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

程序源码.zip

98
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP