- 12V Akku mit 280 Ah bauen         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: 90's ir receiver hack - IR Empfänger Modul bauen

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447

    90's ir receiver hack - IR Empfänger Modul bauen

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,

    Ich möchte meinen Roboter ein Objekt folgen lassen. Vorgabe ist, dass das Objekt gepulstes IR Licht aussendet (40kHz), die Aussendung sieht wie folgt aus:
    Klicke auf die Grafik für eine größere Ansicht

Name:	wave_form_object.jpg
Hits:	33
Größe:	15,3 KB
ID:	20154
    Es gibt eine Reihe fertigmodule, die das Objekt zuverlässig erkennen können, die Entfernung allerdings nur spärlich. Schaltung sieht so aus:
    Klicke auf die Grafik für eine größere Ansicht

Name:	ir_90s_hack.jpg
Hits:	41
Größe:	24,7 KB
ID:	20155
    Nun habe ich einige Fragen:
    a Gibt es eine Bezeichnug für dieses Modul nach der ich suchen könnte?
    b Funktioniert das Modul auch mit der nicht linearen Sendeleistung des Objekts (wechselnde Intensität)? Gibt es eine möglichkeit das herauszufiltern (elektronisch oder per software)?
    c Wie genau lässt sich die Entfernung später bestimmen? Eine Genauigkeit von 2-3 cm wäre wünschenswert.
    d Der Spannungsverlauf ist nicht linear, sondern ähnlich wie auf der Grafik, oder?
    e Wie lässen sich die einzelnen Bauteile berechnen? Zum Bandpassfilter habe ich im Wiki schon etwas nützliches gefunden.

    Ich bin für jede Hilfe dankbar. Wenn jemand eine bessere Methode kennen sollte, immer raus damit

    Vielen Dank und mit freundlichen Grüßen skg-rob
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Zum Empfänger: In der Analogtechnik bin ich nicht so bewandert. Ich vermute deshalb, der Abgriff zwischen Integrator und Comperator ist der Punkt an dem die Schaltung entscheidet, ob das empfangene und aufbereitete Signal als "Signal empfangen" gewertet wird oder nicht. Durch den Abgriff kann man nun erkennen, wie weit die Signalstärke vom "Schaltpunkt" entfernt ist. Und mit dieser Information konstruiert man sich dann einen eigenen "Softwareschaltpunkt". Bringt das echt einen Vorteil?

    Zum Sender: In der Grafik sehen die immer kleiner werdenden Impulse ja nett aus, aber wie steuert man die IR-LED an? Mit verschiedenen Vorwiderständen die in ihrer Abstufung die Leuchtstärke der LED genau um den gewünschten Faktor verkleinert?

    Im Ansatz ist das ja eine klassische IR-Abstandsmessung. Mit einem TSOP (die es für unterschiedliche Trägerfrequenzen gibt) und einer in der IR-Wellenlänge passenden IR-LED. Dann sendet man mehrere Impulsblöcke mit unterschiedlicher Intensität und interpretiert das empfangene Echo als Abstand. Das ist sehr einfach umsetzbar, weil der µC Zugriff auf Sender und Empfänger hat und deshalb das Echo der gesendeten Signalstärke zuordnen kann. Wenn man Sender und Empfänger trennt, muss im Signal auch die Information über die verwendete Sendeleistung übertragen werden. Dies geschied in deiner Anwendung durch die feste Impulszahl über die das Signal abgeschwächt wird. Um das Signal auszuwerten muss man nach den Erkennen des Signals bei voller Sendeleistung nur die Zeit messen die es dauert, bis das Signal nicht mehr erkannt wird. Unter Berücksichtigung der von TSOP abhängigen Bust-Impulse kann man dann aus der gemessenen Zeit die Sendeleistung des zuletzt empfangenen Impulsblocks ermitteln und daraus dann auf die Entfernung zum Sender abschätzen.

    Eigentlich einfach, allerdings auch Raum für viele Fehlerquellen. Die IR-LED darf während des Signals den Strahlwinkel zum TSOP nicht ändern. Wie erkennt man Reflektionen des Signals die auf den TSOP treffen. Störungen durch Fremdlicht? Wie reagiert man auf ein schwächeres Signal bei leeren Akkus im Sender?

    ... arbeiten wir gerade an einem Sensor, der den Ball nicht nur erkennen, sondern auch seine Entfernung bestimmen kann. Bisher ist eine Entfernungsbestimmung nur auf 3 Entfernungen möglich, die jedoch nicht zu beeinflussen sind.
    Zitat aus: http://skgrobotics.blogspot.com/2011...ungen-fur.html

    Es geht ja offensichtlich um einen RoboCup-Ball und ihr könnt schon unterschiedliche Entfernungen erkennen. "Eine Genauigkeit von 2-3 cm wäre wünschenswert." Was geht denn schon und wie macht ihr es?

    Obwohl ich auch einen RoboCup-Ball besitze habe ich damit noch keine Versuche unternommen. So aus dem Stand würde ich mal untersuchen, wie der Ball die unterschiedlichen Sendeleistungen erzeugt. Das mit den unterschiedlichen Vorwiderständen ist ja Quatsch, vermutlich wird das Impuls-Pause-Verhältnis per überlagerter PWM-Ansteuerung der Trägerfrequenz verändert (wie bei der IR-Abstandsmessung beim asuro). Darauf deuten auch die Abstufungen der Signalstärke hin. Mit einem TSOP und einem zusätzlichen IR-Empfänger (IR-Transistor) könnte man vielleicht bei einem durch den TSOP erkannten Signal mit dem IR-Transistor die Puls-Pausezeit des Signals ausmessen. Desweiteren könnte der IR-Transistor auch als schneller analoger Sucher nach der Quelle der IR-Signale eingesetzt werden.

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die üblichen Empfängerschalteung wie TSOP1538 sind dafür ausgelegt die Modulation zu erkennen, und nicht die Signalstärke. Eine Schwankende Intensität wird intern weitgehend ausgeglichen, und bei den kleinen Schaltungen (1 IC) kann man auch nicht einfach das Signal für die Intensität abgreifen. Für eine genaue Messung der Intensität müsste man schon einen seperaten Empfänger aufbauen, der ohne automatischen Abgleich der Verstärkung arbeitet. Wenn der µC und AD schnell genug ist, kann man da vieles auch digital machen und braucht analog nur eine groben Filter und die Verstärkung. Die Demodulation und feine Filterung geht ggf. Digital per Görtzel-Algorithmus.

    Bei der Genauigkeit wird es mit 2-3 cm nur etwas für einen recht kleinen Messbereich, bis vielleicht 5-10 cm. Da sind halt viele mögliche Fehlerquellen drin.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    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).
    Geändert von skg-rob (30.09.2011 um 12:26 Uhr)
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die digitale Auswertung ist nicht so aufwendig das man einen FPGA braucht. Von der Rechenleistung könnte schon der normal 8 Bit AVR reichen, wenn auch knapp. Nur der AD Wandler sollte schneller (z.B. 120 kHz) sein. Da würde sich so etwas anbieten wie ein dsPIC33. So wie komplizierter ist die analoge methode aber auch nicht.

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    Welche Analog Methode meinst du genau?
    Im übrigen werden ARM Prozessoren verwendet, sodass es schnell genug zugehen dürfte. ADC Sample Rate ist glaube ich 100kHz wenn ich mich nicht täusche.
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    ADC Sample Rate ist glaube ich 100kHz wenn ich mich nicht täusche.
    Die Abtastrate eines AVR-ADCs ist deutlich höher:

    https://www.roboternetz.de/phpBB2/viewtopic.php?t=33070
    https://www.roboternetz.de/community...ra-für-den-RP6
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die analoge Schaltung wäre es so wie im 1. Post angedeutet im 2. Bild. Mit einem ARM Controller sollte die Rechenleistung locker ausreichen um mit ADC Daten bei vielleicht 150-200 kHz Abtastrate den Görtzel-algorithmus laufen zu lassen. Der Erledigt einem die Filterung (fein) und Demodulation. Aus der Form wie sich die Amplitude entwickelt kann man dann eine Funktion für den Abstand berechnen. Das sollte im Idealfall so etwas wie 1/d² sein. Wenn bei geringem Abstand die Begrenzung erreicht wird, muss man das seperat berücksichtigen und nur das Signal mit geringerer Amplitude auswerten.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    Vielen Dank für die Antworten, ich werd mir das mal in Ruhe anschauen.
    @radbruch: Ich meinte natürlich nicht die Samplerate sondern die Ausleserate des ADCs.
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2006
    Beiträge
    447
    Also so wie ich das verstanden habe, ist eine Möglichkeit die Entfernung zu bestimmen das Signal per CPU zu filtern und demodulieren, und dann kann man einfach so einen "Block" denn man gefiltert hat in seiner "Stärke" messen und dafür eine Formel ableiten. Wenn der Ball näher dran ist, kann man auch die "niedrigeren Blöcke" betrachten und wiederum eine Formel für die Stärke ableiten.
    Für diese Methode brauche ich einen schnellen CPU (es sollen 8 ADC bearbeitet werden, außerdem eine PI Regelung, klappt das mit 120MHz?) und als Beiteile natürlich eine Diode, einen Verstärker, einen Limiter und einen Integrator (was auch immer das sein soll, dazu habe ich noch nichts gefunden).
    Statt digital zu filtern und zu demodulieren könnte ich aber auch zwei weitere Bauteile einbauen, dadurch würde ich mir sehr viel Rechenleistung sparen. Die Verarbeitung wäre aber wie oben mit einer Funktion die man ableitet.

    Hab ich das so richtig verstanden? Es stellt sich noch die Frage wie genau das ganze auf Nahdistanz (20-30, evtl. 40cm) sein wird. Auf längere Distanzen kann ich glaub ich verzichten.

    Würde das auch ohne Elektronik klappen? Ich habe von einer Methode gelesen, bei der die Phototransisoren direkt an den ADC gehängt sind und die Informationen bis ca. 20cm genutzt werden. Das wird denke ich auch wieder aus Signal filtern und Amplitude messen bestehen.

    Mit freundlichen Grüßen skg-rob
    Diese Signatur wurde unter der GPL veröffentlicht.
    Klau was aus meiner Signatur und du bist tot!

    www.twitter.com/skgrobotics

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 22.03.2009, 16:56
  2. SAT Receiver selber bauen
    Von Xerrez im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 25.09.2007, 18:05
  3. IR-Empfänger-Modul
    Von Amri im Forum Sensoren / Sensorik
    Antworten: 11
    Letzter Beitrag: 03.04.2005, 15:45
  4. Sender/Empfänger Modul Set 433MHz
    Von jomammele im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 02.01.2005, 13:29
  5. IR-EMPFÄNGER-MODUL, aber welches?
    Von RCO im Forum Elektronik
    Antworten: 23
    Letzter Beitrag: 20.09.2004, 19:55

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test