当前位置:文档之家› 霍尔传感器转速测量电路设计

霍尔传感器转速测量电路设计

课程设计报告书2.概述2.1系统组成框图系统由传感器、信号预处理电路、处理器、显示器和系统软件等部分组成。

传感器部分采用霍尔传感器,负责将电机的转速转化为脉冲信号。

信号预处理电路包含待测信号放大、波形变换、波形整形电路等部分,其中放大器实现对待测信号的放大,降低对待测信号的幅度要求,实现对小信号的测量;波形变换和波形整形电路实现把正负交变的信号波形变换成可被单片机接受的TTL/CMOS兼容信号。

处理器采用AT89C51单片机,显示器采用8位LED数码管动态显示。

本课题采用的是以8051系列的AT89C51单片机为核心开发的霍尔传感器测转速的系统。

系统硬件原理框图如图1所示:图1 系统框图2.2系统工作原理转速是工程上一个常用的参数,旋转体的转速常以每分钟的转数来表示。

其单位为 r/min。

由霍尔元件及外围器件组成的测速电路将电动机转速转换成脉冲信号,送至单片机AT89C51的计数器 T0进行计数,用T1定时测出电动机的实际转速。

此系统使用单片机进行测速,采用脉冲计数法,使用霍尔传感器获得脉冲信号。

其机械结构也可以做得较为简单,只要在转轴的圆盘上粘上两粒磁钢,让霍尔传感器靠近磁钢,机轴每转一周,产生两个脉冲,机轴旋转时,就会产生连续的脉冲信号输出。

由霍尔器件电路部分输出,成为转速计数器的计数脉冲。

控制计数时间,即可实现计数器的计数值对应机轴的转速值。

单片机CPU将该数据处理后,通过LED显示出来。

2.2.1霍尔传感器霍尔传感器是对磁敏感的传感元件,由磁钢、霍耳元件等组成。

测量系统的转速传感器选用SiKO 的 NJK-8002D 的霍尔传感器,其响应频率为100KHz ,额定电压为5-30(V )、检测距离为10(mm )。

其在大电流磁场或磁钢磁场的作用下,能测量高频、工频、直流等各种波形电流。

该传感器具有测量精度高、电压范围宽、功耗小、输出功率大等优点,广泛应用在高速计数、测频率、测转速等领域。

输出电压4~25V ,直流电源要有足够的滤波电容,测量极性为N 极。

安装时将一非磁性圆盘固定在电动机的转轴上,将磁钢粘贴在圆盘边缘,磁钢采用永久磁铁,其磁力较强,霍尔元件固定在距圆盘1-10mm 处。

当磁钢与霍尔元件相对位置发生变化时,通过霍尔元件感磁面的磁场强度就会发生变化。

圆盘转动,磁钢靠近霍尔元件,穿过霍尔元件的磁场较强,霍尔元件输出低电平;当磁场减弱时,输出高电平,从而使得在圆盘转动过程中,霍尔元件输出连续脉冲信号。

这种传感器不怕灰尘、油污,在工业现场应用广泛。

2.2.2转速测量原理霍尔器件是由半导体材料制成的一种薄片,器件的长、宽、高分别为 l 、b 、d 。

若在垂直于薄片平面(沿厚度 d )方向施加外磁场B ,在沿l 方向的两个端面加一外电场,则有一定的电流流过。

由于电子在磁场中运动,所以将受到一个洛仑磁力,其大小为:qVB f =式中:f —洛仑磁力, q —载流子电荷, V —载流子运动速度, B —磁感应强度。

这样使电子的运动轨迹发生偏移,在霍尔元器件薄片的两个侧面分别产生电子积聚或电荷过剩,形成霍尔电场,霍尔元器件两个侧面间的电位差H U 称为霍尔电压。

霍尔电压大小为: H U H R =d B I /⨯⨯(mV)式中:H R —霍尔常数, d —元件厚度,B —磁感应强度, I —控制电流 设 H K H R =d /, 则H U =H K d B I /⨯⨯(mV)H K 为霍尔器件的灵敏系数(mV/mA/T),它表示该霍尔元件在单位磁感应强度和单位控制电流下输出霍尔电动势的大小。

应注意,当电磁感应强度B 反向时,霍尔电动势也反向。

图2为霍耳元件的原理结构图。

若控制电流保持不变,则霍尔感应电压将随外界磁场强度而变化,根据这一原理,可以将两块永久磁钢固定在电动机转轴上转盘的边沿,转盘随被测轴旋转,磁钢也将跟着同步旋转,在转盘附近安装一个霍尔元件,转盘随轴旋转时,霍尔元件受到磁钢所产生的磁场影响,输出脉冲信号。

传感器内置电路对该信号进行放大、整形,输出良好的矩形脉冲信号,测量频率范围更宽,输出信号更精确稳定,已在工业,汽车,航空等测速领域中得到广泛的应用。

其频率和转速成正比,测出脉冲的周期或频率即可计算出转速。

3.基于霍尔传感器测转速系统的硬件设计3.1系统硬件电路图3 硬件电路图图2 霍尔元件的原理结构图OH137AT89C5110K20pfV CC+5VSNNSU O3.2系统总电路仿真图图4 硬件仿真图4.基于霍尔传感器测转速系统的软件设计本设计软件主要为主程序、数据处理显示程序、定时器中断服务程序三个部分。

(1)主程序主要完成初始化功能,包括LED显示的初始化,中断的初始化,定时器的初始化,寄存器、标志位的初始化等。

主程序流程图如图5所示。

(2)数据处理显示模块程序。

此模块中单片机对在1秒内的计数值进行处理,转换成r/min送显示缓存以便显示。

具体算法如下:设单片机每秒计数到n个值,即n/2 (r/s)(圆盘贴两个磁钢)。

则n/2 (r/s)=30n(r/min)。

即只要将计数值乘以30便可得到每分钟电机的转速。

数据处理显示模块流程图如图6所示。

图5 主程序流程图图图6 数据处理显示模块流程图(3)定时器1中断服务程序设计。

定时器1完成计时功能,定时50ms,进行定时中断计数并每隔1s更新一次显示数据。

流程图如图7所示。

图7 定时器1中断服务程序流程图5.制作调试5.1硬件调试硬件调试时先分步调试硬件中各个功能模块,调试成功后再进行统调。

安装固定电机和霍尔传感器时,粘贴磁钢需注意,霍尔传感器对磁场方向敏感,粘贴之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。

霍尔传感器探头要对准转盘上的磁钢位置,安装距离要在10mm以内才可灵敏的感应磁场变化。

在磁场增强时霍尔传感器输出低电平,指示灯亮;磁场减弱时输出高电平,指示灯熄灭。

当电机转动时,感应电压指示灯高频闪烁,所以视觉上指示灯不会有多大的闪烁感。

当给NJK 8002D 型霍尔传感器施加15V电压时其输出端可以输出4V的感应电压。

输出幅值为4V的矩形脉冲信号。

5.2软件调试测量系统与PC机连接时一定要先连接串行通信电缆,然后再将其电源线插入USB接口;拆除时先断开其电源,再断开串行通信电缆,否则极易损坏PC机的串口。

在进行软件编程调试时需要用到单片机的集成开发环境MedWin V2.39 软件,编程时极易出现误输入或其他的一些语法错误,最重要的还有一些模块无语法错误却达不到预期的功能,都要经过调试才能排除。

MedWin V2.39 软件具有很强大的编程调试功能,能够模拟仿真实际单片机的端口和内部功能部件的状态值。

该软件中有硬件调试和软件调试功能,可以观察单片机内存单元对应的运行值,可以显示单片机端口、中断、定时器1、定时器2还有串口对应的运行值。

可以单步调试也可以模块调试,最好的是可以对你所怀疑的语句模块设置断点。

MedWin V2.39 具有的强大的编译调试功极大地方便了对软件部分的调试。

在具体调试过程中,系统将各功能模块如数据处理程序、按键程序设计、中断服务子程序、LED显示程序分别分开进行调试,最后进行主程序的整体调试。

编译无误后生成目标代码BIN文件。

采用AT单片机下载相应的软件,将其下载到实验板的单片机中。

下载软件的最后一步:点击软件界面中的[下载]按钮,在点击前一定要保持实验板的串行通信线及电源线与PC机连接良好,并且实验板的电源开关处于关闭状态,然后点击[下载]按钮,再打开实验板电源开关,此时软件将自动完成程序下载。

最后将硬件和软件结合起来整体调试实现系统的测速功能。

6.测试结果分析设计基本完成题目中的各项要求,其中电机转速的测量比较精确,与实际转速相差10 转/分左右,精度在全量程范围内优于10转/分,存在一定的误差,经分析主要是由以下原因造成:1)由于电机的转盘是采用塑料盘片磨制而成,高速旋转时容易打飘不稳,导致获得的脉冲信号频率与实际转速有一定的误差。

2) 中断处理的进入和中断处理程序都会有一定时间的误差,从而导致定时时间的误差,这也是造成测量误差的一个因素。

3)在固定装置时,由于是手动操作,从而导致初始获得信号有一定的时差。

结论霍尔传感器具有不怕灰尘、油污,安装简易,不易损坏等优点,在工业现场得到了广泛应用。

利用霍尔传感器设计的转速测量系统以单片机AT89C51为数据处理核心,采用定时器定时中断的方法实现计数,对测量数据进行计算得到转速数据,并将结果送数码管显示。

整个测量系统硬件电路简单,容易调试,软件部分编程采用C51,有较高的编程效率。

测试结果表明对电动机转速的测量精度较高,基本能够满足实际的测试需要,有一定的实际应用价值。

致谢在这次课程设计的撰写过程中,我得到了许多人的帮助。

首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。

在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。

其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。

同时也感谢学院为我提供良好的做毕业设计的环境。

最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学。

参考文献[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附录 C语言程序#include <reg51.h>#include <stdio.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define DataPort P1sbit LATCH1=P2^0;//定义锁存使能端口段锁存sbit LATCH2=P2^1;//sbit PPP=P3^1;sbit zzz=P0^7;unsigned char codeHEYAO_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char codeTempData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; 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 Display(unsigned char FirstBit,unsigned char Num){static unsigned char i=0;do{DataPort=0xff; //清空数据,防止有交替重影LATCH1=1; //段锁存LATCH1=0;DataPort=HEYAO_WeiMa[i+FirstBit]; //取位码LATCH2=1; //位锁存LATCH2=0;DataPort=Temp[i]; //取显示数据,段码LATCH1=1; //段锁存LATCH1=0;i++;if(i==Num)i=0;delay();}while(PPP==1);}void main(){PPP=1;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){flag=0;x=(TH0*256+TL0)*5;if(x>6000){int i;for(i=0;i<30;i++){zzz=0;delay();zzz=1;delay();}}Temp[0]= TempData[x%10];Temp[1]= TempData[x%100/10];Temp[2]=TempData[x/100%10];Temp[3]=TempData[x/1000%10];Display(0,4);timecount=0;T0count=0;TH0=0;TL0=0;TH1=(65536-50000)/256;TL1=(65536-50000)%256;TR0=1;TR1=1;PPP=1;}}}void t0(void) interrupt 1{T0count++;}void t1(void) interrupt 3 using 0{TH1=(65536-50000)/256;TL1=(65536-50000)%256; timecount++;if(timecount==20){TR0=0;TR1=0;timecount=0;flag=1;}}void delay(){ int i;for (i=0;i<125;i++){ _nop_(); }}。

相关主题