示例四、 开关式霍尔传感器测转速

本文详细介绍了使用开关式霍尔传感器测量汽车速度的原理,包括系统结构、硬件设计、软件编程和数据处理。通过AT89C2051单片机控制,利用霍尔传感器产生的脉冲计数实现转速测量,并给出了实际的软件代码和数据记录方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过以下几个示例来具体展开学习,了解常用的集成温度传感器基本原理、性能与应用,学习开关式霍尔传感器测转速的应用:

示例四、 开关式霍尔传感器测转速

一、基本原理:速度测量是日常生活经常需要的工作,如汽车的行驶速度,电机的转动速度等。测量速度的方法多种多样,本设计以出租车为例,讨论用开关型霍尔传感器测量速度的原理和方法。
1、霍尔测速仪的系统结构
霍尔测速仪系统以单片机AT89C2051为控制核心,用开关型霍尔集成传感器以计数方式测量汽车车轮的转动次数,单片机将计数结果换算成汽车运行速度值,送到液晶显示模块LCD1602上显示。系统硬件原理如图所示
在这里插入图片描述

2、霍尔测速仪的硬件设计
1)计数脉冲产生电路
如图547所示。在汽车的车轮上固定一块磁铁,汽车行走,车轮转动,磁铁一起转在汽车车体的某个固定位置安装霍尔传感器,汽车车轮每转一周,霍尔传感器与磁有一次磁接触,产生并输出一个开关信号。
2)光电隔离
霍尔传感器产生的开关信号可能并不适合单片机直接使用。因此,通过光电耦合器将其转换为单片机可采集的脉冲信号。单片机计算在固定时间内产生的脉冲数,即可得到速度值,如图所示。
在这里插入图片描述

霍尔传感器输出脉冲信号连到NT0引脚,车轮转动一圈,产生一次中断。单片机通过记录中断次数,完成对电机转动脉冲的计数。为简化设计,系统选用AT89C2051。若用逻辑信号代替霍尔传感器,系统仿真电路如图所示。

在这里插入图片描述

图系统仿真电路
在这里插入图片描述

3、霍尔测速仪的软件设计
系统启动后,首先进行初始化。单片机对霍尔传感器产生的脉冲进行读操作,作为速度的计数脉冲值。根据计数脉冲值,计算速度值,并在LCD上显示。工作流程如图所示。
系统采用AT89C2051的INT0中断,对转速脉冲进行计数。定时器T0工作于定时方式1,用于定时。每隔1s读一次由外部中断INT0产生的计数值,此值即为脉冲信号的频率,据此可计算出出租车的运行速度当车轮传动,磁铁转动时,霍尔传感器便在与磁铁相对时获得一个脉冲信号。这个脉冲信号经过光电耦合后接到单片机的外部中断INT0引脚,一个脉冲引起一次中断,让计数器加1。设车轮的周长为N(m),在T(s)内,测得的计数脉冲数为M,则出租车的速度为
U=N·M/T
在这里插入图片描述

二、软件设计:
霍尔测速仪的源程序:

#include "d:\c51\reg51.h"
#include "d:\c51\intrins.h"


sbit LCM_RS=P3^0;
sbit LCM_RW=P3^1;
sbit LCM_EN=P3^7;

#define BUSY  		0x80              //常量定义
#define DATAPORT 	P1
#define uchar 		unsigned char
#define uint   		unsigned int
#define L			50             //定义车轮周长
………………..
…………………
void main(void)
{
   	TMOD=0x01;                       /*TMOD T0选用方式1(16位定时) */
    IP|=0x01;                           /*INT0 中断优先*/
    TCON|=0x11;                         /*TCON  EX0下降沿触发,启动T0*/
    IE|=0x83;  
    TH0=0x3c;
    TL0=0xaf;
  
	initLCM();
   	WriteCommandLCM(0x01,1);		    //清显示屏
	for(;;)
	{
		account();
		display();
	}
}
void account()
{
	unsigned long a; 
	if (time!=0)
	{
		a=L*360000000/time;           //速度的计算公式
	}
	speed=a;
}



void STR()
{
	str0[0]='S';
	str0[1]='p';
	str0[2]='e';
    str0[3]='e';
	str0[4]='d';
	str0[5]=' ';	
	str0[6]=(speed%100000)/10000+0x30;
	str0[7]=(speed%10000)/1000+0x30;
	str0[8]=(speed%1000)/100+0x30;
	str0[9]='.';
	str0[10]=(speed%100)/10+0x30;
	str0[11]=speed%10+0x30;
	str0[12]='k';
	str0[13]='m';
	str0[14]='/';
	str0[15]='h';
}

在这里插入图片描述

三、数据记录:
1、霍尔传感器实验数据记录1
在这里插入图片描述

2、霍尔传感器的频率/速度曲线图

在这里插入图片描述
在这里插入图片描述

六、思考题:
利用开关式霍尔传感器测转速时如何判断转子的旋转方向?
1.测量转速的霍尔传感器用上升沿触发,当转速传感器触发中断时,查看转向传感器的电位,如果转向传感器处于低电位,那么就判断为顺时针方向(根据实际情况确定);
2.如果转速传感器触发中断时,转向传感器处于高电位,则为逆时针方向。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽筱北i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值