袖珍示波器设计-开源电路方案及技术细节

17 下载量 146 浏览量 更新于2024-12-02 1 收藏 595KB ZIP 举报
资源摘要信息:"该开源项目是基于STM32微控制器的袖珍示波器设计,拥有2.8寸TFT彩色液晶显示屏,具有小巧便携的特点。其技术指标包括模拟频带宽度为0 - 1MHz,最高实时取样率为1Msps,具有12位的采样精度和4096点的取样缓冲器深度。水平时基范围提供从10微秒/格到10秒/格的19档选择,垂直灵敏度范围从20毫伏/格到100伏/格,共12档可调。输入阻抗大于500KΩ,最高输入电压为80Vpp,仅支持直流耦合方式。支持多种触发方式,并能自动计算输入信号的频率、周期等7种参量。具备手动电压和时间测量游标,以及上升或下降边沿触发功能。设备还支持输出测试信号,拥有MicroSD卡插槽用于存储和读取波形文件,具备USB接口用于与PC通信,并预装Bootloader支持软件升级。此外,还内置可充电电池,可连续工作2小时以上,并能在使用内部电池时实现“悬地”测量。购买链接也已提供。" 根据提供的文件信息,以下是对【开源】基于STM32的袖珍示波器设计,2.8寸液晶显示-电路方案的知识点详细说明: 1. **袖珍示波器特点**:体积小,便于携带,设计中采用了常见的MP4尺寸作为参考,使其可以轻松放入背包或工具箱中,适用于现场测试和移动环境。 2. **显示技术**:采用2.8英寸TFT液晶显示屏,具备65K彩色显示能力,分辨率为320×240,这样的显示性能可以清晰显示波形图和相关测量数据。 3. **模拟频带宽度**:示波器的模拟频带宽度为0 - 1MHz,这意味着它可以测量从直流到1MHz的信号频率范围。 4. **取样性能**:示波器的最高实时取样率为1Msps(兆样每秒),拥有12位的采样精度和4096点的取样缓冲器深度,这为用户提供了足够的分辨率和存储容量来捕捉和记录信号变化。 5. **时基设置**:水平时基范围从10微秒/格到10秒/格,共19档选择,能够满足不同时间尺度上信号的观察需求。 6. **垂直灵敏度和输入阻抗**:垂直灵敏度分为12档,从20mV/Div到100V/Div,输入阻抗大于500KΩ,有利于减少对被测电路的影响,确保信号测量的准确性。 7. **触发功能**:支持自动、常规、单次、随机、浏览等5种同步触发扫描方式,以及手动的电压和时间测量游标,使得波形稳定显示在屏幕上。 8. **触发电平和灵敏度**:触发电平和触发灵敏度均可调,能够适应各种复杂信号的触发需求。 9. **测试信号输出**:设备能够输出10Hz到1MHz的测试信号,覆盖了广泛的测试频率需求。 10. **数据存储与传输**:可利用MicroSD卡存储屏幕波形文件,并通过USB接口与PC通信,实现了数据的便携存储和传输。 11. **软件升级与电池供电**:内置的Bootloader支持用户通过USB自行更新软件,同时设备内置可充电电池,支持“悬地”测量,这意味着用户可以不用依赖外部电源进行长时间的测试。 12. **开源性**:项目开源,允许用户自由获取和修改源代码,促进了技术分享和创新。 文件名称列表中提及的文件为: - 袖珍示波器使用说明.pdf:提供了使用该示波器的操作指南和注意事项。 - 示波器原理图.pdf:展示了该示波器的电路设计原理图,对于想要了解或修改电路设计的用户至关重要。 - FkCkcVNyh3d2uxVz2FFzXP5MwLAa.png等图片文件:可能是电路板布局图、示波器外壳设计图或其他相关设计图,为用户提供了直观的视觉参考。 该示波器设计的信息涵盖了电子测量仪器的基础知识、数字信号处理、STM32微控制器的编程应用、嵌入式系统设计、微电子电路设计以及PCB布局等多个技术领域。对于有兴趣深入学习电子仪器设计和嵌入式系统开发的工程师和技术爱好者来说,这是一个极佳的学习和实践项目。
581 浏览量
从来没有分享过什么东西,只是因为自己的实力太差,也不懂得怎么去学习! 很早之前搞得这个东西,搁置了两年了,这个是自己在大二上学期的时候做的东西,第一次接触STM32,什么都不懂。并且那个时候原子哥的教程还停留在《不完全手册的2.0》版本,也没有看到过任何有关的视频教程,对于我这种比较笨的人来讲,学起来是非常困难的。 但是呢,一个突然的想法在我脑袋里诞生了,就想搞一个“带触摸的便携式的小型示波器”,就这样,一旦有了想法,就无法控制,疯狂的找资料,(据说认真的男生是最帅的,哈哈,抱着这个想法,成功抱得美人归了!!题外话,勿喷,不要嫉妒哦!)就这样,触摸屏示波器项目开始运作了! 我得吐槽一下,我的无知与愚蠢的大脑了。相信,看到j-link你们一定知道它是在线仿真调试的吧!但是呢,愚蠢的我竟然不知道!根据我对51单片机的理解,不存在硬件仿真这个概念,我竟然只用J-link做下载的工具来用。所有的代码调试只能靠自己不行的烧写,烧写,测试,烧写,浑然不知什么叫仿真,什么叫断点,什么叫单步。好吧,自己写到这里,都感觉当时的自己真是个傻逼。这个项目写下来,浪费了我多少宝贵的青春,和女朋友一起逛街,一起快乐的时间,全被我的无知给消耗掉了。直到这个项目基本完成,给人家看的时候,人家问我一句怎么不用在线仿真,我瞬间凌乱了,什么是在线仿真。虽然我不知道什么叫在线仿真,我却比较装逼的给人家搪塞过去了,美其名曰,不用仿真可以锻炼大脑。等人家走了,我马上问度娘,哎呦我去,我真是个傻逼,此时我已明白,我是有多么的天真无邪加烂漫! 本示波器的设计要感谢原子哥的平台,原子哥的教程,还有开源的minidso。本示波器,由于自己第一次写程序,第一次用STM32,没有用仿真,代码风格没有,(乱),完全就是拙作,但是功能已实现!外接电路可以正常使用,大家可以用信号发生器测试,需要直流偏移。 程序中难免有各种bug,且为未完成版本,大家有力尽管吐槽,有想要完善的可以完善! 功能如下(有些功能只有框架,没有完全完成!): 1触摸 2波形显示 3频率等测量 4移动游标 5波形移动 6触发电平调节 7截屏,等! 源码部分展示: 具体教程参见原子哥的《不完全手册》,先将MINISTM32的开发综合实验下载到MINISTM32开发板上,目的,更新字库!然后再下载本程序!方可使用!液晶部分代码,需要大家根据自己的液晶屏型号自行修改! 带触摸的便携式的STM32小型示波器实物图展示:
935 浏览量
【RT-Thread作品秀】基于stm32的简易示波器 作者:詹敏 概述(说明应用产生的背景、实现功能)简易示波器基于STM32F103芯片及自带ADC开发。可实现电压范围0-3.3V,频率范围1Hz-10kHz正弦波和方波显示,提供自动、普通以及单次三种采样模式,上升沿和下降沿两种触发方式,0~3.3V触发阀值。该系统可满足常见场合使用需求。 开发环境(所采用的软、硬件方案)硬件:stm32f103-指南者,3.2寸ILI9341液晶显示 RT-Thread版本:3.0.3 开发工具及版:MDK 5.26 RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核部分:调度器,信号量,消息队列。 调度器:创建多个线程来实现不同的工作。 信号量:用来同步线程。 消息队列:用来实现线程之间传递的数据。 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)ADC采集波形发生器信号经过stm32f103芯片处理后显示到3.2寸ILI9341液晶屏。 软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说) 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)线程: GetWave_thread:波形采样线程;根据所设置的屏幕每一格代表的时间确定采样频率,根据触发阀值和触发模式确定采样开始点,对波形进行采样保存。PlotWave_thread:波形显示线程;根据屏幕区域划分进行波形显示。 KeyScan_thread:按键扫描线程;读取按键值进行转换并发送给设置执行线程。 Setting_thread:设置操作执行线程;执行设置项修改操作并刷新显示信息。 消息队列: setting_data_queue:将按键扫描线程读取并转换后的设置信息传递给设置执行线程,以完成设置更改和显示信息刷新。 getwave_status_queue:用于波形采样线程和波形显示线程之间通信,确保采样波形及时显示刷新。 key_scan_queue:用于设置线程和按键检测线程之间通信,确保按键信号及时被读取同时避免按键检测线程占用过多资源。 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可) 比赛感悟(可以围绕这次比赛学到了什么,克服了哪些困难,有哪些收获,不低于200字) 本次比赛信息我是通过微信公众号了解到的,看到比赛时间刚好在准备开题期间又考虑到我本身不是控制专业,所以刚开始有点打退堂鼓。但那时候也正是刚刚完成一段时间的理论学习,确实需要一个实践项目来巩固,所以最后抱着试一试的心态没有申请板卡报名了。在截止日期也勉强完成了,但由于过程匆忙,系统仍有很多不完善的地方,算是一点遗憾了。 不过,总的来说收获肯定是不小的,学习如此优秀的国产操作系统RT-Thread并用它完成了自己的作品本身这件事足以让这段时间称得上有意义了。过程中也将之前所学知识应用到时间,加深了理解。虽然比赛已经结束了,后面还是会对作品进行继续优化改进。 最后感谢主办方为我们提供了一个自我锻炼的机会,学习的机会。感谢RT-Thread团队提供的优秀操作系统,后续还会继续深入学习。