Ich entwerfe eine Low-Power-Wakeup-Receiver-Schaltung (WuRx), die zum Aufwecken eines Arduino und seines 433-MHz-Transceivers verwendet wird, die beide viel zu viel Strom (zig Milliampere) ziehen, um an jedem Remote-Knoten weiterzulaufen. Das Ziel ist die Entwicklung eines Weckempfängers/Detektors mit geringem Stromverbrauch, der Arduino (oder jede schlafende MCU) aufweckt, wenn ein HF-Wecksignal vorhanden ist. Das HF-Wecksignal besteht aus einer Reihe kurzer OOK-Impulse vom Sender.
Ich muss das UHF-Signal von seinem Zehn-Mikrovolt-Antennenpegel auf mindestens 100 Millivolt bis 1 Volt verstärken, um die HF-Hüllkurve über einen einfachen Diodengleichrichter zu erkennen, der dann einen Komparator auslöst, der während OOK (HF vorhanden) anzeigt ( Ein-Aus-Tastung). Diese Impulse werden dann unter Verwendung einiger Flip/Flops oder eines Zählers innerhalb eines gegebenen Zeitfensters gezählt, um ein gültiges Aufwecksignal zu erkennen.
Ich habe umfangreiche Untersuchungen zu diesen Weckempfängern und dem Stand der Technik durchgeführt. Herkömmliche Umwandlung von HF in ZF führt aufgrund des LO-Stroms zu einem zu hohen Ruhestrom. Dies hat mich zu dem Schluss geführt, dass ein HF-Verstärker mit niedriger Leistung, der von einem Keramik-Bandpassfilter gespeist wird, dieses Problem lösen kann.
Da dies einfach ein HF-Aufweckdetektor ist, ist die Linearität während der Verstärkung viel weniger wichtig als ein sehr niedriger Ruhestrom, wenn keine HF vorhanden ist. Diese Slave-Sensoren im IoT-Stil befinden sich normalerweise 99,999 % der Zeit im Leerlauf und müssen nur für einige zehn Millisekunden aufgeweckt werden, wenn der Master sie abfragt.
Der Ablauf sieht in etwa so aus:
Antenne -> Bandpassfilter -> RF Amp -> OOK Envelope Detector -> Wakeup Interrupt to Arduino -> Transceiver Wakeup -> Rx Data -> Process Rx Data -> Back to Sleep
Mein Problem besteht darin, die Stromentnahme des Ruheverstärkers zu minimieren (idealerweise auf Nanoamp-Niveau) und dennoch das Mikrovoltsignal ausreichend zu verstärken, sobald es vorhanden ist und aus dem Bandpassfilter kommt. Die Gesamtstromaufnahme des Verstärkers bei vorhandenem HF-Signal kann einige Milliampere betragen. Ich denke, mehrere 15-dB- bis 20-dB-Verstärkungsstufen in Reihe, um eine 10.000- bis 100.000-fache Signalverstärkung zu erzielen, sollten ausreichen. zB 10 uV bis 100mV - 1V.
Ich schaue mir LNA-Transistoren wie den BFP720 an, einen rauscharmen Silizium-Germanium-BJT, bin aber bereit, alle kostengünstigen Optionen in Betracht zu ziehen. Niedrige Kosten und geringer Platzbedarf sind ebenfalls Faktoren, aber ein niedriger Ruhestromverbrauch bei 3-V-Batterieleistung ist entscheidend.
Ich habe Klasse-C-Verstärker mit Resonanzkreisen ausprobiert, aber Simulationen schlagen fehl (unter Verwendung des SystemVision-Simulators), da Eingangssignale mit niedrigem Pegel (Millivolt) zu klein sind, um dem Transistor das Leiten zu ermöglichen. Welche Art von Verstärker kann ich verwenden, der einen sehr niedrigen Ruhestrom hat und dieses winzige UHF-Signal verstärken kann?
Wenn ich das herausfinden kann, wird es vielen Leuten helfen, die Schwierigkeiten haben, diese Art von Weckproblem mit geringem Stromverbrauch zu lösen.
Danke im Voraus für die Anleitung.
Dies ist ein weiteres "keine Antwort" :) Ich habe nicht genug Erfahrung, um eine Schaltung vorzuschlagen.
Es gibt Hunderte von Single-Supply-Operationsverstärkern mit sehr geringem Stromverbrauch (bis zu 300 nA). Haben Sie diese anstelle von Transistoren in Betracht gezogen?
Darüber hinaus kann derselbe Operationsverstärker Teil eines aktiven Bandpassfilters werden, wodurch die Anzahl der Komponenten und der mögliche Stromverbrauch reduziert werden.
AKTUALISIEREN
Bezüglich der Adressdecodierung ist hier eine Idee eines Protokolls, das mit einfachen Logikkomponenten einfach zu implementieren sein sollte:
Dieser Ansatz hat den Vorteil einer festen Paketlänge und keine Notwendigkeit für einen synchronen Takt. Eine 8-Bit-Adresse kann mit nur 3-4 ICs implementiert werden. Unten ist ein vereinfachtes Diagramm.
Der Ausgang kann zum Aufwecken oder zur Steuerung des Netzschalters verwendet werden. Mit Netzschalter läuft die MCU, bis Sie eine andere Adresse senden. Mit Aufwecken können Sie der MCU-Logik "Wartezeit" hinzufügen, dann mehrere von ihnen aufwecken und gleichzeitig an alle senden.
Oh, und alle Signale können natürlich invertiert werden. Beispielsweise kann das Vorhandensein eines HF-Trägers verwendet werden, um die Dekodierungslogik einzuschalten, und dann werden Aus-Impulse die Adresse übertragen.
AKTUALISIERUNG 2
Ich war gerade dabei, einige zusätzliche Gedanken einzugeben, als ich diesen Link in den Kommentaren sah. In der Tat sehr interessant zu lesen, für sich genommen und auch einige Referenzen. Es hat dazu beigetragen, dass sich diese Gedanken in diesen zentralen Designpunkten herauskristallisiert haben:
Für diese Anwendung ist das Design der HF-Stufe genauso wichtig wie die Auswahl der Low-Power-Komponenten. Alle bekannten Tricks zur Maximierung des Antennengewinns sollten angewendet werden. Beispielsweise erhöht eine Richtantenne den Empfang vom Master-Knoten, während gleichzeitig Interferenzen erheblich reduziert werden, wodurch falsches Aufwachen minimiert wird.
Stufenweise Energieverwaltung. Dies bedeutet, dass die Signalverarbeitung in mehrere Schritte nach Leistungsanforderungen aufgeteilt wird, sodass die Leistung an die nächste Stufe nur angelegt wird, wenn das Signal die Kriterien der vorherigen Stufe erfüllt. Von der Verwendung von Komparator und SPI-Schnittstelle im Artikel bin ich nicht besonders beeindruckt. Beide benötigen Strom zu früh in der Verarbeitungskette. So wie sie die Präambel verwenden, um den Prozessor aufzuwecken, kann das Vorhandensein eines HF-Trägers für einen bestimmten Zeitraum als Kriterium zum Einschalten des Komparators verwendet werden. Die Ausgabe des Komparators und des Präambeldetektors kann verwendet werden, um die Adressdecodierungslogik einzuschalten, und so weiter.
Integriertes HF-Signal. Spannungsverdoppler ist gut, aber warum hier aufhören? Es könnte möglich sein, mehrere Dioden oder MOSFETs zu verwenden, um eine Ladungspumpe mit genügend Leistung zu bauen, um Ihre Entfernungsanforderungen zu erfüllen. Die Grundidee hier ist, dass das Opfern der Datenrate durch Erhöhen der Impulsdauer es der HF-Stufe ermöglicht, Spannung auf nützliche Pegel aufzubauen. Dies bedeutet auch, dass eine invertierte OOK-Modulation (dh Verwendung von Pausen als Datenpulse) vorzuziehen ist. So gering der Stromverbrauch der MCU auch sein mag, die Adresserkennung mit Logikchips ist möglicherweise immer noch effizienter und kann schneller durchgeführt werden (MCUs benötigen normalerweise Hunderte von Zyklen, um aus dem Tiefschlaf aufzuwachen).
Ich habe dieses Problem für ein kommerzielles Produkt gelöst, an dem ich mit einem CC1101-Transceiver gearbeitet habe, obwohl andere ähnliche Geräte auch funktionieren würden. Das Gerät war batteriebetrieben und benötigte eine Lebensdauer von mehr als 5 Jahren von einer einzigen Zelle.
Das empfangende Gerät würde seinen Transceiver alle 2 Sekunden im RX-Modus einschalten, eine Weile warten und ihn dann ausschalten. Der CC1101 hat dafür eine eingebaute Funktion, aber der Arduino könnte es auch manuell machen.
Die Weckzeit für den Transceiver wird so gering wie möglich gehalten, IIRC lag bei ca. 20ms. Gerade lange genug, damit sich der Oszillator stabilisiert und ein Wecksignal empfangen wird.
Der Sender würde ein 2,5 Sekunden langes Wecksignal senden, das aus 0x55 Bytes besteht. Der Grund für die Wahl von 0x55 ist, dass es abwechselnd 1 und 0 binär ist, und mit RF müssen Sie die Anzahl der Einsen und Nullen für die meisten Übertragungsschemata ausgleichen. Soweit ich mich erinnere, wurde der Standard-FSK-Modus des CC1101 verwendet.
Der 2,5-Sekunden-Burst überlappt garantiert die 2-Sekunden-periodische Prüfung auf Wecksignale. Nach dem Aufwachen wartet der Empfänger auf Befehle und schläft dann wieder ein.
Ich kann mich nicht an die genauen Zahlen für den Stromverbrauch erinnern, aber mit diesem Schema, das 24 Stunden am Tag läuft, betrug die Batterielebensdauer bei einer 4000-mAh-Zelle weit über 5 Jahre, und das beinhaltete alle anderen Arbeiten, die das Gerät regelmäßig erledigen musste. Ich denke, dass die Funkseite ungefähr ein Drittel des gesamten Energiebudgets ausmachte.
Dies ist keine Lösung für Ihr Problem mit dem Weckempfänger, aber haben Sie darüber nachgedacht, es umgekehrt zu machen?
Sie haben von einem Master-Knoten gesprochen, also nehme ich an, Sie haben eine Sterntopologie mit einem Master-Knoten ohne Strombedarf und mehreren Slave-Knoten mit strengen Stromanforderungen?
Anstatt die Slaves mit dem Master abzufragen, wecken Sie die Slaves einfach regelmäßig mit einem Low-Power-Timer, der auf der MCU läuft, und übertragen die Daten an den Master, der immer zuhört?
Vorteile:
Nachteile:
Nach weiterem Graben habe ich herausgefunden, was die Antwort auf die ursprüngliche Frage zu sein scheint - welche Art von Verstärker hat einen niedrigen Ruhevorspannungsstrom, der ein winziges UHF-Signal verstärken kann. Die Antwort erweist sich als nicht offensichtlich und ergab sich aus der RFID-Tag-Forschung:
Quantentunnel-Reflexionsverstärker.
Laut dieser Dissertation von Georgia Tech sind Tunnelreflexionsverstärker mit niedriger Ruhevorspannung im Bereich von 20 uW in der Lage, Mikrowellensignale vom -85-dBm-Pegel mit einer Modulationsbandbreite von bis zu 7 MHz zu verstärken, wodurch die Reichweite von RFID-Tags auf bis zu 1,2 km erweitert wird.
https://smartech.gatech.edu/bitstream/handle/1853/58228/AMATO-DISSERTATION-2017.pdf#page49
Die größte Herausforderung scheint darin zu bestehen, die genaue mV-Pegel-Vorspannung zu erzeugen, die von einer 3-V-Batterieversorgung erforderlich ist, und sie über den gesamten erforderlichen Temperaturbereich aufrechtzuerhalten. Die Vorspannung beträgt 60 mV bei 340 uA, also ein effizientes Mittel zum Reduzieren von 3 V auf 60 mV - DC-DC-Abwärtswandler?
Das sieht auf jeden Fall vielversprechend aus. Wenn es bei 5,8 GHz so gut funktionierte, sollte RFID bei 433 MHz in Ordnung sein.
user_1818839
Chris Stratton
Tony Stewart EE75
rbraddy
Chris Stratton
rbraddy