电机转速非接触式测量仪.docx

上传人:b****3 文档编号:3800105 上传时间:2022-11-25 格式:DOCX 页数:24 大小:428.50KB
下载 相关 举报
电机转速非接触式测量仪.docx_第1页
第1页 / 共24页
电机转速非接触式测量仪.docx_第2页
第2页 / 共24页
电机转速非接触式测量仪.docx_第3页
第3页 / 共24页
电机转速非接触式测量仪.docx_第4页
第4页 / 共24页
电机转速非接触式测量仪.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

电机转速非接触式测量仪.docx

《电机转速非接触式测量仪.docx》由会员分享,可在线阅读,更多相关《电机转速非接触式测量仪.docx(24页珍藏版)》请在冰豆网上搜索。

电机转速非接触式测量仪.docx

电机转速非接触式测量仪

第十届双基电子设计大赛

报告

 

项目名称:

电机转速非接触式测量仪

小组成员:

XXXXXXXXXXXXXXXX

学院:

机电学院

专业班级:

10测控2班

指导老师:

曹青松

电机转速非接触式测量仪

摘要:

随着工业生产技术的发展,旋转机械转速的测量变得更为频繁和重要。

转速是旋转物体在单位时间内的转数,是描述各种旋转机械的重要技术参数。

因而社会生产对具有便携、快速、非接触、精确度高等特征的转速测量仪的需求性也越来越强。

本设计主要用AT89C51单片机作为控制核心,由光电传感器、单片机、LCD动态显示屏构成。

当电机转动时,光电传感器会接收到脉冲信号,AT89C51单片机接收光电传感器传来的脉冲信号,单片机根据外部中断,以及内部定时器进行记数并计算出电机的转速送到LCD显示。

关键词:

AT89C51电机转速光电传感器非接触测量

 

1系统设计任务

1.1设计要求

一、任务

设计制作一个电机转速非接触式测量仪

二、要求

(一)基本要求(电机转速2000转/分钟左右)

(1)精确测量转速,不能丢脉冲

(2)实时显示结果

(二)提高部分

(1)测量装置安装方便,成本低

(2)其它创新自拟

三、评分标准

(一)设计报告:

40

(1)设计方案合理15

(2)电路分析计算正确10

(3)测试与分析15

(二)实物制作测评:

60

(三)提高部分:

30

(1)测量装置安装方便,成本低20

(2)其它创新10

1.2设计任务概述

智能化转速测量可以对电机的转速进行测量,电机在运行的过程中,需要对其平稳性进行监测,适时对转速的测量有效地可以反映电机的状况。

本设计中采用光电传感器采集信号,方便了信号的采集,也提高了测量的精度,但容易受外界光线和环境的干扰,编码盘与电机转轴的固定连接,都是本设计的难点。

用1602LCD的数码管以动态扫描清晰的显示了实时的转速,程序的编写成了本设计的重点。

2系统设计方案

本系统主要由单片机模块、传感器模块、显示模块、及电源模块组成,下面分别论述这几个模块的选择。

2.1方案论证与选择

2.1.1整体控制方式

方案一:

采用集成电路控制方式

光电传感器感受到光信号并转换成电信号,此时的电信号为模拟信号,经信号处理电路滤除干扰,并转换成能被计数器接受的方波信号或脉冲信号,再经过计数、译码、显示电路,由数码管显示转速。

可实现功能,但电路较复杂,系统调试也较繁杂。

方案二:

采用单片机模块控制方式

单片机模块接收脉冲信号,进行计数、处理,把数据传送给LCD显示模块,达到实时检测和反馈的功能。

基于单片机的转速测量系统,具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰性能好的特点。

综合以上两种方案,选择方案二。

2.1.2传感器模块

方案一:

采用红外传感器

红外传感器是利用红外线的物理性质来进行测量的传感器,为反射式。

红外线传感器测量时不与被测物体直接接触,因而不存在摩擦,并且有灵敏度高,反应快等优点。

但红外线的发射、接收不好控制,而且容易受到外界光线和环境的干扰。

方案二:

采用霍尔传感器

霍尔传感器是根据霍尔效应原理制成的霍尔元件。

传感器的定子上有2个互相垂直的绕组A和B,在绕组的中心线上粘有霍尔片HA和HB,转子为永久磁钢,霍尔元件HA和HB的激励电机分别与绕组A和B相连,它们的霍尔电极串联后作为传感器的输出。

图1霍尔转速传感器结构图

采用霍尔传感器在信号采样的时候,会出现采样不精确,因为它是靠磁性感应才采集脉冲的,使用时间久了会出现磁性变小,影响脉冲的采样精度。

方案三:

采用光电传感器

光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。

光电传感器在一般情况下,有三部分构成,它们分为:

发送器、接收器和检测电路。

发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。

光束不间断地发射,或者改变脉冲宽度。

接收器有光电二极管、光电三极管、光电池组成。

在接收器的前面,装有光学元件如透镜和光圈等。

在其后面是检测电路,它能滤出有效信号和应用该信号。

此外,光电开关的结构元件中还有发射板和光导纤维。

三角反射板是结构牢固的发射装置。

它由很小的三角锥体反射材料组成,能够使光束准确地从反射板中返回,具有实用意义。

图2光电传感器原理示意图

综合以上3种方案,选择方案三。

2.1.3显示模块

方案一:

用数码管动态显示,可以显示数字,但显示的内容有限,接线繁多,且不能连续显示字符,有一定局限性。

方案二:

采用LED点阵显示,能动态扫描,变换颜色,但体积比较大,需要很多点阵组合使用,显示较为繁琐,但需要的I/O资源较多,影响总体布局。

方案三:

采用LCD液晶显示,显示内容最丰富,不仅编程灵活,显示可靠,而且电路简单,易与单片机连接,明亮对比度可调,显示非常清晰,是一种非常好的方案。

综合以上,选择方案三。

2.2方案描述

本设计主要用AT89C51单片机作为控制核心,由光电传感器、LCD动态显示屏构成。

AT89C51单片机接收光电传感器传来的脉冲信号,单片机根据外部中断,以及内部定时器进行记数计算出电机转速送到LCD显示,使能实时读出

电机的转速。

 

 

图3系统总体方框图

3系统理论分析与计算

3.1信号采集电路的分析

采集光信号的电路原理图如图4所示:

图4采集光信号的电路原理图

在图4中TLP为光码盘(如图5),T1为光敏三极管,T2为普通三极管,74LS04为反相器,R1~R4为电阻。

当电机转动后,光电码盘安装在转子端轴上,随着电机的转动,光电码盘也跟着一起转动,当一个狭缝转过时光敏三极管就会受到光照而导通,此时T2管的基极为高电平,T2管也导通,在1处就为低电平,经过反相器后变为高电平输给单片机记数;相反,当光敏三极管没有接收到光照时就不导通,在2处就为低电平了。

图5光码盘

3.2电机转速的计算

在编程时让单片机每隔一秒记录一次接收到的脉冲总数,然后根据如下计算电机的转速

n=60*N/(P*T)

(1)

n:

电机转速

T:

采样周期

N:

采样周期T内光脉冲个数

P:

光码盘开孔的总数

当采样周期为1秒时,转速

n=60*f/P

(2)

f:

1秒内采集到的光脉冲个数

4硬件电路设计

4.1单片机模块

4.1.1AT89C51单片机简介

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

图6单片机管脚图

VCC:

供电电压

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口。

4.1.2晶振电路

时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。

因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。

常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

图9单片机晶振电路

单片机内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2这两个引脚跨接在石英晶体振荡器和微调电路,就构成一个稳定的自激振荡器。

 

电路中的电容C1和C2典型值通常选择30pF左右,该电容大小会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。

晶振的振荡器频率的范围通常在1.2~12MHz之间,晶体的频率越高,则系统得时钟频率也就变高,单片机的运行速度也就越快。

但反过来运行速度快,对存储器的速度要求就高。

对印刷电路板的工艺要求也高,即要求浅间的寄生电容要小;晶体和电容应尽可能安装得与单片机芯片靠近,以减少寄生生活,更好的保证振荡器稳定,可靠地工作。

4.1.3复位电路

为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。

一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。

由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。

图10单片机复位电路

单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。

89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。

当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。

单片机系统的复位方式有:

手动按钮复位和上电复位。

4.2电源电路

在该系统中需要用到+5V的直流稳压电源,在我们的生活中一般都是使用220V的交流电,为了获得高质量的5V直流稳压电源,这就需要我们进行电压转化。

其转化图如图所示:

 

 

                 

 

图7电源电路方框图

这里的滤波是为了滤去外界电源输入带来的一些不稳定的因素,比如说纹波的影响,而用一个大电容和一个小电容的组合,是为了分别滤去低频或高频的纹波。

                  

7805系列集成稳压器,只有输入端、输出端和公共端三个引线端子,可输出1A以上的电流,有必要的保护电路,使用起来安全可靠。

它输出固定的正电压。

 

从变压器输出的交流电压经过整流、滤波后产生的不稳定直流电压,从稳压器的输入端输入,在稳压器的输出端就可得到稳定的直流电压输出。

正常工作时,稳压器输入、输出电压差为2~3V,电容用来实现频率补偿。

图中C1为0.1μ可以防止由于输入引线较长而带来的电感效应而产生的自激。

C2为0.1μ用来减少由于负载电流瞬时变化而引起的高频干扰。

C3为100μ的容量较大的电解电容,用来进一步减少输出脉动和低频干扰。

图8电源电路

4.5显示电路

LCD1602液晶显示模块可以和单片机AT89C51直接接口,电路如图所示。

图11显示电路

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

图121602型LCD管脚图

3.3V或5V的工作电压,对比度可调。

内含复位电路,可提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能。

有80字节显示数据存储器DDRAM,并建有192个5X7点阵的字型的字符发生器CGROM,有8个可由用户自定义的5X7的字符发生器CGRAM。

5软件设计

5.1系统总体设计

单片机按编入的程序运行,开始后对显示液晶的初始化及中断定时的初始化,为后续程序做好准备,初始化好后开始检测定时是否到达1秒,等到达1秒后便取出计数脉冲值,将脉冲值经算法运算后得出转速信息送到液晶模块显示,如此循环每隔1秒刷新一次转速显示。

系统总体流程图如图13所示。

图13系统总体流程图

5.2中断子程序设计

中断程序为下降沿触发,从IT0引脚传送到单片机,程序每来一次中断,表明有脉冲触发,计一次脉冲,不断的中断循环,来一个脉冲触发一次中断。

中断子程序设计流程图如图14。

图14中断子程序流程图

5.3定时子程序设计

定时函数为计时50ms的函数,定时器初始化完成后便开始计时,每一次计时为50ms,在定时程序中判断是否计时20次到达1秒,到达1秒后便计时完毕,由单片机相应其它子程序,由重新开始计时。

定时子程序设计流程图如图15所示。

图15定时子程序流程图

5.4显示子程序设计

显示程序初始化完毕后,等待由定时器的1秒计时完毕后,将中断函数产生的脉冲值计算后送到液晶显示部分显示,每隔1秒计时刷新一次显示,如此循环。

显示子程序设计流程图如图16所示。

图16显示子程序流程图

6测试方案

6.1软件调试

本程序较大,因此采用C程序语言编写。

采用自下而上的调试方法,先调试功能电路,再调试整个系统。

我们所使用的调试软件是51系列单片机开发软件KeilC51,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为μVision(通常称为μV2)。

Keil提供包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。

Keil能以单步执行、过程单步执行、全速执行等多种运行方式进行程序调试。

如果发现程序有错,可采用在线汇编功能对程序进行在线修改,不必执行先退出调试环境、修改源程序、对工程重新进行编译/汇编和连接、然后再次进入调试状态的步骤。

对于一些必须满足一定条件(如按键被按下等)才能被执行的、难以用单步执行方式进行调试的程序行,可采用断点设置的方法处理。

在模拟调试程序后,还须通过编程器将.hex目标文件烧写入单片机中才能观察目标样机真实的运行状况。

6.2测试过程

通电使电机转动起来,读出液晶显示屏上的转速n1并记录下来,同时与标准值转速n进行比较,反复测量几次,计算出各次测量的误差。

分析误差产生的原因,改进产生误差的元器件或各模块方案。

然后同前面的方法测量记录。

7总结

基于单片机的的转速测量系统,可以提高转速的测量精确度,并且加快了采样的速率,具有较好的实时性。

并且具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰性能好的特点。

在设计的信号处理电路中经过滤波,能够进一步减少误差,使测速精度得到提高。

本文介绍的测转速方法可适用于高低转速的测量,测量精确度与转速无关,因而具有较宽的应用范围和广阔的应用前景。

通过此次设计,我们组员深深感到学好控制电路的重要性。

这一次设计对我们来说,感触最深的就是要想做好一个设计课题首先要对每一部分所涉及的知识点掌握好,只有这样才能对设计做的得心应手。

在整个设计的过程中我们学到了做任何事情所要有的态度和心态。

做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决。

在做事情的过程中要有耐心和毅力,只要坚持下去就可以找到思路去解决问题的。

8参考文献

[1]张毅坤.陈善久,裘雪红.单片微型计算机原理及应用.西安电子科技大学出版社

[2]秦曾煌.电工学.高等教育出版社

[3]何立民.单片机应用技术选编.北京航空航天大学出版社

[4]刘笃仁.传感器原理及应用技术.西安电子科技大学出版社

[5]谭浩强.C程序设计(第二版).清华大学出版社

[6]童诗白.模拟电子技术基础.高等教育出版社

[7]孙桂荣.电机转速测量实验.实验室科学

[8]马忠梅.单片机的C语言应用程序设计.北京航空航天大学出版社

[9]周润景.PROTEUS入门实用教程.机械工业出版社

9附录

附录一电路仿真图

 

附录二程序清单

#include

#include

unsignedcharcodecdis1[]=

{

"SPEED:

"

};

unsignedcharcodecdis2[]=

{

"r/min"

};

sbitLCD_RS=P2^5;

sbitLCD_RW=P2^6;

sbitLCD_EN=P2^7;

bitsec=0;

unsignedcharmsec=0,Hdata=0,Ldata=0,Count=0;

unsignedlongtemp=0;

unsignedchardatadisplay[]=

{

0x00,0x00,0x00,0x00,0x00

};

charcodereserve[3]_at_0x3b;//保留0x3b开始的3个字节

/*********************************************************

us延时函数

*********************************************************/

voiddelayNOP()

{

_nop_();

_nop_();

_nop_();

_nop_();

}

/*********************************************************

ms延时函数

*********************************************************/

voiddelayms(unsignedintms)

{

unsignedcharn;

while(ms--)

{

for(n=0;n<114;n++)

;

}

}

/**********************************************************

**

*检查LCD忙状态*

*lcd_busy为1时,忙,等待。

*

*lcd-busy为0时,闲,可写指令与数据。

*

**

**********************************************************/

bitlcd_busy()

{

bitresult;

LCD_RS=0;

LCD_RW=1;

LCD_EN=1;

delayNOP();

result=(bit)(P3&0x80);

LCD_EN=0;

return(result);

}

/**********************************************************

**

*写指令数据到LCD*

*RS=L,RW=L,E=高脉冲,D0-D7=指令码。

*

**

**********************************************************/

voidlcd_wcmd(unsignedcharcmd)

{

while(lcd_busy())

;

LCD_RS=0;

LCD_RW=0;

LCD_EN=1;

P3=cmd;

delayNOP();

LCD_EN=0;

}

/**********************************************************

**

*写显示数据到LCD*

*RS=H,RW=L,E=高脉冲,D0-D7=数据。

*

**

**********************************************************/

voidlcd_wdat(unsignedchardat)

{

while(lcd_busy())

;

LCD_RS=1;

LCD_RW=0;

LCD_EN=1;

P3=dat;

delayNOP();

LCD_EN=0;

}

/**********************************************************

**

*LCD初始化设定*

**

**********************************************************/

voidlcd_init()

{

delayms(15);

lcd_wcmd(0x38);//16*2显示,5*7点阵,8位数据

delayms(5);

lcd_wcmd(0x38);

delayms(5);

lcd_wcmd(0x38);

delayms(5);

lcd_wcmd(0x0c);//开显示,不显示光标

delayms(5);

lcd_wcmd(0x06);//

delayms(5);

lcd_wcmd(0x01);//清除LCD的显示内容

delayms(5);

}

/**********************************************************

**

*设定显示位置*

**

**********************************************************/

voidlcd_pos(unsignedcharpos)

{

lcd_wcmd(pos|0x80);//数据指针=80+地址变量

}

/**********************************************************

**

*显示函数*

**

**********************************************************/

voidplay()

{

unsignedcharn;

for(n=0;n<=3;n++)

//数据转换

{

display[n]=temp%10+0x30;

temp=temp/10;

}

display[4]=temp+0x30;

for(n=4;n>0;n--)

//高位为"0"不显示

{

if(display[n]==0x30)

dis

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

当前位置:首页 > 工程科技 > 能源化工

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

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