指导教师:张铮 吴弋旻
作品简介
“梦幻磁悬浮”全貌
一、作品背景及特色介绍:
现在市场上点阵LED屏幕琳琅满目,在各种市场、银行、车站等服务场所都能看到。其显示醒目并能即时更新显示内容,得到广泛好评。但此类点阵都是平面的,无法真正显示立体图形。我们制作的“梦幻磁悬浮”,是由8×8×8LED光立方和磁悬浮控制系统两部分组成。其显示的内容为各种立体造型和图案,显示效果酷炫美观;在梦幻的显示图案中,另有一立方体悬浮在空中,平添了产品的高科技神秘感,极大地吸引了大众的眼球。与同类光立方产品相比,本产品的磁悬浮功能独具匠心,独具特色,市面上尚未发现有此同类功能产品。本产品作为美化家居、商务环境的工艺品,具有广阔的市场前景。
二、结构及使用说明:
从结构上看,我们的“梦幻磁悬浮”可分为两部分,第一部分为磁悬浮控制系统,它由一个悬浮的浮子,和一块控制板组成,其主要功能一是增加产品的神秘感,二是控制整个LED光立方启动与关闭;第二部分为8×8×8的3D LED点阵显示,显示各种梦幻造型和图案。整个系统是现代科技融入生活的一个具体表现。
使用时,只需将磁悬浮浮子靠近磁悬浮控制开关,则浮子将悬停在空中,并可360度自由转动,同时启动3D光立方显示各种梦幻图案;若将浮子取走,则光立方将自动停止显示。其工作时,无需与PC连接通信;若需修改造型与图案时,则可连接PC,将相关图案数据下载到单片机,即可脱开PC显示新的造型与图案了。
磁悬浮浮子悬停在空中
平台选型说明
本系统选用STC15F2K61S2芯片为控制核心,原因主要有:
1、STC15F2K61S2具有很快的处理速度(1T STC-Y5 内核,比传统51快6-12倍,内部RAM达2.25KB)和较大的存储容量,所以很适合本产品程序所需要的快速运算和大的数据存储量;
2、STC系列单片机用ISP下载程序,简单方便;
3、本产品应用该单片机与嵌入式系统相比较,单片机具有较高的性价比,且已满足本项目的需求;
4、该单片机属于51系列,项目组成员相对熟悉,且网上具有大量的可参考资料,上手快。
设计说明:
一、总体框架
其结构组成分为:
1、上侧为由512个LED灯组成的X、Y、Z坐标轴控制的3D显示器,
2、左侧为磁悬浮控制系统,
3、底盘为LED固定板和IC集成PCB底盘。
二、硬件原理:
(一)磁悬浮控制系统部分
该部分电路如图1所示,以3503作为感应器,两级LM4558分别做比较和放大作用,TIP41C作驱动的。该电路具有电路稳定可靠、易于调试、结构简单、易批量化生产等优点。
磁铁并不是在一个点而是在一个平面上找到平衡点,本项目组通过缩小线圈内径并加铁心,使磁悬浮浮子易于平衡。
(二)3D光立方显示部分
1、设计思路
将光立方的512个LED分成8层,每层64个,“光立方”是由8层这样布局的LED组成,每层位置排列全部一致,一层的LED排列如图2所示。
图2中D0,D1,D2,D3…D62,D63分别为64个LED阵列实际排序方式,也就是光立方的俯视图,下图3分别是其数据信63。
各层同一位置LED的负极连接都一起,例如第一层的D0和第二、三、四…等层的D0的负极都连接一起,然后再把它们接到上面,其他的类同。
每层LED的所有正极全部接到一起,然后连接138的行扫描驱动电路,通过138译码确定使能哪一层,然后由373确定某一个点的亮灭。
2、控制芯片选取
本项目选用单片机STC15F2K61S2,运算速度比89C52快很多,快速的运算速度十分适合本项目显示效果的需要。
3、电源电路
根据计算并实测,选用输出+12V,输出电流600mA的外配电源,其价格便宜,性能可靠并省却这部分的制作工作量。
4、仿真显示
图4为3D光立方显示器的仿真图,也是实物的驱动电路原理图,我们先通过仿真得到想要的3D效果,再用C语言编写相应的函数组,通过仿真模拟现实,具有效率高的优点。
P1为地址口以及控制口,P2为数据口。先由P1口对74ls138发送地址信号,确定是哪个面哪一列,然后P2送去数据经2个锁存器74LS373锁存(第一个锁存器负责1、3、5、7面的数据,第二个锁存器负责2、4、6、8面的数据),确定点亮哪个面上的哪个LED亮。这种方式的优点是能提到LED亮度并减少I/O口的使用。
5、电路原理图
6、PCB图
7、软件设计
程序方面我们采用了c语言编写,下面为程序结构介绍:
⑴ 初始化部分:
主要是设置对应的中断,定时工作方式等。
⑵ 显示部分:
A.每个面的显示原理是和8×8点阵是完全一样的,保证这段程序正确的,可以直接调用
B.查表的方式是自0起递增的,每次加1,每个画面查表64次,查表的上限为65536/64。
⑶ 中断部分:
为了达到动画效果切换时间可准确调节性,画面的切换用中断方式。把时间通过一个变量来表示,这样每次只需修改一个变量,就可以设置动画的速度了。每次发送中断后,查表的变量就加64(i=i+64),然后返回显示程序继续显示,中断程序只做变量的计算,改变的是查表的地址。
⑷ 循环:
A.程序循环,循环的条件是i变量不满足动画显示的上限值。比如你做了八个画面,那么i的的值不等于8×64时,就继续显示,满足就清零从新开始。
B.显示循环
这个比较重要,主题的显示程序,应该是一个死循环,一直在显示一个画面,只有中断产生的时候,改变了查表的变量,才切换一次动画。不管是查表的变量还是Z轴,Y轴的控制变量,都要进行初始化,直到中断的产生才改变查表的变量数值。
作品特色:
1、独创的磁悬浮控制开关,由能悬空驻停的磁悬浮浮子控制3D光立方的启动与关闭,增加了本产品的高科技神秘感,尚未发现有同类产品;
2、8×8×8LED阵列3D光立方体显示器,能立体显示各种造型与图案;
3、用仿真软件仿真,有效提高了制作的效率;
4、采用本方案的电路设计能节省I/O口;
5、创新设计的LED阵列制作模板,让LED阵列制作简单快速。
系统演示视频:http://v.eepw.com.cn/video/play/id/2280