UNIVERSITE LIBANAISE FACULTE DE GENIE BRANCHE 1 No d'ordre 54/1446/G1-EE/2013 PROJET DE FIN D’ÉTUDES Réalisé par Marie SAYEGH Pour obtenir le Diplôme Ingénieur en Électricité et Électronique Option Informatique Industrielle & Contrôle Implantation sur calculateur temps réel d’un observateur d’état de charge d’un pack de batterie Lithium ion Dirigé par : Mr. Christophe FORGEZ Mme. Khadija AL KADRI BENKARA Soutenu devant le Jury : Dr. Amer FAYDALLAH Dr. Nazih MOUBAYED Dr. Khaled MOUCHREF Session Juillet 2013 Remerciements Mes remerciements les plus sincères à toutes les personnes qui auront contribué de près ou de loin à l'élaboration de ce stage. Je voudrais tout d'abord adresser toute ma gratitude au directeur du Laboratoire d’Electromécanique de Compiègne Mr. Guy FRIEDRICH de m’avoir donné l’opportunité d’effectuer mon stage au sein du laboratoire. Je tiens à remercier également mon encadrant de stage Mr. Christophe FORGEZ de m’avoir transmis toutes les connaissances scientifiques nécessaires pour bien accomplir mon travail, ainsi d’être toujours disponible à me guider. Mes remerciements vont également à Mme Khadija EL KADRI BENKARA pour son aide dans la réalisation expérimentale des essais, de même pour son amitié, ses encouragements et conseils tout au long du stage. Je tiens à remercier aussi les professeurs et le Département Electricité-Electronique de la Faculté de Génie-Branche 1 de l’Université Libanaise pour leur suivi et support durant ce stage. Je voudrais exprimer ma reconnaissance envers les amis et collègues qui m’ont apporté leur support moral et intellectuel tout au long de ma démarche. Un grand merci également à tous mes amis libanais en France et surtout en Compiègne qui ont rendu mon séjour agréable. Enfin, je tiens à témoigner toute ma gratitude à ma famille pour leur support inestimable. Laboratoire de stage L’université de technologie de Compiègne (UTC) est un établissement public d’enseignement supérieur et de recherche situé à Compiègne dans la région Picardie en France. L'UTC est un EPSCP (Établissement public à caractère scientifique, culturel et professionnel) et constitue un modèle original dans l'enseignement supérieur français car elle combine dans ses statuts les atouts d'une université publique avec ceux d'une grande école d'ingénieurs. Le Laboratoire d'Electromécanique de Compiègne (LEC) a été créé en 1973 par Michel KANT, avec l'objectif "d'appliquer les acquis scientifiques et technologiques à la conception de dispositifs électromécaniques nouveaux". De nos jours, le LEC est centré sur un axe de recherche unique : "Actionneurs électriques et système de motricité à énergie embarquée". L’objectif est de renforcer la position du LEC, comme pôle de compétence dans le domaine de la conception globale des actionneurs à pilotage électronique. Ce domaine nécessite de maîtriser des aspects aussi variés que la modélisation des phénomènes électromagnétiques, l’électronique de puissance, la commande, mais aussi les contraintes liées à la thermique et à l’acoustique. Dans cette optique, les activités ont été déployées sous deux thématiques complémentaires, intitulées respectivement : Conception, modélisation des machines électriques et de leur commande Cette thématique a pour objectif la modélisation et l’optimisation d’actionneurs électriques présentant un caractère novateur tant au niveau de la structure (machine, électronique de puissance et commande), que des conditions d’utilisation de structures plus classiques. Alimentation des systèmes embarqués La recherche constante d’une augmentation d’autonomie des systèmes à énergie embarquée impose un dimensionnement et un contrôle optimal des actionneurs ainsi que leur système d’alimentation. Un accent particulier est donné à l’étude de stratégies de modulations optimales, à la modélisation et à la surveillance des sources électrochimiques (batteries) de puissance. La volonté du LEC est d’allier une recherche universitaire de qualité à une forte volonté de recherches partenariales. Les thèmes de recherche développés conduisent actuellement à un domaine d’application privilégié centré sur le "véhicule propre et économe". Le LEC a en outre été sélectionné à prendre part à cinq projets nationaux dans le cadre d’appels d’offres de l’agence nationale de la recherche (ANR) et du fond de compétitivité des entreprises (FCE). Ses actions de recherche s’intègrent dans les politiques de recherche de la Région Picardie et des pôles de compétitivité "Mobilité et transports avancés (MTA)" et MOVEO. Résumé Le sujet de ce stage portait sur l’ « Implantation sur calculateur temps réel d’un observateur d’état de charge d’un pack de batterie Lithium ion. » La première partie de mon stage était consacrée à l’étude bibliographique qui a duré deux semaines, comprenant différents articles et thèses surtout celles publiées par mon laboratoire et qui étaient à la base de mon travail de stage. Cette étude portait sur les généralités des batteries Lithium-ion, leur conception, et principalement les phénomènes engendrés au sein de ces batteries qui ont introduit le modèle du schéma électrique équivalent à la batterie. Les paramètres du schéma électrique équivalent ont été générés à partir d’un code automatique d’optimisation écrit sous Matlab. L’identification de ces paramètres a été faite à la base de tables de données de tension et de courant relevées expérimentalement. Le modèle électrique obtenu a été ensuite vérifié sous SIMULINK, la tension de la batterie est reconstruite à partir des différents composants de ce modèle, qui sont fonction des paramètres trouvés. Suite à la vérification du modèle, la validation expérimentale correspondante a été effectuée en l’implantant sur DSPACE et en faisant un essai direct sur le pack formé de dix batteries Lithium-ion. L’état de charge estimé a été initialisé dans le modèle égale à celui réel des batteries. Une comparaison faite sur le banc d’essai entre les tensions estimées du modèle et mesurées aux bornes des cellules, a montré des résultats satisfaisantes. L’estimateur réalisé a été transformé en observateur en introduisant l’algorithme de filtre de Kalman, qui corrige l’état de charge estimé surtout lorsque ce dernier est initialisé dans le modèle à une valeur différente de celle de l’état de charge réel de la batterie. La vérification et la validation expérimentale de l’observateur ont été faites à nouveau de la même manière citée ci-dessus, mais en initialisant cette fois l’état de charge estimé à une valeur différente de celui réel. Table de matière INTRODUCTION GENERALE 3 CHAPITRE I : ETUDE BIBLIOGRAPHIQUE I. INTRODUCTION..................................................................................................... 4 II. MODELISATION DE LA BATTERIE ............................................................................ 4 III. DETERMINATION DE L’ETAT DE CHARGE ................................................................ 6 IV. CONCLUSION ...................................................................................................... 10 CHAPITRE II : IDENTIFICATION DES PARAMETRES DU MODELE ELECTRIQUE I. INTRODUCTION................................................................................................... 11 II. DONNEES : TABLES DES RELEVES EXPERIMENTAUX ............................................... 12 III. IDENTIFICATION DE LA TENSION EN CIRCUIT OUVERT (OCV) ................................. 13 IV. IDENTIFICATION DE RΩ ........................................................................................ 17 V. IDENTIFICATION DE K1 ET K2 ................................................................................ 19 VI. CONCLUSION ...................................................................................................... 20 CHAPITRE III : VALIDATION DU MODELE ELECTRIQUE SOUS SIMULINK I. INTRODUCTION................................................................................................... 21 II. INITIALISER LES DONNEES.................................................................................... 21 III. MODELE SIMULINK EN CAS DE CHARGE OU DE DECHARGE ................................... 21 IV. MODELE SIMULINK EN CAS DE DECHARGE SUIVI D’UNE CHARGE .......................... 25 V. CONCLUSION ...................................................................................................... 27 CHAPITRE IV : VALIDATION EXPERIMENTALE DU MODELE SIMULINK I. INTRODUCTION................................................................................................... 29 II. MODELE SIMULINK EXPERIMENTAL ..................................................................... 29 III. INTERFACE SUR CONTROL DESK ........................................................................... 29 IV. SCHEMA DE PUISSANCE....................................................................................... 31 V. DEROULEMENT DE L’EXPERIENCE ET RESULTATS .................................................. 34 VI. CONCLUSION ...................................................................................................... 34 CHAPITRE V : OBSERVATEUR PAR FILTRE DE KALMAN I. INTRODUCTION................................................................................................... 36 1 II. MODELE DE L’OBSERVATEUR ............................................................................... 36 III. VERIFICATION DU MODELE PAR SIMULATION....................................................... 37 IV. ESSAI EXPERIMENTAL ET RESULTATS .................................................................... 38 V. CONCLUSION ...................................................................................................... 41 CONCLUSION GENERALE et PERSPECTIVES 42 ANNEXE A : Généralités des batteries au Lithium 44 ANNEXE B : Modélisation des batteries au Lithium 48 ANNEXE C : Filtre de Kalman 56 ANNEXE D : Code MATLAB 59 ANNEXE E : Initialisation des données pour schéma SIMULINK 66 ANNEXE F : Modèle SIMULINK expérimental 68 ANNEXE G : Interface sur CONTROL DESK 73 ANNEXE H : Alimentation Regatron et Charge H&H 77 ANNEXE I : Modèle de l’observateur sous SIMULINK 78 REFERENCES 83 2 Introduction générale De nos jours, les transports sont de plus en plus indispensables et leur consommation s’élève jusqu’au tiers de la consommation énergétique mondiale. Malgré les grands progrès et réalisations dans ce domaine, leur impact sur l’environnement reste une préoccupation majeure. Le stockage de l'électricité à bord des véhicules est donc l'un des défis qu'il faut relever. Des progrès ont été accomplis et des prototypes ont vu le jour. Mais les performances du stockage de l'énergie sont encore insuffisantes pour séduire le consommateur et les coûts restent élevés. L'étude de la gestion d'énergie à bord des véhicules électriques ou hybrides de nouvelles générations, au travers d'une approche duale modélisation/électrochimie impose la mise au point de nouveaux concepts de gestion de batteries qui devrait permettre un déploiement plus rapide. Cette approche duale modélisation / électrochimie nécessite des validations expérimentales à différents niveaux, spécialement au niveau du système de stockage à bord du véhicule (batteries d’accumulateurs associées à leurs systèmes de contrôle et de sécurité) L'ambition du projet SIRTEX (SImulator for Real Time EXperiment) est de constituer un dispositif constituant l'étape ultime avant un passage à la réalisation d'un véhicule et à sa validation dans son environnement. Ce projet consiste dans le développement d'une plateforme originale. Ce type de matériel permet de recréer l'environnement autour d'un sous-système en cours de développement. Par exemple, lors de l'étude d'un système de gestion de batteries (Battery Management System), ce dispositif permet de "simuler" les courants absorbés ou injectés dans la batterie en fonction des conditions de circulation à partir d'un modèle dynamique de véhicule. Il est à noter que de par sa constitution, ce système peut émuler un véhicule (électrique ou hybride) mais aussi tout autre type de véhicule, voire système d'énergie renouvelable pour lequel l'accumulateur électrochimique reste un élément essentiel. L'ensemble de l'étude et l'élaboration du cahier de charges et de la recette, la mise au point et les essais de réception correspondant au projet SIRTEX ont été effectués au sein du LEC. Le stage effectué fait partie du projet SIRTEX, il contribue à l’observation en temps réel de l’état de charge des batteries Lithium-ion utilisées dans la plateforme. Ce type d’accumulateur promettant en tant que performance, doit être amélioré du coté maitrise de fonctionnement. La détermination de l’état de charge sera donc primordiale pour une meilleure utilisation et durabilité de cet accumulateur. 3 Chapitre I. ETUDE BIBLIOGRAPHIQUE I. INTRODUCTION Ce chapitre résume en général l’étude bibliographique faite au cours du stage et contient principalement les connaissances nécessaires pour accomplir le travail demandé. Tout d’abord, la batterie Lithium, son fonctionnement et sa composition sont introduits en annexe. Par la suite, nous parlerons dans la deuxième annexe de la modélisation de la batterie, en premier lieu des phénomènes chimiques et électrochimiques se déroulant au sein de la batterie, puis de la conception du modèle électrique équivalent au fonctionnement de la batterie. A partir de ce modèle électrique, nous traiterons les méthodes de détermination de l’état de charge de la batterie, surtout l’algorithme du filtre de Kalman. II. MODELISATION DE LA BATTERIE Circuit électrique équivalent Le fonctionnement général de la batterie est représenté sous forme de circuit électrique équivalent (figure I-1). L’utilisation de ce dernier est un bon moyen de représenter les phénomènes physiques inconnus qui apparaissent dans les cellules. Ce mode de représentation permet également de modéliser les phénomènes thermiques qui ont lieu dans les batteries. Figure I-1: Circuit électrique équivalent d'une électrode Les différentes parties de ce circuit seront : Le générateur Eeq correspond à la tension en circuit ouvert (OCV) d’une batterie. La résistance représente la somme des résistances de connectiques et d’électrolyte. Elle est obtenue à partir du diagramme de Nyquist. Le circuit et permet de représenter le demi-cercle dans le plan de Nyquist, caractéristique de la double couche et du transfert de charge. L’impédance de Warburg pour représenter le phénomène de diffusion. théoriquement caractérisé par une pente à 45° sur le diagramme de Nyquist. La tension en circuit ouvert correspond physiquement au potentiel électrochimique d’équilibre des espèces aux électrodes. Cette tension s’obtient par la mesure de tension à vide après une période de repos. 4 Identification des paramètres du modèle à constantes localisées D’après le plan de Nyquist, la séparation en trois zones distinctes de la caractéristique d’impédance, permet d’exprimer l’impédance comme la somme de trois termes : La principale difficulté dans la modélisation de cette impédance, réside dans la modélisation du phénomène de diffusion [Montella and Diard, 2009][Montaru and Pelissier, 2010]. Un modèle à constantes localisées est proposé pour représenter ce phénomène. La méthode consiste à développer un modèle analytique de l’impédance de Warburg à l’aide d’un développement en série de fonctions, et d’identifier ce développement de fonctions par rapport à des impédances composées de capacités et de résistances. Le modèle analytique utilisé pour représenter ZW, est une fonction en tangente hyperbolique [Mauracher and Karden, 1997][Karden et al., 2000][Kuhn, 2004] : √ √ Où k1 et k2 sont les variables à déterminer. Dans *Kuhn et al., 2006+, l’expression en tangente hyperbolique a été développée, grâce au théorème de Mittag-Leer, en une série de circuits RC parallèles. ∑ Où et Ainsi, l’expression de l’impédance de la batterie devient : ∑ L’impédance de Warburg est souvent représentée par cinq cellules RC (figure I-2). Figure I-2: Modèle d’impédance comportant 5 cellules RC pour représenter le phénomène de diffusion 5 III. DETERMINATION DE L’ETAT DE CHARGE Etat de l’art La gestion de l’énergie est indispensable pour l’optimisation de la consommation et de la durée de vie des accumulateurs,. L’état de charge (State of Charge : SOC) est l’un des éléments essentiels pour caractériser l’état des éléments de stockage. De plus, dans le cas des batteries Lithium-ion, sa connaissance est indispensable car une charge mal maîtrisée peut conduire à la destruction de l’accumulateur. De nombreuses méthodes pour estimer l’état de charge de batterie ont été proposées. L’une des premières méthodes, proposée dès 1963 et basée sur une mesure de tension, fut appliquée comme jauge d’énergie pour le rover lunaire *Pop et al., 2005+. Parmi l’ensemble des techniques proposées depuis cette époque, on distingue trois grandes familles de méthodes [Pop et al., 2008][Piller et al., 2001] : les méthodes directes, les méthodes par intégration du courant et les méthodes adaptatives. Méthodes de mesures directes Ces méthodes sont basées sur des mesures variables (tenson, impédance…) utilisées comme index de fonction du SOC. On distingue plusieurs procédés. L’indexation peut se faire soit : par mesure de tension : la tension batterie mesurée est comparée à des courbes de charge/décharge à différents régimes par mesure de tension à vide : celle-ci est mesurée après une longue période de repos. Elle est ensuite comparée à la courbe d’évolution du potentiel d’équilibre qui est fonction du SOC. par mesure d’impédance : sachant que celle-ci varie selon l’état de charge. La determination de l’état de charge par l’analyse de l’impédance est envisageable en laboratoire mais peu réaliste sur véhicule. Méthodes par intégration du courant Méthode d’indication du SOC basée sur la mesure et l’intégration d’un courant par comptage de coulombmétrique qui consiste à calculer le nombre d’ampère heure entrant et sortant [Alzieu et al., 1997]. Ce comptage doit tenir compte du rendement faradique qui dépend du taux de charge ou de décharge. Par contre, cette méthode ne permet pas de prendre en compte l’autodécharge. La détermination de l’état de charge nécessite donc la connaissance de l’état de charge initial. Méthodes adaptatives Les méthodes précédentes sont basées sur l’exploitation de relevés expérimentaux. Elles deviennent quasiment inexploitables (ou tout du moins imprécises) lorsque les conditions d’utilisations balayent de grandes plages de fonctionnement. Des méthodes adaptatives ont été proposées afin d’utiliser la variable SOC comme variable d’ajustement de manière à adapter la réponse d’un modèle aux mesures relevées sur la batterie. L’exploitation d’un modèle de comportement peut être fait de deux manières différentes : par fltrage de Kalman : il s’agit d’une structure d’observateur dont la correction est effectuée de manière optimale et utilisée pour ajuster la variable SOC [Plett, 2004]. 6 par intelligence artificielle : il s’agit d’outils (réseaux de neurones, logique floue) permettant de synthétiser au sein de fonctions, des comportements dynamiques de batterie, de traduire une expertise acquise par expérimentation [Salkind et al., 1999]. Chaque méthode proposée apporte des avantages et des inconvénients, comme le montre la table I-2. Actuellement, nous pouvons recenser environ une dizaine de manufacturiers de composants dédiés au calcul de la charge [Pop et al., 2005]. Ces composants sont principalement dédiés au calcul de l’état de charge de batteries pour des applications portables domestiques du type ordinateur, téléphone,... Le calcul du SOC effectué au sein de ces composants, repose principalement sur des méthodes coulombmétriques considérées suffisantes pour de telles applications. Par contre ces méthodes ne seront plus convenables dans le cas d’autres applications où il est nécessaire de prendre en considération les conditions de fonctionnement telle la variation de température, la plage de courant, etc…. Aujourd’hui, aucun circuit intégré commercialisé n’est capable de mettre en œuvre des méthodes plus évoluées pour la détermination de l’état de charge. Observation par filtrage de Kalman Portant le nom de son inventeur reconnu Rudolph Kalman, le filtre de Kalman est publié en 1960 *Kalman, 1960+. Les domaines d’utilisation de cet algorithme d’observateur optimal sont divers, pour celui du génie électrique nous trouvons des applications pour les systèmes de diagnostic et de commande sans capteur [Atkinson et al., 1991][Lee and Chen, 1998]. Le filtrage de Kalman repose sur le principe de tout observateur qui consiste à estimer les sorties ̂ d’un système à partir de son modèle (figure I-3). L’observateur a pour rôle d’ajuster les grandeurs d’états ̂ de manière à minimiser les écarts entre les sorties estimées et mesurées. La dynamique et les performances du filtre sont fixées par vecteur gain K. Ce vecteur pondère la correction effectuée sur les états estimés. Il peut être obtenu de deux manières, soit par un placement de pôle fixé par l’utilisateur, c’est le cas d’observateur de type Luenberger, soit par calcul à chaque itération de manière itérative, à partir des prédictions d’erreur et des incertitudes (bruits) sur les grandeurs d’état et les mesures, c’est le cas d’un filtre de Kalman. Le réglage de la dynamique du filtre repose sur l’initialisation des matrices de bruits d’état Q et de mesure R ainsi qu’au travers de l’initialisation de la matrice de covariance d’erreur supposée P. Le fonctionnement du filtre de Kalman est brièvement rappelé en annexe. Structure de l’observateur d’état de charge Comme nous voyons dans la figure I-4, le courant qui est appliqué à la batterie est mesuré et envoyé par la suite sur le modèle de la batterie. Nous récupérons par conséquence deux tensions de la batterie, celle mesurée et celle estimée par le modèle. L’erreur entre ces deux tensions servira à corriger les états du modèle de la batterie à travers le gain K, ajusté d’une façon itérative par l’algorithme du filtre de Kalman [Do et al., 2009]. 7 Table I-2: Techniques d'estimation du SOC Technique Champ d’application Avantages Inconvénients Test de décharge Toute batterie Facile et précis Indépendant du SOH Usage hors ligne Perte d’énergie pour la mesure Comptage Coulomb métrique Toutes batteries Implantation simple si SOC initial connu Mesure précise Sensible aux réactions parasites Mesure de résistance interne Plomb, Ni-Cd Renseigne sur le SOH Bon marché Implantation facile Précis pour les SOC bas Mesure de tension à vide Plomb, Lithium En ligne Temps de repos importants Impédancemètrie Toute batterie Hors ligne Renseigne sur SoH Sensible à la température Onéreux Réseaux neuronaux Toute batterie En ligne Apprentissage sur batterie similaire Logique Floue Toute batterie En ligne Expert pour concevoir les inférences Filtre de Kalman Toute batterie En ligne Dynamique importante Nécessite un bon modèle Ressources numériques Régalage délicat Figure I-3: Principe de l'observation Figure I-4: Structure de l’observateur d’état de charge 8 Le modèle d’état est présenté par les expressions ci-dessous : Variables d’état : x = {Vtc, V1, V2, … , V5, SOC} Equation d’état étendu au SOC : ( ) ( ) Pour i allant de 1 jusqu’à 5 : ( ) ( ( ) ) En assimilant le modèle de la batterie utilisé à celui d’une structure en circuits RC parallèle, l’équation d’état de ce modèle sera étendue à la variable SOC, qui sera corrigée par l’algorithme du filtre de Kalman, et par conséquent observée. L’ajustement des variables d’état est assuré par l’algorithme du filtre de Kalman présenté précédemment. Dans les paragraphes suivants, les réglages du filtre de Kalman utilisé dans notre application à l’observation de l’état de charge seront détaillés. Réglage de la matrice R La tension de la batterie est mesurée puis échantillonnée pendant une phase de repos (figure I5 à gauche). La valeur de la tension à vide sera enlevée par un calcul de la valeur moyenne. L’histogramme tracé de ce relevé de tensions (figure I-5 à droite) montre une gaussienne centrée sur la valeur du potentiel d’équilibre (sur 0 si nous retranchons celle-là) et nous pouvons déterminer par conséquence la variance , qui initialisera la matrice R correspondant aux bruits de mesure : Réglage de la matrice Q Q, la matrice des bruits d’états, présentent les incertitudes sur les états, telle que : ,…, , ] Nous ne disposons pas de mesures physiques des variables d’états, contrairement à la matrice R dont le réglage s’appuie sur l’analyse de la mesure de la tension batterie. Par conséquence, il est difficile de déterminer une valeur précise de la variance de chacune des composantes de la matrice Q des bruits d’états. Puisque nous cherchons à observer la grandeur d’état SOC, alors nous pouvons agir sur la valeur de , ce qui influe sur la dynamique de l’observateur. Ainsi, en attribuant une petite valeur à , la progression du SOC estimé vers le SOC réel sera plus lente que si sa valeur est grande. 9 Figure III-5: Exemple d’histogramme de la tension batterie en vue du réglage de la matrice R au sein du filtre de Kalman Réglage de la matrice P0 La matrice de covariance d’état P0 sera réglée à son tour. Nous pouvons utiliser le même réglage que pour la matrice Q mais il faut que les covariances d’erreurs initiales ne soient pas plus élevées que les covariances de bruit sur ces états. Concernant le SOC, il existe une infinité d’initiation possible pour la grandeur d’état SOC0 , alors nous pouvons supposer une erreur initiale sur le SOC de 100% : par conséquence, la valeur maximale attribuée à la covariance initiale d’erreur sur l’état de charge sera = 100 . Dans ce cas, la convergence vers la valeur réelle de l’état de charge sera plus dynamique. IV. CONCLUSION L’étude bibliographique de ce chapitre a groupé trois parties principales : La première partie, vue en annexe, concerne les généralités de la batterie Lithium, sa conception et le choix du type le plus approprié pour nos applications La modélisation de cette batterie a été discutée dans la seconde annexe. A partir des différents phénomènes chimiques et électrochimiques nous sommes arrivés à présenter un modèle électrique qui représente le fonctionnement de la batterie Les différentes méthodes de détermination du SOC ont été traitées. Nous avons mis l’accent sur l’algorithme du filtre de Kalman qui sera utilisé ultérieurement. Le sujet du chapitre suivant sera l’identification des différents paramètres du modèle électrique déjà vu dans ce chapitre. 10 Chapitre II. IDENTIFICATION DES PARAMETRES DU MODELE ELECTRIQUE I. INTRODUCTION Dans le chapitre précédant, le modèle électrique équivalant à la batterie a été indiqué par le schéma de la figure I-1. La tension de la batterie sera donc la somme des tensions : en circuit ouvert (OCV) aux bornes du circuit Rtc/Cdl aux bornes de l’impédance RΩ (celle de l’électrolyte et des connectiques) aux bornes de l’impédance de Warburg ZW Dans ce chapitre, nous allons expliquer la méthode utilisée, sous Matlab, pour identifier tous les paramètres de ce modèle électrique. Dans un premier temps, nous avons utilisé les tables de données correspondantes à une batterie lithium A123 afin de valider notre méthode. Dans la suite, nous pouvons utiliser les mêmes méthodes pour les batteries « E4V », qui feront l’objet des essais expérimentaux. Table II1 donne les principales caractéristiques des deux types de batteries rencontrées, A123 et E4V. Table II-1: Caractéristiques des deux batteries utilisées A123 et E4V Tension nominale Capacité nominale Diamètre Hauteur Poids A123 3.3 V 2.3 Ah 26 mm 65.5 mm 72 g E4V 3.2 V 40 Ah 100 mm 192 mm <1200 g Il faut noter que les phénomènes qui se déroulent au niveau du circuit Rtc/Cdl sont très rapides et ne peuvent pas être décelés avec la fréquence d’échantillonnage utilisée dans notre étude, et par conséquence il est impossible d’identifier les deux paramètres Rtc et Cdl. Par ailleurs, lors de l’identification de RΩ, nous pouvons considérer que cette dernière renferme Rtc. Le nouveau schéma électrique simplifié, illustré dans figure II-1, sera utilisé. Le travail sera donc d’identifier les paramètres OCV, RΩ et ZW (k1 et k2). Figure I-1: Schéma électrique simplifié 11 II. DONNEES : TABLES DES RELEVES EXPERIMENTAUX La batterie Lithium-ion, ayant un état de charge initial de 100%, est complètement déchargée, à une température donnée (ici 25°C), avec des impulsions de courant de valeur - C/2 (c.à.d. - 20A). Cette décharge est décomposé en plusieurs intervalles, chaque intervalle consiste en une durée d’application du courant, égale à 10 minutes, suivie d’un temps de relaxation qui dure une heure. Ce temps de relaxation permet la convergence de la tension de la batterie vers la valeur d’OCV correspondante à l’état de charge actuel de la batterie. Les valeurs des tensions, courants et temps sont relevées tout au long du phénomène de décharge de la batterie. Pour chaque intervalle, ces valeurs sont prises dans un premier temps tous les 0.1 secondes, puis lorsque la variation de la tension sera très petite durant le temps de relaxation, ces valeurs seront prises à chaque seconde. Ainsi, nous obtenons des tables de données de temps, tension et courant qui seront utilisé ultérieurement comme données pour la méthode d’identification des paramètres. Figure II-2 présente les courbes de tension et du courant en fonction du temps, lors de la décharge complète de la batterie Lithium-ion. Nous effectuons la même démarche pour obtenir les tables de données pour le phénomène de charge complète de la batterie, à la même température, ayant un état de charge initial nul, avec des impulsions de courants de même durée que celles de la décharge (10 minutes), mais de valeur + C/2 (+ 20A). Le temps de relaxation après chaque impulsion de courant durera également une heure. Les données de ces tableaux obtenus sont illustrées dans figure II-3. D’après les courbes de tension, nous remarquons qu’aux valeurs de SOC extrêmes, il n’y a pas de régularité dans le comportement de la batterie, il faut peut-être augmenter le nombre de points dans les intervalles de SOC élevés et faibles pour avoir des meilleurs résultats. Figure II-2: Courbes de tensions et du courant en décharge 12 Figure II-3: Courbes de tensions et du courant en charge III. IDENTIFICATION DE LA TENSION EN CIRCUIT OUVERT (OCV) La tension en circuit ouvert, qui correspond à chaque état de charge, c.à.d. à chaque intervalle, est la dernière tension relevée avant l’application d’une nouvelle impulsion du courant. Autrement dit, c’est la tension qu’atteint la batterie en fin de la phase de relaxation, lorsque les variations en tensions seront minimales. Dans cette partie, nous allons calculer premièrement le SOC correspondant à chaque intervalle, tout en allant d’un SOC initial de valeur 100% dans le cas de décharge, nul dans le cas de charge, puis chercher les indices d’application des impulsions du courant et enfin obtenir les OCV de chaque intervalle. Calcul du SOC Comme nous avons déjà vu dans le chapitre précédant, l’une des méthodes de détermination du SOC est par intégration du courant, cette dernière est utilisée dans notre code trouvé en annexe. L’expression suivante sera utilisée pour chercher le SOC : [ ∫ ] En Matlab, le cumul du vecteur courant est tout d’abord cherché. Il sera multiplié par le rapport Te/3600 (ici Te est le temps d’échantillonnage égale à 0.1 s) afin de trouver le vecteur de charge Q. La charge nominale Qn sera la valeur maximale du vecteur charge trouvé en valeur absolue. Enfin, le vecteur SOC sera obtenu en multipliant le vecteur de charge Q par 100/Qn et puis en l’ajoutant au vecteur SOC_initial. De cette façon, un vecteur SOC sera obtenu, contenant toutes les valeurs des états de charge de la batterie tout au long des phénomènes de charge ou de décharge. 13 Figure II-4 et Figure II-5 présentent la variation du SOC en fonction du temps, au cours de la charge et de la décharge respectivement, parallèlement aux courbes de courant correspondant à ces deux phénomènes. Figure II-4: Variation du SOC et profil du courant en charge Figure II-5: Variation du SOC et profil du courant en décharge Chercher les indices d’application des impulsions du courant Durant l’application du courant au début de chaque intervalle, une chute de tension correspondante à RΩ aura lieu, cette tension parait explicitement au début et à la fin de l’application du courant. Donc les indices d’application des impulsions de courant seront cherchés à partir de la variation instantanée résultante, positive en charge et négative en décharge. 14 Le vecteur gradient de tension est cherché, c’est le vecteur différence de tension, écrit diff(Tension) en Matlab. Par la suite, nous détectons les variations de tension dépassant un seuil donné. Les indices correspondants à ces variations seront sauvegardés pour des utilisations ultérieures. Ce seuil, positif en charge et négatif en décharge, est largement supérieur à la variation normale de la tension relevée de la batterie, due aux bruits, erreurs de mesure… Figure II-6 illustre les variations du gradient de tension durant la décharge, les pics négatifs indiquent à chaque fois le début d’un nouvel intervalle. Le seuil pris dans ce cas est 0.005V par exemple. Figure II-6: Variation du gradient de tension en décharge Obtenir OCV Ayant cherché les indices d’application des impulsions de courant, les tensions en circuit ouvert seront obtenu à partir de la table de données initiale. Ce sont les valeurs de tension correspondantes aux derniers indices des phases de relaxation, c.à.d. qui précèdent ceux d’application du courant. Figure II-7 et Figure II-8 montrent les valeurs d’OCV, en croix bleus, de chaque intervalle sur les courbes de tension durant la charge et la décharge. Les valeurs des indices trouvés, des OCV et des SOC seront sauvegarder dans des tables SOC_OCV et LOC_OCV, séparément pour les phénomènes de charge et décharge. Ces tables seront utilisées ultérieurement dans l’identification des autres paramètres. En traçant les OCV, en fonction du SOC, correspondantes à la charge et à la décharge sur une même figure, nous obtenons l’hystérésis vue dans le chapitre précédant (figure II-9). 15 Figure II-7: Valeurs d’OCV trouvés pour différents valeurs de SOC, en charge Figure II-8: Valeurs d’OCV trouvés pour différents valeurs de SOC, en décharge Figure II-9: Variation d’OCV en fonction de l’état de charge, en charge/décharge 16 IV. IDENTIFICATION DE RΩ Dans cette partie, nous allons chercher à identifier la résistance de l’électrolyte et des connectiques RΩ. Comme cela a déjà été mentionné, nous pouvons considérer que la valeur de RΩ obtenu renferme aussi la résistance Rtc, représentant le phénomène de transfert de charge. Lors de l’application du courant, la tension de la batterie présente une chute instantanée due à RΩ, positive dans le cas de charge (courant>0) et négative dans le cas de décharge (courant<0). Cette chute disparait dans la phase de relaxation à cause de l’absence du courant. En détectant cette différence de tension, RΩ est obtenue en divisant la tension par la valeur du courant appliqué. Création d’une table délimitant les intervalles Tout d’abord, avant de chercher la chute de tension, il faut chercher les indices de début et de fin de chaque intervalle. Pour cela, nous formons une nouvelle table, nommée debut_fin_interv. Les indices de début des intervalles ne sont d’autres que les indices d’application du courant, ils sont cherchés à partir de la table LOC_OCV. Pour les indices de fins d’intervalles, ils sont obtenus facilement en retranchant 1 des valeurs des indices de début des intervalles suivants. Nous ajoutons à cette table les indices du point extremum de tension dans chaque intervalle, c’est la tension relevée au dernier instant d’application de courant, elle est la tension maximale en cas de charge, minimale en cas de décharge. Dans toute la démarche qui suit, l’étude et l’identification des paramètres sera faite intervalle par intervalle. Ajustement de la base de données à un même pas d’échantillonnage En deuxième étape, il faut ajuster la base de données à un même pas d’échantillonnage (0.1s), pour cela on crée une nouvelle table de données, dans laquelle le vecteur de temps est échantillonné à 0.1 s et nous interpolons avec ce dernier les anciens vecteurs de tension et de courant. Les vecteurs de temps, tension et courants trouvés seront utilisés dorénavant. Calcul de RΩ Figure II-10 présente la courbe de tension durant un intervalle lors de la décharge. La chute de tension se voit clairement durant l’intervalle d’application du courant. Pour calculer cette chute de tension, nous cherchons sous Matlab le vecteur gradient de tension (diff(Tension)), illustré dans figure II-11. Les deux pics de tensions négatif et positif représentent cette variation instantanée de tension au début et à la fin de l’intervalle d’application du courant. Les deux valeurs des pics, relevés en valeur absolue, peuvent se différer légèrement, on prend celle du pic qui correspond au début de la sollicitation. Celle qui correspond au deuxième pic, étant la plupart du temps de valeur inférieure à celle du premier, avec une différence d’environ 4% au maximum, relativement par rapport à la valeur adoptée. La valeur de la chute de tension obtenue sera divisée par la valeur du courant appliqué, et nous obtenons la résistance RΩ qui correspond à l’intervalle étudié. Cette chute de tension trouvée sera retirée de la tension de la phase d’application du courant (figure II-12). 17 Figure II-10: Variation de la tension en décharge Figure II-11: Variation du gradient de tension dans un intervalle en décharge Courbe de tension après extraction de la tension due à RΩ Courbe de tension avant extraction de la tension due à RΩ Figure II-12: Allure de la courbe de tension en décharge, avant/après extraction de la tension due à RΩ 18 Retirer OCV Après que la chute de tension due à RΩ a été enlevée, nous allons retirer également la tension en circuit ouvert. Ayant obtenu précédemment la table des valeurs d’OCV en fonction du soc de chaque intervalle, nous interpolons donc les vecteurs SOC et OCV avec un vecteur SOC, échantillonné à Te= 0.1 s, calculé pour l’intervalle étudié suivant l’équation vu en partie III-1 de ce chapitre. Nous obtenons suite à l’interpolation un nouveau vecteur OCV, échantillonné aussi à Te, qui sera retiré du vecteur de tension. V. IDENTIFICATION DE K1 ET K2 Arrivant à cette phase d’identification des paramètres, le vecteur de tension qui reste après l’enlèvement de l’OCV et de la chute de tensions due à RΩ, sera celui de la tension aux bornes des 5 circuits RC formant l’impédance de Warburg. C’est cette tension qui nous permet de chercher les deux paramètres restants k1 et k2. Allant des k1 et k2 initiaux, et limitant la plage de recherche de ces paramètres, la méthode ‘lsqcurvefit’, se basant sur la méthode des moindres carrées, est utilisée afin de chercher k1 et k2. ‘lsqcurvefit’ prend comme paramètres : la fonction mysimul_temporel, qui sera expliquée dans la suite le vecteur x_ini contenant les paramètres k1 et k2 initiaux le vecteur du courant de cet intervalle le vecteur de la tension de cet intervalle les plages inférieure et supérieure de la recherche des paramètres (0.1*x_ini<x<2*x_ini) Cette méthode donne comme paramètres de sortie les nouvelles valeurs de k1 et k2 trouvées. La fonction mysimul_temporel est une fonction de transfert qui prend comme paramètres d’entrée k1, k2 et le vecteur de courant de l’intervalle étudié. Elle cherche la fonction de transfert de l’impédance de Warburg suivant l’expression suivante : ∑ Avec Ri et Ci fonction de k1 et k2 selon les expressions : et La fonction de transfert cherchée donnera avec le vecteur d’entrée de courant une tension de sortie estimée. Ensuite nous utilisons la méthode ‘lsqcurvefit’ pour déterminer k1 et k2. Cette méthode compare la tension estimée cherchée avec ‘mysimul_temporel’, avec celle donnée comme entrée, et cherche les paramètres k1 et k2 qui rend la tension estimée par la fonction de transfert la plus proche de la tension réelle, dans les limites de la plage de recherche données. Au début du travail, nous avons essayé de trouver l’intervalle de relaxation qui convient le plus pour donner les meilleurs résultats des paramètres. Ces paramètres sont cherchés pour chaque 19 intervalle, commençant d’un temps de relaxation nul, et augmentant au fur et à mesure jusqu’à avoir le temps de relaxation complet (une heure). Les résultats montrent que le meilleur intervalle d’étude est celui qui comprend la phase de sollicitation ajoutée de la phase de relaxation complète, puisque la tension estimée trouvée et celle réelle ne convergent vers la même valeur que dans les derniers instants de la phase de relaxation complète. La durée de l’intervalle sera 4200 secondes en total. Par conséquence, l’identification des paramètres a été faite dans les étapes suivantes en travaillant directement sur l’intervalle comprenant la sollicitation et la phase de relaxation complète. Au fur et à mesure de l’identification des paramètres pour chaque intervalle, nous sauvegardons dans des table les valeurs des paramètres en fonction de la valeur du SOC moyenne de cet intervalle (c.à.d. la valeur moyenne entre le SOC au début de l’intervalle avant application du courant, et celui à la fin). VI. CONCLUSION Nous avons vu dans ce chapitre la méthode utilisée pour identifier les paramètres qui définissent le modèle électrique de la batterie Lithium-ion au cours de la charge et la décharge. Premièrement, nous avons introduit les bases de données relevées expérimentalement, utilisées dans la méthode. Afin d’obtenir les tensions en circuit ouvert correspondant à chaque état de charge, le vecteur SOC a été déterminé au début. Par la suite nous avons cherché les indices des instants d’application du courant, les OCV et deux tables SOC_OCV, contenant l’OCV en fonction du SOC, et LOC_OCV, contenant chaque OCV et son indice correspondant. Ensuite, nous avons identifié les valeurs des RΩ. Une table, contenant le début et la fin de chaque intervalle, est créée. Chaque intervalle correspond au temps d’application du courant ajouté d’une période de relaxation relativement grande. A partir de maintenant, la procédure d’identification de paramètres se fait intervalle par intervalle, et non pas sur toute la table de données simultanément. Après, nous avons ajusté la base de données à un même pas d’échantillonnage, les tables initiales étant données à pas non uniforme. RΩ est calculée à partir de la chute de tension qui lui correspond, lors de l’application du courant, divisée par la valeur de ce courant. Ensuite nous retirons de la tension de la phase d’application du courant, la chute de tension due à RΩ trouvée. De même, nous retirons du vecteur de tension de la batterie, le nouveau vecteur OCV échantillonné à 0.1 seconde. La tension restante sera celle aux bornes de l’impédance de Warburg. La méthode ‘lsqcurvefit’ en Matlab, se basant sur le principe de résolution par moindres carrées, cherche les meilleures paramètres k1 et k2 donnant la tension estimée la plus proche de la tension réelle. La tension estimée est trouvée à partir de la fonction ‘mysimul_temporel’ qui construit la fonction de transfert de ZW à partir de k1et k2, et prend comme entrée le vecteur courant. 20 Chapitre III. VALIDATION SIMULINK DU MODELE ELECTRIQUE SOUS I. INTRODUCTION Dans le chapitre précèdent, le modèle électrique équivalent au fonctionnement de la batterie a été identifié, les paramètres sont sauvegardés dans des tables en fonction de l’état de charge, de la température et de l’intensité du courant. Afin de valider le code écrit en Matlab et les tables de paramètres trouvées, un modèle SIMULINK est créé. Ce modèle reconstitue la tension de la batterie à partir des paramètres stockés. II. INITIALISER LES DONNEES Il faut tout d’abord charger les tables de données à utilisées, c.à.d. les tables ‘SOC_OCV’ (de charge ou de décharge), et ‘soc_param’ qui contient les paramètres k1, k2 et RΩ en fonction du SOC. Mais ces tables donnent des valeurs discontinues des paramètres pour les états de charge de chaque intervalle. Alors nous interpolons le vecteur de chaque paramètre avec un nouvel vecteur d’état de charge, variant de 0 à 100 et échantillonné à un pas de 0,1s pour obtenir ensuite les valeurs de k1, k2, RΩ et OCV pour tous les valeurs de SOC, à 0.1% près. D’autres valeurs sont initialisées avant de lancer le modèle SIMULINK : Le temps d’échantillonnage Te est égale 0.1s L’état de charge initial Soc_init est égale à 100 en décharge, 0 en charge La charge nominale Qnom, cherchée dans le chapitre précédant au cours du calcul du SOC, est la même en valeur absolue dans les deux phénomènes de charge et décharge, à peu près égale à 40 Ah. Le fichier d’initialisation sous MATLAB se trouve dans ANNEXE. III. MODELE SIMULINK EN CAS DE CHARGE OU DE DECHARGE Dans cette partie, nous allons parler du fonctionnement de ce modèle soit en charge soit en décharge. La partie qui suit sera consacré au fonctionnement en décharge et charge consécutives. L’obtention de la tension de la batterie se fait en six étapes (figure III-1). Etape 1 : Etablir la source de courant Dans cette étape, la source de courant est établie. Il s’agit d’une source de séquences répétitives, chaque séquence est formé d’une impulsion de courant, de durée 10 minutes, et de la phase de relaxation qui dure une heure. Dans le cas de charge, l’impulsion est de valeur 20A, et dans le cas de décharge elle est de -20A. 21 Etape 2 : Calcul du SOC instantané Dans la deuxième étape, le courant est intégré, en partant d’une valeur initiale de Q nominale pour la décharge, 0 pour la charge. Puis, la valeur sera multipliée par le gain 100/Qnom et le SOC instantané sera obtenu. A partir des étapes suivantes, le modèle de la charge et la décharge est le même. Etape 3 : Recherche de l’OCV, RΩ, k1 et k2 Les vecteurs de l’OCV, RΩ, k1 et k2, trouvés dans la phase d’initialisation des données, seront respectivement les paramètres des ‘Lookup Tables’ formant les quatre blocs ci-joints. Le vecteur SOC obtenu dans la même phase, échantillonné à 0.1 seconde est l’autre paramètre des tables, dit ‘breakpoint’. Les ‘Lookup Tables’ ont pour fonction d’interpoler les vecteurs paramètres suivant la méthode d’interpolation choisie, ici linéaire. L’entrée de ces blocs sera le SOC instantané trouvé auparavant, et obtient les valeurs de l’OCV, RΩ, k1 et k2 à chaque instant. Figure III-1: Modèle SIMULINK estimant la tension de la batterie en cas charge/décharge Il faut noter que les vecteurs OCV diffèrent entre la charge et décharge, comme nous avons vu dans le chapitre précédent, les courbes des OCV en fonction du SOC lors de la charge et la décharge ne sont pas superposées, par contre elles forment une hystérésis. Tandis que les vecteurs RΩ, k1 et k2 sont identifiés pour des données correspondantes à un phénomène de décharge, et sont considérés constants durant la charge. 22 Figure III-2: Etape 2 Figure III-3: Etape 3 Etape 4 : Recherche de la chute de tension du à RΩ Ayant les valeurs du courant et de RΩ à chaque instant, nous multiplions ces valeurs pour obtenir la valeur de la chute de tension instantanée aux bornes de RΩ. Etape 5 : Recherche de la chute de tension aux bornes l’impédance de Warburg Z W De même, les valeurs à chaque instant de k1 et k2 permettent de construire les cinq circuits RC formants l’impédance de Warburg, puis en la multipliant par le courant on obtient la tension correspondante. Le bloc Cn, dans figure III-4, cherche la capacité qui est la même pour les cinq circuits RC à partir de k1 et k2. Chacun des cinq blocs RnCn de figure III-4 cherche la résistance Rn, puis à partir de Cn et Rn cherche l’impédance équivalente du circuit. Cette impédance sera multipliée par le vecteur du courant pour donner la chute de tension aux bornes du circuit R nCn. Ce bloc est illustré pour R3C3 par exemple (figure III-6). La somme des cinq tensions, obtenues comme sorties des cinq blocs, sera la chute de tension aux bornes de l’impédance de Warburg ZW. Etape 6 : Recherche de la chute de tension aux bornes l’impédance de Warburg Z W Enfin, ayant trouvé l’OCV, la tension aux bornes de RΩ et celle aux bornes de ZW, la tension de la batterie sera la somme des trois dernières valeurs. 23 Figure III-4: Etape 5 Figure III-5: Recherche de Cn à partir de k1 et k2 Figure III-6: Bloc R3C3 Les allures des courbes pour les simulations des modèles de charge et de décharge séparément sont illustrées dans figure III-7 et figure III-8 respectivement. 24 Figure III-7: Allure des courbes de tensions réelle et estimée en charge Figure III-8: Allure des courbes de tensions réelle et estimée en décharge IV. MODELE SIMULINK EN CAS DE DECHARGE SUIVI D’UNE CHARGE Après avoir vu les différentes parties du modèle SIMULINK établit pour la charge et la décharge séparément, nous allons faire un modèle de l’ensemble sous forme de décharge complète suivi d’une charge complète. Alors le modèle vu précédemment sera modifié dans quelques étapes. Dans l’étape 1, la source de courant sera modifiée. Pour avoir une décharge complète suivi d’une charge complète, nous utilisons la même source de courant que celle de la charge, vu dans III-Etape 3, à impulsions de courant de 20A, mais la valeur du courant sera multipliée par un échelon variant de -1 à +1 assurant le courant négatif pour les premières séquences jusqu’à décharge complète, et puis le courant positif jusqu’à charge complète (figure III-9). La durée totale de la simulation sera égale à la durée des séquences de décharge, correspondante à la valeur -1 de l’échelon, plus la durée des séquences de charge, correspondante à la valeur +1. Notons que ces durées sont égales. Dans le cas de phénomène de charge ou de décharge, nous avons utilisé comme paramètre pour la ‘Lookup Table’ donnant l’OCV d’un certain état de charge, la table SOC_OCV correspondant à chaque phénomène. 25 Dans le cas de décharge suivi d’une charge, nous avons utilisé uniquement le vecteur OCV correspondant à la décharge, alors nous remarquons plus tard dans les résultats que lors de la charge, il n’y a pas une superposition des courbes de tensions reconstruite et réelle. Ce décalage est dû à la différence entre les tensions de circuits ouverts de la charge et celle de la décharge, qui apparait dans la forme hystérésis de la figure II-8. Le courant de la source établit dans la première étape est illustrée dans figure III-10. Figure III-11 illustre la variation du SOC en fonction du temps. L’état de charge est initialement à 100%, il décroit linéairement à chaque impulsion de courant négative, jusqu’à atteindre 0%. Ensuite, il augmente de la même manière et atteint à nouveau la valeur 100%. Enfin, la tension obtenue par le modèle est comparée à celle trouvée dans la base de données, parallèlement à la variation du courant en fonction du temps (figure III-12). Nous remarquons l’offset, déjà mentionné, entre les deux courbes. Figure III-9: Etape 1 du modèle SIMULINK estimant la tension de la batterie en cas de décharge suivi d’une charge Figure III-10: Profil de courant Figure III-11: Variation du SOC 26 Figure III-12: Comparaison des tensions réelle et estimée, parallèlement au profil du courant V. CONCLUSION Après l’identification des paramètres du modèle électrique et obtention des tables contenant ces paramètres en fonction du SOC, il fallait valider les résultats obtenus. Dans ce chapitre, nous avons créé un modèle SIMULINK, compatible aux données sur lesquelles nous nous sommes basés pour l’identification. Tout d’abord nous avons initialisé les tables de données, puis nous les avons interpolé pour avoir des valeurs des paramètres pour chaque 0.1% du SOC. Nous avons ensuite fait les modèles pour les phénomènes de charge et décharge séparément. Ces modèles se diffèrent entre eux dans la source de courant, la valeur initiale d’état de charge et le vecteur OCV employé. La tension de la batterie est récupérée à partir de l’OCV trouvé, la chute de tension calculée aux bornes de R Ω et celle aux bornes de l’impédance de Warburg. Ensuite, nous avons modifié les modèles pour effectuer une décharge complète suivie d’une charge complètes. 27 Enfin, la méthode d’identification a été testé, la tension reconstituée suit la tension réelle et les deux convergent vers une même valeur, pourtant les courbes de ces tensions ne se superposent pas, il reste des intervalles où ces tensions se diffèrent largement. Dans le chapitre prochain, nous allons parler de la démarche expérimentale de validation du modèle SIMULINK conçu dans ce chapitre. 28 Chapitre IV. VALIDATION EXPERIMENTALE DU MODELE SIMULINK I. INTRODUCTION Dans le chapitre précédant, un modèle SIMULINK a été créé. En donnant à ce modèle un certain courant comme consigne d’entrée, défini à une température donnée, nous obtenons une tension estimée de la batterie. Dans ce chapitre, le but du travail est de valider expérimentalement le modèle déjà conçu. Une consigne de courant est donnée en même temps au modèle SIMULINK et au pack formés de dix batteries Lithium-ion, et les tensions estimée et réelle seront récupérées et comparées entre elles. Pour cela, nous insérons le modèle déjà créé sous forme d’un bloc dans un schéma SIMULINK et ce dernier sera implanté avec DSPACE. Egalement, une interface graphique sera créé avec le programme « CONTROL DESK » et qui sert à afficher en temps réel les différentes tensions en jeu, et à contrôler les différents grandeurs durant le déroulement de la simulation. II. MODELE SIMULINK EXPERIMENTAL Le modèle SIMULINK vu dans le chapitre précédant sera représenté dans Le bloc de la figure IV1. La consigne de courant et la tension estimée de la batterie qui lui correspond, représenterons respectivement l’entrée et la sortie de ce bloc. Ce bloc sera inséré dans le schéma SIMULINK de figure IV-2. Figure IV-1 : Bloc du modèle SIMULINK créé en Chapitre III Les différentes parties du modèle SIMULINK expérimental seront détaillées en annexe. Les sorties de ce modèle, comme les tensions Ucn, défauts des tensions « Défaut Ucn » , tension récupérée … seront utilisées dans l’interface créée sur CONTROL DESK, que nous verrons dans le paragraphe suivant. III. INTERFACE SUR CONTROL DESK Le « CONTROL DESK » est le programme qui lie l’application SIMULINK à la carte DSPACE qui génère la commande pour le système. Une interface est créée sous CONTROL DESK où les variables de sortie du modèle SIMULINK expérimental (tension estimée, Ucn …) sont utilisées. Le dispositif de commande liant l’interface au DSPACE est illustré dans figure IV-3. 29 Figure IV-2 : Modèle SIMULINK expérimental Figure IV-3 : Dispositif de commande Lors de l’initialisation, l’application SIMULINK est chargée sur CONTROL DESK, les variables du SIMULINK seront identifiées à celles de l’interface et nous pourrons commencer la manipulation du système commande-batterie. Les différentes parties de l’interface créée sur CONTROL DESK (figure IV-4) seront expliquées en annexe. 30 Figure IV-4 : Interface sur CONTROL DESK IV. SCHEMA DE PUISSANCE Après avoir parlé de la partie commande (application sous SIMULINK et interface sous CONTROL DESK) (figure IV-5), il est temps d’exploiter le schéma de puissance de notre système (figure IV-6). La commande envoyée de DSPACE vers le système arrive à une alimentation « Regatron » (figure IV-7). Dans le cas de charge, c.à.d. courant positif, cet élément du circuit est responsable d’alimenter la charge (pack de batteries) avec le courant donné par la commande. Par contre, dans le cas de décharge, commande de courant négative, l’alimentation Regatron envoie une commande à « Charge H&H » (figure IV-8), qui est un circuit de décharge de la batterie, réglable en fonction du courant de décharge donné par la commande. La relation entre l’alimentation Regatron et la Charge H&H est une relation Maitre-Esclave, H&H ne pouvant travailler que sous l’ordre de Regatron pour une consigne de courant négative. Nous trouvons en annexe les spécifications de ces deux éléments. 31 Figure IV-5 : Schéma de puissance du système Figure IV-6 : Alimentation Regatron Figure IV-7 : Charge H&H 32 Avant d’arriver au pack de batteries, un circuit de protection est placé (figure IV-8). Il est principalement formé d’un fusible 250A. Un circuit de sécurité est placé aussi entre la batterie et le tableau d’alimentation (figure IV-8), il permet de débrancher l’alimentation du système en cas où les tensions des cellules du pack dépassent les tensions limites de fonctionnement sain. Figure IV-8 : Circuit de sécurité et de protection Les cellules de Lithium-ion sont placées à la fin du schéma. Figure IV-9 et figure IV-10 montrent le pack de batteries placé dans une enceinte. Figure IV-9 : Pack de batteries placé dans l’enceinte Figure IV-10 : Enceinte fermée contenant le pack 33 V. DEROULEMENT DE L’EXPERIENCE ET RESULTATS Les tensions des batteries du pack sont mesurées dans une phase de repos. Les mesures nous donnent la tension en circuit ouvert de chaque batterie et par suite nous pouvons estimer son état de charge (relation entre SOC et OCV), notons que les états de charge des cellules du pack se différent légèrement. Le modèle de la batterie sera initialisé par conséquence au SOC réel du pack et nous serons prêts à commencer l’expérience. La consigne de courant NEDC utilisé dans ce test dure environ une demi-heure. A la fin de cette période, nous récupérons les différentes tensions aux bornes des dix batteries et du pack en total et celles estimées par le modèle. Nous avons trouvé des résultats satisfaisantes, l’erreur entre les tensions estimées et réelles mesurées est faible, et par conséquence le modèle SIMULINK est validé et peut représenter dorénavant le fonctionnement de la batterie dans les conditions testées. Figure IV-11 montrent les variations des tensions réelles et estimées aux bornes du pack de cellules, parallèlement au profil du courant de commande. L’allure des deux courbes de tensions est la même mais un décalage entre les courbes est remarqué pour ces relevés, il est dû au fait que le modèle n’est pas initialisé à l’état de charge initial du pack. Figure IV-11 : Variations des tensions estimée et réelle aux bornes du pack des batteries VI. CONCLUSION Dans ce chapitre, nous avons validé le modèle préalablement créé sous SIMULINK. Nous avons tout d’abord inséré ce modèle dans un autre schéma SIMULINK conçu pour être implanter sur DSPACE avec des variables d’entrées et de sorties récupérées à partir des convertisseurs. Puis une interface a été créée sous CONTROL DESK qui nous permet de contrôler l’évolution de l’expérience. Le schéma de puissance du système a été ensuite introduit, et enfin nous avons parlé du déroulement de l’expérience et visualiser quelques résultats. 34 Dans le chapitre suivant, nous allons boucler le système et former un observateur à l’aide de l’algorithme du filtre de Kalman qui peut corriger les résultats obtenus (figure IV-11) à cause des états de charges initiaux différents du modèle et de la batterie 35 Chapitre V. OBSERVATEUR PAR FILTRE DE KALMAN I. INTRODUCTION Dans les chapitres précédents, nous avons réalisé un estimateur d’état de charge. Cet estimateur a été validé en temps réel par implantation sur DSPACE et essai sur un pack formé de 10 batteries Lithium-ion. Cependant, si l’état de charge initialisé dans le modèle est diffèrent de celui réel des batteries, l’évolution du SOC estimé dépendra uniquement du SOC initialisé dans le modèle et du courant appliqué aux batteries et par conséquence la tension estimée ne correspondra plus à la tension réelle aux bornes des batteries. Pour cela, une correction du SOC est nécessaire pour pouvoir bien estimer cette grandeur. Cette correction est assurée en bouclant le système d’estimation, et par conséquence formation d’un observateur. II. MODELE DE L’OBSERVATEUR Le concept de l’observateur se base sur l’algorithme du filtre de Kalman vu dans le premier chapitre. Figure V-1 et figure V-2 montrent respectivement le modèle de l’observateur et son schéma correspondant sous SIMULINK. L’erreur résultante des tensions estimée et réelle est multipliée avec Kg, le gain du filtre de Kalman trouvé d’une façon itérative à partir des matrices de réglages Pk, Q et R, et les valeurs résultantes ( et ) seront ajoutées aux variables correspondantes dans le modèle. Il faut noter que les valeurs de k1 et k2 sont considérer constantes et invariables en fonction du SOC, les moyennes des valeurs de ces deux variables trouvées dans les tables seront utilisées dans le modèle. Le modèle de figure V-2 est détaillé en annexe. Figure V-1 : Modèle de l’observateur. 36 Figure V-2 : Modèle de l’observateur sous SIMULINK. III. VERIFICATION DU MODELE PAR SIMULATION Avant de valider l’observateur, il faut tout d’abord vérifier le modèle par simulation. Pour cela, les données seront initialisées à partir du code trouvé en annexe où les matrices P, Q et R sont initialisées aussi. Les résultats montrent l’influence de ces matrices sur la dynamique de l’observateur. Prenons, par exemple, les deux cas illustrés dans figure V-3 et figure V-4. En initialisant l’état de charge dans le modèle à 20%, et sachant que le SOC réel de la batterie est à 50%, nous obtenons deux évolutions différentes du SOC corrigé en modifiant uniquement la matrice Q, avec R et P0 inchangées. La première évolution de l’état de charge estimé est très lente, il y a convergence à 2% environ à la fin de l’essai tandis que la deuxième est très rapide, mais ne converge pas et l’erreur entre le SOC réel et celui estimé varie violement entre 0% et 10%. L’erreur dans les deux cas est due à l’utilisation de la tension relevée lors de la validation du modèle SIMULINK auparavant (Chapitre IV), qui présente des paliers s’élevant jusqu’à 20mV, comme le montre figure V-5. Cela affecte la différence entre les tensions estimée et mesurée, et l’estimation du SOC à la fin sera imprécise. 37 Figure V-3 : Comparaison entre SOC réel et SOC estimé (premier cas) Figure V-4 : Comparaison entre SOC réel et SOC estimé (deuxième cas) I. ESSAI EXPERIMENTAL ET RESULTATS Le bloc utilisé auparavant pour estimer les tensions des batteries dans le schéma SIMULINK vu dans le chapitre IV (figure IV-2) est remplacé par le bloc illustré dans figure V-6. Ce bloc prend comme variables d’entrées les tensions des dix batteries et le courant, puis il estime la tension et observe l’état de charge de chaque batterie grâce à dix schéma comme celui illustré dans figure V7 qui contient le modèle modifié et vérifié précédemment. Nous aurons à la sortie du bloc les SOC estimé et réel, tension estimée et les erreurs sur SOC et tension correspondants à chaque batterie. 38 Figure V-5 : Tension aux bornes d’une batterie récupérée lors de la validation expérimentale du modèle Figure V-6 : Bloc estimateur des tensions et observateur des états de charges des batteries 39 Figure V-7 : Calcul pour chaque cellule du pack les SOC estimé et réel, tension estimée et les erreurs sur SOC et tension. De même, l’interface CONTROL DESK sera modifiée. Ce qui nous importe le plus dans ces essais c’est l’évolution des SOC estimé et réel de chaque batterie, alors les graphes de l’interface afficheront les erreurs de SOC dans un premier lieu, ainsi que les SOC estimé et réel et les tensions estimée et réelle d’une batterie quelconque choisie parmi les dix du pack. Tous les autres éléments de l’interface restent inchangés. Après implantation avec DSPACE à nouveau, les essais sont refaits et les résultats concernant l’évolution de l’état de charge pour une batterie du pack, sont illustrés dans figure V-8. Nous remarquons qu’il n’a pas corrélation entre les résultats des simulations et ceux des essais. Cette différence est peut être due ou bien à la précision de la mesure des différentes tensions des batteries, ou bien au faux réglage des matrices P, Q et R qui doivent être adaptées à l’environnement de fonctionnement. Figure V-8 : Calcul pour chaque cellule du pack les SOC estimé et réel, tension estimée et les erreurs sur SOC et tension. 40 II. CONCLUSION Dans ce chapitre, nous avons introduit au système d’estimation d’état de charge l’algorithme du filtre de Kalman. Par conséquence, un observateur d’état de charge a été obtenu, capable de converger le SOC estimé vers le SOC réel de la batterie. Le modèle de l’observateur a été réalisé sous SIMULINK et puis vérifié par simulation. Les résultats obtenus pour des matrices de réglages P, Q et R convenables ont montrés que l’erreur entre SOC estimé et SOC réel est minimisé jusqu’à 10% et non pas plus à cause des données de tension utilisées comme entrée du filtre de Kalman. Ces données, mesurées dans un essai précédent, présentent des imprécisions de mesures. Les essais expérimentaux montrent aussi des résultats imprécis, cela peut être causé par une mesure imprécise des tensions des batteries ou des faux réglages des matrices P, Q et R. 41 Conclusion générale et perspectives La gestion d’énergie dans les applications embarquées est indispensable pour optimiser la consommation ainsi que la durée de vie des accumulateurs. La connaissance de l’état de charge sera essentielle surtout pour la mise en sécurité de ces accumulateurs. Ce stage porte sur le sujet d’observation de l’état de charge des accumulateurs présents dans la plateforme SIRTEX. Après avoir précisé les différents phénomènes qui se déroulent au sein de la batterie Lithiumion, un modèle électrique équivalent a été définit. Un code automatique d’optimisation est écrit ensuite sous Matlab, permettant de générer les paramètres de ce modèle à partir de tables de données de différentes températures et courants. Le modèle électrique ainsi trouvé a été vérifié par un autre créé sous SIMULINK. Nous obtenons une corrélation ente la tension estimée par ce modèle et celle mesurée expérimentalement. Les essais expérimentaux sur les accumulateurs de la plateforme pour un profil de courant NEDC ont également validé le modèle électrique. L’estimation de l’état de charge en temps réel était précise. Cependant, ce modèle conçu est incapable de corriger l’état de charge estimé dans le cas où celui-ci est initialisé différent de l’état de charge réel de la batterie. Pour cela, le système a été bouclé en introduisant l’algorithme de filtre de Kalman et l’observateur obtenu sera réglé pour représenter l’état de fonctionnement en cours. La vérification du nouveau modèle a été faite en modifiant les matrices de réglage qui déterminent la dynamique de l’observateur. En fait, l’état de charge estimé a pu évoluer rapidement vers l’état de charge réel et nous avons obtenu le SOC estimé à 10% près en quelques instants. Cette imprécision a été principalement due à l’utilisation des données de tensions bruitées, récupérées des essais précédents, dans la simulation. La validation expérimentale du modèle a donné également une estimation imprécise de l’état de charge. Cela revient peut-être aux bruits trouvés au niveau d’acquisition des tensions, ou à un faux réglage des matrices P, Q et R. En total, ce travail a permis d’appliquer des algorithmes élaborés dans des thèses précédentes. L’observation de l’état de charge en système de boucle fermé a été validée expérimentalement sur la plateforme SIRTEX pour la première fois. Bien que la robustesse de la méthode d’identification ait été testée, il est nécessaire d’élargir la base de données utilisée par des relevées des expériences faites à plusieurs niveaux de températures et de courants, et par conséquence, élargir le tableau de paramètres récupérées. Au niveau de l’observateur par filtre de Kalman, les paramètres k1 et k2 sont considérés constants en fonction de l’état de charge dans notre étude. En fait, cette dernière hypothèse est adoptée afin de simplifier l’étude en premier temps et utiliser l’algorithme de filtre de Kalman linéaire, d’où la nécessité de refaire l’étude en tenant compte de la relation entre ces paramètres et l’état de charge trouvée précédemment. De même, l’imprécision des résultats expérimentaux se rapportant à la validation de l’observateur a mis le point sur des problèmes faisant face à l’acquisition des paramètres mis en relief. En traitant le bruit provenant de la conversion analogique-numérique des données, nous serons capables de juger la performance et la validité du modèle de l’observateur. 42 L’expérience a montré que les matrices de réglages, identifiées adéquates durant la simulation, ne sont pas appropriées pour les cas réels, il sera recommandé de trouver à nouveau des matrices convenables. Après traitement des problèmes, la validation de ce modèle permet son utilisation dans d’autres applications tout simplement en changeant les bases de données et le faire adopter à l’environnement de fonctionnement. 43 Annexe A Généralités des batteries au Lithium Afin de réaliser une batterie ayant une f.é.m. élevée, il faut que la cathode et l’anode de cette batterie soient composées des matériaux les plus électronégatifs et électropositifs possible respectivement. Faisant partie des matériaux les plus électropositifs, le Lithium est utilisé aussi pour sa faible masse volumique, ce qui augmente sa densité massique de stockage. A.1- Accumulateur lithium métal Les premières batteries au lithium prennent leur origine dans les années 1960. Elles sont apparues sous la forme de batterie lithium métal : cette désignation implique que l’électrode négative est constituée de lithium sous forme métallique, un électrolyte non aqueux, à cause de la forte réactivité du lithium avec l’eau, et une électrode positive capable de capter et restituer des ions lithium (Li+). Chacun de ces matériaux est monté sur des collecteurs de courant afin d’acheminer les charges jusqu’aux bornes de l’accumulateur (Figure A-1). Figure A-1 : Structure d'un accumulateur Lithium métal 44 Ces batteries lithium métal souffrent cependant de deux principaux problèmes : Le lithium réagit avec l’électrolyte, formant une couche de sel de lithium, dite couche de passivation, à la surface du métal. Cette couche isolante inhibe les possibilités d’échanges ultérieurs de charges. Une des solutions envisagées est l’utilisation d’un électrolyte moins réactif avec le lithium, en l’occurrence un électrolyte polymère solide. Formation de dendrites à la surface des électrodes de lithium qui hérissent cette surface, et leur croissance tend à provoquer des court-circuits entre les électrodes (figure A-2). La répétition de ces court-circuits contribue à une auto décharge de la cellule. Figure A-2 : Illustration de dendrites (Source : [ORSINI et al., 1999] [ROSSO et al., 2006]. A.2- Accumulateur lithium-ion Pour pallier les problèmes rencontrés dans les accumulateurs lithium métal, la solution radicale d’abandonner le lithium sous forme métallique au niveau de l’anode a été adoptée au profit d’un composé d’insertion. Le graphite apparaît comme le meilleur candidat pour ce rôle. En effet, les propriétés d’insertion du carbone ont été démontrées, jusqu’à 1 ion lithium pour 6 atomes de carbone (LiC6). Au cours de la première insertion de lithium dans le graphite, une partie est totalement consommée de façon irréversible. Ce phénomène est dû à la décomposition de l’électrolyte et à la formation d’un film passivant à la surface de l’électrode (film SEI). Contrairement à l’anode de lithium métallique, ce phénomène est indispensable pour le bon fonctionnement de la cellule. La SEI permet d’éviter la réduction de l’électrolyte en retenant les ions Li + dans le carbone. Il faut cependant que cette couche soit suffisamment poreuse pour laisser passer les ions Li+ lors des cycles de charge/décharge. Cette couche de passivation peut avoir des inconvénients car elle augmente la résistance interne de l'élément ce qui provoque une chute de tension lors de l'utilisation. La SEI ne représente pas un problème majeur, mais elle le deviendra en fin de vie des cellules, diminuant sa capacité à restituer ou accepter les ions. La figure A-3 représente la structure d’une cellule Li ion. Au niveau de la cathode le choix du matériau du composé d’insertion déterminera le niveau de tension de la cellule. Bien qu’il n’y ait pas de frontière, on distingue pour la cathode les matériaux dits "basse tension" des matériaux "haute tension". La table A.1 recense une partie des matériaux les plus couramment utilisés pour constituer l’électrode positive. 45 Dès lors que la mise en œuvre de l’accumulateur se tourne vers des applications de puissance, le choix du matériau d’insertion "haute tension" pour la cathode est privilégié. Actuellement, le LiFePO4 est un matériau qui semble s’imposer dans les applications de puissance et à large diffusion. Il présente en effet de nombreux avantages dont, le faible coût, l’absence de toxicité, une capacité relativement importante, une durée de vie importante. L’électrolyte utilisé dans les accumulateurs doit être compatible avec les matériaux d’électrodes. Dans le cas des accumulateurs au lithium, l’électrolyte ne peut être aqueux en raison de la réactivité du lithium avec l’eau. L’électrolyte doit également être stable thermiquement, assurer une bonne conductivité ionique. Figure A-3: Structure d'un accumulateur Lithium-ion On distingue deux catégories d’électrolytes : - des électrolytes composés de sels de lithium et de solvants organiques - des électrolytes polymères : il s’agit en fait de sels de lithium insérés dans des matrices polymères. Ce polymère peut faire office de séparateur. Globalement, il s’agit en fait de sels de lithium dans un solvant. Il apparaît à ce jour, que LiPF 6 associé à un carbonate d’alkyl comme solvant, représente l’électrolyte le plus approprié pour un accumulateur Li ion. 46 Table A-1:Matériau d'insertion pour la cathode (Source: Techniques de l'ingénieur) 47 Annexe B Modélisation des batteries au Lithium B.1 - Réactions chimiques principales Comme nous l’avons évoqué dans l’annexe précédente, le principe de fonctionnement d’un accumulateur Lithium ion repose sur le principe d’échange d’ions lithium d’une électrode à une autre. Pour des raisons de disponibilité commerciale et de technologie prometteuse, notre choix s’est porté sur une batterie LiFePO4. Les principales réactions en charge et en décharge d’un accumulateur LiFePO4 sont présentées ci-dessous. Réaction en charge à la cathode LiFePO4 → xLi + +xe− + Li1−x FePO4 Réaction en décharge à la cathode Li1−x FePO4 + xLi + + xe − → LiFePO4 Lors de la charge, des ions lithium Li + sont extraits du LiFePO4 et des ions Fe2+ sont oxydés en Fe3+. Les ions lithium sont alors transportés à l’anode par l’électrolyte où ils sont réduits pour reprendre un aspect métallique (Lithium métal), tandis que les électrons sont insérés dans le graphite. Au niveau de l’électrode négative, les phénomènes d’insertion et de désinsertion des ions lithium dans le graphite s’expriment par les réactions suivantes : Réaction en charge à l’anode C6 + xLi+ + xe− → LixC6 Réaction en décharge à l’anode LixC6 → C6 + xLi+ + xe− La formation de LixC6 résulte de l’insertion d’atomes de lithium entre les plans carbonés de l’anode. A température ambiante, le graphite peut accueillir un atome de lithium pour six atomes de carbone. Lors d’une charge d’une cellule Lithium ion, la proportion d’atomes de lithium par rapport au nombre d’atomes de carbone évolue. Ainsi, lors d’une charge, la formation de LiC 32 est préalable à celle de LiC12 puis à LiC6. Ces changements se traduisent par des plateaux de potentiel visibles sur la courbe du potentiel d’équilibre. B.2 - Principaux phénomènes électrochimiques Lors d’une charge ou d’une décharge d’un accumulateur, des phénomènes électrochimiques agissent en même temps au niveau de chaque électrodes. Ces phénomènes se groupent en deux 48 catégories qui seront détaillées dans les parties suivantes : les phénomènes statiques et dynamiques. B.2.1 - Phénomènes statiques Les potentiels chimique et électrochimique sont définis à partir de l’état thermodynamique de la matière et seront associés ensuite au potentiel électrique. Potentiel chimique Le potentiel chimique est la capacité d’une espèce i à migrer vers un milieu moins « hostile » lorsqu’elle est soumise à des interactions avec son milieu plus ou moins répulsives. Une différence de potentiel chimique entre deux constituants (ici les électrodes) conduit à un transfert de matière pour égaliser les potentiels chimiques. On définit le potentiel chimique d’une espèce i par la relation suivante : Avec : le potentiel chimique propre du constituant dans l’état standard à la température . l’activité de l’espèce . R la constante de Boltzmann R=8314J/mol.K. la température. Potentiel Electrochimique La notion de potentiel électrochimique a été introduite par Butler et Guggenheim pour tenir compte de l’effet du gradient de champ électrique sur les espèces chargées présentes en solution. Le potentiel électrochimique est défini par la relation suivante: ̅ Avec : ̅ le potentiel électrochimique de l’espèce chargée . le nombre de charge de l’espèce i. F la constante de Faraday F=96500C. le potentiel électrostatique de la phase où se trouve l’élément ou potentiel de Galvani. le potentiel défini par la relation précédente concernant le potentiel chimique. Relation de Nernst La relation de Nernst est l’équation permettant de relier le potentiel réversible d’une électrode à la variation d’enthalpie libre de la réaction d’oxydo-réduction considérée. Dans notre cas, cette équation est donnée par ΔG = − nFE La variation d’enthalpie libre ΔG est également fonction des potentiels chimiques et électrochimiques des espèces présentes dans la réaction considérée. ΔG est donnée par l’expression suivante : ΔG = Σ νi µi Où νi représente les coefficients stœchiométriques des réactifs et des produits. Par convention les coefficients des produits sont positifs et ceux des réactifs sont négatifs. µ i représente le potentiel chimique de l’espèce i. 49 Compte tenu des relations précédentes, nous constatons que le potentiel d’électrode E est directement lié aux potentiels chimiques ou électrochimiques. De ce fait nous le considérerons également en tant que phénomène statique. Potentiel électrique d’électrode Lorsqu’une électrode est le siège d’une réaction d’oxydo-réduction, son potentiel est défini par l’équation suivante : Avec le potentiel d’électrode standard en V et l’activité du réducteur. , l’activité de l’oxydant et Résistance interne La circulation du courant au cœur de la solution est essentiellement due à la migration des ions. Afin de caractériser le déplacement de ces espèces, nous définissons la conductivité K d’un électrolyte, ∑| | Avec la concentration de l’espèce considérée , charge de l’espèce . la mobilité de l’espèce ionique , la A partir de la conductivité nous introduisons la résistance Re de l’électrolyte, contenu entre 2 électrodes de surface A et distantes d’une épaisseur . Enfin, la résistance interne RΩ d’un accumulateur résulte de la somme de deux termes distincts. D’une part les diverses résistances de connectique Rc, d’autre part la résistance Re de l’électrolyte déjà citée: RΩ = Rc + Re Les phénomènes statiques ne sont pas les seuls présents dans les batteries, il faut également prendre en considération les phénomènes dynamiques, qui modifient énormément le comportement de la batterie. B.2.2 - Phénomènes dynamiques En général, nous trouvons trois phénomènes dynamiques : le transfert de charge, le phénomène de double couche et le transfert de masse. Transfert de charge Pour une réaction d’oxydoréduction, la cinétique chimique permet de relier le courant circulant à travers l’électrode considérée et l’ensemble des phénomènes dynamiques, donnée par [LANDOLT, 1993] : ⏟ ̅ ⏟ ̅ 50 Cette équation traduit l’interaction qui existe entre les réactions d’oxydation et de réduction Le courant résultant est la somme du courant résultant de l’oxydation et résultant de la réduction. Avec : le coefficient de transfert de charge à l’anode. le potentiel d’équilibre. la concentration des réducteurs à la surface de l’électrode considérée. ̅ la concentration des réducteurs dans la solution. la concentration des oxydants à la surface de l’électrode considérée. ̅ la concentration des oxydants dans la solution. En négligeant les transferts de charge, les concentrations des réactifs et des produits sont uniformes dans l’électrolyte : ̅ Et ̅ En posant et transfert de charge : Avec nous obtenons l’équation de Butler-Vollmer régissant le le courant d’échange défini par : ̅ ̅ ̅ ̅ , Où le coefficient de charge à la cathode, le surpotentiel de l’électrode dû au transfert de charge, la surface d’électrode où se déroule la réaction d’oxydoréduction et le temps mis par la réaction pour atteindre l’équilibre. Ainsi, l’équation de Butler-Vollmer caractérise la réaction électrochimique du transfert de charge décrivant le surpotentiel de transfert de charge. Le surpotentiel est souvent représenté par une résistance non constante, qui dépend de la température, de l’état de charge (SOC), de l’âge de la batterie et du courant. La capacité de double couche La double couche électrique est la zone correspondante à l’interface électrode électrolyte où on peut observer une séparation des charges électriques. Le modèle de Helmholtz est l’un des plus simples modèles développés pour décrire les propriétés électriques de la double couche. Il associe la capacité de double couche à un condensateur plan et suppose que les charges positives et négatives sont situées dans deux plans séparés par une distance L H . Pour ce modèle particulier, la valeur de la capacité surfacique est donnée par l’expression suivante : Avec : la constante diélectrique du milieu. la permittivité du vide. 51 la distance séparant les charges positives et négatives. la densité de charge. la différence de potentiel entre l’électrode et l’électrolyte. Agissant à la surface des électrodes, ce phénomène apparait en parallèle de la réaction électrochimique du transfert de charge définie par l’équation de Butler-Vollmer. Le phénomène du transfert de charge est modélisé par la résistance placée en parallèle de la capacité double couche . La capacité double couche est également influencée par le SOC, la température, le courant et l’âge de la batterie. Le courant qui traverse la batterie se divise en deux, une partie vers , l’autre vers . La capacité se charge rapidement car elle ne peut emmagasiner qu’une charge limitée, le courant traverse donc la résistance après un temps court. Après l’impulsion ou pendant une phase de pause avec un faible courant, la capacité double couche se décharge et les charges circulent vers . Ces éléments en parallèle forment donc un filtre passe bas. Le transfert de masse C’est le transfert de la matière du cœur de l’électrolyte à la surface de l’électrode et vice-versa. Trois processus distincts sont à l’origine de ce phénomène : la diffusion, la migration et la convection. Le transport par diffusion C’est le déplacement d’une espèce i sous l’effet d’un gradient de potentiel chimique. En d’autres termes une variation spatiale de concentration d’une espèce i se traduit par un flux dont l’expression est donnée par la 1ère loi de Fick : Avec : le coefficient de diffusion de l’espèce en la concentration de l’espèce en . . La figure B-1 illustre le phénomène de diffusion aux différents endroits de la cellule. Figure B-1: Illustration du phénomène de diffusion Le transport par migration Le champ électrique contribue aussi au déplacement des espèces chargées (les ions). Le flux résultant est donné par l’expression : Avec le potentiel électrostatique au point à l’instant et la charge de l’espèce i. 52 Le transport par convection C’est le déplacement de matière sous l’effet d’un gradient de température de pression ou d’agitation mécanique. L’expression du flux pour ce mouvement est donnée par l’équation : Avec la vitesse du fluide en mouvement en . Lorsque les trois modes de transport contribuent au déplacement d’une même espèce i, ce déplacement est déterminé par l’équation de Nernst-Planck suivante : La diffusion est en majeure partie responsable du transfert de masse, c’est pourquoi on néglige généralement les phénomènes de migration et de convection dans la modélisation des cellules. B.3- Impédancemétrie L’impédance est déterminée par la technique EIS (Electrochemical Impedance Spectroscopy). La spectroscopie d’impédance est une méthode expérimentale utilisée généralement pour caractériser les phénomènes dynamiques dans les matériaux, et a également été utilisée pour caractériser l’impédance d’accumulateurs électriques. Le principe de cette méthode est présenté par [Huet, 2000]; il consiste à imposer à une fréquence donnée , un courant sinusoïdal autour de la tension de repos de la batterie: Pour chaque fréquence Avec la phase entre charge. on en déduit le module et la phase de l’impédance de la batterie : et . Cette opération sera répétée pour des différents états de Les mesures d’impédance sont généralement représentées par un diagramme de Nyquist, où l’impédance est mesurée à une température donnée pour un état de charge donné. Par exemple, nous illustrons la courbe caractéristique de l’impédance réelle d’une batterie Li-Ion à SOC 60% (figure B-2). Cette impédance est mesurée à la température d’ambiance (25°C) pour des fréquences de 2mHz à 5kHz. Cette courbe de Nyquist peut être divisée en 3 zones de fréquences différentes (haute, moyenne et basse fréquence) : Dans la zone où la fréquence est supérieure à 1 kHz, la partie imaginaire de l’impédance est positive, qui traduit le comportement inductif de la batterie à haute fréquence (souvent négligé). Cette zone est limitée par la présence de la résistance RΩ. Dans la zone de moyenne fréquence (de 5 Hz à 1 kHz), les phénomènes de transfert de charge et de double couche apparaissent dans le plan de Nyquist sous la forme d’un demi-cercle, limité par la somme des résistances de RΩ et RTC (transfert de charge). 53 Le phénomène de diffusion se manifeste théoriquement par une droite à 45° à basse fréquence. Figure B-2: Diagramme de Nyquist de l'impédance complexe d'une batterie (fréquence en Hz) A partir de ces mesures, il est donc possible de représenter le fonctionnement général de la batterie sous forme de circuit électrique équivalent (figure B-3). L’utilisation de ce dernier est un bon moyen de représenter les phénomènes physiques inconnus qui apparaissent dans les cellules. Ce mode de représentation permet également de modéliser les phénomènes thermiques qui ont lieu dans les batteries. Figure B-3: Circuit électrique équivalent d'une électrode Les différentes parties de ce circuit seront : Le générateur Eeq correspond à la tension en circuit ouvert (OCV) d’une batterie. La résistance représente la somme des résistances de connectiques et d’électrolyte. Elle est obtenue à partir du diagramme de Nyquist. Le circuit et permet de représenter le demi-cercle dans le plan de Nyquist, caractéristique de la double couche et du transfert de charge. L’impédance de Warburg pour représenter le phénomène de diffusion. théoriquement caractérisé par une pente à 45° sur le diagramme de Nyquist. La tension en circuit ouvert correspond physiquement au potentiel électrochimique d’équilibre des espèces aux électrodes. Cette tension s’obtient par la mesure de tension à vide après une période de repos. Les mesures s’effectuent à chaque état de charge, en charge ou décharge après une période minimale de relaxation soit jusqu’à ce que les variations de tension à vide deviennent inférieure à 54 une valeur de seuil de l’ordre de 0.1mV/h.. Cela permet d’extraire les courbes d’OCV (figure B-4). Il faut noter que ces mesures sont dépendantes de la température. Figure B-4: Courbe d’OCV charge/décharge 55 Annexe C Filtre de Kalman discret Les estimations du filtre de Kalman reposent avant tout sur une modélisation de la dynamique du système observé. Cette modélisation doit tenir compte non seulement de la dynamique propre du système, mais également des bruits (bruits ou incertitudes) sur les états et mesures. Considérons la représentation d’état d’un système linéaire discrétisé : { Où A, B, C et D représentent respectivement les matrices de transition, de commande, de sortie et de lien entre commande et sortie, x est le vecteur d’état, u le vecteur de commande, y le vecteur de sortie, v le vecteur des bruits d’état et w le vecteur des bruits de mesure. Les étapes du fonctionnement d’un filtre de Kalman sont représentées dans le tableau cidessous. Le filtre de Kalman Linéaire . Définir le modèle d’état stochastique du système linéaire : { Définir Initialisation ̂ }; { } ; ̂ Pour k=1,2,… faire -Prédiction de la variable d’état ̂ -Prédiction de la matrice de covariance (erreur d’estimation) ̂ +Q -Mise à jour du gain de Kalman -Estimation de la variable d’état et correction de la prédiction ̂ -Estimation de l’erreur d’estimation ̂ 56 En premier lieu le modèle du système doit être défini. L’initialisation des matrices de covariance de bruits d’état Q et de mesures R, permet de fixer le niveau supposé de l’incertitude entre le modèle et le système réel. Pour cela on suppose que les bruits et incertitudes obéissent à des lois normales, c’est-à-dire que les bruits sont supposés être blancs, gaussiens et centrés. On initialise ensuite la matrice de covariance d’erreur P0 basée sur les erreurs supposées sur chaque état, ainsi que le vecteur d’état initial x0. On procède ensuite à chaque période d’échantillonnage, à une phase de prédiction puis une phase de correction. La phase d’estimation utilise le modèle du système et les États prédits et corrigés au pas d’échantillonnage précédent. Dans cette même phase de prédiction, on estime la matrice de covariance d’erreur en prenant en compte les bruits d’État. En tenant compte du bruit de mesure, on utilise la matrice de covariance d’erreur pour calculer le vecteur gain de correction. La phase de correction peut alors s’effectuer : la prédiction du vecteur d’État est alors corrigée par le biais de l’erreur entre les sorties mesurées et estimées pondérées par le gain de correction. On effectue ensuite une correction de la matrice de covariance d’erreur. Remarques : L’expression de gain optimal Kg peut faire l’objet de considérations simples : - - Quand la covariance de l’erreur de mesure R est très faible, cela rend compte d’une grande confiance dans la mesure. Dans ce cas, le gain de Kalman est très fort (proche de 1) et les sorties estimées seront quasi identiques aux mesures, ce qui ne permettra pas un filtrage correct (donc un rejet des incertitudes) et donc pas non plus une observation correcte des États. En revanche, quand la covariance de l’erreur estimée Q est très faible, cela rend compte d’une grande confiance dans les estimations et moins dans les mesures, le gain de Kalman devient alors très faible. Cela engendre une dynamique très lente de la convergence des observations. L’une des difficultés de l’utilisation du filtre de Kalman repose sur la pertinence du choix des valeurs de matrices Q et R qui permettent d’accorder plus ou moins d’importance, respectivement au modèle ou aux mesures. Filtre de Kalman discret L’observation des états du système peut être étendue, notamment à l’observation des paramètres p1…pn du système : { Dans cette configuration, les paramètres observés apparaissent dans le vecteur d’état étendu ce qui engendre au sein des équations du système des produits entre états. L’équation d’état du système étendu aux paramètres s’apparente à celle d’un système non linéaire. { 57 L’utilisation de l’algorithme du filtre de Kalman sur le système étendu, implique la linéarisation des équations d’état autour du point de fonctionnement. Cette linéarisation est réalisée par le calcul des Jacobiennes F et G à chaque pas d’échantillonnage. Le tableau ci-dessous présente l’algorithme du filtre de Kalman étendu. On notera qu’à l’étape de prédiction des variables d’état, la linéarisation n’est pas obligatoire. Le filtre de Kalman Etendu . Définir le modèle d’état stochastique du système non linéaire : { Définir }; { } ; ̂ Initialisation ̂ Pour k=1,2,… faire -Prédiction de la variable d’état ̂ -Linéarisation : calcul des jacobiennes |̂ , |̂ -Prédiction de la matrice de covariance (erreur d’estimation) ̂ +Q -Mise à jour du gain de Kalman -Estimation de la variable d’état et correction de la prédiction ̂ -Estimation de l’erreur d’estimation ̂ . 58 Annexe D Code principal %--------------------------------------------------% % IDENTIFICATION de la courbe d'OCV % à partir de la réponse temporelle % d'une succession de pulse en decharge %--------------------------------------------------% clc clear all close all load v366_pulse_dech_T25_Csur2; %charge fichier de données X=v366_pulse_dech_T25_Csur2; Te = 0.1; SOC_initial = 100 % SOC initial supposé %-----------------------------------------------------% Calcul de la capacité et des variations de SOC % ATTENTION capacité en Ah (et non en As) %-----------------------------------------------------cumul_courant_fois_TE = cumsum(X(:,3))*Te/3600; %ATTENTION on suppose Te constant pendant tous les pulses % On suppose partir de SOC_initial (100%) % La capacité vaut donc Qnominal = abs(min(cumul_courant_fois_TE)); SOC = SOC_initial*ones( length(cumul_courant_fois_TE) , 1 ); SOC = SOC + cumul_courant_fois_TE*100/Qnominal; gradient_tension = diff(X(:,2)) ; %calcul les variations de tension pour detecter les instants où on applique les pulses min_grad = min(gradient_tension); [loc_index]=find(gradient_tension < min_grad*0.72 ); %recherche les instants d'application des pulses de courant négatifs l=2; while l<=length(loc_index) if loc_index(l)==loc_index(l-1)+1; loc_index(l)=[]; 59 else l=l+1; end end LOC_OCV_dech=[]; SOC_OCV_dech=[]; for k = 1:length(loc_index) LOC_OCV_dech = [LOC_OCV_dech ; loc_index(k)-2 X(loc_index(k)-2,2) ]; SOC_OCV_dech = [SOC_OCV_dech ; SOC(loc_index(k)-2,1) X(loc_index(k)-2,2) ]; end %---- Trace pour verrifier l'emplacement des OCV retenis ----figure(1) subplot(2,1,1) plot(X(:,2),'r') hold plot(LOC_OCV_dech(:,1),LOC_OCV_dech(:,2),'+b') title('Emplacements des OCV retenus sur la courbe en décharge') xlabel('Temps (s)') ylabel('Tension (V)') %---------- Trace OCV versus SOC ------------subplot(2,1,2) plot(SOC_OCV_dech(:,1),SOC_OCV_dech(:,2),'+b') xlabel('SOC (%)') ylabel('OCV (V)') %--------------------------------------------------% % IDENTIFICATION des paramètres k1 et k2 % à partir de la réponse temporelle % d'un échelon en courant %--------------------------------------------------% %--------------------------------------------------% % Obtenir les tables des SOC et des indexes % correspondants au instants d'application des % pulses de courant, en fonction d'OCV durant la % décharge de la batterie (SOC_OCV et LOC_OCV) %--------------------------------------------------% %--------------------------------------------------% % Créer une table contenant les indices des début % et fin de chaque intervalle à partir de la table % loc_index %--------------------------------------------------% 60 debut_fin_interv=[]; for i=1:length(loc_index)-1 debut_fin_interv=[debut_fin_interv; loc_index(i) loc_index(i+1)-2]; end debut_fin_interv=[debut_fin_interv zeros(length(debut_fin_interv(:,1)),3)] SOC_OCV=SOC_OCV_dech; chute=[]; for k=1:length(debut_fin_interv) %Pour la charge on utilise max, et pour la décharge on utilise min %[max_tension,m_index]=max(A123pulsedch05C(N_deb:N_fin,2)); [min_tension,m_index]=min(X(debut_fin_interv(k,1):debut_fin_interv (k,2),2)); debut_fin_interv(k,3)= m_index; debut_fin_interv(k,4)= SOC_OCV(k+1,1); debut_fin_interv(k,5)= SOC_OCV(k+1,2); end res=zeros(length(debut_fin_interv(:,1))-1,4); cum_courant=cumsum(X(:,3)); k1 = 0.096 ; %k1 et k2 paramètres du modèle en Tanh k2 = 3.6e-3 ; soc=[]; for i=2:length(debut_fin_interv)+1 soc=[soc; (SOC_OCV(i,1)+SOC_OCV(i-1,1))/2]; end T=[]; S=[]; for k=1:length(debut_fin_interv) N_deb = debut_fin_interv(k,1) ; N_fin = debut_fin_interv(k,2) ; interv = debut_fin_interv(k,3); 61 soc_init = SOC_OCV(k,1); res(k,1)=soc(k); temps_total=X(N_deb:N_fin,1); Ech=diff(temps_total); v=find(Ech(:)>0.5); index_chang=v(1); nouv=X(index_chang+N_deb-1,1); t_nouv=[nouv]; while nouv< X(N_fin,1) nouv=nouv+0.1; t_nouv=[t_nouv;nouv]; end TEMPS=[X(N_deb:index_chang+N_deb-2,1);t_nouv]; TENSION=interp1( temps_total,X(N_deb:N_fin,2),TEMPS); COURANT=interp1( temps_total,X(N_deb:N_fin,3),TEMPS); [Romega,chute_Romega,ind_deb,ind_fin]=find_chute_Romega(TENSION,CO URANT,interv); nouv_TENSION=[TENSION(ind_deb(length(ind_deb))+1:ind_fin(1))+ chute_Romega(1) ; TENSION(ind_fin(length(ind_fin))+1:length(TENSION))]; nouv_TEMPS=TEMPS(1:length(nouv_TENSION)); nouv_COURANT=[COURANT(ind_deb(length(ind_deb))+1:ind_fin(1)) ; COURANT(ind_fin(length(ind_fin))+1:length(COURANT))]; chute=[chute; chute_Romega]; %------------------------------------------------------------% Appel procedure pour retrancher OCV de U_batterie %------------------------------------------------------------clear t surtension I [t,surtension,I] = RETIRE_OCV(nouv_TEMPS,nouv_TENSION,nouv_COURANT,soc_init,Qnominal, SOC_OCV); xdata=[I';surtension]; N=5; % N est le nombre de circuit RC formant l'impédance de Warburg Te=1e-1; disp('---------------------------------------------------------'); disp(' '); disp('ATTENTION TE est fixé à 0.1 s pendant les phases d identification '); disp(' '); disp('---------------------------------------------------------'); ydata =surtension'; 62 x0 = [k1 k2]'; xlb = x0*0.1; xub = x0*2; % paramètres k1 et k2 initiaux % plage inférieure de recherche % plage supérieure de recherche options = []; [x,resnorm,residual,exitflag,output,lambda] = lsqcurvefit(@mySIMUL_temporel_sans_Romega,x0,xdata,ydata,xlb,xub,o ptions); % Mise à jour des paramètres k1 et k2 identifiés k1=x(1); k2=x(2); % Sauvegarder les paramètres trouvés dans la matrice des résultats 'res' res(k,2)=x(1); res(k,3)=x(2); res(k,4)=Romega; Tension_estim = SIMUL_temporel_sans_Romega(xdata,k1,k2,N,Te); T=[T;Tension_estim]; S=[S;surtension']; end res=[100 res(1,2) res(1,3) res(1,4);res]; res=[res; 0 res(length(res(:,2)),2) res(length(res(:,2)),3) res(length(res(:,2)),4)] Fonctions find_chute_Romega function[Romega,chute_Romega,ind_deb,ind_fin]=find_chute_Romega(te nsion,courant,interv) grad_tension=diff(tension); V=find(abs(grad_tension(:))>5e-4); a=grad_tension(V(1)); i=2; ind_deb=[1]; while(V(i)==V(i-1)+1) a=a+grad_tension(V(i)); ind_deb=[ind_deb; V(i)]; i=i+1; end ind=find(V(:)>=interv); b=grad_tension(V(ind(1))); ind_fin=[V(ind(1))]; 63 i=2; while(V(ind(i))==V(ind(i-1)+1)) b=b+grad_tension(V(ind(i))); ind_fin=[ind_fin; V(ind(i))]; i=i+1; if(i>length(ind)) break end end chute_Romega=[abs(a) abs(b)]; Romega=(abs(a)/abs(courant(10))); mySIMUL_temporel_sans_Romega function Yest = mySIMUL_temporel_sans_Romega(x,xdata) %%---------------------------------------------------------------%% Simulation temporelle en utilisant N circuit RC %courant = xdata(1,:); %tension = xdata(2,:); %N = Nombre de circuits RC parallèle %Te = pas d'échantillonnage %%---------------------------------------------------------------disp('ATTENTION Te et N fixés manuellement dans fonction mySIMUL_temporel') Te = 1e-1; N = 5; k1 = x(1); k2 = x(2); courant = xdata(1,:); npts=length(courant); temps=[0:Te:(npts-1)*Te]; H = 0; % définition initiale de la fonction de transfert for n=1:N Ri(n) = 8*k1/( ( (2*n-1)*pi )^2 ) ; %définition des R_i Ci(n) = k1/( 2*k2*k2 ) ; %définition des C_i H = H + tf( Ri(n) ,[ Ri(n)*Ci(n) 1] );% rajoute les fonction de transfert des N circuits RC// end Yest=lsim(H,courant,temps); % simulation du système d'état, la sortie étant égale à la surtension engendrée par l'mpédance SIMUL_temporel_sans_Romega function Yest = SIMUL_temporel_sans_Romega(xdata,k1,k2,N,Te) 64 %%---------------------------------------------------------------%% Simulation temporelle en utilisant N circuit RC %courant = xdata(1,:); %tension = xdata(2,:); %N = Nombre de circuits RC parallèle %Te = pas d'échantillonnage %%---------------------------------------------------------------courant = xdata(1,:); tension = xdata(2,:); npts=length(courant); temps=[0:Te:(npts-1)*Te]; H = 0 ; % définition initiale de la fonction de transfert for n=1:N Ri(n) = 8*k1/( ( (2*n-1)*pi )^2 ) ; %définition des R_i Ci(n) = k1/( 2*k2*k2 ) ; %définition des C_i H = H + tf( Ri(n) ,[ Ri(n)*Ci(n) 1] );% rajoute les fonction de transfert des N circuits RC// end Yest=lsim(H,courant,temps); % simulation du système d'état, la sortie étant égale à la surtension engendrée par l'mpédance RETIRE_OCV function[t,surtension,I]=RETIRE_OCV(Temps,Tension_batterie,Courant ,soc_init,Q_nom,table_soc_ocv) debut = 1 fin = length(Tension_batterie) I = (Courant(debut:fin-1,1)); Ech = diff(Temps(debut:fin,1)); t = Temps(debut:fin-1,1); I_fois_Ech = I.*Ech/3600; cumul_courant_fois_echantillonage =cumsum(I_fois_Ech); %ATTENTION on suppose Te constant pendant tous les pulses soc = soc_init + cumul_courant_fois_echantillonage*100/Q_nom ; TABLE_SOC = table_soc_ocv(:,1); TABLE_OCV = table_soc_ocv(:,2); for k = 1:fin-1 surtension(k)= Tension_batterie(k)interp1(TABLE_SOC,TABLE_OCV,soc(k),'cubic'); end 65 Annexe E Initialisation des données pour schéma SIMULINK clc clear all close all % Charger les fichiers de données %table des paramètres trouvées en fonction du SOC load soc_param_dech %table d'OCV en fonction du SOC trouvées en décharge load SOC_OCV_dech %table d'OCV en fonction du SOC trouvées en charge load SOC_OCV_ch %profil de courant NEDC load t_i_NEDC %tensions load nedc_17mai2013 Te=0.1; Qnom=40*3600; Soc_init=20; N=5; % Ajout au tableau SOC_OCV la valeur zero du SOC et son OCV correspondant, % ces deux valeurs se trouvent dans le tableau SOC_OCV celui de la charge SOC_OCV_dech=[SOC_OCV_dech; SOC_OCV_ch(1,:)] %Chercher les valeurs d'OCV,k1,k2 et r_omega pour chaque 0.1% du SOC soc=[0:0.1:100]; ocv=interp1(SOC_OCV_dech(:,1),SOC_OCV_dech(:,2),soc); r_omega=interp1(res(:,1),res(:,4),soc); k1_sim=interp1(res(:,1),res(:,2),soc); k2_sim=interp1(res(:,1),res(:,3),soc); 66 %Charger les données de tension récupérées des essais nedc_t_v=[nedc_17mai2013.X.Data' (nedc_17mai2013.Y(3).Data/10)']; %Chercher le profil de courant t_NEDC= t_i_NEDC(1,1):0.1:t_i_NEDC(length(t_i_NEDC(:,1)),1); t_NEDC=[t_NEDC t_i_NEDC(length(t_i_NEDC(:,1)),1)]'; i_NEDC=interp1(t_i_NEDC(:,1),t_i_NEDC(:,2),t_NEDC); nedc_t_i=[t_NEDC i_NEDC] %-------------------------------------------------% %--------------Initialisation Kalman--------------% %-------------------------------------------------% %matrice des bruits de mesures R=((10)^-0)/Te; %matrice de covariance initiale eps_V=0.01; err_soc=2; P0=diag([(eps_V)^2 (eps_V)^2 (eps_V)^2 (eps_V)^2 (eps_V)^2 (err_soc)^2]); %matrices de bruits sur les états fact_v=0.0001; fact_soc=100; Q= Te*diag([(fact_v)^2 (fact_v)^2 (fact_v)^2 (fact_v)^2 (fact_v)^2 (fact_soc)^2]); 67 Annexe F Modèle SIMULINK expérimental Figure F-1 : Modèle SIMULINK expérimental Partie 1 : Récupération des tensions et détection de défauts (figure F-2) Les tensions des batteries sont récupérées à l’aide d’un convertisseur analogique-numérique. Dix tensions sont obtenues aux sorties des trois «demux» utilisés, la première tension correspond à celle de la première batterie, la deuxième aux deux premières batteries … donc la nième tension correspond à celle aux bornes des n premières batteries. Alors pour obtenir la tension aux bornes la nième batterie, il faut chercher la différence entre les tensions nième et (n-1)ième obtenues. Ensuite, les valeurs des tensions obtenues pour chaque batterie seront multipliées par un gain k, et cela à cause de l’utilisation des ponts diviseurs pour des raisons d’adaptation de tension. La variable Ucn correspond donc à la tension aux bornes de la nième batterie pour chacune des dix batteries Lithium-ion du pack. 68 Les blocs en vert sont introduits dans le schéma SIMULINK pour définir la plage de variation des tensions des batteries du pack. Comme nous voyons dans figure F-3, si la tension de la batterie sera inférieure à 2.5V ou dépasse 3.6V, il y aura un défaut de tension et par conséquence il faut arrêter la simulation et l’expérience, parce que dans ce cas, la batterie se trouve hors des conditions normales et son fonctionnement présente un danger. Nous obtenons à la sortie de chaque bloc les variables « Defaut Ucn », il suffit que la tension d’une batterie dépasse les limites données pour qu’un signal soit produit, indiquant un défaut général dans le pack et nécessitant l’arrêt immédiat du fonctionnement du système. Figure F-2 : Partie 1 Figure F-3 : Limitation de tension d’une cellule entre 2.5V et 3.6V Le bloc «RTI Data» (Real Time Interface Data), en gris, est nécessaire dans le schéma SIMLINK pour pouvoir manipuler les différentes données et variables du système en temps réel. 69 Partie 2 : Détermination de la tension du pack (figure F-4) Les tensions Ucn, aux bornes de chacune des dix cellules du pack seront additionnées pour donner la tension récupérée aux bornes de ce dernier. Figure F-4 : Partie 2 Partie 3 : Initialisation des données (figure F-5) Il s’agit d’un bloc d’initialisation. En faisant double-clic avant de lancer la simulation, ce bloc ouvre la fonction Matlab qui initialise les variables et les tables de données utilisées après. Figure F-5 : Partie 3 Partie 4 : Génération du courant (figure F-6) Un profil de courant correspondant au « New European Driving Cycle » (NEDC), qui est le cycle de l’utilisation typique d’une voiture en Europe, est établit. Pour des raisons expérimentales de fonctionnement, le courant en valeur absolue, ne doit pas être inférieur à 3A, alors ce courant sera limité avant d’être utilisé. Partie 5 : Application du courant aux batteries (figure F-7) Le courant est limité de nouveau à 80A et multiplié par un gain et cela pour des raisons de sécurité et d’adaptation respectivement. Ensuite, le courant obtenu sera introduit au convertisseur numérique-analogique pour être appliqué sur le système de charge. 70 Figure F-6 : Partie 4 Figure F-7 : Partie 5 Partie 6 : Estimation de la tension à travers le modèle (figure F-8) Ici, nous trouvons notre modèle SIMULINK qui prend comme entrée la consigne de courant et donne comme sortie la tension estimée aux bornes d’une seule batterie. Cette tension sera multipliée par 10 pour obtenir la tension estimée aux bornes du pack composé de 10 batteries. Figure D-8 : Partie 6 Partie 7 : Calcul de l’erreur entre tension estimée et mesurée (figure F-9) Nous obtenons l’erreur de tension à partir la différence entre les valeurs des tensions récupérée et estimée. Cette erreur évalue le modèle, si elle est grande, donc le modèle mal définit le comportement de la batterie, par contre, si cette différence est petite (en d’autres termes plus 71 petite qu’une certaine erreur tolérée), nous pourrons considérer que le modèle est validé, et peut représenter le comportement de la batterie. Figure F-9 : Partie 7 72 Annexe G Interface sur CONTROL DESK Figure G-1 : Interface sur CONTROL DESK Partie 1 Les deux boutons vert et rouge à gauche de figure G-2 correspondent aux boutons de démarrage et d’arrêt de la simulation. En plus, les deux LEDs vert et rouge à droite représentent l’état de fonctionnement du système, autrement dit, chacun des deux LEDs est lié respectivement au bouton qui lui correspond. Cette partie servira alors dans le démarrage et l’arrêt de la simulation. 73 Figure G-2 : Partie 1 Partie 2 La deuxième partie de l’interface (figure G-3) nous montre la disposition des cellules lithium dans le pack. En haut de la figure se trouve l’image réelle prise pour le pack, en bas les connexions entre les cellules du pack sont illustrées, ces cellules étant placées en parallèle. Partie 3 Les valeurs des tensions Ucn aux bornes des dix cellules Lithium formant le pack sont affichées en haut de figure G-4. Nous trouvons en parallèle à chaque tension d’une batterie un LED correspondant à la variable « Défaut Ucn ». Les deux variables en jeu sont celles trouvées dans le modèle SIMULINK. Figure G-3 : Partie 2 Figure G-4 : Partie 3 74 Partie 4 Cette partie (figure G-5) permet l’enregistrement des valeurs retenues de la simulation et affichées dans les graphes de la partie 5. Figure G-5 : Partie 4 Partie 5 Les différents graphes de figure G-6 affichent les variations instantanées des différentes variables de sorties du modèle SIMULINK expérimental. Ces relevés seront sauvegardés dans des fichiers. Les tensions Ucn des dix batteries du pack sont illustrées dans le premier graphe. Le deuxième graphe correspond au profil du courant assimilé à la commande, tandis que le troisième montre les variations des tensions du pack estimée par le modèle (sortie « Tension estimée ») et réelle mesurée (variable « Tension récupérée »). Enfin le dernier graphe illustre l’erreur résultante de la différence des deux dernières tensions (variable « Diff Tension »). 75 Figure G-6 : Partie 5 76 Annexe H Alimentation Regatron et Charge H&H : Spécifications et domaine de fonctionnement Alimentation Regatron Puissance : 32 kW (possibilité extension à 64kW) Réglage U, I, P, R (Interfaces de programmation) Analogique RS232 Charge H&H Puissance : 21 kW (possibilité extension à 42 kW) Réglage U, I, P, R (Interfaces de programmation) Analogique RS232 La figure suivante donne le domaine de fonctionnement pour Alimentation Regatron et Charge H&H. 77 Annexe I Modèle de l’observateur sous SIMULINK Le modèle que nous avons conçu dans Chapitre III, est divisé en deux blocs (figure I-1). Le premier appelé « Modèle » (figure I-2) calcule uniquement les estimations variables affectées par la correction résultante du filtre de Kalman, c.à.d. le Soc et les tensions aux bornes des cinq circuits RC. Figure I-1 : Modèle d’estimation de la tension de la batterie Le deuxième, « Calcul de ̂ bat » (figure I-3) cherche l’OCV et RΩ à partir du SOC estimé corrigé, et par conséquence calcule la tension estimée aux bornes de la batterie. Le bloc « Compteur coulombmétrique » (figure I-4) sert à calculer le SOC réel pour le comparer ultérieurement avec le SOC estimé. Le bloc « Filtre de Kalman » est illustré dans figure I-5, il est formé de trois parties, la première calcule le gain Kg à partir du SOC et des matrices Pk et R (figure I-6), la deuxième partie cherche la matrice Pk estimée à partir du SOC et de la matrice Pk et du gain Kg (figure I-7) et la troisième partie calcule Pk en utilisant les paramètres k1, k2, les matrice Q de réglage et Pk-1 estimée (figure I8). Les matrices A et C sont aussi calculés à travers des blocs illustrées dans figure I-9 et figure I-10. 78 Figure I-2 : Conception du bloc « Modèle » 79 Figure I-3 : Conception du bloc « Calcul de ̂ bat » Figure I-4 : Conception du bloc « Compteur Coulombmétrique » Figure I-5 : Conception du bloc « Filtre de Kalman » 80 Figure I-6 : Conception du bloc de calcul de Kg Figure I-7 : Conception du bloc d’estimation de Pk Figure I-8 : Conception du bloc de calcul de Pk 81 Figure I-9 : Génération de la matrice A Figure I-10 : Génération de la matrice C 82 Références [Alzieu et al., 1997] Alzieu, J., Smimite, H., and Glaize, C. (1997). Improvement of intelligent battery controller : state of charge indicator and associated functions. Journal of power sources, 67: 157-161. [Atkinson et al., 1991] Atkinson, D. J., Acarnley, P., and Finch, J. (1991). Observers for induction motor state and parameter estimation. 27(6): 1119-1127. [DO et al., 2009] DO, D.V., FORGEZ, C., KADRI, K., FRIEDRICH, G. (2009). Impedance observer for a li-ion battery using kalman filter. Conférence EF, Univ. Of technologie de Compiègne. [DO, 2010] DO, D.V. (2010). Diagnostic de batteries lithium ion dans des applications embarquées. PhD thesis, Univ. Of technologie de Compiègne. [HUET, 2000] HUET, F. (2000). A review of impedance measurements for determination of the state of charge or state of health of secondary batteries. Journal of power sources, 87: 12_20. [Kalman, 1960] Kalman, R. E. (1960). A new approach to linear filtering and prediction problems. Trans. Of ASME, J. Basic Eng., pages 35-45. [Karden et al., 2000] Karden, E., Buller, S., and DeDoncker, R. (2000). A method for measurement and interpretation of impedance spectra for industrial batteries. Journal of Power Sources, 85: 72-78. [KUHN, 2004] KUHN, E. (2004). Contribution à la conception optimale d’une motorisation hybride parallèle : Choix d’un modèle d’accumulateur. PhD thesis, Univ. Of technologie de Compiègne. [KUHN et al., 2006] KUHN, E., FORGEZ, C., FRIEDRICH, G., and LAGONOTTE, P. (2006). Modelling Ni-mH battery using cauer and foster structures. Journal of power sources, 158: 1490_1497. [LANDOLT, 1993] LANDOLT, D. (1993). Corrosion et chimie de surfaces des métaux. Traité des matériaux. Presses Polytechniques et Universitaires Romandes. [Lee and Chen, 1998] Lee, C. and Chen, C. L. (1998). Speed sensorless vector control of induction motor using kalman filter assisted adaptive observer. 45. [Mauracher and Karden, 1997] Mauracher, P. and Karden, E. (1997). Dynamic modelling of lead/acid batteries using impedance spectroscopy for parameter identification. Journal of power sources, 67: 69-84. [Montaru and Pelissier, 2010] Montaru, M. and Pelissier, S. (2010). Frequency and temporal identification of a li-ion polymer battery model using fractional impedance. Oil and Gas Science and Technology, 65: 67-78. [Montella and Diard, 2009] Montella, C. and Diard, J. (2009). New approach of electrochemical systems dynamics in the time domain under small signal conditions part ii modelling the responses of electrochemical systems by numerical inversion of Laplace transforms. Journal of Electroanalytical Chemistry, 625: 156-164. [ORSINI et al., 1999] ORSINI, F., DU PASQUIER, A., BEAUDOUIN, B., TARASCON, J., TRENTIN, M., LANGENHUIZEN, N., DE BEER, E., NOTTENT, P. (1999). In situ sem study of the interfaces in plastic lithium cells. Journal of power sources, 81 :918-921 [PILLER et al., 2001] PILLER, S., PERRIN, M., and JOSSEN, A. (2001). Methods for state of charge determination and their applications. Journal of power sources, 96: 113_120. 83 [Plett, 2004] Plett, G. (2004). Extended kalman filtering for battery management systems of lipbbased hev packs. Journal of power sources, 134: 252-292. [Pop et al., 2008] Pop, V., Bergveld, H., Danilov, D., Regtien, P., and Notten, P. (2008). Battery Management Systems: Accurate state of charge indication for battery powered applications. Springer. [POP et al., 2005] POP, V., BERGVELD, H., REGTIEN, P., AND NOTTEN, P. (2005). State of the art of battery state of charge determination. Measurement Science and Technology, 16: 93_110. [ROSSO et al., 2006] ROSSO, M., BRISSOT, C., TEYSSOT, A., DOLLE, M., SANNIER, I., TARASCON, J., BOUCHET, R., LASCAUD, S. (2006). Dendrites short circuit and fuse effect on li polymer li cells. Electrochimica Acta, 41 :5334. [Salkind et al., 1999] Salkind, A., Fennie, C., Atwater, T., and Reisner, D. (1999). Determination of state of charge and state of health of batteries by fuzzy logic methodology. Journal of Power Sources, 80: 293-300. 84