Motor mit Hal-Sensor

Last Updated on 4. Oktober 2026 by sfambachLink-Status: OK

Mit Hilfe von Hall-Sensoren, Encodern oder Odometrien können die Umdrehungen von Motorwellen gezählt werden. Wie fein die Zählung ist, hängt von der Auflösung ab. Ich habe mir mal einen dieser Motoren mit Hall-Sensor angesehen, die Ergebnisse findet ihr hier zusammengefasst.

Fakten

Mein Motor hat 6 Anschlüsse. Zwei für die Motor 9V Versorgungsspannung und 4 für den Encoder. Zwei hiervon sind für die 5V Versorgungsspannung der beiden Hall-Sensoren und die anderen für die Signalleitungen.

  • Hall Sensor DC 5V
  • Motorspannung: DC 9V
  • Leerlaufstrom: ≤200mA
  • Laststrom: max. 1,2A
  • Motordrehzahl: Leerlauf 150 U / min – Last 100 U / min / min 
  • 150 Zähler des Encoders pro einer Wellenumdrehung

Anwendungsbereiche

  • Autonome Systeme zur Positionierung/Positionsbestimmung (Achtung sehr fehlerbehaftet).
  • Zur genauen Steuerung/Positionierung von Wellen (Beispiel Gimbal)

Ansichten

Hier ein paar Beispiele für Belegungen. Also genau hinschauen und am besten nur Motoren kaufen, bei denen die Belegung und die Betriebsspannungen klar sind.

Stückliste

  • Getriebemotor mit Encoder
  • Arduino Uno
  • Kabel

Programmierung

Schaltung

Der Encoder 1 hängt am Interruptpin 2. Den Motor selbst habe ich nicht mit Strom versorgt, da für diesen Test das manuelle Drehen der Welle reicht.

Arduino Uno + Getriebemotor mit Encoder
Arduino Uno + Getriebemotor mit Encoder

Bibliotheken

Eine zusätzliche Bibliothek ist nicht notwendig, der Arduino bringt schon alles mit.

Testprogramm

Das Testprogramm habe ich unter diesem LINKLink-Status: OK gefunden und auf meine Bedürfnisse angepasst. Das Beispiel verwendet den Interrupt des Arduinos. Da der Uno nur zwei hat, ist somit bei zwei Motoren Schluss. Der Arduino Mega und der ESP können da mehr.

Hier nun noch das Beispiel zum Downloaden:

So sieht es aus

Encoder Test Konsolenausgabe
Encoder Test Konsolenausgabe

Fazit

Den Encoder auszulesen erscheint simpel. Andrew Kramer beschreibt jedoch ein paar Ungenauigkeiten. Sollte der x

Wenn man jedoch die Motoren synchronisieren möchte, bietet der Encoder eine Möglichkeit, dies zu automatisieren.

Verwandte Beiträge

Quellen

Motor Encoders with ArduinoLink-Status: OK

https://goetzmd.de/diy/arduino/arduino-encoder-tutorial-fuer-anfaengerLink-Status: Kaputt

https://www.instructables.com/id/Motor-With-Encoder-How-to-Read-Input-Value-From-En/Link-Status: OK

https://www.allaboutcircuits.com/projects/use-an-arduino-to-control-a-motor/Link-Status: Unbekannt

https://www.digikey.de/de/blog/using-bldc-hall-sensors-as-position-encoders-part-3Link-Status: Unbekannt

https://www.instructables.com/Hall-Effect-Sensors-1-Position-Control/Link-Status: Unbekannt

https://makersportal.com/blog/2018/10/3/arduino-tachometer-using-a-hall-effect-sensor-to-measure-rotations-from-a-fanLink-Status: Unbekannt

https://hartmut-waller.info/arduinoblog/licht-schalten-hall-sensor/Link-Status: Unbekannt

https://store.arduino.cc/mega-2560-r3Link-Status: Unbekannt

DatumÄnderungAutor
04.10.2026Rechtschreibung korrigiert: Tippfehler, Kommas, Groß-/Kleinschreibung, Hal → Hallsfambach
03.10.2026Log-Liste eingefügtsfambach
16.06.2019Beitrag erstelltsfambach
Logbuch

Schreibe einen Kommentar

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