基于单片机的转速测量系统.docx

上传人:b****5 文档编号:28002497 上传时间:2023-07-07 格式:DOCX 页数:40 大小:249.17KB
下载 相关 举报
基于单片机的转速测量系统.docx_第1页
第1页 / 共40页
基于单片机的转速测量系统.docx_第2页
第2页 / 共40页
基于单片机的转速测量系统.docx_第3页
第3页 / 共40页
基于单片机的转速测量系统.docx_第4页
第4页 / 共40页
基于单片机的转速测量系统.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

基于单片机的转速测量系统.docx

《基于单片机的转速测量系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的转速测量系统.docx(40页珍藏版)》请在冰豆网上搜索。

基于单片机的转速测量系统.docx

基于单片机的转速测量系统

目录

摘要1

1.前言3

1.1数字式转速测量系统的发展背景3

1.2本设计课题的目的和意义3

2.转速测量系统的原理4

2.1转速测量方法4

2.2转速测量原理5

3.系统方案的实现6

4系统硬件设计7

4.1转速信号采集7

4.2转速信号处理电路设计9

4.3单片机AT89C51介绍10

4.4最小系统的设计13

4.4.1复位电路(图4.8):

13

4.4.2晶振电路16

4.4.3最小系统的仿真16

4.5显示部分设计18

5.1主程序初始化22

5.2主程序流程图程序流程图23

总结25

致谢26

附录A系统总电路图28

附录B系统总程序清单29

 

摘要

介绍了一种基于AT89C51单片机平台,采用光电传感器实施电机转速测量的方法,硬件系统包括脉冲信号产生、脉冲信号处理和显示模块,并采用C语言编程,结果表明该方法具有简单、精度高、稳定性好的优点。

介绍了该测速法的基本原理、实现步骤和软硬件设计。

【关键词】转速测量;单片机;光电传感器;电机;脉冲。

IntroducesakindofbasedonAT89C51platform,adoptingphotoelectricsensormeasurementmethodforimplementingthemotorspeed,hardwaresystemsincludingthepulsesignalgeneration,pulsesignalprocessinganddisplaymodule,andusingClanguageprogram,andtheresultsshowthatthemethodissimple,highprecision,stabilitygoodpoints.Introducesthebasicprincipleofspeedmethod,implementationstepsandhardwareandsoftwaredesign.

Keywords:

Speedmeasurement;microcontroller;Photoelectricsensor;motor;pulse

 

1.前言

1.1数字式转速测量系统的发展背景

目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。

计数测速法又可分为机械式定时计数法和电子式定时计数法。

传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式(对高频振荡进行幅值调制或频率调制)等,还有一些特殊的测速器是利用置于旋转体内的放射性材料来发生脉冲信号.其中应用最广的是光电式,光电式测系统具有低惯性、低噪声、高分辨率和高精度的优点.加之激光光源、光栅、光学码盘、CCD器件、光导纤维等的相继出现和成功应用,使得光电传感器在检测和控制领域得到了广泛的应用。

而采用光电传感器的电机转速测量系统测量准确度高、采样速度快、测量范围宽和测量精度与被测转速无关等优点,具有广阔的应用前景。

1.2本设计课题的目的和意义在工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。

要测速,首先要解决是采样问题。

在使用模技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。

为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。

因此转速的测试具有重要的意义。

这次设计内容包含知识全面,对传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。

全面了解单片机和信号放大的具体内容。

进一步锻炼我们在信号采集,处理,显示发面的实际工作能力。

2.转速测量系统的原理

2.1转速测量方法

转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。

按照不同的理论方法,先后产生过模拟测速法(如离心式转速表)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。

计数测速法又可分为机械式定时计数法和电子式定时计数法。

本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。

对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。

在频率的工程测量中,电子式定时计数测量频率的方法一般有三种:

①测频率法:

在一定时间间隔t内,计数被测信号的重复变化次数N,则被测信号的频率fx可表示为

fx=Nt

(1)

②测周期法:

在被测信号的一个周期内,计数时钟脉冲数m0,则被测信号频率fx=fc/m0,其中,fc为时钟脉冲信号频率。

③多周期测频法:

在被测信号m1个周期内,计数时钟脉冲数m2,从而得到被测信号频率fx,则fx可以表示为fx=m1fcm2,m1由测量准确度确定。

电子式定时计数法测量频率时,其测量准确度主要由两项误差来决定:

一项是时基误差;另一项是量化±1误差。

当时基误差小于量化±1误差一个或两个数量级时,这时测量准确度主要由量化±1误差来确定。

对于测频率法,测量相对误差为:

Er1=测量误差值实际测量值×100%=1N×100%

(2)

由此可见,被测信号频率越高,N越大,Er1就越小,所以测频率法适用于高频信号(高转速信号)的测量。

对于测周期法,测量相对误差为:

Er2=测量误差值实际测量值×100%=1m0×100%(3)

对于给定的时钟脉冲fc,当被测信号频率越低时,m0越大,Er2就越小,所以测周期法适用于低频信号(低转速信号)的测量。

对于多周期测频法,测量相对误差为:

Er3=测量误差值实际测量值100%=1m2×100%(4)

从上式可知,被测脉冲信号周期数m1越大,m2就越大,则测量精度就越高。

它适用于高、低频信号(高、低转速信号)的测量。

但随着精度和频率的提高,采样周期将大大延长,并且判断m1也要延长采样周期,不适合实时测量。

根据以上的讨论,考虑到实际应用中需要测量的转速范围很宽,上述的转速测量方法难以满足要求,因此,研究高精度的转速测量方法,以同时适用于高、低转速信号的测量,不仅具有重要的理论意义,也是实际生产中的需要。

2.2转速测量原理

一般的转速长期测量系统是预先在轴上安装一个有60齿的测速齿盘,用变磁阻式或电涡流式传感器获得一转60倍转速脉冲,再用测频的办法实现转速测量。

而临时性转速测量系统,多采用光电传感器,从转轴上预先粘贴的一个标志上获得一转一个转速脉冲,随后利用电子倍频器和测频方法实现转速测量。

不论长期或临时转速测量,都可以在微处理器的参与下,通过测量转轴上预留的一转一齿的鉴相信号或光电信号的周期,换算出转轴的频率或转速。

即通过速度传感器,将转速信号变为电脉冲,利用微机在单位时间内对脉冲进行计数,再经过软件计算获得转速数据。

即:

n=N/(mT)

(1)

◆n———转速、单位:

转/分钟;

◆N———采样时间内所计脉冲个数;

◆T———采样时间、单位:

分钟;

◆m———每旋转一周所产生的脉冲个数(通常指测速码盘的齿数)。

如果m=60,那么1秒钟内脉冲个数N就是转速n,即:

n=N/(mT)=N/60×1/60=N

(2)

◆通常m为60。

在对转速波动较快系统或要求动态特性好而精度高的转速测控系统中,调节周期一般很短,相应的采样周期需取得很小,使得脉冲当量增高,从而导致整个系统测量精度降低,难以满足测控要求。

提高采样速率通常就要减小采样时间T,而T的减小会使采到的脉冲数值N下降,导致脉冲当量(每个脉冲所代表的转速)增高,从而使得测量精度变得粗糙。

通过增加测速码盘的齿数可以提高精度,但是码盘齿数的增加会受到加工工艺的限制,同时会使转速测量脉冲的频率增高,频率的提升又会受到传感器中光电器或磁敏器或磁电器件最高工作频率的限制。

凡此种种因素限制了常规智能转速测量方法的使用范围。

而采用本文所提出的定时分时双频率采样法,可在保证采样精度的同时,提高采样速率,充分发挥微机智能测速方法的优越性及灵活性。

图2.1系统原理图

各部分模块的功能:

①传感器:

用来对信号的采样。

②放大、整形电路:

对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处理转换。

③单片机:

对处理过的信号进行转换成转速的实际值,送入LED

④LED显示:

用来对所测量到的转速进行显示。

3.系统方案的实现

整个测量系统的组成框图如图3.1所示。

从图中可见,转子由一直流调速电机驱动,可实现大转速范围内的无级调速。

转速信号由光电传感器拾取,使用时应先在转子上做好光电标记,具体办法可以是:

将转子表面擦干净后用黑漆(或黑色胶布)全部涂黑,再将一块反光材料贴在其上作为光电标记,然后将光电传感器(光电头)固定在正对光电标记的某一适当距离处。

光电头采用低功耗高亮度LED,光源为高可靠性可见红光,无论黑夜还是白天,或是背景光强有大范围改变都不影响接收效果。

光电头包含有前置电路,输出0—5V的脉冲信号。

接到单片机89C51的相应管脚上,通过89C51内部定时/计时器T0、T1及相应的程序设计,组成一个数字式转速测量系统。

图3.1测量系统的组成框图

优点:

这种方案使用光电转速传感器具有采样精确,采样速度快,范围广的特点。

4系统硬件设计

4.1转速信号采集

在设计中采用光电传感器采集信号,这种传感器是把旋转轴的转速变为相应频率的脉冲,然后用测量电路测出频率,由频率值就可知道所侧转素值。

这种测量方法具有传感器结构简单、可靠、测量精度高的特点。

是目前常用的一种测量转速的方法。

从光源发出的光通过测速齿盘上的齿槽照射到光电元件上,使光电元件感光。

测速齿盘上有30个齿槽,当测速齿槽旋转一周,光敏元件就能感受与开孔数相等次数的光次数。

对于被测电机的转速在90—1700r/min的来说,每转一周产生30个电脉冲信号,因此,传感器输出波形的频率的大小为:

45Hz≤f≤850Hz

(1)

测速齿盘装在发射光源(红外线发光二极管)与接收光源的装置(红外线接收二极管)之间,红外线发光二极管(规格IR3401)负责发出光信号,红外线接收三极管(规格3DU12)负责接收发出的光信号,产生电信号,每转过一个齿,光的明暗变化经历了一个正弦周期,即产生了正弦脉冲电信号。

图4.1所示为转速传感器电路,由于红外光不可见,无法用肉眼识别发光信号是否在工作,故将红外线的输出回路串接了一个普通光电二极管作为判别光源发生回路是否为通路。

所选用的红外二极管IR3401,在正向工作电流为20mA时,其导通电压为1.2—1.5V,所选用的发光二极管的正向压降一般为1.5—2.0V,电流为10--20Ma。

计算得:

Rmin=425Ω;Rmax=465Ω。

设定中所选阻值为430Ω(Rmin≤R≤Rmax)。

转速传感器输出电压幅度在0—1.6mV呈正弦波变化,由此可见,红外线接收三极管的光信号转化为电信号的电压Uo很微弱(一般为mV量级),需要进行信号处理.

图4.1转速传感器电路图

(1)光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。

以透射式为例,如图4.1所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。

为此,可以制作一个遮光叶片如图4.2所示,安装在转轴上,当扇叶经过时,产生脉冲信号。

当叶片数较多时,旋转一周可以获得多个脉冲信号。

图4.2光电传感器的原理图图4.3遮光叶片

(2)选用的传感器型号为SZGB-3(单向)

SZGB-3型传感器特点介绍如下:

1)供单向计数器使用,测量转速和线速度.

2)采用密封结构性能稳定.

3)光源用红外发光管,功耗小,寿命长.

4)SZGB-3,20电源电压为12VDC

SZGB-3型传感器主要性能介绍如下:

SZGB-3.型光电转速传感器,使用时通过连轴节与被测转轴连接,当转轴旋转时,将转角位移转换成电脉冲信号,供二次仪表计数使用。

1)输出脉冲数:

60脉冲(每一转)2)输出信号幅值:

50r/min时300mV3)测速范围:

50---5000r/min

4)使用时间:

可连续使用,使用中勿需加润滑油5)工作环境:

温度-10~40℃,相对湿度≤85%无腐蚀性气体

4.2转速信号处理电路设计

转速信号处理电路包括信号放大电路、整形及三极管整形电路。

由于产生的电压信号很小,所以要进行放大处理,一般要放大至少1000倍(≥60dB),然后在进行信号处理工作。

信号放大装置选用运算放大器TL084作为放大电压放大元件,采用两级放大电路,每一级都采用反响比例运算电路如图4.4.设计的电压放大倍数为3000倍。

其中第一级放大倍数为30,第二级放大倍数为100.放大后电压变化范围为0~4.8V。

TL084采用12V双电源供电,由于电源的供电电压在一定范围内有副值上的波动,形成干扰信号。

为起到消除干扰,实现滤波作用,故供电电源两端需接10UF的电容接地,电容选择金属化聚丙已烯膜电容。

两级运放放大所采用的供电电源均采用此接法。

图4.4信号处理电路图

整形电路的主要作用是将正弦波信号转化为方波脉冲信号,正弦波信号电压的最大幅值约为4.8V,最小幅值为0V。

整形电路设计的是一种滞回电压比较器,它具有惯性,起到抗干扰的作用。

从而向输入端输入的滞回比较器。

在整形电路的输入端接一个电容C7(103),起到的作用是阻止其他信号的干扰,并且将放大的信号进行滤波,解耦。

R11和R17是防止电路短路,起到保护电路的作用。

一次整形后的信号基本上为±5V的电平的脉冲信号,在脉冲计数时,常用的是+5V的脉冲信号。

如果直接采用-5V的脉冲计数,会增加电路的复杂性,故一般不直接使用,而是先进行二次整形。

第二次用三极管整形电路,当输出为-5V的信号时,三极管VT2(8050)的基-射极和电阻R18组成并联电路电流经过R18.R17,三极管VT2处于反向偏置状态,所以,VT2的集-射极未接通,故处于截止状态。

电源回路由R19,三极管VT2的集-射极组成,采用单电源+12V供电,由于集射极截止,处于断路状态,故输出电压U0为V。

当第一次整形输出为+5V的信号时,三极管VT2基-射极处于正向偏置状态,有电流I通过,故此时三极管的集-射极处于通路状态。

电源电流流经电阻R19,三极管的集-射极到地端,由于集-射极导通时的电阻很小,可以忽略不计。

电源电压主要在R19上,其输出电压约为0V。

综上所述,三极管整形的电路的输入关系是:

信号为-5V时,U0=+12V;信号为+5V时,U0=0V。

4.3单片机AT89C51介绍

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

    它有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚。

在40个管脚中,其中有32个脚可用于各种控制,比如控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”。

AT89C51单片机的功能:

1.主要特性:

◆与MCS-51兼容

◆4K字节可编程闪烁存储器

◆寿命:

1000写/擦循环

◆数据保留时间:

10年

◆全静态工作:

0Hz-24Hz

◆三级程序存储器锁定

◆128*8位内部RAM

◆32可编程I/O线

◆两个16位定时器/计数器

◆5个中断源

◆可编程串行通道

◆低功耗的闲置和掉电模式

◆片内振荡器和时钟电路

2.管脚说明(图4.7):

图4.7AT89C51管脚分布

●VCC:

供电电压,

●GND:

接地。

●P0口:

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

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

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

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

●P1口:

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

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

在FLASH编程和校验时,P1口作为第八位地址接收。

●P2口:

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

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

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

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

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

●P3口:

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

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

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

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

P3口管脚备选功能:

●P3.0RXD(串行输入口)

●P3.1TXD(串行输出口)

●P3.2/INT0(外部中断0)

●P3.3/INT1(外部中断1)

●P3.4T0(记时器0外部输入)

●P3.5T1(记时器1外部输入)

●P3.6/WR(外部数据存储器写选通)

●P3.7/RD(外部数据存储器读选通)

●P3口同时为闪烁编程和编程校验接收一些控制信号。

● RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

●ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

●PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

 ●EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

●XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

●XTAL2:

来自反向振荡器的输出。

3.振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

4.芯片擦除:

 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

4.4最小系统的设计

4.4.1复位电路(图4.8):

MCS-51 单片机复位电路是指单片机的初始化操作。

单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。

因而,复位是一个很重要的操作方式。

但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。

图4.8复位电路

①复位功能:

 复位电路的基本功能是:

系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。

为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。

单片机的复位是由外部的复位电路来实现的。

片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。

复位电路通常采用上电自动复位(如图4.9(a))和按钮复位(如图4.9(b))两种方式。

图4.9RC复位电路

②单片机复位后的状态:

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。

单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表1。

值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。

说明:

表4-1中符号*为随机状态:

表4-1寄存器复位后状态表

特殊功能寄存器

初始状态

特殊功能寄存器

初始状态

A

B

PSW

00H

00H

00H

TMOD

TCON

TH0

00H

00H

00H

SP

DPL

DPH

P0—P3

IP

IE

07H

00H

00H

FFH

***00000B

0**00000B

TL0

TH1

TL1

SBUF

SCON

PCON

00H

00H

00H

不定

00H

0********B

PSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM07H字节单元,根

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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