平时无聊时喜欢折腾,不久前买了一台50Wx2的数字功放【只有手掌大】准备嗨皮,突然想给它配一个动感十足的电平指示电路,废话不多说,马上开始构思,设计硬件,画PCB,编程,大约搞了10天左右(包括等待PCB厂家做板子时间)终于完工,特来共享: (2楼还有很多图片哦~~) 本电平指示最大特点是可以实现峰值延迟和缓慢下落的效果和千千静听视觉效果一样,还可以软件调节峰值保持时间和下落速度,同时因为LED是采用PWM控制,所以所有LED的亮度可以通过调节占空比控制。 所有资料:包括原理图、PCB、源代码、物料清单、datasheet等等我将在2楼共享,欢迎下载,没有M币的同学,请留下邮箱或QQ之类的。这没什么技术含量,没什么好藏着掖着,而且现在开源是趋势,我一直支持开源! 先发效果图(图中的亮的橙色LED就是显示上次的峰值处): ![]() 再发视频演示效果: http://static.youku.com/v1.0.0226/v/swf/loader.swf?VideoIDS=XMzgxNjcxNTI0&%3bembedid=MTgzLjk1LjEzNC4xNDECOTU0MTc4ODECYmJzLm15ZGlnaXQuY24CL3JlYWQucGhw&%3bwd= 视频优酷地址:http://v.youku.com/v_show/id_XMzgxNjcxNTI0.html 硬件很简单:基本原理是这样的:低通滤波电路和放大电路对音乐信号进行处理后送到单片机【这里采用ATMEGA8】,单片机进行量化、对数化处理后送到26个LED进行显示,为什么是26个呢?因为在后来画PCB时。发现刚好只能放26个LED,而我这个电路能做到64级LED显示,无奈板子大小限制就做这么大吧。 开始准备采用FFT的算法取出和计算出其中的一段频谱幅值送到LED显示的方法,后来发现完全不必要,仅仅使用单片机的AD采集即可,免去了FFT复杂耗时的正弦、余弦和多层循环计算。 ...密...封...线...内...禁....止....打...飞...机..... 下面是硬件截图: ![]() 先说模拟部分:针对音乐信号来说,做单路电平指示的话,一般是取音频信号中的节奏感很强的低音部分(比如架子鼓,低音鼓,钢琴的低音等鼓点)作为电平指示,所以这里我将低通滤波器的截止频率取在了400Hz,采用的是有源二阶LPF电路,对于参数的计算一般是使用专用的滤波器设计软件,个人感觉比较好的是设计软件是TI公司的,只需要选择滤波器属性(高通、低通、带通、带阻,陷波等等)、滤波器类型(巴特沃斯、切比雪夫,贝塞尔或椭圆滤波器),阶数(一阶,二阶,。。。八阶)和截止频率,即可生成给好参数的最终滤波器电路,详细见原理图。 再说放大部分,我用示波器测过一般的MP3输出信号大约在±50mV以内,这是很微弱的,需要放大到单片机AD采集电压的范围内(这里我定的是0~2.5V),所以我放大了几十倍,电路很简单,所以我不细说了,看原理图,不明白的可以密我哦,亲~ ...密...封...线...内...禁....止....打...飞...机......... 最后是比较关键的单片机处理部分了,因为人耳有一个特征,其对音频信号的响应差不多是对数型的,而不是线性的,所以需要对采集的电压进行对数化处理如下图: ![]() 下面是PCB正面截图: ![]() 下面是PCB反面截图: ![]() 下面是PCB三维效果: ![]() 再来一张: ![]() 再来一张: ![]() 下面是程序截图: ![]() 下面是焊接好的实物图: ![]() 再来几张: ![]() ![]() [attachment=1517953] ![]() ![]() ![]() 这是做的左右声道同时显示的效果: ![]() 楼下继续~~~~~~~~~~~ 本人还有2~3套空板子,有需要的话我可以免费送,不过邮费自理哦~ 下面是剩余的几套PCB: ![]() ![]() 这是配套另作的前置模拟电路PCB: ![]() 这是显示部分的物料清单截图: ![]() 最后再来几张效果图: ![]() ![]() ![]() ![]() ![]() ![]() (责任编辑:admin) |