heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · heise open · heise resale · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

AW: [ct-bot] Streulicht herausrechnen / Patch

Absender: Manuel Singer
Datum: Mo, 20.03.2006 17:55:27
In-reply-to: <441EDAC4.1090008@xxxxxx>


Hi,

Denkanstoß:
Aus dem Datenblatt des Sharp IR Sensors kann man entnehmen, dass er für eine
Messung 38ms benötigt und deshalb sich das Ausgangssignal nur alle 38ms
ändert/aktualisisert. (Wurde mir von einem Kollegen mit Oszi schon
bestätigt). Sind dann wohl nicht "4-5 hintereinanderliegende Messungen (was
der Dauer der Schwebung/Überlagerung entsprechen könnte)" sondern eher 4-5
Sensorabfragen, die denselben Wert erwischen.

Die Anzahl der möglichen Abfragen des Sensors hängt auch sehr von der
gewählten Optimierung bei der Übersetzung des Codes ab. Pauschale Versionen
wie "nach 100 Abfragen wird...." bereiten mir deshalb Bauchschmerzen. Wenn
eine solche Version angestrebt wird, dann sollte auf jedenfall (durch DEFINE
Konstante o.ä.) eine Anpassung entsprechend dem Optimierungslevels
stattfinden.

Gruß

Manuel

-----Ursprüngliche Nachricht-----
Von: ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx
[mailto:ct-bot-entwickler-bounces@xxxxxxxxxxxxxxxxx] Im Auftrag von Randolf
Gesendet: Montag, 20. März 2006 17:40
An: Entwicklung rund um den c't-bot
Betreff: [ct-bot] Streulicht herausrechnen / Patch

Hallo zusammen,

auch ich hab mir Gedanken um die zappelnden Sensorwerte gemacht. Eine
Mittelwertbildung halte ich nicht für sinnvoll. Die Spitzen treten nur
in eine Richtung auf und oft nur für ca 4-5 hintereinanderliegende
Messungen (was der Dauer der Schwebung/Überlagerung entsprechen könnte).
Daher verzichte ich auf die hohen Werte generell.
Ich speichere den letzten Messwert. Ist der aktuelle Wert kleiner, wird
er sofort übernommen.
Ist der aktuelle Wert größer, dann wird er nicht übernommen, sondern es
wird ein Zähler gestartet. Erst wenn x-Mal ein höherer Wert ausgelesen
wird, wird dieser übernommen. Momentan hab ich den Wert x auf 100
gestellt (worst case: nur nach 100 Sensorabfragen wird erkannt, dass
kein Hindernis mehr da ist. Bei max. 100 ms sollte das kein Problem sein
??? Tritt ein Hindernis auf, wird der kleinere Wert sofort
durchgereicht. Patch zum Testen  anbei.

Gruss Randolf





Copyright © 2007 Heise Zeitschriften Verlag Kritik, Anregungen bitte an c't-WWW Datenschutzhinweis   Impressum