Ich bin auf der Suche nach einer kleinen günstigen, einfachen und mit AVR + überschaubarem Zubehör zu implementierenden Funkübertragung: - ein Empfänger und 5 Sender sternförmig darum, - Abstand maximal 20m, - zu übertragen sind 10 Byte jede Stunde pro Sender, Geschwindigkeit ist sehr unkritisch (kein Problem wenn die 10 Byte eine Minute bräuchten), - Unterscheidbarkeit, welcher Sender (Adressbyte) Angesehen habe ich mir: - ESP2866 - möglich, aber vom Protokoll her eingentlich schon zu viel Aufwand - Infrarot (RC5) - könnte problematisch sein bei viel Sonne oder einem Hindernis, was die Sicht nimmt (z.B. Laub) Was schlagt Ihr vor?
Funki schrieb: > - Infrarot (RC5) - könnte problematisch sein bei viel Sonne oder einem > Hindernis, was die Sicht nimmt (z.B. Laub) Das IR Protokoll ist robust, übertrage es doch mit einfachen Funkmodulen statt mit LED und IR Empfänger. http://www.ebay.de/itm/5X-433-Mhz-RF-Sender-Empfanger-Receiver-Modul-Arduino-Wireless-Transmitter-TE122-/201312653471 Solche Angebote gibt es zu Dutzenden, ich habe einfach mal das erste rausgesucht. Natürlich würdest du nur einen Empfänger benötigen, dem ich persönlich dann allerdings eine bessere Antenne verpassen würde.
:
Bearbeitet durch User
Matthias S. schrieb: > Das IR Protokoll ist robust, übertrage es doch mit einfachen Funkmodulen > statt mit LED und IR Empfänger. danke, das werde ich probieren. Kann man diese Module vergießen für den Einsatz draußen? oder senden / empfangen die dann nichts mehr?
Funki schrieb: > Was schlagt Ihr vor? Was Matthias vorschlägt geht schon in die richtige Richtung. Bei allen diesen Funkübertragungs-Wünschen bleibt häufig eines unberücksichtigt: Brauche ich eine Rückmeldung dass die Information übertragen wurde oder reicht als Feedback die Reaktion des Empfängers à la Fernseher oder dergleichen. Oder ist es wie bei der Funk-Wetterstation, es ist "wurscht" wenn hie und da keine Übertragung stattfindet. Wenn man eine bestätigte Übertragung braucht dann muss man diese Module auch doppelt kaufen und betreiben, einmal für hin, und einmal für die Bestätigung zurück. Mit gezieltem Ein-/Ausschalten der Sender und Empfänger.
Funki schrieb: > Ich bin auf der Suche nach einer kleinen günstigen, einfachen und mit > AVR + überschaubarem Zubehör zu implementierenden Funkübertragung: Muss es unbedingt AVR sein? Ich hätte nämlich NRF5x (von NordicSemi) basierte Module vorgeschlagen, z.B. https://www.sparkfun.com/products/13990 oder https://www.sparkfun.com/products/13729 Die Dinger habe BT Low Energy und einen Cortex-M4 (oder -M0 bei NRF51x) integriert - bei einem Stromverbrauch weit unter üblichen AVRs. Es gibt auch Arduino- kompatible Software Libs. Mit dem 32,768 kHz Quarz kann man die in den Tiefschlaf schicken (ein paar µA) und dann zu festgelegter Zeit aufwachen und senden+empfangen.
Naja AVR bin ich halt gewohnt und hab ich schon da.. :-) .. Nur mal so als Frage: Wenn man beim Sender statisch 1 oder statisch 0 anlegt (sagen wir je eine Sekunde lang) - kommt das dann aus der Datenleitung des Empfängers auch so raus oder wird eine Mindestfrequenz im Signal benötigt?
Funki schrieb: > - ein Empfänger und 5 Sender sternförmig darum, > - Abstand maximal 20m, > - zu übertragen sind 10 Byte jede Stunde pro Sender, Geschwindigkeit ist > sehr unkritisch (kein Problem wenn die 10 Byte eine Minute bräuchten), > - Unterscheidbarkeit, welcher Sender (Adressbyte) Letzteres (Adresse) kann man auf Protokollebene abhandeln, ist also ziemlich unwichtig. Aber es fehlt noch eine, recht wesentliche Angabe: Wie wichtig ist, dass der Empfänger jede Nachricht empfängt? Weil, wenn das wichtig ist, dann brauchst du nicht nur Sender und Empfänger, sondern Transceiver auf beiden Seiten, um damit einen Handshake-Mechanismus realisieren zu können. Und klar: ich würde Funk nehmen, wenn Abschattungen IR ausschliessen. Übrigens weist dein Gedankengang bezüglich der Abschattungen schon irgendwie darauf hin, dass wohl jede Nachricht empfangen werden soll, also die Reise Richtung Transceiver-Modul gehen muss. Da wären dann RFM12(B), RFM69 o.ä. angesagt.
Funki schrieb: > oder wird eine Mindestfrequenz > im Signal benötigt? Du musst unbedingt kodieren. Erstens bist du nicht alleine auf den 433MHz und zweitens möchtest du ja sicher übertragen, die Empfänger erkennen ein Dauersignal im Allgemeinen nicht an, weil sie eine Regelung haben. Deswegen ja der Vorschlag mit einem robusten Protokoll. Falls du Arduino Dingse machen willst, gibts da wohl eine 'Virtual-Wire' Bibliothek, ansonsten kannst du z.B. IRMP und IRSND leicht modifizieren und für deine Zwecke anpassen.
Funki schrieb: > Was schlagt Ihr vor? Die RX/TX Module auf 433/868MHz für unter 1€ vom ebayChinesen + VirtualWire. Billiger und einfacher gehts nicht und funktioniert tadellos. Braucht nur 1 Pin, idiotensicher anszuschliessen, kein Busprotokoll zum ansteuern. Adressen, Format frei definierbar dank Softwareprotokoll und äussert robust trotz zig Wetterstationen,... die auch in dem Band unterwegs sind. Laufen meist bis 12V, da kannste alles ranklemmen und hast auch gleich mehr Power als bei den meisten anderen SoC-Teilen. Stromsparsam sind die Dinger auch, ähnlich den SoC im Sleepmodus, nur dass du dort nicht erst Kommandos hinschicken musst, halbgares Libs einsetzen, dich mit den Bugs der Hardware rumplagen, z.T. idiotische Konfig. , halbfertige Doku, halbgare Konfigtools (wie bei Silabs /TI),... Wenns doch ein SoC sein soll dann ein nRF24L01+, der ist auch günstig und noch einfach handlebar, mit ausreichender Konfigurierbarkeit die praxisgerecht ist. Der oben genannte nRF5x ist totaler Overkill und nur rausgeworfenes Geld.
Nimm den nRF24L01P, da kannst du jedem Sender eine Adresse geben, du kommst mit Sichtverbindung auf 100m und wenn du ihn schlafen legst, dann zieht er so gut wie keinen Strom mehr. Ich habe auch nur eine Lib verwendet um ihn anzusteuern. Es gibt diese Module für etwa 6€ im 10er Pack mit einer 2x5 poligen Stiftleiste und normalem Quarz. Ich habe mir auch noch die mini-Version besorgt, da kosten 10 Stück 8,50€ , aber dafür sind die Kontakte einreihig und es wird ein kleiner SMD-Quarz verwendet. Beide senden mit 0dBm = 1mW und unterscheiden sich nicht in der erzielbaren Reichweite. Man kann auch durch das Setzen eines Bits einstellen ob das Modul das Datenpaket nur dumm ein mal übertragen soll oder ob es das mehrfach versuchen soll, wenn die Übertragung nicht geklappt hat.
Matthias S. schrieb: > die Empfänger > erkennen ein Dauersignal im Allgemeinen nicht an, weil sie eine Regelung > haben. Deswegen ja der Vorschlag mit einem robusten Protokoll. Danke für die vielen Ideen. Ich wollte nur mal wissen (ich hab ja so ein Modul noch nicht) was passiert, wenn ich Sender und Empfänger auf den Tisch lege und beim Sender ein Rechteck mit 0,5Hz anlege, wie oben beschrieben - Sollte dann beim Empfänger-Datenbein auch so ein Rechteck rauskommen ( respektive kurze Störungen natürlich) ? Ich muss nicht unbedingt jede Nachricht sicher erkennen, ich kann das gleiche Datenpaket ja auch 10x senden, und wenn > 6x das gleiche ankommt wird's schon passen :-)
Funki schrieb: > was passiert, wenn ich Sender und Empfänger auf den > Tisch lege und beim Sender ein Rechteck mit 0,5Hz anlege, wie oben > beschrieben - Sollte dann beim Empfänger-Datenbein auch so ein Rechteck > rauskommen Im Prinzip ja, aber damit wirst du kein einziges Datum korrekt übertragen können. Kein einziges. Lies nochmal und verstehe. Und wenn du es nicht verstehst, dann glaube es einfach. Matthias S. schrieb: > Du musst unbedingt kodieren.
433 MHz virtual wire https://www.google.de/search?q=virtual+wire&client=firefox-b&source=lnt&tbs=lr:lang_1de&lr=lang_de&sa=X&ved=0ahUKEwj6h-KZzvDVAhVNK1AKHXovAiYQpwUIHw&biw=1173&bih=825
Funki schrieb: > Sollte dann beim Empfänger-Datenbein auch so ein Rechteck > rauskommen Ein sauberes Rechteck wird es nicht sein, aber ankommen wird etwas. Die einfachen Sender brauchen aber meist einige Signalwechsel (On/Off), um in die Gänge zu kommen. 1200 oder 2400Hz sollten möglich sein. Funki schrieb: > Ich muss nicht unbedingt jede Nachricht sicher erkennen, ich kann das > gleiche Datenpaket ja auch 10x senden, und wenn > 6x das gleiche ankommt > wird's schon passen :-) Ich würde jeden Sender alle 5 oder 10 Minuten sein Datenpaket 2-3mal hintereinander senden lassen, dann wird wohl eines pro Stunde sauber ankommen. Jedes Datenpaket mit Kennung, Sendernummer und CRC. Je nach Umgebung solltest du nicht nur mit "kurzen Störungen", sondern auch mit fremden Datenpaketen rechnen.
Hi Bis fast in den Sekundenbereich werden diese Rechteck-Signale genau so am anderen Ende ankommen. Davor/dahinter wird der Empfänger 'Müll' ausgeben, da Er eben genau Das empfängt. Dafür gibt es die ICs PT2262 PT2272 (L oder M) Damit kann man einige Bits parallel übertragen und Diese kommen so auch am anderen Ende an. Unterschied zwischen der L bzw. M Variante - EIne hält den Ausgang so lange high, wie das Signal anliegt, die Andere schaltet das Muster auf Dauer. Bisher aber auch nur mit 'gespielt' - dabei wurden auch die Zeiten ermittelt, Die man maximal brauchen darf, bevor das Funksignal 'abreißt'. MfG
Diopter . schrieb: > Die einfachen Sender brauchen aber meist einige Signalwechsel (On/Off), > um in die Gänge zu kommen. So ein Käse. Beschäftige dich erst mal mit diesen "einfachen Sendern" damit du weisst was du da für völlig falsche Informationen lieferst.
Mit "einfachen Sendern" meinte ich diese: Matthias S. schrieb: > Ebay-Artikel Nr. https://www.mikrocontroller.net/link/ebay/201312653471 Bei denen trifft meine Aussage definitiv zu.
Arduinoquäler schrieb: > Diopter . schrieb: >> Die einfachen Sender brauchen aber meist einige Signalwechsel (On/Off), >> um in die Gänge zu kommen. > > So ein Käse. Er hat schon recht damit, das steht auch in so ziemlich jedem Datenblatt für Funkmodule. Das wurde dort mit ins Übertragungsprotokoll mit aufgenommen. Man sendet am Anfang der Verbindung 0x55 oder eben 0xAA um diese Signalwechsel (Low/High) zu bekommen. Der Empfänger kann sich damit irgend wie auf den Sender einpegeln.
Beitrag #5122007 wurde von einem Moderator gelöscht.
Funki schrieb: > ich hab ja so ein Modul noch nicht Du brauchst solch ein primitives Modul auch gar nicht zu kaufen. Die kosten doch bestimmt mehr als 60 Cent pro Stück und die Übertragung der Daten ist mit solch einem nRF Modul sehr einfach und man muss sich nicht sonderlich Mühe geben um fehlerhaft übertragene Pakete zu erkennen. Hier sind die Bilder im Größenvergleich: https://www.mikrocontroller.net/attachment/261631/nRF24L01P_sd_mini_normal.jpg Links mikro-SD-Karte, mittig das mini-Modul, rechts das normale Modul. Also wenn du es einfach, billig und komfortabel willst, dann nimm das nRF-Modul.
Funki schrieb: > Ich wollte nur mal wissen ... was passiert, wenn ich Sender und > Empfänger auf den Tisch lege und beim Sender ein Rechteck mit 0,5Hz > anlege, wie oben beschrieben - Sollte dann beim Empfänger-Datenbein > auch so ein Rechteck rauskommen ( respektive kurze Störungen natürlich) ? Das ist nicht das Problem. Erhebliche Probleme kann dir das Signal bereiten, dass aus dem Empfänger raus kommt, wenn dein Sender schweigt. Das kann wirres Zeug (Rauschen der Welt), der Zoo von Wetterstationen in deine Umgebung oder das Schaltsteckdosensteuersignal deines Nachbarn sein.
Arduinoquäler schrieb: > Diopter . schrieb: >> Die einfachen Sender brauchen aber meist einige Signalwechsel (On/Off), >> um in die Gänge zu kommen. > > So ein Käse. Naja nun - kleiner Schreibfehler, die Sender brauchen die Signalwechsel natürlich nicht, es sind die Empfänger, die 'in die Gänge' kommen müssen, bzw. synchronisiert werden. Bei den höher integrierten Modulen wie den RFM oder nRF Platinchen muss man sich darum nicht kümmern, wobei die RFMs gerne ein 'Magic' vorangestellt haben wollen (zumindest die RFM01/02 Kombi). Bei den ganz einfachen Platinen macht man alles selber, wie z.B. mit 0x55, wie o.a. Die 'Virtual Wire' Bibliothek wurde ja nun schon öfter erwähnt und scheint für die Arduinos eine brauchbare Lösung zu sein.
:
Bearbeitet durch User
Ich würde auch auf 433 MHz gehen. Wir setzen in der Firma diverse Geräte in dem Band ein und die haben sich auch im industriellen Umfeld mit vielen Störquellen als sehr robust herausgestellt.
André R. schrieb: > Ich würde auch auf 433 MHz gehen. Wir setzen in der Firma diverse Geräte > in dem Band ein und die haben sich auch im industriellen Umfeld mit > vielen Störquellen als sehr robust herausgestellt. Die Robustheit der Übertragung hat doch nichts mit dem Frequenzband zu tun. Auf 868MHz oder anderen Bändern ist die Übertragung genauso gut. Die Robustheit der Übertragung ist ganz wesentlich eine Frage des verwendeten Übertragunsprotokolls. Die Frequenz wirkt sich eher auf die Antennengröße und die Ausbreitung bei Hindernissen in der Funkstrecke aus.
André R. schrieb: > im industriellen Umfeld Gerade da würde ich allerdings eher auf 868MHz setzen - je nachdem, ob man mit den Sendebeschränkungen dort klarkommt. Kleine Antennen und deutlich weniger Konkurrenz auf diesem Band - vor allem meine Funkfreunde mit ihren starken Sendern sind dort nicht aktiv. Ich kann mit meinem alten Kenwood TH-41 Handfunkgerät und 150mW Sendeleistung jeden Funkschlüssel eines Kfz im Umkreis von dutzenden von Metern lahmlegen, wenn ich wollte. Schalte ich auf 1,5W Output, gehts auch ein paar hundert Meter weit.
:
Bearbeitet durch User
Matthias S. schrieb: > Ebay-Artikel Nr. 201312653471 > > Solche Angebote gibt es zu Dutzenden, ich habe einfach mal das erste > rausgesucht. Natürlich würdest du nur einen Empfänger benötigen, dem ich > persönlich dann allerdings eine bessere Antenne verpassen würde. Die Sender sind ok. 12V dran, dann gibts auch ordentlich Reichweite. Die Empfänger sind unter aller Sau. Viel zu breitbandig. Die hören sogar, wenn beim Nachbarn eine Gießkanne umfällt. z.B. die RXB12 Superheterodyne sind da viel besser
Matthias S. schrieb: > André R. schrieb: >> im industriellen Umfeld > > Gerade da würde ich allerdings eher auf 868MHz setzen Sind fertig gekaufte Komponenten. Daher haben wir leider keinen Einfluss auf die gewählte Frequenz. Wollte lediglich damit ausdrücken, dass das Ganze bei uns gut funktioniert.
Wolfgang schrieb: > Die Robustheit der Übertragung hat doch nichts mit dem Frequenzband zu > tun. Genauso ist das. Das Problem ist halt nur, dass in gewissen Frequenzbändern auf Grund der vielfachen konkurrierenden Nutzung mehr Robustheit erforderlich ist als in anderen. Was natürlich alle Dummen und Faulen glauben läßt, sie hätten mit dem Wechsel auf ein (noch!) weniger frequentiertes Band wirklich den Stein der Weisen und die ultimative Lösung entdeckt...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.