您可能正在尋找一種設備,該設備可以檢測附近的磁場,或者用作非接觸式開關,用於需要防水保護的應用等。 在這種情況下,您可以使用 Hal效果傳感器我將向您展示其中之一,您需要將其與Arduino的未來項目集成在一起。 實際上,如果您要將它們與釹磁鐵一起使用,則可以從中獲得很多應用。
如您所見,這種類型的設備的連接非常簡單。 另外,它們是電子元件 非常便宜 而且您可以在許多專門商店或在線上輕鬆找到。 如果您想了解更多,可以繼續閱讀...
霍爾效應
它的名字來自第一個發現者,美國物理學家埃德溫·赫伯特·霍爾。 這 霍爾效應 當由於磁場在其中循環的導體內部的電荷分離而出現電場時,就會出現這種物理現象。 該電場(霍爾場)將具有與電荷運動和所施加磁場的垂直分量垂直的分量。 以此方式,除其他外,可以檢測到磁場的存在。
換句話說,當電流流過導體或半導體並且附近存在磁場時,可以驗證 磁力 在將它們重新組合到物料中的載重架中。 也就是說,電荷載流子將在導體/半導體的一側偏轉並聚集。 可以想像,這會導致該導體/半導體中電勢的變化,從而產生垂直於磁場的電場。
什麼是霍爾效應傳感器?
因此,一旦您了解了霍爾效應的工作原理,就可以討論組件或 霍爾效應傳感器 他們能夠利用這種現象進行一些實際應用。 例如,通過它們,您可以測量磁場。
這些元素廣泛用於 許多電子項目 和經常使用的設備。 例如,在車輛中,您可以在某些安全系統中找到它們,以測量凸輪軸在發動機中的位置,以測量流體速度,檢測金屬和長等。
與其他霍爾傳感器不同,這種霍爾效應傳感器的優點是 他們不需要聯繫。 也就是說,除了完全不受電子噪聲,灰塵等的影響,它們還可以遠程執行這些任務,因此它們在測量中非常耐用且可靠。 但是,它們的範圍是有限的,因為它們必須與生成的字段相距一定距離才能捕獲它。
類型
在霍爾效應傳感器中,您可以找到 兩種基本類型:
- 模擬量:它們是非常基本的設備,帶有一個引腳或輸出,該引腳或輸出將傳遞與其捕獲的磁場強度成比例的信號。 也就是說,它們類似於 溫度感應器, 緊張以及我們在此博客中詳細介紹的其他傳感器。
- 數字:對於數字的,它們比模擬的基本得多。 因為它們不提供與磁場成比例的輸出,但是如果有磁場,它們將提供高電壓值,而如果沒有磁場,它們將提供低電壓值。 也就是說,它們不能用於像模擬磁場一樣測量磁場,而只能檢測它們的存在。 此外,這些數字可以分為兩個附加子類別:
- 鎖存器:當一個鎖存器逼近並在出口處保持其值直到相反的立杆靠近時,此類鎖存器將被激活。
- 開關:在其他情況下,將不保留輸出,在移開極點後將其禁用。 不必拉近對極來改變輸出...
我建議您使用 釹磁鐵 它們是使這些霍爾效應傳感器正常工作的最佳選擇。
如果您正在尋找模擬型傳感器,一個不錯的選擇可能是 霍爾49E傳感器。 有了它,您可以檢測到磁場的存在,並對其進行測量。 例如,您可以測量附近的磁場,使用磁體製作轉速表,以測量軸或速度的每分鐘轉數,並檢測何時用磁體打開或關閉門等。 該傳感器可以在幾家商店中找到,僅需幾美分,如果您希望將其安裝在可與Arduino一起使用的模塊中的所有東西安裝在PCB上,則可以使用其他傳感器:
- 找不到產品。
- 找不到產品。
此外, 如果您正在尋找的是數字產品那你可以買 霍爾傳感器A3144,它也是開關類型,也就是說,無需更改極數。 這樣,您將能夠檢測到金屬物體的存在或是否存在磁場,甚至還可以像以前一樣創建一個RPM計數器。 這也很容易找到,它比上一個便宜,甚至比上一個便宜,無論是在鬆散的還是在模塊中:
- 找不到產品。
- 購買帶有霍爾效應A003的模塊KY-3144
對於模擬,您必須 查閱數據表 您購買的型號。 為了 例如,在49E中 您將找到一個如何測量磁場的圖形,它將幫助您創建公式,然後必須在Arduino源代碼中實現該公式,以計算檢測到的磁通量(mT)的密度。 在49E的情況下,它將是:B = 53.33V-133.3,由於它可以傳遞到其輸出的電磁範圍和電壓...
數字和模擬的共同點是 它具有的引腳數(引腳),在兩種情況下均為3。如果將霍爾傳感器的一面朝向您,即刻有銘文的一面朝向您,則左側的插針將為1,中央的插針將為2,而您右邊的一個將:3
- 1:在49E和A3144上均為5V電源引腳。
- 2:兩種情況下,控制單元都連接到GND或接地。
- 3:在兩種情況下都是輸出,即測量或檢測磁場並通過它產生電壓的輸出。 請記住,在數字形式中,它將僅使用兩個值,即高或低,而在模擬形式中,您可以應用前面的公式來了解如何檢測到該字段...
霍爾效應傳感器與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); } }
希望本指南對您有所幫助...