faecher:nwt:arduino:lernbaustein1:motorsteuerung:start

Dies ist eine alte Version des Dokuments!


Gleichstrommotoren steuern

Um einen Motor zu betreiben, reicht die elektrische Leistung des Mikrocontrollers nicht aus. Er kann zwar 5V Spannung erzeugen, aber keine hohen Ströme fliessen lassen. Mit einer externen Spannungsquelle1) und einer Transistorschaltung kann man zwar die höhere Leistung der externen Energiequelle nutzbar machen - allerdings könnte man den Motor nur ein- und ausschalten, aber nicht umpolen, um seine Drehrichtung zu ändern.

Deshalb verwenden wir zur Ansteuerung von Gleichstrommotoren eine Motortreiberplatine, mit der man zwei Motoren ansteuern kann.

Der zentrale Baustein auf der Motortreiberplatine heißt IC L298. IC steht für „Integrated Circuit“, also integrierter Schaltkreis. Im Inneren des L298 werkeln 8 geschickt mit einander verschaltete leistungsfähige Transistoren, eingebaut in ein einziges Gehäuse. Die Schaltung nennt man auch H-Brücke.

Je nachdem in welchem Zustand du dein Material vorfindest, musst du noch ein paar Vorbereitungen treffen. Der folgende Abschnitt ist versteckt, so kannst du ihn überspringen, wenn du schon fertig angeschlossene Motoren/Akkus/Motortreiber hast.

Andernfalls: Klappe die Infos aus!

Ausklappen!

Zunächst musst du den Motortreiber mit dem Arduino verkabeln:

Über die rechten beiden Input-Pins wird den rechts angeschlossene Motor gesteuert. Ist das eine HIGH und das andere LOW, dreht er sich in eine Richtung - umgekehrt In die andere. Sind beide HIGH oder LOW, steht er still. Die linken beiden Pins sind für den linken Motoranschluss.

(A1)

Verbinde die rechten beiden Pins mit den Pins 3 und 4 deines Arduino. Schreibe nun ein Programm, das immer wieder Pin 3 HIGH und Pin 4 LOW schaltet, zwei Sekunden wartet, dann beide Pins HIGH (oder LOW) schaltet und wieder zwei Sekunden wartet. Nun sollte der Motor laufen, stehen, laufen, stehen…

Nimm auf diese Weise auch den anderen Motor in Betrieb.

(A2)

Wenn du beide Motoren in Betrieb genommen und getestet hast, schreibe Unterprogramme für die folgenden Situationen:

  • „Beide vorwärts“: Beide Motoren sollen sich in eine Richtung drehen
  • „Beide rückwärts“: Beide Motoren sollen sich in eine Richtung drehen, aber andersherum als bei „Beide vorwärts“ l
  • „Links vorwärts“: Der linke Motor dreht sich, der rechte steht.
  • „Rechts vorwärts“: Der rechte Motor dreht sich, der linke steht.
  • „Stopp“: Beide Motoren stehen still

Mit diesen Unterprogrammen bist du der Steuerung eines Fahrzeugs schon recht nahe, das zwei Motoren als Hinterräder benutzt.


1)
Batterien, Akkupack
2)
Warum?
  • faecher/nwt/arduino/lernbaustein1/motorsteuerung/start.1603041515.txt.gz
  • Zuletzt geändert: 18.10.2020 19:18
  • von sbel