《霍尔传感器测转速PPT课件》由会员分享,可在线阅读,更多相关《霍尔传感器测转速PPT课件(19页珍藏版)》请在金锄头文库上搜索。
1、霍尔传感器测速1实拍视频演示2一、霍尔传感器测速电路总体设计一、霍尔传感器测速电路总体设计1、总体硬件设计、总体硬件设计 使用单片机测量电机转速原理框图如使用单片机测量电机转速原理框图如下图下图2-1所示所示电机霍尔传感器单片机STC89S52液晶显示转速超速 报警电源3霍尔传感器测速原理图霍尔传感器测速原理图4 其测量过程大致是:测量转速的霍尔其测量过程大致是:测量转速的霍尔传感器和电机轴同轴相连,并在机轴上安传感器和电机轴同轴相连,并在机轴上安装一个小磁铁,机轴每转一圈,与霍尔传装一个小磁铁,机轴每转一圈,与霍尔传感器就接触一次,霍尔传感器感应磁场的感器就接触一次,霍尔传感器感应磁场的变化
2、通过上拉电阻在输出口会产生一个低变化通过上拉电阻在输出口会产生一个低电平,并送给单片机,相应的发光二极管电平,并送给单片机,相应的发光二极管就会发亮,单片机就会发亮,单片机IO口检测到下降沿触发口检测到下降沿触发中断,通过控制计数的时间,即可实现计中断,通过控制计数的时间,即可实现计数器的计数值对应机轴的转速值。单片机数器的计数值对应机轴的转速值。单片机将该值处理后,在液晶显示器显示出来。将该值处理后,在液晶显示器显示出来。一旦超速,单片机就会同过蜂鸣器发出报一旦超速,单片机就会同过蜂鸣器发出报警。总体硬件电路图和警。总体硬件电路图和PCB图如下图所示:图如下图所示:562、系统各部分电路、系
3、统各部分电路(1)传感器部分)传感器部分 霍尔传感器由电压调整电路、反相电源保护霍尔传感器由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和施密特触发器和OC门构成,通过上拉电阻可以将门构成,通过上拉电阻可以将其输出接入其输出接入CMOS逻辑电路。该传感器具有尺寸小、逻辑电路。该传感器具有尺寸小、稳定性好、灵敏度高等特点。其在电路中的作用是稳定性好、灵敏度高等特点。其在电路中的作用是利用霍尔传感器将电机转速转化为脉冲信号。其封利用霍尔传感器将电机转速转化为脉冲信号。其封装和连线如下图所示:装和连线如下图所示:78H
4、AL3144高灵敏度单极性霍尔开关HAL3144E是一款采用双极性工艺技术的单极性霍尔效应传感器IC,响应速度快,灵敏度高,具有略高的工作温度范围及可靠性,它由反向电压器、电压调整器、霍尔电压发生器、信号放大器、施密特触发器和集电极开路的输出级组成。9HAL3144霍尔开关的接口图10液晶显示部分:显示部分有两个功能,在正常情况下,通过液晶显示当前转速值,当电机的转速超过设定值通过蜂鸣器进行报警。其硬件和连线显示图如下图:11 (3)处理器部分处理器部分 处理器采用的是单片机,对霍尔传感器处理器采用的是单片机,对霍尔传感器的脉冲进行处理,并将结果送给显示器。的脉冲进行处理,并将结果送给显示器。
5、其程序如附录。其程序如附录。(4)报警部分)报警部分 报警部分采用蜂鸣器,当电机转速超过设报警部分采用蜂鸣器,当电机转速超过设定值时,处理器就会将蜂鸣器驱动发出警定值时,处理器就会将蜂鸣器驱动发出警报。报。12霍尔测转速的应用 日常生活中,我们可以用在测量自行车、转轮等各种运动的速度大小。利用V=2RN即可得出结果。 其中R为自行车轮子的半径,N为所测转速的大小。13附录附录void delay(uint ms) uint i,j; /为延时引入i,j两参数 for (j=0;jms;j+) /延时第一循环 for (i=0;i120;i+) ; /延时第二循环 /*-*/ /*-向LCD16
6、02写命令-*/ void write_command(uchar command) rs=0; /选择写命令 rw=0; P0=command; /向LCD写命令 lcdcs=1; /信号使能端高电平 lcdcs=0; /信号使能端低电平 /*-*/ /*-向LCD1602写数据-*/ 14void write_data(uchar data0) rs=1; /选着写数据 rw=0; P0=data0; /向LCD写数据 lcdcs=1; /信号使能端高电平 lcdcs=0; /信号使能端低电平 /*-*/ /*-外部中断0计数程序-*/ void counter(void) interru
7、pt 0 EX1=0; /关外部中断 count+; /转圈计数加1 z+; /计数+1 EX1=1; /开外部中断0 return; /*-*/ 15/*-LCD显示-*/ void displaytolcd() write_command(0x80); /向LCD1602写命令80H for (i=0;i120) /高于200转打开警告 18 warning=0; delay(100); /*-*/ /*-主函数-*/ void main() int_all(); /全局初始化 while(1) disp_count(); /数据处理 warning_speed(); /速警告 displaytolcd(); /LCD显示 /*-*/ 19