Commit 47e9d1eb by root

v 0.3.1

    - Prise en compte du courant de charge max des batteries (dans le régulateur)
    - Ajout de l'angle 0° dans la carte d'iradiation solaire
parent e5e7a8ec
......@@ -31,13 +31,16 @@ if (isset($_GET['submit'])) {
}
if ($_GET['ModRegu'] == 'perso') {
if (empty($_GET['PersoReguVmaxPv']) || $_GET['PersoReguVmaxPv'] < 0) {
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoPvV', 'La tension du régulateur personalisé n\'est pas correcte car < 0');
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoReguVmaxPv', 'La tension du régulateur personalisé n\'est pas correcte car < 0');
}
if (empty($_GET['PersoReguPmaxPv']) || $_GET['PersoReguPmaxPv'] < 0) {
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoPvW', 'La puissance du régulateur personalisé n\'est pas correcte car < 0');
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoReguPmaxPv', 'La puissance du régulateur personalisé n\'est pas correcte car < 0');
}
if (empty($_GET['PersoReguImaxPv']) || $_GET['PersoReguImaxPv'] < 0) {
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoPvVdoc', 'Le courant de court-circuit du régulateur personalisé n\'est pas correcte car < 0');
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoReguImaxPv', 'Le courant de court-circuit du régulateur personalisé n\'est pas correcte car < 0');
}
if (empty($_GET['PersoReguIbat']) || $_GET['PersoReguIbat'] < 0) {
$erreurDansLeFormulaire=$erreurDansLeFormulaire.erreurPrint('PersoReguIbat', 'Le courant de charge max des batteries du régulateur personalisé n\'est pas correcte car < 0');
}
}
if (empty($_GET['Aut']) || $_GET['Aut'] < 0) {
......@@ -296,6 +299,8 @@ if (isset($_GET['submit'])) {
/*
* ####### Recherche d'une Config régulateur : #######
*/
// Courant de charge max avec les batteries
$batICharge = $meilleurParcBatterie['Ah']*$meilleurParcBatterie['nbBatterieParallele'] * $_GET['IbatCharge'] / 100;
// D'abord on test avec 1 régulateur
// Ensuite on test tout en série
// Si on trouve pas, on divise en parallèle
......@@ -316,6 +321,7 @@ if (isset($_GET['submit'])) {
$parcPvW = $nbPvConfigFinal * $meilleurParcPv['W'];
$parcPvV = $VdocParcPv;
$parcPvI = $IscParcPv*$_GET['reguMargeIcc']/100+$IscParcPv;
$meilleurRegulateur = chercherRegulateur();
// Solutaion trouvé
......@@ -340,7 +346,6 @@ if (isset($_GET['submit'])) {
if (!$meilleurRegulateur['nom']) {
echo '<p>Désolé nous n\'avons pas réussi à faire une hypothèse de câblage panneaux/régulateur. ';
if ($_GET['ModRegu'] != 'auto') {
echo 'C\'est peut être une conséquence du choix des panneaux '.$meilleurParcPv['W'].'W. ' ;
echo 'Nous vous encourageons à passer le modèle du régulateur et/ou les panneaux en automatique. ';
}
echo '</p>';
......@@ -375,6 +380,8 @@ if (isset($_GET['submit'])) {
<div id="resultCalcRegu" class="calcul">
<p>Un régulateur type <?= $meilleurRegulateur['nom'] ?>, avec un parc de batterie(s) en <b><?= $meilleurRegulateur['Vbat'] ?>V</b>, accepte : </p>
<ul>
<li><b><?= $meilleurRegulateur['Ibat'] ?>A</b> de courant charge des batteries : </li>
<ul><li>Avec <?= $meilleurParcBatterie['Ah']*$meilleurParcBatterie['nbBatterieParallele'] ?> Ah, le courant de charge ne doit pas exéder <?= $_GET['IbatCharge'] ?>% soit <b><?= $meilleurParcBatterie['Ah']*$meilleurParcBatterie['nbBatterieParallele']*$_GET['IbatCharge']/100 ?></b>A (<a rel="tooltip" class="bulles" title="<?= $meilleurParcBatterie['Ah'] ?> Ah * <?= $meilleurParcBatterie['nbBatterieParallele'] ?> batterie(s) en parallèle(s) * <?= $_GET['IbatCharge'] ?> / 100">?</a>)</li></ul>
<li><b><?= $meilleurRegulateur['PmaxPv'] ?>W</b> de puissance maximum de panneaux : </li>
<ul><li>Avec un total de <?= $nbPvSerie*$nbPvParalele ?> panneau(x) en <?= $meilleurParcPv['W'] ?>W, on monte à <b><?= $meilleurParcPv['W']*$nbPvParalele*$nbPvSerie ?>W</b> (<a rel="tooltip" class="bulles" title="<?= $meilleurParcPv['W'] ?>W x <?= $nbPvParalele*$nbPvSerie ?> panneau(x) ">?</a>)</li></ul>
<li><b><?= $meilleurRegulateur['VmaxPv'] ?>V</b> de tension PV maximale de circuit ouvert : </li>
......@@ -495,6 +502,7 @@ if (isset($_GET['submit'])) {
<label>Donner l'inclinaison des panneaux <a rel="tooltip" class="bulles" title="En site isolé on choisie l'inclinaison optimum pour le pire mois de l'année niveau ensoleillement, en France souvent décembre ~65°">(~65° conseillé)</a></label>
<select name="Deg">
<option value="0"<?php echo valeurRecupSelect('Deg', 0); ?>></option>
<option value="35"<?php echo valeurRecupSelect('Deg', 35); ?>>35°</option>
<option value="65"<?php echo valeurRecupSelect('Deg', 65); ?>>65°</option>
</select>
......@@ -584,8 +592,8 @@ if (isset($_GET['submit'])) {
</select> V <a rel="tooltip" class="bulles" title="En mode automatique la tension des batteries sera déduite du besoin en panneaux<br />De 0 à 800Wc : 12V<br />De 800 à 1600 Wc : 24V<br />Au dessus de 1600 Wc : 48V">(?)</a>
</div>
<div class="form DD">
<label>Degré de décharge : </label>
<input maxlength="2" size="2" id="DD" type="number" step="1" min="0" max="100" style="width: 70px" value="<?php echo valeurRecup('DD'); ?>" name="DD" /> %
<label>Degré de décharge limite : </label>
<input maxlength="2" size="2" id="DD" type="number" step="1" min="0" max="100" style="width: 70px" value="<?php echo valeurRecup('DD'); ?>" name="DD" /> %
</div>
<div class="form ModBat">
<label>Modèle de batterie : </label>
......@@ -631,6 +639,10 @@ if (isset($_GET['submit'])) {
<label>Tension finale des batteries : <a rel="tooltip" class="bulles" title="Cette valeur se change dans 'Dimensionnement du parc batteries'"><span id="PersoReguVbat"></span>V</a></label>
</li>
<li>
<label>Courant de charge des batteries :</label>
<input type="number" step="0.01" min="0,01" max="999" style="width: 70px;" value="<?php echo valeurRecup('PersoReguIbat'); ?>" name="PersoReguIbat" />A
</li>
<li>
<label>Puissance maximale PV : </label>
<input type="number" min="1" max="9999" style="width: 70px;" value="<?php echo valeurRecup('PersoReguPmaxPv'); ?>" name="PersoReguPmaxPv" />W
</li>
......@@ -639,15 +651,25 @@ if (isset($_GET['submit'])) {
<input type="number" min="1" max="9999" style="width: 70px;" value="<?php echo valeurRecup('PersoReguVmaxPv'); ?>" name="PersoReguVmaxPv" />V
</li>
<li>
<label>Max. PV courant de court-circuit :</label>
<label>Max. PV courant (Puissance / Tension) :</label>
<input type="number" step="0.01" min="0,01" max="999" style="width: 70px;" value="<?php echo valeurRecup('PersoReguImaxPv'); ?>" name="PersoReguImaxPv" />A
</li>
</ul>
</div>
<div class="form reguMargeIcc">
<label>Marge de sécurité du courant de court-circuit Icc : </label>
<label>Marge de sécurité du courant de court-circuit Icc des panneaux : </label>
<input maxlength="2" size="2" id="reguMargeIcc" type="number" step="1" min="0" max="100" style="width: 70px" value="<?php echo valeurRecup('reguMargeIcc'); ?>" name="reguMargeIcc" /> %
</div>
<div class="form IbatCharge">
<label>Pourcentage de courant de charge max des batteries : </label>
<input maxlength="2" size="2" id="IbatCharge" type="number" step="1" min="0" max="100" style="width: 70px" value="<?php echo valeurRecup('IbatCharge'); ?>" name="IbatCharge" /> %
</div>
<!--
<div class="form IbatDecharge">
<label>Pourcentage de courant de décharge max : </label>
<input maxlength="2" size="2" id="IbatDecharge" type="number" step="1" min="0" max="100" style="width: 70px" value="<?php echo valeurRecup('IbatDecharge'); ?>" name="IbatDecharge" /> %
</div>
-->
</div>
<div class="form End">
......
......@@ -20,7 +20,7 @@ Pour l'utilisateur de base :
- (précis) Valeur du site http://ines.solaire.free.fr/gisesol_1.php (kWh/m²/j)
- En mode expert, ajuster le degré de décharge, les valeurs de rendement électrique des batteries ou du reste de l'installation,
- Déduction automatique du nombre de panneaux nessésaire (possibilité de forcer un modèle type ou de personnaliser ces caractéristiques)
- Déduction automatique du régulateur nessésaire (possibilité de forcer un modèle type ou de personnaliser ces caractéristiques)
- Déduction automatique du régulateur nécessaire (possibilité de forcer un modèle type ou de personnaliser ces caractéristiques)
- Hypothèse de câblage panneaux / régulateur (exemple : 3 panneaux en série sur 2 paralèles branché sur un régulateur)
- Déduction automatique de la tension du parc de batteries à utiliser (possibilité de forcer une valeur en mode expert)
- Déduction automatique d'une configuration du parc de câblage des batteries et du modèle à utiliser (exemple : "2 batteries 220Ah 12V en série") (possibilité de forcer un modèle de travail en mode expert)
......@@ -53,10 +53,23 @@ Le rendre accessible depuis votre serveur http et personnaliser les valeur du fi
- Bug info bulle pas bien positionné
- Bug plusieurs "auto" appariasse dans le select de tension de batterie en manipulant les régulateurs...
- Bug : virer "1 série" quand il n'y a que des paralèles...
- Préciser que les valeurs des batteries c'est pour du C20 - faire un lien pour explication : http://www.batterie-solaire.com/batterie-delestage-electrique.htm
- ERREUR Régulateur :
Ajouter le courant PV max
sur un 100/30 le 30 c'est le courant de sortie des batterie (pas des panneaux) et ça ne doit pas être > 19% de la capacité des batterie
http://forum-photovoltaique.fr/viewtopic.php?p=407128#p407128
- Truc du frigo 24/24 mais qui consomem pas tout le temps... A affiner...
- Pîque de conso qui fait varier le choix de l'onduleur et donc la tension du parc de batterie...
12V: de 150 à 1500VA, 24V : de 400 à 5000VA, 48V : 1000 à 10000VA... (voir mail de guillaume)
- considère tout les appareils 24/24 + les sélectionné par exemple
- Ajouter l'angle à 0° sur la carte des iradiations pour les camions ect...
- BAT : Toujours respecter le paramètre de 15% de charge 20% de décharge max.
- Prendre en considération l'énergie hybride (éolienne, groupe, hydrolienne...)
- Mettre un script de bugtrack
- Préciser que l'aide d'un professionel est souhaitable
- Pouvoir personnaliser ses batteries
- Prendre en compte l'autodécharge
- Beau dessin du câblage...
- Calcul des sections de câbles
- Prévoir d'autres technologie batterie que AGM
......@@ -67,13 +80,14 @@ Le rendre accessible depuis votre serveur http et personnaliser les valeur du fi
- Traduction anglais
CalcConsommation :
- BUG mettre un arondi
- Plus de pédagogie sur le calcul
- Sauvegarder dans les cookies (il manque pas grand chose)
### Changelog
- 0.3
- Déduction automatique du régulateur nessésaire (possibilité de forcer un modèle type ou de personnaliser ces caractéristiques)
- Déduction automatique du régulateur nécessaire (possibilité de forcer un modèle type ou de personnaliser ces caractéristiques)
- Déduction automatique du câblage des panneaux (série/parallèle)
- 0.2
- Déduction automatique du nombre de panneaux (possibilité de forcer un modèle de travail)
......@@ -84,7 +98,7 @@ CalcConsommation :
- 3 mode au formulaire (Débutant, Eclairé, Expert)
- Pour déterminer l'ensoleillement :
- (simple) Carte par zone
- (précis) Valeur du site http://ines.solaire.free.fr/gisesol_1.php (kWh/m²/j)
- (précis) Valeur du site http://inécessairenes.solaire.free.fr/gisesol_1.php (kWh/m²/j)
- En mode expert, ajuster le degré de décharge, les valeurs de rendement électrique des batteries ou du reste de l'installation,
- Déduction automatique de la tension du parc de batteries à utiliser (possibilité de forcer une valeur en mode expert)
- Déduction automatique de câblage du parc des batteries et du modèle à utiliser (exemple : "2 batteries 220Ah 12V en série") (possibilité de forcer un modèle de travail en mode expert)
......@@ -97,10 +111,11 @@ CalcConsommation :
- La fourchette de prix des panneaux photovoltaïque et des batteries
- Les modèles de batteries possible pour la détermination d'une configuration
### Auteur
### Auteur / contributeur
- David Mercereau [david #arobase# mercereau #point# info](http://david.mercereau.info/contact/)
- David Mercereau [david #arobase# mercereau #point# info](http://david.mercereau.info/contact/) (auteur)
- Largement inspiré du [tableur posté par lr83](http://forum-photovoltaique.fr/viewtopic.php?p=403856#p403837)
- Guillaume Piton de [SolisION-event](http://solision-event.centerblog.net) (contribution technique)
### License
......
......@@ -25,33 +25,45 @@ U=0
Deg=65
; Zone
ZoneId=3
; Marge courant court circuit régulateur Icc
reguMargeIcc=20
; Marge courant court circuit régulateur Icc : ne marge de 38%, car les panneaux sont calibré sur un soleil de 1000Wc au m², hors, en France, on peut atteindre 1380W/m².. cette marge augmente avec le froid et peut baisser si le fabricant du régulateur à déjà appliqué une marge à la conception
reguMargeIcc=38
; Pourcentage de courant de charge max
IbatCharge=15
; Pourcentage de courant de décharge max
IbatDecharge=19
; Rayonnement moyen quotidien du mois le plus défavorable (kWh/m²/j)
[irradiation]
; Lille
zone1_0=0.55
zone1_35=0.83
zone1_65=0.92
; Paris
zone2_0=0.72
zone2_35=1.11
zone2_65=1.22
; Nantes
zone3_0=0.83
zone3_35=1.27
zone3_65=1.39
; Limoges
zone4_0=1.04
zone4_35=1.67
zone4_65=1.85
; Bordeaux
zone5_0=1.09
zone5_35=1.7
zone5_65=1.86
; Carcasonne
zone6_0=1.28
zone6_35=1.99
zone6_65=2.17
; Montpelier
zone7_0=1.55
zone7_35=2.66
zone7_65=2.94
; Marseille
zone8_0=1.49
zone8_35=2.7
zone8_65=2.97
......@@ -133,10 +145,10 @@ pompeimmergee[conso]=400
; 2V Gel opzv
; Le moins cher que j'ai trouvé avec le plus de puissance
; 2485/3000 = 0,828333333 https://www.victronenergy.fr/upload/documents/Pricelist_EURO-C_2017_Q1.pdf
bat2V_bas=0.82
bat2V_bas=0.674
; Le plus cher que j'ai trouvé avec le moins de puissance
; 300/200 = 1,614 http://www.ecolodis-solaire.com/batterie-solaire-2v-opzs-et-opzv-17/batterie-2-volts-opzv-3000-victron-1719
bat2V_haut=1.61
bat2V_haut=2.74
; 12V AGM
; Le moins cher que j'ai trouvé avec le plus de puissance
; 439/220 = 1,995454545 http://electrosun.fr/Batterie-AGM-12V-220-Ah-PowerS
......@@ -185,6 +197,12 @@ PV_Mono_190[V]=24
PV_Mono_190[Vdoc]=43,2
PV_Mono_190[Isc]=5,98
PV_Mono_190[type]="monocristalin"
; http://www.elysun.fr/pdf/elysun_mono_sanyo_240w.pdf
PV_Mono_240[W]=240
PV_Mono_240[V]=24
PV_Mono_240[Vdoc]=43,6
PV_Mono_240[Isc]=7,37
PV_Mono_240[type]="monocristalin"
PV_Mono_300[W]=300
PV_Mono_300[V]=24
PV_Mono_300[Vdoc]=43,5
......@@ -308,183 +326,217 @@ GEL_2_3000[Ah]=3000
; Les 2 derniers caractères précédé d'un "_" doivent définir la tension Vbat du parc de batterie
MPPT_75_10_12[nom]="MPTT 75/10"
MPPT_75_10_12[Vbat]=12
MPPT_75_10_12[Ibat]=10
MPPT_75_10_12[PmaxPv]=145
MPPT_75_10_12[VmaxPv]=75
MPPT_75_10_12[ImaxPv]=10
MPPT_75_10_24[nom]="MPTT 75/10"
MPPT_75_10_24[Vbat]=24
MPPT_75_10_24[Ibat]=10
MPPT_75_10_24[PmaxPv]=290
MPPT_75_10_24[VmaxPv]=75
MPPT_75_10_24[ImaxPv]=10
MPPT_75_15_12[nom]="MPTT 75/15"
MPPT_75_15_12[Vbat]=12
MPPT_75_15_12[Ibat]=15
MPPT_75_15_12[PmaxPv]=220
MPPT_75_15_12[VmaxPv]=75
MPPT_75_15_12[ImaxPv]=15
MPPT_75_15_24[nom]="MPTT 75/15"
MPPT_75_15_24[Vbat]=24
MPPT_75_15_24[Ibat]=15
MPPT_75_15_24[PmaxPv]=440
MPPT_75_15_24[VmaxPv]=75
MPPT_75_15_24[ImaxPv]=15
MPPT_100_15_12[nom]="MPTT 100/15"
MPPT_100_15_12[Vbat]=12
MPPT_100_15_12[Ibat]=15
MPPT_100_15_12[PmaxPv]=220
MPPT_100_15_12[VmaxPv]=100
MPPT_100_15_12[ImaxPv]=15
MPPT_100_15_24[nom]="MPTT 100/15"
MPPT_100_15_24[Vbat]=24
MPPT_100_15_24[Ibat]=15
MPPT_100_15_24[PmaxPv]=440
MPPT_100_15_24[VmaxPv]=100
MPPT_100_15_24[ImaxPv]=15
MPPT_100_30_12[nom]="MPTT 100/30"
MPPT_100_30_12[Vbat]=12
MPPT_100_30_12[Ibat]=30
MPPT_100_30_12[PmaxPv]=440
MPPT_100_30_12[VmaxPv]=100
MPPT_100_30_12[ImaxPv]=30
MPPT_100_30_12[ImaxPv]=35
MPPT_100_30_24[nom]="MPTT 100/30"
MPPT_100_30_24[Vbat]=24
MPPT_100_30_24[Ibat]=30
MPPT_100_30_24[PmaxPv]=880
MPPT_100_30_24[VmaxPv]=100
MPPT_100_30_24[ImaxPv]=30
MPPT_100_30_24[ImaxPv]=35
MPPT_100_50_12[nom]="MPTT 100/50"
MPPT_100_50_12[Vbat]=12
MPPT_100_50_12[Ibat]=50
MPPT_100_50_12[PmaxPv]=700
MPPT_100_50_12[VmaxPv]=100
MPPT_100_50_12[ImaxPv]=50
MPPT_100_50_12[ImaxPv]=60
MPPT_100_50_24[nom]="MPTT 100/50"
MPPT_100_50_24[Vbat]=24
MPPT_100_50_24[Ibat]=50
MPPT_100_50_24[PmaxPv]=1400
MPPT_100_50_24[VmaxPv]=100
MPPT_100_50_24[ImaxPv]=50
MPPT_100_50_24[ImaxPv]=60
MPPT_150_35_12[nom]="MPTT 150/35"
MPPT_150_35_12[Vbat]=12
MPPT_150_35_12[Ibat]=34
MPPT_150_35_12[PmaxPv]=500
MPPT_150_35_12[VmaxPv]=150
MPPT_150_35_12[ImaxPv]=35
MPPT_150_35_12[ImaxPv]=40
MPPT_150_35_24[nom]="MPTT 150/35"
MPPT_150_35_24[Vbat]=24
MPPT_150_35_24[Ibat]=35
MPPT_150_35_24[PmaxPv]=1000
MPPT_150_35_24[VmaxPv]=150
MPPT_150_35_24[ImaxPv]=35
MPPT_150_35_24[ImaxPv]=40
MPPT_150_35_48[nom]="MPTT 150/35"
MPPT_150_35_48[Vbat]=48
MPPT_150_35_48[Ibat]=35
MPPT_150_35_48[PmaxPv]=2000
MPPT_150_35_48[VmaxPv]=150
MPPT_150_35_48[ImaxPv]=35
MPPT_150_35_48[ImaxPv]=40
MPPT_150_45_12[nom]="MPTT 150/45"
MPPT_150_45_12[Vbat]=12
MPPT_150_45_12[Ibat]=45
MPPT_150_45_12[PmaxPv]=650
MPPT_150_45_12[VmaxPv]=150
MPPT_150_45_12[ImaxPv]=45
MPPT_150_45_12[ImaxPv]=50
MPPT_150_45_24[nom]="MPTT 150/45"
MPPT_150_45_24[Vbat]=24
MPPT_150_45_24[Ibat]=45
MPPT_150_45_24[PmaxPv]=1300
MPPT_150_45_24[VmaxPv]=150
MPPT_150_45_24[ImaxPv]=45
MPPT_150_45_24[ImaxPv]=50
MPPT_150_45_48[nom]="MPTT 150/45"
MPPT_150_45_48[Vbat]=48
MPPT_150_45_48[Ibat]=45
MPPT_150_45_48[PmaxPv]=2600
MPPT_150_45_48[VmaxPv]=150
MPPT_150_45_48[ImaxPv]=45
MPPT_150_45_48[ImaxPv]=50
MPPT_150_60_12[nom]="MPTT 150/60"
MPPT_150_60_12[Vbat]=12
MPPT_150_60_12[Ibat]=60
MPPT_150_60_12[PmaxPv]=860
MPPT_150_60_12[VmaxPv]=150
MPPT_150_60_12[ImaxPv]=60
MPPT_150_60_12[ImaxPv]=50
MPPT_150_60_24[nom]="MPTT 150/60"
MPPT_150_60_24[Vbat]=24
MPPT_150_60_24[Ibat]=60
MPPT_150_60_24[PmaxPv]=1720
MPPT_150_60_24[VmaxPv]=150
MPPT_150_60_24[ImaxPv]=60
MPPT_150_60_24[ImaxPv]=50
MPPT_150_60_48[nom]="MPTT 150/60"
MPPT_150_60_48[Vbat]=48
MPPT_150_60_48[Ibat]=60
MPPT_150_60_48[PmaxPv]=3440
MPPT_150_60_48[VmaxPv]=150
MPPT_150_60_48[ImaxPv]=60
MPPT_150_60_48[ImaxPv]=50
MPPT_150_70_12[nom]="MPTT 150/70"
MPPT_150_70_12[Vbat]=12
MPPT_150_70_12[Ibat]=70
MPPT_150_70_12[PmaxPv]=1000
MPPT_150_70_12[VmaxPv]=150
MPPT_150_70_12[ImaxPv]=70
MPPT_150_70_12[ImaxPv]=50
MPPT_150_70_24[nom]="MPTT 150/70"
MPPT_150_70_24[Vbat]=24
MPPT_150_70_24[Ibat]=70
MPPT_150_70_24[PmaxPv]=2000
MPPT_150_70_24[VmaxPv]=150
MPPT_150_70_24[ImaxPv]=70
MPPT_150_70_24[ImaxPv]=50
MPPT_150_70_48[nom]="MPTT 150/70"
MPPT_150_70_48[Vbat]=48
MPPT_150_70_48[Ibat]=70
MPPT_150_70_48[PmaxPv]=4000
MPPT_150_70_48[VmaxPv]=150
MPPT_150_70_48[ImaxPv]=70
MPPT_150_70_48[ImaxPv]=50
MPPT_150_85_12[nom]="MPTT 150/85"
MPPT_150_85_12[Vbat]=12
MPPT_150_85_12[Ibat]=85
MPPT_150_85_12[PmaxPv]=1200
MPPT_150_85_12[VmaxPv]=150
MPPT_150_85_12[ImaxPv]=85
MPPT_150_85_12[ImaxPv]=70
MPPT_150_85_24[nom]="MPTT 150/85"
MPPT_150_85_24[Vbat]=24
MPPT_150_85_24[Ibat]=85
MPPT_150_85_24[PmaxPv]=2400
MPPT_150_85_24[VmaxPv]=150
MPPT_150_85_24[ImaxPv]=85
MPPT_150_85_24[ImaxPv]=70
MPPT_150_85_48[nom]="MPTT 150/85"
MPPT_150_85_48[Vbat]=48
MPPT_150_85_48[Ibat]=85
MPPT_150_85_48[PmaxPv]=4900
MPPT_150_85_48[VmaxPv]=150
MPPT_150_85_48[ImaxPv]=85
MPPT_150_85_48[ImaxPv]=70
MPPT_150_100_12[nom]="MPTT 150/100"
MPPT_150_100_12[Vbat]=12
MPPT_150_100_12[Ibat]=100
MPPT_150_100_12[PmaxPv]=1450
MPPT_150_100_12[VmaxPv]=150
MPPT_150_100_12[ImaxPv]=100
MPPT_150_100_12[ImaxPv]=70
MPPT_150_100_24[nom]="MPTT 150/100"
MPPT_150_100_24[Vbat]=24
MPPT_150_100_24[Ibat]=100
MPPT_150_100_24[PmaxPv]=2900
MPPT_150_100_24[VmaxPv]=150
MPPT_150_100_24[ImaxPv]=100
MPPT_150_100_24[ImaxPv]=70
MPPT_150_100_48[nom]="MPTT 150/100"
MPPT_150_100_48[Vbat]=48
MPPT_150_100_48[Ibat]=100
MPPT_150_100_48[PmaxPv]=5800
MPPT_150_100_48[VmaxPv]=150
MPPT_150_100_48[ImaxPv]=100
MPPT_150_100_48[ImaxPv]=70
MPPT_250_85_12[nom]="MPTT 250/85"
MPPT_250_85_12[Vbat]=12
MPPT_250_85_12[Ibat]=85
MPPT_250_85_12[PmaxPv]=1200
MPPT_250_85_12[VmaxPv]=250
MPPT_250_85_12[ImaxPv]=85
MPPT_250_85_12[ImaxPv]=70
MPPT_250_85_24[nom]="MPTT 250/85"
MPPT_250_85_24[Vbat]=24
MPPT_250_85_24[Ibat]=85
MPPT_250_85_24[PmaxPv]=2400
MPPT_250_85_24[VmaxPv]=250
MPPT_250_85_24[ImaxPv]=85
MPPT_250_85_24[ImaxPv]=70
MPPT_250_85_48[nom]="MPTT 250/85"
MPPT_250_85_48[Vbat]=48
MPPT_250_85_48[Ibat]=85
MPPT_250_85_48[PmaxPv]=4900
MPPT_250_85_48[VmaxPv]=250
MPPT_250_85_48[ImaxPv]=85
MPPT_250_85_48[ImaxPv]=70
MPPT_250_100_12[nom]="MPTT 250/100"
MPPT_250_100_12[Vbat]=12
MPPT_250_100_12[Ibat]=100
MPPT_250_100_12[PmaxPv]=1450
MPPT_250_100_12[VmaxPv]=250
MPPT_250_100_12[ImaxPv]=100
MPPT_250_100_12[ImaxPv]=70
MPPT_250_100_24[nom]="MPTT 250/100"
MPPT_250_100_24[Vbat]=24
MPPT_250_100_24[Ibat]=100
MPPT_250_100_24[PmaxPv]=2900
MPPT_250_100_24[VmaxPv]=250
MPPT_250_100_24[ImaxPv]=100
MPPT_250_100_24[ImaxPv]=70
MPPT_250_100_48[nom]="MPTT 250/100"
MPPT_250_100_48[Vbat]=48
MPPT_250_100_48[Ibat]=100
MPPT_250_100_48[PmaxPv]=5800
MPPT_250_100_48[VmaxPv]=250
MPPT_250_100_48[ImaxPv]=100
MPPT_250_100_48[ImaxPv]=70
......@@ -46,7 +46,7 @@ function erreurPrint($id, $msg) {
// Recherche bonne config régulateur
function chercherRegulateur() {
global $parcPvW,$parcPvV,$parcPvI,$config_ini,$U,$_GET;
global $parcPvW,$parcPvV,$parcPvI,$config_ini,$U,$meilleurParcBatterie,$_GET,$batICharge;
$meilleurRegulateur['nom'] = null;
$meilleurRegulateur['diffRegulateurParcPvW'] = 99999;
......@@ -61,20 +61,26 @@ function chercherRegulateur() {
debug('<li>');
debug('Test de config avec le régulateur perso ::: ');
debug($parcPvW.'&lt;'.$_GET['PersoReguPmaxPv'].'W, ');
debug($parcPvV.'&lt;'.$_GET['PersoReguVmaxPv'].'V, ');
debug($parcPvI.'&lt;'.$_GET['PersoReguImaxPv'].'A');
debug($batICharge.'&lt;'.$_GET['PersoReguIbat'].'A Bat, ');
if ($batICharge < $_GET['PersoReguIbat']) {
debug($parcPvW.'&lt;'.$_GET['PersoReguPmaxPv'].'W, ');
debug($parcPvV.'&lt;'.$_GET['PersoReguVmaxPv'].'V, ');
debug($parcPvI.'&lt;'.$_GET['PersoReguImaxPv'].'A');
if ($parcPvW < $_GET['PersoReguPmaxPv']
&& $parcPvV < $_GET['PersoReguVmaxPv']
&& $parcPvI < $_GET['PersoReguImaxPv']) {
debug(' | ** ça fonctionne ** ');
$meilleurRegulateur['nom'] = 'Regulateur Personnalisé';
$meilleurRegulateur['Vbat'] = $_GET['U'];
$meilleurRegulateur['PmaxPv'] = $_GET['PersoReguPmaxPv'];
$meilleurRegulateur['VmaxPv'] = $_GET['PersoReguVmaxPv'];
$meilleurRegulateur['ImaxPv'] = $_GET['PersoReguImaxPv'];
}
if ($parcPvW < $_GET['PersoReguPmaxPv']
&& $parcPvV < $_GET['PersoReguVmaxPv']
&& $parcPvI < $_GET['PersoReguImaxPv']) {
debug(' | ** ça fonctionne ** ');
$meilleurRegulateur['nom'] = 'Regulateur Personnalisé';
$meilleurRegulateur['Vbat'] = $_GET['U'];
$meilleurRegulateur['Ibat'] = $_GET['PersoReguIbat'];
$meilleurRegulateur['PmaxPv'] = $_GET['PersoReguPmaxPv'];
$meilleurRegulateur['VmaxPv'] = $_GET['PersoReguVmaxPv'];
$meilleurRegulateur['ImaxPv'] = $_GET['PersoReguImaxPv'];
}
} else {
debug(' | impossible ');
}
debug('</li>');
} else {
......@@ -95,10 +101,15 @@ function chercherRegulateur() {
debug('<li>');
debug('Test de config avec le '.$regulateur['nom'].' ::: ');
debug($batICharge.'&lt;'.$regulateur['Ibat'].'A Bat, ');
if (! $batICharge > $regulateur['Ibat']) {
continue;
}
debug($parcPvW.'&lt;'.$regulateur['PmaxPv'].'W, ');
debug($parcPvV.'&lt;'.$regulateur['VmaxPv'].'V, ');
debug($parcPvI.'&lt;'.$regulateur['ImaxPv'].'A');
if ($parcPvW < $regulateur['PmaxPv']
&& $parcPvV < $regulateur['VmaxPv']
&& $parcPvI < $regulateur['ImaxPv']) {
......@@ -121,6 +132,7 @@ function chercherRegulateur() {
$meilleurRegulateur['diffRegulateurParcPvA'] = $diffRegulateurParcPvI;
$meilleurRegulateur['nom'] = $regulateur['nom'];
$meilleurRegulateur['Vbat'] = $regulateur['Vbat'];
$meilleurRegulateur['Ibat'] = $regulateur['Ibat'];
$meilleurRegulateur['PmaxPv'] = $regulateur['PmaxPv'];
$meilleurRegulateur['VmaxPv'] = $regulateur['VmaxPv'];
$meilleurRegulateur['ImaxPv'] = $regulateur['ImaxPv'];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment