基于单片机测速仪的设计.docx
《基于单片机测速仪的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机测速仪的设计.docx(52页珍藏版)》请在冰豆网上搜索。
![基于单片机测速仪的设计.docx](https://file1.bdocx.com/fileroot1/2023-2/26/1555ed93-5249-4b62-ba53-0fc800c88e21/1555ed93-5249-4b62-ba53-0fc800c88e211.gif)
基于单片机测速仪的设计
基于单片机测速仪的设计
作者:
李香坤
指导教师:
刘晓祥
摘要
测速装置在机车控制系统中占有非常重要的地位,对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。
现介绍了应用霍尔传感器通过测量磁场强度,来得到稳定的脉冲方波信号,实现机车转速的测量。
给出了以STC89C52为核心,利用单片机的运算和控制功能,并采用系统化LCD显示模块实时显示所测速度的设计方案,以及串口数据存储电路和系统软件。
该方案由于使用了系统化LCD显示模块,以及高效快速算法,因而可在节约系统资源和简化程序设计的基础上保证测量精度和系统实时性。
关键词:
测速装置;霍尔传感器;速度测量;LCD显示模块;串行数据存储电路;实时数据处理
Abstract
Detectingspeedequipmentisoneofgreatimportanceinenginecontrolsystem.Therequirementofspeed-detectingequipmentishighresolutionability,highprecisionandasshortdetectingtimeaspossible.ThispapermainlyintroduceshowtogetsteadypulsesquarewavesignalbydetectingtheintensityofmagneticfieldthroughHallsensorandachievedetectingtherotatingspeedoflocomotive
ThispaperpresentsaSTC89C52asthecore,usingSCMcomputingandcontrolfunctions,andusingsystematicLCDdisplayreal-timedisplaymodulemeasuredbythespeeddesignprogrammes,aswellasserialdatastoragecircuitandsystemsoftware.TheprogrammebecauseofthesystematicuseofLCDdisplaymodules,rapidandhighlyefficientalgorithms,whichcansavesystemresourcesandsimplifyproceduresonthebasisofdesignguaranteetheaccuracyandreal-timesystems.
Keywords:
measuringspeeddevice;Hallsensor;speedmeasurement;LCDdisplaymodules,serialdatastoragecircuit;real-timedataprocessing
第一章引言
随着超大规模集成电路技术提高,尤其是单片机应用技术以其功能强大,价格低廉的显著特点,使全数字化测量转速系统得以广泛应用。
本文在此基础上.对全数字测量转速系统的硬件和编程作一探讨。
单片机突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好。
外围电路更少,因而得到了广泛的应用。
另外其较少的指令及较强的实用功能更为许多单片机初学者之首选品牌.单片机指令少,PIC中低档系列单片机共有35条指令,非常有利于易记忆和掌握,指令为单字节,占用程序存储器的空间小,而且中档系列单片机每一条指令为14位,前6位存操作指令,后8位存操作数.大部分芯片有其兼容的FLASH程序存储器的芯片,支持低电压擦写,擦写速度快,允许多次擦写,程序修改方便。
基于单片机以上特点使其在现代工业占据了举足轻重的位置。
其中利用单片机设计测速系统就是特例之一。
本设计以STC89C52为核心,通过霍尔传感器来检测低速物体的运转情况进而实现物体转速的测量,最后用LED能直观的将速度显示给用户,并且在速度高于一定的值时可自动向用户报警,实现速度的实时测量。
1.1课题研究的目的
转速是工程中应用非常广泛的一个参数,其测量方法较多,而模拟量的采集和模拟处理一直是转速测量的主要方法,目前这中测量方法已不能适应现代科技发展的要求。
随着大规模及超大规模集成电路的发展,使得全数字测量仪器越来越普及,其转速测量仪器也可以用全数字化处理。
在测量范围和测量精度方面都有很大提高。
因此,本次设计的目的是:
对各种测量转速的方法加以分析,针对不同的应用环境,利用STC89C52系列单片机设计一种全数字化测速仪器,并从提高测量精度的角度出发,分析讨论其产生误差的可能原因,为今后的实际使用提供参考。
本设计以单片机为中心,设计全数字化测速仪器,这在工业控制和民用电器中都有较高的使用价值。
其次该转速测量仪器由于采用全数字化结构,因而可以很方便的和工业控制计算机进行连接,实行远程管理和控制,进一步提高现代化水平,而且,几乎不需要做较大的改变就能作为单独的产品使用。
总之,转速测量仪器的研究是一个非常有意义的课题。
1.2课题研究的主要内容
系统以单片机STC89C52为控制核心,用霍尔传感器作为测量转速的检测元件,经过单片机数据处理,用RT12864M汉字图形点阵液晶显示模块显示速度和运行时间。
1.2.1设计要求
1)可以对低速物体的转动速度、运行时间进行测量。
2)当物体运行速度超出一定限制时蜂鸣器会发出报警信号。
1.2.2难点
霍尔传感器是对磁敏感的传感元件,由于本仪表在日常应用中很有可能处于较强电磁干扰的环境中,因此必须采取抗干扰措施,否则系统难以稳定、可靠运行。
第2章硬件电路具体设计方案
2.1方案论证
要测速,首先要解决是采样的问题。
在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。
使用单片机进行测速,可以使用简单的脉冲计数法。
只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。
在本方案中,测量转速的霍尔传感器和被测物体同轴连接,机轴每转一周,产生一定量的脉冲个数,由霍尔器件电路部分输出。
经光电耦合器后,成为转数计数器的计数脉冲。
同时传感器电路输出幅度为12V的脉冲经光电耦合后降为5V,保持89C52逻辑电平相一致。
控制计数时间,即可实现计数器的计数值对应机轴的转速值。
CPU将该值数据处理后,在LED显示屏上显示出来。
一旦超速,CPU通过喇叭发出报警信号。
2.1.1系统组成
单片机转速测量系统由传感器、处理器、计算器和显示器四个部分组成。
传感器采用霍尔器件将低速物体的转速转化为脉冲信号,处理器采用89C52单片机,计数器采用单片机片内计数器完成脉冲信号的计数,显示器采用2864M汉字图形点阵液晶显示模块进行显示。
系统组成框图
2.2系统的工作过程
测量转速的霍尔传感器与物体的机轴相连,机轴每转一周,产生一定的脉冲个数,由霍尔器件电路部分输出,成为转速计数器的计数脉冲,控制计数时间,即可实现计数器的计数值对应机轴的转速值,单片机CPU将该数据处理后,通过显示屏显示出来。
2.2.1转速的测量
转速传感器由磁钢、霍尔元件组成,将一非磁性圆盘固定装在物体的转轴上,圆盘边缘等距离用环氧树脂粘贴块状磁钢,磁钢采用永久磁铁分割成的小磁块,其磁力较强,霍尔元件固定在距磁块平面1--3mm处,当磁块与霍尔元件位置相对发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化,圆盘转动,磁块靠近霍尔元件,穿过霍尔元件的磁场较强,当圆盘转到使霍尔元件处于磁块之间时,磁力线分散,霍尔元件输出低电平,当磁场减弱时,输出高电平,从而使得在物体转动过程中霍尔开关集成电路输出连续脉冲信号。
2.3主控制器
使用单片机,对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。
SCT89C52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器和内部集成了看门狗系统,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程,所以低价位SCT89C52单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。
单片机SCT89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
主要特性如下
●与MCS-51兼容
●4K字节可编程闪烁存储器
●寿命:
1000写/擦循环
●数据保留时间:
10年
●全静态工作:
0Hz-24Hz
●三级程序存储器锁定
●128*8位内部RAM
●32可编程I/O线
●两个16位定时器/计数器
●5个中断源
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路
2.3.1SCT89C52引脚功能介绍
SCT89C52单片机为40引脚双列直插式封装。
其引脚排列和逻辑符号如上图所示。
各引脚功能简单介绍如下:
●VCC:
供电电压
●GND:
接地
●P0口:
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,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口也可作为SCT89C52的一些特殊功能口:
P3.0RXD(串行输入口)
?
?
P3.1TXD(串行输出口)
?
?
P3.2INT0(外部中断0)
?
?
P3.3INT1(外部中断1)
?
?
P3.4T0(记时器0外部输入)
?
?
P3.5T1(记时器1外部输入)
?
?
P3.6WR(外部数据存储器写选通)
?
?
P3.7RD(外部数据存储器读选通)
同时P3口同时为闪烁编程和编程校验接收一些控制信号。
●RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
●ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
●PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
●EA/VPP:
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
●XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
●XTAL2:
来自反向振荡器的输出。
2片机SCT89C52具有低电压供电和小体积等特点,两个端口刚好满足电路系统的设计需要,很合适携手特式产品的使用。
第三章传感器的选择
3.1霍尔传感器介绍
霍尔传感器是利用霍尔效应实现磁电转换的一种传感器,,我国从70年代开始研究霍尔器件,经过20余年的研究和开发,目前已经能生产各种性能的霍尔元件,它具有灵敏度高,线性度好,稳定性高、体积小和耐高温等特点,在机车控制系统中占有非常重要的地位。
对测速装置的要求是分辨能力强、高精度和尽可能短的检测时间。
发电机转速的检测方案可分成两类:
用测速发电机检测或用脉冲发生器检测。
测速发电机的工作原理是将转速转变为电压信号,它运行可靠,但体积大,精度低,且由于测量值是模拟量,必须经过A/D转换后读入计算机。
脉冲发生器的工作原理是按发电机转速高低,每转发出相应数目的脉冲信号。
按要求选择或设计脉冲发生器,能够实现高性能检测。
所设计的基于霍尔元件的脉冲发生器要求成本低,构造简单,性能好。
在机车电气系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。
所设计的基于霍尔元件的脉冲发生器要求成本低,构造简单,性能好。
在机车电气系统中存在着较为恶劣的电磁环境,因此要求产品本身要具有较强的抗干扰能力。
3.2霍尔传感器测速原理
霍尔传感器的外形图和与磁场的作用关系如下图所示。
磁场由磁钢提供,所以霍尔传感器和磁钢需要配对使用。
霍尔传感器检测转速示意图如下。
在非磁材料的圆盘边上粘贴一块磁钢,霍尔传感器固定在圆盘外缘附近。
圆盘每转动一圈,霍尔传感器便输出一个脉冲。
通过单片机测量产生脉冲的频率就可以得出圆盘的转速。
备注:
当没有信号产生时,可以改变一下磁钢的方向,霍尔对磁钢方向有要求。
没有磁钢时输出高电平,有磁钢时输出低电平。
霍尔传感器的外形图和与磁场的作用关系
3.2.1霍尔效应
在一块半导体薄片上,其长度为l,宽度为b,厚度为d,当它被置于磁感应强度为B的磁场中,如果在它相对的两边通以控制电流I,且磁场方向与电流方向正交,则在半导体另外两边将产生一个大小与控制电流I和磁感应强度B乘积成正比的电势UH,即UH=KHIB,其中kH为霍尔元件的灵敏度。
该电势称为霍尔电势,半导体薄片就是霍尔元件。
3.2.2工作原理
霍尔开关集成电路中的信号放大器将霍尔元件产生的幅值随磁场强度变化的霍尔电压UH放大后再经信号变换器、驱动器进行整形、放大后输出幅值相等、频率变化的方波信号。
第四章测量磁场及工作设置
4.1测量磁场
使用霍尔器件检测磁场的方法极为简单,将霍尔器件作成各种形式的探头,放在被测磁场中,因霍尔器件只对垂直子霍尔片表面的磁感应强度敏感,磁力线必须和器件表面垂直,通电后即可由输出电压得到被测磁场的磁感应强度。
若不垂直,则应求出其垂直分量来计算被测磁场的磁感应强度值。
而且,因霍尔元件的尺寸极小,可以进行多点检测,由计算机进行数据处理,可以得到电场的分布状态,并可对狭缝、小孔中的磁场进行检测。
4.2工作磁体的设置
用磁场作为被传感物体的运动和位置信息载体时,一般采用永久磁钢来产生工作磁场。
例如,用一个4mm×3mm×11mm的钕铁硼Ⅱ号磁钢,就可在它的磁极表面上得到约2300高斯的磁感应强度。
在空气隙中,磁感应强度会随距离增加而迅速下降。
为保证霍尔器件,尤其是霍尔开关器件的可靠工作,在应用中要考虑有效工作气隙的长度。
在计算总有效工作气隙时,应从霍尔片表面算起。
在封装好的霍尔电路中,霍尔片的深度在产品手册中会给出。
因为霍尔器件需要工作电源,在作运动或位置传感时,一般令磁体随被检测物体运动,将霍尔器件固定在工作系统的适当位置,用它去检测工作磁场,再从检测结果中提取被检信息。
工作磁体和霍尔器件间的运动方式有:
(a)对移;(b)侧移;(c)旋转;(d)遮断。
如图1所示,图中的TEAG即为总有效工作气隙。
在遮断方式中,工作磁体和霍尔器件以适当的间隙相对固定,用一软磁(例如软铁)翼片作为运动工作部件,当冀片进入间隙时,作用到霍尔器件上的磁力线被部分或全部遮断,以此来调节工作磁场。
被传感的运动信息加在冀片上。
这种方法的检测精度很高,在125℃的温度范围内,冀片的位置重复精度可达50μm。
当两齿之间的空隙正对霍尔元件时,穿过霍尔元件的磁力线分散,磁场相对较弱;而当某一齿对准霍尔元件时,穿过霍尔元件的磁力线集中,磁场相对较强。
齿轮转动时,使得穿过霍尔元件的磁力线密度发生变化,因而引起霍尔电压的变化,霍尔元件将输出一个mV级的准方波电压。
此信号还需由电子电路转换成标准的脉冲电压,当外加磁场的S极接近霍尔电路外壳上打有标志的一面时,作用到霍尔电路上的磁场方向为正,北极接近标志面时为负。
也可将工作磁体固定在霍尔器件(外壳上没打标志的一面),让被检的铁磁物体(例如钢齿轮)从它们近旁通过,检测出物体上的特殊标志(如齿、凸缘、缺口等),得出物体的运动参数。
在图2的霍尔效应速度传感器中,当测速的靶转到霍尔效应传感器的位置,即霍尔传感器位于靶及磁铁之间,霍尔效应传感器检测到靶感应的磁通量变化。
霍尔效应传感器感测的是磁通量的大小。
如图2
第五章霍尔电路设计
5. 1工作方法
当该霍尔器件处在任何极性的恒定磁场中时,其上的两个霍尔传感器将产生同样的输出信号。
无论该磁场的绝对强度有多大,它们之间的差值总为零。
然而,由于一个单元面向磁场集中的轮齿,另一个单元则面向一个齿隙,如果两个霍尔单元之间存在磁场梯度,那么将产生一个差值信号,并在芯片上放大。
实际上,这个差值体现了一个小偏移,它可由相应集成的控制电路来修正。
这种动态差分原理使传感器表面与齿轮之间存在较大气隙的条件下能保持高灵敏度。
如图3
5.2齿轮、感应距离和角精度
一个齿轮可由其模数来表征:
m=d/z。
其中d是齿轮直径,Z是轮齿数量。
轮齿到轮齿的距离为T,齿距的计算公式为T=πm、当一个霍尔传感器面对一个轮齿而另一个霍尔传感器面对一个齿隙时,感应到的差值最大。
该器件内两个霍尔传感器的间隔为2.5mm,在模数为1,对应的齿距为3.14win的条件下,该器件都可以感应到差值。
如果该模数大于3或者齿轮不规则,将可能在一段较长时间内检测不到足够的差值,这意味着输出信号将不确定。
传感器和齿轮之间允许的最大距离是温度、模数、磁体和速度的一个函数,速度可以用每次轮齿/齿隙转变时在输出端出现一个脉冲来表征。
如果减小距离,将产生较大的有用信号。
因此,切换精度可以随传感器低/高转变次数的增加而增加,这种低/高转变可以代表齿轮的一个旋转角度。
5.3电路图设计
当霍尔元件输出高电平时,V2导通,V1截止,信号输出端输出方波的低电平;当霍尔元件输出低电平时,V1导通,V2截止,输出端为方波的高电平。
信号输出端每输出一个周期的方波,代表转过了一个齿。
单位时间内输出的脉冲数N,因此可求出单位时间内的速度V=NT(T=π×m)。
如图4
第六章报警
6.1蜂鸣器的作用
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
6.2蜂鸣器的分类
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。
有的压电式蜂鸣器外壳上还装有发光二极管。
多谐振荡器由晶体管或集成电路构成。
当接通电源后(1.5-15V直流工作电压),多谐振荡器起振,输出1.5-2.5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。
压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。
在陶瓷片的两面镀上银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。
电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。
接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。
振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
6.3报警电路
本设计采软件处理报警,利用有源蜂鸣器进行报警输出,采用直流供电。
当所测速度超过获低于所预设的速度时,数据口相应拉高电平,报警输出。
(也可采用发光二级管报警电路,如过需要报警,则只需将相应位置1,当参数判断完毕后,再看报警模型单元ALARM的内容是否与预设一样,如不一样,则发光报警)报警电路硬件连接见图5。
图5蜂鸣器电路连接图
第七章LCD显示
7.1液晶显示模块概述
图612864液晶显示器
RT12864M汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:
电源:
VDD3.3V~+5V(内置升压电路,无需负压);
显示内容:
128列×64行
显示颜色:
黄绿
显示角度:
6:
00钟直视
LCD类型:
STN
与MCU接口:
8位或4位并行/3位串行
配置LED背光
多种软件功能:
光标显示、画面移位、自定义字符、睡眠模式等
11.5
7.2模块引脚说明
128X64HZ引脚说明
引脚号
引脚名称
方向
功能说明
1
VSS
-
模块的电源地
2
VDD
-
模块的电源正端
3
V0
-
LCD驱动电压输入端
4
RS(CS)
H/L
并行的指令/数据选择信号;串行的片选信号
5
R/W(SID)
H/L
并行的读写选择信号;串行的数据口
6
E(CLK)
H/L
并行的使能信号;串行的同步时钟
7
DB0
H/L
数据0
8
DB1
H/L
数据1
9
DB2
H/L
数据2
10
DB3
H/L
数据3
11
DB4
H/L
数据4
12
DB5
H/L
数据5
13
DB6
H/L
数据6
14
DB7
H/L
数据7
15
PSB
H/L
并/串行接口选择:
H-并行;L-串行
16
NC
空脚
17
/RET
H/L
复位低电平有效
18
NC
空脚
19
LED_A
-
背光源正极(LED+5V)
20
LED_K
-
背光源负极(LED-OV)
逻辑工作电压(VDD):
4.5~5.5V
电源地(GND):
0V
工作温度(Ta):
0~60℃(常温)/-20~75℃(宽温)
7.3接口时序
模块有并行和串行两种连接方法(时序如下):
8位并行连接时序图
MPU写资料到模块
MPU从模块读出资料