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'])) {
$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>
<div id="resultCalcCablePvRegu" class="calcul">
<p><a class="more" id="resultCalcCablePvReguHide">Cacher la démarche</a></p>
......@@ -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>
<?php
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 '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 '<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 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>
<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)) {
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 { ?>
<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 } ?>
</ul>
<?php
......@@ -599,7 +604,7 @@ if (isset($_GET['submit'])) {
$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>
<div id="resultCalcCableReguBat" class="calcul">
<p><a class="more" id="resultCalcCableReguBatHide">Cacher la démarche</a></p>
......@@ -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>
<?php
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 '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 '<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 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>
<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)) {
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 { ?>
<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 } ?>
</ul>
</ul>
......@@ -1119,6 +1129,7 @@ function changeNiveau() {
$( ".part.cable" ).show();
$( ".form.cablageRho" ).hide();
$( ".form.cablagePtPourcent" ).hide();
$( ".form.cablageRegleAparMm" ).hide();
// Expert (3)
} else if ($( "#Ni" ).val() == 3) {
$( ".form.Ri" ).show();
......@@ -1136,6 +1147,7 @@ function changeNiveau() {
$( ".part.cable" ).show();
$( ".form.cablageRho" ).show();
$( ".form.cablagePtPourcent" ).show();
$( ".form.cablageRegleAparMm" ).show();
}
}
......
......@@ -65,20 +65,24 @@ CalcConsommation :
### 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
- Ajout de modèles types OPvS (en 2, 4, 6V)
- Découpage des modèles type de batteries par technologie
- Batteries :
- 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
- 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)
- Rhô à 0,019 pour prendre le "pire" (cuivre à 50°)
- 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
- Déduction automatique d'un convertisseur / onduleur avec estimation du prix
Calcconso :
- 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
- Calcul des sections de câble partant du régulateur
http://solarsud.blogspot.fr/2014/11/calcul-de-la-section-du-cable.html
......
......@@ -41,7 +41,7 @@
?>
<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_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>
<?php
}
......
......@@ -138,10 +138,8 @@ function chercherRegulateur() {
}
// On cherche le bon câble
function chercherCable($sectionMinimum) {
function chercherCable_SecionAudessus($sectionMinimum) {
global $config_ini;
foreach ($config_ini['cablage'] as $idCable => $cable) {
debug('<p>Pour une section minimum de '.$sectionMinimum.', on test '.$cable['diametre'].'</p>');
if ($sectionMinimum < $cable['diametre']) {
......@@ -151,6 +149,27 @@ function chercherCable($sectionMinimum) {
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;
......@@ -159,9 +178,9 @@ function chercherCable($sectionMinimum) {
// On cherche le bon convertisseur
function chercherConvertisseur($U,$Pmax) {
global $config_ini;
debug('<p>Tension '.$U.'</p>');
foreach ($config_ini['convertisseur'] as $convertisseur) {
if ($U != $convertisseur['Vbat']) {
if ($U == $convertisseur['Vbat']) {
$meilleurConvertisseur['nom']=$convertisseur['nom'];
debug('<p>Test pour le convertisseur '.$convertisseur['nom'].'</p>');
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