Hallo Radbruch und Besserwessi,
Wie der Ball das intern macht, weiß ich nicht. Ich Suche mal gegebenenfalls das Datenblatt raus wenn ich es finde oder schreib den Support an, würde mich auch mal interessieren.
Bisher lesen wir ein TSOP Pendant von Sharp (allerdings 38kHz Version, was die Ursache für die vielen Sprünge sein wird die wir beobachten) mit einem Tiefpassfilter direkt am ADC aus. Damit können wir theoretisch 4 Sprungwerte angeben, ab dem der Ball etwas näher ist (z.B. 255 wenn nichts gesehen wird, 140 wenn er weit weg ist, 80 wenn er noch näher da ist, der vierte Sprung lässt sich nicht zuverlässig erkennen (liegt wohl denke ich an dem missmatch 38kHz Sensor und 40kHz Ball)).
Das Problem an dieser Methode ist, dass die Entfernug nicht bestimmt werden kann, da wir auf die Entfernung, wann der Sensor eine neue "Sprungstufe" ausgibt keinen Einfluss nehmen können.
Das gleiche geht auch digital, wenn man die Periodenlänge des Signals misst. Allerdings bietet das glaube ich keine weiteren Vorteile gegenüber der ADC Methode, außer dem höheren Programmier Aufwand.
Am weitesten verbreitet für diesen Einsatzzweck ist im übrigen der TSOP1140 von Vishay.
Mit Photodiode habe ich von folgender Methode gehört: Photodiode an transimpendace amplifier, rein in einen highspeed ADC und das gepulste 1,2kHz Signal per FPGA erkennen. Das soll anscheinend eine Möglichkeit schaffen, die Entfernung gut zu erkennen. Allerdings wieß ich nicht so recht wie das gelingen soll mit den Abstufungen des Balles? (Kommentar dazu: allows us to detect the amplitude of the signal without further analog circuitry).
Edit: Kann es sein, das damit ein Filtern des Ballsignals vom restlichen Licht gemeint ist und diese gefilterten Werte dann (da ADC) als Entfernug genommen werden?
Edit2: Ich habe noch eine Möglichkeit gefunden:Aach sensor has a "Faith" variable, with determines how much is the sensor telling the truth. The "faith" is incremented, every time that the derivate of the sensor is bigger than a filter.The "faith" is decremented every 'X' time.This way, if a sensor detect's light, in a minimum time, the faith will encrease just a little, and will die very fast.But, If the sensor is reading a bigger variance, that is constant, the faith will encrease untill the maximum faith value, and will stay there, until the sensor doesen't sees the ball, and the faith goes to 0 with time.I tested it, and worked perfecly. And the best: it's reinforced with time, because de "filter" can be also the avarege of the sensors that are variating less in time.The best of this, is that you don't have to deal with constants and calibration.
So wie ich das verstanden habe, ist das aber nur eine Erkennung Ball da Ball nicht da, oder?
Ich hoffe meine Antwort war einigermaßen verständlich.
Vielen Dank soweit und mit freundlichen Grüßen skg-rob
Edit 3: Für die Entfernugsbestimmung wären eine relativ hohe Genauigkeit im Nahbereich (ca. 20-30cm) wünschenswert und am besten eine trivial wählbare Einstellung (ab hier soll der Roboter eine Reaktion zeigen) wünschenswert (anderer Sensor).
Lesezeichen