Hi Leute !!!
Zur Übermittlung der Information "Briefkasten voll" bzw. "Briefkasten
geleert" bin ich gerade dabei, mir ein Sender-/ Empfängersystem zu
basteln. Der Sender im Briefkasten am Gartenzaun soll dabei die Daten an
den ca. 30 Meter entfernten Empfänger im Haus übertragen, welcher dann
wiederum mit einer blinkenden LED den Posteingang signalisiert. Also
keine allzu komplizierte Geschichte soweit.
Als Funkmodul nutze ich dabei den nRF24L01+ Transceiver (Nordic
Semiconductor), welcher jeweils von einem ATTiny44A gesteuert wird. Laut
Produktbeschreibung kommt man damit bis zu 100 Meter weit, mehr als
genug also für meine Anwendung, dachte ich zumindest. Bereits meine
ersten Tests brachten dann nämlich die große Ernüchterung. Im Haus komme
ich so auf ca. 6 Meter ohne großartigen Datenverlust, was ja schon nicht
wirklich berauschend ist. Sobald ich allerdings den Wohnraum verlasse
und mich in Richtung Briefkasten bewege, kommt überhaupt keine
Verbindung mehr zustande. Ein Frequenzwechsel brachte leider auch keine
Besserung. Blieb also nur noch eine niedrigere Datenrate, also 1 Mbps
oder 250 kbps, wobei letztere ja speziell für weite Strecken gedacht ist
und bei etlichen Leuten auch tatsächlich die Reichweite vergrößert hat.
Und da ich sowieso keine riesigen Datenmengen möglichst schnell
verschicken will, sondern um genau zu sein eigentlich nur eine 1 für
"Briefkasten voll" und 0 für "Briefkasten geleert", kann ich auch sehr
gut mit "nur" 250 kbps leben. Umso erstaunter war ich, feststellen zu
müßen, daß bei mir sowohl bei 1 Mbps, also auch mit 250 kbps, überhaupt
keine Übertragung mehr stattfindet, selbst nicht bei einem Abstand von
nur 10 cm.
Testweise hatte ich dann auch mal "Auto Acknowledgement" (ACK)
deaktiviert, was allerdings auch nichts brachte, außer, daß das Ganze
nun plötzlich auch bei 2 Mbps Datenrate nicht mehr funktionierte.
Zusammenfassend muß ich folglich leider feststellen:
> 2 Mbps mit Auto ACK: funktioniert prinzipiell, leider nicht ansatzweise über 30
Meter bis zum Briefkasten
> 2 Mbps ohne Auto ACK: keine Verbindung> 1 Mbps, 250 kbps (mit und ohne Auto ACK): selbst bei minimalem Abstand keine
Verbindung
Tja, jetzt komme ich mit meinem Briefkastenprojekt natürlich erst mal
nicht weiter. Naja und mit den Leistungsdaten kann man die Funkmodule
auch kaum ernsthaft für irgendwelche anderen Anwendungen gebrauchen.
Deshalb jetzt hier meine Frage an Euch: Sind meine nRF24L01+ Transceiver
evtl. defekt, oder hat schon jemand ähnliche Erfahrungen bezüglich der
Datenrate gemacht, und weiß vielleicht, wie sich das Problem lösen läßt?
Daß die angegebenen "100 Meter" utopisch und praktisch wohl kaum zu
erreichen sind, dachte ich mir ja schon fast, aber die 30 Meter bis zum
Briefkasten sollten doch schon drin sein?!
Grüße,
The SphereX
Die 100m gelten für optische Sicht zwischen Sender und Empfänger. Wände
wirken je nach Material mehr oder weniger blockierend. Ich schaffe es
aus dem Keller nur mit Müh und Not in das Erdgeschoss, gerade mal 15m.
Deine Bausteine werde nicht defekt sein. Wieder aus eigener Erfahrung
tippe ich auf Fehler in der Initialisierung. Irgend ein Bit hast du
falsch verstanden.
Ich verwende 1MBps ohne Auto-Ack.
Nur so mit der Stange im Nebel gerührt: Wenn du ohne Auto-Ack arbeitest,
solltest du vor dem send_payload() ein flush_tx_fifo() machen. Sonst
verklemmt sich das Ding.
Gibt ja noch die Variante mit integriertem Verstärker mit angeblich
1000m Reichweite
http://www.ebay.de/itm/400776354264
auch beim Standard nicht zu vernachlässigen eine vernünftige Antenne
kann Wunder wirken, muss aber nicht.
Philipp K. schrieb:> vernünftige Antenne
Schon ein improvisierter Sperrtopf aus einem Stück Koax bewirkt Wunder.
Die Antenne ist immer noch der beste und preiswerteste Verstärker.
@ Georg G.
" ... Ich schaffe es aus dem Keller nur mit Müh und Not in das
Erdgeschoss, gerade mal 15m. ... "
Na immerhin, das ist ja schon mal mehr als das Doppelte meines
Indoor-Maximums. Und zwischen Briefkasten und Empfänger, je nachdem, wo
ich Letzteren schlußendlich stationieren werde, befindet sich auch nur
eine Wand (ca. 25 cm) und ansonsten eigentlich schon freie Sicht (bis
auf ein paar Äste vielleicht).
" ... Irgend ein Bit hast du falsch verstanden. ... "
Das ist natürlich die naheliegendste Vermutung. Deshalb jetzt hier mal
meine Konfiguration für das entsprechende Register RF_SETUP:
> 2 Mbps, 0 dBm: &B00001110> 1 Mbps, 0 dBm: &B00000110> 250 kbps, 0 dBm: &B00100110
Wie gesagt, mit 2 Mbps funktioniert noch alles. Verändere ich am
Programmcode dann nur den Wert für RF_SETUP, setze also entsprechend
RF_DR_HIGH und / oder RF_DR_LOW gemäß Datenblatt anders, kommt keine
Übertragung mehr zustande.
" ... Wenn du ohne Auto-Ack arbeitest, solltest du vor dem
send_payload() ein flush_tx_fifo() machen. ... "
Den Sendepuffer leere ich sicherheitshalber sowieso schon immer vor dem
Senden, als auch mit Auto-ACK.
@ Philipp K.
Ich dachte eigentlich schon, das Ganze irgendwie auch ohne Antenne
hinzukriegen. Selbst unsere Funkklingel schafft die Distanz ja auch
vollkommen problemlos und zuverlässig, und das mit einem popeligen 4 cm
Draht als "Antenne" ;-).
Grüße,
The SphereX
Es gibt vom nRF24l01 etliche Clones, die nicht alle 100% kompatibel
sind, was die Register Belegung angeht. Als Test solltest du mal nach
einem Reset die Register Werte auslesen und mit dem Datenblatt
vergleichen.
Ansonsten siehst du mich ratlos. Ohne weitere Meßtechnik wird das ein
Stochern im Nebel. Die billigste Lösung, die mir einfällt: Den Sender
einer Fernbedienung eines kleinen Quadcopters verwenden. Die sollte es
gebraucht günstig geben, weil von dem Set meist der Copter als erstes
stirbt. Die arbeiten fast durchgängig mit 1MBps ohne Auto-Ack.
Wo wohnst du (PLZ)?
Hallo,
ich habe Anfang des Jahres im Rahmen eines Projekts mit den nrf24L01+
gearbeitet und unter anderem auch mal Versuche zur Reichweite gemacht.
Auf einem Parkplatz mit Sichtverbindung kam ich bei 2 MBit/s und ACK auf
eine Entfernung von ca. 110 m. Danach traten dann vereinzelt
Paketverluste auf. Natürlich hängt die Reichweite von vielen Parametern
ab, aber gernerell schaffen die schon eine gewisse Reichweite. Was dein
Problem betrifft kann ich dir leider nicht wirklich weiterhelfen. Bei
mir gingen aber auch kleinere Datenraten, auch mit deaktiviertem ACK.
Aber wie schon gesagt wurde oftmals sind es irgendwelche Register die
nicht stimmig sind. Ich hatte auch hin und wieder mal Probleme mit'm
Timing, sodass ich mir Testweise mit delays beholfen habe, ohne diese
ist der Chip dann schonmal ausgestiegen.
Sind also ein wenig tricky die Funkchips. Aber wenn es denn dann einmal
läuft, dann eigentlich auch recht zuverlässig.
Viel Erfolg noch!
Ähnliche Probleme plagten mich auch.
Ein 10µF Konni dicht an die Versorgungspins des Moduls brachte Abhilfe.
Von 100m kann ich auch nur träumen.
60m im Freigelände.
Im Haus, ist nach 2 Mauern Schluss.
Das alles bei 1MBPS
Auffällig:
Bei 250MBPS reicht die Zeit für die Ack+Payload Prozedur nicht.
Eine Wartezeit von 4000us zwischen den Retries musste ich im Baustein
setzen um es zuverlässig zu bekommen.
Im Freiland habe ich auch Entfernungen von 100 Metern hinbekommen, wenn
dann aber etwas in der Sichtverbindung steht ist das Signal weg.
Im Haus bin ich eigentlich nur eine Wand weit gekommen.
Das Signal muss an den Wänden reflektiert werden, so dass auf der
anderen Seite noch irgendwie eine Reflektion des Signals ankommt.
Ich kann an meiner nRF24L01+ Funkklingel mal ein Stück Draht als Antenne
anlöten, vielleicht komme ich damit weiter.
Mein Empfänger stand bei meinem Test im Eingang des Hauses und den
Sender hatte ich bis zum Gartentor (Sichtlinie) transportiert, danach
muss ich 5 Meter um die Ecke zur Straße und da war das Signal dann erst
mal weg, aber durch die Reflektion an der Hauswand des Nachbarn konnte
ich dann ein paar Meter weiter wieder etwas empfangen.
Ich übertrage mit 250kbps und 1mW Sendeleistung ohne Acknowledge.
Defekte nRF24L01+ Module:
Die Chips sind manchmal nicht richtig am Zenterpad angelötet, also die
Beinchen des MLF-Chips sind alle verbunden, aber das GND-Pad in der
Mitte des Chips bekommt keine richtige Verbindung zu GND der Platine.
Wenn man durch die Durchkontaktierungen unter dem Chip etwas Flussmittel
fließen lässt und mit Lötzinn diesen Bereich erwärmt, dann funktionieren
diese Module wieder.
Man kann den Lötstoplack dazu auch vorsichtig etwas wegkratzen, bei
älteren Versionen der Platine ist dort auf der Rückseite unter dem Chip
eine verzinnte Fläche, aber das Problem trat bei denen trotzdem auf.
Scheinbar wurden diese Platinen zu kurz im Reflow-ofen verlötet so dass
das Zinn unter dem Chip nicht richtig geschmolzen ist.
Also erst mal noch DANKE Euch allen für die Infos. Der Hinweis von
Ulrich F. schaffte dann auch bei mir Abhilfe. Offensichtlich sind die
nRF24L01+ Transceiver doch recht pingelig, was eine nicht absolut
optimal geglättete Versorgungsspannung angeht, denn nachdem ich die zwei
10 µF Elkos eingesetzt hatte, funktionierte dann endlich auch der 1 Mbps
sowie 250 kbps Modus :-).
Inwiefern mich das jetzt auch näher an meinen Briefkasten heranbringt,
muß ich erst noch testen. Jedenfalls funktionieren jetzt erst mal alle
Betriebsmodi auf Kurzdistanz.
Grüße,
The SphereX
Doofe Frage: Die maximale Sendeleistung ist eingestellt? Ich meine, die
Resetwerte waren auf minimale Sendeleistung eingestellt.
Ansonsten soll ein bischen Antennentuning (Stück Draht) schon enorm
was bringen.
Nee, der Reset-Wert für die Verstärkung ist "RF_PWR = 11" im Register
"RF_SETUP", also Maximalleistung.
Aber wie gesagt, jetzt läuft's ja zumindest auf Kurzdistanz wie
geschmiert, insbesondere nachdem ich dann mit 2,5 GHz auch noch eine
Frequenz außerhalb der WLAN-Spezifikation eingestellt habe. Zum Tuning
der Print-Antenne muß ich entsprechend bei meinen 30 Metern
Zielreichweite dann hoffentlich auch nicht mehr greifen.
Grüße,
The SphereX
Also meinst Du nicht, daß es im Notfall was bringt, wenn ich an die
Print-Antenne einfach mal einen etwas längeren (evtl. gewickelten) Draht
anlöte? Wie gesagt, wenn ich mir das Innenleben unserer Funkklingel so
anschaue, sehe ich da nicht mal eine Print-Antenne, sondern nur einen
ziemlich kurzen und dünnen Draht, der an der Platine angelötet ist. Das
Teil sendet zwar auf 433,92 MHz, aber macht das bezüglich der
notwendigen Antenne so einen großen Unterschied aus? Warum hat man sich
bei den nRF24L01+ Transceivern eigentlich für das 2,4 GHz ISM
entschieden? Vielleicht weil Anwendungen in diesem Band nicht
genehmigungspflichtig sind?
Grüße,
The SphereX
Bei einer Antenne ist (wie so oft im Leben) Länge nicht alles. Wenn du
es nicht schaffst, deine Antenne mit passendem Wellenwiderstand zu
bauen, schlägt sie nur Schaum (bildlich).
Für 433MHz ist die Antennenfrage etwas entspannter, Faktor 4 größere
Toleranz.
433MHz ist total voll mit diversem Müll. Mittlerweile ist aber auch
2.4GHz schon heftig überlaufen. Allerdings kann man hier mit z.B.
Frequenzsprungverfahren noch versuchen, etwas störunempfindlicher zu
werden.
@ The SphereX (Gast)
Bei 2.4GHz wirkt die Strahlung schon fast wie Licht, das bedeutet dass
diese Strahlung (auch bei 200mW im W-Lan Bereich) nicht so weit kommst,
das bedeutet dass du jemanden der hinter einem Haus oder ein paar
Büschen steht nicht mehr mit deinem Signal stören kannst.
Man will aber auch gar nicht so weit kommen, wenn du z.B. deinen Router
so hinstellst dass der Garten und die Etagen im Haus abgedeckt werden
dann ist das okay und vielleicht senkst du auch die maximale
Sendeleistung in der FritzBox weil du nicht willst dass sich irgend
jemand in dein W-Lan einklinken kann auch wenn er sehr weit entfernt
ist.
Es gibt sogar dieses Projekt mit den weißen LEDs, da wird die
Raumbeleuchtung dazu verwendet um mit dem Laptop zu kommunizieren.
Das ist die abgewandelte Form der Infrarot-Kommunikation, nur eben mit
sichtbarem Licht.
Du gehst dann quasi über die Deckenbeleuchtung ins Internet.
Der Grund weshalb man das so macht ist ganz einfach, wenn man in einer
größeren Stadt viele Internetkaffees hat und dann noch tausende
W-Lan-Geräte hinzukommen ist trotzdem der ganze Frequenzbereich
zugemüllt und jeder empfängt nur noch Störungen.
Wenn man normales Licht nutzt dann muss man nur das Rollo runter machen
oder eine dunkle Gardine vorziehen, schon wird keiner mehr gestört und
man hat selbst eine hohe Up-/Downloadrate ... solange man im Licht
bleibt.
Na dann lasse ich mich ganz einfach mal überraschen, ob's jetzt bis zum
Briefkasten reicht.
@ Mike J.
Die LiFi Geschichte klingt ja auch sehr interessant. Hat sich aber wohl
noch nicht so wirklich durchgesetzt.
Grüße,
The SphereX