chatelot16 napisał:aby wykonać PWM o stałym napięciu wejściowym i napięciu wyjściowym dostosowanym do mocy, nie ma potrzeby stosowania arduino: odbywa się to za pomocą dowolnego układu scalonego do zasilania decoupage
Prawdopodobnie, ale z przyjemnością go rozwijam i naprawdę nie kosztuje mnie to bestia robieniem wszystkiego, co może jednocześnie zarządzać
ładowanie baterii i wiele innych funkcji, pod warunkiem, że dodasz czujniki, które działają dobrze. Zaciekły Hindus, którego zacytowałem, nie przewidział zarządzania PWM obciążeniem rezystancyjnym.
Dodałem kondensatory i poprawiłem program, teraz jest bardzo stabilny.
Test 16h30 na mglistym promieniu słońca, prawie poziomym, który trwał tylko kilka minut. Dostałem maksymalnie 0.6 W z napięciem na zaciskach panelu, bardzo stałym w 12 V.
lilian07 napisał:Izentrop Mogę wykonać szybką wstępną symulację z mojego panelu: EPDM + poli 4mm bez izolacji na spodzie (znając również całkowitą utratę tak utworzonego panelu, możliwe będzie obliczenie zmniejszenia strat przez izolację które umieścisz). Poli 8mm jest droższy i nie ma tak naprawdę większych korzyści (przechwytuje mniej światła, ale izoluje znacznie więcej). Izolacja w tle zapewnia podwójną izolację ścian dzięki izolacji zewnętrznej + dolnej panelu.
Do wstępnej symulacji: potrzebuję twojego miasta.
Moreuil do najbliższego, inaczej Amiens.
- Tranzystor NPN i kontroler 5 V są przeznaczone do wyższych napięć roboczych niż 12 v
- nanoPWM.gif (20.08 Kio) Dostęp do 5716 razy
Le programy
Kod: wybierać
/*
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 ");
};
Poszukiwanie maksymalnego punktu mocy na rezystorze nie jest trudne, wystarczy określić wartość wewnętrznej rezystancji PV i zasymulować tę samą wartość i nie sądzę, abyśmy robili więcej w MPPT.
Ponieważ konieczne jest przejście przez przetwornicę DC / DC, straty byłyby w tym przypadku większe.
Myślę też, że można łatwo zmodyfikować odporność na steatyt, aby działał w układzie bi-napięcie.