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:35] – [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 29: Zeile 29:
   * USB -> 5V offene Enden. Das rote Kabelende ist +5V, das schwarze GND.   * USB -> 5V offene Enden. Das rote Kabelende ist +5V, das schwarze GND.
   * USB Akkupack   * USB Akkupack
 +  * Nicht im Bild: Ein (schwarzes) Breadboardkabel, eine Seite Male, die andere verzinnt, um die Masse des Arduino mit der des Motortreibers zu verbinden.
  
  
Zeile 41: Zeile 42:
   * Achte darauf, dass du die transparenten Kunststoffbänder nicht mit den Lötkolben berührst, sonst verschmort der Kunststoff.   * Achte darauf, dass du die transparenten Kunststoffbänder nicht mit den Lötkolben berührst, sonst verschmort der Kunststoff.
   * Jeder Motor bekommt ein schwarzes und ein rotes Kabel. Dabei ist es egal, welches Kabel an welche Lasche gelötet wird((Warum?)).   * Jeder Motor bekommt ein schwarzes und ein rotes Kabel. Dabei ist es egal, welches Kabel an welche Lasche gelötet wird((Warum?)).
 +  * Verzinne bei deieser Gelegenheit außerdem das schwarze Massekabel an seinem offenen Ende großzügig.
  
 {{  :faecher:nwt:arduino:lernbaustein1:motorsteuerung:laschen.jpg?600  |}} {{  :faecher:nwt:arduino:lernbaustein1:motorsteuerung:laschen.jpg?600  |}}
Zeile 52: Zeile 54:
  
 <WRAP center round important 60%> <WRAP center round important 60%>
-Achtung: Beim A**nschluss des USB Kabels muss die korrekte Polung beachtet werden**, andernfalls können Bauteile beschädigt werden!+Achtung: Beim **Anschluss des USB Kabels muss die korrekte Polung beachtet werden**, andernfalls können Bauteile beschädigt werden!
 </WRAP> </WRAP>
  
 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 68: Zeile 70:
 ++++ ++++
  
 +===== Motorsteuerung =====
  
 +
 +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) ===
 +
 + 
 +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. 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" 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 
 +
 +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.1602437704.txt.gz
  • Zuletzt geändert: 11.10.2020 19:35
  • von sbel