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
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
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.
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?
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
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.
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.
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 :-)
@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.
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?
@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
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
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.
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 ^^
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 :)
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...
@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 :-)
@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
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 :-(
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
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.
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.
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.
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?
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.
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.
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?