【立创梁山派】2021年国赛J题-周期信号波形识别及参数测量装置 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

专业版 【立创梁山派】2021年国赛J题-周期信号波形识别及参数测量装置

简介:基于GD32F470的示波器,梁山派开发板,周期信号识别

开源协议: GPL 3.0

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

已参加:星火计划2023

创建时间: 2023-01-02 10:31:21
更新时间: 2024-01-02 18:40:03
描述

项目2023年4月9号程序有更新

1.项目说明

  本项目由梁山派(GD32F470ZGT6)做为主控,通过前级调理电路实现周期信号的测量,功能类似于示波器,但是由于是GD32F470的内置ADC,所以测量的范围没有市面上专业的示波器宽广,此项目由我带大家进行单片机ADC采样的学习以及对于电赛题分析,希望大家能在本工程中有所收获,同时笔者有不对的地方也可以私信,请勿引战!

示波器参数:

测量电压范围 :0-25V

测量频率范围:0-200Khz

测量精度:+-1%

测量采样率:2.6MSPS

哔哩哔哩视频链接https://www.bilibili.com/video/BV1ox4y1c7oE/?vd_source=2115628cb2ad4920fc2783689dd43b85

请大家动动发财的小手指点赞加收藏!!!私聊我进入技术交流群

您的鼓励是小学妹进步的动力,下一期带来小学妹的新作品

 

2.开源协议

GPL3.0 

 

3.项目相关功能

基于GD32F470ZGT6的内置2MSPS ADC,通过前级调理电路可采集0-10V,1HZ-100KHz的正弦波,三角波,方波,并可显示波形类型,如正锯齿波,反锯齿波,冲激波等波形。同时可以语音播报周期信号的参数。

fCNdELwtBBcrUxQ2MByrkbnkarV4XNXiZQpKSFdD.png

4.项目属性

本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。同时项目是基于本人在2021年全国大学生电子设计竞赛中获奖的作品改进制作而成

 

5.项目进度

整体项目用时7天,元器件费用主要是TFT显示屏,开发板以及物料,一共300元左右,有兴趣的朋友可以参考我的BOM购买。

 

6.设计原理

整体系统框架

GBMJiwIWHP09WYOB8BavkCT0fgc8fLOp4UtDd0fB.png

 

运放采用的是 TL084压摆率15V/us,完全符合要求。档位选择用的是74HC4051模拟开关芯片。
   如果在这里我们选用通用运放,由于压摆率太低,输入50khz正弦波,输出波形会得到一个梯形波,波形完全失真。
设计一个好的前级处理部分,会让我们的设备更优,性能更强。所以我们重点要设计好前级处理部分。
主要的元件我就介绍到这里,后面我将介绍原理图和PCB。
 

6.1原理图

一共分为主控电路和模拟前级调理电路两部分

 

v9F01fpvq666D90c7l6NZC9Hq6NTXeIw54VT3TfK.png

 

6.2梁山派主控

 

3CxOsyeagIWvJ3n0k2SRqpGXGtsa3PVV5BlMVCbO.png

梁山派的主控有一个非常好的优点,自带DAP下载器,同时下载器上集成串口功能,可以更加方便的下载和调试程序,更快定位程序所存在的问题。

2022年12月05号后立创·梁山派开发板主控从GD32F450ZGT6升级到了GD32F470ZGT6
两款芯片兼容主要差别GD32F450ZGT6主频200、SDRAM 256K,GD32F470ZGT6主频240、SDRAM 512K。

 

6.3前级调理电路

WpNT0Vw3hDgM5Qejbgl5hT1lcWyEVX0ctqxI1h6w.png

  这个电路为前级主要电路,通过一片运放,实现了多个功能。首先进来的就是交直流耦合,接着就是电压跟随器接着就是三个运放,一个是负责将信号放大10倍,一个是负责将信号缩小两倍,另外一个是将信号缩小5倍U6是CD4051,负责将信号选择到后级电路,默认状态下是选择放大10倍,由后级电路检测到放大10倍,如超过阈值,切换到二档,直通,如果直通信号还很大,那么就切换到缩小两倍的,最后在再切换到缩小5倍。以上切换,是要根据信号的幅度来切换,由后级电路检测。这里我们应该注意,电阻的选择,必须要是高精度电阻,否则会影响放大倍数。

  本设计需要采集的电压峰峰值范围是0.05V至10V,相对误差的绝对值不大于1%。由于ADC的输入电压为0-2.5V,因此测量信号应限制在该范围内。考虑到信号调理电路和ADC的线性度在中间区域会更好,在两端较差,可以选择2V作为它的上限测量边界,此时下限测量边界可以选200mV,这样可以使低电压区域的电压放大后能够和中电压区域做到无缝切换。同时,高压通道的最大电压为10V,将其缩小5倍后为2V,可以与中电压区域无缝切换

 

6.4后级处理电路

wQsjjfX01bFnWLaw2Xl5V0AvoIhZ0VSnNG8eRZYG.png

  首先后期处理部分分为电压抬升部分,过零检测部分,以及保护部分,将输入的正电压转换为负电压,再输到加法电路里面。两个负信号相加,得到正信号过零检测电路,检测输入信号到正电压时输出一个信号给单片机,从而得到信号的频率。准确的来说是电平抬升电路,否则单片机采集不到负信号。

我们这里要注意的是,单片机只能采集到2.495v,所以我们得加二极管进行保护。从而保护单片机不被损坏,为什么这里要采用反比例放大呢?因为反比例放大可以消除共模干扰,所以一般电路最好采用反相比例放大。

这里我们需要调节反相电压抬升的定位器,使电压达到一个在2.5V以下,0V以上的一个状态,如下图示波器所示

8FxlGbugL61jTu5Yxj9UWlWLnGfNel0725Ur5rGQ.png

6.5屏幕电路及选型

wdO17b0C2DqvIKYhRkgCRQUhtA2kgnk9lCe7TWc5.png

7e2fgFOTW7kROMIiSEAchycMNXbUUvcO4VQMyxsR.png

屏幕选择的是TFT2.8寸屏幕,采用ILI9341芯片驱动,屏幕资料比较多,同时显示的内容也比较丰富,采用软排线与单片机连接。

 

6.6 电源部分

dYl66NZNPypLTV6AIXQE1cMiyC0gZE9ykJqmrvfW.png

电源部分就非常的有讲究,因为我们的ADC对于噪声非常敏感,所以我们给整个电路的供电必须得低纹波,所以得不惜成本加入π型滤波,同时数字地与模拟地用0欧姆电阻隔离,达到一个抑制噪声的作用,我们负电压由SGM3204将5V转换成-5V,其他部分的电源由AMS1117提供。

 

6.7 过零检测部分

J9aiVy6HdftuH7Lg0u2mMdCxBgQFXsBaaINmIrk5.png

由我们单片机来直接测量周期信号的频率不是很精准,由专业的高速比较器,将比较器反相接地,同相接输入信号,即可以通过单片机的PCA输入捕获来得到一个比较精准的信号频率以及占空比

6.8 档位切换部分

8uqS2yTK8aCEXd6JY5MsLPHEg5vICQ8s9b5KnzGz.png

由于我们的输入信号范围是0-10V我们需要将它变换成0-2.5V的电压,所以我们得使用74HC4051 这种多路模拟开关,由于模拟开关在不同输入频率的导通电阻不一样,所以我们要分档位校正我们的采集电压,以达到最佳效果。

 

6.9 幅度检测部分

MWqbGg580RNrk35FPvyIOpdU2zOaduvUW2dLclrn.png

以上为幅度检测电路,也就是一个比较器,通过进行比较,从而得知输入信号的幅度,如果输入信号大于阈值,输出一个低电平信号给单片机,如果输入信号小于阈值,则输出高电平信号给单片机。从而检测输入信号的幅度是否符合单片机的采样范围以内。

 

6.10 语音播放模块

itdW9w2rYUZahlIjwTioMgue05wmR4xNnTJ1tPJV.png

语音模块直接是购买淘宝上的成品,只需要我们将固定的语音下载到SD卡里,用程序来控制他播放相应的语音文件就行了。

 

7.软件说明

7.1软件框架

jAQ1x2K8htXWJHVlAcsdGwe8ISwbUc9oQCO4vsrt.png

以上是整个软件的程序框架

7.2重点程序说明

7.2.1定时器

0NKC8C6HAwmhwLFbO8YQTqYLJz2oLW2asgqZmm3r.png

程序里有两个定时器都在主函数下面

 

7.2.2输入线性回归

84hKW7uCNKDMkMBXMWklnGutE3tmOvc2viyPI4XB.png

由于每个人的ADC采样都不一样,所以我们要在OSC.c函数里有输入信息的一个处理,整个后面需要我们进行校正参数,改变数值电压就会变化。

 

7.2.3系统文件构成

IG3VpRTQdIdNsWAh5Lz6J9XJN3UN2XSYDf4sXTbP.png

7.2.4 波形识别算法

Z1zY9XuusnL6zo7Y8aCVQ6c8H4wICtfkou1NgX18.png

以上为波形识别算法,算法的输入为480位的ADC数组,最大电压最小电压,占空比

波形识别原理:

NUPCTX78ZBQVTx2NTMNi1H4UaExvMbZ1SX0Xrubm.png

dsqiddlCbOb9iXbTfnlfIyax5JIjMngunW9OC7pw.png

WfrNvOgULXOAZqrJqXRWo1RaoVLhG1eyJqbICS9D.png

7.2.5 显示程序

ZEYjuicJTkpAsEYqTvQZtAO3bgJWEyJcmy86uu4r.png

以上为波形显示程序,由两个数组组成,程序内有注释,还可以设置移动波形。

 

8.实物展示

klLK6r1B0fz6VV3IoItL5EnOLo32M8tIpCxcuo2F.png

FwSHfp4jOuWB0dpmwdIDi5XCfgGPv33hNmrtjcn0.png

zDHEO6LQKvn8lL4CjnBsDhd2mTd96RUq7mx8GAU8.png

LjLY2G4DBdK0KmItZ0hN4xp6rJmpH148jGt73NWm.png

 

9.设计注意事项

1月11日程序改进:由于高频直流的矩形波有较大谐波成分,所以在1K以上的矩形波将采用交流耦合

在使用外置的基准电压时要卸下单片机上的一个电阻3.3和AVCC3.3之间连接的电阻,具体参考梁山派的原理图 https://lckfb.com/

使用的程序例程在GD官网上有下载:https://www.gigadevice.com/

10.其他

哔哩哔哩视频链接https://www.bilibili.com/video/BV1ox4y1c7oE/?vd_source=2115628cb2ad4920fc2783689dd43b85

高清哔哩哔哩演示视频链接https://www.bilibili.com/video/BV1cW4y137Cy/

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP