PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 90's ir receiver hack - IR Empfänger Modul bauen



skg-rob
30.09.2011, 08:53
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:
20154
Es gibt eine Reihe fertigmodule, die das Objekt zuverlässig erkennen können, die Entfernung allerdings nur spärlich. Schaltung sieht so aus:
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

radbruch
30.09.2011, 10:27
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 (http://www.conrad.de/ce/de/product/171085/) (die es für unterschiedliche Trägerfrequenzen gibt) und einer in der IR-Wellenlänge passenden IR-LED (http://www.conrad.de/ce/de/product/154447/). 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/09/dream-team-in-den-vorbereitungen-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

Besserwessi
30.09.2011, 10:52
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.

skg-rob
30.09.2011, 12:15
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).

Besserwessi
30.09.2011, 13:09
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.

skg-rob
30.09.2011, 16:54
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.

radbruch
30.09.2011, 17:21
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/threads/29906-Minimallösung-Kamera-für-den-RP6

Besserwessi
30.09.2011, 18:20
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.

skg-rob
30.09.2011, 19:25
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.

skg-rob
02.10.2011, 09:40
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

Besserwessi
02.10.2011, 10:31
Ob das mit 120 MHz Takt und 8 Kanälen gleichzeitig klappt, ist nicht sicher. Das könnte so etwa die Grenze sein. Ich kenne mich aber mit den ARMs nicht wirklich aus, und hab auch den Görtzel algoritmus nicht vor mir. Da wohl nicht gleichzeitig an allen 8 Sensoren ein Ball ist, kann man die Sensoren ohne Ball ggf. vereinfacht behandeln.

Die Genauigkeit wird vermutlich im wesentlichen von der Optik bestimmt. Das ist schwer abzuschätzen. Die Probleme sind da zum einen, dass der Ball nicht nach allen Seiten gleich stark senden wird, und dann Reflexionen (bzw. genauer Streuung) am Boden. Da kann man an der Empfängerseite und bei der Auswertung fast nichts dran ändern. So mit 20-50% Unsicherheit in der in der Intensität muss man wohl schon rechnen. Das wären wegen der Abhängigkeit nach etwa 1/d² dann 10-25% Unsicherheit in der Entfernung.

Bei der Hardware kann man noch etwas sparen, wenn man es digital macht: den Limiter braucht man nicht unbedingt, irgendein anderer Teil wird das auch so schon machen. Den Integrator braucht man auch nicht, das macht schon die Software - ist ja auch schon hinter der Demodulation. Wenn das Signal recht stark ist, könnte schon ein Phototransistor und ein Widerstand dazu reichen.

Wegen der ohnehin begrenzten Genauigkeit wäre vor allem für den Nahbereich auch die Hardwaremäßige Lösung nicht so abwegig. Super genau geht es ohnehin nicht, was den Demodulator etwas vereinfachen kann. Bei viel Intensität im Nahbereich kann auch der Filter einfacher werden, weil man relativ zum Signal weniger Störungen hat. Den Integrator der in der analogen Schaltung gezeigt ist, braucht man nicht unbedingt. Da reicht eigentlich ein Tiefpass, und den Rest macht der µC dann nebenbei besser als extra Hardware.

BMS
02.10.2011, 14:40
Hallo,
wir haben das damals komplett analog gelöst. Also am Ende hatten wir eine (stabile) Gleichspannung, wie beim alten Ball,
das man dann mit dem ADC einfach messen konnte. Wobei der Aufwand schon recht groß wird, verglichen mit einer reinen Softwarelösung.
Wir haben damals eine Messreihe gemacht, den Ball so gedreht, dass die maximale Intensität in Richtung Empfänger leuchtet.
Am Fototransistor betrugen die Spannungspegel 0,1-50mV Spitze-Spitze (je nach Abstand 150cm-0cm), das Diagramm dazu
war etwa hyperbelförmig (also 1/d² könnte hinkommen). Unsere Schaltung konnte das auch ein bisschen linearisieren.
Man kann aber fast nur das erste Impulspaket auswerten, das zweite ist schon deutlich schwächer und das dritte lässt sich nur noch erahnen.
Wir haben mit Analogmultiplexern gearbeitet, da der Hardwareaufwand für 16 Sensoren + zugehörige Analogschaltungen viel
zu hoch gewesen wäre. Ganz ohne Analogelektronik geht es natürlich auch nicht, 100µV-50mV lassen sich nämlich nicht leicht verarbeiten.
Einen Vorverstärker brauchst du also schon mal auf jeden Fall.
Grüße,
Bernhard

skg-rob
03.10.2011, 13:48
Vielen Dank euch zwei.

Das wird wohl doch in sehr viel experimentelles ausarten, wenn ich etwas funktionierendes bekommen will.
Das mit der CPU Leistung könnte ich so beheben, dass ich die Phototransistoren auf di 4 CPUs die PI und Ball Sensoren machen verteile und nicht alle auf einen. Das wären dann nur 2-3 pro CPU oder so.
BMS, warum waren die Spannunsspitzen so niedrig? Rein durch die Modulation des Balles? Theoretisch würde mich der Abstand nur im Nahbereich interessieren, auf 150cm reichen auch die Signale der TSOP.
btw, welches Team wart ihr?
Wies aussieht wird es wohl darauf rauslaufen, dass ich nur TSOPs nehme und davon eben genügend in der Anzahl.

MfG skg-rob

BMS
03.10.2011, 14:06
BMS, warum waren die Spannunsspitzen so niedrig? Rein durch die Modulation des Balles? Theoretisch würde mich der Abstand nur im Nahbereich interessieren, auf 150cm reichen auch die Signale der TSOP.
Das Signal des Balles ist einfach so gering. Wenn der stärker leuchten würde, wären die TSOP-Empfänger gnadenlos in der Sättigung. Ich glaube, dass erst der Empfänger ausgewählt wurde und dann der Ball passend dazu entwickelt wurde. (Ich war bei der Präsentation in Graz auch dabei). Denke auch, dass es gewollt ist, dass die Empfängerfrequenz nicht exakt zum Sender passt. Ein 40kHz-Empfänger wäre vermutlich auch viel zu empfindlich, da ist der sofort auf Anschlag. Übrigens stimmt die Frequenz des Balles nicht exakt. Da ist ein Mikrocontroller drin, der mit internem Oszillator arbeitet. Die Frequenz kann deswegen um einiges daneben liegen!!!

Die Spannungspegel sind die, die wir am Fototransistor gemessen haben (Spannungsteiler aus Fototr. und 3,3k @5V).
Das wurde dann sowieso erst mal um Faktor 30 verstärkt, weil direkt kann man die nicht verarbeiten.

War damals im Jamo-Uhrwerk-Team, bin jetzt im Studium (3.Sem.)

Grüße,
Bernhard

Besserwessi
03.10.2011, 14:07
Die TSOP.... Empfänger sind schon recht Empfindlich im Vergleich zu eine Phototranistor ohne zusätzliche Verstärkung. Die auswertung mit vielen der TSOP... kann in Nahbereich recht gut gehen, denn da nutzt man nicht nur die Intensität, sonder in Grenzen auch den Winkel aus. Mit mehr Sensoren wird ggf. auch der Fehler Reduziert, weil mehr als eine Richtung genutzt wird. Wirklich viel Rechenleistung braucht man nur, wenn man die Filterung und Demodulation per µC machen will, und dann auch noch mehrere Kanäle gleichzeitig. Man kann immer noch multiplexen, also die Kanäle schnell nacheinander auswerten.

Ganz ohne ein Paar Experimente wird es wohl nicht gehen, auch nicht mit den TSOPs. Das zusammenführen der Ergebnisse von mehr Sensoren ist da auch ein Problem für sich.

skg-rob
03.10.2011, 16:47
Hallo Bernd,
Wie sollten die TSOP "auf Anschlag" sein wenn der Ball stärker strahlen würde? Die haben einen AGC integriert. Somit sehe ich nicht, wo das Problem sein sollte.
Ich denke, der Frequenz Missmatch ist nicht gewollt, da der einem nur Probleme bereitet.
Also einige Leute haben es ohne Amp geschafft. Habt ihr eine genügend hohe Auslesefrequenz gehabt? AVR?
Hallo Besserwessi,
So wie ich das verstanden habe nutzt ein TSOP die Intensität insofern gar nicht, viel mehr wird bei der digitalen Methode die Signalzeit gelesen (wird nur die erste Stufe erkannt oder ist der Ball so nah, das die zweite Stufe erkannt wird). Bei der Analog Methode geht das genauso.

Mit freundlichen Grüßen skg-rob

Besserwessi
03.10.2011, 18:02
Mit dem TSOP kann man nur die Länge der Pulse auswerten: Ist der Ball weit weg, reicht nur der erste Teil des Pulses und der Puls ist kurz. Je dichter der Ball ist, desto länger reicht auch die schwächere Intensität noch aus und der Puls wird länger. In wie weit man noch Zwischenstufen erkennen kann, weil die Zeit bis zum Ansprechen von der Intensität abhängt, müsste man probieren, aber ich befürchte das wird nicht viel helfen. Außerdem kann es da einen Unterschied machen welchen der TSOPs man nimmt, in den Detail wie der Zeit bis zum Ansprechen sind da Unterschiede. Je nach Typ ist man da mit der Pulslänge ggf. auch schon außerhalb der Spezifikation - da hilft eigentlich nur selber nachmessen.

Normal sollten die TSOPs auf kurze Entfernung auch noch das Abgeschwächte Signal erkennen - wofür ist das sonst auch da. Schließlich geht der Sensor bei einer Fernbedienung auch für viele Meter (z.B. 5 ). Auf 0,5 m würde dann schon 1/100 der Intensität ausreichen.

skg-rob
03.10.2011, 18:12
Klar kann man das Signal erkennen, das klappt auch problemlos in der Praxis. Das Problem ist allerdings, dass man nicht beeinflussen kann, WO dieser Sprung stattfindet. Wenn ich z.B. gerne einen Sprung bei 20cm hätte, der Sensor aber bei 15 und 45cm springt, bringt mir das nichts.

mfg skg-rob

BMS
03.10.2011, 19:19
Gut, du kannst natürlich optisch nachhelfen, indem du noch einen Filter davor setzt, der dann die Intensität einfach künstlich herabsetzt.

Also einige Leute haben es ohne Amp geschafft. Habt ihr eine genügend hohe Auslesefrequenz gehabt? AVR?
Auslesefrequenz musste gar nicht so hoch sein. Vielleicht hab ich mich undeutlich ausgedrückt, aber unsere Schaltung hat
aus dem Wechselspannungssignal des Fototransistors (kein TSOP!) eine Gleichspannung gemacht, die man dann nicht-zeitkritisch
mit dem ADC eines AVRs auslesen konnte. (Ganz ohne Amplitude messen oder Görtzel-Algorithmus.)
Man muss nur beim Multiplexing der Sensoren jedem Sensor so lange Zeit geben,
dass auch ein Impulspaket sicher erkannt wird (weil ja nur alle 833µs=1/1,2kHz ein Paket kommt).
Grüße,
Bernhard

skg-rob
04.10.2011, 18:15
Hmm, dann werdet ihr auch so etwas ähnliches aufgebaut haben wie einen TSOP mit angehängten RC Filter, richtig? So bekommen wir zumindest ein durchgängiges Signal zustande.

MfG skg-rob

BMS
04.10.2011, 19:35
Hmm, dann werdet ihr auch so etwas ähnliches aufgebaut haben wie einen TSOP mit angehängten RC Filter, richtig? So bekommen wir zumindest ein durchgängiges Signal zustande.
MfG skg-rob
Nein, das haben wir völlig anders gemacht.
Wir haben keine TSOP (oder vergleichbare) verwendet, sondern ganz normale Fototransistoren ohne weitere Intelligenz und dazu eine umfangreiche Analogschaltung zur Auswertung. Also es geht ein Wechselspannungssignal vom Fototransistor (was der halt als Blinken vom Ball eben wahrnimmt) in die Schaltung quasi rein und es kommt ein gefiltertes, verstärktes und leicht linearisiertes Gleichspannungssignal wieder heraus.
Grüße, Bernhard

skg-rob
05.10.2011, 06:57
Hallo Bernhard,
Ich meinte nicht das ihr einen TSOP genommen habt, sondern die Schaltung so aufgebaut haben könntet wie der TSOP es von innen ist! Aber das ist ein kluger Ansatz mit dem Wechselspannungssignal!

Kann man fertige Demodulatoren für 40kHz einfach so kaufen? Oder ist das doch mit mehr Aufwand verbunden? Einen Filter selber machen ist ja nicht schwer, entlastet dann auch den CPU.

mfg skg-rob

BMS
05.10.2011, 12:44
Ich meinte nicht das ihr einen TSOP genommen habt, sondern die Schaltung so aufgebaut haben könntet wie der TSOP es von innen ist! Aber das ist ein kluger Ansatz mit dem Wechselspannungssignal!

Kann man fertige Demodulatoren für 40kHz einfach so kaufen? Oder ist das doch mit mehr Aufwand verbunden? Einen Filter selber machen ist ja nicht schwer, entlastet dann auch den CPU.
Die Schaltung ist vom Blockschaltbild her ähnlich.
Demodulatoren in dem Sinn haben wir nicht gebraucht. Es muss halt irgendwo in der Schaltung aus dem (kleinen) Wechselspannungssignal eine Gleichspannung gemacht werden. Das war bei uns eigentlich das Schwierigste.
Filter und Verstärker bekommt man vergleichsweise recht schnell und einfach hin.
Es waren keine "Spezialbauteile" notwendig. Passive Bauelemente, Transistoren und OpAmps haben ausgereicht (den Multiplexer mal außer Acht gelassen).
Grüße,
Bernhard

Besserwessi
05.10.2011, 17:46
Als "Demodulator" reicht eigentlich schon ein einfacher HF Gleichrichter mit 1-2 kleinen Dioden und Kondensatoren. Es könnte etwas besser werden, wenn man so etwas wie einen Logarithmischen Amplituden-detektor aufbaut wie man es für HF Anwendungen kennt. Nach einem passenden Plan müsste man mal suchen, lässt sich aber aus Standartteilen (hier sollten einige BC548 oder ähnlich reichen) aufbauen. Wenn es sein muss gibt es sowas auch als fertiges IC (z.B. AD8310) - ist aber relativ teuer weil die meist auch für viel höhere Frequenzen ausgelegt sind. Der Filter ist vermutlich schon der schwierigere Teil der Schaltung.

Es gibt sonst auch noch ein IC für Fernsteuerungsempfänger - wohl noch aus Zeiten als sich die TSOP noch ncht durchgesetzt haben. Das könnte ggf. auch gut gehen.

BMS
05.10.2011, 18:03
Unser ursprünglicher "Demodulator" war eine Villardschaltung* mit Schottkydioden.
Hat sich allerdings nicht so gut bewährt, weil doch noch zu viel Spannung an den
Dioden abfällt und sich deswegen die kleinen Signale (d.h. Ball weit weg) gar nicht aus-
werten lassen. Außer man dreht die Verstärkung weiter hoch, muss aber dann damit
rechnen, dass die Schaltung dann bei großen Signalen (Ball nah) schon übersteuert.

Ein Problem ist eben der relativ große Signalbereich von 0,1-50mV. (In Worten: das
Signal "Ball direkt am Roboter" ist 500x so groß wie "Ball 1,5m weit weg"). Angenommen,
du verstärkst das 100fach, dann werden daraus 10mV-5V. Hört sich schon viel
besser an - aber 10mV kann man aber nicht so ohne weiteres gleichrichten.

Grüße, Bernhard

*) 2 Dioden, 2 Kondensatoren