欢迎来到天天文库
浏览记录
ID:56422829
大小:1.50 MB
页数:19页
时间:2020-06-17
《霍尔传感器测转速.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、霍尔传感器测速实拍视频演示一、霍尔传感器测速电路总体设计1、总体硬件设计使用单片机测量电机转速原理框图如下图2-1所示电机霍尔传感器单片机STC89S52液晶显示转速超速报警电源霍尔传感器测速原理图其测量过程大致是:测量转速的霍尔传感器和电机轴同轴相连,并在机轴上安装一个小磁铁,机轴每转一圈,与霍尔传感器就接触一次,霍尔传感器感应磁场的变化通过上拉电阻在输出口会产生一个低电平,并送给单片机,相应的发光二极管就会发亮,单片机IO口检测到下降沿触发中断,通过控制计数的时间,即可实现计数器的计数值对应机轴的转速值。单片机将该值处理后,在液晶显示器显示出来。一旦超速,单片机就会同过蜂鸣器发出报警。总体
2、硬件电路图和PCB图如下图所示:2、系统各部分电路(1)传感器部分霍尔传感器由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门构成,通过上拉电阻可以将其输出接入CMOS逻辑电路。该传感器具有尺寸小、稳定性好、灵敏度高等特点。其在电路中的作用是利用霍尔传感器将电机转速转化为脉冲信号。其封装和连线如下图所示:HAL3144高灵敏度单极性霍尔开关HAL3144E是一款采用双极性工艺技术的单极性霍尔效应传感器IC,响应速度快,灵敏度高,具有略高的工作温度范围及可靠性,它由反向电压器、电压调整器、霍尔电压发生器、信号放大器、施密特触发器和集电极开路的输出级组成。
3、HAL3144霍尔开关的接口图液晶显示部分:显示部分有两个功能,在正常情况下,通过液晶显示当前转速值,当电机的转速超过设定值通过蜂鸣器进行报警。其硬件和连线显示图如下图:(3)处理器部分处理器采用的是单片机,对霍尔传感器的脉冲进行处理,并将结果送给显示器。其程序如附录。(4)报警部分报警部分采用蜂鸣器,当电机转速超过设定值时,处理器就会将蜂鸣器驱动发出警报。霍尔测转速的应用日常生活中,我们可以用在测量自行车、转轮等各种运动的速度大小。利用V=2RN即可得出结果。其中R为自行车轮子的半径,N为所测转速的大小。附录voiddelay(uintms){uinti,j;//为延时引入i,j两参数fo
4、r(j=0;j5、----------------------------*//*--------------------向LCD1602写数据--------------------*/voidwrite_data(uchardata0){rs=1;//选着写数据rw=0;P0=data0;//向LCD写数据lcdcs=1;//信号使能端高电平lcdcs=0;//信号使能端低电平}/*-------------------------------------------------------*//*-------------------外部中断0计数程序-------------------*/voidco6、unter(void)interrupt0{EX1=0;//关外部中断count++;//转圈计数加1z++;//计数+1EX1=1;//开外部中断0return;}/*-------------------------------------------------------*//*------------------------LCD显示------------------------*/voiddisplaytolcd(){write_command(0x80);//向LCD1602写命令80Hfor(i=0;i7、每一次传输一个字符{write_data(display[i]);delay(5);}}/*-----------------内部中断0计时计数程序-----------------*/voidTimer_0(void)interrupt1{TH0=(65536-50000)/256;//50ms定时TL0=(65536-50000)%256;msec++;if(msec==20)//50*20=
5、----------------------------*//*--------------------向LCD1602写数据--------------------*/voidwrite_data(uchardata0){rs=1;//选着写数据rw=0;P0=data0;//向LCD写数据lcdcs=1;//信号使能端高电平lcdcs=0;//信号使能端低电平}/*-------------------------------------------------------*//*-------------------外部中断0计数程序-------------------*/voidco
6、unter(void)interrupt0{EX1=0;//关外部中断count++;//转圈计数加1z++;//计数+1EX1=1;//开外部中断0return;}/*-------------------------------------------------------*//*------------------------LCD显示------------------------*/voiddisplaytolcd(){write_command(0x80);//向LCD1602写命令80Hfor(i=0;i7、每一次传输一个字符{write_data(display[i]);delay(5);}}/*-----------------内部中断0计时计数程序-----------------*/voidTimer_0(void)interrupt1{TH0=(65536-50000)/256;//50ms定时TL0=(65536-50000)%256;msec++;if(msec==20)//50*20=
7、每一次传输一个字符{write_data(display[i]);delay(5);}}/*-----------------内部中断0计时计数程序-----------------*/voidTimer_0(void)interrupt1{TH0=(65536-50000)/256;//50ms定时TL0=(65536-50000)%256;msec++;if(msec==20)//50*20=
此文档下载收益归作者所有