基于单片机的转速测量系统.docx
《基于单片机的转速测量系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的转速测量系统.docx(31页珍藏版)》请在冰点文库上搜索。
基于单片机的转速测量系统
摘要
本论文介绍了一种基于AT89C51单片机平台,采用光电传感器进行电机转速测量的方法,介绍了该测速法的基本原理、实现步骤和软硬件设计。
为了设计简单可靠的直流电机测速装置,提出了基于单片机为核心的电机转速测量系统。
整个系统的构架包括转速信号的采集,光电转换及信号处理电路设计,整形驱动电路设计,复位电路设计,晶振电路设计,LED显示电路设计。
整形放大电路主要是将传感器输出的不稳定的电信号转化成脉冲信号;转速的计算利用单片机AT89C51的定时器和计数器。
根据系统编写源程序,并通过运行试验证明。
该系统结构简单,测量结果稳定可靠,满足电机的测速要求。
关键词:
转速测量;单片机;光电传感器;电机
Abstract
ThispaperintroducesaplatformbasedonAT89C51,adoptthemethodofphotoelectricsensortoimplementmotorspeedmeasurement,introducesthebasicprincipleofthespeedmeasuringmethod,implementationstepsandthehardwareandsoftwaredesign.Inordertodesignasimpleandreliabledevicefordcmotorspeedestimation,motorspeedmeasurementsystembasedonsinglechipmicrocomputerasthecoreisputforward.Thearchitectureofthewholesystemincludingthespeedsignalacquisition,rotationspeedsignalprocessing,speedcalculationanddisplay.Plasticamplifyingcircuitismainlythesensoroutputwithoutsidenoiseoftheunstablesignalintopulsesignal;RotationalspeedofthecalculationofAT89C51single-chiptimerandcounter.Writethesourceprogramaccordingtothesystem,andbyrunningtheexperimentprovedthatthesystemhassimplestructure,stableandreliablemeasurementresults,satisfytherequirementofthemotorspeed.
Keywords:
Speedmeasurement;Singlechipmicrocomputer;Photoelectricsensor;Themotor
目录
1概述1
1.1数字化转速测量系统的发展背景1
1.2本设计课题的目的和意义1
2转速测量系统的原理与方法2
2.1转速测量原理2
2.2转速测量方法2
3系统方案提出和论证4
3.1方案设计4
3.2系统原理4
4系统硬件设计5
4.1转速信号采集6
4.2光电转换及信号处理电路设计7
4.2.1整形驱动电路设计8
4.3单片机AT89C51介绍8
4.4最小系统的设计10
4.4.1复位电路设计10
4.4.2晶振电路设计12
4.5显示部分电路设计13
5系统软件设计15
5.1主程序初始化15
5.2主程序流程图子程序流程图15
5.3系统总程序16
总结20
参考文献21
致谢22
1概述
1.1数字化转速测量系统的发展背景
目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。
计数测速法又可分为机械式定时计数法和电子式定时计数法。
传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式(对高频振荡进行幅值调制或频率调制)等,数字化测速法具有测速精度高,分辨能力强,受器件影响小的优点,被广泛应用于调速要求高,调速范围大的调速系统。
其中应用最广的是光电式测速系统,它具有低惯性、低噪声、高分辨率和高精度的优点,使得光电传感器在检测和控制领域得到了广泛的应用。
而光电传感器的电机转速测量系统则有准确度高、采样速度快、测量范围宽和测量精度与被测转速无关等优点,具有广阔的应用前景。
1.2本设计课题的目的和意义
在工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要分时或连续测量和显示其转速及瞬时转速。
要测速,首先要解决是采样问题。
在使用模技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。
为了能精确地测量转速外,还要保证测量的实时性,要求能测得瞬时转速方法。
因此转速的测试具有重要的意义【1】。
论文设计以单片机为中心,设计出全数字化测量转速系统,采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率,在工业控制和民用电器中都有较高使用价值。
其可以应用于工业控制中的某一部分,如数控车床的电机转速检测和控制、水泵流量控制以及需要利用转速检测来进行控制的许多场合。
如车辆的里程表、车速表等。
其次该转速测量系统由于采用全数字化结构,因而可以很方便的和工业控制计算机进行连接,实行远程管理和控制,进一步提高现代化水平。
并且,几乎不需做很大改变直接就能作为单独的使用产品。
总之,转速测量系统的研究是一件非常有意义的课题【2】。
这次设计内容包含知识全面,对光电传感器测量发电机转速的不同的方法及原理设计有较多介绍,在测量系统中能学到关于测量转速的传感器采样问题,单片机部分的内容,显示部分等各个模块的通信和联调。
全面了解单片机和信号放大的知识,进一步锻炼了在信号采集,处理,显示方面的实际工作能力。
2转速测量系统的原理与方法
2.1转速测量原理
转速是指作圆周运动的物体在单位时间内所转过的圈数,其大小及变化往往意味着机器设备运转的正常与否,因此,转速测量一直是工业领域的一个重要问题。
按照不同的理论方法,先后产生过模拟测速法(如离心式转速表)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法【3】。
计数测速法又可分为机械式定时计数法和电子式定时计数法。
本文介绍的采用单片机和光电传感器组成的高精度转速测量系统,其转速测量方法采用的就是电子式定时计数法。
采用数字测速法进行转速测量,其测量原理是:
在固定的时间内,记录光电传感器发生的脉冲信号数量,从而转换为实际转速。
设固定的测量时间为
(min),计数记录的脉冲个数为m,假设脉冲发生器每转输出q个脉冲,对应被测转速为n(r/min),则频率
Hz;在测量时间
内,记录光电传感器输出的脉冲个数m=
.所以,只要我们测得m值,就可得出实际转速值。
2.2转速测量方法
按转速测量原理可分为三类转速测量方法:
1.在一定的时间T内测取旋转编码器输出的脉冲个数,用以计算这段时间内的转速,称为“M”法测速,又称为频率法。
M法测速的分辨率与实际转速的大小无关【4】。
在时间T内,转轴转过的弧度数为X
,则的转速n可由下式表示:
(2-1)
转轴转过的弧度数X
可用下式所示:
(2-2)
将(2-1)式代入(2-2)式,得转速n的表达式为:
(2-3)
-转速单位;(转/分)
-定时时间单位;(秒)
2.“T”法测速是测出旋转编码器两个输出脉冲之间的间隔时间来计算转速,又被称为周期法测速。
“T”法一般用于低速测量,速度越低测量精度越高,但在测量高转速时,误差较大。
T法测速同样也是用计数器实现的。
与M法测速不同的是,它所计的是计算机发出的高频时钟脉冲的个数,以旋转编码器输出的相邻两个脉冲的同样变化沿作为计数器的其实点和终止点【5】。
T法测速的分辨率与转速高低有关,转速越低,分辨能力越强。
定时器对时基脉冲(频率为
)进行计数定时,在TP内计数值若为m2,则计算公式为:
(2-4)
即:
(2-5)
-为转轴转一周脉冲发生器产生的脉冲数。
-为硬件产生的基准时钟脉冲频率单位Hz。
-转速单位;(转/分)。
-时基脉冲。
3.“M/T”法,结合上述这两种方法的优点,一方面象“M”法那样在对光电传感器发出的脉冲计数的同时,也象“T”法那样计取脉冲的时间,通过计算即可得出转速值。
在实际测量中,还须设定定时时间,兼顾高、低转速时的精度影响,适时调节采样时间,它的关键是计数同步开始和关闭【6】。
实际的检测时间与旋转编码器的输出脉冲一致,能有效减小测速误差。
设高频脉冲的频率为
,脉冲发生器每转发出P个脉冲,由式(2-2)和(2-5)可得“M/T”法转速计算公式为:
(2-6)
-转速值。
单位;(转/分)。
-晶体震荡频率。
单位Hz。
-输入脉冲数,反映转角。
-时基脉冲数。
3系统方案提出和论证
转速测量的方案选择,一般要考虑传感器的结构、安装以及测速范围与环境条件等方面的适用性;再就是二次仪表的要求,除了显示以外还有控制、通讯和远传方面的要求【7】。
由于光电传感器具有频谱宽、不易受电磁干扰的影响、非接触式测量、响应快、可靠性高等优点。
随着激光、光纤、CCD技术的发展,光电式传感器在自动检测、计算机和控制系统中得到了广泛的应用。
经过我查资料、构思和自己的设计,通过分析,从实现难度、熟悉程度、器件用量等方面综合考虑,最终选择了下面方案【8】。
3.1方案设计
光电式传感器是将被测量的转速转换成光信号,再通过光电器件把光信号转换成电信号的一种传感器。
图3.1为光电传感器的原理框图,它一般由光源,光学通路,光电器件三部分组成【9】。
转速作用于光源或者光学通路,从而引起光量的变化。
光量光量电量电量输出
转速转速
图3.1光电传感器的原理框图
3.2系统原理
下图为转速测量系统的原理图。
信号接收信号处理转速显示
图3.2系统原理图
各部分模块的功能:
①传感器:
采集转速信号
②放大、整形电路:
对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处理转换。
③单片机:
对放大整形的信号转换成转速信号,送入LED
④LED显示:
显示转速测量实际值
4系统硬件设计
随着超大规模集成电路技术提高,尤其是单片机应用技术以及功能强大,价格低廉的显著特点,使全数字化测量转度系统得一广泛应用【10】。
出于单片机在测量转速方面具有体积小、性能强、成本低的特点,越来越受到企业用户的青睐。
所以我要对测量转速系统的硬件和编程进行研究,设计出一种以单片机为主的转速测量系统,保证了测量精度【11】。
4.1转速信号采集
在设计中采用光电传感器采集信号,这种传感器是把旋转轴的转速变为相应频率的脉冲,然后用测量电路测出频率,由频率值就可知道所侧转速值。
这种测量方法具有简单、可靠、测量精度高的特点【12】。
是目前常用的一种测量转速的方法。
图4.1所示为转速测量传感器电路,由于红外光不可见,无法用肉眼识别发光信号是否在工作,故将红外线的输出回路串接了一个普通光电二极管作为判别光源发生回路是否为通路。
所选用的红外二极管IR3401,在正向工作电流为20mA时,其导通电压为1.2—1.5V,所选用的发光二极管的正向压降一般为1.5—2.0V,电流为10--20Ma。
转速传感器输出电压幅度在0—1.6mV呈正弦波变化,由此可见,红外线接收三极管的光信号转化为电信号的电压
很微弱(一般为
量级),需要进行信号处理。
图4.1转速测量传感器电路图
如图4.1所示,它的工作原理:
从光源发出的光通过测速齿盘上的齿槽照射到光电元件上,使光电元件感光。
测速齿盘上有30个齿槽,当测速齿槽旋转一周,光敏元件就能感受与开孔数相等次数的光次数【13】。
测速齿盘装在发射光源(红外线发光二极管)与接收光源的装置(红外线接收二极管)之间,红外线发光二极管(规格IR3401)负责发出光信号,红外线接收三极管(规格3DU12)负责接收发出的光信号,产生电信号,每转过一个齿,光的明暗变化经历了一个正弦周期,即产生了正弦脉冲电信号。
图4.2光电传感器的原理图
如图4.2所示这是光电传感器的原理图,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断【14】。
在这里我们选择的传感器型号为SZGB-3(单向)。
光电传感器的特点和主要性能介绍:
特点:
1)供单向计数器使用,测量转速和线速度.
2)采用密封结构性能稳定.
3)光源用红外发光管,功耗小,寿命长.
4)SZGB-3,20电源电压为12VDC
性能:
SZGB-3.型光电转速传感器,使用时通过连轴节与被测转轴连接,当转轴旋转时,将转角位移转换成电脉冲信号,供二次仪表计数使用。
1)输出脉冲数:
60脉冲(每一转)
2)输出信号幅值:
50r/min时300mV
3)测速范围:
50---5000r/min
4)使用时间:
可连续使用,使用中勿需加润滑油
5)工作环境:
温度-10~40℃,相对湿度≤85%无腐蚀性气体
4.2光电转换及信号处理电路设计
传感器将电机的转速信号转变成了电脉冲信号,该信号经过LM324集成运放整形驱动电路,送到单片机进行脉冲计数,从而测出电动机转速。
光电转换部分与单片机的连接框图如图4.3所示
图4.3光电转换部分与单片机的连接框图
4.2.1整形驱动电路设计
本设计计划采用高性能集成四运放LM324来进行光电信号调理电路设计。
高性能集成四运放LM324具有电源电压范围宽,静态功耗小,可单电源使用,价格低廉等优点。
电路采用两级放大电路对脉冲信号进行放大,防止信号脉冲太小以至对实验结果不产生影响。
每一组运算放大器可用图4.4所示的符号来表示,LM324是四运放集成电路,它采用14脚双列直插塑料封装,外形如图所示。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。
每一组运算放大器可用图3.3所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。
LM324的引脚排列见图:
图4.4放大器图图4.5引脚图
4.3单片机AT89C51介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM)的低电压,高性能CMOS8位微处理器,俗称单片机。
它有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚……第40脚。
在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”。
1.主要特性:
◆与MCS-51兼容
◆4K字节可编程闪烁存储器
◆寿命:
1000写/擦循环
◆数据保留时间:
10年
◆全静态工作:
0Hz-24Hz
◆内部程序存储器
◆128*8位内部数据存储器
◆4个8位并行I/O口
◆两个16位定时器/计数器
◆5个中断源
◆全双工串行口
◆片内振荡器和时钟电路
2.管脚说明:
●VCC:
供电电压,
●GND:
接地。
●输入/输出口线:
P0.0~P0.7P0口8位双向口线
P1.0~P1.7P1口8位双向口线
P2.0~P2.7P2口8位双向口线
P3.0~P3.7P3口8位双向口线
●RST:
复位信号
●ALE/PROG:
地址锁存控制信号。
●PSEN:
外部程序读选通信号。
●EA/VPP:
访问程序存储器控制信号。
●XTAL1,XTAL2:
外接晶体输入输出引线端。
3.振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
4.芯片擦除:
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
并且单片机是整个测量系统的主要部分,担负对前端脉冲信号的处理、计算、以及信号的同步,计时等任务,其次,将测量的数据经计算后,将得到的转速值传送到显示接口中,用数码管显示数值。
4.4最小系统的设计
在最小系统的设计中,将整形电路与单片机控制电路相连接,并且在光电传感器的作用下进行最小系统的模拟。
图4.6最小系统图
4.4.1复位电路设计
AT89C51 单片机复位电路是指单片机的初始化操作。
单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。
因而,复位是一个很重要的操作方式。
但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。
图4.7复位电路
复位电路用于产生复位信号,通过RST引脚送入单片机,进行复位操作。
复位电路的好坏直接影响单片机系统工作的可靠性,因此,本次设计要重视复位电路的设计与研究。
AT89C51复位电路共有四种类型,分别是:
积分电路型,微分电路型,比较器型和看门狗型。
最常用的积分型和微分型的作用是前者用于产生低电平复位信号,后者用于产生高电平复位信号。
AT89C51单片机的基本复位电路有上电复位,按键电平复位和按键脉冲复位3种。
单片机的复位是由外部的复位电路来实现的。
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表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
注:
表4-1中符号*为随机状态
4.4.2晶振电路设计
图4.8晶振电路
晶振(图4.10)是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
AT89C51芯片中的高增益反向放大器,输入端为引脚XTAL1,输出端为引脚XTAL2。
4.5显示部分电路设计
显示部分应用LED数码管进行显示,LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。
再把多个这样的8字装在一起就成了多位的数码管了。
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出本次设计所测量的转速,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
由于动态显示驱动是单片机中应用最为广泛的一种显示方式之一,并且动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。
所以我们选择应用动态显示驱动【15】。
如图(4.11)所示为动态显示驱动仿真图。
图4.9动态驱动仿真
动态显示程序:
#include
#defineucharunsignedchar
#defineuintunsignedint
uintmm=1234;//显示1234//
ucharjj;
ucharcodetable[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
delay(uintm)
{uinti,j;
for(i=m;i>0;i--)
for(j=110;j>0;j--);
}
xian_shi()
{ucharqian,bei,shi,ge;
qian=mm/1000;
bei=mm%1000/100;
shi=mm%100/10;
ge=mm%10;
P2=0x80;
P0=table[qian];
delay(50);
P2=0;
P2=0x40;
P0=table[bei];
delay(50);
P2=0;
P2=0x20;
P0=table[shi];
delay(50);
P2=0;
P2=0x10;
P0=table[ge];
delay(50);
P2=0;
}
5系统软件设计
5.1主程序初始化
(1).定时器的初始化
AT89C51有两个定时器/计数器T0和T1,每个定时器/计数器均可设置成为16位,也可以设置成为13位进行定时或计数。
计数器的功能是对T0或T1外来脉冲的进行计数,外部输入脉冲负跳变时,计数器进行加1。
定时器有4种工作方式:
方式0、方式2、方式2和方式3
。
(2)中断允许控制
AT89C51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE的各位来控制的。
该寄存器地址为A8H,位地址为AFH~A8H,可以进行位寻址。
ET0(ET1)=0,禁止定时器中断;ET0(ET1)=1,允许定时器中断。
EX0(EX1)=0,禁止外中断;EX0(EX1)=1,允许外中断。
5.2主程序流程图子程序流程图
主程序流程图
图5.1主程序流程图
显示子程序流程图
图5.2显示子程序流程图
5.3系统总程序
#include
#defineuch