基于霍尔转速传感器的发动机 转速检测仪的
天津农学院
结 课 论 文
题 目: 基于霍尔转速传感器的发动机
转速检测仪的设计
学生姓名 赵延伟
系 别 机电系
专业班级 2009级 农机专业 2 班
任课教师 赵金才
成绩评定
2011年12月
目录
1 前言..................................................3
2 传感器的选择..........................................3
2.1 霍尔传感器的简介.....................................3
2.2 霍尔传感器...........................................3
2.3 霍尔传感器的优势.....................................4
2.4 传感器的确立.........................................4
3 传感器的工作原理......................................5
3.1霍尔转速传感器测速原理................................5
3.2思路框图..............................................5
4 基于霍尔转速传感器系统的硬件设计...................... 6
4.1 硬件电路连接模块图...................................6
4.2转速信号处理电路设计..................................7
4.3单片机AT89C51的介绍..................................8
4.3.1 AT89C51简介........................................8
4.3.2 主要特性...........................................8
4.3.3 管脚分布...........................................8
4.4 LED显示的硬件图......................................9
5 单片机系统的软件设计..................................9
5.1 定时器的初始化.......................................10
5.2中断允许控制.........................................10
5.3 主程序
图.........................................11
2
5.4 主程序.................................................11
6 总结.....................................................12
7参考文献..................................................12
附录.......................................................13
附录1 单片机各引脚功能.....................................13
附录2 主程序...............................................14
3
基于霍尔转速传感器的发动机转速检测仪的设计 1 前言
在现代工程项目中,需要测量转速的地方极为普遍。仅以数控机床为例,实现主轴的旋转速度控制,就需要对主轴的转速进行实时测量;以及工作台的位移速度,大部分也是通过测量转轴的转速来间接测量的。以往传统的测量是主要以模拟方式为主,最典型的就是测速发动机。但随着集成电路技术的发展,是利用
根据与该设备同轴连接的霍尔转速传感器的输出脉冲频率与转速成正比的原理,脉冲发生器发出的脉冲速度和序列,测量转速,最后通过单片机为核心的数字化测量系统以其强大的处理能力结果由数码管显示出来。因此这种技术由于低成本、高可靠性得到了广泛应用。
2 传感器的选择
2.1 霍尔传感器的简介
目前发动机转速采集按传感器类型主要分电磁感应式、霍尔效应式和光电式3 种。霍尔转速传感器则是基于霍尔效应工作的,当一块置于磁场中的金属片上通过电流I时,在金属片的两侧会产生微量的霍尔电压u,该电压的大小会随着磁场强度的改变而变化,其输出的信号是矩形脉冲信号, 很适合于数字控制系统, 抗干扰能力强, 而且输出电压信号稳定, 只要存在磁场, 霍尔元件总是产生相同的电压, 其大小与转速无关,而且与被测物体的运动速度无关,即使是在发动机起动的低转速状态下, 仍能够获得较高的检测精度。根据这个特性,霍尔转速传感器对环境的要求不高,无论高速还是低速都能很好的使用,而且稳定性好、响应快、安装简便。本次测速系统设计中采用了霍尔转速传感器作为检测元件。
因此利用霍尔传感器来测量转速,根据磁场的变化来使霍尔传感器产生脉冲,经过单片机计数,再通过数据计算转化成所测转速,最后由数码管显示出来。
2.2 霍尔传感器
霍尔转速传感器安装在测速轮外侧间隔1~3mm,磁场由安装在测速轮上的磁
4
钢提供,当磁钢块经过霍尔传感器正前方时,磁通密度发生改变,霍尔元件便会产生脉冲信号并形成计数脉冲送入单片机中,由单片机完成计算得到相应的转速,通过LED显示速度的变化。测速轮上安装的磁钢块越多,带轮每转一圈传感器发出的脉冲也就越多。相应转速测量的精度也会提高。因此为了提高测量精度,需要在测速轮上加装多个磁钢块。
霍尔转速传感器的主要组成部分是传感头和齿圈,而传感头又是由霍尔元件、永磁体和电子电路组成的,传感器的定子上有2 个互相垂直的绕组A 和B, 在绕组的中心线上粘有霍尔片HA 和HB ,转子为永久磁钢,霍尔元件HA 和HB 的激励电机分别与绕组A 和B 相连,它们的霍尔电极串联后作为传感器的输出。如下图所示:
图1 霍尔传感器原理图
图2 霍尔器件的接线图
2.3 霍尔传感器的优势
光电编码器是一种通过光电转换进行工作的传感器,测量精度高。但是光电编码盘安装要求较高,由于软连接的原因,容易松动,可靠性差。而且安装需要一定距离,在一些无间隙,同光泽或相似光泽的物体上面会有误差产生。
磁电式转速传感器是利用电磁感应原理工作的,当测速轮旋转时,通过传感器线圈的磁力线发生变化,相应的回路中就产生周期性的感应电动势,通过对该
5
电压变化周期计数,就可计算出测速轮的转速。而且电压的大小与磁通量的变化率有关,速度越大,产生的电压就越大。因此虽然磁电式转速传感器结构简单、成本低,但在低速场合,磁电式转速传感器就会由于线圈上产生的感应电压太小而无法工作。
霍尔转速传感器是利用霍尔元件制成的,利用霍尔效应原理工作的:一个金属或半导体薄片置于磁场中,磁场垂直于薄片,当薄片通以电流Ie时,在薄片的两侧面上就会产生一个微量的霍尔电压UH,如果改变磁场上的强度,霍尔电压的大小亦随之改变,当磁场消失时,霍尔电压变为零。霍尔转速传感器的输出
对电磁波的抗干扰能力强 信号不会受到转速值的影响,而且
因此,通过了解以上三种传感器,发现霍尔传感器的优势更为显著。
2.4 传感器的确立
本文是对发动机转速的测量,确定了传感器的工作环境,通过以上的了解发现霍尔传感器有这方面的优势,所以本文最后选择霍尔转速传感器。
3 传感器的工作原理
3.1 霍尔转速传感器测速原理
根据霍尔效应原理,测量转速时,在非磁性的转盘上粘上一块磁钢,把霍尔传感器的感应面对准磁钢的磁极,并将其固定在机架上.机器轴旋转时,固定在转盘上的磁钢随之旋转,当磁钢转到传感器的位置时,霍尔传感器便输出一个脉冲信号,经施密特触发器整型,送到单片机的外部中断INT0引脚.转轴每转一圈霍尔传感器输出一个脉冲信号,相邻两个脉冲之间的时间间隔为转轴转一圈的时间,由此可计算出转轴的转速. 霍尔器件是由半导体材料制成的一种薄片,器件的长、宽、高分别为 l、,、,。若在垂直于薄片平面(沿厚度 ,)方向施加外磁场,,在沿,方向的两个端面加一外电场,则有一定的电流流过。由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:
f,qVB
f — 洛仑磁力
?—载流子电荷
,—载流子运动速度
,—磁感应强度
在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电
U场,霍尔元器件两个侧面间的电位差称为霍尔电压 H
霍尔电压:
U,R(mV) ,I,B/dHH
R—霍尔常数 H
,—元件厚度
6
,—磁感应强度
,—控制电流
传感器内置电路对该信号进行放大、整形,输出良好的矩形脉冲信号,测量频率范围更宽,输出信号更精确稳定,已在工业,汽车,航空等测速领域中得到广泛的应用。其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。
3.2 思路框图
LED显示 发动机 霍尔传感器 信号处理
单片
机处RAM 理 串口
键盘
图3 转速测量原理框图
发动机飞轮:信号的产生
霍尔传感器:用来对信号的采样
信号处理:对传感器送过来的信号进行放大和整形,在送入单片机进行数据的处
理转换
单片机:对处理过的信号进行转换成转速的实际值,送入LED Led显示:用来对所测量到的转速进行显示
串口:数据一位一位地按顺序传送
RAM:随机存储器
键盘:输入系统参数和输出测量结果
4 基于霍尔转速传感器系统的硬件设计
随着单片机的不断推陈出新,特别是高性价比的单片机的涌现,转速测量控制普遍采用了以单片机为核心的数字化和智能化系统对测量转速系统的硬件和编程进行研究,设计出一种以单片机为主的转速测量系统,保证了测量精度。
4.1 硬件电路连接模块图
7
图4 硬件电路连接
图5 转速测量系统安装示意图
4.2 转速信号处理电路设计
转速信号处理电路包括信号放大电路、整形及三极管整形电路。由于产生的电压信号很小,所以要进行放大处理,一般要放大至少1000 倍(?60dB),然后在进行信号处理工作。信号放大装置选用运算放大器TL084 作为放大电压放大元件,采用两级放大电路,每一级都采用反响比例运算电路如图4.4.设计的电压放大倍数为3000 倍。其中第一级放大倍数为30,第二级放大倍数为100.放大后电压变化范围为0,4.8V。TL084 采用12V 双电源供电,由于电源的供电电压在一定范围内有副值上的波动,形成干扰信号。为起到消除干扰,实现滤波作用,故供电电源两端需接10UF 的电容接地,电容选择金属化聚丙已烯膜电容。两级运放放大所采用的供电电源均采用此接法。
8
图6 信号处理电路图
整形电路的主要作用是将正弦波信号转化为方波脉冲信号,正弦波信号电压的最
。整形电路设计的是一种滞回电压比较器,它具大幅值约为4.8V,最小幅值为0V
有惯性,起到抗干扰的作用。从而向输入端输入的滞回比较器。在整形电路的输入端接一个电容C7(103),起到的作用是阻止其他信号的干扰,并且将放大的信号进行滤波,解耦。R11 和R17 是防止电路短路,起到保护电路的作用。
一次整形后的信号基本上为?5V 的电平的脉冲信号,在脉冲计数时,常用的是+5V 的脉冲信号。如果直接采用-5V 的脉冲计数,会增加电路的复杂性,故一般不直接使用,而是先进行二次整形。
第二次用三极管整形电路,当输出为-5V 的信号时,三极管VT2(8050)的基-射极和电阻R18 组成并联电路电流经过R18.R17,三极管VT2 处于反向偏置状态,所以,VT2 的集-射极未接通,故处于截止状态。电源回路由R19,三极管VT2 的集-射极组成,采用单电源+12V 供电,由于集射极截止,处于断路状态,故输出电压U0 为V。当第一次整形输出为+5V 的信号时,三极管VT2 基-射极处于正向偏置状态,有电流I通过,故此时三极管的集-射极处于通路状态。电源电流流经电阻R19,三极管的集-射极到地端,由于集-射极导通时的电阻很小,可以忽略不计。电源电压主要在R19 上,其输出电压约为0V。综上所述,三极管整形的电路的输入关系是:信号为-5V 时,U0=+12V;信号为+5V 时,U0=0V。
4.3 单片机AT89C51的介绍
4.3.1 AT89C51的简介
单片机AT89C51采用40引脚双列直插封装(DIP),其中左下角标有箭头的为第1 脚,然后按逆时针方向依次为第2 脚、第3 脚„„第40 脚。在40 个管脚中,其中有32 个脚可用于各种控制,比如控制小灯的亮与灭等,这32 个脚叫做单片机的“端口”,在单片机技术中,每个端口都有一个特定的名字,比如第一脚的那个端口叫做“P1.0”
9
4.3.2 主要特性
?三级程序存储器锁定
?128*8 位内部RAM
?32 可编程I/O 线
?两个16 位定时器/计数器 ?与MCS-51 兼容
?4K 字节可编程闪烁存储器 ?寿命:1000 写/擦循环 ?数据保留时间:10 年
?全静态工作:0Hz-24Hz ?5 个中断源
?可编程串行通道
?低功耗的闲置和掉电模式 ?片内振荡器和时钟电路
4.3.3 管脚分布
图7 AT89C51管脚分布
各个管脚的功能见附
1。
4.4 LED显示的硬件图
10
图8 LED显示的硬件
5 单片机系统的软件设计
设计的软件由主程序、数据处理程序、按键程序设计、中断服务子程序、LED显示程序五个主要部分组成。主程序主要完成初始化功能,包括LED显示的初始化,显示缓存的初始化,定时器的初始化,外部中断的初始化,寄存器、标志位的初始化等。根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用C 语言完成的,需要能掌握C 语言,还要熟练AT89C51 单片机。从程序流程图、编写程序、编译,到最后的调试,主程序流程图如下图所示:根据设计的要求,单片机的任务是:内部进行计数,在计算出速度后显示。软件编程用C 语言完成的,需要能掌握C 语言,还要熟练AT89C51 单片机。从程序流程图、编写程序、编译,到最后的调试,是很复杂的。下面作简单介绍:系统软件主程序的功能是完成系统的初始化、显示程序。
5.1 定时器的初始化
AT89C51 有两个定时器/计数器T0 和T1,每个定时器/计数器均可设置成为16位,也可以设置成为13 位进行定时或计数。计数器的功能是对T0 或T1 外来脉冲的进行计数,外部输入脉冲负跳变时,计数器进行加1。
定时功能是通过计数器的计数来实现的,每个机器周期产生1 个计数脉冲,
11
即每个机器周期计数器加1,因此定时时间等于计数个数乘以机器周期。定时器工作时,每接收到1 个计数脉冲(或机器周期)则在设定的初值基础上自动加1,当所有位都位1时,再加1 就会产生溢出,将向CPU 提出定时器溢出中断身请。当定时器采用不同的工作方式和设置不同的初值时,产生溢出中断的定时值和计数值将不同,从而可以适应不同的定时或计数控制。
(1) 工作方式寄存器TMOD 的设定:
GATE C/T M1 M0 GATE C/T M1 M0
(2)工作方式的确定:
M0 M1 工作方式 方式说明 0 0 0 13 位定时/计数
器 0 1 1 16 位定时/计数
器 1 0 2 8 位自动重置定
时/计数器 1 1 3 两个8 位定时/计
数器(只有T0 有)
5.2 中断允许控制
MCS-51 单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器IE 的各位来控制的。中断允许寄存器IE 的字节地址为A8H,可以进行位寻址。
IE D7 D6 D5 D4 D3 D2 D1 D0 A8H EA ET2 ES ET1 EX1 ET0 EX0
表4-2 中断位寻址表
EA:中断允许总控位。EA=0,屏蔽所有的中断请求;EA=1,开放中断。 ET2:定时器/计数器T2 的溢出中断允许位
ES:串行口中断允许位。
ET1:定时器/计数器T1 的溢出中断允许位。
EX1:外部中断INT1 的中断允许位。
ET0:定时器/计数器T0 的溢出中断允许位。
EX0:外部中断INT0 的中断允许位。
5.3 主程序流程图
12
开始
初始化
扫描键盘
等待中断
计算转速
是否超报警 限
否
显示
图9 主程序流程图
5.4 主程序
见附录2
6 总结
通过使用本文所述发动机测速方法及相应电路,可在不损失精度和分辨率的前提下获得快速响应,抗干扰能力强。本测速装置作为发动机转速测量模块获得了较好的应用。经过测试并对误差进行分析发现,该系统的测量误差在3%以内,并且在测量范围内无论转速高或转速低,都有较好的表现,有很高的性价比。
7 参考文献
【1】赵树磊,谢吉华,刘永峰.基于霍尔传感器的电机测速装置[J].江苏电器, 2008,
28(10): 53-56.
【2】肖衡,陈春俊,梁健.单片机在直流电机转速测量及控制中的应用,J,.计
量与测试技术.2005,(4):33.
13
【3】吴腾奇.霍尔传感器及其应用,J,.传感器世界,1997,(1):28-34. 【4】田汉波,赵英俊.一种基于线性霍尔传感器的直流电机转速测量方法,J,.
机械与电子,2007,(1):31-33.
【5】李树人,范琳生.转速测量技术[M].北京:中国计量出版社,1986.179-211. 【6】孙涵芳.单片机原理及应用.北京航空航天大学出版社,1996. 【7】何立民.单片机应用系统设计.北京航空航天大学出版社,1990. 【8】田汉波,赵英俊.一种基于线性霍尔传感器的直流电机转速测量方法[J].机械
与电子,2007(1):31-33.
8 附录
附录1:
单片机各个引脚功能:
?VCC:供电电压,
?GND:接地。
?P0 口:P0 口为一个8 位漏级开路双向I/O 口,每脚可吸收8TTL 门电流。当P1 口的管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数据存储
14
器,它可以被定义为数据/地址的第八位。在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:反向振荡放大器的输入及内部时钟工作电路的输入。
15
?XTAL2:来自反向振荡器的输出。
附录2:
主程序
#include
#define uchar unsigned char
#define uint unsigned int uint x,tim;
uchar code led[]=
{
0Xc0,/*0*/ //七段译码表
0Xf9,/*1*/
0Xa4,/*2*/
0Xb0,/*3*/
0X99,/*4*/
0X92,/*5*/
0X82,/*6*/
0Xf8,/*7*/
0X80,/*8*/
0X90,/*9*/
0X88,/*A*/
0X83,/*b*/
0Xc6,/*C*/
0Xa1,/*d*/
0X86,/*E*/
0X8e,/*F*/
};
uchar p[] = {0x01,0x02,0x04,0x08};
void delay_us(uint t) //us
{
do
t--;
while(t>1);
}
void delay_ms(uint t) //ms
{
while(t!=0)
{
delay_us(142);
t--;
}
16
}
void main()
{TMOD=0x15;
TH1=(65536-50000)/256;
-50000)%256; EA=1;ET1=1; TL1=(65536
TR1=1;
TH0=0;
TL0=0;
TR0=1;
while(1)
{
P0=~led[x/1000];
P2=~p[3];
delay_ms(2);
P0=~led[x%1000/100]; P2=~p[2];
delay_ms(2);
P0=~led[x%1000%100/10]; P2=~p[1];
delay_ms(2);
P0=~led[x%10];
P2=~p[0];
delay_ms(2);
}
}
void timer0() interrupt 3 {
tim++;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
if(tim==20)
{
x=(TH0*256+TL0)*60;TH0=0;
TL0=0;
tim=0;
}
}
17
18