realisation d'un systéme photovoltaique avec une commande mppt

bonjour ,
nous somme entrain de réaliser << systéme photovoltaique avec une commande mppt >> on a choisi l’algorihme p&o , ils nous restent just le programme en arduino on a choisi arduino Uno

le projet est comme ceci , on a un capteur de courant avec le pin A0 ,
un capteur de tension avec le pin A1 ,ainsi qu’on a un hacheur boost relié avec le pin 9

le probleme c’est qu’on change la dans le capteur de courant la sortie ne change pas du boost (toujour reste fix : 19.2)

si vous me pouvez nous aidez a fixer le programme , les informations: le shéma en ISIS Proteuse , le programme en arduino et algorithme sont liés avec le post

test1.0.ino (1.39 KB)

algorithm p_and_o.PNG

Schéma électrique totale.zip (19 KB)

Bonsoir
Une remarque : sur ce forum Proteus est un outil marginal.
La plupart des intervenants actifs du forum n'utilise pas ce logiciel commercial couteux et ne peut voir le contenu d'un fichier DSN.
Donner une vue pdf ou une image du schéma fait sous Isis.
(en CAO sont içi utilisés Kicad et Eagle)

le probleme c'est qu'on change la dans le capteur de courant

on change la quoi dans le capteur de courant ? La valeur du courant ?

la sortie ne change pas du boost (toujour reste fix : 19.2)

la sortie du boost reste à 19,2 Volts ?

Il faut se relire après la rédaction du message........et ne pas demander aux lecteurs de boucher les trous .... !!

désoler si vous n’avez pas compris mon problème : oui la sortie du boost il faut qu’elle change avec le changement de la valeur du courant :

les image de isis proteuse son attaché :

Bonjour

Plusieurs remarques

-la simulation par Proteus est plus ou moins fidèle, les microcontrolleurs en particulier ne sont que partiellement pris en charge. Il faut donc relativiser les résultats de ces simulations.

-d’après mes lointains souvenirs de Proteus il semblerait que la masse de V1 ne soit pas correctement câblée.
contact masse.jpg

-Vous déclarez la variable duty_cycle comme un réel et passez sa valeur à analogWrite qui attend un entier
Voir Référence içi

-votre fonction p_and_o() est censée calculer la nouvelle valeur du rapport cyclique .
En ligne 85 elle renvoie le résultat de son calcul…qui n’est pas récupéré vu la manière dont en ligne 29 vous appelez cette fonction. Dommage de lui faire faire tout ce calcul et mettre le résultat à la poubelle !!

Au final le rapport cyclique réel du signal commandant le hacheur est et reste nul , ce qui se traduit par un transistor Q1 bloqué en permanence et donc en sortie 20V - 0,8V = 19,2V