Hallo Zusammen,
ich habe eine Platine herstellen lassen, deren Aufgabe es ist, ein
Gewicht zu messen und dieses periodisch per Funk weiter zu senden.
Nun zum Problem:
Wenn das Funkmodul wie vorgesehen direkt aufgesteckt wird, wird nichts
empfangen. Wenn ich den Finger auf die Antenne des NRF24L01+ Moduls
lege, kommt beim Empfänger etwas an.
Weiterhin habe ich versucht, das Modul mit Kabeln an der Platine
anzustecken. Damit funktioniert das ganze, auch in der nähe von der
Platine. (Um abschirmung durch Massefläche der Platine auszuschließen).
Wackelkontakt und Stromversorgung kann ich ausschließen, das Problem
tritt auch bei verlötetem Modul und mit diversen Kondensatoren auf. Das
Funkmodul selbst habe ich auch gegen andere, definitiv funktionierende
getauscht.
Hat jemand eine Idee, was man da tun könnte?
Freundliche Grüße, Valentin
Der NRF24 braucht auf jeden Fall einen Abblock-Kondensator
(Elko 10uF-47uF), besser noch unterstützt durch einen HF-
tauglichen 100nF Kerko. Die "weiche" Stromversorgung durch
Batterie verschlechtert die Stabilitäts-Situation noch mehr.
Eine stabile Versorgung über einen Spannungsregler wäre
sicherlich hilfreich.
Du kennst sicher meine Testaufbauten, so wird's gemacht:
Beitrag "Re: NRF24L01+ test program for Arduino Uno"
Mir fehlt auch noch die Demonstration des Testaufbaus deines
Kommunikationspartners, auch da kann noch viel schief
gegangen sein.
Christian M. schrieb:> Ja ohne Kondensatoren geht gar nichts!> Ausserdem sind die billigen Module alles Fälschungen! Und gehen> bestenfalls ein paar Meter...>> Gruss Chregu
Ich glaube auch, dass diese Module Faelschungen sind. Aber die
Distanzen, die ich erreiche, sind i.O.
Mit den Modulen des TO überbrücke ich ca. 10m (dazwischen 2 Waende).
Meine gehen mit Sichtverbindung nur so 3-4m, Signalstärke ändert fast
nichts.
Ich werde mal mit Originalen probieren. Hoffe die von TME sind original.
Gruss Chregu
Danke für die Antworten.
Das komische ist, dass die Module, wenn sie wie im Bild gezeigt mit
Kabel dazwischen angeschlossen sind, problemlos über 20 Meter mit Wänden
dazwischen überbrücken. Ebenfalls funktioniert das, wann man mit dem
Finger an die PCB-Antenne fasst.
Die Stromversorgung hat bereits 10uF und 100nF direkt am Funkmodul.
Iat davon auszugehen, dass meine Platine zusammen mit Originalen
NRF24L01+ funktioniert?
Wo bekomme ich denn sicher gute?
Valentin Schlegel schrieb:> ich habe eine Platine herstellen lassen
Da hättest du wohl lieber selbst Hand anlegen sollen bzw.
vor Beauftragung mal hier auf uC.net nachfragen sollen
ob alles so richtig ist. Hier gibt es nämlich Leute die
wissen wie man ein Layout richtig macht.
Zu deinem speziellen Layout hätte ich zu bemängeln dass
die Abblock-Kondensatoren wild verstreut auf der Platine
liegen anstatt dem zu stabilisierenden IC nahe zugeordnet
zu sein.
Der Quarz gehört näher an den Prozessor und die Last-
kapazitäten des Quarzes dem Prozessor zugewandt damit die
Leitungslängen und damit die Stromwege kurz bleiben. Wie
kritisch das ist hängt von der verwendeten Frequenz ab
die wir nicht kennen.
Dann stellt sich natürlich noch die Frage wie dein (ver-
mutlich) extern angeschlossender Sensor deine schwächliche
Batterie-Versorgung belastet bzw verkraftet .... wissen
wir nicht da du ja weder Layout noch Schaltplan geliefert
hast.
Bei einer Batterie-Versorgung braucht man auf jeden Fall
einen dickeren Elko als Unterstützung der Stabilisierung,
eher auch noch zusätzlich (wie bereits erwähnt) einen
Spannungsregler der die Versorgungslage sicherer macht.
Danke für die Kritik der Platine, bis auf das Funkmodul läuft sie jedoch
ohne Probleme. Die Kondensatoren, die wild verstreut sind, sind unter
anderem zwischen Stiftleiste und Reset sowie in den Messleitungen der
Wägezelle und müssen so platziert sein. Der Quarz ist dort Platziert,
damit er mit seinem Metallgehäuse weiter weg vom NRF Modul ist.
Die Spannungsversorgung ist stabil und bricht auch beim Messsen der
Wägezelle (über einen HX711 angeschlossen) und beim Senden nicht ein,
sagt zumindest mein Oszi. 10uF und 100nF habe ich direkt am Funkmodul
angelötet (im Bild ist ein anderes Modul zu sehen)
Würde ein Original die Situation verbessern? Wo bekomme ich die?
Valentin Schlegel schrieb:> Die Kondensatoren, die wild verstreut sind, sind unter> anderem zwischen Stiftleiste und Reset sowie in den Messleitungen der> Wägezelle und müssen so platziert sein.
So betrachtet/definiert hat dein Prozessor gar keinen Kondensator.
Valentin Schlegel schrieb:> Der Quarz ist dort Platziert,> damit er mit seinem Metallgehäuse weiter weg vom NRF Modul ist.
Das macht keinen Sinn. Lange Quarz-Leitungen fangen tendenziell
Störungen von aussen ein. Sie stören selbst nach aussen kaum
da der Signalpegel dort klein und die Signalform oberwellen-
arm (da nicht rechteckförmig) ist.
Wenn die Dinger separat getestet problemlos funktionieren ist wohl dein
Design vermurkst.
Ich habe hier schon dutzende verbaut, alle aus China von diversen
Händlern und die funktionieren ausgezeichnet, bin immer wieder
übgerrascht wie weit die Dinger zuverlässig funktionieren.
Als Empfänger kann ich auch die Module mit PA+LNA+externer Antenne
empfehlen, die erhöhen die Reichweite deutlich, da empfange ich auch die
Einfachmodule mit PCB-Antenne durch drei Betongeschossdecken, das geht
wenn man mit dem Standort experimentiert sogar den Einfachmodulen aber
halt nicht so zuverlässig.
Demolition Man schrieb:> Ich habe hier schon dutzende verbaut, alle aus China von diversen> Händlern und die funktionieren ausgezeichnet, bin immer wieder> übgerrascht wie weit die Dinger zuverlässig funktionieren.
Kann ich bestätigen.
Und wenn ich drei bis fünf Euro pro Modul bezahlt habe kann
ich mir nicht vorstellen dass es sich bei meinen um Originale
handelt.
Demolition Man schrieb:> Wenn die Dinger separat getestet problemlos funktionieren ist wohl dein> Design vermurkst.
Wenn ich eine Platine "herstellen lasse" und dann daran messe
dann zweifle ich in solch einem Zusammenhang die Messung selbst
an.
Valentin Schlegel schrieb:> Die Spannungsversorgung ist stabil und bricht auch beim Messsen der> Wägezelle (über einen HX711 angeschlossen) und beim Senden nicht ein,> sagt zumindest mein Oszi.
Störungen auf Spannungsversorgung nachzuweisen ist durchaus
schwierig, insbesondere wenn diese nicht zyklisch auftreten.
Valentin Schlegel schrieb:> Iat davon auszugehen, dass meine Platine zusammen mit Originalen> NRF24L01+ funktioniert?
Nein.
Es ist davon auszugehen dass mit einem soliden Design auch
nicht-originale NRF24L01+ Module einwandfrei funktionieren.
Ich kann mit beim besten Willen nicht vorstellen, dass mein Layout etwas
damit zu tun haben könnte.
Wenn ich das Modul mit 20cm langen Kabeln anschließe, funktioniert es
wie es soll. Ebenso funktioniert mein Breadboard-Aufbau. Diese beiden
Aufbaute sind sicherlich schlechter als meine Platine.
Wenn ich 20cm Kabel dazwischen habe, werden doch viel mehr Störungen
eingestrahlt und die Stromversorgungssituation wird bestimmt auch nicht
besser.
Außerdem frage ich mich, warum es funktioniert, wenn ich den Finger auf
die Antenne lege? Hilft da vielleicht eine Drahtantenne?
Valentin Schlegel schrieb:> Ebenso funktioniert mein Breadboard-Aufbau.
Den du nicht zeigen willst.
Valentin Schlegel schrieb:> Diese beiden> Aufbaute sind sicherlich schlechter als meine Platine.
Ausserdem ist dir (wie uns) nicht klar welcher der beiden
Teilnehmer schlechter bzw problematischer ist. Zum Senden/
Empfangen gehören ja immer zwei. Es können ja auch beide
unzulänglich funktionell sein. Jetzt sage bitte nicht dass
dein Daumentest der Nachweis ist ...
Der Finger ist bei HF-kritischen Problemschaltungen fast
immer hilfreich, es gilt dann die Unzulänglichkeiten der HF-
Schaltung zu eliminieren sodass der Finger nicht mehr er-
forderlich ist.
Valentin Schlegel schrieb:> Wenn ich das Modul mit 20cm langen Kabeln anschließe, funktioniert es> wie es soll.Wie soll es denn funktionieren?
Längere Kabel könnten in diesem Zusammenhang dabei helfen
die HF-Masse (Gegengewicht zu Antenne) zu vergrössern und
somit die Antennen-Eigenschaften zu verbessern.
Valentin Schlegel schrieb:> Iat davon auszugehen, dass meine Platine zusammen mit Originalen> NRF24L01+ funktioniert?
Irgendwo hatte ich mal gelesen, dass die Chinesen beim Kopieren dieses
Chips sich 1:1 an das Datenblatt gehalten haben. Das Datenblatt hatte
aber bei der Beschreibung eines Registers einen Fehler (der beim
naechsten Release korrigiert wurde). Da lief aber die Produktion der
Chinesen bereits hochtourig.
Deshalb funktionieren die Orginale nicht mit denen der Chinesen. Heisst
es.
NRF Testguy schrieb:> Längere Kabel könnten in diesem Zusammenhang dabei helfen> die HF-Masse (Gegengewicht zu Antenne) zu vergrössern und> somit die Antennen-Eigenschaften zu verbessern.
Naja, am HF Teil kann ich ja nichts ändern. Das heißt ja eigentlich,
dass die Module Mist sind, oder?
Hallo,
wenn jetzt noch der Abstand zwischen Antenne und Kuper-Fläche der
Leiterplatte im passend ungünstigen Verhältnis zur Wellenlänge bei
2,4GHz liegt, möchte ich nicht über das Abstrahlverhalten der
nRF-Antenne nachdenken...
Bei mir wäre das Modul mit der Antenne über einer Leiterplattenecke
gelandet und unterhalb der Antenne kein Kuper und möglichst auch keine
Bauteile und Leiterbahnen.
Gruß aus Berlin
Michael
Ich hab mein Modul jetzt mit einer Stiftreihe verlängert und das bringt
schon erhebliche Verbesserung mit sich. Jetzt gehen etwa 5 Meter.
Mit dem gleichen Modul hab ich aber auch schon mehr geschafft. Wenn es
also an der Massefläche liegt, sollte ja eine gewinkelte Buchsenleiste
das Problem lösen können, oder? Damit könnte ich das Funkmodul nach oben
abstehen lassen (wie im Foto gezeigt). Das sollte ja dann helfen?
Hallo,
Valentin Schlegel schrieb:> Mit dem gleichen Modul hab ich aber auch schon mehr geschafft. Wenn es> also an der Massefläche liegt, sollte ja eine gewinkelte Buchsenleiste> das Problem lösen können, oder? Damit könnte ich das Funkmodul nach oben> abstehen lassen (wie im Foto gezeigt). Das sollte ja dann helfen?
mach es so. Wenn die Modulantenne senkrecht über der Platine steht,
dürfte der Einfluß praktisch kaum noch nachweisbar sein.
Gruß aus Berlin
Michael
Habe jetzt auch Module von TME bekommen und getestet.
Unterschied ist fast keiner, auch nur ca. 5m Sichtverbindung. Alle
Kanäle durchprobiert. Die Oberen scheinbar ein bisschen besser.
Bei allen Modulen 10uF und 100nF nachgerüstet.
Auf dem Bild links von TME, rechts aus ebay. Vielleicht interessiert's
ja jemanden, trotz Negativ-Bewerter-Idiot.
Gruss Chregu
Christian M. schrieb:> Unterschied ist fast keiner, auch nur ca. 5m Sichtverbindung.
Wenn du mit den 5 Metern deine Maximalreichweite meinst
dann ist bei dir am Aufbau bzw der übrigen Schaltung
etwas grob faul.
Es sei denn du hast bei dir eine bei um die 2.4 GHz herum
stark versaute Umwelt.
Allerdings fehlen bei dir die Angaben ein paar wichtiger
Parameter wie Baudrate, Acknowledge (enabled) und Retries.
Und die Schaltung und der Aufbau (den die meisten NRF24-
"Meckerer" nicht herzeigen wollen) kann massgeblich über
Störpegel und HF-Eigenschaften mitbestimmen. Da hilft dann
auch das beste Abblock-C-Duo nicht.
Christian M. schrieb:> Unterschied ist fast keiner, auch nur ca. 5m Sichtverbindung.
Wie sieht dein Aufbau aus?
Abstand zu anderen Cu-Flächen, Polarisation Sende-/Empfangsantenne,
andere 2.4GHz Nutzer (WLAN, BT, ...)?
Sender: Mit einem Arduino Pro Micro auf einem Print (Bild), Antenne
schaut über Print raus.
Empfänger: In 3D-gedrucktem Gehäuse ausserhalb eines Aluminiumgehäuses
(Bild), Antenne schaut über Gehäuse raus.
Library ist: https://github.com/TMRh20/RF24
Code Sender:
1
#include<SPI.h>
2
#include<nRF24L01.h>
3
#include<RF24.h>
4
5
RF24radio(7,8);// CE, CSN
6
constbyteaddress[6]="00001";
7
intled=10;
8
int_CSN=8;
9
int_MOSI=11;
10
int_CE=7;
11
int_SCK=13;
12
int_MISO=12;
13
charinputString[10];
14
intzaehler=0;
15
16
voidsetup(){
17
radio.begin();
18
radio.openWritingPipe(address);
19
// PALevelcan be one of four levels:
20
// RF24_PA_MIN, RF24_PA_LOW, RF24_PA_HIGH and RF24_PA_MAX
21
radio.setPALevel(RF24_PA_MAX);
22
radio.setChannel(127);
23
radio.stopListening();
24
Serial.begin(9600);
25
Serial1.begin(9600);
26
// irgendwo stand, dass besser alle Ausgänge
27
// als solche deklariert werden sollen:
28
pinMode(led,OUTPUT);
29
pinMode(_CSN,OUTPUT);
30
pinMode(_MOSI,OUTPUT);
31
pinMode(_CE,OUTPUT);
32
pinMode(_SCK,OUTPUT);
33
}
34
35
voidloop(){
36
37
if(Serial1.available()){// hat die TTL-Schnittstelle Zeichen?
38
digitalWrite(led,HIGH);// LED anzünden
39
charinChar=Serial1.read();// das neue Byte einlesen
40
inputString[zaehler]=inChar;// und an die nächste Position im String
41
zaehler++;// dec(Position)
42
if(inChar=='\n'){// wenn LF (chr$(10) (Enter)
43
inputString[zaehler]='\0';// NULL zum Beenden des Strings
44
Serial1.print(inputString);// an die TTL-Schnittstelle schicken und
45
radio.write(&inputString,sizeof(inputString));
46
zaehler=0;
47
}
48
digitalWrite(led,LOW);// LED auslöscchen
49
}
50
51
}
Code Empfänger:
1
#include<SPI.h>
2
#include<nRF24L01.h>
3
#include<RF24.h>
4
5
#include<Ethernet.h>
6
#include<EthernetUdp.h>
7
8
#include<TimerOne.h>
9
10
bytemac[]={0x00,0xAD,0xBE,0xEF,0xFE,0xED};
11
IPAddressip(192,168,1,99);
12
13
unsignedintlocalPort=23;// local port to listen on
14
15
EthernetUDPUdp;
16
17
charpacketBuffer[24];//buffer to hold incoming packet,
Christian M. schrieb:> Empfänger: In 3D-gedrucktem Gehäuse ausserhalb eines Aluminiumgehäuses> (Bild), Antenne schaut über Gehäuse raus.
Für eine Wellenlänge von 12.5 cm ist das Alu-Gehäuse heftig dicht dran.
Das wird das HF-Feld kräftig verbiegen.
Probier mal mit einem losen Empfänger.
Christian M. schrieb:> radio.setPALevel(RF24_PA_MIN);
PA_MAX
> radio.setChannel(127);
Darfst du auf 2,527 GHz senden?
radio.setDataRate(RF24_250KBPS);
radio.setRetries(15,15);
Funker schrieb:> radio.setDataRate(RF24_250KBPS);> radio.setRetries(15,15);NRF Testguy schrieb:> Allerdings fehlen bei dir die Angaben ein paar wichtiger> Parameter wie Baudrate, Acknowledge (enabled) und Retries.Funker schrieb:> Darfst du auf 2,527 GHz senden?
Honi soit qui mal y pense.
Allerdings könnte es durchaus sein dass manche Chips gerade
an der oberen Frequenzgrenze ein bisschen "schwach auf der
Brust" sind. Vielleicht sind sie dort auch gar nicht
ausgetestet.
Christian M. schrieb:> Sender: Mit einem Arduino Pro Micro auf einem Print (Bild), Antenne> schaut über Print raus.>> Empfänger: In 3D-gedrucktem Gehäuse ausserhalb eines Aluminiumgehäuses> (Bild), Antenne schaut über Gehäuse raus.
Aus diesen Angaben heraus ist zu bemängeln:
- dass es kein Schaltbild gibt
- die Stromversorgung ein elementarer Bestandteil der
Funktionalität einer Schaltung ist (sie fehlt)
- die Schaltungen kein klar definiertes Massepotential haben
(Kettenschaltung verschiedener Teilbaugruppen, wobei die
Massenverhältnisse am Blechgehäuse überhaupt nicht klar sind)
Damit haben solche Schaltungen "Steckbrett-Charakter" mit all
seinen "Vorteilen".