Temperatursensor mit Matlab/Simulink
Autor: Sergej Vogel
Betreuer: Prof. Schneider
Sensor: Lego Temperatursensor 9749
Aufgabenstellung
In dem Fach "Signalverarbeitende Systeme" aus dem Studiengang "Business and Systemsengineering" wurde jeder Student damit beauftragt, sich Semesterbegleitend mit einem Sensor auseinander zu setzen. Genauer gesagt, soll der Sensor mittels MATLAB/Simulink ausgelesen werden. Um die Signale Verwertbar zu machen, sollen folgende Schritte abgearbeitet werden:
Schritte zur Signalbearbeitung:
- Auswahl eines Primärsensors
- Wie funktioniert der Sensor?
- Welche Rohsignale liefert der Sensor?
- Signalvorverarbeitung
- Sollen Messwerte oder vorverarbeitete Daten übertragen werden?
- Wie lässt sich eine Vorverarbeitung umsetzen?
- Wird eine Kennlinie eingesetzt? Wenn ja, wie wird diese kalibriert?
- Analog-Digital-Umsetzer
- Wie werden die analogen Signale umgesetzt?
- Welcher ADU kommt zum Einsatz?
- Welche Gründe sprechen für diesen ADU? Alternativen?
- Bussystem
- Wird ein Bussystem zwischen Sensor und Mikrocontroller eingesetzt?
- Wenn ja, wie funktioniert dieses Bussystem?
- Digitale Signalverarbeitung
- Welche Verarbeitungsschritte sind notwendig?
- Welche Filter werden angewendet?
- Bestimmen Sie Auflösung, Empfindlichkeit und Messunsicherheit des Sensors.
- Darstellung der Ergebnisse
- Welche Fehler treten in welchem Verarbeitungsschritt auf?
- Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall dar.
Sensor
Bei dem Lego Gyrosensor (Abb. 4) handelt es sich um einen digitalen Sensor um Drehungen um die Hochachse ermitteln zu können. Diese kann bis zu einer Geschwindigkeit von 440º / Sekunde gemessen werden. Die Messabweichung liegt in einem Bereich von Plus/Minus 3º bei einer Drehung um 90º. Die Bestimmung der Drehrate um andere Achsen ist mit diesem Sensor nicht möglich, es können nur Drehungen um die Hochachse (z-Achse) gemessen werden.
Bei der Kommunikation mit dem EV3 wurde auf die UART Schnittstelle zurückgegriffen, der Sensor beinhaltet einen 8 Bit Microkontroller welcher für die Datenverarbeitung und Datenversendung zuständig ist. Der Microkontroller übermittelt selbstständig 1000 Messwerte in der Sekunde. Der Sensor versendet Messwerte wann immer diese eine Änderung aufweisen, neben dieser selbstständigen Übermittlung ist es ebenfalls möglich das der EV3 den aktuellen Messwert abfragen kann.
Wird der Gyrosensor mit dem EV3 Verbunden, beginnt dieser damit sich beim EV3 als Gyrosensor "anzumelden". Wurde dies erfolgreich Durchgeführt übermittelt der Gyrosensor seine möglichen Messmöglichkeiten und Wertebereiche der gesendeten Messwerte. Nach dem Abschluss dieses Anmeldevorgangs startete der Gyrosensor mit der Übermittlung von Messwerten an den EV3. Es kann zwischen drei verschiedenen Modi gewechselt werden. Der Default Modus ist der Gyro Winkel Modus, hierbei wird kontinuierlich gemessen und die Winkelgeschwindigkeit akkumuliert, dies wird übersetzt in einen relativen Winkel. Der relative Winkel bezieht sich auf die Drehung seit dem letzten Zurücksetzen des akkumulierten Winkels. Wird der Gyrosensor zu langsam gedreht, oder schneller als die maximale Geschwindigkeit von 440º / Sekunde, wird die relative Winkelmessung ungenau. Neben diesem Modus gibt es den Gyro Modus, bei diesem wird die Gierrate kontinuierlich bestimmt. Wenn sich der Sensor nicht dreht, ist dieser Wert Null. Die schnellste Rotationsgeschwindigkeit, die der Sensor bestimmen kann, beträgt 440 Grad/Sekunde. Der dritte Modus des Gyrosensors ist der Gyro und Winkel Modus, bei welchem die identischen Messungen wie in den zuvor behandelten Modi durchgeführt werden. Der Unterschied liegt darin das beide Messwerte gleichzeitig an den EV3 versendet werden.
Messprinzip
Anschluss an Arduino
→ zurück zum Hauptartikel: Signalverarbeitende Systeme