PWM et MPPT - arnaudrco/exemples GitHub Wiki

8 dépôts github : exemples-de-montages festisol CROUS-micro-python piano visio anumby jouets developpement-voiture raspberry-pico Blog ateliers numériques Repair Café d'Orsay

Il existe un contrôleur tout fait pour optimiser la puissance fournie, comme ici avec une éolienne ; nous allons nous amuser à regarder comment cela marche ensemble.

Avec les panneaux solaires ou les éoliennes prises en exemple, nous travaillons avec des tensions faibles donc les expérimentations sont très accessibles. Pour les débutants comme moi sur les alimentations de puissance j'ai ajouté un chapitre sur les capacités commutées pour obtenir des doupleurs/tripleurs de tension avec peu de composants : cela permet ainsi une transition vers les plus fortes tensions et plus de puissance

Un chapitre a aussi été ajouté pour parler des "bucks" : les convertisseurs de tension que l'on peut acheter comme des boîtes noires. Ils sont assez fragiles : montez votre propre convertisseur vous même ou simulez le !

https://github.com/arnaudrco/exemples/wiki/Convertisseur-de-tension-:-doubleur-tripleur-et-buck

image

adaptation de puissance par un rhéostat

Les panneaux solaires n'ont pas une réponse linéaire suivant le soleil reçu : la puissance s'écroule lorsque nous avons une charge trop forte : les cellules ne répondent pas à la demande de courant

image

Amusez vous à tester vos panneaux si la lumière est faible par temps couvert pour trouver ce seuil

image

avec un rhéostat de 220 ohms, nous ajustons la résistance en ne réalisant cette expérience qu'un court instant : le rhéostat ou la résistance de charge va chauffer fortement avec la lumière reçue : 250 W pour le panneau Sanyo en plein soleil

image

La puissance est inversement proportionnelle à la résistance de charge : 30 V avec une résistance de 50 ohms fournit 18 W

image

adaptation de puissance par un découpage de la tension PWM (Pulse Width Modulation)

Pour réduire la tension délivrée à 30V environ pour un panneau de 36V, un découpage de la tension PWM va remplacer notre rhéostat

image

Boîtier en cours de montage avec une LED et un potentiomètre pour contrôler le rapport cyclique du PWM

image

Avec un arduino nano, j'ai réalisé un module PWM expérimental : Arduino compartiment en haut et étage MOSFET IRF44 en bas . La tension relevée sur le chauffe eau électrique atteint un maximum de 22v sans soleil en variant la valeur du découpage PWM

image

Condensateur de filtrage pour lisser la tension du panneau

image

pour alimenter l'arduino directement à partir du panneau solaire de 30V environ, j'ai choisi un abaisseur de tension à 5V

image

un esp8266 a une meilleure plage de contrôle du PWM : 1024 pas de numérisation au lieu de 256 pour arduino

https://github.com/arnaudrco/exemples/connaitre-sa-consommation/pwm-esp

image

le montage utilise un transistor 2N2222 pour amplifier le signal vers le MOSFET, ou allumer une petite ampoule

image

adaptation optimisée de tension en entrée

Le rendement chute si la charge est trop forte. Un PV de 18V fonctionne de façon optimale avec une tension de 15V. L'adaptation entre le PV et plusieurs appareils en sortie est réalisée avec plusieurs MOSFETs. J’utilise un 7805 pour simuler un générateur de courant constant en haut très semblable au fonctionnement d'un PV sur la plaque du haut ; ce qui est agréable c'est que je peux simuler plusieurs courants sur la plaque du bas ( chauffe eau, charge batterie ...) en ajoutant des MOSFET sur les multiples sorties d'un arduino en bas à droite de la photo.

image

Le générateur de courant pour simuler le panneau solaire est réalisé avec un régulateur de tension 5V (LM7805) et une résistance R tel que pour un courant i voulu R i = 5V

Le code pour réguler la tension en 15V est ici

Un pont diviseur par 10 fournit la tension d'entrée A0 de l'arduino

image

Un MOSFET contrôle la sortie (D) ; la masse (0V) est relié à (S) ; l’entrée (G) est reliée à la sortie D2 de l'arduino

image

Le suivi de la tension d'entrée donne une bonne approximation pour avoir la puissance maximale

image

Le suivi de la tension d'entrée est une première étape. Nous allons programmer un contrôle optimal de la puissance de sortie dans le chapitre suivant

J'ai testé le prototype avec un domino, une resistance de charge ; une led clignote pour indiquer la charge sur une période de 5 secondes

image

adaptation de puissance optimale par MPPT

L'adaptation entre le PV et un autre appareil est possible avec un logiciel MPPT (suivi du point maximal de puissance) pour fonctionner à la tension optimale pour une puissance de sortie maximale. MPPT suit un algorithme de recherche de puissance maximale https://github.com/viktor-ktorvi/MPPT-Reinforcement

J'ai réalisé une modélisation simplifiée en assimilant le panneau à un générateur de courant d'intensité i alimentant la resistance de charge r, PWM le rapport cyclique de modulation (variant de 0 à 100% ) . Nous traçons en rouge la courbe fournissant la puissance P = r i^2 / PWM en supposant que le voltage fourni par le générateur de courant peut être infini. Une forte capacité garde la tension constante. Notons V est voltage maximal fourni par le panneau : en général 18 ou 36 V. Nous traçons en bleu la puissance maximale P = V^2 PWM / r. Nous traçons sur les abscisses (x) PWM et en ordonnée (y) la puissance normalisée à 1. Le point d'intersection donne le point optimal de fonctionnement. La puissance optimale est obtenue pour P V = r i

image

La mesure du voltage va se faire entre la résistance de charge et la masse. Nous allons cette fois utiliser un MOSFET P avec un transistor 2N2222 pour commander le signal C vers le MOSFET

image

Pour arduino, le programme le plus simple MPPT calcule le maximum localement ( optimum par essai successif perturb/observe P&O ) expliqué https://imperix.com/doc/implementation/maximum-power-point-tracking-mppt avec un code pour arduino ici

image

La méthode de détection de l'algo qui recherche un optimum local est très sensible à un sous optimum local. Une autre méthode : je définis une plage de recherche de taille quelconque, avec deux seuils 1/3 et 2/3 pour avancer, reculer, ou rester sur le meilleur optimum obtenu. Un autotest a été ajouté pour le faire fonctionner en PMW suivant la valeur d'un potentiomètre mis sur A0 avec un code pour esp ici

Montage mixte MPPT et PWM

L'algorithme perturbe et observe PO classique est local il ne fonctionne pas bien lorsqu'il y a plusieurs mppt , il y a compétition et il génère du pompage. Il faudra aussi ajouter un routeur entre autoconsommation et autonomie. L’algorithme proposé travaillant par secteur donc globalement donne de bons résultats

J'ai testé la mise en parallèle d'un MPPT du commerce ( test réalisé avec micro onduleur enphase M215 et GMI 350) et le PWM avec contrôle de la tension d'entrée réglée à 30 V

image

faible ensoleillement ( matin, soir ...) : avantage PWM

le MPPT a du mal a se mettre en route pour fournir de l'énergie ; le PWM arrive à alimenter la résistance

ensoleillement moyen ( nuages ...) : avantage MPPT

le MPPT fait descendre le voltage sous 30 V, le PWM s'éteint

pour éviter un seuil brutal à 30V j'ai réalisé une adaptation linéaire entre 30 et 25V ; une diode LED clignote sur une période de 5 secondes pour vérifier le niveau PWM ici

image

fort ensoleillement ( soleil direct ...) : MPPT et PWM travaillent ensemble

le PWM soulage le travail du MPTT avec un rendement de 100 % pour le PWM

Montage mixte MPPT ( algorithme propriétaire ) et MPPT maison

L'algorithme perturbe et observe PO classique est local il ne fonctionne pas bien lorsqu'il y a plusieurs mppt , il y a compétition et il génère du pompage. Il faudra aussi ajouter un routeur entre autoconsommation et autonomie, en travaillant par secteur donc globalement les résultats sont excellents

code pour essayer un PWM : 15V ou 30V ici

code un PWM réglable de 30V à 25V avec une led de contrôle ici

code pour essayer un MPPT : la tension optimale est obtenue automatiquement, ne nécessite pas de mesure de courant, le pas de convergence est réglable ici

références

algorithme de recherche de puissance maximale https://github.com/viktor-ktorvi/MPPT-Reinforcement

  1. Capteurs
  2. Afficheurs
  3. Actionneurs
  4. Instruments
  5. Processeur
  6. Zéro déchet
  7. Derniers projets
  8. Visio
  9. Video

Liste des ateliers ici