霍尔电压传感器(霍尔传感器介绍)

80酷酷网    80kuku.com

霍尔电压传感器(霍尔传感器介绍)

1879年,美国物理学家霍尔在研究金属的导电机制时发现:当电流垂直于外磁场通过导体时,载流子发生偏转,垂直于电流和磁场的方向会产生一附加电场,从而在导体的两端产生电势差。人们后来称这种现象为霍尔效应。也许连霍尔也没想到,他这一发现居然具有这么大的意义。现在基于霍尔效应的传感器已经应用在了生活和工程的各个领域。霍尔传感器不仅可以用来测量电流,电压,还能测量磁场,力,位移,速度等等。只有你想不到的,没有它做不到的。

今天我们来介绍一下创客领域中常用的霍尔传感器——线性霍尔磁力传感器。我们常用它来检测磁场,搭配上一块小磁铁,它就能实现更多的功能,比如目标定位,测量转速,计数等等。

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数


我们先来复习一下物理知识:霍尔效应。

当一个导电材料(实际运用中通常的半导体材料),接入电源中,形成一个回路,此时整个电路中就存在电荷的定向移动,形成电流。这时候,我们将导电材料放置在一个稳定磁场中,电荷因为受到洛仑兹力的作用而使轨迹发生偏移,并在材料两侧产生电荷积累,继而形成垂直于电流方向的电场,电荷累积到一定程度,电荷所受的电场力与洛伦兹力产生平衡。电荷不再继续累积。此时材料两侧建立起一个稳定的电势差即霍尔电压。正交电场和电流强度与磁场强度的乘积之比就是霍尔系数。平行电场和电流强度之比就是电阻率。

我们假设这块导体的高是d,宽是b,同时定义:

  • E: 电场强度;

  • e:单个粒子的电荷量;

  • n:单位体积的带电粒子数量;

  • B:磁通密度;

  • v:带电粒子移动速度;

  • I:回路电流大小

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

由电流基本定义知:

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

计算电荷洛伦兹力和电场力:

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

当洛伦兹力和电场力平衡时:

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

这里的U就是我们所说的霍尔电压。对于固定的材料,我们清楚地知道n、e、d的大小。这就意味着U和IB成正比。所以我们可以通过测量U的大小,检测电流I的大小,也可以判断是否有磁场B。


下面回到我们的主角:线性磁力霍尔传感器。

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

工作原理:

该模块是基于霍尔元件3144设计制作的模块。3144是基于双极半导体工艺设计和生产的霍尔器件,器件内部集成了霍尔效应片、电压调节器、反向电压保护器、信号放大处理电路、施密特触发器和一个开集电极输出驱动三极管。3144具有较宽的工作电压范围和较宽的工作温度范围,非常适合在汽车、工业电器和家电等产品中用作固态电子开关。霍尔器件结构牢固,体积小,重量轻,寿命长,安装方便,功耗小,频率高,耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀。

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

3144功能框图

该传感器模块使用宽电压LM393比较器,通过对霍尔元件传过来的值和电位器比较,可以直接输出高低电平,信号干净,波形好,驱动能力强,超过15mA。同时模块增加可调精密电位器调节灵敏度,大大增加了使用范围和便捷性。

引脚定义:

  1. VCC 电源正极

  2. GND 电源负极

  3. DO 数字量输出

  4. A0 模拟量输出(不同距离输出不同电压)

模块参数:

  • 工作电压:5V

  • 输出形式:数字开关量输出(0和1)

  • 板子尺寸:43mm*15mm


下面介绍一下Arduino的线性磁力霍尔传感器模块程序。实验:用磁铁触发霍尔传感器,检测到磁场时,蜂鸣器响。

硬件设备:

  • Arduino 控制器 × 1

  • 线性霍尔磁力传感器 × 1

  • 蜂鸣器模块 × 1

  • 杜邦线 × n

接线:

连接电路也非常的简单,只要连接好两个模块的电源,地线,再将霍尔磁力传感器模块的数据线DO与 Arduino 的数字端 2 数字引脚相连,Arduino 的数字端13与蜂鸣器信号端相连。

多功能霍尔磁力传感器,让你轻松搞定目标的定位、测速、计数

Arduino 接线图

程序:

int buzzer=13;             //定义蜂鸣器 接口int SENSOR=2;       //定义霍尔磁力传感器接口int val;                  //定义数字变量valvoid setup(){  pinMode(buzzer,OUTPUT);         //定义蜂鸣器为输出接口 pinMode(SENSOR,INPUT);         //定义霍尔磁力传感器为输入接口}void loop(){    val=digitalRead(SENSOR);         //将数字接口2的值读取赋给val    if (  val==HIGH  )              //  判断传感器信号		{      	digitalWrite(buzzer, HIGH);    }  	else  	{          digitalWrite(buzzer, LOW);  //当霍尔磁力传感器有信号时,蜂鸣器响    }}

上面程序十分简单吧,当然你也可以改一下,改为驱动LED灯,这样就变成了自动开关了。如果加上中断程序,这就可以作为计数器使用;加上定时器程序就能测速了,自行车的测速码表就是这个原理。

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: