Hallo zusammen,
für einen mobilen Sender möchte ich ein NRF24L01+-Modul an einem
ATmega328p verwenden. Als Spannungsversorgung hatte ich an zwei
AAA-Batterien gedacht, welche per MCP1640 auf 3,3V gehoben werden.
Soweit, so gut.
Wenn ich die Schaltung direkt per Netzteil oder über volle Batterien
versorge (Einspeisung hinter dem MCP1640), bekomme ich auch eine
einigermaßen stabile Verbindung zum Empfänger. Sobald ich jedoch den
Spannungsregler nutze, scheint der Funk stark gestört zu werden. Die
3,3V aus dem Regler habe ich per Oszi geprüft, hier sind keine
Spannungsspitzen/-einbrüche zu sehen. Ich gehe daher davon aus, dass der
Schaltregler mit seiner Arbeitsfrequenz von 500kHz direkt die
Funkverbindung stört (ein HF-Labor habe ich leider nicht zur Verfügung).
Der MCP1640 sitzt auf der Platinenunterseite, das Funkmodul auf der
Oberseite. Die Platine ist mit einer großflächigen Massefläche versehen.
Nun könnten mir ein paar Tipps helfen, wie ich den MCP1640 entkoppeln
könnte bzw. welche (robusteren) Alternativen zur Verfügung stehen. Gegen
den einen oder anderen Hinweis, wie ich das NRF24L01+ auch noch mit ein
wenig mehr Robustheit versehen kann, hätte ich auch wenig einzuwenden...
So long,
Harald
Harald schrieb:> Nun könnten mir ein paar Tipps helfen, wie ich den MCP1640 entkoppeln> könnte
Den Schaltregler mit einem oder zwei L-C-Gliedern (L als
sogenannte Ferrit-Perle, Ferrit-Bead) von der übrigen Schaltung
trennen.
Kann denn der Schaltregler genug Strom liefern?
Schaltregler-Induktivität von übriger Schaltung weit weg und
eventuell mit Blech abschirmen ...
Harald schrieb:> wie ich das NRF24L01+ auch noch mit ein> wenig mehr Robustheit versehen kann, hätte ich auch wenig einzuwenden...
Wenn der NRF24L01 beim Betrieb gepollt wird, kann (muss nicht)
die HF durch den SPI-Datenverkehr gestört werden.
Abhilfe: Pollen vermeiden und IRQ-Leitung nutzen um Ereignisse
zu detektieren.
Harald schrieb:> bekomme ich auch eine> einigermaßen stabile Verbindung zum Empfänger
Für "einigermaßen" siehe auch: Polling vs. IRQ
Harald schrieb:> bekomme ich auch eine> einigermaßen stabile Verbindung zum Empfänger
Die Positionierung des NRF24 innerhalb der gesamten Schaltung
spielt wegen der Antenne auch noch eine wichtige Rolle.
Ideal scheint es zu sein (so werden Layout-Vorschläge gegeben)
den NRF24 "überhängend" am Platinenrand zu platzieren.
hard worker schrieb:> Den Schaltregler mit einem oder zwei L-C-Gliedern (L als> sogenannte Ferrit-Perle, Ferrit-Bead) von der übrigen Schaltung> trennen.> Kann denn der Schaltregler genug Strom liefern?>> Schaltregler-Induktivität von übriger Schaltung weit weg und> eventuell mit Blech abschirmen ...
Du meinst, hinter den Schaltregler noch einen Filter zu hängen? Auf
welche Grenzfrequenz würdest du diesen auslegen? Im Oszi ist auf der
ausgegebenen Spannung eigentlich keine Schwingung zu sehen. Der MCP1640
kann 100mA, der Bedarf liegt in meiner Schaltung bei ca. 20mA. Räumlich
sind Funkmodul und Schaltregler schon in den entgegengesetzten Ecken
untergebracht, Abstand
(mit fliegender Verdrahtung) knapp 25cm.
hard worker schrieb:> Wenn der NRF24L01 beim Betrieb gepollt wird, kann (muss nicht)> die HF durch den SPI-Datenverkehr gestört werden.> Abhilfe: Pollen vermeiden und IRQ-Leitung nutzen um Ereignisse> zu detektieren.
Der IRQ ist schon umgesetzt, Polling ist mir ein Dorn im Auge Der IRQ
ist aber ein gutes Stichwort: Die Datenrückmeldung am Sender wird per
eben IRQ getriggert. Der bleibt aber ab und an aus.
hard worker schrieb:> Ideal scheint es zu sein (so werden Layout-Vorschläge gegeben)> den NRF24 "überhängend" am Platinenrand zu platzieren.
Im aktuellen Aufbau hängt der NRF24L01+ noch an einer Strippe. Ich habe
das Modul auch schon im Betrieb bewegt, macht aber nicht wirklich einen
Unterschied.
Kann die Flugverdrahtung ein Problem sein?
Der einzelne nRF24L01+ Chip hat laut Datenblatt einen
Versorgungsspannungsbereich von 1.9V bis 3.6V.
https://infocenter.nordicsemi.com/pdf/nRF24L01P_PS_v1.0.pdf
Kapitel 4 "Operating conditions", Seite 13
Da würde sich also eine 18650 LiIon-Rundzelle anbieten, die bis 2.5V
herunter geht. Der Step-Up-Regler wäre also für den Funkchip
entbehrlich. Du solltest also das Datenblatt Deines Moduls darauf hin
nochmal überprüfen. Ich kann nicht erraten, ob und was der Chinese da
noch verbaut hat. Und ICs und Module ohne ordentliches Datenblatt kauft
man einfach nicht.
Dein Atmega sollte auch damit laufen, wenn auch mit reduzierter
Taktrate. Ich würde aber etwas zeitgemäßeres einsetzen, wenn es schon
AVR sein muss, z.B. den AtMega4808. Da läuft der Prozessorkern eh nur
noch mit 1.8V, nur der IO-Ring sieht die volle Betriebsspannung, und
deswegen ist der ziemlich unabhängig von der Höhe der
Versorgungsspannung.
fchk
Harald schrieb:> Im aktuellen Aufbau hängt der NRF24L01+ noch an einer Strippe. Ich habe> das Modul auch schon im Betrieb bewegt, macht aber nicht wirklich einen> Unterschied.
Wenn an Strippen, hast du sicherlich(?) keine massiven Abblock-
Kondensatoren direkt am Modul. Das wäre kontra-produktiv.
Die hier
Beitrag "NRF24L01+ test program for Arduino Uno"
gezeigten Abblock-Kondensatoren sollen bei fliegendem Aufbau
sehr nahe am NRF24-Modul positioniert werden.
Harald schrieb:> Kann die Flugverdrahtung ein Problem sein?
Ja, denn die Versorgung wird durch die langen Strippen weich.
Ausserdem fehlt der (gross)flächige stabile Masse-Bezug. Der
herumwabernde Aufbau sorgt mit jedem Millimeter Bewegung neue
andere HF-verhältnisse.
Frank K. schrieb:> Der einzelne nRF24L01+ Chip hat laut Datenblatt einen> Versorgungsspannungsbereich von 1.9V bis 3.6V.
Das ist nur die halbe Wahrheit. Denn die HF-Anteile der
integrierten Schaltung haben mit einer Spannungsschwankung
einen Drift der die Sende-/Empfangsqualität beeinträchtigen
kann. 1.9 Volt mag ok sein, aber sie müssen trotzdem stabil
sein. 3.6 Volt mag ok sein, aber sie müssen trotzdem stabil
sein. Eine Batterie jedoch driftet vor sich hin, a) durch
Entladung und damit einhergehende Spannungsänderung und
b) durch stärkere Spannungsschwankung durch die dauernd
wechselnde Last der Schaltung, speziell des NRF24. Eine
Batterie hat immer einen vergleichsweise hohen Innen-
widerstand der die Spannung deutlich stärker schwanken lässt
als die eines Spannungsreglers.
Harald schrieb:> Im Oszi ist auf der> ausgegebenen Spannung eigentlich keine Schwingung zu sehen.
Auf einer stabilisierten Gleichspannung eine Störung zu
detektieren ist nicht einfach. Denn sie tritt erst auf wenn
eine aussergewöhnliche (meist nichtperiodische) Belastung
auftritt oder sich eine HF-Störung mit niedrigem Pegel
überlagert. Ich habe selten jemand angetroffen der mir
eine solche Störung wirklich durch Messung nachweisen konnte.
Harald schrieb:> Der MCP1640> kann 100mA, der Bedarf liegt in meiner Schaltung bei ca. 20mA.
Der Bedarf liegt beim NRF24 beim Senden deutlich höher.
Bin mir über den Absolutwert auch nicht ganz im Klaren, aber
100mA für die Versorgungsquelle halte ich schon für grenzwertig.
Dann kann man noch ggf. am Aufbau mit dem MCP1640 herummäkeln
(wenn man ihn kennen würde).
Frank K. schrieb:> Ich kann nicht erraten, ob und was der Chinese da> noch verbaut hat. Und ICs und Module ohne ordentliches Datenblatt kauft> man einfach nicht.
Noch ein gutes Stichwort: Natürlich sind die Module aus China. Natürlich
ohne konkrete Typbezeichung auf dem Board oder eine ordentliche Doku.
Der IC ist auf jeden Fall korrekt beschriftet, das macht aber für sich
alleine wenig her und kann auch gefaked sein. Es mag ja dämlich klingen:
Wo kann ich ein "gutes" NRF-Board kaufen? Google etc sind mit den
1€-Chinaboards überflutet...
Frank K. schrieb:> Da würde sich also eine 18650 LiIon-Rundzelle anbieten, die bis 2.5V> herunter geht. Der Step-Up-Regler wäre also für den Funkchip> entbehrlich.
Auch mit den AAA-Batterien kann ich den Apparat recht lange betreiben.
Da ich den ADC des ATmega aber auch i.V.m. einem linearen Hallsensor
verwende, wäre mir die konstante Versorgungsspannung doch ganz recht.
hard worker schrieb:t
> Wenn an Strippen, hast du sicherlich(?) keine massiven Abblock-> Kondensatoren direkt am Modul. Das wäre kontra-produktiv.> Die hier> Beitrag "NRF24L01+ test program for Arduino Uno"> gezeigten Abblock-Kondensatoren sollen bei fliegendem Aufbau> sehr nahe am NRF24-Modul positioniert werden.
Touché! Die Kondensatoren habe ich zwar schon verbaut, aber nicht direkt
am Modul! Das werde ich morgen ändern!
hard worker schrieb:> Ja, denn die Versorgung wird durch die langen Strippen weich.> Ausserdem fehlt der (gross)flächige stabile Masse-Bezug. Der> herumwabernde Aufbau sorgt mit jedem Millimeter Bewegung neue> andere HF-verhältnisse.
Die NRF-Module haben ja eine Leiterbahn-Antenne. Auf dem Antennenteil
der NRF24-PCB ist ja auf TOP nur die Antenne und auf BOT eine
geschlossene Massefläche. Ich hätte angenommen, dass dies genau den
Zweck des Massebezugs haben soll
Der Strombedarf bei Funkmodulen ist normalerweise stark pulsierend. Ich
würde daher den schon angesprochenen LC-Filter verbauen und dann, in der
Nähe des Funkmoduls, ein 220 µF Polymer-Elko verbauen. Polymer-Elkos
haben einen besonders niedrigen ESR, daher kann der Strombedarf des
Funkmoduls daraus gut gedeckt werden.
hard worker schrieb:> Der Bedarf liegt beim NRF24 beim Senden deutlich höher.> Bin mir über den Absolutwert auch nicht ganz im Klaren, aber> 100mA für die Versorgungsquelle halte ich schon für grenzwertig.
Interessant! Alle 15ms bekommt meine Schaltung ein Datenpaket gesendet
(Trigger vom NRF24 an AVR per IRQ), dann antwortet mein Sender. Der Spaß
ist nach 4ms wieder beendet. Dann wartet mein NRF auf die nächste
Anfrage von der Gegenstelle, der IRQ bleibt aber regelmäßig aus.
Kann das an einem zu geringen max. Strom des MCP1640 liegen?
Gerd E. schrieb:> Der Strombedarf bei Funkmodulen ist normalerweise stark pulsierend. Ich> würde daher den schon angesprochenen LC-Filter verbauen und dann, in der> Nähe des Funkmoduls, ein 220 µF Polymer-Elko verbauen. Polymer-Elkos> haben einen besonders niedrigen ESR, daher kann der Strombedarf des> Funkmoduls daraus gut gedeckt werden.
Ich teste morgen verschiedene Kondensatoren am Funkmodul. Einen
100µF-Elko habe ich schon verbaut, aber eben nicht direkt am Modul
Gerd E. schrieb:> und dann, in der> Nähe des Funkmoduls, ein 220 µF Polymer-Elko verbauen. Polymer-Elkos> haben einen besonders niedrigen ESR
Danke für die Bestätigung. Ein zusätzlicher keramischer Kondensator
mit 0.1 bis 1uF sollte trotzdem auf jeden Fall vorhanden sein.
Harald schrieb:> Kann das an einem zu geringen max. Strom des MCP1640 liegen?hard worker schrieb:> 100mA für die Versorgungsquelle halte ich schon für grenzwertig.hard worker schrieb:> Dann kann man noch ggf. am Aufbau mit dem MCP1640 herummäkeln> (wenn man ihn kennen würde).
hard worker schrieb:> hard worker schrieb:>> 100mA für die Versorgungsquelle halte ich schon für grenzwertig.
Das Datenblatt des NRF24L01+ spricht bei maximaler Sendeleistung von
einer Stromaufnahme von 11.3mA und im Empfangsfall von max. 13.5mA.
Können die Spitzen so viel höher liegen?
Harald schrieb:> Das Datenblatt des NRF24L01+ spricht bei maximaler Sendeleistung von> einer Stromaufnahme von 11.3mA
Da soll jetzt drinstehen was mag, unsere Erfahrungen sind andere.
Aus meiner HF-Erfahrung heraus ist die HF-Leistung von einigen
dBm bei 2.4 GHz nicht mit 3.3 Volt und 11mA erreichbar. Irgend-
etwas ist da nicht konsistent.
Ich möchte dich aber nicht mit Gewalt von deiner Schaltung
abbringen. Eine sehr gute Abblockung mag helfen ....
Was sicherlich nicht funktioniert ist eine nackte Batterie
an einem NRF24 ohne Stabilisierung der Spannung.
hard worker schrieb:> Ich möchte dich aber nicht mit Gewalt von deiner Schaltung> abbringen. Eine sehr gute Abblockung mag helfen ....
Ich teste morgen die verschiedenen angesprochenen Konfigurationen.
Harald schrieb:> Ich hätte angenommen, dass dies genau den> Zweck des Massebezugs haben soll
Ich hatte mal einen meiner Aufbauten gepostet, so wie hier
Beitrag "Re: NRF24L01+ Reichweitenproblem"
funktioniert es jedenfalls gut. Bezeichnend ist die "Ablage"
des Moduls von der Platine (die übrige Masse-Verdrahtung reicht
als Masse-Gegengewicht aus) sowie die Kondensatoren nahe am Modul.
Das dort verwendete FT232 Modul liefert sogar die Versorgung
für Controller und NRF24-Modul. Wenn man es richtig macht
kommt man auch mit Bescheidenheit zurecht.
> kommt man auch mit Bescheidenheit zurecht
Aber nicht besonders weit.
Ein CYRF7936 nebst +20 dBm PA schafft im Freifeld
mit einer Chipantenne etwa 1000 m.
... schrieb:> Aber nicht besonders weit.
Meine Aussage war auch nicht auf Reichweite bezogen.
Falls du es nicht verstanden haben solltest: die bescheidene
Stromverorgung durch das FT232 Modul reichte für den NRF24 aus.
> die bescheidene> Stromverorgung durch das FT232 Modul reichte für den NRF24 aus.
So ein CYRF7936 hat auch einen integrierten Powerconditioner.
dem man von 1.8 V bis 3.6 V alles andrehen kann...
solange man es orientlich abblockt.
Aber nuex fuer ungut... Hast gutt gemacht! Schulter klopf!
hard worker schrieb:> so wie hier> Beitrag "Re: NRF24L01+ Reichweitenproblem"> funktioniert es jedenfalls gut.
Im gleichen Thread hat Gerald die Sachlage noch mal aus seiner
Sicht bzw der eines Chip-Herstellers dargestellt. Eine
Verdeutlichung die man bezüglich eigener Verwendung von
Funkmodulen verinnerlichen sollte:
Beitrag "Re: NRF24L01+ Reichweitenproblem"
und folgende.
Heute Vormittag habe ich die von euch vorgeschlagenen Kondensatoren
(10nF + 100nF + 10µF) direkt am NRF-Modul angebracht. Ergebnis: Die
Verbindung ist um Welten stabiler und es ist egal, ob ich die Schaltung
direkt aus dem LNT versorge oder über den MCP1640! Vielen Dank für die
Hilfe!
Jetzt geht's noch daran, die Verbindung von "einigermaßen stabil" nach
"stabil" zu bringen. Dazu gehe ich die Massefläche als Gegenpol zur
Antenne an.
Harald schrieb:> Ergebnis: Die Verbindung ist um Welten stabiler
Danke für deine Rückmeldung. Jetzt hast du am eigenen Leib
erfahren was in diesem Zusammenhang Datenblattwerte zur
Stromaufnahme wert sind.
Ja, das wird wohl irgendwie gemittelt. Die ganze Schaltung nimmt inkl
LED und Co gerade mal 27mA (nach Anzeige am LNT) auf, die Spitzen
scheinen deutlich höher zu liegen.