Gleichstrommotor ansteuern



Ein Gleichstrommotor, auch DC Motor genannt (DC = Direct Current = Gleichstrom), kann nicht einfach an die stromschwachen Ausgänge eines Arduino gehängt werden. Abhilfe schafft hier ein sogenanntes Motor-Shield, das Du Dir hier besorgen kannst.

        motorshield

An dieses Motor-Shield kannst Du gleich zwei Gleichstrommotoren anschließen. Arduino kann jeden dieser Motoren dann unabhängig voneinander in seiner Drehzahl und Drehrichtung steuern.
Zusätzlich kann man noch den Stromverbrauch jedes Motors messen.

Mit so einem Shield und einem Arduino kannst Du Roboter bauen, die auf zwei Rädern oder zwei Ketten herumfahren und ihre Umwelt erkennen, ähnlich diesem hier von der Mikrocontrollerspielwiese:




Kleines Experiment:
Ein Gleichstrommotor wird an die Klemmen + und - für Motor A angeschlossen.
Er soll sich nacheinander langsam, mittel und schnell drehen. Erst in linksrum danach rechtsrum.

Betrachten wir einmal die Steuer-Pins, mit der Arduino das Shield steuert: 

Shield-Funktion Pins für Motor A Pins für Motor B
Drehrichtung Digital_12 Digital_13
PWM Digital_3 Digital_11
Bremsen (HIGH=bremsen)
Digital_9 Digital_8
Strommessung Analog_0 Analog_1


Damit ergibt sich folgender Programmcode:

void setup()
{
  pinMode(12, OUTPUT);   // Drehrichtung
  pinMode( 3, OUTPUT);   // PWM

  pinMode( 9, OUTPUT);   // Bremse
  digitalWrite(9, LOW);  // nicht bremsen
}


void loop()
{
  digitalWrite(12, LOW);  // linksrum
  analogWrite(3, 50);     // langsames Drehen
  delay(5000);
  analogWrite(3, 150);    // mittleres Drehen
  delay(5000);
  analogWrite(3, 250);    // schnelles Drehen
  delay(5000);

  analogWrite(3, 0);      // kein Drehen
  delay(5000);

  digitalWrite(12, HIGH); // rechtsrum
  analogWrite(3, 50);     // langsames Drehen
  delay(5000);
  analogWrite(3, 150);    // mittleres Drehen
  delay(5000);
  analogWrite(3, 250);    // schnelles Drehen
  delay(5000);
 
  analogWrite(3, 0);      // kein Drehen
  delay(5000);
}



Anstelle von zwei Gleichstrommotoren kann man auch einen Schrittmotor an das Shield anschließen.
Doch dazu später.