Conception Philoc – Alimentation sur piles – Bilan & Optimisation

Préambule. Etat  du projet

 Démarche

Cet article présente une analyse de la consommation de la balise Philoc, et de son autonomie sur piles, attachée à une première intégration réalisée avec deux balises référencées chez Sigfox avec les identifiants 10D192 et 18AEA2. Il est proposé pour avis et contribution des visiteurs de www.philoc.fr. Il est géré sous le mode de licence CC-BY-SA, comme l’ensemble du site.

L’état actuel est celui en date du 08/12/2017.

Principes attachés à la consommation énergétique

Maintien en mode veille par défaut, pour éviter de solliciter les piles. Réveils épisodiques vers le mode actif.

  • La balise est par défaut en mode veille, avec une consommation résiduelle en mode Deep Sleep mesurée autour de 50 uA pour le module MKRFOX1200 ( CPU SAMD21+circuit Sigfox) et l’accéléromètre. Cela permet de considérer la décharge des piles comme négligeable dans cet état. Quand la balise est active, la consommation mesurée est de l’ordre de 50 mA, partagés entre le module principal et le périphérique GPS, et les piles sont sollicitées. Il faut doncallouer chaque tranche de réveil en mode actif à un calcul de position GPS puis à une transmission Sigfox. Et se replacer tout de suite en veille.
  • Le module GPS ne dispose pas d’un mode veille performant (sous le mA). De ce fait le CPU SAMD21 doit piloter la coupure de son alimentation via une sortie logique reliée à la commande d’un PMOS low drop.
  • Le CPU SAMD21 est réveillé soit périodiquement par une interruption issue de son horloge interne (active en Deep Sleep) – choix de la période : 1 heure, 24 heures, ou autre – ,soit par une interruption fournie par l’accéléromètre, toujours à l’écoute d’un mouvement.On fait en sorte de fixer une période minimum entre deux réveils par l’accéléromètre, afin de préserver les pils et aussi de limiter le nombre de messages Sigfox.  Une période typique se situe entre 5 minutes et 15 minutes. On peut également désactiver l’accéléromètre et ne conserver que le réveil périodique par l’horloge interne.
  • Le logiciel du module GPS intègre des mécanismes qui ont pour objet de faciliter les redémarrages à froid. Pour calculer une position, notre balise dispose d’une boucle d’attente de position dont l’échéance est de 60 secondes. Une boucle suffit en général à fixer la position, mais en condition de réception difficile, on peut enchaîner plusieurs boucles, avec toutefois un échéance, fixée par défaut à 5. Si le module GPS n’a pas pu fixer de position à l’échéance, on abandonne le calcul de position actuel et la balise se replace en mode veille. Les moments de réception difficile, c’est souvent des moments où la balise ne bouge pas. Avec le principe d’un réveil périodique, on accepte de pouvoir perdre une boucle de 5 minutes sans qu’une position soit trransmise au réseau Sigfox. Plus on voudra augmenter la durée de vie des piles, plus il faudra augmenter la période de réveil.

Mécanismes pour la mesure de qualité de service et de la consommation

  • Les  messages Sigfox intègrent les indicateurs de qualité de fonctionnement. Ils pourraient ne pas être transmis sur chaque message, mais l’étalement des octets n’est pas encore nécessaire au stade actuel.
  • Sur chaque message remonté à Sigfox, et donc visible sur le portail, on adjoint aux 8 octets de la position GPS les 4 octets restant disponibles dans le message Sigfox fixé à 12 octets, utilisés comme suit :
    • NumGpsLoop : compteur de boucles GPS pour le calcul d’une position, paramétrable entre 1 et 5, représentatif de la difficulté à calculer une position
    • NumSigfoxMsg : compteur de séquence d’envoi sur le réseau Sigfox, représentatif du taux de perte de messages, ainsi que des moments où ont lieu ces pertes.
    • TotGpsLoop : compteur de boucles GPS depuis l’initialisation d’une balise. Il est une image du nombre de minutes où la balise est active. C’est ce compteur, au format hexadécimal, sur deux octets, qui représente l’autonomie effective d’une balise entre deux changements de piles.

Première intégration (du 20/11/2017 au 08/12/2017)

Schéma de la balise Philoc

 

 

Schéma de la balise Philoc au 20/11/2017

Les balises sont montées dans des boîtiers étanches avec capot transparent, avec suffisamment de place libre et des parties de breadboard  ou de shields disponibles pour la mise en oeuvre des analyses.

Par ailleurs nos moyens de mesure électronique sont à ce jour limités à un multimètre d’entrée de gamme.

Photographie des deux balises utilisées

 

Paramétrage des balises et conditions de test

  • Deux balises sont mises en oeuvre. La première, avec l’identifiant 18AEAE2 est équipée de piles de type AA. La seconde, avec l’identifiant 10D192, est équipée de piles plus grosses de type LR20. On a choisi des piles alcalines d’entrée de gamme vendues en sous marque de distributeur.
  • Le paramétrage des balises vise un vieillissement accéléré pour raisons de test. Le réveil de fond s’effectue toutes les heures, au lieu de 24 heures en nominal. La borne de latence entre deux réveils par l’accéléromètre est fixée à 5 minutes, au lieu de 15 minutes en nominal.
  • On alternera trois états, avec un protocole de répartition qui demandera à être mieux formalisé pour les prochaines intégrations.
    • position fixe en extérieur – calcul GPS aisé
    • position fixe en intérieur – calcul GPS difficile
    • Mouvement pédestre ou automobile.

Résultats

  • La balise 10D180, équipée de piles AA, aura fonctionné 3 jours. TotGpsLoop = 180 , soit 3 heures de fonctionnement effectif cumulé..
  • La balise 18AEA2, équipée de piles LR20, et sans limiteur d’interruptions accéléromètre, aura fonctionné 1 semaine. TotGpsLoop = 550, soit 9 heures de fonctionnement effectif cumulé.

Projetés sur une balise réveillée quotidiennement, et effectuant alors un calcul de position GPS pendant 5 minutes, ces chiffres conduiraient à une autonomie de 36 jours, soit 1 mois pour une balise équipée de piles AA, et de 3 mois pour une balise équipée de piles LR20.

Ce résultat intermédiaire demande à ce que des améliorations soient mises en oeuvre. On pressent que l’arrêt de fonctionnement effectif d’une balise n’est pas consécutif à une décharge profonde des piles. Ainsi, une semaine après son arrêt de fonctionnement, on constate que la balise équipée de piles LR20, bien qu’inactive sur le portail Sigfox, dispose d’un déroulement programme cohérent, même s’il est dans un contexte dégradé, sans remontée de messages sur le portail Sigfox.

Analyse

Quand nous reprenons la balise 18AEA2 après ces deux semaines – 1 semaine en capacité effective et 1 semaine en mode dégradé – nous mesurons une tension de 2.65 Volts sur le bornier MKRFOX1200, et de 2.55 Volts sur l’alimentation GPS, du fait du voltage drop au niveau du PMOS de coupure d’alimentation. Le voltage drop est en l’état très satisfaisant, de l’ordre de 0,1 Volt.

Ce que nous constatons :

  • le CPU SAMD21 fonctionne très bien, on peut téléverser des programmes sans problème, lire des traces sur l’USB . Pourtant la tension d’alimentation se situe hors spécification.
  • Il en est de même pour les interruptions de l’accéléromètre, qui est spécifié comme pouvant fonctionner avec des tensions encore plus basses
  • Le niveau résiduel des piles permet encore de transmettre sur le réseau Sigfox. Les messages arrivent sur le portail, si on déclenche l’émission … sans GPS
  • C’est en fait le module GPS Ublox Neo 6M qui semble à l’origine de la défaillance. Il reste pilotable au niveau de la liaison UART, mais il n’acquitte plus tous les messages de contrôle et aussi il envoie des trames d’état GPTXT sur la ligne de réception de l’UART au lieu d’envoyer du contenu NMEA. Si c’est ce circuit qui est le plus vulnérable à la baisse de tension de son alimentation, il doit aussi supporter en supplément le voltage drop du transistor de coupure d’alimentation …

Avec un niveau de précisions plus élévé :

  • Après une deuxième semaine de décharge la balise 18AEA2 dispose toujours des fonctions de la carte MKRFOX1200 et de l’accéléromètre LIS3DH. La coupure de l’alimentation du circuit GPS fonctionne elle aussi mais le circuit GPS n’émet plus de trame NMEA sur sa ligne RX, et n’acquitte plus certains messages. A la place des trames NMEA, on lit des trames GPTXT qui donnent un statut de type « boot screen », à confirmer. Par ailleurs certaines commandes telles que la sauvegarde restauration des informations en structures non volatiles, ne sont pas ocrrectement acquittées. Il faudra donc investiguer avec les experts de la technologiie U-Blox les effetes de cette défaillance précoce par rapport à celle des autres circuits, avec comme vérification préalable le fiat que l’assemblage du module GPS ne soit pas un résultat de contrefaçon.

Points à résoudre

  • Prise de contact avec les offreurs GPS, pour comprendre les raisons de la défaillance, et disposer d’une confiance plus élevée dans la référence et l’origine du module utilisé
  • Prise de contact avec les offreurs de piles (type Duracell, Varta) pour mieux maîtriser le panel des produits disponibles pour notre besoin
  • Commande et essais de régulateurs à découpage de type Boost switch regulator DC-DC de nature à pouvoir maintenir un niveau de tension idéal 3V / 3.3V par compensation de la décharge des piles.

Par ailleurs le logiciel de la balise a été amélioré pour que les défaillances rencontrées (absence q’acquittement de commande GPS, envoi de message Sigfox , etc …) ne conduisent pas le programme en situation de deadlock

Reprise de conception avec pour objet d’augmenter la durée de vie des piles

Courbe de décharge des piles alcalines

Nous avons utilisé des piles alcalines d’entrée de gamme, dont nous avons constaté la baisse assez rapide de la tension nominale. Nous avons alors visité le site du fabricant Duracell et compris que même pour des piles de qualité supérieure, on ne pouvait pas rester sur l’hypothèses d’une tension de sortie maintenue stable pendant la durée de vie d’un jeu de piles. Les pile se déchargent en continu, à un rythme fonction du courant se sortie. Les courbes fournies par Duracell montrent qu’un courant de décharge de 50 mA se situe dans le haut de la plage de spécification pour des piles AA, et dans le bas de la plage spécifiée pour des piles LR20.

 

Piles Duracell de type Ultra Power. Format AA
Courbe de décharge. Courants faibles en sortie
Courbe de décharge. Courants forts en sortie

Ajout d’un régulateur à découpage  en mode « boost ». ON Semiconducteurs NCP1402

Un circuit tel que le NCP1402 est de nature à accepter de fournir une tension stable de 3.3 V en sortie, avec en entrée une ou deux piles alcalines, dans la mesure où il rattrape la décharge de la pile jusqu’à ce qu’elle atteigne 0.8V. Avec l’aide de la courbe fournie par Duracell, on voit qu’à cette tension, la pile est effectivement en fi n de vie. Mais qu’à courant constant elle doit avoir vécu 700 heures au lieu des 200 heures qui correspondent à une tension de ( le seuil de décrochage du GPS de notre balise étant voisin de 2.7V). C’est une durée de vie plus que triplée, si nous le confirmons avec les essais, alors que les deux effets de perte spécifiés pour le convertisseurs (rendement de 85%, courant à vide 10 uA) sont à prendre en compte mais sans pour autant condamner l’efficacité supposée du circuit.

Nous devrons vérifier par ces essais que les raisonnements sont transposables aux autres piles sur le plan des ratios.

Commandes en circuit court de deux modules équipés du NCP1402

Nous commandons deux circuits à 5€, respectivement conçus par Sparkfun et Polulu, mais sur des approvisionnements à 1 mois, il faut attendre un coût par module de l’ordre de 0,5€, inférieur à celui d’une pile AA.

Module Sparkfun sur base NCP1402
Module Polulu sur base NCP1402

Schéma de la balise Philoc. Ajout du circuit NCP1402

Schéma de la balise Philoc au 08/12/2017 : ajout du NCP1402

Reprise d’intégration au 08/12/2017

Ce matin, 08/12/2017, la balise 18AEA2 équipée des piles LR20 « usagées »  vient d’être greffée avec le premier circuit reçu, d’origine Sparkfun … et elle tourne, comme l’aurait peut-être dit Galilée. Pourvu que ça dure …

Laisser un commentaire