加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

(PWM控制)音量电平表电路+PCB源文件+源代码+上位机等

2015/12/05
13
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

前言:

        Avago(安华高)的ACPL-k30T是一款专为高压MOSFET驱动定制的光电MOSFET驱动器件。该器件包含一个AlGaAs红外LED输入级,通过光学手段耦合到输出检测电路。检测电路包含了一个光电二极管阵列与关断电路。当输入LED流过最小10mA电流时光电驱动电路就会打开。只需要0.8V或是更低的输入电压就能关断光电驱动。

        本文介绍的是基于TI的3个TLC5940(16路LED驱动芯片),5V开关电源,一个PIC单片机(带USB通信功能),16个高亮度RGB LED制作而成的RGB LED音量计量器。该设计实际就是我们播放器上面显示的那个EQ条,这个表通过USB与上位机(window7 或 vista系统)连接。能用LED实时显示当前声音的电平

音量电平表实物截图:

音量电平表电路截图:

注意:

  • 这个电路中唯一值得留心的地方就是电路图中靠近晶振的两个大电容。当TLC5940以PWM调光的方式驱动LED时,由于高速高速开关切换,产生很多噪声,而这两个电容有助于降低噪声。如果没有它们或许你的PIC单片机会重启,或者发生其他糟糕的事。
  • 3片TLC5940级联,因此这些LED并非以复用的方式连接,每一个LED都是直接受控制的。当然,也可以把代码加以修改移植,使其能工作在LED控制复用的状态下。

固件(Firmware):

这个固件是基于一个作者开发的软件。链接如下:

https://www.waitingforfriday.com/index.php/Open_Source_Framework_for_USB_Generic_HID_devices_based_on_the_PIC18F_and_Windows

作者在这个软件的基础之上加了两层,底层是TLC5940的驱动库,TLC5940是一个16通道的,支持4096级亮度(基于PWM方式,且各通道亮度独立)的LED驱动芯片。这个驱动库支持单片TLC5940,或者你可以将多片级联。理论上来说,你可以通过一片PIC单片机控制(PIC单片机是连接PC机与TLC5940的桥梁)20片TLC5940(意味着你总共有16*20=320个LED),作者这里级联了三片TLC5940(共计48通道,16个RGB LED)。

顶层则是RGB LED控制,这一层通过TLC5940驱动库实现。包括的功能有LED淡入淡出,颜色平衡,和一堆相当有用的用来控制LED的功能。USB控制端有两条命令,一条是上位机指定所有的LED亮度(由0~255来表示),第二条命令式用来设定所需的LED淡出时间(库文件中同样有淡入时间,但是对电平表来说没有用到)

上位机软件:

上位机软件是用Visual Studio C#2010写的,兼容Windows 7 和Vista。由于使用的音频API缘故,这个上位机软件不能使用在windows XP环境下(XP不支持这个API)

这个上位机软件由三个部分组成:

  1. 开源的C#库,USB generic HID communication(就是上文提到的作者自己开发的一个软件)。
  2. 核心的音频API,由Ray Molenkamp所写的。这个API相当强大,你可以用它来抓取音轨的信息,并展示在一个LCD,或者其他USB音频控制的设备。
  3. VU电平表显示代码,正如你所见,这个软件可以进行一堆个性化的设置,你可以设置显示阻尼(Display damping ,它跟随音乐跳跃的速率,更大的阻尼使跳跃更缓和,但是有失精准),可以设置淡出速度(fade off ),也可以设置起始和结束时的颜色(上位机自动调节中间显示时的颜色), ,还可以设置显示方式,只单向显示左右声道的平均值,从中间向两边显示两个声道,从两边向中间显示两个声道。

自己的想法:

        感觉这个不是太好弄,首先,这个PIC单片机用的人估计不太多,第二作者自己以前编了一个USB上位机,是在这个基础上开发的,虽然可以找到作者的源代码,但是估计不好搞定(我没有写过上位机软件,不太了解,随便说说的呵呵),而且上位机还只能在Windows7或者Vista下面用。

         毕竟这里PIC单片更主要的功能,个人认为不过是个USB桥接芯片作用。如果是我的话,直接用一个常用的单片机(AVR,8051)来控制TLC5940,然后用串口通信,上位机软件也写成串口通信的形式,估计简单不少,而且如果电脑没有串口,可以用串口转USB芯片解决,这样的话可能硬件上面麻烦一点,但是估计软件开发简单(哈哈,这也是我个人的看法,我对上位机软件很不熟悉)。

          还有就是,它的那个TLC5940芯片比较强大,但是我淘宝了一下,貌似有点贵,十多元一片,貌似ST2221C便宜一些,几块钱,功能可以替代,但是引脚不是兼容的。。。意味着要改程序(上位机和单片机)。
结果这样一整,就完全本土化了。。。和原来的东西都不一样(从电路到上位机软件都改版了)。。。

  • 硬件设计.zip
    描述:原理图和PCB源文件,用expressPCB打开
  • 固件.zip
    描述:固件源代码(见文档图片截图)
  • 上位机软件源码.zip
    描述:上位机软件源码

相关推荐

电子产业图谱