Günstigster Weg, einen IR-Retransmitter zu machen (IR-Protokoll agnostisch, dummes Gerät ist gut genug)

Suchen Sie nach Möglichkeiten, IR bidirektional erneut zu übertragen, wie folgt:

[IR TX-A]----->[IR RTR-1]------>[IR RTR-2]------>[IR RX-B] 
[IR RX-A]<-----[        ]<------[        ]<------[IR TX-B]

Mein Interesse gilt dem "IR RTR"-Gerät, das empfangene IR-Daten bidirektional weitersenden kann, um die effektive Entfernung zu erhöhen. Wenn es spezifisch für das IR-Protokoll ist, ist es zwar in Ordnung, aber wenn es billiger / einfacher ist, sich protokollagnostisch zu verhalten, dh das empfangene Signal wird nur so verstärkt, wie es ist, und "dumm" auf die Sender-LED eingespeist, ohne dass dies erforderlich ist Sender, dies ist durchaus akzeptabel, es sei denn natürlich, es könnte erhebliches Rauschen verursachen, oder es wird schwierig / teuer, damit am anderen Ende fertig zu werden.

Falls es dafür fertige Schaltpläne gibt, würde mich freuen darauf hinzuweisen.

Übrigens habe ich nichts gegen einen uC-basierten Ansatz, aber ich behalte diese Option wahrscheinlich als Backup, da meine Anforderungen in der Reihenfolge ihrer Priorität sind:

  1. Niedrige Kosten - Mein Ziel ist eine Stückliste unter 5 $ - alle Komponenten, PCB, Batteriehalter usw. enthalten, aber mit Ausnahme des Gehäuses.
  2. Geringer Stromverbrauch - Dies wird wahrscheinlich der schwierigste Teil sein, wenn man bedenkt, wie stromhungrig IR-LEDs sind. Vielleicht träume ich davon, aber es wäre toll zu sehen, wie diese Schaltung auslaufende Einwegbatterien (wie die A23 oder PP9) für mindestens 6 Monate ohne Wechsel hält.
  3. Kleine Größe - ich möchte es nicht größer als eine Schachtel Altoids halten.

Edit: Ich brauche das nicht, um als Universal-Fernbedienung Range Extender zu fungieren, dh ich bin auch sehr froh, wenn dieses kleine Gerät von mir als bidirektionaler Signalverstärker für eine bestimmte Trägerfrequenz fungieren kann, Modulationsart, die durchaus proprietär sein kann und so gewählt werden, dass Interferenzen und Auswirkungen von Umgebungsgeräuschen vermieden werden.

Bearbeiten (#2): Fügen Sie weitere Informationen über die Kommunikation hinzu. braucht:

  • Ein Durchsatz von 80–100 Bit/s ist gut genug, ohne den Fehlerprüfungs-/Korrekturaufwand
  • Die Kommunikation ist stoßweise, aber nicht vorhersehbar. Die Kommunikation während eines Bursts ist jedoch eine wiederholte Übertragung derselben Informationen mehrmals, wenn der Empfänger schnell genug einschlafen/aufwachen kann, sollte er keine Informationen verpassen. Informationen sind ein 10-Byte-Paket, das bis zu 10 Mal gesendet wird, mit/ohne Bestätigung.
  • Das RX/TX-IR-Paar in jedem Endknoten und der Repeater müssen nahe beieinander platziert werden, um ein kompaktes Paar zu bilden, aber ich hoffe, Interferenzen zwischen dem Paar zu vermeiden, indem ich eine optische Barriere zwischen ihnen habe, ähnlich wie bei Doppel- Laufkanone.
  • Die typische Entfernung zwischen Endknoten und Repeater, die ich zu erreichen hoffe, beträgt 10-12 Fuß.
In Ihren Spezifikationen fehlen einige wichtige Punkte: 1. Welche Geschwindigkeit benötigen Sie (z. B. IR-Fernbedienung wie oder eher wie IRDA); 2. für die Batterielebensdauer: Wie hoch ist die aktive (IR-Übertragung) Zeit in Prozent? 3. Wie groß ist die Entfernung von der Retransmit-LED zum empfangenden Gerät? 4. (am unwichtigsten) Was ist die elektronische Distanz?
Wie Wouter sagt, ist es entscheidend, das Protokoll oder die Datenrate zu kennen, mit der Sie arbeiten, um eine solide Antwort geben zu können. Berücksichtigen Sie auch die Richtungsabhängigkeit. Verfügt Ihr System über Empfänger, die sowohl den Repeater (den Sie als Retransmitter bezeichnet haben) als auch den ursprünglichen Sender in Sichtweite haben? Wenn dies der Fall ist, müssen Sie sich um die Interferenz zwischen den beiden Quellen aus Sicht des Empfängers sorgen.
Aktualisierte meine Frage mit den Informationen.

Antworten (2)

Man könnte meinen, der reinste Weg wäre, eine Fotodiode zum Ansteuern eines Transistors zu verwenden, der wiederum eine Infrarot-LED ansteuert. Nennen wir es die dreiteilige Lösung (eigentlich braucht man auch einen kleinen Serientransistor für die LED). Dies ist möglich, hat aber den Nachteil, dass alles , was die Fotodiode erkennt, verstärkt wird, einschließlich des von ihr aufgenommenen Rauschens. Das willst du nicht.

OTOH, IR-Empfängermodule sind normalerweise auf ein bestimmtes Protokoll und eine bestimmte Frequenz abgestimmt , aber wenn die verwendeten Frequenzen nah beieinander liegen, kann ein einzelner Empfänger verwendet werden. Das Modul enthält einen Filter um die Mittenfrequenz herum, der Rauschen eliminiert, zusammen mit einer AGC- Stufe (Automatic Gain Control), die auch dazu beiträgt, unerwünschte (niedrige) Signale, wie die Strahlung von HF-Leuchtstofflampen, zu eliminieren. Wenn jedoch kein echtes Signal vorhanden ist, verstärkt die AGC das eingehende Rauschenauf einen normalen Signalpegel. Und dieses Rauschen wird weitergesendet. Wenn ein echtes Signal empfangen wird, wird die Verstärkung der AGC angepasst und das Rauschen wird unterdrückt, sodass trotz hoher Rauschpegel, wenn nicht gesendet wird, ein echtes Signal richtig durchkommt.
Es wird also auch viel Rauschen aufgenommen und von einem IR-Empfängermodul weitergeleitet, genau wie bei der dreiteiligen Lösung. Der Nachteil des letzteren besteht darin, dass es das Rauschen nicht unterdrückt, wenn ein korrektes Signal erkannt wird. Sein Vorteil ist, dass es protokollunabhängig ist.

Was die Leistung betrifft , so ist dies eine große Herausforderung. Die Drei-Komponenten-Lösung überträgt ständig Rauschen und entlädt die Batterie schnell. Das Empfängermodul enthält mehr Elektronik und zieht etwa 0,5 bis 1 mA. Was auch zu viel ist, um die Batterie sechs Monate durchhalten zu lassen.

Bearbeiten
Wenn die Leistung wirklich Premium ist, müssen Sie sich möglicherweise an ein bestimmtes Protokoll halten und die empfangenen Befehle dekodieren, bevor Sie sie erneut senden. Der μ C verbraucht auch etwas Strom, führt jedoch dazu, dass die LED die meiste Zeit ausgeschaltet bleibt, z. B. bis zu 99,99%, da kein Rauschen übertragen wird, sondern nur gültige Befehle. Es ist möglich, die zu programmieren μ C, um mehrere Protokolle zu dekodieren, aber wie ich bereits sagte, müssen sie ähnliche Eigenschaften haben, wie das Puls-Pause-Verhältnis und die Trägerfrequenz.

Danke. Ich habe meine Frage leicht bearbeitet. Wäre schön zu sehen, ob Sie der Meinung sind, dass dies Auswirkungen auf die Zuverlässigkeit / Komplexität der Schaltung haben könnte.

Sie sagen, ein dummes Gerät sei "gut genug", aber ich würde vorschlagen, dass es wahrscheinlich einfacher sein wird, ein "intelligentes" Gerät herzustellen, das gut funktioniert, als ein "dummes" Gerät, das genauso gut funktioniert. Damit ein "dummes" Gerät gut funktioniert, ist es wichtig, dass es alle Übergänge des eingehenden Signals originalgetreu erfasst, damit es sie präzise weiterleiten kann. Nehmen wir zum Beispiel an, dass das Protokoll verlangt, dass zwischen dem Zeitpunkt des Auftretens einer Flanke und dem Zeitpunkt, an dem sie auftreten soll, nicht mehr als 20 us Abweichung liegen dürfen. Wenn Sie einen "dummen" Repeater verwenden, müsste die kombinierte Unsicherheit Ihres Geräts und des Geräts, an das es sendet, 20 us oder weniger betragen. Wenn Sie dagegen einen "intelligenten" Repeater verwenden, könnten beide Links jeweils 20 us Unsicherheit tolerieren.

Nachtrag

Wenn Sie etwas mehr über Ihre Spezifikationen lesen, scheinen Sie nicht anzugeben, welche Art von Übertragungsverzögerungen akzeptabel sind. Es kann hilfreich sein, ein System zu haben, bei dem es während jedes Fünf-Sekunden-Intervalls einen festgelegten 100-ms-Punkt gibt, an dem eine Paketübertragung beginnen muss; Einheiten würden oft genug Nachrichten austauschen, um ihre Uhren innerhalb von 20 ms synchronisiert zu halten. Je nachdem, welche Art von kompensierter Genauigkeit Sie mit den Uhren der Einheiten erreichen können, können Sie möglicherweise eine sehr effektive Arbeit leisten, um die „Hörzeit“ zu minimieren. Ob dies ein guter Ansatz ist, hängt davon ab, wie viel Verzögerung Sie beim Weiterleiten von Paketen tolerieren können, und auch davon, wie oft Sie erwarten, dass Einheiten tatsächlich Daten übertragen. Ein Ansatz mit synchronisiertem Zuhören würde "leeren" Verkehr hinzufügen, könnte aber die Anzahl der Male reduzieren, die Pakete erneut übertragen werden müssen.

Danke @supercat. Der Konsens scheint in diese Richtung zu gehen. In diesem speziellen Fall steht es mir frei, das Kommunikationsprotokoll zu definieren, wenn es dazu beiträgt, die Kommunikationsinfrastruktur "billiger" zu machen und ihnen zu helfen, Batterien zu sparen.
@icarus74: Fühlen Sie sich frei, alle Informationen zu posten, von denen Sie glauben, dass sie mir helfen würden, Informationen oder Ideen bereitzustellen, die Sie benötigen. Ich habe vier allgemeine Arten von Repeatern entwickelt: (1) protokollagnostisch; (2) Low-Level-Signalisierungsbewusstsein, mit minimaler Pufferung und ohne Bestätigungs-/Wiederholungslogik; (3) protokollbewusst auf hoher Ebene, mit vollständiger Pufferung, aber ohne Bestätigungs-/Wiederholungslogik; (4) High-Level-Protokollbewusst, mit vollständiger Pufferung und Bestätigungs-/Wiederholungslogik (was bedeutet, dass der Repeater das Paket bestätigt, bevor er versucht, es weiterzusenden).
@icarus74: Ein Repeater, der die Low-Level-Signalisierung kennt, aber nicht die High-Level-Protokolldetails, kann möglicherweise das Signal ohne zu große Verzögerung über mehrere Generationen hinweg gut übertragen. In einem IR-System könnte ein solches System beispielsweise wissen, dass alle Impulsfolgen 100 us oder 200 us lang sein sollen, und 75 us-125 us-Züge als 100 us-Züge, 175 us- bis 225 us-Züge als 200 us-Züge erneut übertragen und alle anderen fallen lassen; Abhängig von der genauen Implementierung würde die Verzögerung wahrscheinlich etwa 200 us betragen.
@icarus74: Ein Puffersystem würde ein ganzes Datenpaket lesen und, wenn es gültig ist, mitschicken. Dieses System würde die Anzahl der übertragenen Störsignale reduzieren (ein vom ersten Repeater-Typ empfangener Streuimpuls von 80 us würde als perfekter 100-us-Impuls weitergesendet, der als perfekter 100-us-Impuls an alle gesendet würde), würde es aber tun haben den Nachteil einer erheblichen Verzögerung. Wenn der ursprüngliche Absender eine Bestätigung seiner Übertragung erwartet, können solche Verzögerungen dazu führen, dass der Absender eine Zeitüberschreitung erleidet, bevor das Paket und die Antwort...
...machen die Rundreise. Wenn der ursprüngliche Empfänger das Paket bestätigt, bevor er es weiterleitet, wird das Zeitüberschreitungsproblem vermieden, es besteht jedoch die Möglichkeit, dass ein Paket verloren geht. Einige Systeme verwenden ein Double-Ack-Schema, mit einem Low-Level-Ack, das angibt, dass die nächste Verbindung das Paket erhalten hat, und einem High-Level-Ack, das angibt, dass der Endempfänger das Paket erhalten hat. Bei einem solchen Schema kann der Sender das Paket sehr schnell erneut übertragen, wenn er die Low-Level-Bestätigung nicht erhält, aber immer noch in der Lage sein, ein oder zwei Sekunden auf eine High-Level-Bestätigung zu warten.