Table des matières:
- Étape 1: Qu'est-ce que MPPT et pourquoi en avons-nous besoin ?
- Étape 2: COMMENT FONCTIONNE MPPT ?
- Étape 3: Implémentation de MPPT sur Arduino
- Étape 4: Convertisseur Buck
- Étape 5: retouche finale -
- Étape 6: MISE À JOUR: Schéma de circuit réel, nomenclature et code
Vidéo: Arduino - Chargeur solaire PV MPPT : 6 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Il existe de nombreux contrôleurs de charge disponibles sur le marché. les contrôleurs de charge bon marché ordinaires ne sont pas efficaces pour utiliser la puissance maximale des panneaux solaires. Ceux qui sont efficaces sont très coûteux.
J'ai donc décidé de créer mon propre contrôleur de charge qui est efficace et suffisamment intelligent pour comprendre les besoins de la batterie et les conditions solaires. il prend les mesures appropriées pour tirer le maximum d'énergie disponible de l'énergie solaire et la placer très efficacement dans la batterie.
SI VOUS AIMEZ MON EFFORT, VEUILLEZ VOTER CES INSTRUCTABLES.
Étape 1: Qu'est-ce que MPPT et pourquoi en avons-nous besoin ?
Nos panneaux solaires sont stupides et pas intelligents pour comprendre les conditions de la batterie. Supposons que nous ayons un panneau solaire de 12 V/100 watts et qu'il donnera une sortie entre 18 V et 21 V selon les fabricants, mais les batteries sont conçues pour une tension nominale de 12 V, à pleine charge, elles seront de 13,6 V et de 11,0 V à pleine puissance décharge. supposons maintenant que nos batteries sont en charge de 13 V, les panneaux donnent 18 V, 5,5 A à 100% d'efficacité de fonctionnement (impossible d'avoir 100% mais supposons). les contrôleurs ordinaires ont un régulateur de tension PWM ckt qui fait chuter la tension à 13,6, mais aucun gain de courant. il fournit uniquement une protection contre les surcharges et les courants de fuite aux panneaux pendant la nuit.
Nous avons donc 13,6v*5,5A = 74,8 watts.
Nous perdons environ 25 watts.
Pour rencontrer ce problème, j'ai utilisé le convertisseur smps buck. ce type de convertis a une efficacité supérieure à 90%.
Le deuxième problème que nous avons est la sortie non linéaire des panneaux solaires. ils doivent fonctionner à une certaine tension pour récolter le maximum de puissance disponible. Leur production varie au cours de la journée.
Pour résoudre ce problème, des algorithmes MPPT sont utilisés. MPPT (Maximum Power Point Tracking) comme son nom l'indique, cet algorithme suit la puissance maximale disponible des panneaux et fait varier les paramètres de sortie pour maintenir la condition.
Ainsi, en utilisant MPPT, nos panneaux généreront une puissance maximale disponible et le convertisseur buck mettra efficacement cette charge dans les batteries.
Étape 2: COMMENT FONCTIONNE MPPT ?
Je ne vais pas en discuter en détail. donc si vous voulez comprendre, jetez un œil à ce lien -Qu'est-ce que MPPT?
Dans ce projet, j'ai suivi les caractéristiques d'entrée V-I et la sortie V-I également. en multipliant l'entrée V-I et la sortie V-I, nous pouvons avoir la puissance en watts.
disons que nous avons 17 V, 5 A, c'est-à-dire 17x5 = 85 watts à tout moment de la journée. en même temps notre sortie est de 13 V, 6A soit 13x6 = 78 Watt.
Maintenant, MPPT augmentera ou diminuera la tension de sortie en la comparant à la puissance d'entrée/sortie précédente.
si la puissance d'entrée précédente était élevée et que la tension de sortie était inférieure à la tension actuelle, la tension de sortie sera à nouveau réduite pour revenir à la puissance élevée et si la tension de sortie était élevée, la tension actuelle sera augmentée au niveau précédent. ainsi, il continue d'osciller autour du point de puissance maximale. ces oscillations sont minimisées par des algorithmes MPPT efficaces.
Étape 3: Implémentation de MPPT sur Arduino
C'est le cerveau de ce chargeur. Vous trouverez ci-dessous le code Arduino pour réguler la sortie et implémenter MPPT dans un seul bloc de code.
// Iout = courant de sortie
// Vout = tension de sortie
// Vin = tension d'entrée
// Pin = puissance d'entrée, Pin_previous = dernière puissance d'entrée
// Vout_last = dernière tension de sortie, Vout_sense = tension de sortie actuelle
void réguler(float Iout, float Vin, float Vout) { if((Vout>Vout_max) || (Iout>Iout_max) || ((Pin>Pin_previous && Vout_sense<Vout_last) || (PinVout_last)))
{
if(du_cycle>0)
{
cycle_service -=1;
}
analogWrite(buck_pin, duty_cycle);
}
sinon si ((Vout
{
if(duty_cycle<240)
{ duty_cycle+=1;
}
analogWrite(buck_pin, duty_cycle);
}
Pin_previous = Pin;
Vin_last = Vin;
Vout_last = Vout;
}
Étape 4: Convertisseur Buck
J'ai utilisé un mosfet à canal N pour fabriquer le convertisseur buck. généralement, les gens choisissent le mosfet à canal P pour la commutation côté haut et s'ils choisissent le mosfet à canal N dans le même but qu'un circuit intégré de pilote sera nécessaire ou le démarrage du cerclage ckt.
mais j'ai modifié le convertisseur buck ckt pour avoir une commutation côté bas en utilisant un mosfet à canal N. i, m utilisant le canal N parce que ce sont des puissances nominales élevées et peu coûteuses et une dissipation de puissance plus faible. ce projet utilise un mosfet de niveau logique IRFz44n, il peut donc être directement piloté par une broche arduino PWM.
pour un courant de charge plus élevé, il faut utiliser un transistor pour appliquer 10V à la grille pour amener complètement le mosfet à saturation et minimiser la dissipation de puissance, j'ai également fait la même chose.
comme vous pouvez le voir dans ckt ci-dessus, j'ai placé le mosfet sur la tension -ve, utilisant ainsi +12v du panneau comme masse. cette configuration me permet d'utiliser un mosfet à canal N pour un convertisseur buck avec un minimum de composants.
mais il a aussi quelques inconvénients. comme vous avez des tensions séparées des deux côtés, vous n'avez plus de masse de référence commune. la mesure des tensions est donc très délicate.
J'ai connecté l'Arduino aux bornes d'entrée solaire et j'ai utilisé sa ligne -ve comme masse pour l'arduino. nous pouvons facilement mesurer le volateg d'entrée à ce stade en utilisant un diviseur de tension ckt selon nos besoins. mais nous ne pouvons pas mesurer la tension de sortie aussi facilement car nous n'avons pas de masse commune.
Maintenant, pour ce faire, il existe une astuce. au lieu de mesurer la tension sur le condensateur de sortie, j'ai mesuré la tension entre deux lignes -ve. en utilisant solar -ve comme masse pour arduino et output -ve comme signal/tension à mesurer. La valeur que vous avez obtenue avec cette mesure doit être soustraite de la tension d'entrée mesurée et vous obtiendrez la tension de sortie réelle aux bornes du condensateur de sortie.
Vout_sense_temp=Vout_sense_temp*0.92+float(raw_vout)*volt_factor*0.08; //mesure la tension entre l'entrée gnd et la sortie gnd.
Vout_sense=Vin_sense-Vout_sense_temp-diode_volt; //changer la différence de tension entre deux masses en tension de sortie..
Pour les mesures de courant, j'ai utilisé des modules de détection de courant ACS-712. Ils ont été alimentés par arduino et connectés à l'entrée gnd.
les temporisateurs internes sont modifiés pour gagner 62,5 kHz PWM à la broche D6. qui est utilisé pour piloter le mosfet. une diode de blocage de sortie sera nécessaire pour fournir une protection contre les fuites inverses et l'inversion de polarité, utilisez une diode Schottky du courant nominal souhaité à cette fin. La valeur de l'inductance dépend de la fréquence et des exigences de courant de sortie. vous pouvez utiliser les calculatrices de convertisseur buck disponibles en ligne ou utiliser une charge 100uH 5A-10A. ne dépassez jamais le courant de sortie maximal de l'inducteur de 80% à 90%.
Étape 5: retouche finale -
vous pouvez également ajouter des fonctionnalités supplémentaires à votre chargeur. comme le mien, l'écran LCD affiche également les paramètres et 2 commutateurs pour prendre les entrées de l'utilisateur.
Je mettrai à jour le code final et terminerai le diagramme ckt très bientôt.
Étape 6: MISE À JOUR: Schéma de circuit réel, nomenclature et code
METTRE À JOUR:-
J'ai téléchargé le code, la nomenclature et le circuit. il est légèrement différent du mien, car il est plus facile de faire celui-ci.
Conseillé:
Humidimètre solaire avec ESP8266 : 10 étapes (avec photos)
Humidimètre solaire du sol avec ESP8266 : dans ce Instructable, nous fabriquons un moniteur d'humidité du sol à énergie solaire. Il utilise un microcontrôleur wifi ESP8266 exécutant un code à faible consommation, et tout est étanche pour qu'il puisse être laissé à l'extérieur. Vous pouvez suivre cette recette exactement, ou en tirer le
Lampe(s) LED alimentée par batterie avec charge solaire : 11 étapes (avec photos)
Lampe(s) LED à piles avec charge solaire : ma femme enseigne aux gens comment faire du savon, la plupart de ses cours avaient lieu le soir et ici en hiver, il fait noir vers 16h30, certains de ses étudiants avaient du mal à trouver notre loger. Nous avions un panneau devant mais même avec un éclairage de rue
Bureau alimenté par batterie. Système solaire avec panneaux solaires à commutation automatique est/ouest et éolienne : 11 étapes (avec photos)
Bureau alimenté par batterie. Système solaire avec panneaux solaires à commutation automatique est/ouest et éolienne : Le projet : Un bureau de 200 pieds carrés doit être alimenté par batterie. Le bureau doit également contenir tous les contrôleurs, batteries et composants nécessaires à ce système. L'énergie solaire et éolienne chargera les batteries. Il y a un léger problème de seulement
Construire un tracker solaire automatique avec Arduino Nano V2 : 17 étapes (avec photos)
Construire un tracker solaire automatique avec Arduino Nano V2 : Salut ! Ce Instructable est censé être une partie deux de mon projet Solar Tracker. Pour une explication du fonctionnement des trackers solaires et de la façon dont j'ai conçu mon premier tracker, utilisez le lien ci-dessous. Cela offrira un contexte pour ce projet.https://www.instructables.co
Dispositif d'irradiation solaire (SID) : un capteur solaire basé sur Arduino : 9 étapes
Dispositif d'irradiation solaire (SID) : un capteur solaire basé sur Arduino : le dispositif d'irradiation solaire (SID) mesure la luminosité du soleil et est spécialement conçu pour être utilisé en classe. Ils sont construits à l'aide d'Arduinos, ce qui leur permet d'être créés par tout le monde, des collégiens aux adultes. Cet institut