Commit c56b7192 authored by root's avatar root

v1.1.1

    - Petit bug sur la tension du convertisseur qui n'était pas la bonne
    - Modification des sections de câble pour arriver "au plus prêt" et non pas "au plus haut" : http://forum.apper-solaire.org/viewtopic.php?f=16&t=9242&start=15#p122113
parent b3ee04a5
...@@ -556,7 +556,7 @@ if (isset($_GET['submit'])) { ...@@ -556,7 +556,7 @@ if (isset($_GET['submit'])) {
$cableDistancePvRegu_Final=$cableDistancePvRegu_Calc; $cableDistancePvRegu_Final=$cableDistancePvRegu_Calc;
} }
?> ?>
<li>Entre les panneaux et le régulateur, pour une distance de <?= $_GET['distancePvRegu'] ?>m, il vous est conseillé un câble d'une section minimum de <?= $cableDistancePvRegu_Final ?>mm² <li>Entre les panneaux et le régulateur, pour une distance de <?= $_GET['distancePvRegu'] ?>m, il vous est conseillé un câble d'une section de <?= $cableDistancePvRegu_Final ?>mm²
<a id="resultCalcCablePvReguShow">(voir, comprendre la démarche)</a></li> <a id="resultCalcCablePvReguShow">(voir, comprendre la démarche)</a></li>
<div id="resultCalcCablePvRegu" class="calcul"> <div id="resultCalcCablePvRegu" class="calcul">
<p><a class="more" id="resultCalcCablePvReguHide">Cacher la démarche</a></p> <p><a class="more" id="resultCalcCablePvReguHide">Cacher la démarche</a></p>
...@@ -574,17 +574,22 @@ if (isset($_GET['submit'])) { ...@@ -574,17 +574,22 @@ if (isset($_GET['submit'])) {
<p>S = <?php echo $_GET['cablageRho'].' x ('.$_GET['distancePvRegu'].'x2) x '.$nbPvParalele*$meilleurParcPv['Isc'].' / '.$PT.' = <b>'.$cableDistancePvRegu_Calc.'</b>'; ?>mm²</p> <p>S = <?php echo $_GET['cablageRho'].' x ('.$_GET['distancePvRegu'].'x2) x '.$nbPvParalele*$meilleurParcPv['Isc'].' / '.$PT.' = <b>'.$cableDistancePvRegu_Calc.'</b>'; ?>mm²</p>
<?php <?php
if ($cableDistancePvRegu_Calc < $cableDistancePvRegu_AparMm) { if ($cableDistancePvRegu_Calc < $cableDistancePvRegu_AparMm) {
echo '<p>Mais cette section ne respecte pas la rêgle des '.$_GET['cablageRegleAparMm'].'A/mm² qui permet de se prémunir des échauffements. '; echo '<p>Mais cette section ne respecte pas la règle des '.$_GET['cablageRegleAparMm'].'A/mm² qui permet de se prémunir des échauffements. ';
echo 'Pour respecter cette règle, il faut donc passer à une section de <b>'.$cableDistancePvRegu_Final.'</b>mm² <a rel="tooltip" class="bulles" title="'.$nbPvParalele*$meilleurParcPv['Isc'].'A / '.$_GET['cablageRegleAparMm'].'A/mm² = '.$cableDistancePvRegu_Final.'mm²">?</a></p>'; echo 'Pour respecter cette règle, il faudrait s\'approcher d\'une section de <b>'.$cableDistancePvRegu_Final.'</b>mm² <a rel="tooltip" class="bulles" title="'.$nbPvParalele*$meilleurParcPv['Isc'].'A / '.$_GET['cablageRegleAparMm'].'A/mm² = '.$cableDistancePvRegu_Final.'mm²">?</a></p>';
} }
?> ?>
</div> </div>
<ul> <ul>
<?php $meilleurCable = chercherCable($cableDistancePvRegu_Final); <?php
if ($cableDistancePvRegu_Calc < $cableDistancePvRegu_AparMm) {
$meilleurCable = chercherCable_SecionPlusProche($cableDistancePvRegu_Final);
} else {
$meilleurCable = chercherCable_SecionAudessus($cableDistancePvRegu_Final);
}
if (empty($meilleurCable)) { if (empty($meilleurCable)) {
echo '<li>Impossible de proposer une section de câble réaliste. Vous deviez peut être envisager de diminuer la distance entre les appareils.'; echo '<li>Impossible de proposer une section de câble réaliste. Vous deviez peut être envisager de diminuer la distance entre les appareils.';
} else { ?> } else { ?>
<li>Section de câble minimum proposé <b><?= $meilleurCable['nom'] ?></b>, pour un coût d'environ <?= $_GET['distancePvRegu']*$meilleurCable['prix'] ?></li> <li>Section de câble la plus proche proposé : <b><?= $meilleurCable['nom'] ?></b>, pour un coût d'environ <?= $_GET['distancePvRegu']*$meilleurCable['prix'] ?></li>
<?php } ?> <?php } ?>
</ul> </ul>
<?php <?php
...@@ -599,7 +604,7 @@ if (isset($_GET['submit'])) { ...@@ -599,7 +604,7 @@ if (isset($_GET['submit'])) {
$cableDistanceReguBat_Final=$cableDistanceReguBat_Calc; $cableDistanceReguBat_Final=$cableDistanceReguBat_Calc;
} }
?> ?>
<li>Entre le régulateur et les batteries, pour une distance de <?= $_GET['distanceReguBat'] ?>m, il vous est conseillé un câble d'une section minimum de <?= $cableDistanceReguBat_Final ?>mm² <li>Entre le régulateur et les batteries, pour une distance de <?= $_GET['distanceReguBat'] ?>m, il vous est conseillé un câble d'une section de <?= $cableDistanceReguBat_Final ?>mm²
<a id="resultCalcCableReguBatShow">(voir, comprendre la démarche)</a></li> <a id="resultCalcCableReguBatShow">(voir, comprendre la démarche)</a></li>
<div id="resultCalcCableReguBat" class="calcul"> <div id="resultCalcCableReguBat" class="calcul">
<p><a class="more" id="resultCalcCableReguBatHide">Cacher la démarche</a></p> <p><a class="more" id="resultCalcCableReguBatHide">Cacher la démarche</a></p>
...@@ -617,17 +622,22 @@ if (isset($_GET['submit'])) { ...@@ -617,17 +622,22 @@ if (isset($_GET['submit'])) {
<p>S = <?php echo $_GET['cablageRho'].' x ('.$_GET['distanceReguBat'].'x2) x ('.$parcPvW.' / '.$U.') / '.$PT.' = <b>'.$cableDistanceReguBat_Calc.'</b>'; ?>mm²</p> <p>S = <?php echo $_GET['cablageRho'].' x ('.$_GET['distanceReguBat'].'x2) x ('.$parcPvW.' / '.$U.') / '.$PT.' = <b>'.$cableDistanceReguBat_Calc.'</b>'; ?>mm²</p>
<?php <?php
if ($cableDistanceReguBat_Calc < $cableDistanceReguBat_AparMm) { if ($cableDistanceReguBat_Calc < $cableDistanceReguBat_AparMm) {
echo '<p>Mais cette section ne respecte pas la rêgle des '.$_GET['cablageRegleAparMm'].'A/mm² qui permet de se prémunir des échauffements. '; echo '<p>Mais cette section ne respecte pas la règle des '.$_GET['cablageRegleAparMm'].'A/mm² qui permet de se prémunir des échauffements. ';
echo 'Pour respecter cette règle, il faut donc passer à une section de <b>'.$cableDistanceReguBat_Final.'</b>mm² <a rel="tooltip" class="bulles" title="'.$parcPvW.'W / '.$U.'V = '.$parcPvW/$U.'A<br />'.$parcPvW/$U.'A / '.$_GET['cablageRegleAparMm'].'A/mm² = '.$cableDistanceReguBat_Final.'mm²">?</a></p>'; echo 'Pour respecter cette règle, il faudrait s\'approcher d\'une section de <b>'.$cableDistanceReguBat_Final.'</b>mm² <a rel="tooltip" class="bulles" title="'.$parcPvW.'W / '.$U.'V = '.$parcPvW/$U.'A<br />'.$parcPvW/$U.'A / '.$_GET['cablageRegleAparMm'].'A/mm² = '.$cableDistanceReguBat_Final.'mm²">?</a></p>';
} }
?> ?>
</div> </div>
<ul> <ul>
<?php $meilleurCable = chercherCable($cableDistanceReguBat_Final); <?php
if ($cableDistanceReguBat_Calc < $cableDistanceReguBat_AparMm) {
$meilleurCable = chercherCable_SecionPlusProche($cableDistanceReguBat_Final);
} else {
$meilleurCable = chercherCable_SecionAudessus($cableDistanceReguBat_Final);
}
if (empty($meilleurCable)) { if (empty($meilleurCable)) {
echo '<li>Impossible de proposer une section de câble réaliste. Vous deviez peut être envisager de diminuer la distance entre les appareils.'; echo '<li>Impossible de proposer une section de câble réaliste. Vous deviez peut être envisager de diminuer la distance entre les appareils.';
} else { ?> } else { ?>
<li>Section de câble proposé <b><?= $meilleurCable['nom'] ?></b>, pour un coût d'environ <?= $_GET['distanceReguBat']*$meilleurCable['prix'] ?></li> <li>Section de câble la plus proche proposé : <b><?= $meilleurCable['nom'] ?></b>, pour un coût d'environ <?= $_GET['distanceReguBat']*$meilleurCable['prix'] ?></li>
<?php } ?> <?php } ?>
</ul> </ul>
</ul> </ul>
...@@ -1119,6 +1129,7 @@ function changeNiveau() { ...@@ -1119,6 +1129,7 @@ function changeNiveau() {
$( ".part.cable" ).show(); $( ".part.cable" ).show();
$( ".form.cablageRho" ).hide(); $( ".form.cablageRho" ).hide();
$( ".form.cablagePtPourcent" ).hide(); $( ".form.cablagePtPourcent" ).hide();
$( ".form.cablageRegleAparMm" ).hide();
// Expert (3) // Expert (3)
} else if ($( "#Ni" ).val() == 3) { } else if ($( "#Ni" ).val() == 3) {
$( ".form.Ri" ).show(); $( ".form.Ri" ).show();
...@@ -1136,6 +1147,7 @@ function changeNiveau() { ...@@ -1136,6 +1147,7 @@ function changeNiveau() {
$( ".part.cable" ).show(); $( ".part.cable" ).show();
$( ".form.cablageRho" ).show(); $( ".form.cablageRho" ).show();
$( ".form.cablagePtPourcent" ).show(); $( ".form.cablagePtPourcent" ).show();
$( ".form.cablageRegleAparMm" ).show();
} }
} }
......
...@@ -65,20 +65,24 @@ CalcConsommation : ...@@ -65,20 +65,24 @@ CalcConsommation :
### Changelog ### Changelog
- 1.1.1
- Petit bug sur la tension du convertisseur qui n'était pas la bonne
- Modification des sections de câble pour arriver "au plus prêt" et non pas "au plus haut" : http://forum.apper-solaire.org/viewtopic.php?f=16&t=9242&start=15#p122113
- 1.1 - 1.1
- Ajout de modèles types OPvS (en 2, 4, 6V) - Batteries :
- Découpage des modèles type de batteries par technologie - Ajout de modèles types OPvS (en 2, 4, 6V)
- Découpage des modèles type de batteries par technologie
- Câblage, suite à : http://forum.apper-solaire.org/viewtopic.php?f=16&t=9242&p=122109#p122098 - Câblage, suite à : http://forum.apper-solaire.org/viewtopic.php?f=16&t=9242&p=122109#p122098
- Passage de la tolérence de chute de tension à 1% par défaut - Passage de la tolérance de chute de tension à 1% par défaut
- Ajout de la règle 6A/mm² (la valeur est personnalisable en mode expert) - Ajout de la règle 6A/mm² (la valeur est personnalisable en mode expert)
- Rhô à 0,019 pour prendre le "pire" (cuivre à 50°) - Rhô à 0,019 pour prendre le "pire" (cuivre à 50°)
- 1.0 - 1.0
- Prise en compte de la puissance électrique maximum nessécaire - Prise en compte de la puissance électrique maximum nécessaire
- Ajout de la contrainte 0,2C maximum du courant de la batterie - Ajout de la contrainte 0,2C maximum du courant de la batterie
- Déduction automatique d'un convertisseur / onduleur avec estimation du prix - Déduction automatique d'un convertisseur / onduleur avec estimation du prix
Calcconso : Calcconso :
- Amélioration des modèles 24/24, possibilité d'entrée une valeur Wh/j manuelement - Amélioration des modèles 24/24, possibilité d'entrée une valeur Wh/j manuelement
- Déterminer la puissance électrique maximum nessécaire à votre installation - Déterminer la puissance électrique maximum nécessaire à votre installation
- 0.5 - 0.5
- Calcul des sections de câble partant du régulateur - Calcul des sections de câble partant du régulateur
http://solarsud.blogspot.fr/2014/11/calcul-de-la-section-du-cable.html http://solarsud.blogspot.fr/2014/11/calcul-de-la-section-du-cable.html
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
?> ?>
<div id="footer"> <div id="footer">
<p class="footer_right">Par <a href="http://david.mercereau.info/">David Mercereau</a> (<a href="https://github.com/kepon85/CalcPvAutonome">Dépôt github</a>)</p> <p class="footer_right">Par <a href="http://david.mercereau.info/">David Mercereau</a> (<a href="https://github.com/kepon85/CalcPvAutonome">Dépôt github</a>)</p>
<p class="footer_left">CalcPvAutonome version 1.1 est un logiciel libre sous <a href="https://fr.wikipedia.org/wiki/Beerware">Licence Beerware</a></p> <p class="footer_left">CalcPvAutonome version 1.1.1 est un logiciel libre sous <a href="https://fr.wikipedia.org/wiki/Beerware">Licence Beerware</a></p>
</div> </div>
<?php <?php
} }
......
...@@ -138,10 +138,8 @@ function chercherRegulateur() { ...@@ -138,10 +138,8 @@ function chercherRegulateur() {
} }
// On cherche le bon câble // On cherche le bon câble
function chercherCable($sectionMinimum) { function chercherCable_SecionAudessus($sectionMinimum) {
global $config_ini; global $config_ini;
foreach ($config_ini['cablage'] as $idCable => $cable) { foreach ($config_ini['cablage'] as $idCable => $cable) {
debug('<p>Pour une section minimum de '.$sectionMinimum.', on test '.$cable['diametre'].'</p>'); debug('<p>Pour une section minimum de '.$sectionMinimum.', on test '.$cable['diametre'].'</p>');
if ($sectionMinimum < $cable['diametre']) { if ($sectionMinimum < $cable['diametre']) {
...@@ -151,6 +149,27 @@ function chercherCable($sectionMinimum) { ...@@ -151,6 +149,27 @@ function chercherCable($sectionMinimum) {
break; break;
} }
} }
return $meilleurCable;
}
function chercherCable_SecionPlusProche($sectionMinimum) {
global $config_ini;
$meilleurCable['diffSection']=9999;
foreach ($config_ini['cablage'] as $idCable => $cable) {
$diffSection=$sectionMinimum-$cable['diametre'];
// Si la différence est négative on la met positive pour pouvoir la comparer
if ($diffSection < 0) {
$diffSection=$diffSection*-1;
}
debug('<p>Pour une section la plus proche de '.$sectionMinimum.', on test '.$cable['diametre'].', il y a une différence de '.$diffSection);
if ($diffSection <= $meilleurCable['diffSection']) {
$meilleurCable['nom']=$cable['nom'];
$meilleurCable['diametre']=$cable['diametre'];
$meilleurCable['prix']=$cable['prix'];
$meilleurCable['diffSection']=$diffSection;
debug(' : *** Nouvelle bonne config');
}
debug('</p>');
}
return $meilleurCable; return $meilleurCable;
...@@ -159,9 +178,9 @@ function chercherCable($sectionMinimum) { ...@@ -159,9 +178,9 @@ function chercherCable($sectionMinimum) {
// On cherche le bon convertisseur // On cherche le bon convertisseur
function chercherConvertisseur($U,$Pmax) { function chercherConvertisseur($U,$Pmax) {
global $config_ini; global $config_ini;
debug('<p>Tension '.$U.'</p>');
foreach ($config_ini['convertisseur'] as $convertisseur) { foreach ($config_ini['convertisseur'] as $convertisseur) {
if ($U != $convertisseur['Vbat']) { if ($U == $convertisseur['Vbat']) {
$meilleurConvertisseur['nom']=$convertisseur['nom']; $meilleurConvertisseur['nom']=$convertisseur['nom'];
debug('<p>Test pour le convertisseur '.$convertisseur['nom'].'</p>'); debug('<p>Test pour le convertisseur '.$convertisseur['nom'].'</p>');
if ($Pmax <= $convertisseur['Pmax']) { if ($Pmax <= $convertisseur['Pmax']) {
......
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