ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:70.44KB ,
资源ID:9437081      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9437081.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于编码器电机测量转速及转角课程设计.docx)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于编码器电机测量转速及转角课程设计.docx

1、 课程设计报告 课程名称: 专业课课程设计II 课设题目: 简易测量电机转速和转角装置 专业班级: 电子信息工程1001 姓 名: 郭阳 学 号: 100402124 课设时间: 2013.12 批阅时间: 指导教师: 桂珺 成 绩: 13 任务书 题目:简易测量电机转速和

2、转角装置 参数: 处理器——————89C52 显示设备———————LCM1602 编码器————————欧姆龙H38S6-2000-3-2-24 电机—————————— GM12F-N20VA08260/298-R 要求: 利用C语言设计,基于单片机实现简易的电机转速和转角测量。当电机转动时能够实时的显示转角和转速,转角要求有正负(以初始位置为0度)。当电机停止转动时,用手拧动编码器的轴也可实现转角测量。 日程安排: 12月19---12月20,查阅资料,确定课设题目 12月23---12月26,进行电机测转速的编程及仿真工作。 12月

3、27---12月31,进行电机测角度的编程及仿真工作。 1月2,老师进行检查 1月3----1月7日,进行最后的补充与修改及写报告 目录 摘要。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。3 一、 总体方案。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4 1. 方案一。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4 2. 方案二。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。4 3. 方案选择。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

4、4 二、 编码器介绍。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 1. 编码器原理。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 2. 编码器选型。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 三、 编码器测量电机转速。。。。。。。。。。。。。。。。。。。。。。。。。。。6 1. 原理介绍。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 2. 程序框图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 3. 编程实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 4

5、 改错心得。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 四、 编码器测量电机转角。。。。。。。。。。。。。。。。。。。。。。。。。。9 1.原理介绍。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 2.程序框图。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 3.编程实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。9 4.改错心得。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。10 五、 实验检测。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11

6、 1. 实验描述。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 2. 实验结果。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 六、 总结。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11 简易测量电机转速和转角装置 摘要 本文介绍了基于89C52单片机的测量电机转速和转角的系统,概述了编码器的工作原理和应用,详细阐述了测速及测转角的基本原理、实现的步骤和软硬件的设计,采用C语言编程,用1602液晶屏显示数据,结果表明该方法具有简单、精度高、稳定性好的优点。 关键词:89C52单片机 测

7、速 测转角 编码器 电机 一、 整体方案 1. 方案一 采用红外光电对管数据采集电路,红外对管根据电机转动时开口遮光片的位置,每转一圈输送几个低脉冲实现转速及转角的测量。 2. 方案二 采用编码器采集信号,将编码器的轴与电机的轴通过联轴器固定,电机带动编码器转动,同时想单片机发出信号,经过单片机处理测出转速及转角。 3. 方案选择 采用编码器测量系统具有低惯性、低噪声、高分辨率和高精度的优点,光栅的成功应用使编码器在检测和控制领域得到了广泛的应用。选择编码器

8、做传感器使得系统拥有测量准确度高、采样速度快、测量范围宽和测量精度与被测速度无关等优点。所以选择方案二。 二、 编码器介绍 1. 编码器原理 编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号。按照读出方式编码器可以分为接触式和非接触式两种;按照工作原理编码器可分为增量式和绝对式两类。增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。绝对式编码器的每一个位置对应一

9、个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。现在编码器的厂家生产的系列都很全,一般都是专用的,如电梯专用型编码器、机床专用编码器、伺服电机专用型编码器等,并且编码器都是智能型的,有各种并行接口可以与其它设备通讯。 编码器由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差,将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。 优点:体积小,精密,本身分辨度可以很高,无接触无磨损;同一品种既可检测角度位移,又可在机械转换装置

10、帮助下检测直线位移;多圈光电绝对编码器可以检测相当长量程的直线位移(如25位多圈)。寿命长,安装随意,接口形式丰富,价格合理。成熟技术,多年前已在国内外得到广泛应用。 缺点:精密但对户外及恶劣环境下使用提出较高的保护要求;量测直线位移需依赖机械装置转换,需消除机械间隙带来的误差;检测轨道运行物体难以克服滑差。 2. 编码器选型 选型的三个要素是机械安装尺寸,分辨率和电气接口。我选用了欧姆龙H38S6-2000-3-2-24这款编码器。外径38mm,止口20mm,轴径6mm,电缆侧出,标准配线2米。尺寸符合标准。选用2000转的高分辨率,完全可以测角度,单片机也可计算。集电极开路是常用

11、的一般电路选择。 图2.2 三、 采用编码器测量电机转速 1. 原理介绍 利用编码器的Z轴每当转一圈会发一个脉冲,将Z轴信号接到外部中断0引脚,每当有下降沿信号则使变量加1。同时采用定时器中断,每隔一秒查看变量增加的个数,即可算出每秒转过的圈数。再把这个转速送给显示函数,用数码管显示出来。 2. 程序框图 否 是否进入外部中断 开始 是 y++ 时间是否过了1s V=y;y=0; 显示

12、函数 是 否 图3.2 3. 编程实现 首先要在初始化函数里打开定时器0中断和外部0中断,并且给定时器设定初始值,由于目标为定时1秒大于65535,可以实行定时50ms,然后在定时器中断服务程序里设一个变量,每进一次中断变量加一,加到20次,即时间过1秒后,查看变量y,把y的值赋予给转速v,并且使y=0,意义为每秒重新计数。外部中断0要设置成下降沿中断,服务程序为y++,即每转一圈变量加一。 void quanshu() interrupt

13、0 // 外部中断 0 计C相脉冲数 { y++; } void zhuansu() interrupt 1 //定时器0中断每隔1秒查一次转过的圈数 { TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++; if(count==20) { v=y; y=0; count=0; } TR0=1; } 4. 改错及心得 进行测量时出现误差,并且转速值不稳定。原因有两个:第一个是使用过多的外部中断占用了CPU过多的时间,使一些信号采

14、集不准确,导致误差。第二个是Z轴信号本身的缺陷,只有到一个固定位置时才会发一个脉冲信号,使得无法实时的计算速度,即如果1s内没转够1圈,无论速度多快或多慢,系统就认为速度是零。经过重新思考,决定不用Z轴做采集信号,而是用A轴。这样做既减少了一个中断处理,又避免了误差,大大提高了系统的稳定性与实时性。根据这样的思路更改程序框图如下: 否 是否进入外部中断1 开始 是 y++ 时间是否过了0.5s V=y*0.01;y=0; 显示函数

15、 是 否 图3.4 当然程序也要做相应的改变。首先把外部中断0全部关断,在外部中断1中加一句话y++;,由于转速的定义为每秒转的圈数,我每0.5秒查看一次y的数值,转换公式为v=y/(2000*0.5),即v=y*0.001,因为显示方便,这里使v=y*0.01,然后把个位赋值给小数点后一位,把十位赋值给个位就可以正确显示了,更改后的程序如下: void jiaodu() interrupt 2 //外部中断 1 计A相脉冲数 { y++; }

16、 void zhuansu() interrupt 1 //定时器0中断每隔 0.5 秒查一次A转过的脉冲数 { TR0=0; TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++; if(count==10) { v=y*0.01;//转速换算 y=0; count=0; } TR0=1; } 经过如此的更改就解决了之前的问题,显示非常稳定,误差也减小了很多。再给51系列单片机编程时应尽量的减少中断的使用,尤其是输入信号频率高,要求精度高,硬件

17、设备质量低的情况。最好是根据有用信号,即用最少的输入信号得到最多的有用信息,通过编程减少外部设备,这样做不仅能够有效的减少误差,还可以节约资源。 四、 采用编码器测量电机转角 1. 原理介绍 利用编码器的A轴和B轴来判断正反转和角度。这里的正反是以开机时电机的初始位置为标准的。正反转的判别方法:因为A和B 相差90度,假设正转时A超前B90度,则反转时B超前A90度,利用这一特点可以判断正反。把A接到外部中断1,B接到P0^0口,当进入中断时,判断B轴是高电平还是低电平就可以判断正反了。角度的

18、计算方法:电机转一圈是360度,编码器转一圈发出2000个矩形波,有这个关系就可以计算角度,即角度=计数个数*360、2000. 2. 程序框图 开始 是否进入中断 X=|x|*360/2000 否 显示函数 X-- X++ P0^0是否为1 是

19、 否 图4.2 3. 编程实现 首先在初始化函数里要打开外部中断1,并且设置成下降沿触发。但A轴有信号来临时,进入到外部中断1服务程序,先判断P0^0口的高低电平,若为高电平,则计数变量加一,反之,计数变量减一。如果计数变量X大于2000或小于-2000,则使X等于0.这样做减轻了变换角度的计算量,使系统认为编码器一直在正一周或负一周之内活动。接下来就可以将计数变量通过公式转换成角度显示了。显示正负角则可以判断计数变量的正负来确定。 void jiaodu() interrupt 2 //外部中断 1 计A相脉冲数 { if(d1==1) x

20、 else x--; if((x>2000)||(x<(-2000))) x=0; } uint jiaodujisuan()//角度计算 { uint j; if(x<0) { wela=1; //显示角度符号位 P0=0xfb; wela=0; dula=1; P0=0x40; dula=0; delay(3); } j=fabs(x); j=j*0.18; //角度转换公式

21、 return j; } 4. 改错及心得 开始没有设置计数变量的上下限,使测量角度大于360度,改正后效果正确。开始角度转换公式为X=X*360/2000,结果显示不正确,后来改为X=X*0.18,显示正确。这段程序很考察细节,一个注意不到的地方有可能使程序出错。 五、 试验检测 1. 实验过程 把编码器与直流电机用联轴器固定在一起,通过改变只直流电压改变直流电机的转速,观察数码管显示的变化。停止直流电机,用手拧动编码器,可方便观察转角的变化。 2. 实验结果 系统可以实时的显示电机的转速及转角。 六、 总结 这次课程设计让我学到了很多。对于编码器与电机的应用又多了一层的认识,在编程上也有了大大的提高,对单片机的理解,尤其是对中断的处理加深了认识。在实验过程中,我曾经出现了很多次错误,大多数都是很细节的东西,这时就需要耐心与分析问题的能力来一次次的解决,也正是因为无数次的改正错误才使最后的程序调试成功。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服