chatelot16 yazdı:güce uyarlanmış sabit giriş voltajı ve çıkış voltajı ile bir pwm yapmak için bir arduinoya gerek yoktur: güç kaynağını değiştirmek için herhangi bir entegre devre ile yapılır
Muhtemelen, ama onu geliştirmenin bir zevki var ve aynı anda yönetebilen bu kullanışlı canavarla bana hiçbir maliyeti yok
pil şarj etmek ve diğer pek çok işlev, iyi sensörleri eklediğimiz sürece. Bahsettiğim tutkulu Hindu, dirençli bir yükün PWM yönetimini sağlamadı.
Kapasitörler ekledim ve programı geliştirdim, şimdi çok kararlı.
Sadece birkaç dakika süren sisli, neredeyse yatay bir güneş ışığında saat 16: 30'da bir girişim. 0.6 V'da sabit olmasına rağmen, panel boyunca bir voltajla maksimum 12 W elde ettim.
lilian07 yazdı:Izentrop Size panelimden başlayarak hızlı bir ön simülasyon verebilirim: Altta yalıtım olmadan 4 mm'lik EPDM + poli (ayrıca panelin toplam kaybını bilmek, yalıtımın kaybındaki azalmayı hesaplamak mümkün olacaktır. koyacağınız). 8mm poli daha pahalıdır ve gerçekten çok daha fazla avantaj getirmez (daha az ışık yakalar, ancak önemli ölçüde daha fazla yalıtır) Kasanızdaki arka planda yalıtım, dıştan çift avantajlı bir duvar yalıtımı + alttan yalıtım sağlar paneli.
Ön simülasyon için: Şehre ihtiyacım var.
Mümkün olduğunca yakın, aksi takdirde Amiens.
- 5 V'den yüksek voltajlar için NPN transistör ve 12 V regülatör
- nanoPWM.gif (20.08 KiB) 5685 kez danışmanlık
Program
Kod: seçmek
/*
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 ");
};
Bir direnç üzerindeki maksimum güç noktasını bulun, zor değil, PV'nin iç direncinin değerini belirlemek ve aynı değeri simüle etmek yeterlidir ve MPPT'de birinin daha fazlasını yaptığını sanmıyorum.
Bir DC / DC dönüştürücüden geçmek gerektiğinden, bu durumda kayıplar daha büyük olacaktır.
Ayrıca steatit direncini iki gerilimde işlev görebilecek şekilde kolayca değiştirebileceğimi düşünüyorum.