Hallo
will mich mal in nem neuen Projekt mit Funkmodulen beschäftigen. Dazu will ich die Spannung von 8 Batterien abfragen. Also 1-8 Batterien und Nr 9 ist der Master, der die 8 abfragt. Datenrate: eher gering, maximal 1 Abfrage/Sekunde. Reichweite: Teile sind alle in einem Raum, max 5m voneinander entfernt.
Geplant ist jetzt ein PIC-Projekt das mit dem Funkmodul über ne serielle Schnittstelle kommuniziert. Beim googeln bin ich u.a. auf nRF24L01, CC1101 und HC-05/06 gestossen. Wer kann dazu was sagen? Sind diese Teile vergleichbar (gut/schlecht) ? Was würdet ihr empfehlen?
Deine 5m schafft jedes der Funkmodule. Wahrscheinlich klappt es sogar, ohne die Sendeleistung zu reduzieren.
Die Frage ist, ob andere Quellen stören.
Die Frage für die Netzstruktur ist, ob die Nr. 9 auch aus einer Batterie leben muss oder ob dort die Stromaufnahme egal ist?
Ich würde das ohne jedes Protokoll machen, aber mit einer viel geringeren Abtastrate. Batterien entladen sich ja eher langsam, also würde ich die "Slaves" einfach alle 30..60 Sekunden ein kurzes Telegramm senden lassen, etwa wie "Modul Nummer x, Spannung xx,xx (,CRC)". Der Master braucht diese Telegramme nur zu empfangen und sich den jeweils letzten Stand zu merken wenn ein Telegramm fehlerfrei empfangen wurde. Wenn nicht (z.B. wenn sich zwei Sender doppeln), kommt nach 30..60 Sekunden ein neuer Versuch.
Wie sieht das mit dem Programmieraufwand bei den genannten Modulen aus? Hat da wer Erfahrung? Hab früher mal mit Industriemodulen gearbeitet, die sehr User-freundlich waren. War quasi ein RS232-Funkmodul. Die waren fest auf 19200Baud eingestellt und wurden an die UART-Schnittstelle von uC angeschlossen. Hat prima funktioniert, nur waren die damals ziemlich teuer.
Bei den primitivsten Funkmodulen musst du das Nutzsignal vor dem Senden passend codieren. High und Low Pegel haben bestimmte minimale und maximale Zeiten und mit Mittel muss das Signal neutral (gleich viel High wie Low) sein. Oft muss eine Präambel benutzen, damit sich der Empfänger darauf Einschwingen kann. Fehlerbehandlung ist bei diesen Modulen komplett dir überlassen. Wenn niemand sendet, liefern die Empfänger oft permanentes Rauschen.
Wie sieht das mit dem Programmieraufwand bei den genannten Modulen aus?
Der Programmieraufwand den du dabei hast, hängt häufig davon ab, wie gut die zur Verfügung gestellten Bibliotheken sind und ob du mit den Begriffen im Datenblatt bzw. in der Library etwas anfangen kannst.
Ja, die primitiven Dinger kenn ich, hab da mal ne Fernsteuerung mit gemacht. Sowas könnte ich auch verwenden, wollte hier aber etwas mehr komfort haben.
Die primitiv-teile waren auch nur unidirektional.
Auch wenn eine UART-Verbindung im ersten Moment als simpelste Lösung erscheint kann ich nur einem Modul raten, welches adressierte Frames unterstützt. Ein solcher Frame besteht aus einer Startmarke, einer Ziel-Adresse, Nutzbytes und einer Prüfsumme. Das Modul kann dann auf Wunsch zurückmelden, ob die Übertragung geklappt hat. Gibt es von Radiocrafts, Digi, Würth-Elektronik uvam.
Das sind Bluetooth Module, die man wie Modems benutzt, Kennst du Modems?
So würde ich das vermutlich machen. Die BT Verbindung ist praktisch fertig, aufs Telefon ein serielles Terminal und an den HC05 einen kleinen Controller, der die Daten auswertet, auf Anforderung wartet und seriell ans HC05 schickt. Die HC05/06 Module kann man vorprogrammieren für PIN und Baudrate, was sie auch über PowerOff behalten.
Auslesen dann mit praktisch jedem BT-fähigen Rechner und Terminal Software. Die Module gibts billig. Neulich 10 Mäuse für drei Stück bezahlt.
Alleine schon die Funkhygiene gebietet es, für kleine Reichweite innerhalb eines Raumes keine tiefen Frequenzen zu verwenden, die schlechter durch Wände angeschirmt werden.
Dumme 433MHz-Module für 90Cent/Stck + VirtualWire. Einfach und Billig und musst dich nicht mit den Moduleigenheiten (Konfig, Register, Modi,...) rumplagen.
Für so einen Spielkram den du vor hast reicht das dicke.
Wie wäre es mit einem der ESP32's oder auch einem der NordicRF Controller mit integriertem BLE? Dann braucht es keine 2 Chips und die Kommunikation dazwischen, und man hat alles in einem. Beide Varianten sollten auch recht einfach zu programmieren sein. Der große Vorteil: Man kann sehr einfach die Daten auch per Smartphone empfangen. BLE bietet vordefinierte Profile, da gibt es bestimmt auch eins mit dem man den Batteriestand übermitteln kann, sodass man es mit Standard-Apps empfangen kann. Stromsparend ist es auch.
Danke für die Inputs
Die HM-TRP sind auf jeden Fall interessant. In der Bucht habe ich LC12S-Module gefunden, mit UART-Schnittstelle. Denke die passen für mich. Die HM-TRP könnten da sowas ähnliches sein, mit deutlich besserer Doku wie ich gesahen habe als die Chinesen-Teile. Na mal sehen. Hab Zeit für rumspielen...