Basisversion mit Motoren und Piezo-Summer

Ziel: Es soll eine fahrbare Basisversion des Düvelbot gebaut und programmiert werden, sodass der Düvelbot vorwärts und rückwärts fahren, stoppen und lenken kann. Zudem soll er Töne abspielen können.

Montage

Montage und Verkabelung

Befolge die folgende Anleitung zur Montage und Verkabelung, um die Basisversion des Düvelbots aufzubauen.

Anleitung01

Schritt 1: Führe die Kabel eines Motors durch die Motorhalterung in das Gehäuse.

Anleitung02

Schritt 2: Drücke den Motor in seine Halterung. Die Lasche kann vorsichtig nach unten gedrückt werden, bis die äußere goldene Platte des Getriebes fest in der Lasche sitzt.

Anleitung03

Schritt 3: Verfahre mit dem Motor auf der anderen Seite genauso.

Anleitung04

Schritt 4: Stecke die Kabel des linken Motors in die linke Schraubklemme des Motortreibers L298N und schraube sie fest. Verfahre genauso auf der rechten Seite

Anleitung05

Schritt 5: Stecke die Kabel des Clips mit offenen Kontakten in der Schraubklemme für die Spannungsversorgung am Motortreiber L298N. In der mittleren Schraubklemme muss ein zweites schwarzes Kabel (male-male) ergänzt werden, mit dem ein gemeinsames GND-Potential mit dem Arduino hergestellt wird. Teste durch vorsichtiges Ziehen an den Kabeln, ob sie fest verschraubt sind.

Anleitung06

Schritt 6: Platziere den Motortreiber im Gehäuse, ohne die Kabel zu stark zu knicken.

Anleitung07

Schritt 7: Suche die Räder und den Slider heraus und schiebe sie an ihre Position. Beachte die Kerbe an der Radnabe, die genau auf die Kerbe am Motorschaft passt.

Anleitung08

Schritt 8: Achte darauf, dass beide Räder gleich weit auf dem Motorschaft sitzen, sodass sie genau symmetrisch sind. Die Räder dürfen nicht am Gehäuse schleifen.

Anleitung09a Jumper entfernen

Schritt 9a: Entferne die Jumper für die Enable-Pins auf dem Motortreiber und verstaue sie so, dass sie nicht verloren gehen.

Anleitung09

Schritt 9b: Stecke danach sechs Kabel auf die Pins En1/2, In1, In2, In3, In4 und En3/4. Eine genaue Beschriftung und Erklärung der Pins folgt im nächsten Abschnitt zum Schaltplan. Verwende für jeden Pin eine andere Farbe. Notiere dir, welche Farbe zu welchem Pin gehört.

Anleitung10

Schritt 10: Führe die Kabel durch die dafür vorgesehenen Öffnungen an den Seiten. In der Regel passen zwei Kabel gut durch das gleiche Loch (nacheinander).

Anleitung11

Schritt 11: Bereite den Piezo-Summer vor, indem du zwei Jumper-Kabel anbringst. Beachte das Plus-Symbol auf der oberen Seite - der Pin unter dem Plus muss mit dem Digitalpin am Arduino verbunden werden. Der andere Pin wird mit GND am Arduino verbunden. Am besten verwendest du hier wieder ein schwarzes Kabel für alle GND-Kontakte.

Anleitung12

Schritt 12: Platziere den Piezo-Summer zwischen den beiden Motoren und führe die Kabel durch die Öffnungen an der Seite.

Anleitung13

Schritt 13: Stecke das Expansion-Board auf den Arduino. Achte darauf, dass die Pinleisten genau übereinander liegen und nicht gegeneinander versetzt sind.

Anleitung14

Schritt 14: Verkabele die Kabel der Bauteile entsprechend des Schaltplans mit dem Arduino (siehe nächsten Abschnitt unten). Nutze die GND-Leiste auf dem Expansion-Board (schwarze Kabel im Bild).

Anleitung15

Schritt 15: Schiebe den Arduino vollständig in das Gehäuse.

Anleitung16

Schritt 16: Hake die Seitenhänger in die Öffnungen an der Seite und platziere die zwei 9V-Blöcke darin. Stecke den Clip mit Zylinderanschluss auf einen der 9V-Blöcke.

Anleitung17

Schritt 17: Wenn der Roboter starten soll, werden beide 9V-Blöcke angeschlossen. Wenn der Roboter programmiert werden soll, werden die 9V-Blöcke abgeklemmt und stattdessen ein USB-Kabel an den Arduino angeschlossen.

Schaltplan

Die Verkabelung erfolgt nach dem folgendem Schaltplan.

Schaltplan für die Motoren und den Piezo-Summer
Schaltplan für die Motoren und den Piezo-Summer.

Konfiguration und Programmierung

Erster Test: Töne abspielen

Konfiguriere den Piezo-Summer im Open Roberta Lab und lass den Düvelbot ein paar erste Lebenszeichen spielen!

Funktionsweise des Motortreibers

Der Motortreiber L298N enthält eine H-Brücke, um die Motoren zu steuern. Um dies im Programm nutzen zu können, muss man die Funktionsweise der H-Brücke verstehen. Bearbeite dazu die folgenden Aufgaben aus dem Abschnitt Elektrische Grundlagen - Transistoren und Motoren.

Ergänze damit die folgende Tabelle:

In1 In 2 En1,2 In3 In4 En3,4 Wirkung
vorwärts fahren
stoppen
rückwärts fahren
links vorwärts fahren, rechts stoppen
links stoppen, rechts vorwärts fahren
links vorwärts, rechts rückwärts fahren
links rückwärts, rechts vorwärts fahren

Funktionen zum Steuern

In der Aufgabe Einfachere Steuerung mit Funktionen siehst du, wie man die Steuerung von einem Motor in eine Funktion auslagern kann. Passe dies an, um die folgenden Funktionen zu implementieren.

fkt-vorwaertsFahren

vorwaertsFahren ( leistung ): Lässt den Düvelbot mit der angegebenen Leistung zwischen 0 und 255 vorwärts fahren.

fkt-stoppe

stoppe: Lässt den Düvelbot stoppen.

fkt-rueckwaertsFahren

rueckwaertsFahren ( leistung ): Lässt den Düvelbot mit der angegebenen Leistung zwischen 0 und 255 rückwärts fahren.

fkt-fahreVorwaertsKurve

fahreVorwaertsKurve ( leistungLinks, leistungRechts ): Lässt den Düvelbot eine Vorwärtskurve fahren, wobei der Motor links mit der Leistung leistungLinks und der Motor rechts mit der Leistung leistungRechts gedreht wird (Leistungswerte zwischen 0 und 255).

Für Experten: Passe die Funktionen so an, dass die Leistung in Prozent angegeben wird. Wenn die Leistung also 100 beträgt, dreht sich der Motor mit voller Leistung, wenn die Leistung 0 beträgt, dreht sich der Motor nicht.

Hebelsteuerung

fkt-fahre

prog-fahre-start
Möglicher Beginn der fahre-Funktion. Es werden mehrere Fallunterscheidungen benötigt. Der grüne Block ist ein Kommentar aus der Kategorie Text, der nur der eigenen Übersicht dient.

  1. Implementiere die Funktion fahre ( leistungLinks, leistungRechts ). Die Werte für leistungLinks und leistungRechts können jeweils zwischen -255 und 255 liegen, wobei "-255" eine Drehung des jeweiligen Motors mit voller Leistung nach hinten und "255" eine Drehung des jeweiligen Motors mit voller Leistung nach vorne bedeutet. Achtung: Die Werte für die Enable-Pins müssen immer zwischen 0 und 255 liegen!
  2. Passe die Funktion so an, dass die Werte für leistungLinks und leistungRechts jeweils zwischen -100 und 100 liegen können, wobei "-100" eine Drehung des jeweiligen Motors mit 100%iger Leistung nach hinten und "100" eine Drehung des jeweiligen Motors mit 100%iger Leistung nach vorne bedeutet.
  3. Erkläre, wie man mit dieser Funktion die Wirkung von jeder der vorher programmierten Funktionen erreichen kann.
  4. Erkläre, wie man den Düvelbot mit dieser Funktion auf der Stelle drehen lassen kann.