基于单片机的转速表设计
- 格式:doc
- 大小:359.50 KB
- 文档页数:24
课程结业论文基于单片机的转速表设计课程名称:电力拖动自动控制系统任课教师:李敏所在学院:信息技术学院专业:电气工程及其自动化班级:电气(2)班学生姓名:于鹏学号:20094073217中国·大庆2012 年 6 月摘要摘要随着现代科学技术的发展,计量技术相应地也得到迅速发展。
在这个领域中,数字仪表越来越现实它的优越性和生命力:精度高、速度快、便于记录、控制和传递,因而数字式仪表得到了广泛的应用。
在转速计量方面,数字转速表更是一种理想的测量仪器。
随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,以单片机为核心的数字转速表更是得到了广泛应用。
本文便是运用AT89S52单片机控制的数字式转速表。
电机在运行过程中,需要对其进行监控,转速是一个必不可少的参数。
数字式转速表就是对电机转速进行测量,并可以和PC机进行通信,显示电机的转速,并观察电机运行的基本情况。
本设计主要用AT89S52作为控制核心,由霍尔传感器,LED数码显示管,施密特触发器等构成。
充分发挥单片机的性能。
本文重点是数字转速表的硬件电路和软件设计。
本设计优点是电路较简单、功能完善、测量速度快、精度高、控制系统可靠,性价比较高等特点。
关键字:AT89S52转速表数字20AbstractAbstractWith the development of modern, measurement technology has been rapid development. In this area, the digital instrument is more realistic its superiority and vitality: high precision, fast, easy to record, easy to control and transmission, so the digital instrument has been used widely. In the measurement of motor speed, digital tachometer is an ideal measuring instruments.With the extensive application of micro-computer, especially the emergence of single-chip, high performance and low cost,making the digital tachometer has been widely applied as the microcontroller core.This article, we use the AT89S52microcontroller to control the digital tachometer. During operation, the motor needs to be monitoring, speed is an essential parameter. Digital tachometer to measure motor speed, and can communicate with a PC, display the motor speed, and observe the motor running.This design with AT89S52as control core, by the Hall sensor, LED digital display tube, the composition of the Schmitt trigger, and so on. Give full play to the performance of the microcontroller. This article focuses on the hardware and software design of the digital tachometer.The advantage of a simple hardware and software capabilities improve, measuring speed, high precision and control system reliable, cost-effective and so on.Keywords:AT89S52, Tachometer, Digital目录目录摘要 (1)1 转速表原理 (4)1.1转速表原理分析 (4)1.2转速计算及误差分析 (4)1.3转速测量 (6)2硬件电路设计 (7)2.1系统总体设计方案 (7)2.2系统各组成方案的选择与论证比较 (7)2.3单元模块电路设计 (9)3 软件设计 (10)3.1主程序框图 (10)3.2定时器TO中断服务子程序流程图 (11)3.3定时器TO中断服务子程序流程图 (12)3.4系统特点 (12)4 单片机介绍 (13)4.1单片机概述 (13)4.1.1单片机 (13)4.1.2单片机的发展过程 (13)4.1.3单片机的特点 (13)4.1.4单片机的应用领域 (13)4.2 A T89S52芯片简介 (14)4.2.1主要性能 (14)4.2.2 AT89S52的基本结构 (15)4.2.3 AT89S52单片机的封装 (16)4.3引脚说明 (17)结论 (1)参考文献: (2)附录一:元件清单 (1)附录二:主程序 (2)1 转速表原理1.1转速表原理分析目前常用的转速测量方法有M 法、T 法、M/T 法。
M 法(即测频法)是指在固定的时间内测出转速传感器输出的脉冲个数。
经分析得知,M 法在测高速时相对误差较小。
T 法(即测周期法)是指在转速传感器输出脉冲周期内对时钟信号进行计数,测出转速脉冲周期,进而计算出转速。
经分析得知,T 法在测低速时相对误差较小。
M/T 法是指在M 法基础上吸取了T 法之优点而形成的。
其测速过程是:在转速传感器输出脉冲是上升沿到来时启动定时(定时时间为Tc ),同时计传感器输出脉冲个数和时钟脉冲个数,定时时间到,先停止对传感器输出脉冲的计数,待下一个传感器输出脉冲上升沿到来时在停止对时钟脉冲的计数,由记录的两脉冲m1和m2求出转速。
假定旋转体每转一周,转速传感器输出p 个脉冲,又设转速N ,时钟频率为f0,则()11T T T m T m 60/pN d c =+==()20T m 1/f d =012N (60f /)(/)p m m = (1-1)通过式(1-1)可方便地计算出转速,因为1m 不存在误差,2m 的最大误差为一个时钟,所以M/T 法测速时的相对误差为:21N /N 1/()m m =- (1-2)在式(1-2)中,由于m2通常较大,固相对误差较小,即该测量方法精度较高,在本转速表设计中,我采用的是M/T 法。
为了减少误差,在转速小于3600rpn 时采用T 法计算转速,而大于3600rpn 就进行M 法计算转速。
1.2转速计算及误差分析根据转速、周期、频率之间的关系可知60/Tn = (1-3)1/T f = (1-4) N T c T = (1-5)式中, n —被测转速,r/min ;T —转速信号周期,s ;f—转速信号频率,Hz ;c T —计算脉冲的周期,又称时基,本仪表Tc=4us ;将式(1-5)带入(1-3)得7n 60/NTc 1.510/N ==⨯ (1-6)用十六进制数表示为n (40)H /()HE EC N =式中N 已存入75H 、74H 、73H 单元。
利用除法子程序,即可求出转速。
下边计算该系统的相对误差。
分别对式(1-3)和式(1-5)求微分60/n T n fT == (1-7)T N T c= (1-8)将式(1-7)代入(1-8),得n f N Tcn∆=∆ (1-9)式中,△N-量化误差,△N=±1个计数脉冲,又已知时基Tc=4us ,故4n f usn∆=±⨯ (1 -10)由式(1-10)可知,相对误差与频率成正比,即相对误差随转速的升高而升高。
因此,为了提高测量精度,高转速时需要连续测量数个周期。
本设计中为4个周期,即测得的N 为4个周期内的总和,所以 T N T c /4= (1-11)4n 60/T 6010/N ==⨯ (1-12)用十六进制数表示,为()()H H n 3938700/N =对式(1-12)进行微分T N T c /4∆=∆因此可求出高速测量时的相对误差n /n T NTc /4f f ∆=∆=∆同样,代入Tc=4us ,△N=±1个脉冲,则414n N fs f sn μμ∆∆=⨯=±⨯ (1-13)将式(1-13)与(1-10)比较可知,采用多周期测量相对精度大大提高。
例如,当n=3000r/min 时,由式(1-10)可求出,其相对误差为6/504100.02%n n -∆=±⨯⨯=±当n=6000r/min 时,由式(1-12)计算出相对误差为6/100100.01%n n -∆=±⨯=±该仪表设置的临界转速为3662r/min ,其对应的每周期计数脉冲个数。
开机时,首先按低转速测量,然后判转速n 是高于还是低与3662r/min 。
若低于此临界值,则仍按低速测量,若高于它,便主动转入高转速测量,即连续测量4个周期。
1.3转速测量由式(1-6)和(1-12)可知,只要能够求出脉冲个数N,即可求出转速。
为了得到计数脉冲,可以采用门控方式的硬件技术方法,也可以采用中断方式的软件计数方法。
门控方式计数:由AT89S52定时器/计数器T0工作原理可知,当其工作在计数方式时,只要T0口上有负跳变,计数器就加1。
CPU在每个周期的S5P2状态时,采样T0,所以需要2个机器周期才能识别一个T0的负跳变,即T0的周期至少应等于2倍机器周期。
若晶振频率为6MHz,6分频后得到ALE信号,鼓ALE周期为1us,机器周期为2us。
由此可知,最低计数脉冲周期Tc为4us,可由ALE信号经74LS74中的两个D触发器4分频后取得。
中断方式计数:高转速时为了连续测量4个输入周期,可以采用中断方式计数。
在初始化或前一次测量结束时,单片机禁止“外部中断0”和“定时器0溢出中断”。
设置“外部中断0”为负跳沿触发方式,设定“计数器0”为非门控计数方式,然后等待中断。
外部中断负脉冲一到,立即启动“计数器0”工作,对T0的4us计数脉冲进行计数。