-
Notifications
You must be signed in to change notification settings - Fork 2
PWM et MPPT
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

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

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

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

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

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

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

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

Condensateur de filtrage pour lisser la tension du panneau

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

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

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

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.

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

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

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

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

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

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

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

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
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

le MPPT a du mal a se mettre en route pour fournir de l'énergie ; le PWM arrive à alimenter la résistance
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

le PWM soulage le travail du MPTT avec un rendement de 100 % pour le 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, 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
algorithme de recherche de puissance maximale https://github.com/viktor-ktorvi/MPPT-Reinforcement
- Convertisseur de tension
- Réalisations Énergie renouvelable
- Photovoltaïque : 3 installations
- Eolienne
- Tournesol : Commande de cellule solaire
- Contrôleur MPPT
- Connaitre-sa-consommation
Liste des ateliers ici
Découvrez le Proto, l'Atelier-Textile, la ludothèque... L'univers Arduino est vaste ; découvrez des montages en quelques clics pour faire des jouets avec des arduino, les nouveaux modules raspberry pico ou avec du wifi les petits esp CROUS-micro-python. Le repair café d'Orsay est un café propice aux échanges. Les montages ne cherchent pas l'originalité et je n'ai pas donné d'explications complètes mais les sources sont données le plus possible ou des renvois sur les excellents tutos qui existent sur internet ; ce sont tous des montages qui ont été réalisés : envoyez des photos ou contactez nous et venez partager vos projets !

La progression par 5 niveaux des exemples-de-montages est importante pour aborder des projets de plus en plus ambitieux. Compléter votre boite à outils avec des Capteurs, des Afficheurs en utilisant des Instruments de mesure. Regarder les Videos et montez vos propres projets pour refaire les jeux du festival festisol et commencer à utiliser les nouveaux raspberry-pico. Voulez-vous nous aider à développer d'autres applications ? Commencez un peu de code CROUS-micro-python, participez au developpement-voiture ou pour construire des jouets Anumby
