Problème passage à NRF24 PA LNA

Bonjour,

Je demande votre aide car je suis un peu bloqué...

Contexte :
Je fais un petit projet radiocommandé et j'ai commencé à faire mon code avec des NRF24+

(avec adaptateur 5 v -> 3.3 v)
Jusque-là tout va bien. ça marche super bien (en émission comme en réception).

Sauf que j'ai voulu changer les modules par des NRF24 PA LNA (toujours avec adaptateur 5/3.3v) pour plus de portée.

image
(celui du dessus est celui qui pose problème et le petit en dessous marche très bien)

Spécifications techniques de mon projet :
Je suis avec 2 Arduino mega 2560
les modules sont sur le canal 125 pour limiter les inférences avec la Wifi.
PA Level au max et vitesse de transmission à 250kb/s
Les antennes sont à 10cm l'une de l'autre.

Problème :
Une fois les PA LNA mis la connexion ce fait que dans un sens, la carte n°1 envoie, la 2eme reçois par moment (la connexion se fait par moment mais très peu souvent) mais jamais dans l'autre sens...
Sauf si je débranche le pin CE, la carte 1 reçois mais n'envoie plus (normal car il me semble que le pin CE sert à passer de RX à TX).

J'ai essayé pas mal de choses :
-Échanger les modules de cartes pour voir si le problème est différent => ça ne change rien.

-Utiliser un autre source d'alimentation que le port USB du PC. J'ai essayé une batterie externe et une alim en 9V sur le jack => Pas de différence

-Alimenter adaptateur en 5V depuis une alimentation stabilisée externe pour être sûr de ne pas sous alimenter le module. => Pas de différence non plus

-Changer de canal de transmission => Toujours pareils

-Changé de PA level (min ou max) =>Devinez... toujours pas mieux

Je ne peux pas vous mettre tout mon code mais je vous mets au moins l'initialisation, le setup de chaque carte et le code pour la transmission / réception.

Carte Mega n°1 :

initialisation :

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(40, 41); // CE, CSN
const byte addresses[][6] = {"00001", "00002"};

Setup :

radio.begin();
    radio.setChannel(125);
    radio.openWritingPipe(addresses[1]); // 00001
    radio.openReadingPipe(1, addresses[0]); // 00002
    radio.setPALevel(RF24_PA_MAX);
    radio.setDataRate(RF24_250KBPS);

Main :

delay(5);
  /****************[ EMIT ]***************************/
  radio.stopListening();
  TX();
  /**************************************************/
  delay(5);
  /**************[RECEPTION]************************/
  radio.startListening();
  RX();

Carte Mega n°2 :

Initialisation :

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(7, 8); // CE, CSN
const byte addresses[][6] = {"00001", "00002"};

Setup :

radio.begin();
  radio.setChannel(125);
  radio.openWritingPipe(addresses[0]); // 00001
  radio.openReadingPipe(1, addresses[1]); // 00002
  radio.setPALevel(RF24_PA_MAX);
  radio.setDataRate(RF24_250KBPS);

Main :

  delay(5);
  /**********[RECEPTION]***********************/
  radio.startListening();
  reception();
   /********************************************/
    delay(5);
   /****************[EMIT]**********************/
   radio.stopListening();
   emitting();

Voilà j'espère que vous pourrez m'aider et qu'il y a suffisamment d'info.
Merci :slight_smile:

Le récepteur peut potentiellement être saturé, même avec un PA level au mini, y compris avec des NRF24L01 avec antenne imprimée.

Les NRF avec les antennes imprimées marchent sans soucis mais pas avec les module à antennes bâtons. Du coup c'est pour ça que je bloque, car le problème survient uniquement avec les module à antennes externe...

Bonjour
Tu peux faire une/des "bonnes photos de TON NRF24 PA LNA
certains ici se sont fait avoir en croyant commander du nrf24 LNA+PA alors qu'en réalité c'etait
simplement du nrf24 avec une embase SMA (ni LNA ni PA)

@midou_mc
Je crois que tu n'as pas compris le sens de ma remarque. Je parlais de la distance de 10cm.
C'est trop peu.

Ha pardon :pray: au temps pour moi.

J'ai essayé à environ 5m pas de différence.

Pas de soucis :

Voici mon module,

un puce est :

> at2401c

l'autre est :

> nrf24l01+
> 2106AH

Essaie ceci, pour vérifier la liaison SPI :
https://riton-duino.blogspot.com/2018/08/le-nrf24l01-avec-arduino-uno-nano-et.html
Paragraphe 4. Dépannage

çà semble OK pour un LNA +PA

En tous cas ça ressemble à ce que j'ai.

J'ai essayé et la communication Time Out dans les 2 sens.

Radio connected: YES
RF24/examples/GettingStarted
Which radio is this? Enter '0' or '1'. Defaults to '0'
radioNumber = 0
*** PRESS 'T' to begin transmitting to the other node
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out

Radio connected: YES
RF24/examples/GettingStarted
Which radio is this? Enter '0' or '1'. Defaults to '0'
radioNumber = 1
*** PRESS 'T' to begin transmitting to the other node
*** CHANGING TO TRANSMIT ROLE -- PRESS 'R' TO SWITCH BACK
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out
Transmission failed or timed out

As-tu essayé la manip #8 ?

J'ai suivis ce qu'il y a de marqué dans 4.Dépannage.
Je ne vois pas de quelle manipe vous parler car il n'y a pas de #8....

Bonsoir

#8 est le message #8 de ce fil de discussion,
Ce message est #14

1 Like

Oui, et puis ?

Hé bien comme je l'ai marqué dans la réponse #11 les +PA+LNA time out mais sont bien reconnu.

OK. Je n'avais pas noté. Donc côté SPI c'est OK.

Pas de soucis.
Oui effectivement… Du coup j'ai d'autant plus de mal à résoudre le problèmes car je n'arrive pas à trouver d'où ça viens.

Difficile à dire.
Dans mon habitation j'ai un NRF24L01 PA+LNA sur une passerelle MYSENSORS, et des capteurs MYSENSORS avec des NRF24L01 à antenne imprimée, à des distances variant entre 2m et 8m.
8m est la limite (1 mur de pierre de 40cm à traverser), mais ça marche pas mal.
As-tu essayé de panacher, faire communiquer un NRF24L01 PA+LNA avec un NRF24L01 à antenne imprimée ?

Oui j'ai essayé de de mixer les deux.
Parfois ça marche et des fois non...