Versuchsleitfaden: Messtechnik und digitale Signalverarbeitung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Systematischer Sensorfehler des Sharp IR
Autor: Prof. Dr.-Ing. Schneider
Labor: BSE: 27.10.2026 L3.3-E01-210
MTR: 03.11.2026 L3.1-E02-180
Status: Final

ℹ️ Einleitung

Ein Arduino ist ein Mikrocontroller. Mit ihm lassen sich einfach Sensordaten im PC zu verarbeiten und Aktoren in Echtzeit anzusteuern. Die Programmierung geschieht in diesem Praktikumstermin über MATLAB/Simulink. Im Praktikum wird daher in 4 Schritten vorgegangen:

  1. Einführung in MATLAB/Simulink,
  2. Einführung in den die Programmierung des Arduino mit MATLAB/Simulink,
  3. Nutzung des Arduino zur Messwerterfassung und
  4. digitale Signalverarbeitung.

Wichtig: Einige Dokumente, Datenblätter und Webinare sind ggf. auf Englisch. Wenn jemand mit der Fremdsprache nicht zurecht kommen sollte, empfehlt es sich frühzeitig eine/n Partner/in zu suchen und die Unterlagen gemeinsam zu erarbeiten.

Im Praktikum arbeiten Sie mit einem Arduino Uno R3.

Im Labor steht Ihnen die nachfolgende Sogtware zur Verfügung:

  • MATLAB®/Simulink R2026b
  • Simulink Support Package for Arduino Hardware
  • DSP System Toolbox

🎯Lernziele

Nach Durchführung dieses Praktikums können Sie

  • mit MATLAB/Simulink umgehen.
  • einen Arduino mit MATLAB/Simulink programmieren.
  • Sensordaten einlesen, analysieren und verarbeiten.
  • eine Sensorkennlinien kalibrieren.

📖 Vorbereitung

Jeder Praktikumstermin ist vor Beginn unter Hinzunahme geeigneter Literatur gründlich und vollständig vorzubereiten.

Arduino Uno R3

Arduino ist eine Familie von Microcontrollern, die sehr einfach und mit wenig Grundlagenwissen direkt für eigene Mechatronikprojekte eingesetzt werden können. Ein Arduino ist eine quelloffene Elektronikplattform bestehen aus einfach zu bedienender Hard- und Software. Die Plattform soll allen die Umsetzung interaktiver Projekte ermöglichen.

Eine Sammlung von Tutorials finden Sie in diesem Wiki-Artikel: Arduino Uno R3.

MATLAB/Simulink

Voraussetzung für die Lösung der Aufgaben mit dem Arduino R3 im Praktikum ist ein sicherer Umgang mit MATLAB®/Simulink.

Bearbeiten Sie als Vorbereitung die Selbstlernkurse

Sensoren

Digitale Signalverarbeitung

Abb. 2: Inhalt von Vorbereitungsdaten.zip
  • HSHL-Wiki: Rekursive Filter
  • Bereiten Sie Aufgabe 1.2 die Messdatenauswertung in MATLAB® anhand dieses Messdatums vor: MudS_UltraschallMessung.mat.
  • Bereiten Sie Aufgabe 1.3 vor in dem Sie das Messdatum MudS_UltraschallMessung.mat in Simulink rekursiv filtern und das Tiefpassfilter geeignet auslegen.
  • Bereiten Sie Aufgabe 2.2 vor in dem Sie das Messdatum MudS_IRMessung.mat in Simulink filtern und das Filter geeignet auslegen.
  • Kalibrierung einer Sensorkennlinie des Sharp IR anhand der Datei MudS_IRKalibrierung.mat in Simulink (vgl. Aufgabe 2.3).
  • Bereiten Sie Aufgabe 2.4 die Messdatenauswertung in MATLAB® anhand des Messdatums MudS_IRMessung.mat vor.

Vorbereitungsdaten: Vorbereitungsdaten.zip

❓ Vorbereitungskontrollfragen

Beantworten Sie sich die Vorbereitungskontrollfragen anhand der Wiki-Artikel und unter Zuhilfenahme geeigneter Literatur.

☑️ Aufgaben

Diskutieren Sie jedes Arbeitsergebnis vor dem Schaltungsumbau mit Prof. Schneider.

Modelleinstellungen für Simulink

Die Standardeinstellung für den Simulink Solver sind:

  • Hardware Board: Arduino Uno
  • Solver Selection type: Fixed-step
  • Solver: descrete
  • Fixed-step size: 1 ms

Aufgabe 1.1: Ultraschall Entfernungsmessung in Simulink

Abb. 3: Inhalt von MudS_UltraschallMessung.mat
Tabelle 2: Materialliste für Aufgabe 1
# Anzahl Material
1 1 US-Messstrecke mit Reflektor
2 1 Steckbrett
3 4 Steckbrückenkabel

Mit den Ultraschallsensor HC-SR04, einem Arduino Mikrocontroller und Simulink soll eine Entfernung in cm gemessen werden.

  1. Messen Sie die Entfernung auf ein statisches Ziel in den Entfernungen 5 cm, 10 cm, 15 cm, 20 cm und 25 cm.
  2. Pro Entfernungsstufe werden >100 Messwerte benötigt.
  3. Speichern Sie das Ergebnis in der Datei USMessung.mat.

Arbeitsergebnis in SVN: USMessung.slx, USMessung.mat

Aufgabe 1.2: Charakterisieren Sie die Ultraschall Messwerte in MATLAB®

Abb. 4: Charakterisierung von MudS_UltraschallMessung.mat
  1. Analysieren Sie die Funktion Ihres Ultraschallsensors anhand Ihrer Messwerte in USMessung.mat mit MATLAB®. Verwenden Sie die Kriterien in Tabelle 1.
  2. Beantworten Sie die Fragen fachlich fundiert anhand Ihrer Messdaten als Kommentar im Quelltext:
    1. Welche Messbereich hat der Sensor in cm?
    2. Welche Werteauflösung hat der Sensor?
    3. Welche max. Abtastrate hat der Sensor?
    4. In welchem Bereich ist der Sensor am empfindlichsten?
    5. Mit welcher Unsicherheit (1 σ) lässt sich eine glatte Fläche bestimmen?
  3. Vergleichen Sie Ihre Messwerte mit den Werten aus dem Datenblatt.
Tabelle 3: Ultraschall Sensorcharakterisierung
Messgröße Formelzeichen Ergebnis
Messbereich MB Darstellung im MATLAB®-Command Window
Zeitauflösung at Darstellung als MATLAB®-Plot
Werteauflösung as Darstellung als MATLAB®-Plot
Empfindlichkeit E Darstellung als MATLAB®-Plot
Unsicherheit (Typ A) uA Darstellung als MATLAB®-Plot


Arbeitsergebnis in SVN: charakterisiereUSSensor.m

Aufgabe 1.3: Filterung in Simulink

  1. Welches systematische und stochastische Fehlerbild weist der Ultraschallsensor auf?
  2. Implementieren und parametrieren Sie ein Filter für das Fehlerbild in Simulink.
  3. Stellen Sie die gefilterten und ungefilterten Messwerte in einem Plot einander gegenüber.
  4. Bewerten Sie Ihr Ergebnis qualitativ und quantitativ für statische Messungen.

Arbeitsergebnis in SVN: filtereSensor.slx

Aufgabe 1.4: Ergebnisdarstellung und Diskussion in Simulink

  1. Diskutieren Sie Ihr Ergebnis mit Prof. Schneider.
  2. Positionieren Sie den Reflektor auf vorgegebene Entfernungen.
  3. Zeigt Simulink den korrekten Wert in cm an?

❓ Lernzielkontrollfragen Ultraschall

  1. Mit welcher Abtastrate wird der Ultraschallsensor idealerweise betrieben?
  2. Welche Kennlinie hat der Ultraschallsensor?
  3. Welchen Fehlereinflüssen unterliegt der Sensor?
  4. Welche Messbereich hat der Sensor in cm?
  5. Welche Entfernungsauflösung hat der Sensor?
  6. Welche Zeitauflösung hat der Sensor?
  7. In welchem Bereich ist der Sensor am empfindlichsten?
  8. Mit welcher Unsicherheit (1 σ) lässt sich die Entfernung auf eine glatte Fläche bestimmen?
  9. Welches Fehlerbild weist der Ultraschallsensor auf?
  10. Mit welchem Filter lässt sich dieser Messfehler reduzieren?
  11. Was sind Vor- und Nachteile der Filterung?
  12. Wurde der Sensorfehler in Aufgabe 1.4 behoben?

Aufgabe 2.1: Optische Entfernungsmessung in Simulink

Tabelle 4: Materialliste für Aufgabe 2
# Anzahl Material
1 1 IR-Messstrecke mit Reflektor
2 1 Steckbrett
3 3 Steckbrückenkabel

Mit den optischen Sensor Sharp GP2Y0A41SK, einem Arduino Mikrocontroller und Simulink soll eine Entfernung in cm gemessen werden.

  1. Schließen Sie einen Infrarotsensors über das Breadboard an den Arduino an.
  2. Lesen Sie die Sensormesswert mit Simulink aus.
  3. Visualisieren Sie das Ergebnis in einem Scope.

Arbeitsergebnis in SVN: IRMessung.slx

Aufgabe 2.2: Filterung in Simulink

  1. Welches Fehlerbild weist der optische Sensor auf?
  2. Implementieren und parametrieren Sie ein Filter für das Fehlerbild.
  3. Stellen Sie die gefilterten und ungefilterten Messwerte in einem Scope einander gegenüber.
  4. Wie verändert sich die Messunsicherheit? Bewerten Sie Ihr Ergebnis qualitativ und quantitativ für statische und dynamische Messungen.

Arbeitsergebnis in SVN: IRMessung.slx

Aufgabe 2.3: Kalibrierung einer Sensorkennlinie

  1. Messen Sie die Entfernung auf ein statisches weißes Ziel in den Entfernungen [3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 29] cm.
  2. Die Kennlinie des Infrarotsensors ist nichtlinear. Hinterlegen Sie diese Kennlinie in Simulink, so dass der exakte Messwert in cm angezeigt wird.
    1. MTR: Nutzen Sie den Block 1-D Lookup Table.
    2. BSE: Führen Sie eine nichtlineare Regression mit der MATLAB-App Curve Fitter durch und implementieren Sie die Regressionsfunktion als MATLAB Function Block.
  3. Messen Sie erneut die Entfernung auf ein statisches weißes Ziel in den Entfernungen [3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 29] cm.
  4. Pro Entfernungsstufe werden >100 Messwerte benötigt.
  5. Speichern Sie das Ergebnis in der Datei IRMessung.mat.

Arbeitsergebnis in SVN: IRMessung.slx, IRMessung.mat

Aufgabe 2.4: Charakterisieren Sie die Sensormesswerte mit MATLAB®

Abb. 5: Nichtlineare Sensorkennlinie des Sharp IR Abstandssensors mit Messunsicherheit
Abb. 6: Darstellung der Sensorcharakterisierung
  1. Analysieren Sie die Funktion Ihres Sensors anhand Ihrer Messwerte in IRMessung.mat mit MATLAB®. Verwenden Sie die Kriterien in Tabelle 1.
  2. Stellen Sie die Werteauflösung in mm über dem Messbereich in cm dar.
  3. Stellen Sie die Empfindlichkeit über dem Messbereich in cm dar.
  4. Stellen Sie die Messunsicherheit (1 σ) in cm über dem Messbereich dar.
  5. Beantworten Sie die Fragen fachlich fundiert anhand Ihrer Messdaten als Kommentar im Quelltext:
    1. Welche Messbereich hat der Sensor in cm?
    2. Welche Zeitauflösung hat der Sensor in s?
    3. Welche Werteauflösung hat der Sensor in cm?
    4. In welchem Bereich ist der Sensor am empfindlichsten?
    5. Mit welcher Unsicherheit (1 σ) lässt sich lässt sich der Abstand auf eine weiße Fläche bestimmen?
  6. Vergleichen Sie Ihre Messwerte mit den Werten aus dem Datenblatt.
Tabelle 1: Sensorcharakterisierung IR Abstandssensor
Messgröße Formelzeichen Ergebnis
Messbereich MB Darstellung im MATLAB®-Command Window
Zeitauflösung at Darstellung als MATLAB®-Plot
Werteauflösung as Darstellung als MATLAB®-Plot
Empfindlichkeit E Darstellung als MATLAB®-Plot
Unsicherheit (Typ A) uA Darstellung als MATLAB®-Plot

Arbeitsergebnis in SVN: charakterisiereIRSensor.m

📊 Aufgabe 2.5: Ergebnisdarstellung und Diskussion in Simulink

  1. Diskutieren Sie Ihr Ergebnis mit Prof. Schneider.
  2. Positionieren Sie den Reflektor auf vorgegebene Entfernungen.
  3. Zeigt Simulink den korrekten Wert in cm an?
  4. Welche Entfernung wird angezeigt, wenn die dunkle Seite des Reflektors verwendet wird?


❓ Lernzielkontrollfragen Sharp IR

  1. Welcher systematische Fehler tritt beim Infrarotsensor auf?
  2. Wie lässt er sich wirkungsvoll beheben?
  3. Wie haben Sie das Filter parametriert?
  4. Was sind Vor- und Nachteile der Filterung?
  5. Wurde der Sensorfehler in Aufgabe 2.2 behoben?
  6. Welche Messbereich hat der Sensor in cm?
  7. Welche Zeitauflösung hat das Eingangssignal?
  8. Welche Entfernungsauflösung hat der Sensor?
  9. In welchem Bereich ist der Sensor am empfindlichsten?
  10. Mit welcher Unsicherheit (1 σ) lässt sich die Entfernung auf eine weiße Fläche bestimmen?

Anhang


Nützliche MATLAB®-Befehle und Funktionen

Tabelle 2: Nützliche MATLAB®-Befehle und Funktionen
Befehl Beschreibung
abs Betrag
diff Differenz
load laden von Messdaten
mean arithmetischer Mittelwert
medfilt1 Median
std empirische Standardabweichung

Sammlung nützlicher MATLAB-Befehle



→ Versuch 3: Rapid Control Prototyping
→ zurück zum Hauptartikel: WS 26/27: Fachpraktikum Mechatronik (MTR) und Angewandte Mechatronik (BSE)