chatelot16 a écrit :pour faire un pwm avec tension d'entré constante et tension de sortie adapté a la puissance il n'y a pas besoin d'un arduino : ça se fait avec n'importe quel circuit integré pour alim a decoupage
Probablement, mais il y a le plaisir de le mettre au point et ça me coûte vraiment rien avec cette bête à tout faire qui peut en même temps gérer
la charge d'une batterie et plein d'autres fonctions, pourvu qu'on lui ajoute les capteurs qui vont bien. L'indou passionné que j'ai cité n'as pas prévu la gestion PWM d'une charge résistive.
J'ai ajouté des condensateurs et amélioré le programme, c'est très stable maintenant.
Un essai vers 16h30 sur un rayon de soleil embrumé, presqu'à l'horizontal, qui n'a duré que quelques minutes. j'ai obtenu un maximum de 0.6 W avec une tension aux bornes du panneau, bien constante à 12 V.
lilian07 a écrit :Izentrop je peux te faire une pré-simulation rapide en partant de mon panneau : EPDM+poly de 4mm sans isolant en sous face (connaissant par ailleurs la déperdition total du panneau ainsi constitué il sera envisageable de calculer la reduction de perte par l'isolant que tu mettras) . Le poly de 8mm est plus couteux et n'apporte pas vraiment beaucoup plus d'avantage (il capte moins la lumière mais isole sensiblement plus).isoler en fond dans ton cas apporte un double avantage isolation mur par l'exterieur +isolation du fond de panneau.
Pour la pré simulation: j'ai besoin de ta ville.
Moreuil au plus proche, sinon Amiens.
- Le transistor NPN et le régulateur 5 V c'est pour des tensions d'utilisation plus élevées que 12 v
- nanoPWM.gif (20.08 Kio) Consulté 6121 fois
Le programme
Code : Tout sélectionner
/*
Interface PWM entre panneau solaire et résistance de cumulus eau chaude.
Adaptation à la puissance optimale en variant le rapport cycliqueet en maintenant
la tension constante aux bornes du PV
test sur PV 12 V 2 w
Rapport pont diviseur 8.2 k/4.4k : 2.863
Pas de lecture analogique : 5/1024 = 0.00488
Tension optimale vPVopt : 859 (12 v), correspondant à 4.19 V en A2
Variation du rapport cyclique :
Si la tension est supérieure 12.1 V
Si la tension est inférieure 11.9 V
*/
//broches
int vPVpin = 2; // mesure tension aux bornes du PV
int pwmPin = 9; // sortie PWM
//variables
float vOpt = 12.08; // tension optimale du panneau 12 V
float pasLecture = 0.00488;
float division = 2.863; //= 2.863 pont diviseur 8.2 k/4.4k
float pasPwm = 0.047 ; // = 12/255
int mesurePV; //0 à 1024
float vPV;
//float vpvMem;
float vRc;//tension aux bornes de la résistance de charge
float rCyc; //rapport cyclique 0 à 255 en byte= problème sur les limites
float cycMem;//
void setup() {
TCCR1B = TCCR1B & 0b11111000 | 0x05 ; // réglage pour 61.03Hz pwm
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() {
mesurePV = analogRead(vPVpin);
vPV = mesurePV * pasLecture * division;
vRc = vPV / 255 * rCyc;//
if (vPV > 12.1) rCyc += (vPV - vOpt) / pasPwm;// exclut les faibles variations < 0.1 V
if (vPV < 11.9) rCyc -= (vOpt - vPV) / pasPwm;
// garde fou
if (rCyc > 254)rCyc = 255;
if (rCyc < 2)rCyc = 0;
analogWrite(pwmPin, rCyc);
//affichage
Serial.print("rapport cyclique : " );
Serial.println(rCyc);
Serial.print("tension PV : ");
Serial.print(vPV);
Serial.print(" V / tension sur Rc : ");
Serial.print(vRc);
Serial.print(" V ");
};
Rechercher le point de puissance maximum sur une résistance, ce n'est pas difficile, il suffit de déterminer la valeur de la résistance interne du PV et de simuler la même valeur et je ne pense pas qu'on fasse plus en MPPT.
Comme il faut passer par un convertisseur DC/DC, les pertes seraient plus importantes dans ce cas.
Je pense aussi qu'on peut facilement modifier une résistance stéatite pour qu'elle puisse fonctionner en bi-tension.