• 【雕爷学编程】Arduino动手做(44)---类比霍尔传感器


    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试做实验,不管成功与否,都会记录下来---小小的进步或是搞不定的问题,希望能够抛砖引玉。 

    【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)

    实验四十四:类比霍尔磁性传感器 KY-035(模拟量)

    霍尔传感器(英文名称 hall sensor)

    是根据霍尔效应制作的一种磁场传感器。霍尔效应是磁电效应的一种,这一现象是霍尔(A.H.Hall,1855—1938)于1879年在研究金属的导电机构时发现的。后来发现半导体、导电流体等也有这种效应,而半导体的霍尔效应比金属强得多,利用这现象制成的各种霍尔元件,广泛地应用于工业自动化技术、检测技术及信息处理等方面。霍尔效应是研究半导体材料性能的基本方法。通过霍尔效应实验测定的霍尔系数,能够判断半导体材料的导电类型、载流子浓度及载流子迁移率等重要参数。

    磁场

    是一种看不见、摸不着的特殊物质,磁场不是由原子或分子组成的,但磁场是客观存在的。磁场具有波粒的辐射特性。磁体周围存在磁场,磁体间的相互作用就是以磁场作为媒介的,所以两磁体不用在物理层面接触就能发生作用。电流、运动电荷、磁体或变化电场周围空间存在的一种特殊形态的物质。由于磁体的磁性来源于电流,电流是电荷的运动,因而概括地说,磁场是由运动电荷或电场的变化而产生的。用现代物理的观点来考察,物质中能够形成电荷的终极成分只有电子(带单位负电荷)和质子(带单位正电荷) ,因此负电荷就是带有过剩电子的点物体,正电荷就是带有过剩质子的点物体。运动电荷产生磁场的真正场源是运动电子或运动质子所产生的磁场。例如电流所产生的磁场就是在导线中运动的电子所产生的磁场。

    霍尔元件的工作原理

    1.磁场中有一个霍尔半导体片,恒定电流I从A到B通过该片。在洛仑兹力的作用下,I的电子流在通过霍尔半导体时向一侧偏移,使该片在CD方向上产生电位差,这就是所谓的霍尔电压。

    2.霍尔电压随磁场强度的变化而变化,磁场越强,电压越高,磁场越弱,电压越低,霍尔电压值很小,通常只有几个毫伏,但经集成电路中的放大器放大,就能使该电压放大到足以输出较强的信号。

    3.若使霍尔集成电路起传感作用,需要用机械的方法来改变磁感应强度。下图所示的方法是用一个转动的叶轮作为控制磁通量的开关,当叶轮叶片处于磁铁和霍尔集成电路之间的气隙中时,磁场偏离集成片,霍尔电压消失。这样,霍尔集成电路的输出电压的变化,就能表示出叶轮驱动轴的某一位置,利用这一工作原理,可将霍尔集成电路片用作用点火正时传感器。霍尔效应传感器属于被动型传感器,它要有外加电源才能工作,这一特点使它能检测转速低的运转情况。

    许多优点

    霍尔元件是一种基于霍尔效应的磁传感器。用它们可以检测磁场及其变化,可在各种与磁场有关的场合中使用。霍尔器件具有许多优点,结构上比较牢固,体积小巧,重量轻,安装起来很方便,霍尔元件的功耗普遍很小,所以它的使用寿命很长。除此之外霍尔元件还有功耗小,频率高(可达1MHZ),耐震动,不怕灰尘、油污、水汽及盐雾等的污染或腐蚀的优良特点,被广泛应用于工业、汽车以及消费电子产品中。

    我手头用来做实验的有二只霍尔传感器模块,一个巧合,也是偶然发现的,二只原来是不一样的(上面的字很小),一个是44E,另一个是49E,正好来做不同品种的对比实验。

    查了一下资料

    44E属于单极开关型霍尔,输出高低电平信号(仅两个状态),常用于定位、计数与接近开关。

    49E是线性霍尔,输出模拟电压信号,随着磁场的极性和大小变化其输出电压相应变化。常用于角度控制、调速应用等。

    /*
    
    【Arduino】168种传感器模块系列实验(44)
    
    实验四十四:3144E霍尔磁性传感器 KY-035(开关量)
    
    */
    
     
    
    void setup()
    
    {
    
        Serial.begin(9600); 
    
        pinMode(A0,INPUT); 
    
        pinMode(13,OUTPUT); 
    
    }
    
     
    
    void loop() {
    
       Serial.println(analogRead(A0));
    
       delay(10);
    
      if (digitalRead(A0)) {
    
        digitalWrite(13,LOW);
    
      }
    
      else {
    
        digitalWrite(13,HIGH);
    
        delay(100);
    
      }
    
    }
    

      有磁场信号时(低电平)的波形,忽略小范围的噪音,还算挺规整的矩形波,不会误触发的

    实验二,霍尔49E模拟模块,输出模拟电压信号,随着磁场的极性和大小变化其输出电压相应变化。常用于角度控制、调速应用等。

    /*
    
    【Arduino】168种传感器模块系列实验(44)
    
    实验四十四:49E霍尔磁性传感器 KY-035(模拟量)之二
    
    */
    
     
    
    void setup()
    
    {
    
        Serial.begin(9600); 
    
        pinMode(A0,INPUT); 
    
        pinMode(13,OUTPUT); 
    
    }
    
     
    
    void loop() {
    
       Serial.println(analogRead(A0));
    
       delay(10);
    
      if (digitalRead(A0)) {
    
        digitalWrite(13,LOW);
    
      }
    
      else {
    
        digitalWrite(13,HIGH);
    
        delay(100);
    
      }
    
    }
    

      代码一样,硬件不同,波形也不一样了,本图是没有磁场时䣌波形,再下图是反映磁场强度不同的情况

  • 相关阅读:
    Java高并发学习笔记(四):volatile关键字
    Java高并发学习笔记(三):类加载
    Java高并发学习笔记(二):线程安全与ThreadGroup
    解决druid在OpenJDK11+Gradle中的依赖问题
    解决AUR无法正常升级WebStorm2021.1.1的问题
    论软件体系架构之质量属性
    以《淘宝网》为例,描绘质量属性的六个常见属性场景
    软件架构师如何工作
    泰坦尼克号数据分析
    当当网图书数据爬取和清洗
  • 原文地址:https://www.cnblogs.com/eagler8/p/11969979.html
Copyright © 2020-2023  润新知