- Einleitung
- Der Sensor
- Sondertyp
- Standardtyp
- Wie funktioniert das nun?
- Testaufbau
- Benötigte Materialien
- Hardware
- Software
- Die Verbindung des Hall-Effekt-Sensor mit dem Arduino
- Testprogramme
- Erkennen ob ein Magnet in der Nähe ist
- LED mit einem Magneten schalten
- Das Letzte
Einleitung
Vor einiger Zeit entdeckte ich bei einem Elektronik Händler Hall-Effekt-Sensoren zu einem unschlagbaren Preis. Also bestellte ich einige davon, bei 1,95€ für 10 Stk. kann man ja praktisch nichts verkehrt machen.
Während ich auf das Paket wartete machte ich mir gedanken wozu ich diese Sensoren denn nun verwenden könnte. Mir fielen auf Anhieb die folgenden Anwendungen für so einen Sensor ein, erkennen ob eine Tür- oder ein Fenster geschlossen ist, eine Drehzahlmessung oder einen Tachometer.
Der Sensor
Bei dem bestellten Hall-Effekt-Sensor HAL510UA-E-1-A-2-00 der Firma Micronas handelt es sich um einen unipolaren Sensor, das eigenartige an diesem Sensor ist, er taucht in keinem Datenblatt von Micronas auf. Der einzige Hinweis der sich finden lies, weisst darauf hin das die Typen mit den Temperaturbereichen „C“ und „E“ abgekündigt sind und das sind genau die Typen die der Händler anbietet.
Aus diesem Grund kann ich für die hier wieder gegebenen Angaben auch keine Gewähr übernehmen.
- Spezifikation der magnetischen Parameter bei TJ 25°C bis 100°C, VDD=3,8 V bis 24 V.
Die typischen Werte gelten für VDD=12 V.
Arbeitet mit statischen- und dynamischen Magnetfeldern bis 10 KHz.
Gruppe 1: Sondertyp
TJ (°C) BOn (mT) BOff (mT) Hyst (mT) min typ max min typ max min typ max -40 15,2 19,2 22 14,2 17 21,2 0,4 2,1 3 25 16 18 20 15 17 19 0,4 1 3 100 15 17 19 14 16 18 0,3 1 3 Gruppe 2: Standardtyp
TJ (°C) BOn (mT) BOff (mT) Hyst (mT) min typ max min typ max min typ max -40 15,2 19,2 22 14,2 17 21,2 0,4 2,1 3 25 15 18 21 14 17 20 0,4 1 3 100 14 17 20 13 16 19 0,3 1 3 Bei den oben spezifizierten Parametern handelt es sich um Messgrenzen.
Wie funktioniert das nun?
Der Hall-Effekt-Sensor arbeitet nach dem Prinzip des Hall-Effekts, der nach dem Physiker Edwin Hall benannt wurde und seine Entdeckung 1879 veröffentlichte. Der Effekt besagt, dass immer dann, wenn ein stromdurchflossener Leiter sich in einem Magnetfeld befindet, eine elektrische Spannung induziert wird. Diese Spannung fällt dabei senkrecht zur Stromflussrichtung am Leiter ab. Durch diese Spannungsänderung kann nun festgestellt werden ob sich der Sensor in der Nähe eines Magneten befindet oder nicht. Mit Hilfe des Arduino oder eines anderen Mikrocontroller kann diese Spannungsänderung ausgewertet werden, beim Arduino bietet sich dafür einer der Interrupt-Pins an. Die grundlegende Funktionsweise eines an den Arduino angeschlossenen Hall-Effekt-Sensors ist in dem folgenden Blockbild dargestellt.
Arbeitsweise des Hall-Effekt-Sensor am Arduino
Zusammenfassend kann man sagen, ein Hall-Effekt-Sensor ist ein Bauteil, das auf Änderungen im Magnetfeld reagiert. Es gibt eine Reihe verschiedener Typen von Hall-Effekt-Sensoren einige davon eignen sich für bestimmte Anwendungen besser als andere. Für Anwendungen, bei denen die Erkennungsgeschwindigkeit nicht entscheidend ist, können einfache Hall-Effekt-Sensoren wie z.B. der Allegro A3144E verwendet werden. Für Anwendungen, die eine hohe Erkennungsgeschwindigkeit benötigen, wie z.B. bei Geschwindigkeitsmessgeräten, sollten auch schnelle Hall-Effekt-Sensoren wie z.B. die Micronas Sensoren HAL509 oder HAL502 zur Anwendung kommen.
Weiterhin gibt es bei den Hall-Effekt-Sensoren noch verschiedene Ausführungen, z.B: Unipolar, Bipolar und Latch sowie digitale und analoge Sensoren.
- Unipolar: Der Sensor reagiert nur auf eine Polarität des Magnetfeldes (Nord- oder Süd Pol).
- Bipolar: Der Sensor reagiert auf beide Polaritäten des Magnetfeldes (Nord- und Süd Pol).
- Latch: Der Sensor reagiert nur auf abwechselnde Magnetfeldpolaritäten.
- Analog: Der Sensor liefert eine lineare Spannung die der Feldstärke entspricht.
- Digital: Der Sensor liefert entweder HIGH- oder LO-Pegel
Pinbelegung des HAL510
Der Testaufbau
Für den Testaufbau werden nur wenige Bauteile benötigt. Die in der Liste aufgeführten Positionen 1 und 5 sind nur zur Vervollständigung mit aufgeführt.
Benötigte Materialien
Hardware:
- Arduino oder ein Arduino-Klone (z.B. Freeduino) oder einen Eigenbau Arduino
- Einen Hall-Effekt-Sensor wie z.B. den HAL510UA-E-1-A-2-00 von Micronas, der sehr preiswert zu bekommen ist.
- Einen kleinen Magneten.
- Einen 10KOhm Widerstand.
- Eine 9V Battery mit Batterie-Clip.
- Anschlussdrähte und ein Steckbrett.
Software:
Arduino IDE
Die Verbindung des Hall-Effekt-Sensor mit dem Arduino
Die Verbindung des Hall-Effekt-Sensors mit dem Arduino ist wirklich einfach. Der VCC Pin des Sensors wird mit dem 5 V Pin des Arduino verbunden. Der GND Pin des Sensors wird mit dem GND Pin des Arduino verbunden. Der Vout – oder Signalstift des Hall-Effekt-Sensors wird mit einem Interrupt-Pin (Digital Pin 2) des Arduino verbunden. Weiterhin ist zwischen dem VCC – und dem Vout -Pin des Hall-Effekt-Sensors ein 10KOhm Widerstand anzuschließen. Dieser wird benutzt, um den Ausgang des Hall-Effekt-Sensors auf 5V zu ziehen. Die Verbindungen werden, wie in der folgenden Abbildung dargestellt, durchgeführt (Beschriftung des Hall-Effekt-Sensors zeigt dabei in Ihre Richtung):
Testprogramme
Erkennen ob ein Magnet in der Nähe ist
Nachdem der Hall-Effekt-Sensor mit dem Arduino verbunden wurde, muss nun noch der Code, den obigen Code mit Copy & Paste in die Arduino-IDE kopieren, hoch geladen werden. Der verwendet Arduino Code erkennt wenn ein Magnet in die Nähe des Hall-Sensor gebracht wird. Dieser sehr einfache Sketch, verwendet den Interrupt Pin 0 (Digital Pin 2) des Arduino.
Jedes mal wenn der Hall-Sensor einen Magneten erkennt, gibt er einen LO-Pegel (0 V) am Vout-Pin aus, dies führt dazu das der Arduino einen Interrupt auf der fallenden Flanke auslöst und die Funktion detectMagnet
aufgerufen wird. In dieser wird dann eine Mitteilung an die serielle Schnittstelle ausgegeben. Das Bildschirmfoto zeigt den seriellen Monitor, der die Meldung „Magnet erkannt“ ausgibt, wenn ein Magnet in die Nähe des Sensors gebracht wird.
Arduino und Hall-Ssensor bei der Arbeit
LED mit einem Magneten schalten
Das letzte
Zum Schluss möchte ich noch ein paar Anregungen aufzählen für die ein Hall-Effekt-Sensor verwendet werden kann.
- Tür- und Fensteralarm
- Tachometer für das Fahrrad
- Kontaktlose Schalter
- Windgeschwindigkeitsmesser
Das war es erst mal, ich hoffe das diese Informationen für den einen oder anderen nützlich sind. Und viel Spaß beim experimentieren.
Da die dargestellten Schaltungen und Programme nur dem Grundverständnis dienen sollen, kann ich für die Funktion keine Gewähr übernehmen.
Wie üblich kann ich für Schäden die durch die Verwendung der hier veröffentlichten Schaltungen und Programme entstehen keine Haftung übernehmen.
Alle genannten und durch Dritte geschützten Marken- und Warenzeichen unterliegen uneingeschränkt den Bestimmungen des jeweils gültigen Kennzeichenrechts und den Besitzrechten der jeweiligen eingetragenen Eigentümer. Allein aufgrund der bloßen Nennung ist nicht der Schluss zu ziehen, dass Markenzeichen nicht durch Rechte Dritter geschützt sind!