AlphaBot: Servo mit MATLAB ansteuern: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 72: Zeile 72:
%% Messung
%% Messung
while 1 % Endlosschleife
while 1 % Endlosschleife
     writePosition(hServo, Winkel/180);       % Servo drehen
     writePosition(hServo, Winkel/180);           % Servo drehen
     Distanz = inf;
     Distanz = inf;
     while isinf(Distanz)
     while isinf(Distanz)
Zeile 79: Zeile 79:
     end
     end
     j=j+1;
     j=j+1;
     x(j) = Distanz*cosd(Winkel);             % Umrechnung in kartesische Koordinaten
     x(j) = Distanz*cosd(Winkel);                 % Umrechnung in kartesische Koordinaten
     y(j) = Distanz*sind(Winkel);
     y(j) = Distanz*sind(Winkel);
     set(hPlot,'XData',x,'YData',y);           % Darstellung
     set(hPlot,'XData',x,'YData',y);             % Darstellung


     if Winkel <=0                                 % Drehrichtung anpassen
     if Winkel <=0                               % Drehrichtung anpassen
         nInkrement = 5;
         nInkrement = 5;
     elseif Winkel >=180
     elseif Winkel >=180
Zeile 90: Zeile 90:
     Winkel = Winkel + nInkrement                % Winkel errechnen
     Winkel = Winkel + nInkrement                % Winkel errechnen
end
end
</source>
 
|}
|}



Version vom 18. April 2025, 09:05 Uhr

Abb. 1: Ultraschall zur Objekterkennung
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul II, MTR-B-2-2.11
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester

Inhalt

  • Nutzung von MATLAB® zur Kommunikation mit dem AlphaBot.
  • Ansteuerung des Servomotors
  • Statische und dynamische Messung mit dem Ultraschallsensor
  • Anwendung rekursiver Filter auf Echtzeitdaten

Lernziele

Nach Durchführung dieser Lektion können Sie

  • Debug-Daten speichern und via MATLAB® visualisieren.
  • direkt MATLAB® als seriellen Monitor nutzen.
  • den AlphaBot sicher in Betrieb nehmen, das Potentiometer auslesen und eine RGB-LED ansteuern.
  • Entfernungen mit dem Ultraschall-Sensor messen.
  • Messwerte in Echtzeit filtern.


Versuchsdurchführung

Aufgabe 3.1: Ultraschall als Umfeldscanner

  1. Voreinstellungen am AlphaBot: Entfernen Sie am AlphaBot am F-Port die Brücke D11 & D12.
  2. Machen Sie sich mit dem Demo Rotate a servo motor vertraut, so dass Sie jede Zeile erläutern können.
  3. Steuern Sie den Servo schrittweise von 0°..180° an und fahren Sie schrittweise zurück auf 0°.
  4. Messen Sie pro 5 ° die Ultraschallentfernung.
  5. Filtern Sie die Ultraschallentfernung mit dem vielversprechendsten Filter aus Aufgabe 2.4.
  6. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
  7. Rechnen Sie die Polarkoordinaten (fWinkel, fEntfernung) in kartesische Koordinaten (x, y) um.
  8. Stellen Sie die Messpunkte zyklisch dar (vgl. Abb. 1).

Lernzielkontrollfragen:

  • An welchen Arduino-Pins ist der Servo (S1) angeschlossen?

Arbeitsergebnisse in SVN: UltraschallScanner.m

Aufgabe 3.2: Nachhaltige Doku

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

Arbeitsergebnis in SVN: SVN Log

Tutorials



→ Termine 1 2 3 5 6 7 8 9 10 11
→ zurück zum Hauptartikel: Informatik Praktikum 2