寒假在家一起练1-有信号发生器功能的简易示波器
基于STM32G031基本实现了波形显示和信号发生器的功能,而对采集信号进行FFT变换则出现了点问题
标签
嵌入式系统
测试
显示
卢琦123
更新2021-03-03
1177

1 项目需求

  • 完成对板上音频信号的采集和波形显示,可以通过手机播放音乐或App产生音频信号的方式提供声音信号源,通过板上电路的放大、MCU中ADC的采集以后将波形显示在OLED屏幕上,可以通过板上按键的操作在两个方向(横轴 - 时间;纵轴 - 幅度)来扩展、压缩波形的显示,按键的功能可自行定义;
  • 实现信号发生器的功能,能够产生2KHz以内的正弦波、三角波、方波三种常用波形,通过按键的操作能够实现频率可调、幅度可调,通过调整板上的R、C的值,可以最高生成200KHz的模拟信号;
  • 能够通过Ain管脚测量外部模拟信号(0-3.3V,DC-200KHz),并能够对外部的周期性波形测量其周期和峰-峰值;
  • 能够对采集到的信号进行FFT变换,并在屏幕上显示其基频及低次谐波(比如2、3、4、5次)的分量。

2 实现思路

  • 通过ADC对外界模拟输入进行采样,将采样得到的ADC量化值显示在屏幕坐标点上,从而显示波形
  • 通过按键来改变采样频率,和波形在时间轴上的和纵轴的变换
  • 尝试对采样序列进行FFT变换,得出频谱
  • 实现方波,正弦波,三角波的生成,改变PWM波的频率和占空比

3 完成的功能

  • 可以实现调节频率,改变纵轴和横轴的范围,来实现示波器的功能
  • 在AUX管脚可以实现正弦波,方波,三角波,和改变输出频率和方波占空比。

未完成的功能

因为对FFT的不理解,未实现能对信号进行快速傅里叶变换,不能显示信号的频谱

4 达到的性能

  • 实现了100HZ,1KHZ,10KHZ1,100KHZ,1MHZ的采样频率,可以通过改变0.4V,0.8V,1V的电压间隔,调节电压的显示范围
  • 可以通过按键改变横轴的显示倍率改变横轴的显示范围
  • 实现了生成不同占空比和频率的方波,和三角波的输出

5 遇到的主要问题

  • 项目初期参考了 https://www.eetree.cn/project/detail/106 这位同学的代码,并根据这位同学的思路做出了OLED界面,但其他功能没怎么实现。
  • 因为屏幕刷新率问题,导致在实验的后期,出现了未知原因的OLED屏幕显示不清晰,信号的显示不稳定。
  • 一直尝试去完成快速傅里叶变换,但由于自己的不足,没有成功完成对FFT算法的编写,所以就在显示界面把FFT功能闲置下来了。
  • 因为在此之前只是学过理论知识,没有上手对实物进行操作,所以在国产中许多都是边学边做的,尤其是在对OLED屏幕显示和中断的安排上面。空间合理安排和局部刷新很多很多都是很难学习,很难上手操作。

6 未来的计划和建议

  • 因为时间的紧迫,以后要首要解决OLED屏幕显示不清晰,波形显示不稳定的问题。
  • 在以后的学习过程中要解决能对信号进行FFT来在屏幕上显示频谱
  • 在信号参数显示方面,日后要逐渐完成显示峰峰值,信号频率。
  • 总体感觉,自己在这过程中需要学的东西太多了,才发现自己在过去理论知识方面学习是如此的不扎实,因而在运用到实际上会显得如此艰难。

硬禾课堂的这次活动,让我这样一个从来没接触过类似项目的学生,第一次有机会接触到了这些小物件。开拓了我的眼界,扩展了我的知识面。对于这次项目的要求功能,在我这段时间的学习努力下,完成了一部分,但还有一部分自己的当前的能力还不足以去实现这些。自己还是收获了很多知识的。希望老师能看到我的努力,希望老师能通过我这个项目。给予我鼓励。而对于免费得我没有很大期望,(因为我确实没完成所有功能,而且完成的功能也不是很完善)只是希望能通过学校的考核!谢谢老师。

团队介绍
北京理工大学
团队成员
卢琦
北京理工大学
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号