1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
旋转LED灯

旋转LED灯 摘要: 看到市场上正在流行的时尚商品——摇摆LED时钟,感觉非常独特在单片机的我,激起了。? 一.?整体方案 ????本制作是根据视觉暂留原理,?让一8只LED作往复运动,?在空中呈现八个字符的显示屏,可显示数字或英文字开机后先显示“Welcome!”欢迎字符,?再进入时钟显示状态。显示屏同时显示“时”?、“分”?、“秒”信息,用“:”。显示分“正常运行”、“调分”和“调时”?三种状态。当处于调整状态时,调整的项会闪现,以便识别。为此,设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。(见图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,常见的是用三级管代替图中的开关。 ?? 图11?H?桥驱动原理 ????为了简化电路,最好采用H?桥功能的集成电路。这种IC?很多,比如象TA7257,TA8429H,L6203?等,这里用的是三菱公司的M54544AL(见图12)。IC?各脚定义见图13。 ?? 图12?电机驱动IC 步轻风??17:48:26 步轻风??17:49:07 三.?软件设计 1.?摇棒的启动 ????为了使摇棒从静止状态过度到正常运行状态,在正式显示前加一启动程序。其实质就是逐渐加快驱动的频率,一直到摇棒正常摆动为止。通过下面的代码实现 do?{ mm++; Delay(120+mm); put1=~put1;?put2=~put2; }while(mm60); Delay(20);?//根据实际情况确定延时值 2.?秒闪现的实现:数字或字符的闪现是通过变量Ms?和数组w[]实现的,如需要八位字符中的间的第4?位闪现,则w[3]=1。这是通过全局变量Ms?在void?timer0(void)函数中每隔一秒改变一次状态(0?或1),打开或关闭显示。 if(Ms*w[ii-3]==1)?P2=0xff;?else?P2=~ASCIIDOC[v[ii]*6+jj];?//正向显示 if(Ms*w[10-ii]==1)?P2=0xff;?else?P2=~ASCIIDOC[v[13-ii]*6+5-jj];?//反向显示 3.?调试中发现,显示屏上的字符并不是一样宽的(见图16),仔细分析是由于摇棒在运动中,一直受力,而且所受的力是随时变化的。为方便精确调整显示,特别作了一个显示中断表Tr[],改变显示LED?的时间段,协调显示效果。 ?? 图16?调整前的显示 4.?按键去抖程序 ????按键的去抖采用软件编程实现,其方法是当检测到按键的接口出现低电平后,隔一段时间再检测,如还是低电平,则确认为有效,否则无效。具体的程序是通过函数unsigned?char?ChKey(bit?Key)完成的。 5.?显示同步 ????因没有位置传感器,显示同步完全靠时钟中断来确定。这样就有一个问题,音圈电机的驱动信号在什么时刻改变,显示才能保持

文档评论(0)

zw4044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档