Inhaltsverzeichnis:
- Schritt 1: Komponenten sammeln
- Schritt 2: MCU-Funk-Subsystem aufbauen
- Schritt 3: Entwicklungstests
- Schritt 4: Projektbox vorbereiten
- Schritt 5: Anschließen von Peripherie-E/A-Komponenten
- Schritt 6: Endgültige komplette Montage
- Schritt 7: Die Software- und Gerätefunktionen und der Betrieb
Video: Signalcode-Kommunikatoren (RFM69) - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
Diese „2-Bit“(digitalen) Funkkommunikatoren bieten eine Möglichkeit, sich gegenseitig zu signalisieren (wo sie sind; wenn sie fertig sind …) wenn sie an gegenüberliegenden Enden eines großen Ladens einkaufen; auch dort, wo Mobiltelefone keinen Dienst oder keine Batterieladung haben.
Es werden RFM69 915MHz Funkmodule verwendet. Sie sind sehr effiziente Funkgeräte mit geringem Stromverbrauch, die digitale Paketkommunikation verwenden. Sie können mit geringem Stromverbrauch über 100 Meter mit nur 10 Milliampere kommunizieren und bis zu 1/2 Kilometer oder sogar 1/2 Meile mit etwa 120 mA.
Die Funkmodule RFM69 sind über größere Entfernungen viel effizienter und effektiver als entweder ein NRF24L01 oder ein RFM12.
Für noch zuverlässigere länger entfernte Verbindungen könnte dieses Projekt genauso gut auf verwendete LoRa-Funkmodule übertragen werden. Es gibt ein paar LoRa-Geräte (wie ein RFM95), die eine ähnliche Größe und Schnittstelle haben. Aber sie kosten viel mehr, was für mich ungerechtfertigt war.
Die Einheiten unterstützen eine Reihe von digitalen Frage- und Antwortcodes im Stil von 10-20 (Ort?) (siehe wiki/Ten-code https://en.wikipedia.org/wiki/Ten-code); sowie optional Morsecode. Die Geräte unterstützen keine (analoge) Sprachkommunikation.
Sie können auch als Pager mit 3 Aufmerksamkeitsstufen verwendet werden, wenn sich jemand erholt oder unter dem Haus arbeitet.
Darüber hinaus können sie vor allem Kindern oder Studenten viel Spaß machen.
Schritt 1: Komponenten sammeln
Da das Funkmodul keine 5-V-Versorgungs- oder Signalspannung verarbeiten kann, müssen Sie 3,3-V-MCUs verwenden. Beachten Sie auch, dass ich die 'H'-High-Power-Version der Funkmodule verwende.
Diese Liste soll 2 Einheiten bauen.
- Menge 2 Pro Mini 3.3v Arduino MCU
- Menge 2 RFM-69HCW 915MHz Module
- Menge 2 Gehäuse (war ein Batteriefach)
- Menge 2 Li-Ion 3,7 V 200+mAh Akkus https://www.ebay.com/itm/311682151405 (7x20x30mm, ~maximal nutzbare Größe 9x24x36mm)
- Menge 4 rot-grüne 5 mm Common Cathode Bi-Color LEDs https://www.ebay.com/itm//112318970450 (Verkabelung und Durchbruchspannung ist wichtig)
- Menge 4 6x6x7,5mm Tastenschalter
- Menge 2 Piezo aktiver Summer
- Menge Je 2 Widerstände … 270 Olm, 1.5kOlm, ~5k
- Menge 2 0,1 uf monolithische Kappe
Optional
- Menge 2 3 mm weiße (oder blaue) LEDs
- Menge 2 3,5-mm-Phono-Buchsen
- Menge 2 220uf Leistungsfilterkondensator
- Eisstiel
Andere Verbrauchsmaterialien, die Sie möglicherweise benötigen
30ga Draht massiv https://www.ebay.com/itm/142255037176, 26ga Draht massiv oder 24ga Litze, für Masse und +V
22ga Draht massiv, für Antenne
Sonstiges: Lötzubehör, Klebeband, Heißkleber, Prototyping-Tools.
USB-zu-TTL-Konverter
Optionshardware:
Eine Stereobuchse zum Anschließen eines Ohrhörers, um eingehende Kommunikationen nicht zu verpassen. Auch ein tragbarer Lautsprecherverstärker könnte daran angeschlossen werden.
Die kleine (3 mm) weiße LED ist optional. Ich habe es hinzugefügt, um als EIN-Indikator zu dienen. Es war einfach hinzuzufügen, da ich es über Btn1 verdrahtet habe, das etwas Antriebsstrom von einem internen Widerstand erhält (~ 37k). Bei so wenig Antrieb muss diese LED hocheffizient sein. Es könnte eine grüne oder vielleicht eine blaue LED verwendet werden, aber keine gelbe oder rote, da deren Spannungsabfall zu gering ist und es so aussehen würde, als wäre die Taste gedrückt. Ich würde Grün nicht verwenden, da diese Farbe sonst zur Signalisierung von Informationen verwendet wird.
Die Phonobuchse kann auch weggelassen werden. Dieses Gerät macht nicht viel Lärm, aber wenn Sie Bedenken haben, die Aufmerksamkeit anderer auf sich zu ziehen, bietet es die Möglichkeit, einen Ohrhörer zu verwenden. Alternativ ist ein Stück Tesafilm über dem Loch für Audio wirksam.
Um alle Messungen einfach und genau zu machen, mag ich diesen preiswerten Messschieber sehr.
Schritt 2: MCU-Funk-Subsystem aufbauen
Schließen Sie kurze Drähte an die MCU-Pins an: 10, 11, 12, 13; ein mittellanger Draht an Pin2.
Fügen Sie lange (4-5 Zoll) zu den zu verwendenden I/O-Pins der MCU hinzu (Pins: 3-9). Ich habe 30 AWG Messgerät und verschiedene Farben für Peripherietypen verwendet. Dieser Draht mit kleinem Durchmesser kann Signale mit weniger als 100 Milliampere verarbeiten, ist jedoch klein und biegsam genug (und dringend empfohlen), um eine enge Montage zu erleichtern.
Schließen Sie auch ein Masse- und ein Vcc-Kabel an (ich habe 26ga verwendet, es sind die blauen auf den Fotos). Diese Drähte führen mehr Strom. Verwenden Sie daher ein großes Kabel, um den Spannungsabfall (und die potenzielle Störsignalstrahlung) zu reduzieren.
Verbinden Sie die MCU mit der RFM-69-Platine. Alle bis auf die langen Drähte gehen darauf.
Klappen Sie die Funkplatine über die MCU-Platine. Zwischen den Brettern dürfen keine Kurzschlüsse sein. Wenn es ein echtes Potenzial für eine kurze Zeit zu geben scheint, verwenden Sie ein dazwischenliegendes Stück Klebeband oder eine Plastikfolie.
Fügen Sie das Antennenkabel (22-24ga. 80mm) auf die Radioplatine, wie auf dem Foto zu sehen.
Schritt 3: Entwicklungstests
Für Ihre Implementierung dieser Einheiten können Sie diesen Abschnitt überspringen. Für Interessierte gibt dies ein wenig mehr Informationen darüber, wie ich dorthin gekommen bin.
Eine ¼ Wellenlänge für 915 MHz beträgt 82 mm. Das Tutorial von Sparkfun.com schlägt die Verwendung von 78 mm vor. Ich verstehe, dass die Antennentechnik sagt, wenn sich die Antenne innerhalb einer halben Wellenlänge von der Erde befindet, verhält sich Ihre Antenne so, als wäre sie ~ 5% länger als sie ist. 915 MHz wären weniger als ein Fuß und normalerweise betreiben Sie dieses Gerät viel höher vom Boden aus als das, ich lehne diese 78 mm Länge ab. Es gibt jedoch andere Faktoren, die ähnliche Effekte verursachen könnten, so dass es sinnvoll erscheint, weniger als genau ¼ Wellenlänge zu verwenden. Ich habe Kompromisse gemacht und meine Antennendrähte auf insgesamt 80 mm geschnitten (einschließlich des Abschnitts, der durch die Platine geht). Mit der richtigen Testausrüstung könnten Sie Ihre Antennenlänge für Ihr Gerät besser optimieren, aber ich würde nur geringfügige Verbesserungen erwarten.
Nach Anpassungen habe ich mit einigen Hindernissen eine maximale Reichweite von etwa 250 m erreicht. Ab etwa 150m wurde die Ausrichtung und Position der Antenne immer wichtiger.
Als ich eine vollständige Dipolantennenkonfiguration (ein vertikales 80-mm-aktives Element gegenüber einem nach unten zeigenden 80-mm-Massedrahtelement) für eine Einheit verwendet habe, erreichte ich mit Versuch und Irrtum bis zu 400 Meter mit mehreren Bäumen und einem Haus dazwischen. und solide 2-Wege-Kommunikation bei ½ dieser Entfernung, unabhängig von der Position oder Ausrichtung der Fernbedienung.
Schritt 4: Projektbox vorbereiten
Der Bau dieses Projekts mit einer kleinen Box ist ziemlich anspruchsvoll. Ich habe die Erfahrung, viele kundenspezifische elektronische Geräte für Heim-, Industrie- und Luft- und Raumfahrtprojekte zu bauen. Anfänger können eher eine größere Containerbox verwenden, was den Aufbau erheblich erleichtert. Schließlich suchen wir nach Genuss, nicht nach Frust. Übrigens, auf den Fotos der von mir gebauten Einheiten können Sie geringfügige Unterschiede feststellen.
Reinigen Sie einen Großteil des Inneren der Box. Mit einem Meißel oder X-acto-Messer zwei Rippen rechts und eine links abschneiden. (siehe Foto von der Innenseite einer Box vorher und nachher)
Erhitzen Sie das Ende eines X-acto- oder Gemüsemessers (für ~ 15 Sekunden mit einem Feuerzeug) und schneiden Sie den einen großen Pfosten im Inneren des Gehäuses ab und senken Sie die anderen beiden auf etwa 1/8 Zoll ab. Sobald ich den Schalter montiert hatte, schmolz ich diese beiden Pfosten genug, um den Schalter an Ort und Stelle zu halten.
Ich habe Maskierungsband auf der Box verwendet, um die Lochpositionen zu markieren. Siehe Fotos oben.
Um das Bohren der Löcher auf Markierung zu halten, habe ich zuerst die Stellen mit einer Pfeilspitze markiert, dann alle Stellen mit einem 1/16-Bit gebohrt und schließlich jedes Loch auf die gewünschte Größe gebohrt.
Bohren Sie die Löcher für die Tasten, Audio und LEDs in das Gehäuse. Die beiden Löcher für die Haupt-LEDs oben sind 13/64 Zoll (5 mm) und 10 mm vom Rand entfernt. Die Löcher für das Audio (Beep-Summer) und die optionale „On“-LED sind 3 mm (1/8 ). Sie sind 10 mm von der Spitze entfernt. Die kleine LED ist 7 mm von der Seite entfernt. Das Audioloch ist seitlich zentriert. Die Löcher für die Knöpfe an der Seite sind 9/16 Zoll (3,5 mm). Ein Knopf ist 10 mm von der Oberseite entfernt, der andere 20 mm. Ich habe die Innenseite der Knopflöcher von Hand mit einem 1/4-Zoll-Bohrer abgeschrägt, um sicherzustellen, dass die Knöpfe beim Drücken nicht hängen bleiben.
Wenn Sie eine Phonobuchse für externe Kopfhörer oder Lautsprecher verwenden, müssen Sie das bereits vorhandene Loch an der Unterseite auf 15/64 Zoll öffnen. Das Material hier ist ziemlich dick und ein einfacher Versuch, es auszubohren, würde zu einem Loch führen, das zu nahe am Rand liegt. Bohren Sie also zuerst ein 1/16-Loch, dessen Mitte etwa 16 Zoll vom Rand des vorhandenen Lochs entfernt ist. Dann vergrößern Sie dieses Loch mit einem 7/16-Zoll-Bit. Schneiden Sie mit einer scharfen kleinen Klinge (~Xacto) Material so ab, dass die beiden angrenzenden Löcher ungefähr eins sind. Verwenden Sie eine Dremel-Spiralraspel oder eine Rattenschwanzfeile, damit die Löcher ein gut rundes Loch bilden, in das sich ein Bohrer leicht zentrieren lässt. Das Loch sollte an dieser Stelle fast 15/64 sein. (An dieser Stelle gibt es ein Foto des Lochs) Bohren Sie es nun mit einem 15/64-Zoll-Bohrer aus. Es wäre nicht 'schrecklich', wenn Sie ein ¼-Bit verwenden.
Schritt 5: Anschließen von Peripherie-E/A-Komponenten
Achten Sie beim Löten innerhalb des Gehäuses darauf, dass Sie nicht versehentlich einen Teil des Bügeleisens berühren und so einen Teil der Box, insbesondere entlang der Außenkante, schmelzen.
Die Knöpfe
Kleben Sie die Knöpfe mit einer kleinen Menge Kleber fest, während Sie sie positionieren. Heißkleber ist in Ordnung, dünner Kleber (wie Sekundenkleber) könnte in den Knopf eindringen und ihn funktionsunfähig machen. Beachten Sie, dass ich ein Bein zu jedem der Knöpfe entfernt hatte (überflüssige, mit denen ich keine Verbindung herstellte); gebogen, damit sie nicht zu stark herausragten; und verband die beiden unteren Stifte zwischen den Knöpfen. Die Knöpfe sind so angeordnet, dass sich die innen verbundenen Beine horizontal gegenüberliegen.
Biegen Sie die Leitungen der 3mm „Ein/Aus“-LED so, dass sie über Btn1 angeschlossen werden kann, wobei ihre Kathode zur Masseseite geht. Dies ist vielleicht das schwierigste Montageproblem.
Markieren Sie die Seite der LEDs neben der roten Anode. Schneiden Sie die beiden Anoden (außen) auf etwa ¼ Zoll. richten Sie sie mit der markierten (roten) Führung nach oben aus. Lassen Sie die Mittelleitung lang, sie werden später umgebogen, um sie mit der Masseseite der Tasten zu verbinden. Siehe Fotos.
Bringen Sie die Widerstände an.
Verwenden Sie nicht einfach die Wertwiderstände, die ich für die LEDs gemacht habe. Ich habe meine LEDs vor mehr als einem Jahr gekauft, nicht genau die oben aufgeführten. Da die LED-Effizienz stark variiert, testen Sie die Widerstandswerte für die Verwendung mit Ihren in der Hand befindlichen LEDs. Wählen Sie Widerstände für die gewünschte Helligkeit mit einer Antriebsspannung von 3 bis 3,3 Volt (3,2 V bevorzugt). Für eine Testversorgungsspannung können Sie zwei 1,5-V-Batterien in Reihe oder einen hohen digitalen Ausgang von einem 3,3-V-Arduino-Chip verwenden. Stellen Sie sicher, dass Sie ein gutes echtes Gelb erhalten, wenn Sie sowohl das rote als auch das grüne Element fahren. Trimmen und löten Sie die Widerstände an die LEDs, ähnlich wie auf den Fotos zu sehen.
Bei einer Einheit habe ich einen Popsicle-Stick als Abstandshalter um die beiden Haupt-LEDs verwendet, damit sie nicht so stark herausragen. Dies ist ausschließlich eine persönliche Präferenz. Dies hat jedoch den negativen Nebeneffekt, die effektive Helligkeit / den Betrachtungswinkel dieser LEDs zu reduzieren.
Tragen Sie etwas Kleber entlang der Außenkante des Summers auf und kleben Sie ihn zwischen die Haupt-LEDs (+ nach rechts). Passen Sie die Position so an, dass sie mit dem Loch im Gehäuse übereinstimmt, bevor Sie sie befestigen.
Der Ein-/Ausschalter wird durch Einschmelzen der Befestigungslochpfosten in Position gehalten. Ich habe dafür die erhitzte Spitze zu einem kleinen Schraubendreher verwendet.
Die Mutter der Phonobuchse lässt sich nicht befestigen. Verwenden Sie daher am gegenüberliegenden Ende Heißkleber, um sie zu sichern.
Verbinden Sie die Masse entlang der Tasten und LEDs.
Bereiten Sie eine Plus- und Minusleitung (~ 24 ga. Solid) vor, indem Sie die abgeschnittenen Enden so hämmern, dass sie doppelt so breit wie dick sind. Ihre Enden sollten dann leicht, aber fest in den Batterieanschluss passen. Natürlich, wenn Sie ein Verbindungskabel haben oder finden können, das mit Ihrer Batterie verbunden werden soll, dann verwenden Sie dieses auf jeden Fall.
Verdrahten Sie den Ein-/Ausschalter, die Phonobuchse, den Summer und die Stromkabel. Siehe den früheren Schaltplan.
Ich habe einen kleinen Kondensator über den Phono-Anschlüssen. Dies kann weggelassen werden, da es ziemlich eng anliegt. Sein Zweck besteht darin, ein Brummen mit niedrigem Pegel im Ausgang zu verhindern.
Nachdem die Tasten (sowie der Ein- / Ausschalter und die Phonobuchse) vollständig verdrahtet und verlötet sind, kleben Sie sie mit Heißkleber fest, damit sie sich auch nach längerem Gebrauch nicht bewegen.
Schritt 6: Endgültige komplette Montage
Es ist Zeit, das MCU-Funk-Subsystem mit den I/O-Geräten in das Gehäuse zu verbinden.
Schließen Sie das MCU-Radio-Subsystem an.
Kürzen Sie die Drähte nach Bedarf und lassen Sie gerade genug Spiel darin, damit die Subsystembaugruppe weit genug weg ist, um das Löten der anderen Enden der Drähte zu ermöglichen.
Stellen Sie sicher, dass Sie die Drähte der Haupt-LED mit den richtigen rot / grün verbinden und insbesondere die Links / Rechts-Beziehung richtig stellen. Die LEDs sind von links nach rechts umgekehrt, wenn Sie in das Gehäuse schauen, wie Sie den Communicator halten und verwenden. (es sei denn, Sie beabsichtigen, die Geräte mit der gegenüberliegenden Seite zu Ihnen zu verwenden, wie es ein Linkshänder tun könnte).
Verschieben Sie das MCU-Radio-Subsystem an Ort und Stelle und drücken Sie es nach unten, indem Sie die Drähte nach Bedarf falten, in das Gehäuse; Überprüfen Sie, ob keine Shorts gemacht werden. Legen Sie bei Bedarf ein Stück Isolierband darunter.
Sie können dieses Gerät im zusammengebauten Zustand, wie im nächsten Abschnitt beschrieben, mit einem vorübergehend angeschlossenen FDDI über ein kurzes Kabel neu programmieren. Stellen Sie sicher, dass der Vcc-Pegel des USB-Downloadkabels 3,3 V beträgt, nicht 5 V!
Bringen Sie den Akku an, schieben Sie die Rückseite auf und testen Sie ihn, sofern Sie bereits Software heruntergeladen haben. Achten Sie darauf, dass die Batterie nicht auf die Reset-Taste der MCU-Platine drückt.
Übrigens, ein 300-mAh-Akku sollte etwa 12 Stunden Betriebsdauer halten, bevor er aufgeladen werden muss.
Schritt 7: Die Software- und Gerätefunktionen und der Betrieb
Der andere große Teil dieses Projekts, von dem sein Betrieb abhängt, ist die Softwareprogrammierung. Aber ich habe das alles ausgearbeitet, also musst du nicht.
Anweisungen zum Herunterladen einer Skizze auf einen Pro mini Arduino finden Sie an anderer Stelle leicht. Stellen Sie Ihre Arduino-IDE auf das richtige Gerät und die richtige Betriebsfrequenz ein, sonst erhalten Sie schlechtes Audio und möglicherweise Fehlverhalten. Verwenden Sie unbedingt einen USB-TTL-Konverter mit 3,3 V (nicht 5 V). Das Gerät selbst sollte ausgeschaltet sein. Sie können sehen, dass ich einen rechtwinkligen Header auf das Ende des Download-Kabels gesteckt und ihn dann in die entsprechenden Löcher auf der MCU-Platine eingesteckt habe und das Gerät daran hängen lasse, wobei eine gute, aber vorübergehende Verbindung erhalten bleibt.
Sie müssen auch die Bibliothek für das RMF69 installieren; siehe "Installieren der RFM69-Bibliothek" weiter unten auf dieser Seite.
Bearbeiten Sie es entsprechend (siehe Codesegment unten), kompilieren Sie die angehängte Two_bit_Comm-Skizze und laden Sie sie herunter.
// !!!! Adressen für diesen Knoten. UMGEBEN SIE DIE IDs FÜR DEN ZWEITEN KNOTEN !!!!
#define MYNODEID 1 // Meine Knoten-ID (0 bis 255) #define TONODEID 2 // Ziel-Knoten-ID (0 bis 254, 255 = Broadcast)
Die Software nutzt die 'H'-High-Power-Version der Funkmodule, indem sie zunächst eine mittlere Leistung verwendet und dann keine Bestätigung zurückbekommt, sondern es mit maximaler Leistung versucht. Ich weiß es nicht, aber ich würde erwarten, dass dieser Vorgang kein Problem darstellt, wenn man die Nicht-Hochleistungsversion von Radios verwendet.
Betriebsdokumentation
Initialisierung beim Einschalten:
Wenn ein Gerät neu gestartet wird, initialisiert es seine gesamte Hardware und Software und sendet seine Modus- und Optionseinstellungen an das andere Gerät, wobei sie synchron bleiben. Es ertönt ein einzelner kurzer Piepton und wenn diese anfängliche Kommunikation erfolgreich ist, ertönt ein weiterer Piepton und ein grünes Licht leuchtet. Wenn die Kommunikation zu diesem Zeitpunkt fehlschlägt, ertönt kein zweiter Piepton und ein rotes Licht leuchtet. Wenn die Kommunikation fehlschlägt, befindet sich das andere Gerät wahrscheinlich außerhalb der Reichweite, ist ausgeschaltet oder hat keinen Akku mehr. Es werden mehrere Wiederholungen und eine Erhöhung der maximalen Sendeleistung versucht, bevor ein Fehler akzeptiert wird.
Modus 1 – 10-20 Typ Komm
- Hallo
- Brauche Unterstützung
- HILFE!
- Fertig ? Bereit zu gehen?
- Wo sind Sie ?
- Rufen Sie mich an.
- Bitte wiederholen
Entsprechende Antwortkonventionen werden ebenfalls definiert. Einschließlich der Antworten "Gebietstyp" und "Abschnittstyp" auf "Wo bist du?" Anfragen.
Bitte beachten Sie, dass Sie geduldig sein müssen, wenn das Gerät eine Antwort anzeigt, da Tastendrücke während dieser Zeit ignoriert werden.
Modus 2 – ermöglicht eine Form der Morsecode-Kommunikation
Es werden sowohl Einzeltasten- als auch Zweitastenstile unterstützt.
Das beigefügte Dokument "Two_bit_Comm_user_Manual" enthält alle Details des von der Software unterstützten Funktionsbetriebs.