Beschleunigungssensor mit Matlab/Simulink: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
== Konzepterstellung zum Auslesen des Sensors mit Matlab/Simulink ==
== Konzepterstellung zum Auslesen des Sensors mit Matlab/Simulink ==


Nach der Ausgabe der Sensoren wurde festgestellt, dass der Sensor nicht so einfach an den PC angeschlossen werden kann. Der erste Ansatz war, dass der Sensor mit einem Arduino Uno ausgelesen werden sollte und eine Kommunikation zwischen PC und Arduino zu den Sensordaten führen sollte. Hierbei gestaltete sich für mich das Problem, dass das Anschlusskabel hätte auseinander geschnitten und die einzelnen Adern an den Arduino gelötet werden müssten. Da ich nicht über ausreichende Kenntnisse verfüge, wollte ich eine andere Lösungsmöglichkeit probieren. Auch der Ansatz den Sensor direkt über die Sensoreingänge des EV3 auszulesen funktionierte leider nicht, da der Beschleunigungssensor nicht im Lego Mindstorms EV3 Support Package enthalten ist. Der dritte Lösungsansatz und schließlich der hier erläuterte ist das Auslesen des Sensors mit Hilfe des älteren Lego Mindstorms NXT. Der HiTechnics Beschleunigungssensor ist in der RWTH - Mindstorms Toolbox enthalten und wird hier zum Auslesen mit Matlab verwendet.   
Nach der Ausgabe der Sensoren wurde festgestellt, dass der Sensor nicht so einfach an den PC angeschlossen werden kann. Der erste Ansatz war, dass der Sensor mit einem Arduino Uno ausgelesen werden sollte und eine Kommunikation zwischen PC und Arduino zu den Sensordaten führen sollte. Hierbei gestaltete sich für mich das Problem, dass das Anschlusskabel hätte auseinander geschnitten und die einzelnen Adern an den Arduino gelötet werden müssten. Da ich nicht über ausreichende Kenntnisse verfüge, wollte ich eine andere Lösungsmöglichkeit probieren. Auch der Ansatz den Sensor direkt über die Sensoreingänge des EV3 auszulesen funktionierte leider nicht, da der Beschleunigungssensor nicht im Lego Mindstorms EV3 Support Package enthalten ist. Der dritte Lösungsansatz und schließlich der hier erläuterte ist das Auslesen des Sensors mit Hilfe des älteren Lego Mindstorms NXT. Der HiTechnics Beschleunigungssensor ist in der [http://www.clemson.edu/cecas/departments/ece/document_resource/undergrad/matlab/RWTH.pdf  RWTH - Mindstorms Toolboxenthalten und wird hier zum Auslesen mit Matlab verwendet.   


== Anleitung für den Anschluss des NXT an den eigenen Laptop ===
=== Anleitung für den Anschluss des NXT an den eigenen Laptop ===


 
Damit der NXT an den PC angeschlossen werden kann und der Sensor ausgelesen werden kann, muss zuvor die Toolbox in Matlab eingebunden werden und der passende Treiber für den NXT installiert werden. Gemäß der [http://nwatts.people.clemson.edu/engr141/instructions/ Anleitung] wurde zunächt die Toolbox in Matlab integriert. Dazu wird die [http://www.mindstorms.rwth-aachen.de/ Toolbox] als ZIP-Datei heruntergeladen, entpackt und dann im Matlab Ordner gespeichert. Der passende Lego USB Treiber kann ebenfalls heruntergeladen werden. In der Anleitung wird der [https://www.lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.com Fantom USB Treiber] genannt. Doch im weiteren Verlauf stellte sich heraus, dass dieser lediglich für Windows 32-Bit Version geeignet ist. Nach umfassender Recherche benötigt ein Windows 64-Bit Betriebssystem einen [http://www.mindstorms.rwth-aachen.de/subversion/trunk/root/README libusb-Treiber], dieser kann ebenfalls auf einer [https://sourceforge.net/projects/libusb-win32/ Internetseite] heruntergeladen werden. Unter den neueren Betriebssystemen (ab Windows 8) ist beim Installieren des Treibers das Problem, dass es sich um keinen von Microsoft signierten Treiber handelt. Die erste Möglichkeit besteht darin, den Rechner im Shutdown-Modus zu starten. Dies war mir aber zu riskant, sodass ich nach längerer Recherche auf ein [https://zadig.akeo.ie/ Programm] gestoßen bin, mit welchem sich der Treiber ohne Probleme installieren lässt.
== Anschluss


== Schritte zur Signalbearbeitung ==
== Schritte zur Signalbearbeitung ==

Version vom 6. Juni 2018, 19:13 Uhr


Im Rahmen der Lehrveranstaltung Signalverarbeitende Systeme im Modul Systementwurf des Masterstudienganges Business and Systems Engineering ist die Aufgabe semesterbegleitend ein Projekt mit Matlab/Lego Mindstorms zu lösen.

Aufgabenstellung

Der ausgesuchte Sensor, in diesem Fall der HiTechnics Beschleunigungssensor, soll mit Matlab/Simulink ausgelesen werden und die Signalverarbeitungskette beschrieben, untersucht und verstanden werden.

Projektplan

Konzepterstellung zum Auslesen des Sensors mit Matlab/Simulink

Nach der Ausgabe der Sensoren wurde festgestellt, dass der Sensor nicht so einfach an den PC angeschlossen werden kann. Der erste Ansatz war, dass der Sensor mit einem Arduino Uno ausgelesen werden sollte und eine Kommunikation zwischen PC und Arduino zu den Sensordaten führen sollte. Hierbei gestaltete sich für mich das Problem, dass das Anschlusskabel hätte auseinander geschnitten und die einzelnen Adern an den Arduino gelötet werden müssten. Da ich nicht über ausreichende Kenntnisse verfüge, wollte ich eine andere Lösungsmöglichkeit probieren. Auch der Ansatz den Sensor direkt über die Sensoreingänge des EV3 auszulesen funktionierte leider nicht, da der Beschleunigungssensor nicht im Lego Mindstorms EV3 Support Package enthalten ist. Der dritte Lösungsansatz und schließlich der hier erläuterte ist das Auslesen des Sensors mit Hilfe des älteren Lego Mindstorms NXT. Der HiTechnics Beschleunigungssensor ist in der RWTH - Mindstorms Toolbox enthalten und wird hier zum Auslesen mit Matlab verwendet.

Anleitung für den Anschluss des NXT an den eigenen Laptop

Damit der NXT an den PC angeschlossen werden kann und der Sensor ausgelesen werden kann, muss zuvor die Toolbox in Matlab eingebunden werden und der passende Treiber für den NXT installiert werden. Gemäß der Anleitung wurde zunächt die Toolbox in Matlab integriert. Dazu wird die Toolbox als ZIP-Datei heruntergeladen, entpackt und dann im Matlab Ordner gespeichert. Der passende Lego USB Treiber kann ebenfalls heruntergeladen werden. In der Anleitung wird der Fantom USB Treiber genannt. Doch im weiteren Verlauf stellte sich heraus, dass dieser lediglich für Windows 32-Bit Version geeignet ist. Nach umfassender Recherche benötigt ein Windows 64-Bit Betriebssystem einen libusb-Treiber, dieser kann ebenfalls auf einer Internetseite heruntergeladen werden. Unter den neueren Betriebssystemen (ab Windows 8) ist beim Installieren des Treibers das Problem, dass es sich um keinen von Microsoft signierten Treiber handelt. Die erste Möglichkeit besteht darin, den Rechner im Shutdown-Modus zu starten. Dies war mir aber zu riskant, sodass ich nach längerer Recherche auf ein Programm gestoßen bin, mit welchem sich der Treiber ohne Probleme installieren lässt.

Schritte zur Signalbearbeitung

Auswahl eines Primärsensors

Wie funktioniert der Sensor

Welche Rohsignale liefert der Sensor

Signalvorbereitung

Sollen Messwerte oder vorverarbeitete Daten übertragen werden

Wie lässt sich eine Verarbeitung 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 welchen Verarbeitungsschritten auf?

Stellen Sie die Messunsicherheit bzw. das Vertrauensintervall da


→ zurück zum Hauptartikel: Signalverarbeitende Systeme