NRF24 mise en veille

Bonjour,

Je souhaite tester la communication avec NRF24L.

Ma principale question concerne les économies d’énergie.

Comment puis-je émettre à intervalles régulier? Par exemple, si je veux émettre toutes les 30 minutes, comment puis-je faire ca?

Côté récepteur, est-il possible lui aussi de le mettre en veille ? Mais si c’est le cas, comment faire pour le synchroniser pour qu’il se réveille au moment où l’émetteur va transmettre ?

Merci d’avance.

il y a des exemples en ligne comme https://www.electronicsforu.com/electronics-projects/ultra-low-power-sensor-hub-using-nrf24l01

Non, comme tous les modules récepteurs, WIFI compris, il faut qu'il soit éveillé pour pouvoir recevoir.

il existe des radios comme le HC-12 qui en mode FU-2 ne vont pas consommer grand chose

bien sûr cela se fait au dépend du débit.

mais ça peut servir à réveiller l'arduino par une interruption sur le port série et ensuite passer dans un mode plus "consommateur" mais plus rapide avant de se rendormir

Intéressant ...

Serait-il possible d'après vous de :

  1. Emettre un signal tant que l'emetteur n'a pas confirmation de reception depuis le recepteur
  2. Lorsque le recepteur recoit le signal, il confirme la bonne reception à l'emetteur puis il se met en veille
  3. L'emetteur recoit la confirmation de reception du signal et se met en veille.

30 minutes plus tard, l'emetteur doit transmettre. Il se reveille et emmet jusqu'à recevoir la confirmation de reception.

Pensez-vous que ça soit possible ?

Merci beaucoup.

c'est envisageable mais vous allez consommer pas mal en répétant les émissions jusqu'à obtenir une réponse

Oui, cela s'appelle une synchronisation. Il vaudrait mieux que le récepteur se réveille un peu avant le délai de 30 minutes. Attention, les oscillateurs des cartes ARDUINO sont peu précis.

Par ailleurs, un ARDUINO est capable de s'endormir pendant 8 secondes maxi. Il faudra donc l'endormir X fois 8 secondes.

Merci beaucoup.
Justement, compte tenu du fait que mon recepteur et mon emetteur sont discociés, comment être certain qu'il ne vont pas se décaller dans le temps ?

ils peuvent se 'recaller' lors de la discussion - il n'y aura pas de grand décalage sur l'horloge en 30 minutes

J'ai déjà constaté une dérive : 2 minutes sur 48 heures, donc 2.5 secondes par heure.
C'est pour cela que je disais que le récepteur devait se réveiller un peu avant.

oui avoir un petit intervalle autour de l'heure prévue ce serait bien. écouter consomme moins qu'émettre généralement donc ça devrait aussi optimiser la durée de vie des batteries

Bonjour, je viens de regarder ton lien et c’est assez fastidieux :sweat_smile:.
Je comprends que ca soit le meilleur moyen pour réduire la consommation d’énergie mais il faut refaire une PCB…

Concernant la partie programmation, je n’ai pas vu le code du projet? Est-ce que je suis passé à côté ?

Merci :pray:t2:

Vous avez déjà fait un PCB?

Bonjour,
Je sais rooter sur des logiciels comme Proteus.
Je sais réaliser des pseudo circuits imprimés sur des platines d’essais en créant mes pistes avec du fil soudé à plat.

Mais je n’ai jamais réalisé de circuit imprimé en pratiquant l’insoleuse et les produits chimiques.

J’ai peur d’investir du temps pour un résultat inexploitable…

Pourquoi votre remarque sur refaire un PCB alors ?

L'ATMEGA328 du projet en question peut être remplacé par une PRO MINI 8MHz bien bidouillée.
Le code : Download source code, vers le bas de la page.

Merci beaucoup.
Étant débutant en arduino j’avoue que j’hésite à me lancer…

D’après vous, sans aucune modification matérielle, quelle serait la durée de vie de 3 piles 1.5V pour alimenter un arduino nano + un module NRF24L?
Si on part du principe que je vais mettre en veille le processeur pour 8 secondes tant qu'il n’y a pas besoin d’émettre?

C’est juste une estimation que je cherche.

Ca va tenir quelques heures ? Quelques semaines ?

Merci d’avance.

Une NANO consomme 7.5mA en veille, plus qu'une PRO MINI 8MHz éveillée (5.6mA).

D'autre part, des batteries NIMH rechargeables seraient préférables.
Sans compter l'énergie nécessaire à l'émission (on ne connait pas le temps d'émission) :
Autonomie = 2000mAH / 7.5mA = 266H

Avec une PRO MINI modifiée consommerait 1.5µA. Fais le calcul.

Et on n'a pas parlé du convertisseur haute tension, qui à mon avis sera le plus gros consommateur.

De nos jours faire imprimer ses PCB coute moins de 10€ les 5.
Effectivement investir du temps là dedans est à réfléchir.

Ta phrase est ambiguë, tu met ton processeur en veille toutes les 8 secondes, mais tu le réveilles toutes les combiens de secondes ??
Je suppose que tu veux dire que tu le met en veille pendant 8 secondes?

Personnellement je ne pourrais malheureusement pas t'aider, n'ayant aucune idée de la consommation des modules RF en réception/émission dans leur différent mode.
Mais @J-M-L t'a donné une documentation intéressante