AlphaBot: Motoren und Inkrementalgeber: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 44: Zeile 44:
| Ergebnisplot:<br>[[Datei:Inf2P_5_1.jpg|left|450px|Abb. 4: Ergebnisdarstellung CNTL vs. CNTR]]<br> Abb. 2: CNTL/CNTR über der Zeit
| Ergebnisplot:<br>[[Datei:Inf2P_5_1.jpg|left|450px|Abb. 4: Ergebnisdarstellung CNTL vs. CNTR]]<br> Abb. 2: CNTL/CNTR über der Zeit
|}
|}
----


=== Aufgabe 5.2: Odometrie ===
=== Aufgabe 5.2: RadInkrementalgeber ===
1. Machen Sie sich mit <code>E15_RadInkrementalgeberFahrt<code> vertraut, so dass Sie jede Zeile erlautern konnen.
# Machen Sie sich mit <code>E15_RadInkrementalgeberFahrt<code> vertraut, so dass Sie jede Zeile erläutern können.
2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
# Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
3. Was ist ein Interrupt und wozu dient er?
# Was ist ein Interrupt und wozu dient er?
4. Wozu dient die Funktion attachInterrupt()?
# Wozu dient die Funktion attachInterrupt()?
5. Stellen Sie beide Lichtschrankenzustande sowie die Radumdrehungen im seriellen Monitor
# Stellen Sie beide Lichtschrankenzustände sowie die Radumdrehungen im seriellen Monitor dar.
dar.
# Rechnen Sie die Radumdrehungen in gefahrene Strecke um.
6. Rechnen Sie die Radumdrehungen in gefahrene Strecke um.
# Stellen Sie die gefahrene Strecke zusätzlich im seriellen Monitor dar.
7. Stellen Sie die gefahrene Strecke zusatzlich im seriellen Monitor dar.
# Wie lässt sich die Fahrtrichtung ermitteln?
8. Wie lasst sich die Fahrtrichtung ermitteln?
 
9. Kommentieren Sie Ihren Quelltext und sichern Sie diesen in SVN.
Arbeitsergebnis: <code>testeRadInkrementalgeber.ino</code>, <code>zeigeRadInkrementalgeber.m</code>
Arbeitsergebnis: testeOdometrie.ino
Hinweis: Nutzen Sie das Demos E13, E14 im SVN-Verzeichnis.
Hinweis: Nutzen Sie das Demos E13, E14 im SVN-Verzeichnis.
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
Zeile 64: Zeile 64:
|-
|-
| Legen Sie den Akku korrekt an, um die Motoren anzusteuern.
| Legen Sie den Akku korrekt an, um die Motoren anzusteuern.
|-
| Legen Sie für eine langsame Raddrehung keine Akkus ein.
|}
|}
'''Arbeitsergebnis:''' <code>testeRadInkrementalgeber.ino</code>
'''Arbeitsergebnis:''' <code>testeRadInkrementalgeber.ino</code>
----
=== Aufgabe 5.3: 1&thinsp;m Fahrt ===
=== Aufgabe 5.3: 1&thinsp;m Fahrt ===
1. Machen Sie sich mit dem Demo E15_Wheel_Encoders_Drive.ino vertraut, so dass Sie jede
# Machen Sie sich mit dem Demo E15_Wheel_Encoders_Drive.ino vertraut, so dass Sie jede
Zeile erlautern konnen.
Zeile erlautern konnen.
2. Fahren Sie mit Ihrem Fahrzeug genau 1m geradeaus vorwarts.
# Fahren Sie mit Ihrem Fahrzeug genau 1m geradeaus vorwarts.
3. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
# Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
4. Fahren Sie wieder zum Startpunkt zuruck. Wenden Sie das Fahrzeug nicht!
# Fahren Sie wieder zum Startpunkt zuruck. Wenden Sie das Fahrzeug nicht!
5. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
# Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
6. Wie kann die Fahrtrichtung bei der Streckenbestimmung berucksichtigt werden?
# Wie kann die Fahrtrichtung bei der Streckenbestimmung berucksichtigt werden?
Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis.
Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis.
Arbeitsergebnis: fahreVorZurueck.ino - Der AlphaBot inkrementiert die Strecke bei Vorwartsfahrt
Arbeitsergebnis: fahreVorZurueck.ino - Der AlphaBot inkrementiert die Strecke bei Vorwartsfahrt
und dekrementiert bei Ruckwartsfahrt.
und dekrementiert bei Ruckwartsfahrt.
----


=== Aufgabe 5.2: Fahre Quadrat ===
=== Aufgabe 5.4: Fahre Quadrat ===
# Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.
# Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.3).
3).
2. Die Seitenlänge a ist eine Variable und soll 30 cm betragen.
2. Die Seitenlange a ist eine Variable und soll 30 cm betragen.
3. Führen Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht.
3. Fuhren Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht.
4. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
4. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
[[Datei:FahreQuadrat.jpg|ohne|250px|Abb. 4: Fahren Sie im Uhrzeigersinn die]]
[[Datei:FahreQuadrat.jpg|ohne|250px|Abb. 4: Fahren Sie im Uhrzeigersinn die Seiten eines Quadrates ab]]
Arbeitsergebnis: fahreQuadrat.ino
 
Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis.
'''Arbeitsergebnis:''' <code>fahreQuadrat.ino</code>
 
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Tipp 1&thinsp;</strong>
|-
| Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis.
|-
| Legen Sie den Akku korrekt an, um die Motoren anzusteuern.
|}
 
----


=== Aufgabe 5.5: Nachhaltige Doku ===
=== Aufgabe 5.5: Nachhaltige Doku ===

Version vom 13. April 2023, 10:46 Uhr

Abb. 1: Lichtschrankenzustände CNTL/CNTR

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester

Inhalt

Lernziele

Nach Durchführung dieser Lektion können Sie

Versuchsdurchführung

Aufgabe 5.1: Lichtschranke

  1. Machen Sie sich mit dem Demo E13_Lichtschranke vertraut, so dass Sie jede Zeile erläutern können.
  2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
  3. Lassen Sie als Test beide Motoren langsam vorwärts drehen.
  4. Flankenwechsel von CNTL/CNTR sollen einen Interrupt auslösen.
  5. Stellen Sie beide Lichtschrankenzustände CNTL/CNTR über der Zeit in MATLAB® dar.

Lernzielkontrollfragen:

  • Wie funktioniert eine Lichtschranke?
  • Wo befinden sich die Lichtschranken?
  • Wo ist rechts und wo links?
  • An welchen Ports sind die linke und rechte Lichtschranke angeschlossen?
  • Welche IO-Pins sind beim Arduino Uno interruptfähig?
  • Wie entsheidet die Lichtschranke zwischen Vorwärts- oder Rückwärtsdrehung?
  • Wieviele Flanken erhalten Sie für eine Radumdrehung?

Arbeitsergebnisse: testeLichtschranke.ino, testeLichtschranke.ino


Aufgabe 5.2: RadInkrementalgeber

  1. Machen Sie sich mit E15_RadInkrementalgeberFahrt vertraut, so dass Sie jede Zeile erläutern können.
  2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
  3. Was ist ein Interrupt und wozu dient er?
  4. Wozu dient die Funktion attachInterrupt()?
  5. Stellen Sie beide Lichtschrankenzustände sowie die Radumdrehungen im seriellen Monitor dar.
  6. Rechnen Sie die Radumdrehungen in gefahrene Strecke um.
  7. Stellen Sie die gefahrene Strecke zusätzlich im seriellen Monitor dar.
  8. Wie lässt sich die Fahrtrichtung ermitteln?

Arbeitsergebnis: testeRadInkrementalgeber.ino, zeigeRadInkrementalgeber.m Hinweis: Nutzen Sie das Demos E13, E14 im SVN-Verzeichnis.

Arbeitsergebnis: testeRadInkrementalgeber.ino


Aufgabe 5.3: 1 m Fahrt

  1. Machen Sie sich mit dem Demo E15_Wheel_Encoders_Drive.ino vertraut, so dass Sie jede

Zeile erl?autern k?onnen.

  1. Fahren Sie mit Ihrem Fahrzeug genau 1m geradeaus vorw?arts.
  2. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
  3. Fahren Sie wieder zum Startpunkt zur?uck. Wenden Sie das Fahrzeug nicht!
  4. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
  5. Wie kann die Fahrtrichtung bei der Streckenbestimmung ber?ucksichtigt werden?

Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. Arbeitsergebnis: fahreVorZurueck.ino - Der AlphaBot inkrementiert die Strecke bei Vorw?artsfahrt und dekrementiert bei R?uckw?artsfahrt.


Aufgabe 5.4: Fahre Quadrat

  1. Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.3).

2. Die Seitenlänge a ist eine Variable und soll 30 cm betragen. 3. Führen Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht. 4. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.

Abb. 4: Fahren Sie im Uhrzeigersinn die Seiten eines Quadrates ab
Abb. 4: Fahren Sie im Uhrzeigersinn die Seiten eines Quadrates ab

Arbeitsergebnis: fahreQuadrat.ino


Aufgabe 5.5: Nachhaltige Doku

Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.

Arbeitsergebnis in SVN: SVN Log

Tutorials

Demos


→ Termine 1 2 3 4 5
→ zurück zum Hauptartikel: Informatik Praktikum 2