欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机课程设计单片机转速测量系统.doc

    • 资源ID:88146242       资源大小:239.50KB        全文页数:18页
    • 资源格式: DOC        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机课程设计单片机转速测量系统.doc

    湖 南 科 技 大 学 课 程 设 计 课 题:单片机转速测量系统 学 院:机电工程学院 专业班级:测控三班 学 号:1003030310 姓 名:李暑洲 指导老师:康煜华 时 间:2013.6 目 录一 . 概述 1 . 数字式转速测量系统的发展背景 2 . 本设计课题的目的与意义二 . 转速测量原理三 . 方案的选择四 . 硬件电路的设计1 . 单片机AT89C51的介绍 2 . 复位电路3 . 晶振电路 4 . 显示部分设计五 . 软件设计六 . 总结七 . 附录1 . 系统总电路图2 . 系统总程序 基于单片机的转速测量系统设计一 . 概述1 . 数字式转速测量系统的发展背景目前国内外测量电机转速的方法很多,按照不同的理论方法,先后产生过模拟测速法(如离心式转速表、用电机转矩或者电机电枢电动势计算所得)、同步测速法(如机械式或闪光式频闪测速仪)以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。传统的电机转速检测多采用测速发电机或光电数字脉冲编码器,也有采用电磁式(利用电磁感应原理或可变磁阻的霍尔元件等)、电容式(对高频振荡进行幅值调制或频率调制)等,还有一些特殊的测速器是利用置于旋转体内的放射性材料来发生脉冲信号其中应用最广的是光电式,光电式测系统具有低惯性、低噪声、高分辨率和高精度的优点加之激光光源、光栅、光学码盘、CCD 器件、光导纤维等的相继出现和成功应用,使得光电传感器在检测和控制领域得到了广泛的应用。而采用光电传感器的电机转速测量系统测量准确度高、采样速度快、测量范围宽和测量精度与被测转速无关等优点,具有广阔的应用前景。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 下降,导致脉冲当量(每个脉冲所代表的转速) 增高,从而使得测量精度变得粗糙。通过增加测速码盘的齿数可以提高精度,但是码盘齿数的增加会受到加工工艺的限制,同时会使转速测量脉冲的频率增高,频率的提升又会受到传感器中光电器或磁敏器或磁电器件最高工作频率的限制。凡此种种因素限制了常规智能转速测量方法的使用范围。而采用本文所提出的定时分时双频率采样法,可在保证采样精度的同时,提高采样速率,充分发挥微机智能测速方法的优越性及灵活性。各部分模块的功能:传感器:用来对信号的采样。放大、整形电路:对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处理转换。单片机:对处理过的信号进行转换成转速的实际值,送入LEDLED显示:用来对所测量到的转速进行显示。三 . 方案的选择 转速测量的方案选择,一般要考虑传感器的结构、安装以及测速范围与环境条件等方面的适用性;再就是二次仪表的要求,除了显示以外还有控制、通讯和远传方面的要求。本说明书中给出两种转速测量方案,经过我和伙伴查资料、构思和自己的设计,总体电路我们有两套设计方案,部分重要模块也考虑了其它设计方法,经过分析,从实现难度、熟悉程度、器件用量等方面综合考虑,我们才最终选择了一个方案。下面就看一下我们对两套设计方案的简要说明。 方案一:霍尔传感器测量方案 霍尔传感器是利用霍尔效应进行工作的?其核心元件是根据霍尔效应原理制成的霍尔元件。本文介绍一种泵驱动轴的转速采用霍尔转速传感器测量。霍尔转速传感器的结构原理图如图3.1, 霍尔转速传感器的接线图如图。传感器的定子上有2 个互相垂直的绕组A 和B, 在绕组的中心线上粘有霍尔片HA 和HB ,转子为永久磁钢,霍尔元件HA 和HB 的激励电机分别与绕组A 和B 相连,它们的霍尔电极串联后作为传感器的输出。 原理图 接线图缺点:采用霍尔传感器在信号采样的时候,会出现采样不精确,因为它是靠磁性感应才采集脉冲的,使用时间长了会出现磁性变小,影响脉冲的采样精度。 方案二:光电传感器 整个测量系统的组成框图如图3.3所示。从图中可见,转子由一直流调速电机驱动,可实现大转速范围内的无级调速。转速信号由光电传感器拾取,使用时应先在转子上做好光电标记,具体办法可以是:将转子表面擦干净后用黑漆(或黑色胶布) 全部涂黑,再将一块反光材料贴在其上作为光电标记,然后将光电传感器(光电头) 固定在正对光电标记的某一适当距离处。光电头采用低功耗高亮度LED ,光源为高可靠性可见红光,无论黑夜还是白天,或是背景光强有大范围改变都不影响接收效果。光电头包含有前置电路,输出05V的脉冲信号。接到单片机89C51的相应管脚上,通过89C51内部定时/计时器T0、T1及相应的程序设计,组成一个数字式转速测量系统。 测量系统组成框图优点:这种方案使用光电转速传感器具有采样精确,采样速度快,范围广的特点。综上所述,方案二使用光电传感器来作为本设计的最佳选择方案。四 . 硬件电路设计1 . 单片机AT89C51介绍 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 AT89C51芯片 它有40个管脚,分成两排,每一排各有20个脚,其中左下角标有箭头的为第1脚,然后按逆时针方向依次为第2脚、第3脚第40脚。在40个管脚中,其中有32个脚可用于各种控制,比如控制小灯的亮与灭、控制电机的正转与反转、控制电梯的升与降等,这32个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“”。管脚说明: 管脚分布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.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器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的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2 . 复位电路 MCS-51 单片机复位电路是指单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。 Protues中的AT89C51芯片 手动复位电路 特殊功能寄存器初始状态特殊功能寄存器初始状态ABPSW00H00H00HTMODTCONTH000H00H00HSPDPLDPHP0P3IPIE07H00H00HFFH*00000B0*00000BTL0TH1TL1SBUFSCONPCON00H00H00H不定00H0*B 寄存器复位后状态表3 . 晶振电路 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。AT89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为30F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。晶体振荡电路如图 4 . 显示部分设计 许多电子产品上都有跳动的数码来指示电器的工作状态,其实数码管显示的数码均是由八个发光二极管构成的。每段上加上合适的电压,该段就点亮。LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。 共阳型 共阴型 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。显示字符共阴极段选码共阳极段选码显示字符共阴极段选码共阳极段选码012343FH06H5BH4FH66HC0HF9HA4HB0H99H567896DH7DH07H7BH6FH92H82HF8H80H90H LED段码表 动态仿真五 . 软件设计 硬件电路完成以后,进行系统软件设计。首先要分析系统对软件的要求,然后进行软件的总体的设计,包括程序的总体设计和对程序的模块化设计。按整体功能分为多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件。 根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用C语言完成的,需要能掌握C语言,还要熟练AT89C51单片机。从程序流程图、编写程序、编译,到最后的调试,是很复杂的。下面作简单介绍:系统软件主程序的功能是完成系统的初始化、显示程序。 主程序流程图程序流程图显示开始初始化定时器计时器刷新数码管延时2ms 显示子程序流程图 开始显示缓存初始化LED显示初始化数码显示 定时计数子程序流程图 开定时器开计数器读出计数器值并清零计数器定时重新装初始值并启动定时器开始六 . 总结 采用单片机技术来实现转速的测量,可以提高转速的测量,可以提高转速测量的精确度,并且加快了采样的速率,具有较好的实时性。本文介绍的转速方法使用于高、低转速的测量,测量精确度与转速无关,因而具有较宽的应用范围和广阔的应用的前景。基于单片机的转速测量系统,具有硬件电路简单,程序简单和运算速度快,测速范围广,抗干扰性能好的特点。在设计的信号处理电路中经过滤波,能够进一步减少误差,是测速精度得到提高。通过此次单片机的课程设计,加深了所学的单片机知识,也加强了我的动手能力,在前期的设计过程中遇到了不少问题,但在老师和同学们的帮助下一一解决了。特在此表示感谢!当然,作为只是有理论知识的学生来说,上网找资料是必不可少的,这也提供了我们很多便捷之处。在后期单片机实物的焊接过程中我们动手能力严重不足被充分暴露出来,当然,要解决这个问题并不难,只要我们在平时生活中多多动手锻炼就行!总之,这次单片机的课程设计收获颇多!七 . 附录1 . 系统总电路图2 . 系统总程序 #include<reg51.h>#define uchar unsigned char#define uint unsigned intuint mm=1234;uchar code table=0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,; delay(uint m) uint i,j; for(i=m;i>0;i-) for(j=60;j>0;j-);xian_shi() uchar qian,bei,shi,ge; uint jj; jj=mm; jj*=20; /jj+=1; qian=jj/1000; bei=jj%1000/100; shi=jj%100/10; ge=jj%10; P2=0x10; P0=tableqian; delay(1); /P2=0; P2=0x20; P0=tablebei; delay(1); /P2=0; P2=0x40; P0=tableshi; delay(1); /P2=0; P2=0x80; P0=tablege; delay(1); /P2=0; timer_init() /定时器计数器初始化函数 EA=1; ET0=1; ET1=1; TMOD=0X51; TH0=(65535-50000)/256; TL0=(65535-50000)%256; TH1=0; TL1=0; TR0=1; TR1=1;main() timer_init(); P0=0; /开始数码管不显示 while(1) xian_shi(); delay(2); /数码管刷新时间单位毫秒 void timer0() interrupt 1 TR0=0; TR1=0; TH0=(65535-50000)/256; TL0=(65535-50000)%256; mm=0; mm|=TH1; mm=(mm<<8)|TL1;/mm-=55536; TH1=0; TL1=0; TR0=1; TR1=1;void timer1() interrupt 3 /显示0000说明出错 TR1=0; TR0=0; mm=0; / TH1=0; / TL1=0; / TR1=1;

    注意事项

    本文(单片机课程设计单片机转速测量系统.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开