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:

Produkte von Amazon.de

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

 

One thought on “Hall-Effekt Sensoren am Arduino verwenden

  • 6. Februar 2018 um 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! ;)

    Antworten

Schreibe einen Kommentar

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

Time limit is exhausted. Please reload the CAPTCHA.