- RFM69HCW RF-Modul
- RFM69HCW
- Pinbelegung und Beschreibung des RFM69-Moduls
- Custom Development Board vorbereiten
Schritt 3: Bereiten Sie eine Leiterplatte dafür vor. Ich folge diesem Tutorial für hausgemachte Leiterplatten. Ich druckte den Fußabdruck auf eine Kupferplatte und ließ ihn in die Ätzlösung fallen
Schritt 4: Befolgen Sie die Anweisungen für beide Platinen und löten Sie Ihr Modul auf die Grundfläche. Nach dem Löten sehen meine beiden Module unten so aus
Die Pinbelegung des RFM69HCW-RF-Moduls ist in der folgenden Abbildung dargestellt
- Erforderliche Materialien
- Hardware-Verbindung
- Ausführen der Beispielskizze
- Arbeiten der Beispielskizze
Wenn es darum geht, Ihren Projekten drahtlose Funktionen zu bieten, ist der 433-MHz-ASK-Hybrid-Sender und -Empfänger aufgrund seines niedrigen Preises, der benutzerfreundlichen Bibliotheken und der Community-Unterstützung eine häufige Wahl unter Ingenieuren, Entwicklern und Hobbyisten. Mit diesem 433-MHz-HF-Modul haben wir auch einige Projekte wie HF-gesteuerte Hausautomation und drahtlose Türklingel erstellt. Oft reicht ein ASK Hybrid-Sender und -Empfänger jedoch nicht aus. Aufgrund seiner geringen Reichweite und der Einwegkommunikation ist er für viele Anwendungen ungeeignet
Um dieses immer wieder auftretende Problem zu lösen, haben die Entwickler von HopeRF ein cooles neues RF-Modul namens RFM69HCW entwickelt. In diesem Tutorial lernen wir das RFM69HCW RF-Modul und seine Vorteile kennen. Zuerst werden wir hausgemachte Leiterplatten für RFM69HCW herstellen und dann RFM69HCW mit Arduino verbinden, um die Funktionsweise zu überprüfen, damit Sie sie in Projekten Ihrer Wahl verwenden können. Also lasst uns anfangen.
RFM69HCW RF-Modul
Das RFM69HCW ist ein billiges, einfach zu verwendendes Funkmodul, das im nicht lizenzierten ISM-Band (Industrie, Wissenschaft und Medizin) arbeitet, ähnlich dem RF-Modul nRF24L01, das wir in früheren Projekten verwendet haben. Es kann für die Kommunikation zwischen zwei Modulen verwendet werden oder kann als Mesh-Netzwerk für die Kommunikation zwischen Hunderten von Modulen konfiguriert werden. Dies macht es zur perfekten Wahl für den Aufbau kostengünstiger drahtloser Netzwerke mit kurzer Reichweite für Sensoren, die in der Hausautomation und anderen Datenerfassungsprojekten verwendet werden.
Eigenschaften von RFM69HCW:
- +20 dBm - 100 mW Ausgangsleistung
- Hohe Empfindlichkeit: bis zu -120 dBm bei 1,2 kbps
- Niedriger Strom: Rx = 16 mA, 100 nA Registerretention
- Programmierbarer Pout: -18 bis +20 dBm in Schritten von 1 dB
- Konstante HF-Leistung über einen Spannungsbereich des Moduls
- FSK-, GFSK-, MSK-, GMSK- und OOK-Modulationen
- Eingebauter Bit-Synchronizer für die Wiederherstellung der Uhr
- 115 dB + Dynamikbereich RSSI
- Automatische HF-Erfassung mit ultraschneller AFC
- Paket-Engine mit CRC-16, AES-128, 66-Byte-FIFO Eingebauter Temperatursensor
- High Link Budget
- Sehr niedrige Kosten
RFM69HCW
Frequenz
Das RFM69HCW wurde für die Arbeit im ISM-Band (Industry, Scientific and Medical) entwickelt, einem Satz nicht lizenzierter Funkfrequenzen für Geräte mit geringem Stromverbrauch und kurzer Reichweite. Unterschiedliche Frequenzen sind in verschiedenen Bereichen zulässig, daher verfügt das Modul über viele verschiedene Versionen 315.433.868 und 915 MHz. Alle wichtigen HF-Kommunikationsparameter sind programmierbar und die meisten können dynamisch eingestellt werden. Auch der RFM69HCW bietet den einzigartigen Vorteil programmierbarer Schmalband- und Breitband-Kommunikationsmodi.
Hinweis: Aufgrund der vergleichsweise geringen Leistung und der geringen Reichweite ist die Implementierung dieses Moduls in einem kleinen Projekt kein Problem. Wenn Sie jedoch darüber nachdenken, ein Produkt daraus zu machen, stellen Sie sicher, dass Sie die richtige Frequenz für verwenden Ihr Standort.
Angebot
Um die Reichweite besser zu verstehen, müssen wir uns mit einem ziemlich komplizierten Thema befassen, dem RF Link Budget. Also, was ist dieses Linkbudget und warum ist es so wichtig? Das Link-Budget ist wie jedes andere Budget, etwas, das Sie am Anfang haben und das Sie im Laufe der Zeit ausgeben, wenn Ihr Budget aufgebraucht ist, können Sie nicht mehr ausgeben.
Das Verbindungsbudget hat auch mit einer Verbindung oder der Verbindung zwischen Sender und Empfänger zu tun, es wird durch die Sendeleistung des Senders und die Empfindlichkeit des Empfängers gefüllt und in Dezibel oder dB berechnet, es ist auch Frequenz- abhängig. Das Verbindungsbudget wird durch alle Arten von Hindernissen und Rauschen zwischen Sender und Empfänger abgezogen, wie z. B. Entfernungskabel, Wände, Bäume, Gebäude, wenn das Verbindungsbudget aufgebraucht ist, erzeugt der Empfänger nur etwas Rauschen am Ausgang und wir erhalten kein verwendbares Signal. Laut Datenblatt des RFM69HCW hat es ein Verbindungsbudget von 140 dB im Vergleich zu 105 dB des ASK-Hybridsenders. Was bedeutet dies, ist dies ein wichtiger Unterschied? Zum Glück finden wirRadio Link Budget Calculators online, also lassen Sie uns einige Berechnungen durchführen, um das Thema besser zu verstehen. Nehmen wir zunächst an, wir haben eine Sichtverbindung zwischen Sender und Empfänger und alles ist perfekt, da wir wissen, dass unser Budget für RFM69HCW 140 dB beträgt. Überprüfen wir also die größte theoretische Entfernung, die wir kommunizieren können. Wir setzen alles auf Null und die Entfernung bis 500KM, Frequenz bis 433MHz und wir erhalten eine horizontale Empfangsleistung von 139,2 dBm
Jetzt setze ich alles auf Null und den Abstand auf 9KM Frequenz auf 433MHz und wir erhalten eine horizontale Empfangsleistung von 104,3 dBm
Mit dem obigen Vergleich können wir uns alle einig sein, dass das RFM69-Modul weitaus besser ist als der ASK-Hybrid-Sender und ein Empfängermodul.
Die Antenne
Vorsicht! Das Anbringen einer Antenne am Modul ist obligatorisch, da das Modul ohne diese Antenne durch die eigene reflektierte Leistung beschädigt werden kann.
Das Erstellen einer Antenne ist nicht so schwierig, wie es sich anhört. Die einfachste Antenne kann nur aus einem einadrigen 22SWG-Kabel hergestellt werden. Die Wellenlänge einer Frequenz kann durch die Formel v / f berechnet werden, wobei v die Übertragungsgeschwindigkeit und f die (durchschnittliche) Übertragungsfrequenz ist. In der Luft ist v gleich c , der Lichtgeschwindigkeit, die 299,792,458 m / s beträgt. Die Wellenlänge für das 433-MHz-Band beträgt somit 299,792,458 / 433,000,000 = 34,54 cm. Die Hälfte davon ist 17,27 cm und ein Viertel ist 8,63 cm.
Für das 433-MHz-Band beträgt die Wellenlänge 299,792,458 / 433,000,000 = 69,24 cm. Die Hälfte davon ist 34,62 cm und ein Viertel ist 17,31 cm. Aus der obigen Formel können wir also den Prozess der Berechnung der Länge des Antennendrahtes sehen.
Leistungsbedarf
Der RFM69HCW hat eine Betriebsspannung zwischen 1,8 V und 3,6 V und kann beim Senden bis zu 130 mA Strom ziehen. Unten in der Tabelle können wir den Stromverbrauch des Moduls unter verschiedenen Bedingungen deutlich sehen
Warnung: Wenn Ihr ausgewähltes Arduino 5-V-Logikpegel verwendet, um mit dem Peripheriegerät zu kommunizieren, das das Modul direkt an Arduino anschließt, wird das Modul beschädigt
Symbol |
Beschreibung |
Bedingungen |
Mindest |
Typ |
Max |
Einheit |
IDDSL |
Strom im Schlafmodus |
- - |
0,1 |
1 |
uA |
|
IDDIDLE |
Strom im Leerlaufmodus |
RC-Oszillator aktiviert |
- - |
1.2 |
- - |
uA |
IDDST |
Strom im Standby-Modus |
Kristalloszillator aktiviert |
- - |
1,25 |
1.5 |
uA |
IDDFS |
Strom im Synthesizer Modus |
- - |
9 |
- - |
uA |
|
IDDR |
Strom im Empfangsmodus |
- - |
16 |
- - |
uA |
|
IDDT |
Versorgungsstrom im Sendemodus mit entsprechender Anpassung, stabil über den VDD-Bereich |
RFOP = +20 dBm bei PA_BOOST RFOP = +17 dBm bei PA_BOOST RFOP = +13 dBm am RFIO-Pin RFOP = +10 dBm am RFIO-Pin RFOP = 0 dBm am RFIO-Pin RFOP = -1 dBm am RFIO-Pin |
- - - - - - - - - - - - |
130 95 45 33 20 16 |
- - - - - - - - - - - - |
mA mA mA mA Mutter |
In diesem Tutorial verwenden wir zwei Arduino Nano- und zwei Logikpegelkonverter, um mit dem Modul zu kommunizieren. Wir verwenden Arduino Nano, weil der eingebaute interne Regler den Spitzenstrom sehr effizient verwalten kann. Das Fritzing-Diagramm im Hardware-Abschnitt unten erklärt es Ihnen klarer.
HINWEIS: Wenn Ihr Netzteil keinen Spitzenstrom von 130 mA liefern kann, startet Ihr Arduino möglicherweise neu oder das Modul kann möglicherweise nicht richtig kommunizieren. In dieser Situation kann ein Kondensator mit großem Wert und niedrigem ESR die Situation verbessern
Pinbelegung und Beschreibung des RFM69-Moduls
Etikette |
Funktion |
Funktion |
Etikette |
AMEISE |
HF-Signalausgang / -eingang. |
Power Ground |
GND |
GND |
Antennenmasse (wie Strommasse) |
Digitale E / A, Software konfiguriert |
DIO5 |
DIO3 |
Digitale E / A, Software konfiguriert |
Triggereingang zurücksetzen |
RST |
DIO4 |
Digitale E / A, Software konfiguriert |
SPI Chip Select Eingang |
NSS |
3,3V |
3,3 V Versorgung (mindestens 130 mA) |
SPI Clock Eingang |
SCK |
DIO0 |
Digitale E / A, Software konfiguriert |
SPI-Dateneingabe |
MOSI |
DIO1 |
Digitale E / A, Software konfiguriert |
SPI-Datenausgabe |
MISO |
DIO2 |
Digitale E / A, Software konfiguriert |
Power Ground |
GND |
Custom Development Board vorbereiten
Als ich das Modul kaufte, wurde es nicht mit einem Steckbrett-kompatiblen Breakout-Board geliefert, daher haben wir beschlossen, selbst eines herzustellen. Wenn Sie möglicherweise dasselbe tun müssen, befolgen Sie einfach die Schritte. Beachten Sie auch, dass diese Schritte nicht unbedingt ausgeführt werden müssen. Sie können einfach Drähte an das HF-Modul anlöten und sie an das Steckbrett anschließen. Dies funktioniert weiterhin. Ich folge diesem Verfahren nur, um eine stabile und robuste Einrichtung zu erhalten.
Schritt 1: Bereiten Sie die Schaltpläne für das RFM69HCW-Modul vor
Schritt 3: Bereiten Sie eine Leiterplatte dafür vor. Ich folge diesem Tutorial für hausgemachte Leiterplatten. Ich druckte den Fußabdruck auf eine Kupferplatte und ließ ihn in die Ätzlösung fallen
Schritt 4: Befolgen Sie die Anweisungen für beide Platinen und löten Sie Ihr Modul auf die Grundfläche. Nach dem Löten sehen meine beiden Module unten so aus
Die Pinbelegung des RFM69HCW-RF-Moduls ist in der folgenden Abbildung dargestellt
Erforderliche Materialien
Hier ist die Liste der Dinge, die Sie benötigen, um mit dem Modul zu kommunizieren
- Zwei RFM69HCW-Module (mit passenden Frequenzen):
- 434 MHz (WRL-12823)
- Zwei Arduino (ich benutze Arduino NANO)
- Zwei Logikpegelwandler
- Zwei Breakout-Boards (ich verwende ein speziell angefertigtes Breakout-Board)
- Ein Druckknopf
- Vier LEDs
- Ein 4,7K Widerstand vier 220Ohm Widerstand
- Überbrückungsdrähte
- Emaillierter Kupferdraht (22AWG) zur Herstellung der Antenne.
- Und zum Schluss löten (wenn du das noch nicht getan hast)
Hardware-Verbindung
In diesem Tutorial verwenden wir Arduino Nano, das 5-Volt-Logik verwendet, aber das RFM69HCW-Modul verwendet 3,3-Volt-Logikpegel, wie Sie in der obigen Tabelle deutlich sehen können. Für die ordnungsgemäße Kommunikation zwischen zwei Geräten ist ein Logikpegelwandler im folgenden Fritzing-Diagramm obligatorisch Wir haben Ihnen gezeigt, wie Sie den Arduino nano an das RFM69-Modul anschließen.
Fritzing Diagram Senderknoten
Verbindungstabelle Absenderknoten
Arduino Pin |
RFM69HCW Pin |
E / A-Pins |
D2 |
DIO0 |
- - |
D3 |
- - |
TAC_SWITCH |
D4 |
- - |
LED_GREEN |
D5 |
- - |
LED_RED |
D9 |
- - |
LED_BLUE |
D10 |
NSS |
- - |
D11 |
MOSI |
- - |
D12 |
MISO |
- - |
D13 |
SCK |
- - |
Fritzing Diagramm Empfängerknoten
Verbindungstabelle Empfängerknoten
Arduino Pin |
RFM69HCW Pin |
E / A-Pins |
D2 |
DIO0 |
- - |
D9 |
- - |
LED |
D10 |
NSS |
- - |
D11 |
MOSI |
- - |
D12 |
MISO |
- - |
D13 |
SCK |
- - |
Ausführen der Beispielskizze
In diesem Tutorial richten wir zwei Arduino RFM69-Knoten ein und bringen sie dazu, miteinander zu kommunizieren. Im folgenden Abschnitt erfahren Sie, wie Sie das Modul mithilfe der RFM69-Bibliothek, die von Felix Rusu von LowPowerLab geschrieben wurde, zum Laufen bringen.
Bibliothek importieren
Hoffentlich haben Sie schon ein bisschen Arduino programmiert und wissen, wie man eine Bibliothek installiert. Wenn nicht, lesen Sie den Abschnitt Importieren einer ZIP-Bibliothek unter diesem Link
Einstecken der Knoten
Schließen Sie den USB-Anschluss des Absenderknotens an Ihren PC an. Eine neue COM-Port-Nummer sollte zur Liste "Tools / Port" der Arduino IDE hinzugefügt werden. Schreiben Sie den Stift auf den Empfänger. Portliste, auch notieren, mit Hilfe der Portnummer laden wir die Skizze auf den Sender- und den Empfängerknoten hoch.
Eröffnung von zwei Arduino-Sitzungen
Öffnen Sie zwei Arduino IDE-Sitzungen, indem Sie nach dem Laden der ersten Sitzung auf das Arduino IDE-Symbol doppelklicken. Es ist obligatorisch, zwei Arduino-Sitzungen zu öffnen, da Sie auf diese Weise zwei serielle Arduino-Monitorfenster öffnen und gleichzeitig die Ausgabe von zwei Knoten überwachen können
Beispielcode öffnen
Wenn alles eingerichtet ist, müssen wir den Beispielcode in beiden Arduino-Sitzungen öffnen, um dies zu tun
Datei> Beispiele> RFM6_LowPowerLab> Beispiele> TxRxBlinky
und klicken Sie darauf, um es zu öffnen
Beispielcode ändern
- Suchen Sie oben im Code nach #define NETWORKID und ändern Sie den Wert auf 0. Mit dieser ID können alle Ihre Knoten miteinander kommunizieren.
- Suchen Sie nach der #define FREQUENCY-Änderung, um sie an die Board-Frequenz anzupassen (meine ist 433_MHz).
- Suchen Sie nach dem #define ENCRYPTKEY. Dies ist Ihr 16-Bit-Verschlüsselungsschlüssel.
- Suchen Sie nach #define IS_RFM69HW_HCW und kommentieren Sie es aus, wenn Sie ein RFM69_HCW-Modul verwenden
- Und schließlich suchen Sie nach #define NODEID, die standardmäßig als EMPFÄNGER festgelegt werden sollte
Laden Sie nun den Code auf Ihren zuvor eingerichteten Empfängerknoten hoch.
Zeit zum Ändern der Skizze für den Absenderknoten
Ändern Sie es nun im Makro #define NODEID in SENDER und laden Sie den Code auf Ihren Absenderknoten hoch.
Das war's, wenn Sie alles richtig gemacht haben, haben Sie zwei vollständige Arbeitsmodelle zum Testen bereit.
Arbeiten der Beispielskizze
Nach dem erfolgreichen Hochladen der Skizze sehen Sie, dass die rote LED, die mit dem Pin D4 des Arduino verbunden ist, aufleuchtet. Drücken Sie nun die Taste im Senderknoten und Sie werden feststellen, dass die rote LED erlischt und die grüne LED leuchtet Der Anschluss an Pin D5 des Arduino leuchtet wie in der Abbildung unten gezeigt auf
Sie können auch Button Pressed beobachten! Text im Fenster Serieller Monitor wie unten gezeigt
Beobachten Sie nun die blaue LED, die an Pin D9 des Senderknotens angeschlossen ist. Sie blinkt zweimal und im Fenster Serial Monitor des Empfangsknotens sehen Sie die folgende Meldung sowie die blaue LED, die an den Pin D9 angeschlossen ist Der Empfängerknoten leuchtet auf. Wenn Sie die obige Meldung im Serial Monitor-Fenster des Empfängerknotens sehen und auch wenn die LED aufleuchtet Herzlichen Glückwunsch! Sie haben das RFM69-Modul erfolgreich mit Arduino IDE kommuniziert. Die vollständige Funktionsweise dieses Tutorials finden Sie auch in dem Video unten auf dieser Seite.
Alles in allem erweisen sich diese Module als großartig für den Bau von Wetterstationen, Garagentoren, drahtlosen Pumpensteuerungen mit Anzeige, Drohnen, Robotern, Ihrer Katze… der Himmel ist die Grenze! Ich hoffe, Sie haben das Tutorial verstanden und es genossen, etwas Nützliches zu bauen. Wenn Sie Fragen haben, lassen Sie diese bitte im Kommentarbereich oder nutzen Sie die Foren für andere technische Fragen.