来源:我爱方案网
时间:2013-12-21
演示视频如下:
第1步电路图
电路图见上图,在这一版本中增加了红外接收头,所有功能可以通过SONY的家电遥控器控制。
第2步工作原理
电路使用RGB发光二极管和12位的PWM,让亮度在变化时更加平滑.人眼对光强属于非线性响应,所以软件对亮度变化曲线做gamma修正来给人以亮度均匀变化的视觉体验。
电路使用脉冲调制和多工驱动相结合的方式:把每个脉宽调制的循环拆成多个脉冲,再分别驱动三原色二极管,于是三原色二极管就一个脉冲调制循环里被分别点亮数次(大概有点像脉冲宽度调制和脉冲增量调制的混合吧),而整个全彩二极管的平均亮度输出与这段时间内的脉冲次数成正比。这样做不仅能通过以不同频率点亮三原色来减少发光二极管的可见闪烁,还能通过结合多个脉宽调制的脉冲增加脉冲调制分辨率。不过减少可见闪烁后的发光二极管闪烁频率还是很高的,让极光看上去的刷新率比123Hz高的多。
看一下时序表,我取了7个发光二极管的R/G/B总线信号来说明我的概念。正如你所见,R/G/B通道间隔着轮流点亮,这些脉冲控制着发光二极管确切的点亮时段。当R/G/B总线中任意一个处在高电平时,LED就会点亮。总的点亮时段和颜色则取决于R/G/B总线的高电平组合。
LED1只点亮在1级(低的亮度)红
LED2会点亮到2级绿
LED3会亮到3级蓝
LED4会点亮到3级黄(红+绿)
LED5会点亮到3级紫(红+蓝)
LED6会点亮到3级青色(绿+蓝)
LED7会点亮到255级(的亮度)白
从1到255的时间大概为8.1毫秒,所以时续表看起来似乎是由暗到明点亮的,但是其实肉眼看只是有亮度差异而已。
第3步电路板
双层的电路板就可以了,全彩的LED管脚挺粗的,焊盘要大点。
第4步元件清单
电阻
4x 47 Ohm (0603)
162x 150Ohm (0603)
9x 220 Ohm (0603)
13x 1k Ohm (0603)
4x 10k Ohm (0603)
电容
1x 0.1uF (0603)
2x 10uF (1206)
1x 22uF (1210)
三极管和MOSFET管
3x DMP3098L
9x MMBT2222A
单片机
1x PIC24FV16KA301
红外接收头
1x VS1838
轻触开关
1x Tactile Switch
全彩LED(共阴)
162x Tricolor LED (common-cathode)
我在制作过程中所用到的工具:
良好的灯光
放大镜-焊接完检测是否有短路或者虚焊
镊子-贴片元件的拾取
可调温的防静电电烙铁-我的的是936焊台,一般调温烙铁的请注意接地防静电
烙铁头-看个人焊接习惯而定,我用2C焊贴片,尖头焊LED,马蹄焊单片机
焊锡-看个人焊接习惯而定,贴片用的是0.4mm,LED用的是1mm
松香-必需品
吸锡器-很重要,比吸锡带用起来要方便多了
钳子-LED引脚剪切
剪刀-常用
电线-常用
Microchip PICKIT3编程器-对单片机PIC24FV16KA301烧写程序
单片机PIC24FV16KA301数据手册下载链接
//www.52solution.com/led-dl/7005
第5步组装步骤
先焊接单片机PIC24FV16KA301,然后由内向外焊接所有的贴片阻容元件,焊完检查OK后再焊接LED。
电路板的摆放-我焊接时电路板按下图方向放置,后面所有的图片电路板都将按这个方向放置。
第7步遥控器与控制操作
程序中遥控代码使用的是SONY的代码,需要改成其他遥控器的定义需要自己改变include的文件
程序中使用下图红色的5向键,上下为模式切换,左右为速度变化,中间为暂停/启动。
我手头只有SONY兼容小遥控器,没有5向键,所以改了一下代码,其他功能键都和原来保持一致。
第8步软件及相关资料下载
编译软件我用用的是MPLAB IDE v8.80,现在的版本是v8.88, MPLAB X IDE没试过,应该也是可以的。
软件可以在如下链接下 载,软件是免费全功能的,24FV系列单片机用的是16位的汇编语言
//www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469
单片机PIC24FV16KA301需要使用PICKIT3编程,PICKIT2肯定不支持,ICD2.5应该也可以的。
单片机PIC24FV16KA301数据手册下载链接
//bbs.ickey.cn/group-topic-id-11436.html