Spinning Current Hall-Sensor

Integrierte Hall-Sensoren (Allegro, Infineon, TI) haben Spinning Current eingebaut -- aber als Black Box. Man sieht nicht was passiert. In diesem Projekt bauen wir Spinning Current extern auf, mit einem nackten Hall-Element und diskreter Ansteuerung. Alles offen, alles messbar.

Warum dieses Projekt?

Ein nacktes Hall-Element hat eine Offset-Spannung -- auch ohne Magnetfeld liegt am Ausgang nicht exakt 0V. Bei einem typischen Silizium-Hall-Element können das 10--50 mT Äquivalent sein. Das ist ein Problem: Wenn du das Erdmagnetfeld messen willst (~50 µT), ist dein Offset 1000× größer als das Signal.

Integrierte Hall-ICs lösen das intern mit Spinning Current. Aber die Details sind verborgen. Hier machen wir das Ganze von außen, mit einem diskreten Hall-Element und einer eigenen Ansteuerung. So kann man jeden Schritt messen, jede Phase einzeln betrachten, und verstehen was wirklich passiert.

Das Prinzip

Die Theorie ist ausführlich im Hall-Sensor Artikel beschrieben. Hier die Kurzfassung:

Ein symmetrisches Hall-Element hat 4 Kontakte. Durch Rotation der Kontaktbelegung (welcher Kontakt bekommt Strom, welcher wird gemessen) ändert sich das Vorzeichen des Hall-Signals -- der Offset bleibt aber ortsfest im Kristall. Durch Mittelung über einen vollen Zyklus hebt sich der Offset auf.

4-Phasen-Zyklus

Phase Strom Messung Hall-Signal Offset
1 Aa → Ac Ab − Ad \(+V_H\) \(+V_{off}\)
2 Ab → Ad Ac − Aa \(+V_H\) \(-V_{off}\)
3 Ac → Aa Ad − Ab \(+V_H\) \(+V_{off}\)
4 Ad → Ab Aa − Ac \(+V_H\) \(-V_{off}\)

Mittelwert: \(\bar{V} = V_H + \frac{1}{4}(+V_{off} - V_{off} + V_{off} - V_{off}) = V_H\)

Der Offset ist exakt eliminiert -- keine Näherung. Jedenfalls im Modell. Warum das Modell trägt und wo es aufhört, ist der eigentlich interessante Teil.

Warum der Offset das Vorzeichen wechselt und das Hall-Signal nicht

Der entscheidende Punkt ist, dass die beiden Spannungsanteile aus verschiedenen Quellen stammen und deshalb unterschiedlich auf die Rotation reagieren.

Der Offset kommt aus der Unvollkommenheit des Kristalls: leicht asymmetrisch platzierte Kontakte, örtlich schwankende Dotierung oder Dicke, mechanische Spannung aus dem Gehäuse (die über den piezoresistiven Effekt den lokalen Widerstand ändert). Elektrisch verhält sich das Element damit wie eine Wheatstone-Brücke aus vier Widerständen, die nicht exakt abgeglichen ist. Diese Verstimmung ist eine Eigenschaft des Materials und sitzt fest im Kristall -- sie dreht sich nicht mit, wenn wir die Kontaktbelegung weiterschalten. Bezogen auf das jeweils messende Kontaktpaar kehrt sie deshalb bei jeder 90°-Drehung ihr Vorzeichen um.

Die Hallspannung dagegen entsteht aus der Lorentzkraft und folgt dem Kreuzprodukt \(\vec{F} = q\,\vec{v} \times \vec{B}\). Dreht man die Stromrichtung um 90°, dreht sich die Kraftrichtung auf die Ladungsträger mit -- und damit auch die Achse, auf der sich die Ladung ansammelt. Genau diese Achse ist aber die neue Messachse. Das Hall-Signal behält sein Vorzeichen relativ zum Messpaar.

Zwei Größen, ein Schaltvorgang, unterschiedliches Vorzeichenverhalten: Das ist der ganze Trick. Die Mittelung trennt anschließend, was sich physikalisch nicht trennen ließ.

Warum vier Phasen und nicht zwei

Zwei gegenüberliegende Phasen genügen bereits, um den Offset erster Ordnung aufzuheben -- das ist die 2-Phasen-Variante, die die Firmware ebenfalls beherrscht. Der volle 4-Phasen-Zyklus mittelt zusätzlich über beide orthogonalen Stromrichtungen und hebt damit auch die Anteile auf, die von einer Vorzugsrichtung im Kristall herrühren: anisotrope Beweglichkeit, gerichtete mechanische Spannung, Gradienten in der Dotierung. Der Preis ist die doppelte Zykluszeit.

Und warum der Restoffset trotzdem nicht null ist

In der Praxis bleibt immer etwas übrig, und die Gründe dafür sind der interessante Teil an der Messtechnik:

Daraus ergibt sich die zentrale Abwägung: Eine höhere Zyklusfrequenz drückt alles Langsame weg -- Thermospannungen, 1/f-Rauschen, Offsetdrift. Sie lässt aber pro Phase weniger Zeit zum Einschwingen und macht die Schaltartefakte relativ größer. Die optimale Frequenz ist genau der Punkt, an dem sich beide Fehlerbeiträge die Waage halten, und sie hängt an Element, Schaltern und Aufbau. Das ist der Grund, warum die GUI einen Schieberegler über sechs Dekaden hat.

Wie es andere machen

Spinning Current ist nicht das einzige Verfahren gegen den Offset, und es ist hilfreich zu wissen, wogegen man es vergleicht:

Verfahren Prinzip Grenze
Trimmen Offset einmalig im Werk abgleichen (Laser, Fuses) fängt nur den Anfangswert; Drift über Temperatur und Alterung bleibt
Chopper-Verstärker Signal wird moduliert, verstärkt, demoduliert -- der Verstärkeroffset bleibt zurück korrigiert den Verstärker, nicht das Hall-Element
Spinning Current Kontaktbelegung rotiert, Offset wechselt das Vorzeichen Restoffset aus Schaltartefakten und Einschwingen
Kombination Spinning Current am Element, Chopper im Verstärker das, was in modernen Hall-ICs tatsächlich steckt

Der Unterschied zum Chopper ist der wichtigste: Ein Chopper-Verstärker beseitigt den Offset seiner eigenen Eingangsstufe. Der Offset des Hall-Elements selbst sieht für ihn aus wie ein echtes Signal -- er kommt schließlich mit dem Nutzsignal aus derselben Quelle. Nur Spinning Current greift eine Ebene tiefer an, nämlich im Element.

Hardware

Stückliste

Bauteil Typ Bezugsquelle Bemerkung
Hall-Element AKM HG106C Mouser GaAs, 4-Terminal, SOT-143
Gate Driver (4×) TC4424A Mouser Dual MOSFET Driver, schaltet Stromrichtung
Controller Teensy 4.1 PJRC iMXRT1062, 600 MHz ARM Cortex-M7
Breakout-Board SOT-143 Adapter diverse HG106C ist SOT-143 — braucht Adapter für Breadboard

Warum AKM HG106C?

Wir verwenden bewusst ein GaAs-Element statt Silizium:

Warum TC4424A als Schalter?

Die 4 Kontakte des Hall-Elements müssen schnell zwischen Strom und Messung umgeschaltet werden. Der TC4424A ist ein Dual-MOSFET-Gate-Driver:

Pin-Belegung Teensy 4.1

IC Kontakt inpA (Strom) inpB (Messung)
IC1 Aa Pin 31 Pin 30
IC2 Ab Pin 29 Pin 28
IC3 Ac Pin 27 Pin 26
IC4 Ad Pin 12 Pin 11

Jeder TC4424A hat zwei Eingänge: inpA steuert den Bias-Strom, inpB den Mess-Ausgang. Pro Phase wird genau ein inpA und ein inpB auf HIGH gesetzt.

Firmware

Zwei Versionen existieren:

Arduino-Version (HallBiasing.ino)

Einfachere Variante, nutzt Teensy-spezifische digitalWriteFast() und delayNanoseconds(). Für den schnellen Einstieg.

Zephyr RTOS-Version (main.c)

Produktionsnahe Variante auf Zephyr 2.7 via PlatformIO. Verwendet ARM DWT Cycle Counter für Nanosekunden-Timing.

Serielle Kommandos

Beide Versionen verwenden dasselbe Protokoll (USB Serial, Newline-terminiert):

Kommando Funktion
STOP Alle Pins LOW, Leerlauf
CYCLE:n,s n-Phasen-Zyklus (n=2 oder 4), Start bei Phase s (1--4)
FREQ:xxxxx Phasendauer in Nanosekunden setzen
STATIC:s Phase s dauerhaft halten (für Einzelmessung)
STATUS Aktuellen Zustand abfragen

Timing

Der iMXRT1062 auf dem Teensy 4.1 läuft mit 600 MHz -- ein Taktzyklus ist 1,67 ns. Über den ARM DWT Cycle Counter (k_cycle_get_32() in Zephyr, ARM_DWT_CYCCNT direkt) können wir Phasendauern im Nanosekundenbereich steuern.

Default: 10 µs pro Phase → 25 kHz Zyklusfrequenz bei 4 Phasen.

Kontinuierlicher Strom

Ein wichtiges Detail: Beim Phasenwechsel geht der Strom des nächsten Kontakts zuerst an, bevor der aktuelle abgeschaltet wird. So fließt immer ein Biasstrom durch das Hall-Element -- es gibt keinen stromlosen Moment. Das vermeidet Einschwingeffekte.

// Phase transition: next ON before current OFF
pin_high(dev_a[next], inp_a[next].pin);  // next current ON
pin_low(dev_a[cur], inp_a[cur].pin);     // current OFF

Python-GUI

Die Steuerung erfolgt über eine Python/Tkinter-GUI (hall_ui.py), die über USB Serial mit dem Teensy kommuniziert:

Geplante Messungen

  1. Offset-Bestimmung: Statische Phase, kein Magnetfeld → Offset-Spannung pro Kontaktpaar messen
  2. Spinning Current Kompensation: 4-Phasen-Zyklus, kein Magnetfeld → Restoffset nach Mittelung
  3. Empfindlichkeit: Bekanntes Magnetfeld (Permanentmagnet mit bekannter Feldstärke) → \(V_H\) vs. \(B\) Kennlinie
  4. Frequenzabhängigkeit: Offset-Kompensation bei verschiedenen Zyklusfrequenzen (1 Hz bis 100 kHz)
  5. Si vs. GaAs Vergleich: Gleiche Messung mit einem Silizium-Hall-Element zum Vergleich

Bezugsquellen

Alle Bauteile für dieses Projekt:

Weiterführendes


Erstellt: 07.04.2026 · Zuletzt geändert: 17.08.2026