机械课程设计-旋转编码器的速度检测和精确定位.doc

上传人:哈尼dd 文档编号:3278763 上传时间:2019-08-07 格式:DOC 页数:17 大小:1.88MB
返回 下载 相关 举报
机械课程设计-旋转编码器的速度检测和精确定位.doc_第1页
第1页 / 共17页
机械课程设计-旋转编码器的速度检测和精确定位.doc_第2页
第2页 / 共17页
机械课程设计-旋转编码器的速度检测和精确定位.doc_第3页
第3页 / 共17页
机械课程设计-旋转编码器的速度检测和精确定位.doc_第4页
第4页 / 共17页
机械课程设计-旋转编码器的速度检测和精确定位.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《机械课程设计-旋转编码器的速度检测和精确定位.doc》由会员分享,可在线阅读,更多相关《机械课程设计-旋转编码器的速度检测和精确定位.doc(17页珍藏版)》请在三一文库上搜索。

1、课程设计说明书题目: 旋转编码器的速度检测和精确定位 院 系: 机械工程学院 专业班级: 机设06-11 学 号: 200611836 学生姓名: 指导教师: 2009 年 12 月 10 日 安徽理工大学课程设计(论文)任务书 机械工程学院 院系 测控 教研室学 号200611836学生姓名周晋专业(班级)机设06-11设计题目旋转编码器的速度检测和精确定位设计技术参数旋转编码器:A,B相每转300个脉冲显示器:4位LED显示器单片机晶振6MHZ设计要求实现旋转编码器的实时速度监测实现实时位置的精确测量所需参数按需要显示出来工作量 注:可填写说明书(论文)的字数要求或要完成的图纸数量。工作计

2、划第一周:熟悉题目,学习单片机;第二周:学习软件protues及其操作;第三周:写单片机程序和作protues仿真电路图,并完成说明书。参考资料蔡美琴等 MCS-51系列单片机系统及其应用 2版北京:高等教育出版社,2008指导教师签字教研室主任签字 年 月 日 目录1,设计原理 . . . . . . . . . . . . . . . . . . . . . . . . .4 2、硬件电路设计. . . . . . . . . . . . . . . . . . . . . . .4-9 3、软件设计. . . . . . . . . . . . . . . . . . . . . . .

3、 .10-15一、 设计原理1, 系统设计的功能本设计实现的功能有:检测被测旋转体的速度;检测被测旋转体的实时角度位置;显示实时速度;显示实时角度位置;2, 系统的实现方法本设计采用单片机系统完成所需功能。即把旋转编码器的输出信号接到单片机,由单片机实现旋转编码器输出信号的处理并计算出速度和实时位置。采用七段LED显示器显示计算多得的参数。二、 硬件电路设计 本系统的硬件组成为:80C51单片机最小系统一个、开关 一个、四位七段显示器一个、旋转编码器一个、电阻和三极管若干。 本系统的功能模块分为:单片机最小系统模块、旋转编码器信号输 入模块、速度显示中断模块、七段LED显示模块。 1, 单片机

4、最小系统模块本系统采用的单片机为80C51其引脚图如下。 2 ,旋转编码器信号输入模块 旋转编码器是用来测量转速的装置,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。 工作原理: 由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。 由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位

5、。信号输出: 如单相联接,用于单方向计数,单方向测速。 A.B两相联接,用于正反向计数、判断正反向和测速。 A、B、Z三相联接,用于带参考位修正的位置测量。 本系统采用A、B、Z三相连接,测量转速和位置。实现电路图如下: 4,速度显示中断模块 本系统的参数是在需要时显示出来,我的设计是主程序循环显示实时速度,在节省硬件的情况下(即速度和位置参数不是同显示)可在需要时按下中断按钮触发中断程序来显示实时位置。MCS-51单片机中断系统的结构:5个中断源的符号、名称及产生的条件如下。INT0:外部中断0,由P32端口线引入,低电平或下跳沿引起。INT1:外部中断1,由P33端口线引入,低电平或下跳沿

6、引起。T0:定时器计数器0中断,由T0计满回零引起。T1:定时器计数器l中断,由T1计满回零引起。TIRI:串行IO中断,串行端口完成一帧字符发送接收起。因旋转编码器的信号输入占用了两个外部中断源,我采用定时器/计数器0扩展成外部中断源,即使定时器计数器工作在计数器模式,计数源来自外部,把计数器的初值设置为TL0=#0FFHTH1=#0FFH,这样外部中断便会使计数器溢出中断。中断系统图示如下。5,七段LED显示模块 显示原理为:首先显示一个数, 然后关掉.然后显示第二个数,又关掉, 那么将看到连续的数字显示,轮流点亮扫描过程中,每位显示器的点亮时间是极短暂的,由于人的视觉暂留现象及发光二极管

7、的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。 6,硬件系统整体图 二、软件设计主程序流程图 A相中断流程图 开始初始化计算位置degree的个十百千位显示位置degree的个十百千位结束开始判断B相是否为高电平位置Position加1总脉冲Counter加1Position减1结束否Z相中断流程图开始绝对位置参数position置零结束定时刷新参数中断开始重新装载定时器定时0.1s根据0.1s的脉冲数计算转速把绝对脉冲转换为绝对角度绝对角度是否为负值角度加360结束否显示速度中断开始计算转速的个十百千位显示转速的个十百千

8、位i是否为100否结束系统的C语言程序如下:#include regx51.hunsigned char a,b,c,d;unsigned char code disaplay=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;long counter=0; /旋转编码器的脉冲long position=0; /旋转编码器的当前位置long degree=0; void main()TMOD=0x06;TH0=0xff;TL0=0xff;TH1=(65536-1000)/256;TL1=(65536-1000)%256;IE=0x0f;EA =

9、 1; /开总中断r=0;while(1) /主程序循环显示位置 a=degree%10; /计算参数的个十百千位b=(degree/10)%10;c=(degree/100)%10;d=(degree/1000)%10;p2_3=0; /显示position值p0=diaplaya;p2_3=1;p2_2=0;p0=diaplayb;p2_2=1;p2_1=0;p0=diaplayc;p2_1=1;p2_0=0;p0=diaplayd;p2_0=1;void int0() interrupt 0 /A相中断if(p2_7) position+; /判断2_7为高则正向,为低则反向else p

10、osition-;counte+; /累计脉冲void int1() interrupt 1 /Z相中断position=0; /使位置参数置零void t1_() interrupt 2 /定时0.1s刷新一次转速和角/度参数TH0=(65536-1000)/256;TL0=(65536-1000)%256;r=600*counter/300; /假设编码器每转300个脉冲degree=1.2*position; /把脉冲数转换为角度数if(!degree) / 角度为负时加360度转为正degree+=360void t0_() interrupt 3 /计数器T0中断显示速度unsigned char ii=100;a=r%10;b=(r/10)%10;c=(r/100)%10;d=(r/1000)%10;while(i)/ 中断产生后循环100次显示一段时间p2_3=0;p0=diaplaya;p2_3=1;p2_2=0;p0=diaplayb;p2_2=1;p2_1=0;p0=diaplayc;p2_1=1;p2_0=0;p0=diaplayd;p2_0=1;i-;学生姓名: 周晋 学号:200611836 专业班级:机设06-11课程设计题目: 旋转编码器的速度检测和精确定位 指导教师评语: 成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1