基于51单片机的小型示波器开源项目

电子说

1.3w人已加入

描述

摘要:今天给大家分享一个基于51单片机的小型示波器开源项目,感兴趣的小伙伴可以自己动手试一试。

此示波器的主控是STC8A8K64S4A12,是在B站老刘示波器基础上的升级版,扩展了测量负电压的功能,更新了UI设计,同时屏幕升级为1.3寸OLED屏。

原理图

OLED屏

3D效果图

OLED屏

 

OLED屏

实物图

OLED屏

系统架构

Mini示波器采用了一套成本低廉但又高效的硬件,配合层次化的软件框架,实现对常规低频信号波形的采集、分析、显示。

硬件部分的主要工作有:电源管理(5V、2.5V、-5V);对信号的衰减、限幅、偏置。最后将处理好的电压信号送入MCU的ADC外设,进行数据采集。由于ADC外设只能采集正电压,因此我们通过增加偏置电压的方式,将负电压抬高来采集。

软件部分的主要工作有:底层驱动SDK框架、ADC滤波算法、波形数据处理、人机交互界面。SDK提供基本的模块和外设驱动支持,滤波算法去除噪声和毛刺,波形处理计算电压值和频率,并为波形显示做准备;人机交互界面提供屏幕显示(OLED屏)和操作方式(旋钮和按键)。

OLED屏

与原版老刘的对比

这一版本的Mini示波器-Pro,相比于原版对硬件部分做了很大扩展,使其可以测到负电压。软件部分修改了有30%,主要是在数据处理和UI显示部分。

需要改进的地方:

1、硬件的性能还没有全部发挥出来,测量幅度还可以更高;

2、MCU的性能还没有榨干,比如没有用上硬件SPI,提高屏幕刷新率。

总结

1、最一开始设想的方案,是想用上我自己写的AntOS操作系统,但是初版操作系统为合作式调度,在实际使用的过程中,并没有达到我的预期效果,所以选择在老刘示波器的基础工程上修改和优化。

2、硬件设计主要参考了B站唐老师讲电赛大佬提供的方案,实际使用的过程中,又微调了一部分,建议大家可以去阅读一下硬件电路中使用的几种芯片数据手册,这样心里更有底,不然遇到问题不好排查。

3、大多数元器件,我用的都是0603的封装,这样可以让PCB板设计的更小巧更紧凑,但是不好焊接。

4、下一版本,我将使用STC8AxD4作为主控(因为有DMA),软件上使用我现在编写AntOS(已支持抢占式调度),进一步提高示波器的性能。

项目获取

这个开源项目来自B站UP泽文i的独家投稿,这是一位大三的小伙伴,他自己还写了一套8051-ELL库,是根据新一代增强型8051为内核的MCU,基于keil开发的软件包,感兴趣的小伙伴可以关注了解一下。

老样子,此示波器的程序源码、PCB工程文件,以及说明文档等资料已上传至网盘,想深入学习的可以自己下载看一看。

项目地址:https://pan.baidu.com/s/1H8XddVyfuPrLA8vufJ2P8Q

提 取 码:lqnm

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分