chatelot16 schreef:om een pwm te maken met een constante ingangsspanning en uitgangsspanning aangepast aan het vermogen is er geen Arduino nodig: het wordt gedaan met elk geïntegreerd circuit voor het schakelen van de voeding
Waarschijnlijk, maar er is het plezier om het te ontwikkelen en het kost me echt niets met dit universele beest dat het tegelijkertijd aankan
het opladen van een batterij en vele andere functies, zolang we maar de sensoren toevoegen die goed werken. De hindoe-enthousiasteling die ik citeerde, voorzag niet in PWM-beheer van een resistieve belasting.
Ik heb condensatoren toegevoegd en het programma verbeterd, het is nu erg stabiel.
Een test rond 16 uur op een mistige zonnestraal, bijna horizontaal, die slechts een paar minuten duurde. Ik behaalde een maximum van 30 W met een spanning over het paneel, vrij constant op 0.6 V.
lilian07 schreef:Izentrop Ik kan een snelle pre-simulatie voor u doen, uitgaande van mijn paneel: EPDM + poly van 4 mm zonder isolatie aan de onderzijde (als u ook het totale verlies van het aldus gevormde paneel kent, zal het mogelijk zijn om de vermindering van het verlies door de isolatie te berekenen die je gaat plaatsen). De 8mm poly is duurder en levert niet echt veel meer voordeel op (het vangt minder licht op maar isoleert aanzienlijk meer) Isoleren in de achtergrond levert in jouw geval een dubbel voordeel op muurisolatie van buitenaf + isolatie van de achtergrond van paneel.
Voor de pre-simulatie: ik heb je stad nodig.
Moreuil het dichtst bij, zo niet Amiens.
- De NPN-transistor en 5V-regelaar zijn bedoeld voor gebruiksspanningen hoger dan 12V
- nanoPWM.gif (20.08 KiB) 5611 keer bekeken
Het programma
Code: kiezen
/*
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 ");
};
Het vinden van het maximale vermogenspunt op een weerstand is niet moeilijk, bepaal gewoon de waarde van de interne weerstand van de PV en simuleer dezelfde waarde en ik denk niet dat er meer wordt gedaan in MPPT.
Omdat het nodig is om een DC/DC-omzetter te gebruiken, zijn de verliezen in dit geval groter.
Ik denk ook dat je een speksteenweerstand eenvoudig kunt aanpassen, zodat deze op dubbele spanning kan werken.