faecher:nwt:arduino:lernbaustein1:motorsteuerung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
faecher:nwt:arduino:lernbaustein1:motorsteuerung:start [11.10.2020 19:55] – [Motorvorbereitung] sbelfaecher:nwt:arduino:lernbaustein1:motorsteuerung:start [02.02.2023 10:30] (aktuell) – [Steuerung des Motortreibers] sbel
Zeile 6: Zeile 6:
 Deshalb verwenden wir zur Ansteuerung von Gleichstrommotoren eine **Motortreiberplatine**, mit der man zwei Motoren ansteuern kann.  Deshalb verwenden wir zur Ansteuerung von Gleichstrommotoren eine **Motortreiberplatine**, mit der man zwei Motoren ansteuern kann. 
  
-{{ :faecher:nwt:arduino:lernbaustein1:motorsteuerung:motortreiber.png?300 |}}+{{ :faecher:nwt:arduino:lernbaustein1:motorsteuerung:motortreiber.png?700 |}}
  
  
Zeile 59: Zeile 59:
 Betrachte den Motortreiber von vorne (siehe Bild rechts). Betrachte den Motortreiber von vorne (siehe Bild rechts).
  
-  * Schließe das schwarze Kabelende des USB-Kabels am mittleren Anschluss des Dreierterminals an.+  * Schließe das schwarze Kabelende des USB-Kabels und das verzinnte Ende des Masse-Kabels am mittleren Anschluss des Dreierterminals an.
   * Schließe das rote Kabelende des USB-Kabels am linken Anschluss des Dreierterminals an.   * Schließe das rote Kabelende des USB-Kabels am linken Anschluss des Dreierterminals an.
  
 <WRAP center round tip 60%> <WRAP center round tip 60%>
-Wenn du dir sicher bist, dass du alles korrekt angeschlossen hast, kannst du den USB Stecker in die Powerbank einstecken - wenn du unsicher bist, lasse deinen Aufbau kontrollieren.+**Wenn du dir sicher bist, dass du alles korrekt angeschlossen hast**, kannst du den USB Stecker in die Powerbank einstecken - wenn du unsicher bist, lasse deinen Aufbau kontrollieren.
  
 Wenn alles klappt, solte die rote LED auf dem Motorregler leuchten - deine Motoren sind jetzt bereit, vom Arduino über den Motorregler gesteuert zu werden. Wenn alles klappt, solte die rote LED auf dem Motorregler leuchten - deine Motoren sind jetzt bereit, vom Arduino über den Motorregler gesteuert zu werden.
Zeile 72: Zeile 72:
 ===== Motorsteuerung ===== ===== Motorsteuerung =====
  
-Ü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.  
  
 +Zunächst musst du den Motortreiber mit dem Arduino verkabeln:
  
 +{{ :faecher:nwt:arduino:lernbaustein1:motorsteuerung:verkabelung-basis_steckplatine.png?600 |}}
 +
 +{{ :faecher:nwt:arduino:lernbaustein1:motorsteuerung:fertig.jpg |}}
 +
 +
 +===== Steuerung des Motortreibers =====
 +
 +
 +{{ :faecher:nwt:arduino:lernbaustein1:motorsteuerung:l289.png?300 |}}
 +Die angeschlossenen Motoren werden über die untere Pin Leiste gesteuert (Beschriftung ENA, IN1, IN2, IN3, IN, ENB). Die drei Pins links steuern den Motor, der an den linken Anschlüssen angeschlossen ist, die Pins rechts den auf der rechten Seite.
 +
 +Die mit ENX beschrifteten Pins dienen dazu, die Energiezufuhr zu regulieren, was dazu führt, dass sich die Motoren schneller oder langsamer drehen. Je höher die Spannung an der ENX Pins ist, desto mehr Energie erhalten die zugehörigen Motoren.
 +
 +Wenn die ENX Pins nicht angeschlossen sind, ist die Spannung 0 und der betreffende Motor dreht sich nicht.
 +
 +Die mit INX bezeichneten Pins legen die Drehrichtung fest:  Ist einer HIGH und der andere LOW, dreht sich der Motor in eine Richtung - vertauscht man HIGH und LOW In die andere. Sind beide Pins HIGH oder beide LOW, steht der Motor still. 
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 === (A1) === === (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.  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... Nun sollte der Motor laufen, stehen, laufen, stehen...
  
-Nimm auf diese Weise auch den anderen Motor in Betrieb. +Nimm auf diese Weise auch den anderen Motor in Betrieb. Achte darauf, dass die ENX Pins mit 5V versorgt werden, beispielsweise mit einem Jumper oder einem kleinen Kabel. 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A2) === 
 + 
 +Wenn man die ENX Pins mit Analogausgängen des Arduinos verbindet, kann man die Geschwindigkeit verändern: Je höher die Spannung an den Pins ist, desto schneller dreht sich der Motor. 
 + 
 +Schreibe ein Programm, das einen Motor sanft schneller werden lässt und nach einigen Sekunden wieder sanft abbremst. 
 + 
 +Tipp: [[:faecher:nwt:arduino:lernbaustein1:dimmen_und_farben:start|AnalogWrite]] und [[:faecher:nwt:arduino:lernbaustein1:for_schleife:start|ForSchleife]]. 
 + 
 +---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A3) === 
 +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"
 +  * "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  
 + 
 +Führe Motorstart und Motorstopp dabei möglöichst immer "sanft aus. 
 + 
 +Mit diesen Unterprogrammen bist du der Steuerung eines Fahrzeugs schon recht nahe, das zwei Motoren als Hinterräder benutzt
  
  • faecher/nwt/arduino/lernbaustein1/motorsteuerung/start.1602438929.txt.gz
  • Zuletzt geändert: 11.10.2020 19:55
  • von sbel