Zitat Zitat von robo.fr
... war etwas unpräzisse ...
Bei meinem Einspruch wars mir recht unbehaglich, so etwas klingt manchmal nach I-Tüpfel-Reiterei. Das wollte ich Dir gegenüber keinesfalls - aber der Sir sollte eben auch die andere Seite kennen(lernen).

Zitat Zitat von robo.fr
... neuer Algorithmus zur Auswertung eingefallen, der etwas schneller und weniger störanfällig sein könnte ...
Das klingt mir etwas nach der CIRperei von Sternthaler. Wo ist der Unterschied zu Deinem Ansatz? Im Link ist ein zip vom Sternthaler. Mit dem dort enthaltenen hex kannst Du mit dem asuro die Funktion des Algorithmus prima testen. (Dazu/davor bitte in der test.c den Abschnitt Inhalt lesen).

Vorausgesetzt wird, dass die Empfindlichkeit des 5110 oberhalb 50% duty cycle sich sinngemäss verhält wie unterhalb. Das habe ich durch Messungen verifiziert. Gecirpt wird also mit PWM {0 .. 127}. Ein Messvorgang startet die LED mit 64. Danach wird mit einer Bitschieberei iteriert, sodass man nach sieben Messungen an der Messgrenze des Sensors angelangt ist. Dieser Wert wird sechs bis zehn mal geholt - sprich: sechs bis zehn Iterationen - und arithmetisch gemittelt. Nach einem solchen Durchgang schalte ich zum nächsten Sensor weiter. Das Timing beim Weiterschalten des PWM-Wertes ist dabei so gewählt, dass der 5110 mehr als die im Datenblatt vorgeschriebenen 6 Pulse in einem Burst bekommt, sodass sein Antwortsignal einigermassen glaubhaft ist. Der WALL R zeigt, dass die Sensorik auch bei 1,5 m/s und den drei sequentiell abzuarbeitenden Sensoren damit im Bereich von knapp über 1 m Distanz ausreichend (zeitlich und distanzmässig) auflösen kann, um den Überblick nicht zu verlieren (siehe Video). Verwendet wurde stets der m168 mit 20 MHz.

Die Sternthaler´sche Cirperei habe ich an meinem Dottie, am MiniD0 (vorgesehen, noch nicht eingebaut) und an meinem WALL R. Immer habe ich drei komplette Sensoren mit IRLED SFH415 (Ausnahme WALL R: SMD SFH4600) und IREmpfänger SFH5110-36, die umlaufend gecirpt werden. Bei den Dosen sind die Sensoren in Blindenstockmanier angeordnet, sodass ich sowohl Hindernisse als auch Absturzstellen detektieren kann. Ein Sharp GP2D120 dient zur genaueren Kontrolle - der kontrolliert immer in die Richtung und dann, wo und wann ein Sensor glaubt, etwas erkannt zu haben.

Aber jetzt fehlt mir, wie erwähnt, der Durchblick, wo und wie sich Dein Ansatz vom CIRpen unterscheidet.