HiTechnics EOPD mit Matlab/Simulink
Signalverarbeitungskette eines HiTechnic EOPD Sensors und auslesen in MATLAB/Simulink
Autor: Tim Kempe
Einleitung
Dieser Artikel befasst sich im Rahmen der Lehrveranstalltung mit dem HiTechnic EOPD Sensor. Dazu wird der Sensor an sich und die Signalverarbeitungskette beschrieben. Am Anschluss wird gezeigt, wie die Sensordaten ausgelesen und in Matlab Simulink bereit gestellt werden können.
Sensor und Signalverarbeitungskette
In diesem Abschnitt wird der EOPD Sensor beschrieben und die Signalverarbeitungskette erläutert.
Was wird vom EOPD Sensor gemessen?
XX
Messdaten nach MATLAB/Simulink
Um die Messdaten nach MATLAB/Simulink zu übertragen und dort zu verwenden gibt es unterschiedlichste möglichkeiten. Zu Beginn wird versucht die Messdaten über dem analogen Port des Sensors mittels Arduino auszulesen und an MATLAB/Simulink zu übertragen.
Über Arduino
Die Idee ist es, den analogen Port des EOPD Sensors mit einem der analogen Eingänge von Arduino Unoauszulesen. Um dies zu realisieren wurde eine Schaltung nach dem im rechten Bild gezeigt Schema aufgebaut. Dabei ist der analoge Ausgang des EOPD Sensors am Analogen Eingang A0 des Arduinos angeschlossen. Mit dem folgenden Programmcode kann sich der Wert des EOPD Sensors am seriellen Monitor angezeigt werden.
void setup() {
int A0 = 0; // Analogen Port 0
int value=0; // Wert auf 0 setzen
Serial.begin(115200); // Serielle Kommunikation aktivieren
Serial.println(Serielle Kommunikation gestartet);
}
void loop() {
value = analogRead(A0); // Spannung an analogen Eingang messen
Serial.println(value); // Rohwert über seriellen Monitor ausgaben
delay(500); // 500 ms Warten
}
Im seriellen Monitor ist zu sehen, dass die gemessenen Rohwerte, beim testen von Abständen zwischen 0 cm und 20 cm, im Bereich von 6 bis 8 pendeln. (Bild folgt) Diese Messwerte erscheinen unplausibel. Nach Recherche kommt die Erkenntnis, das der Sensor zuerst in einen geeigneten Modus gesetzt werden muss um einen analogen Wert zu erhalten. Daher ist dieser Ansatz nicht so realisierbar wie gedacht. Daher wird im folgenden versucht den Sensorwert über den EV3 auszulesen.
Über EV3
Im Folgenden wird die Möglichkeit beschrieben, den EOPD Sensor über einen Lego Mindstorms EV3 auszulesen und an MATLAB/Simulink zu übergeben. Dies wird in zwei Schritte aufgeteilt. Zum einen das Anzeigen des Sensorwertes auf dem EV3 und zum anderen ans übertragen der Sensorwerte zu MATLAB/Simulink.
Zum anzeigen der Sensorwerte wird ein MATLAB/SimulinkDemo Modell aus dem SVN Ordner der Veranstalltung Signalverarbeitende Systeme genommen [2]. Vorgegangen werden kann wie im Artikel EV3 mit Simulink beschrieben. Ergebniss ist, dass der EV3 die Rohwerte und den Abstand in cm zum Objekt anzeigt. !! Beschreibung Datenübergabe nach MATLAB/Simulink.!!!
Literaturverzeichnis
- ↑ Fritzing Foto
- ↑ EOPD_Demo von Prof. Schneider https://svn.hshl.de/svn/BSE_SigSys/trunk/SRC/Demos/EV3_HiTechnic_EOPD/