将霍尔传感器与ATmega16一起使用的方法

描述

霍尔传感器的工作原理是 Edwin Hall 在 1869 年提出的霍尔效应。提出的声明说:“霍尔效应是在导体上产生电压差(霍尔电压),横向于导体中的电流以及垂直于电流的外加磁场。”

那么,什么是最简单的陈述形式才能更好地理解它呢?在本教程中,它将通过实际示例逐步解释。此处霍尔传感器将与 Atmega16 微控制器连接,当磁铁靠近霍尔传感器时,一个 LED 将用于显示效果。

什么是霍尔效应?

霍尔效应与磁场中的移动电荷有关。为了以实际的方式理解,将电池连接到导体,如下图(a)所示。电流 (i) 将开始通过导体从电池的正极流向负极。

微控制器

电子 (e - ) 的流动方向与电流的方向相反,即从电池的负极端子通过导体到电池的正极端子。此时,当我们测量导体之间的电压时,如下图(b)所示,电压为零,即电位差为零。

微控制器

现在带上磁铁并在导体之间产生磁场,如下图(c)。

微控制器

在这种情况下,当测量导体两端的电压时,将会产生一些电压。这种产生的电压称为“霍尔电压”,这种现象称为“霍尔效应”。

所需组件

A3144 霍尔传感器 IC

Atmega16微控制器IC

16Mhz 晶体振荡器

两个 100nF 电容器

两个 22pF 电容器

按钮

跳线

面包板

USBASP v2.0

LED(任何颜色)

电路原理图

微控制器

微控制器

为霍尔传感器编程 Atmega16

这里 Atmega16 使用 USBASP 和 Atmel Studio7.0 进行编程。完整的程序在项目结束时给出, 只需使用 JTAG 编程器和 Atmel Studio 7.0 上传 Atmega16 中的程序,如上一教程所述。

对 Atmega16 进行编程将很容易,并且只使用两个 PORT 引脚。一个端口引脚将用于从霍尔传感器获取读数。其他 PORT 引脚将用于连接一个 LED。首先,在程序中包含所有必要的库。

定义霍尔传感器读数的输入引脚。

#define hallIn PA0

这里霍尔传感器连接在 Atmega16 的 PORTA0 上,它被初始化用于读取状态。

DDRA=0xFE;

PINA=0x01;

如果磁铁在传感器附近,则打开 LED 或关闭 LED。检测基于 PORT 引脚的状态变化。

if(bit_is_clear(PINA,hallIn)){

PORTA=0b00000010;

}

否则{

PORTA = 0b00000000;

}

霍尔传感器的应用

霍尔传感器广泛用于需要测量磁场强度或检测磁极的任何地方。除此之外,通常可以找到很多应用程序。下面列出了一些应用程序:

作为手机中的接近传感器

汽车中的换档机构

旋转霍尔效应传感器

检查管道和管道等材料

转速检测

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分