Forum: Mikrocontroller und Digitale Elektronik NRF24L01: Handauflegen hilft?


von Christian J. (Gast)


Lesenswert?

Hallo,

nur ne schnelle Frage: Ich habe Übertragungsfehler zwischen den beiden 
STM32F1xx Systemen. Das RX Bit wird gesetzt aber die Pipe steht auf 7 (= 
FIFO leer) und die Anzahl empfangener Bytes wird richtig angezeigt, es 
steht aber nur Müll drin.  Das ist schon seltsam, das RX-DS Bit wird nur 
gesetzt, wenn ein gültiger Satz empfangen wurde. Aber die Pipe Nummer 7 
sagt, dass der Fifo leer ist. 90% aller Pakete sind Müll. 10% sind 
richtig. Nach viel Probieren habe ich (vermutlich) den Sender als 
Verursacher ausgemacht. Er sendet echt "Müll" (seltsam, ist CRC8 
abgesichert). aber der kommt irgendwie durch die Empfangsfilter des RX 
Moduls durch. Drücke ich den Daumen auf alle Pins des RF Modul oben am 
Sender ist die Störung weg, die Fehlerrate liegt bei nur noch 5-10%, das 
ist ok. Heh? Wie das?

Die Module mögen überhaupt keinen Rippel auf Vcc, das weiss ich schon 
aber das ist mir neu.

Wie behebt man solche Fehler? Minus noch an PE erden? Abschirmfolie?

Gruss,
Christian

von Patrick W. (pawi777)


Lesenswert?

Hi,

versuche mal einen 10uF Tantal-Kondensator direkt an die Pins des Moduls 
zu löten. Hauptsache viel Kapazität und geringer ESR. Bei mir hat das 
schon geholfen, der Fehler war da aber auf der Empfangsseite.

Gruss und viel Glück,

Patrick

von Philipp K. (philipp_k59)


Lesenswert?

Alle Pins mit Flussmittel nachlöten, anderes Modul ausprobieren. Der 
10uF Elko ist auch Pflicht.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Gerade bei Empfangsmodulen hat sich bei mir eine LC Kombination in der 
Speisung sehr bewährt - es warem zwar RFM01 und keine NRFs, die 
Reichweite stieg aber mit der sauberen Betriebsspannung um das 5-6 fache 
an.
In hartnäckigen Fällen sind auch 33-100 Ohm Widerstände in den 
Datenleitungen hilfreich.

von Christian J. (Gast)


Lesenswert?

Patrick W. schrieb:
> versuche mal einen 10uF Tantal-Kondensator direkt an die Pins des Moduls
> zu löten.

Alles schon dran, habe das halbe Netz durchgelesen :-) Ich schätze mal 
DC/DC Wandler von ebay sind nicht das richtige dafür. Der Empfang vom 
Arduino (Batterie) ist allerdings einwandfrei, sie mucken beim Senden 
zur anderen Station. Ich habe schon zwei Frequenzen ausgesucht, auf der 
einen empfangen, auf der anderen senden, damit sie sich nicht in die 
Quere kommen. LC ist aber ein Tip, mache ich glatt mal. Wieviel uH 
sollen es denn sein? Kleine Kupferspule mit Kern?

Ist aber schon seltsam: Das RX Flag wird empfängerseitig getriggert. 
Also stimmt die Paketadresse mit der eingespeicherten überein. Ich 
benutze Pipe 0 für ACK beim Senden (Pipe 0 = TX Pipe Adresse) und Pipe 1 
als Empfang. Lese ich die Pipe Nr. aus dem Status aus steht 7 drin. 7 
heisst = Fifo ist leer! Die Anzahl Bytes die angeblich empfangen wurden 
stimmt aber. (Dynamic Payload), der FIFO Inhalt aber ist immer 0x40.

>>Alle Pins mit Flussmittel nachlöten, anderes Modul ausprobieren.

Habe 10 Module. Nachgebraten habe ich schon. Kann es sein, dass der uC 
direkt daneben die stört? Vielleicht weiter weg legen?

Was bewirkt meine Hand auf den Pins genau?

von Patrick W. (pawi777)


Lesenswert?

Was genau hast du an den Pins?

Falls du ein Oszilloskop hast, schau dir mal die Versorgungsspannung an. 
Evtl regelt der DC-DC nicht sauber genug.

Der Tipp, mal ein anderes Modul zu testen, ist sicher auch nicht 
schlecht. Waren das zufälligerweise billige Chinakracher?

Evtl hilft es auch, mit den Kanälen noch mehr zu spielen. Schau, dass du 
aus den WIFI-frequenzen raus kommst. Das wären dann glaube ich die 
Kanäle über 100. Ausserdem kann es auch sein, dass die Quarze auf den 
Modulen zu ungenau sind, dann helfen vielleicht unterschiedliche Kanäle 
bei Tx und Rx.

Gruss,

Patrick

von Patrick W. (pawi777)


Lesenswert?

Ist mir gerade in den Sinn gekommen:

Ich hatte mal den merkwürdigen EFffekt, dass so ein Modul nicht recht 
wollte, wenn es nicht geerdet war. Betrieben habe ich es an einem 
billigen Steckernetzteil(SMPS) mit LM1117-3.3 dazwischen. Solange es 
über den AVRICE und den PC geerdet war, lief es super. Sobald ich den 
AVRRICE und somit die Erdung entfernte, ging gar nichts mehr. Leider 
habe ich das damals nicht weiter untersucht. Falls du etwas in die 
Richtung herausfindest, wäre ich dankbar, wenn du deine Erfahrung teilen 
würdest.

Mit deiner Hand bietest du je nach dem auch Erdung, nebst dem Netzwerk 
aus Widerständen und Kapazitäten zwischen allen Pins.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Christian J. schrieb:
> Wieviel uH
> sollen es denn sein? Kleine Kupferspule mit Kern?

Ich nehme so um die 22-100µH und 100nF fürs LC Glied, so wie es z.B. für 
AVCC an den AVRs empfohlen wird.Jede HF Drossel, egal ob radial oder 
axial, sollte klappen.
Ich habe z.B. säckeweise 22µH SMD Drosseln, die dafür gut geeignet sind.

: Bearbeitet durch User
von Christian J. (Gast)


Lesenswert?

Ok,

habe auch noch genug Drosseln aus dem Müllcontainer. Ich werde heute 
abend mal gucken, ob es was bringt den DC/DC raus und durch einen 78xx 
zu ersetzen. Das wäre die erste Massnahme. Dann und die besagte LC 
Kombination, wobei natürlich niemand weiss wie deren 
Dämpfungs-Charakteristik aussehen soll. Und zum Schluss wenn alles nicht 
hilft werde ich ein PE aus der Steckdose ziehen und mit Minus verbinden. 
Und wenn das nicht hilft hole ich die alte Zwille aus dem Schrank und 
beschiesse die Nachbargärten mit den 10 NRF24L01+ Modulen :-)

von Christian J. (Gast)


Angehängte Dateien:

Lesenswert?

@Patrick W.

Eine Erkenntnis kann ich Dir schonmal mitteilen: Das Geld für diese 
Dinger ist rausgeworfen. Stecke ich diese Module an klappt zwar der 
Empfang aber das Senden erzeugt "Probleme". Ich habe an den INT Pins 
immer kleine blaue 3mm LED als Debugger, die an 3.3V mit nur 100uA 
richtig gut leuchten uind die Pins nicht belasten. Der Einsatz dieser 
Module erzeugt bei PTX und PRX ein Glimmen der LED, die Pins flimmern 
richtig. Und nichts geht mehr. Ich habe den Verdacht, dass die Impedanz 
der Antenne überhaupt nicht zum Modul passt, der Chip verhält sich echt 
chaotisch.

Natürlich aus China, originale NRF24L01+ kosten 10$ das Stück und ich 
habe noch nie welche gesehen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Christian J. schrieb:
> Stecke ich diese Module an klappt zwar der
> Empfang aber das Senden erzeugt "Probleme"

Wenn da nicht auf der Unterseite der Module noch Abblockmassnahmen sind, 
wundert mich das nicht wirklich. Rund um den HF-Block sollten sich 
eigentlich sowohl reichlich C als auch die eine oder andere L tummeln.

Christian J. schrieb:
> Ich habe den Verdacht, dass die Impedanz
> der Antenne überhaupt nicht zum Modul passt

Wie lang ist denn die Antenne und für welche Frequenz ist dieses Modul?

von Patrick W. (pawi777)


Lesenswert?

@Christian

Es erstaunt mich, dass du Probleme mit den Modulen hast. Ich verwende 
die(zumindest optisch) gleichen wie du und auch die ohne Verstärker. Mit 
denen ohne hatte ich mehr Probleme als mit den anderen, bis ich Caps 
angelötet habe. Die mit Amp laufen super bei mir, und ich habe nicht 
irgendwelche teure von Adafruit oder sowas sonder die ganz biligen von 
AliExpress.

Ich vermute den Fehler bald im Rest der Schaltung oder im Code. Wenns 
nicht geheim ist, könntest du uns ja mal was darüber verraten?

Oder du hattest einfach furchtbar pech und wirklich eine Ladung 
schlechte Module erhalten.

@Matthias:

Dass die Module zu wenig Kapazität auf der Versorgung haben ist ein 
bekanntes Problem. Die Antennen sollten aber schon passen, das läuft so 
normalerweise sehr gut.

Frequenz ist übrigens 2.4GHz

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Lesenswert?

Christian J. schrieb:
> : Das Geld für diese Dinger ist rausgeworfen. Stecke ich

Habe auch nen Zehnerpack von den normalen und auch die mit Lna.. Habe 
sogar Eine Modellflug Sender/Empfänger Lösung damit gebastelt.. Alles 
Top und bis auf den fehlenden Cap keine Probleme

: Bearbeitet durch User
von Christian J. (Gast)


Angehängte Dateien:

Lesenswert?

Patrick W. schrieb:
> Ich vermute den Fehler bald im Rest der Schaltung oder im Code. Wenns
> nicht geheim ist, könntest du uns ja mal was darüber verraten?

Da ist nicht geheim und Fehler kann man ja wohl kaum machen bei den 
wenigen leitungen. Einfach an die Pins und fertig. Läuft ja beim Arduino 
auch, der in der Butterbrotdose draussen am Baum hängt und mir die 
Temperarur etc misst und rüberfunkt. Seit 14 Tagen schon. Aber kaum eine 
andere Konfiguration und schon geht es nicht mehr.

Also DC/DC Wandler runter bewirkt nichts. Aus dem Labornetzgerät wollen 
sie sie auch nicht.

Hier haste den Code. Oben "Send Payload" macht die Faxen. Die Max72.. 
Datei war zu schnell geklickt, krieg ich aber nicht mehr aus dem Anhang 
raus.

von Steven M. (8023)


Lesenswert?

evtl sind ja einfach level nicht eindeutig, und werden mit dem daumen 
auf ein klareres niveau gezogen...

hab hier auch einen nanoV3 der ohne ein stück esd-schaumstoff in der isp 
leiste keine firmware über usb frisst ^^

von Patrick W. (pawi777)


Lesenswert?

Da dein Arduino ja funktioniert mit diesen Modulen, können sie nicht 
defekt sein. Es muss also an etwas anderem liegen.

Habe ich es richtig verstanden, dass die SPI mit 1.3 MHz läuft? Das 
könnte etwas viel sein. Wenn ich es richtig im Kopf habe, ist das nach 
Datenblatt zwar ok, aber es sind nun mal Fälschungen, die du hast. Falls 
das für diese Fälschungen grenzwertig ist, kann es sein, dass die 
leichte Veränderung im Signalverlauf, hervorgerufen durch die Kapazität 
und den Widerstand deiner Hand, dass ganze doch noch zum laufen bringt. 
Versuche daher mal, sehr langsam zu fahren mit der SPI. 10 KHz oder so. 
Andereseits arbeiten sie bei mir tadellos mit Soft-SPI ohne delays an 
einem xmega mit 64 MHz. (Ich weiss, dass der xmega nur bis 32 MHz 
spezifiziert ist. Läuft trotzdem :P )

Du verwendest Hardware-SPI, richtig? Dass mit der alles i.O. ist, hast 
du kontrolliert, nehme ich an. Testweise könnte man mal Software-SPI 
probieren. Ist ja zum Glück sehr einfach.

Ein gutes Bild deines Aufbaus hilft evtl auch etwas. Vielleicht sieht 
jemand was, das als Verursacher deines Problems in Frage kommt.

Weiterhin viel Glück bei der Fehlersuche :)

von Christian J. (Gast)


Lesenswert?

Hi,

die laufen auch bis 5 Mhz gut mit der SPI. Habe grad auf 2,5 Mhz 
hochgetaktet. Nützt aber nicht wirklich viel, die Delays drumherum sind 
größer, in Summe bleibt das gleich. Mit 10Khzz laufen die gar nicht, 
unter 100khz stellen sie den Dienst ein. Ist aber bekannt im Netz.

Sooo..... bruzzel....

Elko + 50 uH bringen leide nix bei beiden Modulen. Spannung ist auch 
glatt sagt der Oszi.

Jetzt werde ich es mit anderen Adressmuster versuchen, denn auch bei 
denen muss man aufpassen....

Wird schon werden...

von Christian J. (Gast)


Lesenswert?

@Patrick:

Also nun ist jeder Schuss ein Treffer :-) Ob es nun die LC Kombination 
ist oder dass ich die Ident Strings mit "magischen Zahlen" gebildet 
habe, statt einfach beliebige zu nehmen weiss ich nicht. Aber seitdem 
ich die Adresse von 1,2,3,4,5 nach 0xc2,0xc2,0xc2,0xc2,0xc2 geändert 
habe läuft es. Ich vermuten dass dieser String nicht ganz beliebig sein 
darf, sondern "Manchester codiert" sein muss.

Supi.. die Musik spielt, die Bits flitzen nur so durch die Wände :-)

von Patrick W. (pawi777)


Lesenswert?

@Christian

Meinst du mit Ident String die Adressen der Module oder einen Teil der 
Payload?

Die Adressen müssen vermulich mehr oder weniger ausgeglichenes 
Verhältnis aus 0 und 1 enthalten, damit der HF Teil nicht arbeiten kann. 
1,2,3,4,5 ist da wohl problematisch, weil in keinem der Bytes mehr als 
zwei Bits gesetzt sind.

Ich vermute mit original Chips gäbe es das Problem nicht. Denn dafür 
gibt es ja die Präambel. Dass die defaults beliebig sind, glaube ich 
aber auch nicht. Dass Datenblatt sagt nur wenig darüber, wie Adressen zu 
wählen sind.

Nur warum Handauflegen irgend etwas hilft, ist mir aber ein grosses 
rätsel :|

Auf jedenfall scheint das Problem ja gelöst und wir haben alle was 
gelernt
:-)

Grüsse und noch viel Spass,

Patrick

von Christian J. (Gast)


Lesenswert?

Patrick W. schrieb:
> Meinst du mit Ident String die Adressen der Module oder einen Teil der
> Payload?

Hi,

ich meine die Adressbtes, 5 Stück für die Pipe. Habe die grad nochmal 
zurück gestellt und da war das Problem wieder da. Könnte man auch dabei 
schreiben, dass man die nicht beliebig wählen kann. Vermutlich war das 
beim Original aber kein Problem, nur eben bei den Fake Chips :-(

von Philipp K. (philipp_k59)


Angehängte Dateien:

Lesenswert?

Schonmal gelesen?

von Christian J. (Gast)


Lesenswert?

Philipp K. schrieb:
> Schonmal gelesen?

Du, ich kenne das Datenblatt auswendig! Das ist aber von NORDIC und 
nicht von "WE-COPY-YOU" China-Mann. Meines Wissens gibt es kein 
Datenblatt der Klon Chips. Und das sind alle in der Bucht.  Und da steht 
auch nicht drüber drin wie die Sequenz beschaffen sein muss.

Aber hier steht genau das was ich vermute:

http://maniacalbits.blogspot.de/2013/04/rf24-addressing-nrf24l01-radios-require.html

von Georg G. (df2au)


Lesenswert?

Christian J. schrieb:
> nicht von "WE-COPY-YOU" China-Mann

Woher kommt bloss diese China Phobie? Gauner gibt es auch in der EU, 
auch renommierte Distis verkaufen ab und an Schrott. Die China Ware ist 
oft keine Kopie sondern stammt vom gleichen Band wie das Original, da 
wurde nur ein wenig extra produziert, merkt ja keiner.
Kopieren ist bei uns extrem böse, wurde uns so von den USA eingeredet. 
In China ist Kopieren eine Art Ehrerbietung, zeigt die Wertschätzung.

von Johann L. (radiostar)


Lesenswert?

Georg G. schrieb:
> In China ist Kopieren eine Art Ehrerbietung, zeigt die Wertschätzung.

Blödsinn.

von Christian J. (Gast)


Lesenswert?

Georg G. schrieb:
> Kopieren ist bei uns extrem böse, wurde uns so von den USA eingeredet.
> In China ist Kopieren eine Art Ehrerbietung, zeigt die Wertschätzung.

Quatsch!
Kopieren geschützter Waren ist ein Kapital-Verbrechen und gehört 
bestraft, die Verantwortlichen hinter Gitter. Punkt!

Kopiere meine beiden Patente und Du wirst sehen, wieviel "Ehre" Dir 
zuteil wird.

von noreply@noreply.com (Gast)


Lesenswert?

Christian J. schrieb:
> Kopiere meine beiden Patente und Du wirst sehen, wieviel "Ehre" Dir
> zuteil wird.

Deswegen löse ich so ungern in Foren anderen Leute ihre Probleme.

von Georg G. (df2au)


Lesenswert?

Christian J. schrieb:
> Kopieren geschützter Waren ist ein Kapital-Verbrechen

Ist es so schwer zu akzeptieren, dass in unterschiedlichen Kulturen 
unterschiedliche Wertesysteme existieren? Jenseits deines Tellerrandes 
ist auch noch Welt, sehr viel sogar. Warum muss die gesamte Welt nach 
unserer Fasson seelig werden?

von Christian J. (Gast)


Lesenswert?

Georg G. schrieb:
> Ist es so schwer zu akzeptieren, dass in unterschiedlichen Kulturen
> unterschiedliche Wertesysteme existieren?

Korekt! JENSEITS unserer Grenzen. Hier gilt unser Wertesystem, für jeden 
verbindlich und das betrifft auch das Urheberrecht. Und darüber 
diskutiere ich auch nicht, das steht auch nicht zur Disposition. Und 
dass die halbe Welt uns derzeit nach ihrer Fasson beglücken will sieht 
man jeden Tag in der Presse, hatten wir in Köln und anderswo.

von Moral (Gast)


Lesenswert?

Christian J. schrieb:
> Hier gilt unser Wertesystem, für jeden
> verbindlich und das betrifft auch das Urheberrecht. Und darüber
> diskutiere ich auch nicht, das steht auch nicht zur Disposition.

Das hindert Dich aber nicht daran, die billigen, unter Umgehung 
sämtlicher Urheberrechte hergestellten Chinakopien anstatt der 
10$-Originale DIESSEITS unserer Grenzen extensiv zu nutzen ... nettes 
Rechtsverständnis.

von S. R. (svenska)


Lesenswert?

Christian J. schrieb:
> Philipp K. schrieb:
>> Schonmal gelesen?
> Du, ich kenne das Datenblatt auswendig!

Leider hast du mal wieder eine andere Frage beantwortet, nicht die 
gestellte.

Christian J. schrieb:
> Kopiere meine beiden Patente und Du wirst sehen, wieviel "Ehre" Dir
> zuteil wird.

Irgendwie bekomme ich bei deinen Posts - also einer großartigen Mischung 
aus Unwissenheit und Ignoranz regelmäßig die Hoffnung, dass die Chinesen 
genau das tun und du dagegen nichts tun kannst.

Christian J. schrieb:
> Georg G. schrieb:
>> Ist es so schwer zu akzeptieren, dass in unterschiedlichen Kulturen
>> unterschiedliche Wertesysteme existieren?
> Korekt! JENSEITS unserer Grenzen. Hier gilt unser Wertesystem, für jeden
> verbindlich und das betrifft auch das Urheberrecht.

Dann solltest du die Finger von allen in China gefertigten Produkten 
lassen, sofern du nicht zweifelsfrei feststellen kannst, dass sie nicht 
kopiert (oder auf unredlicher Basis entwickelt) wurden.

In deiner Welt macht sich der Distributor nämlich offensichtlich der 
Hehlerei strafbar (Geld- oder Freiheitsstrafe bis 5 Jahre), und da du 
das Risiko, Hehlerware zu kaufen, mindestens akzeptierst 
(Eventualvorsatz), machst du dich ebenfalls strafbar.

Also solltest du chinesische Waren meiden, dann hast du auch keine 
Probleme mit Minderqualität mehr. Denn nur deutsche Industrieprodukte 
sind gut (oder so ähnlich...), richtig?

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
Noch kein Account? Hier anmelden.