Der von Edwin Hall 1879 in seiner Dissertation erstmals beschriebene Effekt (Wikipedia) beschreibt das Verhalten von geladenen Teilchen, die sich durch ein Magnetfeld bewegen, das quer zu ihrer Bewegungsrichtung liegt. In einem stromdurchflossenen Leiter, auf den senkrecht dazu ein Magnetfeld wirkt, driften die Elektronen abhängig von der Richtung des einwirkenden Magnetfelds an einen Rand des Leiters. Dadurch entsteht zwischen den äußeren Rändern des Leiters aufgrund der Ladungsverschiebung eine Spannung.

Während in einem normalen Leiter mit kreisförmigem Querschnitt der Effekt minimal ist, kann man in einem rechteckigen Leiter mit größerer Fläche (z.B. einem flachen Plättchen) den Spannungsunterschied zwischen den Rändern des Leiters messen. Nach diesem Prinzip arbeitet ein Hall-Effekt Sensor.

Der Hall-Effekt ist zwar ein analoger Effekt, d.h. die messbare Spannung verändert sich mit der Stärke des einwirkenden Magnetfelds, die meisten handelsüblich verfügbaren Hall-Effekt Sensoren sind jedoch mit einem digitalen Ausgangspin ausgestattet und können damit zwar als berührungsloser Schalter (Switch) genutzt werden, nicht aber zur linearen Messung der Magnetfeldstärke.

Bei den Hall-Effekt Sensoren unterscheidet man verschiedene Funktionsweisen:

  • Latching Hall-Effekt Sensoren merken sich den zuletzt erkannten Zustand, behalten diesen auch bei Entfernung des Magneten bei und benötigen ein Magnetfeld in der entgegengesetzten Richtung, um den Zustand zu wechseln
  • Non-Latching Hall-Effekt Sensoren wechseln und während der Anwesenheit eines Magnetfelds den Zustand und fallen bei Entfernung des Magneten wieder in den Ausgangszustand. Diese Sensoren gibt es unipolar (erkennen nur eine magnetische Polarität) und bipolar (erkennen beiden Polaritäten)

Zum Einsatz am Arduino weit verbreitet sind Sensoren vom Typ US1881 (latching) und US5881 (non-latching), die in Online-Shops wie Adafruit und Sparkfun, aber auch bei Amazon erhältlich sind.

Die Sensoren verfügen über 3 Anschlüsse, die meistens (von der schmalen Seite aus gesehen) in der Reihenfolge [ +5V – GND – Signalpin ] angeordnet sind.

Sensoren wie der US1881 verfügen über einen Open-Collector Signalausgang und benötigen zusätzlich einen 10kOhm Widerstand zwischen +5V und dem Signalpin, um korrekt zu funktionieren (oder den internen Pull-Up Widerstand des Arduino-Pins).

Anschluss und Verwendung eines Hall-Effekt Sensors am Arduino seht ihr im folgenden Tutorial:

Hier der im Video verwendete Sketch:

const int ledPin = 7;
const int hallPin = 4;

void setup() {
  pinMode(4, INPUT);
  pinMode(7, OUTPUT);
}

void loop() {
  digitalWrite(ledPin, digitalRead(hallPin));
}

Bezugsquellen für einen US1881 oder kompatiblen Hall-Effekt Sensor:

sourcing map 10 Stücke U18 Hall Effekt Sensor Magnetischer Detektor 2.5-20V Schwarz de de
sourcing map 10 Stücke U18 Hall Effekt Sensor Magnetischer Detektor 2.5-20V Schwarz de de
Produktname: Hall-Effekt Sensor; Modell: U18; Spannung: 2.5-20V; Pin-Anzahl: 3; Pin Length : 16mm/ 0.63";Size : 19 x 4 x 1.5mm/ 0.75" x 0.16" x 0.06" (L*W*T)
6,99 EUR

Lineare Hall Effekt Sensoren sind etwas schwieriger zu finden, bei Amazon sind sie z.B. in diesen umfangreichen Sensor Kits enthalten:

3 thoughts on “Hall-Effekt Sensoren am Arduino verwenden

  • 6. Februar 2018 at 16:53
    Permalink

    Richtig interessant! Ein super Bauteil für ein eigenes Produkt. Ich bin schon seit langem am Überlegen, was man so erfinden und vermarkten könnte und gerade mit solchen Sensoren hebt man sich eben wirklich von den Standardprodukten ab. Und das ohne große Kosten ;)
    Und mittlerweile ist das ja auch wirklich einfach in der Herstellung. Die Elektronik baut man am Steckbrett vor und lässt sich dann nach diesem Vorbild Leiterplatten herstellen (einfach über Eurocircuits und Co.), Plastikteile können einfach gedruckt werden ( mit 3D Drucker) und damit hat man es in den meisten Fällen schon!
    Schon eine beeindruckende Zeit in der wir leben. Wenn man weiß was man macht! ;)

    Reply
  • 26. August 2019 at 13:06
    Permalink

    hallo Adi,
    habe von makerblog einen Winkelsensor V1 bestellt –
    Frage 1 : wie bekomme ich mit diesem Sensor eine Winkelanzeige in Grad?
    Frage 2: könnte ich auch kontaklos mit einem Hallsensor Winkel messen

    (den ADXL345 als Lagesensor kann ich aus patentrechtlichen Gründen leider nicht zur Winkelanzeige nutzen)

    Freundliche Grüße
    Gerhard

    Reply
  • 15. September 2019 at 15:30
    Permalink

    Habe gerade leider keinen frien Uno zur Hand, weil alle im einsatz sind und fleißig arbeiten. Ich werde es mal mit nem Raspi versuchen. Tolle Idee!

    Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Time limit is exhausted. Please reload the CAPTCHA.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.