基于89c51及测量电动机转速系统.doc_第1页
基于89c51及测量电动机转速系统.doc_第2页
基于89c51及测量电动机转速系统.doc_第3页
基于89c51及测量电动机转速系统.doc_第4页
基于89c51及测量电动机转速系统.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在测量电动机的转速中,测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号是脉冲信号。由于微型计算机迅速发展,特别是高性价比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。本设计是由增量式光电编码器,89C51单片机,二极管,蜂鸣器以及一些必要的运算放大器组成的电机转速检测系统。本设计的主要功能是:在电机运行过程中,检测系统对转速进行实时监控,转速如果超过200r/min,则发出报警;如果转速低于200r/min,则正常运行。本设计的优点是:硬件电路简单,软件编译简单,测量速度快捷,整体价格低廉,电路功耗低等特点。但由于在硬件系统中的测量误差与计算中不可避免的舍入误差,使得测量系统含有一定的误差。关键字:光电编码器,单片机,蜂鸣器,T法测速,T0定时器/计数器一、系统方案的选定本设计的设计目的是:设计一个由单片机控制的电机转速检测系统,实时监测电机的转速,达到设定值,声音报警提示。通过设计,掌握光电编码器的工作原理和控制系统的设计步骤,进一步提高综合运用知识的能力。设计要求是:选择光电编码器,设计电机转速检测系统,转速超过200r/min,自动报警提示。所以根据设计目的与功能要求,选择增量式光电编码器,选定光电编码器的T法测速法;通过P3.2(),或P3.4(T0)引脚把光电编码器输出05V的方波脉冲序列,引入单片机内;通过单片机内部的TO定时器/计数器的功能,计算出光电编码器每个脉冲的时间间隔Tc;通过公式n=60/Z/Tc=60f/ZM(Z=倍频系数X编码器光栅数)计算出电动机的实时转速N;通过编好的软件,拿实时转速N与规定转速上限n=200r/min比较,如果实时转速N大于200r/min,系统报警(蜂鸣器发声),红色报警灯亮;如果实时转速N小于200r/min,系统正常工作,不会报警,绿色工作指示灯亮。同时,检测系统进入下一个检测周期,继续对电动机转速进行检测。以此实现,转速系统对电动机的实时检测,报警提示。二、系统各部件及原理2.1.1 光电编码器光电式旋转编码器是检测转速或转角的元件,旋转编码器与电动机相连,当电动机转动时,带动编码器旋转,产生转速或转角信号。旋转编码器分绝对式和增量式两种。绝对式编码器在码盘上分层刻上表示角度的二进制数码或是循环码,通过接收器把该数码送入计算机。增量式编码器是在码盘上均匀地克制一定数量的光栅,当电动机旋转时,码盘随之一起转动。通过光栅的作用。通过光栅的作用,持续不断地开放或封闭光通路,因此在接受装置的输出端便得到频率与转速成正比的方波脉冲序列,从而可以计算出转速。光电码盘的光栅数为N,则转速分辨率为1/N,常用的增量式光电码盘光栅数有1024、2048、4096等。采用倍频电路,可以有效地提高转速分辨率,而不增加旋转码盘的光栅数。图1 增量式光电码盘原理图图2 某型光电编码器的使用参数本设计中采用增量式光电编码器,光栅数为1024,不适用倍频电路,即一倍频。2.1.2 测速方法光电编码器的测速方法有三种,M测速方法,T测速方法,M/T测速方法。M测速方法:在一定时间Tc内测取旋转编码器输出的脉冲数M1,用以计算这段时间内的转速。适用于高速测速。T测速方法:测出旋转码盘两个输出脉冲之间的间隔时间来计算转速,又称周期测速法。适用于低速段测速。M/T测速方法:是T测速方法与M测速方法的综合,分辨率高,适用范围大。考虑到转速上限为200r/min,转速不大,且要求转速的测量简单易行,采用T测速方法。T测速方法的实现:以旋转编码器输出的相邻两个脉冲的同样变化为计数的起点和终点,记录计算机发出的脉冲数,从而测出时间Tt。准确的测速时间Tt是用所得的高频始终脉冲数M2计算出来的,即Tt=M2/f,因而电动机转速为n=60/ZTt=60f/ZM2。测速原理如图所示:图3 T法测速原理图2.2.1 89C51单片机89C51单片机是整个测量系统的主要部分,负责接收光电编码器的脉冲信号,开始记录单片机内部脉冲数M,或者循环次数A,从而得出时间Tc,进而得出实时转速N。通软件拿实时转速N与规定转速上限n=200r/min比较,如果实时转速N大于200r/min,系统报警(蜂鸣器发声),红色报警灯亮;如果实时转速N小于200r/min,系统正常工作,不会报警,绿色工作指示灯亮。单片机原理图如下,在本设计中将使用到XTAL1,XTAL2, Vcc,RST/Vpd,Vss,或T0,P1.0,P1.1,P1.2引脚。图4 89C51单片机引脚图2.2.2 时钟信号89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容,构成稳定自振荡器。电容C1和C2常取30pF,可稳定频率并对晶振有微调作用,频率为024MHz。本设计使用6MHz的晶振。原理图如下:图5 89C51的片内振荡器2.2.3 复位电路为89C51单片机设置一个上电自动复位的电路,即上电复位是在加电瞬间电容通过充电来实现的。在测量出现较大偏差时,通过复位电路来恢复初始状态从新测速,校正单片机的测速。其原理图如下,(因为选用的是6MHz的晶振,电容C=22f,电阻R=1k)图6 上电复位电路2.2.4 定时器与计数器89C51芯片内有两个16为定时器/计数器,即定时器0(T0)和定时器1(T1),由工作模式寄存器TMOD和控制寄存器TCON,工作原理如下:图7 工作模式寄存器TMOD图8 工作模式寄存器TCON89C51的定时器有四种工作模式,模式表如下:图9 定时器工作模式由于是T测速方法,所以选择T0的外部计数方式C/=1计数器的输入是来自T0(P3.4)的外部脉冲,GATE=1,只有。2.3.1 Tc的得出与转速的比较原理T测速方法的实现:以旋转编码器输出的相邻两个脉冲的同样变化为计数的起点和终点,记录计算机发出的脉冲数,从而测出时间Tt。进而通过一系列的数学变化,与转速上限200r/min比较,进而得到想要得到的信息。在单片机内部,无法直接得到两个脉冲的时间间隔Tc,只能由间接计算而算出Tc。具体实现为:计机内部脉冲数M,或者计循环次数A,通过计算从而得出时间Tc。因此有两种计算方法:1.计脉冲数M法;2.计循环次数A法。由于用单片机进行数学计算,软件程序耗时,设计复杂,所以就对时间Tc与转速n,进行变化,简化程序,得到一个直接与脉冲数M,或循环次数A的大小比较关系。2.3.2 计脉冲M数法计脉冲数法的原理是:单片机原理及接口技术144页,例6-7-应用门控制位GATE测照相机快门打开时间。把光电编码器的输出脉冲信号引到P3.2()引脚。实际上就是,利用测出P3.2引脚上出现的正脉冲宽度。T0应工作在定时方式。TMOD的门控制位GATE为1,且运行控制位TR0为1时,定时器/计数器的启动和关闭受外部中断引脚信号的控制。为此在初始化程序中使T0工作在模式1,置GATE=1;TR1=1;一旦P3.2控制引脚出现高电平,T1开始对机器周期Tm计数,直到P3.2出现低电平,T0停止计数;然后读出T0的计数值M。而实际码盘上的两相邻的脉冲时间应该对应的为2M脉冲数的时间。工作原理如下:图10 计脉冲数M法原理图由于n=60f/Z/2M,(f为单片机内部晶振f=6MHz,M为脉冲次数,Z=倍频系数X编码器光栅数z=1024),所以通过数学变化有M=60f/Z/n/2,因为转速上限n=200r/min,所以脉冲数M临界为878.9,近似为878,舍入误差为0.103%,当M大于878,转速小于200r/min;当M小于878时,转速大于200r/min。因此,利用一个比较脉冲数M与数878的大小,就可以实现转速的测定。程序流程图如下:图11 计脉冲数M法流程理图2.3.3 计循环次数A法计循环次数法的原理为:单片机原理及接口技术136页,例6-2-当P3.4引脚上的电平发生负跳变,从P1.0输出一个500m的同步脉冲,以及101页,例4-11-软件延时程序,1)采用循环程序进行延时子程序。把光电编码器的输出脉冲信号引到P3.4引脚。选T0为模式2,外部计数方式,当P3.4引脚上电平发生负跳变时,T0计数器加1,溢出标志TF0置1,然后进入循环与延时子程序,在循环与延时子程序中记录循环次数A,并把溢出标志TF0置0,保持T0的外部计数方式,继续等待下一个负跳变。当下一个负跳变到来,T0计数器加1,溢出标志TF0置1。跳出循环与延时子程序,保存循环次数A。设计好的软件中延时时间为T=(5A+1)2m(单片机内部晶振f=6MHz,一个机器周期为2m),而它也是光电编码器两个相邻脉冲之间的时间Tc。由于n=60/Z/Tc(Z=倍频系数编码器光栅数z=1024),又 Tc= (5A+1)2m。通过数学变化有A=(601000000/Z/n/2-1)/5,因为转速上限n=200r/min,所以循环数A临界为29.09,近似为29,舍入误差为3.1%,当M大于29时,转速小于200r/min;当M小于29时,转速大于200r/min。因此,利用一个比较循环数A与数29的大小,就可以实现转速的测定。测量原理图如下:图12 计循环数A法原理图程序流程图如下:图13 计循环数流程图2.3.1 报警提示在软件中通使用硬件电路测量所得的脉冲数M或循环数A,与规定转速上限200r/min对应的临界值的比较,得到相应的结果。如果测得的脉冲数M或循环数A小于转速上限200r/min的临界值,系统报警,即软件使蜂鸣器发声,红色报警灯亮;如果测得的脉冲数M或循环数A大于转速上限200r/min的临界值,系统正常工作,不会报警,软件使绿色工作指示灯亮。如图所示:图 报警提示部分原理图2.3.2 蜂鸣器本设计中采用压电式蜂鸣器约需10mA的驱动电流,因此使用TTL系列的7406低电平驱动。如图所示:驱动电路输入端接89C51的P1.0。当P1.0输出高电平1时,7406的输出为低电平0,使压电蜂鸣器引线获得将近5V的直流电压,而产生蜂鸣。当P1.0输出低电平0时,7406的输出为高电平1,使压电蜂鸣器引线两端均为+5V的直流电压,不能产生蜂鸣。2.3.3 红色报警灯与绿色工作指示灯本设计中采用两个发光二极管,一个为红色报警灯与绿色工作指示灯。如图所示:红色报警灯接P1.1。当P1.1输出低电平0时,发光二极管引线获得将近5V的直流电压,而点亮,发出红色报警指示。当P1.1输出高电平1时,使发光二极管引线两端均为+5V的直流电压,不能点亮。绿色工作指示灯接P1.2。当P1.2输出低电平0时,发光二极管引线获得将近5V的直流电压,而点亮,发出绿色工作指示。当P1.2输出高电平1时,使发光二极管引线两端均为+5V的直流电压,不能点亮。三、系统设计硬件电路与PCB图四、控制程序4.1 计脉冲数M法程序ORG 0000HAJMP MAINORG 0300HMAIN:MOV TMOD,#09H;T0为模式1,GATE置1MOV TL0,#00H;装载计数初值0MOV THO,#00H;装载计数初值0CLR P1.O;关闭蜂鸣器SETB P1.1;关闭红色报警灯SETB P1.2;关闭绿色工作指示灯WAIT1:JB P3.2,WAIT1;等待变低SETB TR0;为启动T0做好准备WAIT2:JNB P3.2,WAIT2;等待方波脉冲,并开始计时WAIT3:JB P3.2,WAIT3;等待变低CLR TR0;停止T0计数MOV R1,TL0;存放TL0的计数值MOV R2,TH0;存放TH0的计数值PTFO1:MOV A,R2;将TH0的数值存放到寄存器ACLR CY;标志位清0SUBB A,#06; A与临界值878D的高八位比较大小JBC CY,PTFO2;如果A小于临界值,转向报警程序CLR P1.2;如果A大于临界值,绿色工作指示灯点亮SJMP WAIT1;返回循环程序,继续测速PTFO2:CLR P1.1;红色报警灯点亮SETB P1.0;蜂鸣器发声SJMP WAIT1;返回循环程序,继续测速RETIEND;结束4.2 计循环次数A法程序ORG 0000HAJMP MAINORG 0300HMAIN:MOV TMOD,#06H;设置T0为模式2,外部计数方式MOV TL0,#0FFH;装载计数初值MOV THO,#0FFHCLR P1.O;关闭蜂鸣器SETB P1.1;关闭红色报警灯SETB P1.2;关闭绿色工作指示灯SETB TR0;启动T0计数LOOP1:JBC TF0,PTF01;查询T0溢出标志,TF0=1时转移,且TF0=0(查P3.4负跳变)SJMP LOOP1;等待负跳变PTFO1:MOV A,#0H;把0装入寄存器AW1:INC A;A加1JBC TF0,PTFO2;查询T0溢出标志,TF0=1时转移,且TF0=0(查P3.4负跳变)SJMP W1;等待负跳变PTF02:CLR CY;标志寄存器清0SUBB A,#1DH;循环次数A与临界值比较29DJBC CY,PTFO3;如果循环次数A小于临界值,转向报警程序CLR 1.2;如果循环次数A大于临界值,绿色工作指示灯亮SJMP LOOP2;转入延时子程序PTFO3:CLR P1.1;红色报警灯点亮SETB P1.0;蜂鸣器发声SJMP LOOP2;转入延时子程序LOOP2:MOV R5,#0AH;设定循环次数为10次的延时 W2:DJNZ R5,W2;判断循环条件 SJMP LOOP1;返回循环程序,继续等待中断,准备测速RETIEND;结束五、设计心得经过一周忙碌而又紧张的课程设计,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论