Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:messen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:messen [2015/10/24 19:11]
c.jaedicke
techniken:messen [2018/12/17 11:55] (aktuell)
d.golovko
Zeile 1: Zeile 1:
-===== Entrauschen eines Sensors ​=====+===== Filtern der Signale aus einem Sensor ​=====
  
-=== Motivation === +==== Motivation ​==== 
-Roboter ​sollen ​mit ihrer Umgebung ​interagierenum das zu tun müssen sie zunächst in der Lage sein ihre Umgebung wahrzunehmen. Ähnlich wie Menschen über sensorische Hilfsmittel verfügen kann auch ein Roboter mit Sensoren ausgestattet werden die ihm Informationen über seine Umgebung liefern. Jedoch sind unsere Sinnesorgane seit Jahren mit uns verwachsen und unser Gehirn hat sich exakt auf sie eingestellt. Würde man seine Ohren austauschen gegen die seines Nachbarn könnten wir zwar noch immer hören aber das Signal würde sich fehlerhaft anhören aufgrund der veränderten Filtereigenschaften des Aussenohres. \\ +Damit Roboter mit ihrer Umgebung ​können, müssen sie zunächst in der Lage sein diese auch **//wahrzunehmen//**.
-Möchte man seinem Roboter also nicht nur //irgendwelche Ohren// aufsetzen, sondern genau justierte, sollte man wissen wie das Signal aussieht das aus ihnen rauskommt. Im Folgenden betrachten wir dazu den Distanzen-Sensor von Sharp GP2Y0A60SZLF.+
  
 +
 +Ähnlich wie Menschen über Sinnesorgane verfügen, kann auch ein Roboter mit Sensoren ausgestattet werden die ihm Informationen über seine Umgebung liefern. ​
 +Da sich unser Gehirn im Laufe der Jahre exakt auf die mit ihm verbundenen senorischen Organe einstellen konnte, fällt uns im Alltag kaum auf, wie verrauscht, verzerrt und unscharf die von ihnen gelieferten Signale vor ihrer Verarbeitung sind. Würden wir also unsere Ohren gegen die seines Nachbarn austauschen könnten wir zwar noch immer noch Geräusche wahrnbehmen - das Signal würde sich aufgrund der veränderten Filtereigenschaften des Aussenohres völlig verzerrt und "​falsch"​ anhören.
 +
 +Gleiches gilt für unsere Roboter: Damit die von Sensoren über die Umgebung gelieferten Informationen richtig interpretiert werden können, muss eine dazwischengeschaltete Signalverarbeitung genau zu den Eigenschaften des vom Sensor erzeugten Signals passen. Damit das klappen kann, müssen wir zunächsteinmal eine möglichst Vorstellung davon haben, wie dieses Signal eigentlich aussieht...
 +
 +==== Beispiel: Ein optischer Distanz-Sensor (Typ Sharp GP2Y0A60SZLF)====
 +Anhand des besonders "​hilfbedürftigen"​ Distanzsensors "​GP2Y0A60SZLF"​ von Sharp wollen wir durchspielen,​ wie aus einem katastrophalen Rohsignal mit einigen kleinen Kniffen eine brauchbare Informationsquelle wird.
 === Das Datenblatt === === Das Datenblatt ===
-Der erste Schritt führt zum Datenblatt des Sensors, alle wichtigen technischen Daten sind dort zu finden: [[https://www.pololu.com/file/0J812/​gp2y0a60szxf_e.pdf|Datenblatt Sharp]] ​bzw. auf der Website des Herstellers Pololu[[https://​www.pololu.com/​product/​2474|Sharpy]]. So erfahren wir das der Sensor ​alle 16.5 ± 3.7 ms ein neues Messergebnis liefert. \\ +Der erste Schritt führt zum Datenblatt des Sensors, alle wichtigen technischen Daten sollten ​dort zu finden ​sein: [[http://www.sharp-world.com/products/device/​lineup/​data/​pdf/​datasheet/​gp2y0a60szxf_e.pdf|Datenblatt Sharp]] ​ 
-Frequenz = 1/Periode ⇒ Wenn man auf Nummer sicher geht also eine Messfrequenz von 50Hz+ 
 +Auf der Website des Herstellers Pololu [[https://​www.pololu.com/​product/​2474|Sharpy]] ​gibt es nich ein paar zusätzliche Informationen zur Platine, auf der unser Sensor ​verlötet ist.. 
  
-=== Aber was passiert ​in der Zwischenzeit? ===+So erfahren wir, dass der Sensor für jede Messung 16.5 ± 3.7 ms benötigt und die Entfernung in Form einer Spannung ausgibt, die nichtlinear mit dem Abstand abfällt. Idealerweise sollten wir also in jeder Sekunde (Frequenz ​1/Periode) 60 verschiedene Messungen bekommen. 
 +=== Also.. wie sieht das Signal denn in Realität aus? Und was genau passiert ​zwischen zwei Messungen? ===
  
-Angenommen wir haben den Sharp-Sensor am Arduino Pin A6 angeschlossen. Nun lesen wir die Spannung aus die an A6 anliegt, diese entspricht unserem Messwert, und eine weitere Messung nach 1ms. Unsere erste Annahme könnte nun sein das die beiden Werte gleich sein müssen bzw. das wir genau vor und nach einem Mess-Update des Sharp-Sensors gemessen haben. Um diese Annahme zu prüfen lassen wir den Arduino so schnell messen wie er kann und speichern die Daten via eines Processing-Sketch in einer Text-Datei um sie anschließend auszuwerten.+Angenommen wir haben den Sharp-Sensor am Arduino Pin A6 angeschlossen. Nun lesen wir die Spannung aus die an A6 anliegt, diese entspricht unserem Messwert, und eine weitere Messung nach 1ms. Unsere erste Annahme könnte nun sein dass die beiden Werte gleich sein müssen bzw. dass wir genau vor und nach einem Mess-Update des Sharp-Sensors gemessen haben. Um diese Annahme zu prüfen lassen wir den Arduino so schnell messen wie er kann und speichern die Daten via eines Processing-Sketch in einer Text-Datei um sie anschließend auszuwerten.
  
 === Arduino- und Processing-Sketch === === Arduino- und Processing-Sketch ===
Zeile 34: Zeile 43:
     Serial.print("​\t"​);​     Serial.print("​\t"​);​
     //​Messzeitpunkt     //​Messzeitpunkt
-    Serial.print(currentMillis);+    Serial.print(currentMicros);
     //"​newline"​ um die Messungen voneinander zu trennen     //"​newline"​ um die Messungen voneinander zu trennen
     Serial.print("​\n"​);​     Serial.print("​\n"​);​
Zeile 46: Zeile 55:
 // and saves them to a text file // and saves them to a text file
 // Created 2013 by Felix Bonowski // Created 2013 by Felix Bonowski
-// extended 2015 by Corvin Jaedicke 
 // This code is in the public Domain. // This code is in the public Domain.
    
Zeile 113: Zeile 121:
  
 Das Signal zeigt ein starkes rauschverhalten mit Spannungssprüngen von 30mV. Solch große Schwankungen sind für eine präzise Messung natürlich sehr ungünstig. Zwei Lösungen bieten sich hier:  Das Signal zeigt ein starkes rauschverhalten mit Spannungssprüngen von 30mV. Solch große Schwankungen sind für eine präzise Messung natürlich sehr ungünstig. Zwei Lösungen bieten sich hier: 
-  - Die Messwerte über einen geeigneten Zeitraum (e.g. 20ms) aufsummieren und Mitteln in der Hoffnung dass man größtenteils ein Messplateau erwischt. Vorteil, einfach zu programmieren. Nachteil, kostet viel Rechenzeit, ungenau, im Extremfall völlig falsche Ergebnisse.+  - Die Messwerte über einen geeigneten Zeitraum (e.g. 20ms) aufsummieren und Mitteln in der Hoffnung dass man größtenteils ein Messplateau erwischt. Vorteil, einfach zu programmieren. Nachteil, ungenau, im Extremfall völlig falsche Ergebnisse.
   - Ein Tiefpass-Filter der das Signal direkt glättet. Vorteil, sehr schnell und zuverlässig. Nachteil, schlecht gewählte Bauteile beeinträchtigen die Messung.   - Ein Tiefpass-Filter der das Signal direkt glättet. Vorteil, sehr schnell und zuverlässig. Nachteil, schlecht gewählte Bauteile beeinträchtigen die Messung.
  
techniken/messen.1445706664.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)