# Un environnement matériel et logiciel sous MATLAB pour le contrôle de la charge et de la validation des algorithmes de la gestion de l'énergie des systèmes hybrides

F. Khenfri, S. Rafa, S. Diaf

Division Energie Eolienne

Centre de Développement des Energies Renouvelables

B.P. 62, Route l'Observatoire, Bouzaréah, Alger, Algérie.

khenfri_fd@yahoo.fr

rafa_souad@yahoo.fr

sdiaf@hotmail.com

**Résumé**— Dans ce jour, les systèmes hybrides jouent un rôle important dans la production électrique. Et pour cela, le développement des algorithmes de gestion de l'énergie dans ces systèmes sont nécessaires pour assurer la stabilité et la continuité de la production. D'autre part, la consommation électrique a un effet sur la gestion et le stockage de l'énergie. A partir de ces raisons, un environnement matériel et logiciel a été développé pour aider les chercheurs de valider et développer ses différents algorithmes d'une manière simple et efficace. Cet environnement consiste à utiliser un logiciel développé sous Matlab, tel que, ce dernier communique avec un module électronique basé sur un microcontrôleur à travers le bus USB en temps réal pour observer l'écoulement de l'énergie, et aussi pour contrôler ou varier la consommation par une charge appliquée, dans le but d'assurer la gestion optimale et efficace.

**Mots clés**— Contrôle de charge, gestion d'énergie et systèmes hybrides.

## I. INTRODUCTION

Face au défi énergétique actuel, les systèmes hybrides à énergie renouvelable apparaissent comme une solution potentielle pour la production d'électricité. Cependant, de nombreux verrous, comme par exemple le coût, l'intermittence de l'énergie produite ou encore la fiabilité de ces systèmes, empêchent le recours massif à l'utilisation de telles solutions. Afin de les surmonter, des solutions doivent être apportées aux deux problématiques majeures de ces systèmes que sont le dimensionnement optimal et la gestion de l'énergie.

Dans le contexte, de la gestion de l'énergie, on trouve beaucoup des travaux sur les nouvelles architectures de conversion permettant d'associer les sources à savoir : Photovoltaïques, éolien et pile à combustible, entre elles et de les utiliser au mieux de leurs possibilités. Comme, éolien-diesel [1], photovoltaïque-diesel [1], éolien-photovoltaïque [1-4], éolien-photovoltaïque-diesel [5], éolien-pile à combustible [1] et photovoltaïque- éolien-pile à combustible [6].

Cet article, il porte une idée de développer un prototype de charge domicile commandé par une carte d'acquisition et de commande à base d'un microcontrôleur USB de Microchip, PIC18F4550, avec une interface graphique développée sous Matlab pour maitriser la consommation domicile en temps réal à travers le bus USB. L'idée est de pouvoir concevoir une gestion de l'énergie d'un système hybride en prenant en compte les profils de consommation de charge qui a été fourni par un module électronique et son contrôleur [7, 8].

Nous commencerons tout d'abord par présenter le schéma synoptique global du système énergétique hybride, puis en passe au software développé en présentant l'interface utilisé pour contrôler la charge AC. A la quatrième section, les fonctionnalités de la carte d'acquisition et e contrôle seront expliquée tous nos choix de développement ainsi que le cheminement du projet. Nous finirons par des résultats de simulation Matlab & Proteus et expérimentale.

## II. ARCHITECTURE DE SYSTEMES ENERGETIQUES HYBRIDES

<figure><img src="image_1.png" /><figcaption>Fig. 1. Schéma synoptique global du système énergétique hybride.</figcaption></figure>
Dans cette section, une architecture de système énergétique hybride a été proposée. Son schéma synoptique est donné à la (fig.1). Les utilisateurs peuvent choisir Les sources de l'énergie renouvelable souhaitées (PV, Eolien, et/ou Pile combustible) qui assurent la production de l'énergie électrique, et aussi pour les sources de secours (générateur diesel ou réseau). Ces sources sont directement connecté à un Module Electronique de Contrôle de Charge et de Gestion avec/sans des batteries. Le système complet sera contrôlé par un PC en utilisant le logiciel MATLAB avec interface développé.

### III. SOFTWARE DÉVELOPPÉ

L'interface graphique présentée ci-dessous est un outil développé par le GUI (Graphic User Interface) de Matlab. Cet outil permet de créer des scénarios journaliers de la consommation d'un domicile et de commander les appareils choisis en temps réal à travers un bus USB communiqué avec la carte d'acquisition et de commande.

<figure><img src="image_2.png" /><figcaption>Fig. 2. Visualisation de l'interface.</figcaption></figure>

On a donc les fonctionnalités suivantes :

* Ajouter et supprimer les appareils,

* Créer les courbes journalières de consommation,

* Sauvegarde et ouvrir les scénarios souhaités

* Lancement et l'arrêt de l'acquisition via USB,

* commande en temps réal les appareils

#### A. Bouton « Ajouter/Supprimer »

Ce Bouton permet d'ajouter ou supprimer les appareils, on coche ou on décoche sur la liste qui présente des appareils domicile. L'intérêt de cette option est de créer des scénarios avec des appareils choisis de la liste.

La consommation de chaque appareil est faite facilement par un simple clic sur les cases qui présentent une consommation pendant une heure (fig. 3).

<figure><img src="image_3.png" /><figcaption>Fig. 3. Scénario de la consommation pour une semaine.</figcaption></figure>

#### B. Boutons « Ouvrir et Enregistrer »

On utilise ces Boutons pour ouvrir ou enregistrer le scénario souhaité pour donner l'accès à tout le moment aux données et simplifie les taches de travail (fig. 4 et 5).

<figure><img src="image_4.png" /><figcaption>Fig. 4. Fenêtre d'ouvrir les Scénarios enregistrés.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 5. Fenêtre enregistrer les Scénarios.</figcaption></figure>

#### C. Bouton « Connecte »

Ce Bouton doit permettre d'établir la connexion entre le PC et la carte à travers le bus USB, en utilisant le fichier DLL [5, 6, 9]: mpusbapi.dll qui permet d'utiliser le port USB sous Windows XP.

Note : la déconnexion est faite par le même Bouton pour simplifier l'utilisation.
## D. Protocole de communication entre l'ordinateur et la carte

Dans notre projet, l'ordinateur prend la parole (Maître) et le microcontrôleur se contente de répondre (esclave).
L'ordinateur envoie 64 octets, Ces octets contiennent pour:

* Les sorties numérique:

* Un octet contient le numéro de la fonction : 0x10,

* deux octet contient la valeur,

* Les sorties analogiques (écrire sur 10 bits):

* Un octet contient le numéro de la fonction : 0x14,

* Un octet contient les premiers 8 bits,

* Un octet contient les derniers 2 bits,

* Les entrées analogiques:

* Un octet contient le numéro de la fonction : 0x15,

* Un octet contient le numéro du canal à échantillonner de canal 0 correspondant 0x00 jusqu'à canal 8 (0x08).

Chaque 0.001 s l'ordinateur envoie les sorties numériques pour contrôler l'émulateur de charge qui suit le mouvement de la ligne horizontale qui présente la date et l'heure du moment présent et fait la mise à jour à l'interface (fig. 6).

<figure><img src="image_6.png" /><figcaption>Fig. 6. Courbe de charge journalière de la consommation totale.</figcaption></figure>

# IV. HARDWARE UTILISÉ

## A. Carte d'acquisition et de commande

Cette carte est basée sur le microcontrôleur PIC18F4550 de la compagnie Microchip [10]. L'acquisition des données se fait via une liaison USB, la carte réalisée possède 16 sorties numériques utilisables pour la commande par MLI (Modulation par Largeur d'Impulsion), commande des transistors IGBT ou de dispositifs de nature numérique, 2 sorties analogiques pour la commande, et 8 entrées analogique permettant d'acquérir autant de signaux analogiques simultanément. L'électronique de la carte prend une place sur un circuit compact et ne requiert pas d'alimentation propre car la liaison USB est autoalimentée.

## B. Description détaillée de la carte

La carte est conçue pour être utilisable pour le contrôle et la mesure au même temps, pour le contrôle et la mesure par PC,

le type de communication entre l'outil de mesure et le PC est très important, la liaison série RS232 est très utilisable mais ne permet pas l'acquisition avec une grande vitesse, chose qui nous a poussé vers l'utilisation de la liaison USB qui permet une vitesse d'acquisition de 12Mb/s ce qui est largement suffisant. De l'autre côté du PC, un microcontrôleur qui supporte cette liaison et intègre un module chargé de sa gestion est le PIC18F4550.

La figure 7 montre le schéma électronique de la carte réalisée. Cette carte est conçue pour des applications à faible coût et à faible consommation. Les composants clés sont le PIC18F4450, quelques résistances et condensateurs, des leds et boutons poussoirs et une horloge [11].

* K1= Sortie numérique 8bits de 0 à 5V.

* K2= Embase USB pour la connexion au PC.

* K3= Sortie numérique 8bits de 0 à 5V.

* K4= Deux sorties analogiques pour excursion de 0 à 5V.

* K5= huit entrées analogiques ont aussi une résolution de 10 bits

Les sorties analogiques ont une résolution de 10bits travaillant en MLI à 2,9Khz. Le cas échéant, il est possible de filtrer ces sorties à l'aide d'un simple réseau RC. La tension de sortie continue (CC) VO obtenue après filtrage répond à la formule suivante :

$$VO = 5D \text{[volts]. Formule dans laquelle D est le rapport cyclique de la MLI, facteur pouvant prendre une valeur comprise entre 0 et 1.}$$

<figure><img src="image_7.png" /><figcaption>Fig.7. Schéma électronique de la carte d'acquisition et de commande réalisée.</figcaption></figure>

Les entrées analogiques ont aussi une résolution de 10 bits. L'oscillateur du PIC bat à 20 MHz, fréquence définie par le quartz X1 épaulé par la paire de condensateurs classique
assurant une charge en mode parallèle et la résistance de forte valeur, R5, pour la contre-réaction.

En réalité, le microcontrôleur travaille à 48 MHz, fréquence générée en interne par le biais d'une boucle à verrouillage de phase (PLL = Phase Locked Loop) et d'un diviseur de fréquence interne à partir des 20 MHz fournis par le quartz. Ces 48 MHz sont un multiple rond de la vitesse de bus USB (Full Speed, 12 Mbits/s).

Les 2 LED d'état, D1 et D2 visualisent l'état (status) de l'USB. D3, à l'évidence, signale la présence de la tension d'alimentation lorsque la carte est connectée au port USB du PC.

L'alimentation du montage se fait par le biais de l'embase USB K2, et une petite self de choc L1 épaulée par C4 et destinée à éliminer le bruit. S1, R1, R2 et C3 pris à l'entrée MCLR du micro servent à la réinitialisation (reset) classique du microcontrôleur donc la carte.

### C. Programmation de la carte

La programmation de la carte se fait par utilisation d'une paire d'outils gratuits de Microchip, l'environnement (IDE) MPLAB V7.5 [12] et le compilateur C18 Student Edition V3.02 [12]. On trouvera sur le site les informations nécessaires et suffisantes d'installation et d'utilisation de ces deux logiciels. Le projet est organisé et donné en 3 dossiers, « firmware », « PC » et « driver ».

Le dossier « firmware » contient les fichiers programmes en langage C avec le fichier « .hex » généré après compilation, C'est le fichier à « griller » dans le microcontrôleur. Le dossier « driver » contient le driver de la liaison USB avec le PIC, ces driver sont délivrés gratuitement par la compagne Microship [9], et sert à identifier automatiquement le pic lors de son communication avec le PC comme un composant plug and play. Le dossier « PC » contient le programme de l'interface de gestion dite interface Homme-Machine, ce programme est développé sous Matlab, il permet de communiquer avec la carte de commande, ses différents de sorties et d'acquérir les informations à partir des entrées analogiques.

## II. SIMULATION AVEC ISIS-PROTEUS

Proteus est une suite logicielle de CAO (Conception Assisté par l'Ordinateur) électronique éditée par la société Labcenter Electronics. ISIS est la composante de Proteus qui permet la création de schémas et la simulation électrique. La grande force de ISIS est de pouvoir simuler le comportement d'un microcontrôleur (PIC, Atmel, 8051, ARM, HC11...) et de son interaction avec les composants qui l'entourent.

<figure><img src="image_8.png" /><figcaption>Fig. 8. Schéma électrique de la carte d'acquisition et de commande sous logiciel Proteus ISIS.</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>Fig. 9. Interface Matlab Communiqué avec Proteus.</figcaption></figure>

A 17:07 l'interface envoie trame de données à travers USB qui contient 3 octets (commande: 0x10, premier valeur 0x0F et deuxième valeur 0x00), tel que, la valeur 0x0F présente les appareils qui sont en tension.

* Lampes à faible consommation 12 watts => 1 ;

* Lampes à faible consommation 25 watts => 1 ;

* réfrigérateur 106 watts => 1 ;

* Télévision 86.1 watts => 1 ;

* Ordinateur 173 watts => 0.

Donc, on a la valeur suivante (0000 1111)2 = 0x0F.
<figure><img src="image_10.png" /><figcaption>Fig. 8. Carte d'acquisition et de commande et carte de puissance pour
contrôler les charges.</figcaption></figure>

### III. CONCLUSION

Ce travail a été fait pour développer une carte d'acquisition et de commande avec une interface communiqué à travers de bus USB, cette carte doit permettre de réaliser plusieurs taches à faible coût et faible consommation.

Dans cet article, on a présenté une seule tâche qui a été réalisée par cette carte, pour présenter la faisabilité de faire un environnement matériel et logiciel sous MATLAB, pour un objectif éducatif et scientifique, et pour des applications sur les systèmes lents.

[9] MICROCHIP. USB Software & Tools. Available: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651&param=en534494

[10] V. G. Trana, et al., "Energy management for the "Perpignan Méditerranée agglomeration community," 23rd International Conference on Efficiency, Cost, Optimization, Simulation and Environmental Impact of Energy Systems (ECOS2010), Lausanne : Switzerland, 2010.

[11] J. L. R. Fombellida, "Carte d'acquisition de données," www.elektor.fr, 2007.

[12] R. MISSAOUI, et al., "Simulation temps réel pour la gestion des flux énergétiques dans l'habitat..," IBPSA, France, 2010.

### REFERENCES

[1] I. P. Panapakidis, et al., "Comparative analysis of different grid-independent hybrid power generation systems for a residential load," *Renewable and Sustainable Energy Reviews*, vol. 16, pp. 551–563, 2012.

[2] S. Diaf, et al., "Technical and economic assessment of hybrid photovoltaic/wind system with battery storage in Corsica island," *Energy Policy*, vol. 36, pp. 743–754, February 2008.

[3] S. Diaf, et al., "A methodology for optimal sizing of autonomous hybrid PV/wind system," *Energy Policy* vol. 35 pp. 5708–5718, November 2007.

[4] S. Diaf, et al., "Design and techno-economical optimization for hybrid PV/wind system under various meteorological conditions," *Applied Energy*, vol. 85, pp. 968–987, October 2008.

[5] D. Rekioua, et al., "Etude d'une centrale hybride photovoltaïque - éolien - diesel," *Revue des Energies Renouvelables* vol. 11 N°4 pp. 623-633, 2008.

[6] M. Belatel, et al., "Technologie du couplage d'un système hybride de type photovoltaïque-éolien avec la pile à combustible pour la production de l'électricité verte," *Revue des Energies Renouvelables*, vol. 14 N°1, pp. 145-162, 2011.

[7] M. A. Hamouda, et al., "Etude et réalisation d'un système intelligent d'alimentation en énergie électrique d'une habitation en milieu urbain avec injection dans le réseau," *Revue des Energies Renouvelables*, vol. 14 N°2, pp. 187-202, 2011.

[8] J. K. Tangka, et al., "Conception et réalisation d'un module électronique de contrôle de charge et de gestion optimale de l'énergie pour systèmes énergétiques hybrides éolien-diesel, photovoltaïque-diesel et éolien-photovoltaïque-diesel (MECCGOPSEH)," *Revue des Energies Renouvelables*, vol. 13 N°4, pp. 591-602, 2010.