Menü Schließen

Motorentreiber

Stromversorgung und Anschluss von zwei Motoren am Calliope.

An den Calliope mini können zwei Motoren angeschlossen werden. Dazu ist er mit dem 2 x 2 mm kleinen Motorentreiber DRV8837 ausgestattet worden. Das ist ein einfacher H-Brücken-Treiber. Er ermöglicht es, Motoren anzubinden, die mehr Strom (bis 1,8 Ampére) und eine höhere Spannung (bis11 Volt) benötigen, als vom Board selbst bereitgestellt werden kann.

Der Begriff H-Brücke bezieht sich auf die Art der Verdrahtung von vier Schaltern im Innern des Motorentreibers (siehe Abbildung unten). Jeweils zwei Schalter pro Motoranschluss ermöglichen es, dort + oder – anzulegen. Damit ist die Stromrichtung für einen Motor umkehrbar und er kann somit in zwei Richtungen (vor- und rückwärts) drehen.

DRV8837 Schaltschemata
Stromversorgung und Anschluss von zwei Motoren am Arduino.

Sollen zwei Motoren angeschlossen werden, gelingt deren Betrieb nur, wenn jeweils ein Anschluss fest mit – (GND) verbunden wird. Die zweiten Anschlüsse müssen über den Motorentreiber mit + (Pluspol der Batterie) verbunden werden, um die Motoren zum Laufen zu bringen. Die Steuermöglichkeiten sind damit beschränkt auf an/aus. Ein zweimotoriges Fahrzeug kann somit geradeaus (beide Motoren an), nach links (rechter Motor an) oder nach rechts (linker Motor an) fahren. Rückwärtsfahrt ist nicht möglich, weil eine Umpolung steuertechnisch ausgeschlossen ist.

Mini-Motor

Für den Arduino gibt es Motoren wie der links abgebildete, die sich mit den 5 Volt und 40 Milliampére aus den GPIO-Pins betreiben lassen. Durstigere Motoren wie die rechts abgebildeten benötigen einen Motorentreiber. Dafür empfiehlt sich ein L293D, der sich gut mit einen Arduino Nano auf einem Breadboard verbauen lässt und so vergleichbar viel Platz benötigt wie der Calliope mini.

L293D Schaltschema

Der L293D verbirgt zwei H-Brücken in seinem Innern, sodass zwei Motoren vollumfänglich angesteuert werden können. Das heißt, sie können gestartet und gestoppt werden sowie vor- und rückwärts laufen. Das ist ein deutlicher Vorzug gegenüber dem Calliope mini mit seinem einfachen H-Brücken-Treiber.

Wie ein Fahrzeug mit einer solchen Ausstattung programmiert werden kann zeigt der folgende Beispielcode. Mit ihm fährt das Fahrzeug ein Stück geradeaus, dreht auf der Stelle und kommt zum Ausgangspunkt zurück.

 void setup() {
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT); 
  pinMode(11, OUTPUT); 
  
  analogWrite(6, 150);
  digitalWrite(9, LOW);
  analogWrite(10, 150); 
  digitalWrite(11, LOW);
  delay(3000); //beide Motoren 3s gleichsinnig mit regulierten Drehzahlen
  digitalWrite(6, LOW);
  digitalWrite(10, LOW);
  delay(500); // beide Motoren stoppen kurz
  analogWrite(9, 150); 
  analogWrite(10, 150);
  delay(400); // Motoren drehen gegensinnig (auf der Stelle wenden)
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  delay(500); //beide Motoren stoppen kurz

  analogWrite(6, 150); 
  analogWrite(10, 150);
  delay(3000); //beide Motoren 3s gleichsinnig mit regulierten Drehzahlen 
  digitalWrite(6, LOW); 
  digitalWrite(10, LOW);
  } 
void loop() {  
}