Guten Abend, für mein kleines Wireless Mesh Network verwende ich die NRF24L01+ Module. Dafür habe ich zehn Stück aus China bestellt gehabt. Diese funktionieren wunderbar. Da ich nun aber eine größere Strecke innerhalb des Mesh Networks überbrücken wollte, habe ich zwei NRF24L01+ PA LA Module bestellt und wollte diese ebenfalls mit einbinden. Mein Gedanke war, dass sich diese Module exakt so wie die NRF24L01+ ohne PA/LNA verhalten und einfach ersetzt werden können. Nun komme ich zu meinem Problem. Vielleicht wisst ihr ja weiter und könnt mir helfen: Die Kommunikation zwischen zwei Modulen der gleichen Art (entweder zwei Module ohne PA/LNA oder zwei mit PA/LNA) funktioniert wunderbar. Jedoch bei der Kommunikation zwischen zwei Modulen unterschiedlicher Art wird das auto ACK nicht gesendet. :-( Um einen Software oder anderen Hardwarefehler auszuschließen habe ich bei gleichbleibenden Restaufbau nur die Module vertauscht. So z.B.: Controller A ohne PA/LNA und Controller B ohne PA/LNA: AACK funktioniert Controller A mit PA/LNA und Controller B mit PA/LNA: AACK funktioniert Controller A/B mit PA/LNA und Controller A/B ohne PA/LNA: AACK funktioniert nicht (TX_DS bleibt 0) Die Daten, die sich im Payload befinden, kommen jedoch an. Welche weiteren Informationen werden benötigt? Die Module sind auf 250kbps konfiguriert, sodass es sich beides mal um das Plus-Modul handeln sollte. Vielleicht suche ich auch an einer ganz falschen Stelle? Leider fällt mir keine Lösungsidee mehr ein. Hoffentlich euch! Viele Grüße Robin
Bei mir hat das nRF24L01+ ohne PA+LNA problemlos mit dem mit PA+LAN komuniziert.
Auf was hast du ARD stehen? Muss bei 250 kbps > 500µs sein. Ggf. kann durch den zusätzlichen PA/LNA eine weitere Verzögerung dazu kommen (da diese ja auch umgeschaltet werden RX/TX)
Timmo H. schrieb: > Auf was hast du ARD stehen? Wenn du damit "Auto Retransmit Delay" meinst: Nichts bzw. den Reset Wert.
Dann lies mal die Fußnoten dazu:
1 | a. Please take care when setting this parameter. If the ACK payload is more |
2 | than 15 byte in 2Mbps mode the ARD must be 500μS or more, if the ACK payload |
3 | is more than 5byte in 1Mbps mode the ARD must be 500μS or more. In 250kbps |
4 | mode (even when the payload is not in ACK) the ARD must be 500μS or more. |
5 | |
6 | Please see section 7.4.2 on page 33 for more information. |
7 | |
8 | b. This is the time the PTX is waiting for an ACK packet before a retransmit |
9 | is made. The PTX is in RX mode for 250μS (500μS in 250kbps mode) to wait for |
10 | address match. If the address match is detected, it stays in RX mode to the |
11 | end of the packet, unless ARD elapses. Then it goes to standby-II mode for |
12 | the rest of the specified ARD. After the ARD it goes to TX mode and then |
13 | retransmits the packet. |
Ich habe mit ACK aber ohne ACK-Payload gearbeiter. @Timmo H.: Sry für die Verwirrung, ich habe gedacht dass dein erster Post auch vom TO ist, weil ich den Namen anscheinden nicht gelesen habe.
Guten Morgen, erst einmal Danke für die Antworten. ARD habe ich auf 0x8F stehen, also ein delay von 2000µs, was laut Datenblatt ausreicht. Um zu prüfen, ob ein größerer Wert notwendig ist, habe ich soeben das ARD Register bei beiden Controllern auf 0xFF gesetzt. Jedoch wird immer noch kein auto ACK gesendet, sodass ich es wieder rückgängig gemacht habe. Meine Konfiguration nach der Initialisierung sieht nun wie folgt aus. 00:0f 01:3f 02:03 03:03 04:8f 05:15 06:26 07:0e 08:0f 09:00 0x1A: 01 42 42 42 42 0x1B: ff 42 42 42 42 0c:c3 0d:c4 0e:c5 0f:c6 0x10: 01 42 42 42 42 11:20 12:20 13:00 14:00 15:00 16:00 17:11 1c:03 1d:07 Ist in dieser ein Fehler drin? Viele Grüße Robin
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.