内容介绍
内容介绍
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
查看更多