速度检测实验报告.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重庆邮电大学综合实验报告 基于旋转编码器的转速测量实验 姓 名: 魏 敏 学 号: 2012213148 班 级: 0881202 组 号: 专 业:电气工程与自动化 指导老师: 陈 俊 华 自动化学院检测与控制实验中心 2014 一、实验目的 1. 了解编码器工作原理 2. 掌握编码器速度检测的方法; 二、实验原理 1. 编码器 编码式数字传感器是测量转轴角位移的最常用的检测元件,它具有很高的分辨率、测量精度和可靠性。 在一个圆形玻璃盘的边缘开有相等角距的缝隙,成为透明和不透明的码盘,在此码盘开缝的两边,分别安装光源及光电元件。当码盘随被测物体的工作轴转动时,每转过一个缝隙,光电元件所获得的光强就发生一次明暗的转换,光电转换电路就产生一定幅值和功率的电脉冲输出信号。将这一脉冲信号送加法计数器进行记数,则所计数码就等于码盘转过的缝隙数目,在缝隙之间的角度已知时,码盘(被测物体)所转过的角度也就确定了。 旋转编码器E6C2-CWZ6C参数表 编码器 参数 电源电压 DC5V~24V 消耗电流 70mA以下 分辨率(脉冲/旋转) 100、200、300、360、400、500、600、720、800、1000、1024、1200、1500、1800、2000 输出相 A 、B、Z相 输出方式 NPN集电极开路输出 输出容量 外加电压:DC30V以下;同步电流35mA以下;残留电压:0.4V以下(同步电流35mA) 最高响应频率 100kHz 2.测量方法: 2.1编码器鉴相电路设计: 2.3测量原理: 检测光电式旋转编码器与转速成正比的脉冲,然后计算转速,有三种数字测速方法:即M法、T法和M/T法。 光电式旋转编码器是转速或转角的检测元件,旋转编码器与电机相连,当电机转动时,带动码盘旋转,便发出转速或转角信号。如图所示。 M法测速 测取 Tc时间内旋转编码器输出的脉冲个数 ,用以计算这段时间内的平均转速,称作M法测速,如图所示。 M法测速的分辨率: 电机的转速为 : M法测速的分辨率: M法测速误差率: M法测速适用于高速段 T法测速 记录编码器两个相邻输出脉冲的间的高频脉冲个数M2,f0为高频脉冲频率,如图所示。 电机转速 T法测速的分辨率: T法测速误差率: T法测速适用于低速段。 M/T法测速 把M法和T法结合起来,既检测TC时间内旋转编码器输出的脉冲个数M1,又检测同一时间间隔的高频时钟脉冲个数M2,用来计算转速,称作M/T法测速。采用M/T法测速时,应保证高频时钟脉冲计数器与旋转编码器输出脉冲计数器同时开启与关闭以减小误差。 电机转速 三、实验内容 1. 根据旋转编码器的工作原理,设计基于旋转编码器的速度检测原理图; 2. 利于实验室提供的单片机最小系统,设计位置检测、速度检测系统的应用电路;画出系统框图; 3. 编写相关程序, 实现对位置及转速的测量,并显示; 程序设计: #includereg51.h #define uchar unsigned char #define uint unsigned int sbit dula=P2^6; sbit wela=P2^7; sbit q1=P3^4; bit bit_0; uint count_N,count_N1; uint count_n8;//计数值 uchar T_N=20; void msplay(uchar,uchar); void INT_0_Init(); void Timer0_Init(); void Motor_Init(); ucharcode x1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x27,0x7f,0x6f,0x40,0x7c,0x39,0x5e,0x3e,0x48}; uchar code x2[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delay(uint z) //延时函数 { uint x; for(x=z;x0;x--) ; } void INT_0_Init() { IT0=1; EX0=1; } void Timer0_Init() { TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; } void main() { uchar k6,k5,k4,k3,k2,k1,k0; INT_0_Init(); Timer0_Init(); while(1)

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档