欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    机电一体化报告36最终修正版.docx

    • 资源ID:11437420       资源大小:311.92KB        全文页数:25页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    机电一体化报告36最终修正版.docx

    1、机电一体化报告36最终修正版机电一体化技术课程设计项目名称: 摇摆LED时钟小组成员: 林作辉(电子系统) 卢武佳(控制系统) 蔡强利(机械系统)指导老师: 何伟填表日期: 2012.4.16一、概述1.1、目的意义:熟悉单片机的应用,掌握H桥电路的使用方法,使用proteus画出电路图,熟悉各机械元件的装配,并能用PROE画出装配图,学会用C语言控制单片机工作。1.2、项目背景:目前市场上越来越流行使用LED产品作为装饰品,摇摆的LED时钟作为一种新颖独特的产品而被广泛应用。1.3、整体项目方案:本制作是根据视觉暂留原理, 让一排8只LED运动, 在空中呈现数字来表示时钟。由于其实质就是一个

    2、摆动的流水灯整个屏可显示七个字符,平时作时钟只用其中的五个字符。显示分“正常运行”、“调分”和“调时”三种状态。正常运行时中间的“:”符每一秒闪现一次,调分和调时时,则为调整的项闪现。设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。利用AT89C52单片机控制LED灯的亮灭,电机利用废旧硬盘上的音圈电机,驱动采用直流电机驱动方式,驱动电机正反转选用的IC芯片选用M54544AL,结构方面,将音圈电机直接安装在万用板上。二、机械系统2.1工作原理:采用驱动直流电机正反转的方式,驱动音圈电机来回摆动,根据视觉暂留原理, 让一排8 只LED作往复运动, 在空中呈现八个字符的显

    3、示屏,实现显示字符效果。驱动摇棒摆动的机构采用从硬盘上拆下的音圈电机(见图2.1)组件构成,这个组件可以直接安装在电路板上。为保持摇棒的平衡与稳定, 在摇棒接近旋转轴的两端加装两只拉簧(见图2.2),这两只拉簧的规格尽量保持一致,弹性强弱要适中。图2.2立体图模型结构方面,将音圈电机直接安装在万用板上,万用板的底下固定穿过两根螺柱,形成底座支撑。(如下图模型)三、电子系统3.1、单片机:(AT89C52)AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部

    4、接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚

    5、)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。3.2、驱动IC(M54544AL)该M54544AL是驱动一个smallsize双向电机IC在正向和反向旋转.当两个输入1和2被设置为低电平,输出1和2设置为“关”.当输入1设置为高级别和输入2设置为低水平,输出1设置为高级别和输出2设置为低级别(向前旋转状态).当输入1设置为低级别和输入2设置为高级别,输出1设置为低级别的设置和输出2高层(反向旋转).当两个输入1和2设置为高层次,两个输出1和2设置为低级(制动状态).电源(VCC)控

    6、制电路和电源(VCC输出)是独立提供.旋转速度因此,该电机可以改变使用VCC和VCC作为不同的电源和靠发出VCCor VCC变量.3.3、电路图:图3.13.4、工作原理:显示分“正常运行”、“调分”和“调时”三种状态。当处于调整状态时,调整的项会闪现,以便识别。为此,设置三个调整按键,一个为“状态键”,一个为“加法键”,一个为“减法键”。AT89C52 P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用,在FLASH由编程时,P0口接收指令字节,所以将三个调整按键分别接

    7、在P0.0、P0.1、P0.2,P2 口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流,因此将8位LED灯接在P2口上,但输入一个低电平时LED灯亮。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位,所以在RST接口上接一个复位电路,确保整个电路稳定可靠的工作。(如下图3.2)图3.2AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和

    8、XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷诺振器一起构成自激振荡器(电路如图3.3)图3.3M54544AL是具有H桥集成功能的IC,IN1和IN2分别接P3.7(外部数据存储器读选通)和P3.6(外部数据存储器写选通)口,out1和out2接电机,驱动电机正反转。(电路如图3.4)图3.4四、控制系统4.1、控制方法(基于单片机的控制)4.2、摇棒的启动为了使摇棒从静止状态过度到正常运行状态,在正式显示前加一启动程序。其实质就是逐渐加快驱动的频率,一直到摇棒正常摆动为止。通过下面的代码实现do mm+;Delay(120+mm);put1=put1

    9、; put2=put2;while(mm60);Delay(20); /根据实际情况确定延时值4.3、秒闪现的实现数字或字符的闪现是通过变量Ms和数组w实现的,如需要八位字符中的间的第4 位闪现,则w3=1。这是通过全局变量Ms在void timer0(void)函数中每隔一秒改变一次状态(0 或1),打开或关闭显示。if(Ms*wii-3=1) P2=0xff; else P2=ASCIIDOCvii*6+jj; /正向显示if(Ms*w10-ii=1) P2=0xff; else P2=ASCIIDOCv13-ii*6+5-jj; /反向显示4.4、矫正不均匀显示考虑到显示屏上的字符并不是

    10、一样宽的,仔细分析是由于摇棒在运动中,一直受力,而且所受的力是随时变化的。为方便精确调整显示,特别作了一个显示中断表Tr,改变显示LED 的时间段,协调显示效果。4.5、按键去抖程序按键的去抖采用软件编程实现,其方法是当检测到按键的接口出现低电平后,隔一段时间再检测,如还是低电平,则确认为有效,否则无效。具体的程序是通过函数unsigned char ChKey(bit Key)完成的。4.6、显示同步因没有位置传感器,显示同步完全靠时钟中断来确定。这样就有一个问题,音圈电机的驱动信号在什么时刻改变,显示才能保持在中间,并能保证正反显示能很好地重合。经过查资料,音圈电机的驱动信号在显示中部,

    11、要根据具体情况细调。由程序中的变量Ta 调试确定。4.7、流程图(如图4.2)4.8、程序流程图(如图4.3)4.9、程序清单POV 摇摆显示LED钟程序:#include /*硬件端口定义*/sbit set0=P01;sbit set1=P00;sbit set2=P02;sbit put1=P36;sbit put2=P37;/*时钟用数组*/unsigned char BUFFER=0,0,0,0;unsigned char maxnum=59,23;/*显示数组*/unsignedint v14;unsignedint w8;/*显示中断表*/int code Tr=2000,200

    12、0,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,1950,1900,1850,1800,1750,1700,1650,1600,1550,1500,1450,1400,1400,1450,1500,1550,1600,1650,1700,1750,1800,1850,1900,1950,2000,2050,2100,2150,2200,2250,2300,235

    13、0,2400,2450,2500,2550,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,2000,;/*字符字模*/unsigned char code ASCIIDOC = / ASCII0x7C,0x8A,0x92,0xA2,0x7C,0x00, / -0-000x00,0x42,0xFE,0x02,0x00,0x00, / -1-010x46,0x8A,0x92,0x92,0x62,0x00, / -2-020x84,0x82,0x92,0xB2,0xCC,0x0

    14、0, / -3-030x18,0x28,0x48,0xFE,0x08,0x00, / -4-040xE4,0xA2,0xA2,0xA2,0x9C,0x00, / -5-050x3C,0x52,0x92,0x92,0x8C,0x00, / -6-060x80,0x8E,0x90,0xA0,0xC0,0x00, / -7-070x6C,0x92,0x92,0x92,0x6C,0x00, / -8-080x62,0x92,0x92,0x94,0x78,0x00, / -9-090x00,0x00,0x00,0x00,0x00,0x00, / - -100x00,0x00,0xFA,0x00,0x00

    15、,0x00, / -!-110x04,0x08,0x10,0x20,0x40,0x00, / -/-120x00,0x6C,0x6C,0x00,0x00,0x00, / -:-130x3E,0x48,0x88,0x48,0x3E,0x00, / -A-140xFE,0x92,0x92,0x92,0x6C,0x00, / -B-150x7C,0x82,0x82,0x82,0x44,0x00, / -C-160xFE,0x82,0x82,0x82,0x7C,0x00, / -D-170xFE,0x92,0x92,0x92,0x82,0x00, / -E-180xFE,0x90,0x90,0x90,

    16、0x80,0x00, / -F-190x7C,0x82,0x8A,0x8A,0x4E,0x00, / -G-200xFE,0x10,0x10,0x10,0xFE,0x00, / -H-210x00,0x82,0xFE,0x82,0x00,0x00, / -I-220x04,0x02,0x82,0xFC,0x80,0x00, / -J-230xFE,0x10,0x28,0x44,0x82,0x00, / -K-240xFE,0x02,0x02,0x02,0x02,0x00, / -L-250xFE,0x40,0x30,0x40,0xFE,0x00, / -M-260xFE,0x20,0x10,0

    17、x08,0xFE,0x00, / -N-270x7C,0x82,0x82,0x82,0x7C,0x00, / -O-280xFE,0x90,0x90,0x90,0x60,0x00, / -P-290x7C,0x82,0x8A,0x84,0x7A,0x00, / -Q-300xFE,0x90,0x98,0x94,0x62,0x00, / -R-310x64,0x92,0x92,0x92,0x4C,0x00, / -S-320x80,0x80,0xFE,0x80,0x80,0x00, / -T-330xFC,0x02,0x02,0x02,0xFC,0x00, / -U-340xF8,0x04,0x

    18、02,0x04,0xF8,0x00, / -V-350xFE,0x04,0x18,0x04,0xFE,0x00, / -W-360xC6,0x28,0x10,0x28,0xC6,0x00, / -X-370xC0,0x20,0x1E,0x20,0xC0,0x00, / -Y-380x86,0x8A,0x92,0xA2,0xC2,0x00, / -Z-390x24,0x2A,0x2A,0x1C,0x02,0x00, / -a-400xFE,0x14,0x22,0x22,0x1C,0x00, / -b-410x1C,0x22,0x22,0x22,0x10,0x00, / -c-420x1C,0x2

    19、2,0x22,0x14,0xFE,0x00, / -d-430x1C,0x2A,0x2A,0x2A,0x10,0x00, / -e-440x10,0x7E,0x90,0x90,0x40,0x00, / -f-450x19,0x25,0x25,0x25,0x1E,0x00, / -g-460xFE,0x10,0x20,0x20,0x1E,0x00, / -h-470x00,0x00,0x9E,0x00,0x00,0x00, / -i-480x00,0x01,0x11,0x9E,0x00,0x00, / -j-490xFE,0x08,0x14,0x22,0x02,0x00, / -k-500x00

    20、,0x82,0xFE,0x02,0x00,0x00, / -l-510x1E,0x20,0x1E,0x20,0x1E,0x00, / -m-520x20,0x1E,0x20,0x20,0x1E,0x00, / -n-530x1C,0x22,0x22,0x22,0x1C,0x00, / -o-540x3F,0x24,0x24,0x24,0x18,0x00, / -p-550x18,0x24,0x24,0x24,0x3F,0x00, / -q-560x20,0x1E,0x20,0x20,0x10,0x00, / -r-570x12,0x2A,0x2A,0x2A,0x24,0x00, / -s-58

    21、0x20,0xFC,0x22,0x22,0x24,0x00, / -t-590x3C,0x02,0x02,0x3C,0x02,0x00, / -u-600x38,0x04,0x02,0x04,0x38,0x00, / -v-610x3C,0x02,0x3C,0x02,0x3C,0x00, / -w-620x22,0x14,0x08,0x14,0x22,0x00, / -x-630x39,0x05,0x05,0x09,0x3E,0x00, / -y-640x22,0x26,0x2A,0x32,0x22,0x00, / -z-65;unsignedint Ti;unsigned char ii,j

    22、j,mm, ff ,TZ ,Ms ,Ta;/*延时程序*/void Delay(unsigned intmsec)unsignedintx,y;for(x=0; x=msec;x+)for(y=0;y5) ii+; jj=0;if(ii13) ii=0;ff=!ff;Ti=-Trii*6+jj; /读显示中断表/*主程序*/void main(void)/变量初始化Ms=0;ff=0;Ta=46; /正反显一致性调整, 取值范围在4250 之间, 根据实际确定put1=0;put2=1;/中断初始化TMOD=0x11;TH0=-5000/256; TL0=-5000%256;TR0=1;ET0

    23、=1;TH1=-2000/256; TL1=-2000%256;TR1=1;ET1=1;/十四个字符中前三个和后三个不显(不用)v0=10;v1=10;v2=10;v11=10;v12=10;v13=10;/*摇摆棒初始启动*/Do mm+;Delay(120+mm);put1=put1; put2=put2;while(mm21)/进位到秒 BUFFER0=0; BUFFER1=BUFFER1+1;Ms=!Ms;if (BUFFER1=60) /进位到分BUFFER1=0;BUFFER2=BUFFER2+1;if (BUFFER2=60)BUFFER2=0;BUFFER3=BUFFER3+1

    24、; /进位到时if (BUFFER3=24)BUFFER3=0;/将显示内容送显示缓冲区v9=BUFFER1/10;v10=BUFFER1-v9*10;v6=BUFFER2/10;v7=BUFFER2-v6*10;v3=BUFFER3/10;v4=BUFFER3-v3*10;/键盘处理if(ChKey(set0)=1)/模式键 Ms=1; /秒闪开if(TZ2) TZ+; elseTZ=0; /三种状态循环转换switch(TZ)case0:w0=0;w1=0;w2=0;w3=0;w4=0;w5=0;w6=0;w7=0;break;case1:w0=0;w1=0;w2=0;w3=1;w4=1;

    25、w5=0;w6=0;w7=0;break;case2:w0=1;w1=1;w2=0;w3=0;w4=0;w5=0;w6=0;w7=0;break;Ms=0; /秒闪关;Delay(80);if(ChKey(set1)=1) if(BUFFERTZ+10) BUFFERTZ+1-; elseBUFFERTZ+1=maxnumTZ-1;Delay(300);/键盘-Delay(80);五、结语通过这次课程设计懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来。很多东西靠理论是行不通,实践起来才知道没那么简单。由于对proteus,proe,单片机的了解不太深,所以对操作起来有点吃力,特别对于编程,有很多东西都不懂。作为刚入门的单片机学者,所以弄得比较简单点!建议这个摇摆LED时钟还可以加入位置传感器,让显示更加稳定。还有可以加入遥控功能实现更好的控制。


    注意事项

    本文(机电一体化报告36最终修正版.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开