Dans ce projet, j’ai développé un système de gestion de décharge de pile utilisant le module INA3221, qui permet de mesurer la tension de bus et la tension de shunt (représentant le courant de décharge) à travers une liaison I2C. L’objectif principal était de configurer le module INA3221, de lire ses valeurs périodiquement, de les enregistrer via une liaison série vers un PC, puis de les analyser pour obtenir des informations telles que la résistance interne de la pile, la tension en fonction du temps, le courant en fonction du temps, l’énergie totale fournie par la pile, ainsi que la caractéristique tension-courant de la pile.
J’ai créé deux fonctions principales pour interagir avec le module INA3221 :
Configuration du Module: Cette fonction permet de configurer les paramètres du module INA3221, tels que la plage de mesure, la précision et le taux de conversion. Ces paramètres sont cruciaux pour garantir des mesures précises et fiables.
Lecture des Mesures: Après la configuration, cette fonction lit périodiquement les valeurs de tension de bus et de tension de shunt à travers une liaison I2C. Ces valeurs sont ensuite utilisées pour calculer le courant de décharge de la pile.
Pour lire les mesures périodiquement, j’ai utilisé un timer pour déclencher une interruption toutes les 1 seconde. À chaque interruption, la fonction de lecture des mesures est appelée pour récupérer les données du module INA3221.
Une difficulté majeure que j’ai rencontrée était la gestion du temps dans un environnement temps réel. Initialement, j’ai tenté d’implémenter la lecture des mesures dans une tâche, mais j’ai rapidement réalisé que le temps dérivait, ce qui aurait faussé mes mesures. Pour résoudre ce problème, j’ai opté pour l’utilisation d’un timer pour garantir une précision temporelle constante.
Le transistor utiliser est une MOSFET de réference BUK9832-55A, qui se caractérise par sa résistance entre drain source de faible valeur (36m$\Omega$ pour $V_{GS}=4.5V$) pour que son influence sur le courant de décharge soit négligeable. La décharge peut être réglable, dans l’exemple montrer ci-dessous: j’ai fait des courant de décharge en forme de créneau de periode 2min (1min de décharge). Aussi, afin de ne pas déteriorer la pile de 1.2V tension nominale, quand la tension de décharge atteint une seuil de tension de 0.6V, il faut arrêter la décharge.
Une fois les mesures récupérées, je les envoie via une liaison série vers un PC. Sur le PC, un programme reçoit les données et les enregistre dans un fichier. J’ai ensuite utilisé des outils comme Excel pour analyser ces données. J’ai délimité les données de tension et de courant, puis j’ai calculé la résistance interne de la pile en fonction du temps.
En utilisant les données enregistrées, j’ai pu tracer plusieurs graphiques pour mieux comprendre les performances de la pile :
Il faut noter que les piles utiliser étaient un peu vieux c’est pour ça que l’énergie récupérer ne correspond pas à celle indiqué par le constructeur.
avec $V_{co}$: tension circuit ouvert.
Le système de gestion de décharge de pile que j’ai développé avec le module INA3221 offre une solution pour évaluer les caractéristique des piles.