- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
现将制作资料整理出来,与广大DIY爱好者分享。
一.整体方案
本制作是根据视觉暂留原理,让一排8只LED作往复运动,在空中呈现八个字符的显示屏,可显示数字或英文字符。开机后先显示“Welcome!”欢迎字符(见图1),再进入时钟显示状态。显示屏同时显示“时”、“分”、“秒”信息,用“:”分隔(见图2)。
图1开机画面????????????????????????????????????????????????????????图2运行状态
显示分“正常运行”、“调分”和“调时”三种状态。当处于调整状态时,调整的项会闪现,以便识别。为此,设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。(见图3)
图3按键的设置????????????????????????????????????????????????????图4音圈电机组件
摇棒的动力部分采用从废旧硬盘拆下的音圈电机(见图4),驱动采用直流电机驱动方式。
结构方面,将音圈电机直接安装在万用板上,将万用板的四周用四根螺柱与一透明有机板结合成一体,构成支撑摇棒底座。(见图5,图6)。
图5万用板与有机板构成底座??????????????????????????????????????图6底座侧面
二.实作要点
1.主板的结构布局见图7。
图7主板布局????????????????????????????????????????????????????????图8摇棒上的LED
2.LED的焊接,将LED两脚跨接在电路板两端的方式进行焊接。使LED紧密排列在一起。
3.摇棒上的LED与主板上的信号用柔性排线连接,音圈电机供电占2位,LED信号传输占9位,所以至少要11位的排线。(见图9)
图9排线与拉簧????????????????????????????????????????????????????图10拉簧
4.为保持摇棒的平衡,在摇棒接近旋转轴的两端加装两只拉簧,这两只拉簧的规格尽量保持一致,弹性强弱要适中,最好可多找几种规格的试试。(图9,图10)
5.采用驱动直流电机正反转的方式,驱动音圈电机来回摆动。让电机正、反转的方法很多,最典型的是H桥电路驱动,H桥电路原理见图11,常见的是用三级管代替图中的开关。
图11H桥驱动原理
为了简化电路,最好采用H桥功能的集成电路。这种IC很多,比如象TA7257,TA8429H,L6203等,这里用的是三菱公司的M54544AL(见图12)。IC各脚定义见图13。
图12电机驱动IC
图13M56544AL各脚定义
6.电原理图见图14。
图14电原理图
7.完成图见图15。
图15完成图?
三.软件设计
1.摇棒的启动
为了使摇棒从静止状态过度到正常运行状态,在正式显示前加一启动程序。其实质就是逐渐加快驱动的频率,一直到摇棒正常摆动为止。通过下面的代码实现
do{
mm++;
Delay(120+mm);
put1=~put1;put2=~put2;
}while(mm60);
Delay(20);//根据实际情况确定延时值
2.秒闪现的实现:数字或字符的闪现是通过变量Ms和数组w[]实现的,如需要八位字符中的间的第4位闪现,则w[3]=1。这是通过全局变量Ms在voidtimer0(void)函数中每隔一秒改变一次状态(0或1),打开或关闭显示。
if(Ms*w[ii-3]==1)P2=0xff;elseP2=~ASCIIDOC[v[ii]*6+jj];//正向显示
if(Ms*w[10-ii]==1)P2=0xff;elseP2=~ASCIIDOC[v[13-ii]*6+5-jj];//反向显示
3.调试中发现,显示屏上的字符并不是一样宽的(见图16),仔细分析是由于摇棒在运动中,一直受力,而且所受的力是随时变化的。为方便精确调整显示,特别作了一个显示中断表Tr[],改变显示LED的时间段,协调显示效果。
图16调整前的显示
4.按键去抖程序
按键的去抖采用软件编程实现,其方法是当检测到按键的接口出现低电平后,隔一段时间再检测,如还是低电平,则确认为有效,否则无效。具体的程序是通过函数unsignedcharChKey(bitKey)完成的。
5.显示同步
因没有位置传感器,
文档评论(0)