jelopo
Posts: 1601
Joined: Wed Oct 17, 2012 7:53 pm

Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 6:35 am

Bonjour,

Je prototype un récepteur à base de NRF24L01 sur un (vieux) PI1 B qui tourne sous Jessie. Ce PI est dans une armoire plus ou moins métalique, je souhaiterais donc externaliser le module NRF24L01.
Quelle longueur de câble maximum puis-je espérer utiliser pour garder un signal SPI correct ?

Merci.

JumpZero
Posts: 1128
Joined: Thu Mar 28, 2013 7:35 pm
Location: 127.0.0.1

Re: Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 7:44 am

Bjr,
je n'ai pas de réponse directe, j'ai par le passé utilisé des modules NRF24L01 entre un Pi et un arduino, mais des 2 cotés j'utilisait des fils genre "Dupont" d'une dizaine de cm entre le NRF24L01 et le Pi ou l'arduino. Et ça marchait bien.
Je serai donc tenté de te dire le + court possible et de préférence blindé avec le blindage (ou l’écran) à la masse.
Je pense (mais penser ne sert à rien tant que ce n'est pas démontré! Oh) qu'avec un mètre de câble type cat5 ou 6 ça devrait le faire.
A tester
Bon dimanche et bon courage

Edit: de mémoire dans la lib tu peux régler la vitesse du bus SPI, tu peux toujours essayer de la baisser pour + de fiabilité de toute façon ça sera toujours + rapide que la liaison radio du NRF24L01

jelopo
Posts: 1601
Joined: Wed Oct 17, 2012 7:53 pm

Re: Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 7:59 am

Bonjour,

Merci @JumpZero pour ta réponse.

Pour le moment en mode maquette avec des fils Dupont de 20cm ça fonctionne bien.
Je souhaite passer maintenant à l'étape suivante et mettre le NRF24L01 en dehors de l'armoire.
Par contre je n'avais pas trop envie de commencer des tests avec un câble de plusieurs mètres et de couper des petits bouts jusqu'à ce que je retrouve le signal ;)
Au pire, le contournement que j'envisage serait de connecter le NRF24L01 sur un ESP8266 qui transmettrait le signal vers le PI en WIFI. Mais je préfèrerais de loin juste mettre un bout de câble.

A+

ChPr
Posts: 13
Joined: Sat Dec 14, 2019 5:27 pm

Re: Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 11:16 am

Le signaux électriques d'un bus SPI sont du même ordre de grandeur que les signaux qui transitent sur un bus ethernet pour ce qui est de leurs niveaux.

Par contre, d'une manière générale ces signaux ont une fréquence plus faible que ceux du bus ethernet.

Dans ces conditions, en utilisant les mêmes câbles que ceux pour ethernet, je ne vois pas pourquoi on ne pourrait pas en tirer quelques mètres, voire quelques dizaines de mètres.

Cordialement.

Pierre

danjperron
Posts: 3502
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 1:59 pm

Bonjour Pierre,

La différence entre un SPI et la communication ethernet est très différente. Le cable ethernet est en différentiel donc tout bruit provenant de l'extérieur est généré sur la paire de fils donc puisqu'il sont en mode différentiel le bruit s'annule. C'est pour cela que 100M est possible avec un CAT5-e.

Le SPI du Raspberry n'est pas sur un cable avec paire torsadée ce qui entraîne que le bruit engendré par l'extérieur, (RF,WIFI, grille électrique,etc..) , n'est pas annulé. Aussi l'utilisation d'un fil torsadé ajoute un effet capacitif. Augmenter la longueur du fil ajoute aussi un effet capacitif. En plus le Raspberry Pi et le NRF24L01 fonctionne sous 3.3V donc le bruit a plus d'effet qu'un système 5V.

La meilleure méthode est d'utiliser un NRF24L01 avec antenne externe ce qui permet d'installer l'antenne à l'extérieur.

Mais il est possible que tout fonctionne bien surtout si la bande 250KHz est utilisé avec une longueur de fils ~ 1M. j'utiliserai un cable blindé et non de type torsadé semblable au cable CAT5. Un cable de type USB avec blindage peut être. Les fils d'alimentation peuvent être séparés.

ChPr
Posts: 13
Joined: Sat Dec 14, 2019 5:27 pm

Re: Longueur cable NRF24L01 (bus SPI)

Sun Apr 12, 2020 4:37 pm

@ danjperron.

Tu as tout à fait raison. Le SPI ne fonctionne pas en différentiel. Il faut donc que les fils "signaux" soit en mode simple. Les fils d'alim peuvent être, eux, torsadés. Les capacités (de l'ordre de 100 pF/m) vont effectivement créer du couplage et donc limiter la longueur utilisable.

Cordialement.

Pierre

JumpZero
Posts: 1128
Joined: Thu Mar 28, 2013 7:35 pm
Location: 127.0.0.1

Re: Longueur cable NRF24L01 (bus SPI)

Mon Apr 13, 2020 7:24 am

Bjr,
Oui @danjperron a raison la meilleure solution est (si possible) de mettre l'antenne à l'extérieur.
J'ai déjà utilisé ces modules (ce n'est pas un NRF24L01 mais un ESP8266) mais le principe est d'avoir un connecteur sur la carte, un mini cable coax et une antenne.
https://fr.aliexpress.com/item/32829771 ... 6c371Qm0Vu
Il semble que ça existe aussi pour NRF24L01

jelopo
Posts: 1601
Joined: Wed Oct 17, 2012 7:53 pm

[Resolu] Longueur cable NRF24L01 (bus SPI)

Mon Apr 13, 2020 9:01 am

Bonjour,

Effectivement l'idée d'un câble coaxial me plait beaucoup plus que celle de déplacer le module. Je n'y avais pas du tout pensé.
Je vais m'orienter vers cette soluce.

Merci à vous tous.
A+

Return to “Français”