资源描述:
《音圈电机摇摆棒.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一.整体方案本制作是根据视觉暂留原理,让一排8只LED作往复运动,在空中呈现八个字符的显示屏,可显示数字或英文字符。开机后先显示“Welcome!”欢迎字符(见图1),再进入时钟显示状态。显示屏同时显示“时”、“分”、“秒”信息,用“:”分隔(见图2)。图1开机画面图2运行状态显示分“正常运行”、“调分”和“调时”三种状态。当处于调整状态时,调整的项会闪现,以便识别。为此,设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。(见图3)图3按键的设置图4音圈电机组件摇棒的动力部分采用从废旧硬盘拆下的音圈电机(见图4),驱动采用直流电机驱动方式。结构
2、方面,将音圈电机直接安装在万用板上,将万用板的四周用四根螺柱与一透明有机板结合成一体,构成支撑摇棒底座。(见图5,图6)。图5万用板与有机板构成底座图6底座侧面二.实作要点1.主板的结构布局见图7。图7主板布局图8摇棒上的LED2.LED的焊接,将LED两脚跨接在电路板两端的方式进行焊接。使LED紧密排列在一起。3.摇棒上的LED与主板上的信号用柔性排线连接,音圈电机供电占2位,LED信号传输占9位,所以至少要11位的排线。(见图9)图9排线与拉簧图10拉簧4.为保持摇棒的平衡,在摇棒接近旋转轴的两端加装两只拉簧,这两只拉簧的规格尽量保持一致,弹性强弱要适中,最好可
3、多找几种规格的试试。(图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.摇棒的启动为了使摇棒从静止状态过度到正常运行状态
4、,在正式显示前加一启动程序。其实质就是逐渐加快驱动的频率,一直到摇棒正常摆动为止。通过下面的代码实现do{mm++;Delay(120+mm);put1=~put1;put2=~put2;}while(mm<60);Delay(20);//根据实际情况确定延时值2.秒闪现的实现:数字或字符的闪现是通过变量Ms和数组w[]实现的,如需要八位字符中的间的第4位闪现,则w[3]=1。这是通过全局变量Ms在voidtimer0(void)函数中每隔一秒改变一次状态(0或1),打开或关闭显示。if(Ms*w[ii-3]==1)P2=0xff;elseP2=~ASCIIDOC[
5、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.按键去抖程序按键的去抖采用软件编程实现,其方法是当检测到按键的接口出现低电平后,隔一段时间再检测,如还是低电平,则确认为有效,否则无效。具体的程序是通过函数unsigne
6、dcharChKey(bitKey)完成的。5.显示同步因没有位置传感器,显示同步完全靠时钟中断来确定。这样就有一个问题,音圈电机的驱动信号在什么时刻改变,显示才能保持在中间,并能保证正反显示能很好地重合。经实际观察,音圈电机的驱动信号在显示中部,要根据具体情况细调。由程序中的变量Ta调试确定。6.完整C51程序代码/*POV摇摆显示LED钟C51程序周正华编2008.3.19*/#include/*硬件端口定义*/sbitset0=P0^1;sbitset1=P0^0;sbitset2=P0^2;sbitput1=P3^6;sbitput2=P3
7、^7;/*时钟用数组*/unsignedcharBUFFER[]={0,0,0,0};unsignedcharmaxnum[]={59,23};/*显示数组*/unsignedintv[14];unsignedintw[8];/*显示中断表*/intcodeTr[]={2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2550,2500,2450,2400,2350,2300,2250,2200,2150,2100,2050,2000