传感器原理及应用期末课程设计
题目 基于霍尔传感器的转速测量电路设计
姓 名 小波 学 号8888888888 院(系) 电子电气工程学院
班 级 清华大学——电子信息 指导教师 牛人 职 称 博士后
二O一一年 七 月 十二 日
摘 要:转速是发动机重要的工作参数之一,也是其它参数计算的重要依据。针对工业上常见的发动机设计了以单片机STC89C51为控制核心的转速测量系统。系统利用霍尔传感器作为转速检测元件,并利用设计的调理电路对霍尔转速传感器输出的信号进行滤波和整形,将得到的标准方波信号送给单片机进行处理。实际测试表明,该系统能满足发动机转速测量要求。
关键词:转速测量,霍尔传感器,信号处理,数据处理
xxx毕业论文(设计)
Abstract: The rotate speed is one of the important parameters for the engine, and it is also the important factor that calculates other parameters. The rotate speed measurement system for the common engine is designed with the single chip STC89C51. The signal of the rotate speed is sampled by the Hall sensor, and it is transformed into square wave which will be sent to single chip computer. The result of the experiment shows that the measurement system is able to satisfy the requirement of the engine rotate speed measurement.
Key words: rotate speed measurement, Hall sensor, signal processing, data processing
1
xxx毕业论文(设计)
目 录
1 前言 .......................................................... 3 2 系统概述 ...................................................... 3 2.1 系统组成 .................................................... 3 2.2 处理方法 .................................................... 4 2.3 系统工作原理 ................................................ 5 3 系统硬件电路设计 .............................................. 6 3.1 单片机主控电路设计 .......................................... 6 3.2 脉冲产生电路设计 ............................................ 8 3.3 按键电路设计 ................................................ 9 3.4 数据显示电路设计 ........................................... 10 3.5 稳压电源设计 ............................................... 12 3.6 串行通信模块设计 ........................................... 13 4 系统软件设计 ................................................. 15 5 制作调试 ..................................................... 17 5.1 硬件调试 ................................................... 17 5.2 软件调试 ................................................... 18 6 测试结果分析 ................................................. 18 结论............................................................ 20 参考文献 ........................................................ 21 致谢............................................................ 22 附录A .......................................................... 22
2
xxx毕业论文(设计)
1 前言
在工农业生产和工程实践中,经常会遇到各种需要测量转速的场合,例如在发动机、电动机、卷扬机、机床主轴等旋转设备的试验、运转和控制中,常需要测量和显示其转速。要测速,首先要解决的是采样问题。测量转速的方法分为模拟式和数字式两种。模拟式采用测速发电机为检测元件,得到的信号是模拟量。早期直流电动机的控制均以模拟电路为基础,采用运算放大器,非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难。数字式通常采用光电编码器、圆光栅、霍尔元件等为检测元件,得到的信号是脉冲信号。随着微型计算机的广泛应用,单片机技术的日新月异,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法,使得许多控制功能及算法可以采用软件技术来完成,智能化微电脑代替了一般机械式或模拟式结构,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。
直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速。测速电机的电压高低反映了转速的高低,在许多需要调速或快速正反向电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。本文介绍一种用STC89C51单片机测量小型电动机转速的方法。系统以单片机STC89C51为控制核心,用NJK-8002D霍尔集成传感器作为测量小型直流电机转速的检测元件,经过单片机数据处理,用8位LED数码管动态显示小型直流电机的转速。
2 系统概述 2.1 系统组成
系统由传感器、信号预处理电路、处理器、显示器和系统软件等部分组成。传感器部分采用霍尔传感器,负责将电机的转速转化为脉冲信号。信号预处理电路包含待测信号放大、波形变换、波形整形电路等部分,其中放大器实现对待测信号的放大,降低对待测信号的幅度要求,实现对小信号的测量;波形变换和波形整形电路实现把正负交变的信号波形变换成可被单片机接受的TTL/CMOS兼容信号。 处理器采用STC89C51单片机,显示器采用8位LED数码管动态显示。系统原理框图如图2.1所示:
3
xxx毕业论文(设计)
电机霍尔传感器信号处理LED显示单片机RAM
串口键盘图2.1转速测量系统原理框图
系统软件主要包括测量初始化模块、信号频率测量模块、浮点数算术运算模块、浮点数到BCD码转换模块、显示模块、按键功能模块、定时器中断服务模块。系统软件框图如图2.2所示。
初始化模块频率测量模块浮点数算术运算模块显示模块浮点数到BCD码转换模块
图2.2 系统软件框图
2.2 处理方法
系统的设计以STC89C51单片机为核心,利用它内部的定时/计数器完成待测信号频率的测量。测速实际上就是测频,通常可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。等精度法则对高、低频信号都有很好的适应性。此系统采用计数法测速。单片机STC89C51内部具有 2 个 16 位定时/计数器 ,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出中断要求的功能。在构成为定时器时,每个机器周期加 1(使用12MHz 时钟时,每 1us 加 1),这样以机器周期为基准可以用来测量时间间隔。在构成为计数器时,在相应的外部引脚发生从 1 到 0 的跳变时计数器加1,这样在计数闸门的控制下可以用来测量待测信号的频率。外部输入每个机器周期被采样一次,这样检测一次从1到0的跳变至少需要2个机器周期(24 个振荡周期),所以最大计数速率为时钟频率的1/24(使用12MHz时钟时 ,最大计数速率为 500KHz)。定时/计数器的工作由相应的运行控制位TR控制,当TR置1时,定时/计数器开始计数,当 TR清0时,停止计数。
4
xxx毕业论文(设计)
2.3 系统工作原理
转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。其单位为 r/min。由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机STC89C51的计数器 T0进行计数,用T1定时测出电动机的实际转速。此系统使用单片机进行测速,采用脉冲计数法,使用霍尔传感器获得脉冲信号。其机械结构也可以做得较为简单,只要在转轴的圆盘上粘上两粒磁钢,让霍尔传感器靠近磁钢,机轴每转一周,产生两个脉冲,机轴旋转时,就会产生连续的脉冲信号输出。由霍尔器件电路部分输出,成为转速计数器的计数脉冲。控制计数时间,即可实现计数器的计数值对应机轴的转速值。单片机CPU将该数据处理后,通过LED显示出来。
2.3.1 霍尔传感器
霍尔传感器是对磁敏感的传感元件,由磁钢、霍耳元件等组成。测量系统的转速传感器选用SiKO 的 NJK-8002D 的霍尔传感器,其响应频率为100KHz,额定电压为5-30(V)、检测距离为10(mm)。其在大电流磁场或磁钢磁场的作用下,能测量高频、工频、直流等各种波形电流。该传感器具有测量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、测频率、测转速等领域。输出电压4~25V,直流电源要有足够的滤波电容,测量极性为N极。安装时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边缘,磁钢采用永久磁铁,其磁力较强,霍尔元件固定在距圆盘1-10mm处。当磁钢与霍尔元件相对位置发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化。圆盘转动,磁钢靠近霍尔元件,穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减弱时,输出高电平,从而使得在圆盘转动过程中,霍尔元件输出连续脉冲信号。这种传感器不怕灰尘、油污,在工业现场应用广泛。
2.3.2 转速测量原理
霍尔器件是由半导体材料制成的一种薄片,器件的长、宽、高分别为 l、b、d。若在垂直于薄片平面(沿厚度 d)方向施加外磁场B,在沿l方向的两个端面加一外电场,则有一定的电流流过。由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:
fqVB
式中:f—洛仑磁力, q—载流子电荷, V—载流子运动速度, B—磁感应强度。 这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差UH称为霍尔电压。
霍尔电压大小为: UHRHIB/d(mV)
5
xxx毕业论文(设计)
式中:RH—霍尔常数, d—元件厚度, B—磁感应强度, I—控制电流 设 KHRH/d, 则UH=KHIB/d(mV)
KH 为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在单位磁感应强度和单位控
制电流下输出霍尔电动势的大小。应注意,当电磁感应强度B反向时,霍尔电动势也反向。图2.3为霍耳元件的原理结构图。
若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将两块永久磁钢固定在电动机转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响,输出脉冲信号。传感器内置电路对该信号进行放大、整形,输出良好的矩形脉冲信号,测量频率范围更宽,输出信号更精确稳定,已在工业,汽车,航空等测速领域中得到广泛的应用。其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。
图2.3 霍耳元件的原理结构图
3 系统硬件电路设计 3.1 单片机主控电路设计
系统选用 STC89C51 作为转速信号的处理核心。STC89C51 包含 2 个16位定时/计数器、4K×8 位片内 FLASH 程序存储器、4个8位并行I/O口。16 位定时/计数器用于实现待测信号的频率测量。8位并行口P0、P2用于把测量结果送到显示电路。4K×8 位片内FLASH程序存储器用于放置系统软件。STC89C51与具有更大程序存储器的芯片管脚兼容,如:89C52(8K×8 位)或 89C55(32K×8 位),为系统软件升级打下坚实的物质基础。STC89C51最大的优点是:可直接通过计算机串口线下载程序,而无需专用下载线和编程器。
STC89C51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等一台计算机所需要的基本功能部件。其基本结构框图如图3.1,包括: ·一个8位CPU; ·4KB ROM;
6
xxx毕业论文(设计)
·128字节RAM数据存储器; ·21个特殊功能寄存器SFR;
· 4个8位并行I/O口,其中P0、P2为地址/数据线,可寻址64KB ROM或64KB RAM; ·一个可编程全双工串行口;
·具有5个中断源,两个优先级,嵌套中断结构; ·两个16位定时器/计数器; ·一个片内震荡器及时钟电路;
计数脉冲输入
T0 T1 时钟源 CPU 4K ROM(EPROM) (8031无) 特殊功能寄存器SFR 128字节RAM 定时/计数器 T0、T1 并行I/O接口 串行接口 中断系统 P0 P1 P2 P3 TXD RXD INT0 INT1 中断输入
图3.1 STC89C51单片机结构框图
STC89C51系列单片机中HMOS工艺制造的芯片采用双列直插(DIP)方式封装,有40个引脚。STC89C51单片机40条引脚说明如下:
(1)电源引脚。VCC正常运行和编程校验(8051/8751)时为5V电源,VSS为接地端。 (2)I/O总线。P0.0- P0.7(P0口),P1.0- P1.7(P1口),P2.0- P2.7(P2口),P3.0- P3.7(P3口)为输入/输出引线。
(3)时钟。
XTAL1:片内震荡器反相放大器的输入端。
XTAL2:片内震荡器反相放器的输出端,也是内部时钟发生器的输入端。 (4)控制总线。
由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。 值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。如表3.1所示。
7
xxx毕业论文(设计)
表3.1 P3口线的第二功能定义:
P3口引脚及线号 P3.0 (10) P3.1 (11) P3.2 (12) P3.3 (13) P3.4 (14) P3.5 (15) P3.6 (16) P3.7 (17) 引脚 RXD TXD INT0 INT1 T0 T1 WR RD 第二功能 串行输入口 串行输出口 外部中断0 外部中断1 定时器0外部输入 定时器1外部输入 外部数据存储器写脉冲 外部数据存储器读脉冲
STC89C51单片机的片外总线结构:
①地址总线(AB):地址总线宽为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供8位地址(A0至A7);P2口直接提供8位地址(A8至A15)。
②数据总线(DB):数据总线宽度为8位,由P0提供。
③控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、ALE、PSEN组成。
3.2 脉冲产生电路设计
LM358内部包括有两个独立的、高增益、内部频率补偿的双运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
LM358的封装形式有塑封8引线双列直插式和贴片式。 特性:
内部频率补偿
直流电压增益高(约100dB) 单位增益频带宽(约1MHz) 电源电压范围宽:单电源(3—30V) 双电源(±1.5一±15V) 低功耗电流,适合于电池供电 低输入偏流
低输入失调电压和失调电流
8
xxx毕业论文(设计)
共模输入电压范围宽,包括接地 差模输入电压范围宽,等于电源电压范围 输出电压摆幅大(0至Vcc-1.5V) 如图3.2所示,信号预处理电路为系统的前级电路,其中霍尔传感元件b,d为两电源端,d接正极,b接负极;a,c两端为输出端,安装时霍尔传感器对准转盘上的磁钢,当转盘旋转时,从霍尔传感器的输出端获得与转速率成正比的脉冲信号,传感器内置电路对该信号进行放大、整形,输出良好的矩形脉冲信号,图中LM358部分为过零整形电路使输入的交变信号更精确的变换成规则稳定的矩形脉冲,便于单片机对其进行计数。 1 R1Kb c H a +15V777d +15VR510K+15V+15V3362R21K-15V10KRf10KR32LM3244 362R41K-15V10KR646U0LM358PortLM3244 -15V 图3.2 信号预处理电路 3.3 按键电路设计 通过软件设置按键开关功能: 按 K0清零、复位 按K1显示计时时间 按K2显示计数脉冲数 此按键电路为低电平有效,当无按键按下时,单片机输入引脚P1.0、P1.1、P1.2、P1.3端口均为高电平。当其中任一按键按下时,其对应的P1端口变为低电平,在软件中利用这个低电平设计其功能。软件中还设置了按键防抖动误触发功能,软件中设置定时器1 50ms中断一次,每次中断都对按键进行扫描,如果扫描到有按键按下,则延迟10ms,再次进行键扫描,若仍有按键按下,则按键为真,并从P1口读取数据,低电平对应的即为有效按键,如图3.3所示。 9 xxx毕业论文(设计)
图3.3 按键电路图
3.4 数据显示电路设计 3.4.1 数码管结构和显示原理
图3.4为数码管的引脚接线图,实验板上以P0口作输出口,经74LS244驱动,接8只共阳数码管S0-S7。表3.2为驱动LED数码管的段代码表为低电平有效,1-代表对应的笔段不亮,0-代表对应的笔段亮。若需要在最右边(S0)显示“5”,只要将从表中查得的段代码64H写入P0口,再将P2.0置高,P2.1-P2.7置低即可。设计中采用动态显示,所以其亮度只有一个LED数码管静态显示亮度的八分之一。 表3.2 驱动LED数码管的段代码
数字 0 1 2 3 4 5 6 7 8 9
d P0.7 1 0 1 1 0 1 1 0 1 1 p P0.6 0 0 0 0 0 0 0 0 0 0 e P0.5 1 0 1 0 0 0 1 0 1 0 c P0.4 1 1 0 1 1 1 1 1 1 1 g P0.3 0 0 1 1 1 1 1 0 1 1 b f a P0.0 1 0 1 1 0 1 1 1 1 1 十六进制 共阴 B7 14 AD 9D 1E 9B BB 15 BF 9F 共阳 48 EB 52 62 E1 64 44 EA 40 60 P0.2 P0.1 1 1 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 1 1
图3.4数码管的引脚接线图
10
xxx毕业论文(设计)
这里设计的系统先用 6 位LED数码管动态显示小型直流电机的转速。当转速高于六位所能显示的值(999999)时就会自动向上进位显示。
3.4.2 缓冲器74LS244
系统总线中的地址总线和控制总线是单向的,因此驱动器可以选用单向的,如74LS244。74LS244还带有三态控制,能实现总线缓冲和隔离,74LS244是一种三态输出的八缓冲器和线驱动器,该芯片的逻辑电路图和引脚图如图3.5所示。
从图可见,该缓冲器有8个输入端,分为两路——1A1~1A4,2A1~2A4。同时8个输出端也分为两路——1Y1~1Y4,2Y1~2Y4,分别由2个门控信号1G和2G控制,/1G, /2G三态允许端(低电平有效)。当1G为低电平时,1Y1~1Y4的电平与1A1~1A4的电平相同,即输出反映输入电平的高低;同样,当2G为低电平时,2Y1~2Y4的电平与2A1~2A4的电平相同。而当1G(或2G)为高电平时,输出1Y1~1Y4(或2Y1~2Y4)为高阻态。经74LS244缓冲后,输入信号被驱动,输出信号的驱动能力加大了。74LS244缓冲器主要用于三态输出的存储地址驱动器、时钟驱动器和总线定向接收器和定向发送器等。常用的缓冲器还有74LS240,241等。
图3.5 74LS244逻辑电路图
74LS244的极限参数如下:
电源电压 „„„„„„„„„„„„„„„„„„7V
输入电压 „„„„„„„„„„„„„„„„„„5.5V 输出高阻态时高电平电压 „„„„„„„„„„„5.5V
利用上述器件设计的显示电路如图3.6所示。8个共阳的LED数码管(S0-S7)同名的引脚连接在一起,由单片机P0口通过74LS244驱动(段控制),R12-R19 为限流电阻。单片机P2口的8个引脚分别通过三极管Q0-Q7控制8个LED数码管的公共端(位控制)。单
11
xxx毕业论文(设计)
片机的主时钟为12MHz。
P0口 和 P2口都是准双向口,输出时需要接上拉电阻。P0内部没有上拉电阻,P2口内部有弱上拉。所以P0口外围电路设计为低电平有效,高电平无效。要使数码管S0-S7的其中一个亮,其对应的P2端口要置高,P2的其余端口置低。如要让S0数码管亮,则要将P2.0置高,P2.1-P2.7置低即可。
系统将定时把显示缓冲区的数据送出,在数码管LED上显示。
图3.6 显示电路
3.5 稳压电源设计
如图3.7所示为5-12V连续可调稳压电源,采用L4960芯片制作的输出电流可达10A,输出电压在5-12V间连续可调,是一个实用的开关型稳压电源。其工作原理为:220V交流电源经变压器T1降压,桥堆VD1整流,C1、C2滤波后得到一直流电压。
IC第①、②脚为直流电压输入端,其最高输入电压为+40V。该直流电压经IC内部的
12
xxx毕业论文(设计)
振荡器调制为200kHz左右的高频开关电压,振荡器的开关频率由外接振荡电容器C4决定。当C4的值取为3300pF时,电源的开关频率约为200kHz;R3、C6为环路调节放大器的频率补偿网络,由第7脚输入。IC第④脚为抑制输入端,其闭锁电压的阈值为0.7V,输出电压经取样电阻R2反馈至第④脚后与R1比较,当阈值电压大于0.7V时,输出关闭,起到短路过流保护作用。第6脚为输出电压调节控制端,由电位器RP1及电阻R4将输出电压分压后得到调节电压检测值,调节电位器RP1可控制输出电压的大小,输出电压值可由
1Rh/RLR4进行估算。其中,Vref为基准电压,为2.1V。 公式:VO=VrefIC为专用开关型稳压集成电路L4960,其外壳接地并接散热器。IC外围电路中,除振荡电容C4选择高频电容器外,电阻R1、R2应选择允许偏差<1%的高精度金属膜电阻外,其余元件无特殊要求,按图中参数选取小型器件即可。由于输出电压为高频开关式,因此IC和功率三极管VT所需的散热器仅为普通稳压电源的三分之一,且性能远远高于普通的稳压电源。
图3.7 5-12V连续可调稳压电源电路
3.6 串行通信模块设计
STC89C51单片机有一个全双工的串行通信口,以便于单片机和电脑之间进行串口通信。为了与计算机进行通讯,设计了RS232串行通信接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。进行串行通信要满足一定的条件,比如电脑的串口是RS232电平(-5至-15V为1,+5至+15V为0),而单片机的串口是TTL电平(大于+2.4V为1,小于+0.7V为0),两者之间必有一个电平转换电路,图3.8用MAX232集成电路实现RS232电平与TTL电平的相互转换。此串行通信功能模块完成源程序代码下载到STC89C51芯片中,它需要和微机上的ISP下载器软件配合使用来完成这样的功能。
系统总电路为以上硬件各功能模块的有机结合,如图3.9所示。
13
xxx毕业论文(设计)
图3.8 MAX232串行通信
图3.9 系统总电路
14
xxx毕业论文(设计)
4 系统软件设计
本设计软件主要为主程序、数据处理显示程序、按键程序设计、定时器中断服务程序四个部分。
(1)主程序主要完成初始化功能,包括LED显示的初始化,中断的初始化,定时器的初始化,寄存器、标志位的初始化等。主程序流程图如图4.1所示。
(2)数据处理显示模块程序。此模块中单片机对在1秒内的计数值进行处理,转换成r/min送显示缓存以便显示。具体算法如下:设单片机每秒计数到n个值,即n/2 (r/s)(圆盘贴两个磁钢)。则n/2 (r/s)=30n(r/min)。即只要将计数值乘以30便可得到每分钟电机的转速。数据处理显示模块流程图如图4.2所示。
开始LED显示缓存初始化时钟寄存器初始化定时器中断初始化秒标志位flag=1LED显示初始化处理转速,转换成r/min调用数据处理程序转速的16进制数转换成10进制BCD码调用显示子程序送显示缓冲器调用按键处理程序返回
图4.1 主程序流程图 图4.2 数据处理显示模块流程图
15
xxx毕业论文(设计)
判断有无键按下? 键扫描延时10msNY取有效按键位读P1口N判断按键存在否?YP1.0=0?NP1.1=0?NYYYP1.2=0?N返回 显示时间 显示转速
清零,复位图4.3 按键程序流程图
(3)按键程序设计。按键程序包括按键防抖动处理、判键及修改项目等程序。按键流程图如图4.3所示。
(4)定时器1中断服务程序设计。定时器1完成计时功能,定时50ms,进行定时中断计数并每隔1s更新一次显示数据。流程图如图4.4所示。
16
xxx毕业论文(设计)
重置定时初值入栈保护50ms计数标志timecount加1timecount=20?YN读取TH0计数值出栈恢复返回
图4.4 定时器1中断服务程序流程图
5 制作调试 5.1 硬件调试
硬件调试时先分步调试硬件中各个功能模块,调试成功后再进行统调。安装固定电机
和霍尔传感器时,粘贴磁钢需注意,霍尔传感器对磁场方向敏感,粘贴之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。
霍尔传感器探头要对准转盘上的磁钢位置,安装距离要在10mm以内才可灵敏的感应磁场变化。在磁场增强时霍尔传感器输出低电平,指示灯亮;磁场减弱时输出高电平,指示灯熄灭。当电机转动时,感应电压指示灯高频闪烁,所以视觉上指示灯不会有多大的闪烁感。当给NJK 8002D 型霍尔传感器施加15V电压时其输出端可以输出4V的感应电压。
17
xxx毕业论文(设计)
输出幅值为4V的矩形脉冲信号。
LM358整形电路调试:在焊接硬件电路时需细心排除元器件和焊接等方面可能出现的故障,元器件的安装位置出错或引脚插错都可能导致电路短路或实现不了电路应有的功能,甚至烧坏元器件。为方便调试,用信号发生器产生的1KHz的正弦信号送给LM358整形电路,调试直到可以输出矩形脉冲信号为止,该整形电路调试即可完成。然后以此信号为测试信号送给单片机系统,进行测量、显示等其他功能的调试。
5.2 软件调试
测量系统与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB接口;拆除时先断开其电源,再断开串行通信电缆,否则极易损坏PC机的串口。
在进行软件编程调试时需要用到单片机的集成开发环境MedWin V2.39 软件,编程时极易出现误输入或其他的一些语法错误,最重要的还有一些模块无语法错误却达不到预期的功能,都要经过调试才能排除。MedWin V2.39 软件具有很强大的编程调试功能,能够模拟仿真实际单片机的端口和内部功能部件的状态值。该软件中有硬件调试和软件调试功能,可以观察单片机内存单元对应的运行值,可以显示单片机端口、中断、定时器1、定时器2还有串口对应的运行值。可以单步调试也可以模块调试,最好的是可以对你所怀疑的语句模块设置断点。MedWin V2.39 具有的强大的编译调试功极大地方便了对软件部分的调试。在具体调试过程中,系统将各功能模块如数据处理程序、按键程序设计、中断服务子程序、LED显示程序分别分开进行调试,最后进行主程序的整体调试。编译无误后生成目标代码BIN文件
采用STC 单片机下载软件STC-ISP将其下载到实验板的单片机中。下载软件的最后一步:点击软件STC-ISP界面中的[下载]按钮,在点击前一定要保持实验板的串行通信线及电源线与PC机连接良好,并且实验板的电源开关处于关闭状态,然后点击[下载]按钮,再打开实验板电源开关,此时软件将自动完成程序下载。最后将硬件和软件结合起来整体调试实现系统的测速功能。
6 测试结果分析
设计基本完成题目中的各项要求,其中电机转速的测量比较精确,与实际转速相差10
转/分左右,精度在全量程范围内优于10转/分,存在一定的误差,经分析主要是由以下原因造成:
1)由于电机的转盘是采用塑料盘片磨制而成,高速旋转时容易打飘不稳,导致获得的脉冲信号频率与实际转速有一定的误差。
18
xxx毕业论文(设计)
2) 中断处理的进入和中断处理程序都会有一定时间的误差,从而导致定时时间的误
差,这也是造成测量误差的一个因素。
3)在固定装置时,由于是手动操作,从而导致初始获得信号有一定的时差。
19
xxx毕业论文(设计)
结 论
霍尔传感器具有不怕灰尘、油污,安装简易,不易损坏等优点,在工业现场得到了广泛应用。利用霍尔传感器设计的转速测量系统以单片机STC89C51为数据处理核心,采用定时器定时中断的方法实现计数,对测量数据进行计算得到转速数据,并将结果送数码管显示。整个测量系统硬件电路简单,容易调试,软件部分编程采用C51,有较高的编程效率。测试结果表明对电动机转速的测量精度较高,基本能够满足实际的测试需要,有一定的实际应用价值。
20
xxx毕业论文(设计)
参 考 文 献
[1]何希才,薛永毅.传感器及其应用实例[M].北京:机械工业出版社,2004.1 [2]谭浩强.C程序设计(第二版)[M].北京:清华大学出版社,1999 [3]谢嘉奎,宣月清,冯军 . 电子线路[M].北京:高等教育出版社,2004 [4]康华光 .电子技术基础[M].北京:高等教育出版社,2004 [5]胡斌 . 图表细说电子元器件[M].北京:电子工业出版社,2004.5 [6][德]克劳斯·贝伊特.电子元件[M]. 北京:科学出版社,1999.8
[7]余锡存,曹国华.单片机原理与接口技术[M] .西安:西安电子科技大学出版社,2000.7
21
xxx毕业论文(设计)
致谢
附录A
部分程序清单:
//============源代码
22
xxx毕业论文(设计)
_HYTC================================================================ #include #define uchar unsigned char #define uint unsigned int //#include //const uchar code tab1[]={0x48,0xeb,0x52,0x62,0xe1,0x64,0x44,0xea,0x40,0x60}; //const uchar code tab2[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; //uchar buf[8]={0,0,0,0,0,0,0,0}; //unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code dispbit[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; unsigned char codedispcode[]={0x48,0xeb,0x52,0x62,0xe1,0x64,0x44,0xea,0x40,0x60,0xff,0xbf}; uchar dispbuf[8]={0,0,0,0,0,0,10,10}; uchar temp[8]; uchar dispcount; uchar T0count; uchar timecount; bit flag; unsigned long x;//timecount; void delay() ; void main(void) { unsigned char i; P1=0xdf; TMOD=0x15;//TH1定时,模式1;TH0计数,模式1 TH0=0; TL0=0; TH1=(65536-50000)/256; TL1=(65536-50000)%256; ET0=1; ET1=1;//TH0,1溢出允许中断 EA=1;//允许中断 TR1=1; TR0=1;//开始计数 while(1) { if(flag==1) 23 xxx毕业论文(设计) { flag=0; x=(T0count*65536+TH0*256+TL0)*30; //x=TH0*256+TL0; for(i=0;i<8;i++) { temp[i]=0; } i=0; while(x/10) //频率代码转换,存入temp[i],送显示缓存dispbuf[i] { temp[i]=x%10; x=x/10; i++; } temp[i]=x; for(i=0;i<6;i++) { dispbuf[i]=temp[i]; } timecount=0; T0count=0; TH0=0; TL0=0; TR0=1; } P0=dispcode[dispbuf[dispcount]]; P2=dispbit[dispcount]; dispcount++; delay(); if(dispcount==8) {dispcount=0;} } } void t0(void) interrupt 1 using 0 { T0count++; } void t1(void) interrupt 3 using 0 { TH1=(65536-46500)/256; TL1=(65536-46500)%256; 24 xxx毕业论文(设计) timecount++; if(timecount==20) { TR0=0; timecount=0; flag=1; } //P0=dispcode[dispbuf[dispcount]]; //P2=dispbit[dispcount]; // dispcount++; //if(dispcount==8) // { // dispcount=0; // } } void delay(void) { int i,j; for (i=0;i<5;i++) for (j=0;j<12;j++) { _nop_(); } } 25 因篇幅问题不能全部显示,请点此查看更多更全内容