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

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

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

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

一、基本原理:速度测量是日常生活经常需要的工作,如汽车的行驶速度,电机的转动速度等。测量速度的方法多种多样,本设计以出租车为例,讨论用开关型霍尔传感器测量速度的原理和方法。

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.如果转速传感器触发中断时,转向传感器处于高电位,则为逆时针方向。

目录
相关文章
|
Kubernetes Cloud Native 关系型数据库
提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
【4月更文挑战第9天】提升数据安全与性能,掌握Helm一键部署MySQL 8.0主从技巧
892 0
|
4月前
|
算法 C++
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
基于移相控制与PI控制器的双有源全桥(DAB)控制实现
|
存储 Unix Linux
哪些工具可以烧录树莓派的操作系统镜像
除了常见的烧录工具,树莓派操作系统镜像还可以通过以下工具烧录: 1. **Etcher**:树莓派官方推荐的图形界面工具,支持多操作系统,使用简单,具备严格的设备验证和校验机制。 2. **dd 命令**:适用于 Linux 和类 Unix 系统,功能强大但需谨慎使用,适合熟悉命令行的用户。 3. **BalenaEtcher**:与 Etcher 类似,跨平台且操作简单,确保烧录过程的准确性和安全性。 初学者建议使用 Etcher 或 BalenaEtcher,熟悉命令行的用户可以选择 dd 命令。
|
11月前
|
存储 监控 数据可视化
设计行业如何借助协作软件提升团队协作力?
随着设计项目规模和复杂性的增加,设计行业越来越依赖协作软件来提高工作效率、加强团队协作、支持远程办公、实现文件版本控制等,确保项目高效推进。协作软件不仅优化了设计流程,还促进了创意交流和团队创新。
从零开始做逆变器系列 ( 二 ): 单极性、双极性、单极性倍频SPWM
从零开始做逆变器系列 ( 二 ): 单极性、双极性、单极性倍频SPWM
|
开发者
鸿蒙next版开发:ArkTS组件通用属性(组件标识)
在HarmonyOS 5.0中,ArkTS的组件标识(ID)为每个组件提供唯一标识符,方便开发者引用和操作组件。本文详细解读了id和key属性的使用方法,并提供了示例代码,展示了如何通过组件标识获取属性、发送事件及动态操作组件。
760 1
|
存储 分布式计算 负载均衡
什么是 HBase?其组件起什么作用?
【8月更文挑战第12天】
1733 4
|
存储 C语言 C++
C++遍历文件夹获取各文件名称并筛选指定格式类型的文件或具有特定名称的文件
C++遍历文件夹获取各文件名称并筛选指定格式类型的文件或具有特定名称的文件
290 1
|
监控 计算机视觉
绩效考核系统
绩效考核系统
801 2