Adafruit Motor HAT v1

Last Updated on 30th September 2023 by Suffocation

Die Motorplatine ist perfekt für kleine Roboter-Projekte geeignet, bei denen 2 bis 4 Antriebsmotoren verwendet werden.

Zusätzlich bietet sie Anschlüsse für zwei Servos, Die analogen Ports sind durchgeschleift.

Facts

Hier die wichtigsten Daten im Überblick:

  • 2 Servoanschlüsse
  • 2 Motorbrücken
  • 1 shift register
  • Reset switch
  • 1 External voltage connection
  • 1 Power LED
  • Jumper – to interrupt the board voltage
DescriptionWorth
Logic Voltage [V]5
Motor output voltage [V]4,5 -25
Max current output per motor / peak [mA]600
Peak currents of up to [mA]1200
Servo voltage [V]5
Jumper separation supply voltage and board voltage1
Versorgungsspannung für Motor [V]4,5 -25
Key data

Addendum 30.09.2023Recent PCBs seem to function up to 36V output voltage

Wiring

Motorbrücken

Mit Hilfe der Motorbrücken können 4 Gleichstrommotoren oder 2  Schrittmotoren (mit 4 Leitungen) betrieben werden. Die L293D Motorbrücken können Motoren bis zu einem Strom vom 600mA versorgen. (Kurzzeitig bis zu 1,2 A). Wird ein höherer Strom benötigt können weitere L293D IC’s huckepack auf die vorhandenen aufgelötet und parallel betrieben werden.

Das Schieberegister, ermöglicht es mit nur 3 Pins des Arduinos die Drehrichtungen der Motoren zu bestimmen.

(evtl. mal einen Beitrag zum Scheiberegister einfügen…).

Für die Ansteuerung der Motoren gibt es unteranderem eine Bibliothek von Adarfruit. Diese kann über Git oder die Arduino GUI herunter geladen werden (siehe unten).

https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master

Die Motorbrücken belegen die folgenden Pins am Arduino:

  • Pin 11 Motor 1 – Speed
  • Pin 3  Motor 2 – Speed
  • Pin 5  Motor 3 – Speed
  • Pin  6  Motor 4 – Speed
  • Pin 4, 7, 8, 12 Richtungsvorgabe für alle Motoren über 74HC595 Register.

Servoanschlüsse

Das Bord verfügt über zwei Steckplätze für Standardservos. Jeder Steckplatz hat drei Pins jeweils einen für Strom, Masse und den Steuereingang.

Die Steuereingänge belegen die folgenden Pins am Arduino:

  • Pin 9 – Servo 1
  • Pin 10 – Servo 2

External power supply

Hier können von 4.5V bis zu 25V an Schraubklemmen angelegt werden. Bitte auf die Polung achten sonst rauchts …

Views

Operation

  • Two-axis plotter
  • 2 or 4 wheel robot
  • Pan/Tilt Tripod

Programming

Libraries

Ich habe mir die Bibliothek über GitHub herunter geladen und sie manuell installiert. Über die Arduino GUI geht es etwas einfacher.

Open Library Manager

Nach „motor“ suchen und die „Adafruit Motor Shield Library“ in der letzten Version installieren.  Aufgepasst es gibt eine „Adafruit Motor Shield V2“ diese kann leider nicht für die V1 Platine verwendet werden. (Motor board V2).

Code

Control servos

Im Grunde werden die Servos ganz normal über die Arduino Bibliothek angesprochen. Wichtig für die Motorplatine ist nur, dass hier die Servos an Port 9 und 10 angeschlossen sind.

Meine Billigservos, harkeln einwenig an den Endpunkten, diese könnte man noch ausschliessen indem man die Konstanten min und max anpasst.

Über den Faktor kann die Schrittgröße bestimmt werden und über wait die wartezeit zwischen den einzelnen Schritten.

[gistpen id=“629″]

ServoTest.ino

Controlling the engine

Für einen ersten Test habe ich das vorhandene Beispielprogramm verwendet.

Einfach auswählen, kopilieren und schon läuft Motor 1.

Um alle 4 Motoren zu testen, was nützlich erscheint um die Drehrichtungen (Polung) zu überprüfen, habe ich die Datei wie folgt angepasst.

MotorTest2.ino

The output should then look like this.

Control stepper motor

Basics of the stepper motor exist here.

Für die ersten Tests gibts ein Beispielprogramm.

Miscellaneous

Kompatibilität

The Shield can be used with the following boards.

Arduino Uno

Arduino Leonardo

Uno + WiFi

Bedingt kompatibel, es wird eine externe Spannungquelle benötigt um mehr als einen Servo zu betreiben.

Arduino Mega + WiFi

Conclusion

Die Platine kann 4 Motoren und zwei Servos ansteuern was für die meisten RC oder Roboter Projekte ausreichen dürfte. Leider belegt sie hierfür bei voller auslastung schon 10 IOs. Wer mehr IOs benötigt könnte mit der Version 2 of the circuit board be better off, but it is currently quite expensive.

Verwandte Beiträge

Sources

https://playground.arduino.cc/Main/AdafruitMotorShield

https://learn.adafruit.com/adafruit-motor-shield/library-install

https://learn.adafruit.com/adafruit-motor-shield

https://learn.adafruit.com/adafruit-motor-shield/faq

DateChangeAuthor
21.03.2018Post createdSuffocation

Leave a Reply

Your email address will not be published. Required fields are marked *