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

加入VIP,免费下载
 

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

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于编码器电机测量转速及转角课程设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、基于编码器电机测量转速及转角课程设计修必2栄衣寥课程设计报告课程名称:专业课课程设计II课设题目:简易测量电机转速和转角装置专业班级:电子信息工程1001姓 名:.郭阳 学 号:4课设时间:.2013.12 批阅时间:指导教师:桂珺 成 绩:任务书题目:简易测量电机转速和转角装置参数:处理器 89C52显示设 备 LCM1602编码器 欧姆龙 H38S6-2000-3-2-24 电机 GM12F-N20VA08260/298-R要求:利用 C 语 言设 计 ,基于 单 片机 实 现简易 的电 机转 速和 转角 测 量。 当电机转动时能够实时的显示转角和转速,转 角要求有 正负( 以初始 位 置

2、 为 0 度 )。 当 电 机 停 止 转 动 时 , 用 手 拧 动 编 码 器 的 轴 也 可 实 现 转 角测量。日程安排:12月 19-12 月 20,查阅资料,确定课设题目12月 23-12 月 26,进行电机测转速的编程及仿真工作。12月 27-12 月 31,进行电机测角度的编程及仿真工作。 1月 2,老师进行检查1 月 3 1 月 7 日,进行最后的补充与修改及写报告二、编码器介绍ooooooooooo oooooooooooooooooooo o o o o1. 编 码 器 原 理 。2. 编 码 器 选 型 。简易测量电机转速和转角装置摘要本文 介 绍了基 于 89C52

3、单 片机 的测 量电 机转 速和 转角 的 系统,概 述 了编码器的工作原理和应用,详细阐述了测速及测转角的基本原理、 实现的步骤和软硬件的设计,采用C语言编程,用1602液晶屏显示 数据, 结果 表明 该方 法 具有 简单 、精 度高 、稳 定性 好的 优点 。关键词:89C52单片机测速测转角编码器电机整体方案1. 方案 一采用红 外光 电对 管数 据采 集电 路 ,红外 对管 根据 电机 转 动时 开口遮 光片 的位 置,每 转 一圈 输送 几个 低脉 冲实 现转 速 及转 角的测量。2. 方案 二采用编 码器 采集 信号 ,将 编码 器的 轴与 电机 的轴 通过 联 轴器 固定,电 机

4、带动编码器转动,同 时想单片机发出信号,经 过 单片机处理测出转速及转角。3. 方案选 择采用编码器测量系统具有低惯性、低 噪声、高 分辨率和高精 度的优 点 ,光栅 的成 功应 用使 编码 器在 检测 和控 制领 域 得到 了广泛 的应 用。选 择 编码 器做 传感 器使 得系 统拥 有测 量 准确 度高、采 样速度快、测 量范围宽和测量精度与被测速度无关 等优点。所以选择方案二。编码器介绍1.编码器原理编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式 的设备。器把或直线位移转换成电信号。按照读出方式编码器可以分为接触式和 非接触式两种;按照工作原理编码器可分为增量式和绝

5、对式两类。增量式编码器 是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个 数表示位移的大小。绝对式编码器的每一个位置对应一个确定的数字码,因此它 的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。 现在编码器的厂家生产的系列都很全,一般都是专用的,如电梯专用型编码器、 机床专用编码器、伺服电机专用型编码器等,并且编码器都是智能型 的,有各种并行接口可以与其它设备通讯。编码器由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成 A、B C D,每个正弦波相差90度相位差,将C、D信号反向,叠加在A、B两相上,可 增强

6、稳定信号;另每转输出一个 Z相脉冲以代表零位参考位。优点:体积小,精密,本身分辨度可以很高,无接触无磨损 ;同一品种既可检测角度位移,又可在机械转换装置帮助下检测直线位移;多圈 光电绝对编码器可以检测相当长量程的直线位移 (如25位多圈)。寿命 长,安装随意,接口形式丰富,价格合理。成熟技术,多年前已在国内 外得到广泛应用。缺点:精密但对户外及恶劣环境下使用提出较高的保护要求; 量测直 线位移需依赖机械装置转换,需消除机械间隙带来的误差;检测轨道运 行物体难以克服滑差。2.编码器选型选型的三个要素是机械安装尺寸,分辨率和电气接口。我选用了欧姆龙H38S6-2000-3-2-24这款编码器。外径

7、 38mm止口 20mm轴径6mm, 电缆侧出,标准配线2米。尺寸符合标准。选用2000转的高分辨率, 完全可以测角度,单片机也可计算。集电极开路是常用的一般电路选 择。图2.2利用编码器的Z轴每当转一圈会发一个脉冲,将Z轴信号接到外 部中断0引脚,每当有下降沿信号则使变量加 1。同时采用定时器 中断,每隔一秒查看变量增加的个数,即可算出每秒转过的圈数。 再把这个转速送给显示函数,用数码管显示出来。3.编程实现首先要在初始化函数里打开定时器 0中断和外部0中断,并且给 定时器设定初始值,由于目标为定时1秒大于65535,可以实行定 时50ms,然后在定时器中断服务程序里设一个变量,每进一次中断

8、 变量加一,加到20次,即时间过1秒后,查看变量y,把y的值 赋予给转速v,并且使y=0,意义为每秒重新计数。外部中断 0要 设置成下降沿中断,服务程序为 y+,即每转一圈变量加一。void quanshu() interrupt 0 / 外部中断0 计C相脉冲数y+;void zhuansu() interrupt 1 /定时器0中断每隔1秒查一次转过的圈数TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;coun t+;if(cou nt=20)v=y; y=0;coun t=0; TR0=1;4.改错及心得进行测量时出现误差,并且转速值不

9、稳定。原因有两个:第一个 是使用过多的外部中断占用了 CPU过多的时间,使一些信号采集不 准确,导致误差。第二个是Z轴信号本身的缺陷,只有到一个固定 位置时才会发一个脉冲信号,使得无法实时的计算速度,即如果 1s内没转够1圈,无论速度多快或多慢,系统就认为速度是零。 经过重新思考,决定不用Z轴做采集信号,而是用A轴。这样做既 减少了一个中断处理,又避免了误差,大大提高了系统的稳定性与 实时性。根据这样的思路更改程序框图如下:图3.4外部中断1 计A相脉冲数定时器0中断每隔0.5秒查一次A转过的脉冲数当然程序也要做相应的改变。首先把外部中断0全部关断,在外 部中断1中加一句话y+;,由于转速的定

10、义为每秒转的圈数,我 每0.5秒查看一次y的数值,转换公式为 v=y/(2000*0.5),即 v=y*0.001,因为显示方便,这里使v=y*0.01 ,然后把个位赋值给 小数点后一位,把十位赋值给个位就可以正确显示了, 更改后的程序如下:void jiaodu() in terrupt 2 /y+;void zhua nsu() in terrupt 1 /TR0=0;TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=10) 转速换算v=y*0.01;/ y=0; count=0;TR0=1;经过如此的更改就解决了之前

11、的问题, 显示非常稳定, 误差也减小了很多。 再 给 51 系列单片机编程时应尽量的减少中断的使用,尤其是输入信号频率高,要 求精度高, 硬件设备质量低的情况。 最好是根据有用信号, 即用最少的输入信号 得到最多的有用信息,通过编程减少外部设备, 这样做不仅能够有效的减少误差, 还可以节约资源。四、 采用编码器测量电机转角1.原理介绍利用编码器的A轴和B轴来判断正反转和角度。这里的正反是以 开机时电机的初始位置为标准的。正反转的判别方法:因为A和B相 差90度,假设正转时A超前B90度,则反转时B超前A90度,利用 这一特点可以判断正反。把 A接到外部中断1,B接到P0A0 口,当 进入中断时

12、,判断B轴是高电平还是低电平就可以判断正反了。角 度的计算方法:电机转一圈是360度,编码器转一圈发出2000个矩 形波,有这个关系就可以计算角度,即角度 =计数个数*360、2000.2.程序框图图4.23.编程实现首先在初始化函数里要打开外部中断 1,并且设置成下降沿触发。但A轴有信号来临时,进入到外部中断1服务程序,先判断P0A0 口 的高低电平,若为高电平,则计数变量加一,反之,计数变量减一。 如果计数变量X大于2000或小于-2000,则使X等于0.这样做减轻 了变换角度的计算量,使系统认为编码器一直在正一周或负一周之 内活动。接下来就可以将计数变量通过公式转换成角度显示了。显 示正

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

copyright@ 2008-2022 冰豆网网站版权所有

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