Codierung / Decodierung von festen '0' oder '1' mit IC (oder diskreter Lösung)

Ich habe einen HF-434-MHz-Sender und -Empfänger für ein Hobbyprojekt bestellt.
Es muss nur eine solide '0' oder '1' übertragen (dies ändert sich nicht mehr als einmal alle 5 Sekunden, wahrscheinlich viel länger), also dachte ich, ich könnte nur mit dem Paar davonkommen.

Es sieht jedoch so aus, als hätte es Probleme beim Senden von DC-Signalen (sie senden zunächst ordnungsgemäß, gehen aber schnell verloren, ich schätze, ein Tiefpassfilter). Ich habe es überprüft und es kann problemlos eine Rechteckwelle von ~ 8 kHz senden (obwohl ein variierendes Tastverhältnis im TX-Signal von 5% -95% immer noch ein nahezu rechteckiges Signal am RX verursacht).

Daher brauche ich möglicherweise so etwas wie Manchester-Codierung, damit eine solide '0' immer noch genug für das tx/rx-Paar schaltet.

Es sah so aus, als würden HT12E und HT12D genau das tun, was ich brauche. Aber ich kann sie nirgendwo finden, außer bei Amazon für ~ 10 US-Dollar pro Stück oder auf einer Website in einer Sprache, die ich nicht verstehe.

Gibt es billige ICs, die mir dabei helfen würden (kodieren Sie eine 0 und 1 in ein Format mit genügend Übergängen, wie Manchester)? Oder eine Lösung mit diskreten Komponenten, an die ich nicht denke?

Danke

Beide Holtek-ICs, die Sie erwähnen, sind über den europäischen Distributor tme.eu für jeweils weniger als einen Dollar erhältlich (verwenden Sie ihre Suchmaschine), sie liefern auch in die USA, und übrigens bin ich ziemlich überrascht, dass es solche Preisunterschiede gibt.
Haben Sie daran gedacht, 2 Frequenzen für die Übertragung der 2 Logiksignale zu verwenden?
Wenn Sie mit der Verwendung von Arduino einverstanden sind, ist RadioHead mit einem ATtinyX5 eine anständige Lösung.

Antworten (1)

Ihr Sender und Empfänger verwenden ASK (Amplitude Shift Keying) als Modulationsart. Das bedeutet, wenn Sie eine „1“ in den Sender eingeben, erzeugt dieser kontinuierlich die Trägerwelle bei 434 MHz. Wenn Sie eine "0" eingeben, wird keine Trägerwelle erzeugt.

Sie haben wahrscheinlich Recht, dass ein Filer beteiligt ist, wahrscheinlich im Empfänger, der den konstanten Träger abschneidet, den er empfängt, wenn Sie eine "1" senden, und der Xmitter daher kontinuierlich den Träger erzeugt. Dies wäre ein Hochpassfilter, kein Tiefpassfilter.

Ich denke, Sie können dieses Problem umgehen, indem Sie den Sender einfach mit einem 555-Timer ein- und ausschalten, der auf eine beliebige niedrige Frequenz eingestellt ist - beispielsweise 1.000 Hz -, wenn Sie eine "1" senden möchten. Dann auf der Empfangsseite den Ausgang des Empfängers nur halbwellengleichrichten mit einer Niederfrequenz-Signaldiode (z. B. 1N914 oder 1N4148) und einer kleinen Filterkappe (ca. 0,1 Mfd Keramik) und vielleicht einem Ableitwiderstand, wie im Schema gezeigt unter. Dadurch wird die 1.000-Hz-ASK-Modulation auf einen konstant hohen Pegel gebracht, was den Empfang einer "1" bedeutet.

Wenn Sie eine "0" "übertragen", gibt der Empfänger ungefähr 0,0 Volt aus, sodass der Halbwellengleichrichter konstante 0,0 Volt ausgibt, was den Empfang einer "0" bedeutet. (Sie "übertragen" nicht wirklich, weil es keinen Träger gibt!)

Da Ihre "Daten" -Rate so niedrig ist (5 Sekunden an, 5 Sekunden aus), sind die Werte der Halbwellengleichrichterkomponenten nicht sehr kritisch. Ein wenig Experimentieren mit verschiedenen 555-Frequenzen auf der Senderseite und Halbwellenkondensatorwerten auf der Empfängerseite sollte schnell zu brauchbaren Ergebnissen führen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wenn Ihr Empfänger unter einem angemessenen Grad an zufälliger Trägerrauscherfassung leidet, können Sie möglicherweise die resultierenden Ausgangsrauschimpulse herausfiltern, indem Sie D2, D4, Q1, R2, R3 und R4 zur grundlegenden Halbwellengleichrichterschaltung hinzufügen. Zufälliges Rauschen erzeugt eine durchschnittliche Gleichspannung über C1 von etwa 1/2 Vcc (vermutlich 2,0 - 2,5 Volt). D2, D4 und Q1 bilden einen groben Komparator, der sich nur einschaltet (und einen niedrigen Ausgang erzeugt), wenn das echte 1K-Signal kommt. Je niedriger Sie die Modulationsfrequenz des 555 einstellen, desto besser ist Ihre Störfestigkeit.

Danke. Unglücklicherweise versucht der Empfänger beim Senden einer '0', sich auf zufälliges Rauschen zu synchronisieren. Anstelle einer soliden '0' erhalten Sie also ein paar Schwingungen.
"Sich auf zufälliges Rauschen einzustellen" ist einer der Hauptnachteile dieser ultrabilligen Sender-/Empfänger-Kits. Wenn Sie eine höhere Zuverlässigkeit benötigen, müssen Sie möglicherweise zu einer Lösung übergehen, die weniger wie ein billiges Spielzeug ist.
Verwenden Sie besser einen NE555, um 2 Frequenzen zu übertragen (schalten Sie einen weiteren Widerstand parallel zum Frequenzeinstellwiderstand, für eine höhere Frequenz, für '1'). Am Empfänger so etwas wie ein NE567-Tondecoder, um zwischen hohen und niedrigen Frequenzen zu unterscheiden. Dann können Sie zwischen „Ein“, „Aus“ und „Außer Reichweite oder Sender ausgefallen“ unterscheiden.
Brian, ich habe versucht, die Verwendung diskreter Komponenten in meiner Antwort zu bevorzugen, da das OP dies als optionale Lösung angefordert hat. Die Verwendung "teurer" ICs würde den Zweck der Verwendung eines billigen xmitter und rcvr wie diesen irgendwie zunichte machen. Es schien mir, dass das OP versuchte, dies auf dem Down-and-Dirty zu tun.