霍爾效應傳感器:您的Arduino項目需要了解的一切

霍爾效應傳感器

您可能正在尋找一種設備,該設備可以檢測附近的磁場,或者用作非接觸式開關,用於需要防水保護的應用等。 在這種情況下,您可以使用 Hal效果傳感器我將向您展示其中之一,您需要將其與Arduino的未來項目集成在一起。 實際上,如果您要將它們與釹磁鐵一起使用,則可以從中獲得很多應用。

如您所見,這種類型的設備的連接非常簡單。 另外,它們是電子元件  非常便宜 而且您可以在許多專門商店或在線上輕鬆找到。 如果您想了解更多,可以繼續閱讀...

霍爾效應

霍爾效應圖

它的名字來自第一個發現者,美國物理學家埃德溫·赫伯特·霍爾。 這 霍爾效應 當由於磁場在其中循環的導體內部的電荷分離而出現電場時,就會出現這種物理現象。 該電場(霍爾場)將具有與電荷運動和所施加磁場的垂直分量垂直的分量。 以此方式,除其他外,可以檢測到磁場的存在。

換句話說,當電流流過導體或半導體並且附近存在磁場時,可以驗證 磁力 在將它們重新組合到物料中的載重架中。 也就是說,電荷載流子將在導體/半導體的一側偏轉並聚集。 可以想像,這會導致該導體/半導體中電勢的變化,從而產生垂直於磁場的電場。

什麼是霍爾效應傳感器?

霍爾效應傳感器

因此,一旦您了解了霍爾效應的工作原理,就可以討論組件或 霍爾效應傳感器 他們能夠利用這種現象進行一些實際應用。 例如,通過它們,您可以測量磁場。

這些元素廣泛用於 許多電子項目 和經常使用的設備。 例如,在車輛中,您可以在某些安全系統中找到它們,以測量凸輪軸在發動機中的位置,以測量流體速度,檢測金屬和長等。

與其他霍爾傳感器不同,這種霍爾效應傳感器的優點是 他們不需要聯繫。 也就是說,除了完全不受電子噪聲,灰塵等的影響,它們還可以遠程執行這些任務,因此它們在測量中非常耐用且可靠。 但是,它們的範圍是有限的,因為它們必須與生成的字段相距一定距離才能捕獲它。

類型

在霍爾效應傳感器中,您可以找到 兩種基本類型:

  • 模擬量:它們是非常基本的設備,帶有一個引腳或輸出,該引腳或輸出將傳遞與其捕獲的磁場強度成比例的信號。 也就是說,它們類似於 溫度感應器, 緊張以及我們在此博客中詳細介紹的其他傳感器。
  • 數字:對於數字的,它們比模擬的基本得多。 因為它們不提供與磁場成比例的輸出,但是如果有磁場,它們將提供高電壓值,而如果沒有磁場,它們將提供低電壓值。 也就是說,它們不能用於像模擬磁場一樣測量磁場,而只能檢測它們的存在。 此外,這些數字可以分為兩個附加子類別:
    • 鎖存器:當一個鎖存器逼近並在出口處保持其值直到相反的立杆靠近時,此類鎖存器將被激活。
    • 開關:在其他情況下,將不保留輸出,在移開極點後將其禁用。 不必拉近對極來改變輸出...

我建議您使用 釹磁鐵 它們是使這些霍爾效應傳感器正常工作的最佳選擇。

如果您正在尋找模擬型傳感器,一個不錯的選擇可能是 霍爾49E傳感器。 有了它,您可以檢測到磁場的存在,並對其進行測量。 例如,您可以測量附近的磁場,使用磁體製作轉速表,以測量軸或速度的每分鐘轉數,並檢測何時用磁體打開或關閉門等。 該傳感器可以在幾家商店中找到,僅需幾美分,如果您希望將其安裝在可與Arduino一起使用的模塊中的所有東西安裝在PCB上,則可以使用其他傳感器:

  • 找不到產品。
  • 找不到產品。

此外, 如果您正在尋找的是數字產品那你可以買 霍爾傳感器A3144,它也是開關類型,也就是說,無需更改極數。 這樣,您將能夠檢測到金屬物體的存在或是否存在磁場,甚至還可以像以前一樣創建一個RPM計數器。 這也很容易找到,它比上一個便宜,甚至比上一個便宜,無論是在鬆散的還是在模塊中:

對於模擬,您必須 查閱數據表 您購買的型號。 為了 例如,在49E中 您將找到一個如何測量磁場的圖形,它將幫助您創建公式,然後必須在Arduino源代碼中實現該公式,以計算檢測到的磁通量(mT)的密度。 在49E的情況下,它將是:B = 53.33V-133.3,由於它可以傳遞到其輸出的電磁範圍和電壓...

數字和模擬的共同點是 它具有的引腳數(引腳),在兩種情況下均為3。如果將霍爾傳感器的一面朝向您,即刻有銘文的一面朝向您,則左側的插針將為1,中央的插針將為2,而您右邊的一個將:3

  • 1:在49E和A3144上均為5V電源引腳。
  • 2:兩種情況下,控制單元都連接到GND或接地。
  • 3:在兩種情況下都是輸出,即測量或檢測磁場並通過它產生電壓的輸出。 請記住,在數字形式中,它將僅使用兩個值,即高或低,而在模擬形式中,您可以應用前面的公式來了解如何檢測到該字段...

霍爾效應傳感器與Arduino集成

霍爾效應傳感器與Arduino的連接圖

了解了霍爾效應傳感器的工作原理以及需要了解的內容(描述了引腳排列)之後,您應該已經知道它的工作原理了。 連接到您的Arduino開發板。 在這種情況下,它將像這樣連接:

  • 您已經知道引腳1必須連接到Arduino的5V電壓輸出,以便在數字和模擬情況下都可以為其供電。
  • 中心引腳或2,您必須將其連接到Arduino板的GND或接地。
  • 對於引腳3,它取決於是模擬引腳還是數字引腳:
    • 模擬:將霍爾傳感器的引腳3直接連接到Arduino板的模擬輸入之一。
    • 數字:必須使用上拉電阻(例如1K)將引腳3和10橋接,才能使電路與A3144正常工作。 其他型號可能需要不同的電阻值...考慮到這一點,您可以將引腳3連接到Arduino板上的數字輸入。

與其連接的板的輸入數量無關緊要,只需記住該編號,然後正確創建即可 項目可用的源代碼。 在這種情況下,您選擇模擬還是數字之間也存在差異:

  • 的簡單代碼 類比 是:
const int pinHall = A0;
 
void setup() {
  pinMode(pinHall, INPUT);
  Serial.begin(9600);
}
 
void loop() {
 
  //Filtro para ruido con 10 medidas
  long measure = 0;
  for(int i = 0; i < 10; i++){
      int value = 
      measure += analogRead(pinHall);
  }
  measure /= 10;
  
  //Calcular el voltaje en mV que da la salida del sensor Hall
  float outputV = measure * 5000.0 / 1023;
  Serial.print("Voltaje de salida = ");
  Serial.print(outputV);
  Serial.print(" mV   ");
  
  //Interpolación a densidad del campo magnético (fórmula)
  float magneticFlux =  outputV * 53.33 - 133.3;
  Serial.print("La densidad del flujo magnético del campo es = ");
  Serial.print(magneticFlux);
  Serial.print(" mT");
  
  delay(2000);
}

  • 的簡單代碼 數字 將:
const int HALLPin = 2;
const int LEDPin = 13;
//El pin 13 en el esquema de nuestro ejemplo no pinta nada, pero se podría agregar un LED a dicho pin para que se encienda si detecta campo magnetico
 
void setup() {
  pinMode(LEDPin, OUTPUT);
  pinMode(HALLPin, INPUT);
}
 
void loop() {
  if(digitalRead(HALLPin)==HIGH)
  {
    digitalWrite(LEDPin, HIGH);   
  }
  else
  {
    digitalWrite(LEDPin, LOW);
  }
}

希望本指南對您有所幫助...


成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。