Attention ! Gitlab fournissant maintenant nativement des certificats Let’s Encrypt aux domaines personnalisés des Gitlab Pages, nous avons coupé notre service qui le faisait automatiquement pour vous.

Il est impératif, pour que votre domaine personnalisé continue à avoir un certificat Let’s Encrypt à jour, d’activer la fonctionnalité native dans les paramètres de votre projet. Cette activation remplacera votre certificat actuel par un nouveau certificat Let’s Encrypt géré par Gitlab.

Voir les détails sur https://docs.framasoft.org/fr/gitlab/gitlab-pages-le.html

Commit ae6c39e7 authored by root's avatar root

- 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 câblage des panneaux (série/parallèle)
parent 16165519
dev
favicon.ico
.htaccess
stats
......
This diff is collapsed.
......@@ -19,7 +19,9 @@ Pour l'utilisateur de base :
- (simple) Carte par zone
- (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)
- 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)
- 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)
- Estimation d'une fourchette du coût du parc de batterie & photovoltaïque
......@@ -50,8 +52,11 @@ Le rendre accessible depuis votre serveur http et personnaliser les valeur du fi
### Todos
- Bug info bulle pas bien positionné
- Bug plusieurs "auto" appariasse dans le select de tension de batterie en manipulant les régulateurs...
- Hypotèse câblage PV.
- Pouvoir personnaliser ses batteries
- Beau dessin du câblage...
- Calcul des sections de câbles
- Prévoir d'autres technologie batterie que AGM
- Générer un beau dessin avec le câblage
- Sauvegarde du résultat par URL, envoyer à un amis...
......@@ -65,6 +70,9 @@ CalcConsommation :
### 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 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)
- Possibilité de privilégier la technologie monocristalin ou polycristalin
......
......@@ -25,6 +25,8 @@ U=0
Deg=65
; Zone
ZoneId=3
; Marge courant court circuit régulateur Icc
reguMargeIcc=20
; Rayonnement moyen quotidien du mois le plus défavorable (kWh/m²/j)
[irradiation]
......@@ -58,7 +60,6 @@ zone8_65=2.97
; http://www.solaire-diffusion.eu/images/stories/documents/PVSI/dimensionnement_photovoltaique_TECSOL.pdf
; https://www.solaris-store.com/80-simulateur-solaire
; https://www.solariflex.com/smartblog/13/calculer-sa-consommation-electrique.html
ampouleLed[nom] = "Ampoule Led"
ampouleLed[conso] = 7
ampouleIncandescence[nom] = "Ampoule à incandescence"
......@@ -143,7 +144,6 @@ bat12V_bas=1.99
; Le plus cher que j'ai trouvé avec le moins de puissance
; 43/14 = 1,614 http://www.myshopenergy.fr/batterie-agm-etanche-vrla-12v-14ah-victron-energy-_r_199_i_401.html
bat12V_haut=3.07
; PV coût / Wc + coût de la structure 0,2 / Wc
; Le moins cher que j'ai trouvé avec le plus de puissance
; 206÷260 = 0,79 http://www.wattuneed.com/fr/panneaux-solaires-traditionnels/1347-panneau-solaire-benq-260wc-polycristallin-3170000184080.html
......@@ -152,7 +152,7 @@ pv_bas=0.79
; 55/50 = 1,1 http://www.wattuneed.com/fr/panneaux-solaires-traditionnels/814-panneau-solaire-50wc-3170000258556.html
pv_haut=1.1
; Les PV
; Les PV type
; Data exemple : http://www.myshop-solaire.com/myshop_images/divers/myshopenergy/panneaux_solaires/fiche-technique-panneau-monocristallin-bluesolar-victronenergy.pdf
[pv]
PV_Mono_30[W]=30
......@@ -303,4 +303,188 @@ GEL_2_3000[nom]="GEL OPzV 2V 3000Ah"
GEL_2_3000[V]=2
GEL_2_3000[Ah]=3000
; Les régulateurs
[regulateur]
; 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[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[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[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[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[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[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[PmaxPv]=440
MPPT_100_30_12[VmaxPv]=100
MPPT_100_30_12[ImaxPv]=30
MPPT_100_30_24[nom]="MPTT 100/30"
MPPT_100_30_24[Vbat]=24
MPPT_100_30_24[PmaxPv]=880
MPPT_100_30_24[VmaxPv]=100
MPPT_100_30_24[ImaxPv]=30
MPPT_100_50_12[nom]="MPTT 100/50"
MPPT_100_50_12[Vbat]=12
MPPT_100_50_12[PmaxPv]=700
MPPT_100_50_12[VmaxPv]=100
MPPT_100_50_12[ImaxPv]=50
MPPT_100_50_24[nom]="MPTT 100/50"
MPPT_100_50_24[Vbat]=24
MPPT_100_50_24[PmaxPv]=1400
MPPT_100_50_24[VmaxPv]=100
MPPT_100_50_24[ImaxPv]=50
MPPT_150_35_12[nom]="MPTT 150/35"
MPPT_150_35_12[Vbat]=12
MPPT_150_35_12[PmaxPv]=500
MPPT_150_35_12[VmaxPv]=150
MPPT_150_35_12[ImaxPv]=35
MPPT_150_35_24[nom]="MPTT 150/35"
MPPT_150_35_24[Vbat]=24
MPPT_150_35_24[PmaxPv]=1000
MPPT_150_35_24[VmaxPv]=150
MPPT_150_35_24[ImaxPv]=35
MPPT_150_35_48[nom]="MPTT 150/35"
MPPT_150_35_48[Vbat]=48
MPPT_150_35_48[PmaxPv]=2000
MPPT_150_35_48[VmaxPv]=150
MPPT_150_35_48[ImaxPv]=35
MPPT_150_45_12[nom]="MPTT 150/45"
MPPT_150_45_12[Vbat]=12
MPPT_150_45_12[PmaxPv]=650
MPPT_150_45_12[VmaxPv]=150
MPPT_150_45_12[ImaxPv]=45
MPPT_150_45_24[nom]="MPTT 150/45"
MPPT_150_45_24[Vbat]=24
MPPT_150_45_24[PmaxPv]=1300
MPPT_150_45_24[VmaxPv]=150
MPPT_150_45_24[ImaxPv]=45
MPPT_150_45_48[nom]="MPTT 150/45"
MPPT_150_45_48[Vbat]=48
MPPT_150_45_48[PmaxPv]=2600
MPPT_150_45_48[VmaxPv]=150
MPPT_150_45_48[ImaxPv]=45
MPPT_150_60_12[nom]="MPTT 150/60"
MPPT_150_60_12[Vbat]=12
MPPT_150_60_12[PmaxPv]=860
MPPT_150_60_12[VmaxPv]=150
MPPT_150_60_12[ImaxPv]=60
MPPT_150_60_24[nom]="MPTT 150/60"
MPPT_150_60_24[Vbat]=24
MPPT_150_60_24[PmaxPv]=1720
MPPT_150_60_24[VmaxPv]=150
MPPT_150_60_24[ImaxPv]=60
MPPT_150_60_48[nom]="MPTT 150/60"
MPPT_150_60_48[Vbat]=48
MPPT_150_60_48[PmaxPv]=3440
MPPT_150_60_48[VmaxPv]=150
MPPT_150_60_48[ImaxPv]=60
MPPT_150_70_12[nom]="MPTT 150/70"
MPPT_150_70_12[Vbat]=12
MPPT_150_70_12[PmaxPv]=1000
MPPT_150_70_12[VmaxPv]=150
MPPT_150_70_12[ImaxPv]=70
MPPT_150_70_24[nom]="MPTT 150/70"
MPPT_150_70_24[Vbat]=24
MPPT_150_70_24[PmaxPv]=2000
MPPT_150_70_24[VmaxPv]=150
MPPT_150_70_24[ImaxPv]=70
MPPT_150_70_48[nom]="MPTT 150/70"
MPPT_150_70_48[Vbat]=48
MPPT_150_70_48[PmaxPv]=4000
MPPT_150_70_48[VmaxPv]=150
MPPT_150_70_48[ImaxPv]=70
MPPT_150_85_12[nom]="MPTT 150/85"
MPPT_150_85_12[Vbat]=12
MPPT_150_85_12[PmaxPv]=1200
MPPT_150_85_12[VmaxPv]=150
MPPT_150_85_12[ImaxPv]=85
MPPT_150_85_24[nom]="MPTT 150/85"
MPPT_150_85_24[Vbat]=24
MPPT_150_85_24[PmaxPv]=2400
MPPT_150_85_24[VmaxPv]=150
MPPT_150_85_24[ImaxPv]=85
MPPT_150_85_48[nom]="MPTT 150/85"
MPPT_150_85_48[Vbat]=48
MPPT_150_85_48[PmaxPv]=4900
MPPT_150_85_48[VmaxPv]=150
MPPT_150_85_48[ImaxPv]=85
MPPT_150_100_12[nom]="MPTT 150/100"
MPPT_150_100_12[Vbat]=12
MPPT_150_100_12[PmaxPv]=1450
MPPT_150_100_12[VmaxPv]=150
MPPT_150_100_12[ImaxPv]=100
MPPT_150_100_24[nom]="MPTT 150/100"
MPPT_150_100_24[Vbat]=24
MPPT_150_100_24[PmaxPv]=2900
MPPT_150_100_24[VmaxPv]=150
MPPT_150_100_24[ImaxPv]=100
MPPT_150_100_48[nom]="MPTT 150/100"
MPPT_150_100_48[Vbat]=48
MPPT_150_100_48[PmaxPv]=5800
MPPT_150_100_48[VmaxPv]=150
MPPT_150_100_48[ImaxPv]=100
MPPT_250_85_12[nom]="MPTT 250/85"
MPPT_250_85_12[Vbat]=12
MPPT_250_85_12[PmaxPv]=1200
MPPT_250_85_12[VmaxPv]=250
MPPT_250_85_12[ImaxPv]=85
MPPT_250_85_24[nom]="MPTT 250/85"
MPPT_250_85_24[Vbat]=24
MPPT_250_85_24[PmaxPv]=2400
MPPT_250_85_24[VmaxPv]=250
MPPT_250_85_24[ImaxPv]=85
MPPT_250_85_48[nom]="MPTT 250/85"
MPPT_250_85_48[Vbat]=48
MPPT_250_85_48[PmaxPv]=4900
MPPT_250_85_48[VmaxPv]=250
MPPT_250_85_48[ImaxPv]=85
MPPT_250_100_12[nom]="MPTT 250/100"
MPPT_250_100_12[Vbat]=12
MPPT_250_100_12[PmaxPv]=1450
MPPT_250_100_12[VmaxPv]=250
MPPT_250_100_12[ImaxPv]=100
MPPT_250_100_24[nom]="MPTT 250/100"
MPPT_250_100_24[Vbat]=24
MPPT_250_100_24[PmaxPv]=2900
MPPT_250_100_24[VmaxPv]=250
MPPT_250_100_24[ImaxPv]=100
MPPT_250_100_48[nom]="MPTT 250/100"
MPPT_250_100_48[Vbat]=48
MPPT_250_100_48[PmaxPv]=5800
MPPT_250_100_48[VmaxPv]=250
MPPT_250_100_48[ImaxPv]=100
......@@ -2,7 +2,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>[CalcPvAutonome] Calculer/dimensionner son installation photovoltaïque en site isolé (autonome)</title>
<title>[CalcPvAutonome] Calculer/dimensionner son installation photovoltaïque isolé (autonome)</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<link href="./lib/style.css" media="screen" rel="stylesheet" type="text/css" />
<meta http-equiv="Pragma" content="no-cache">
......@@ -28,7 +28,7 @@
echo $HelpMe;
include('./CalcConsommation.php');
} else {
echo '<h1>Calculer/dimensionner son installation photovoltaïque en site isolé (autonome)</h1>';
echo '<h1>Calculer/dimensionner son installation photovoltaïque isolé (autonome)</h1>';
echo $HelpMe;
include('./CalcPvAutonome.php');
}
......
<?php
// Formulaire afficher ce qui est en get ou ce qui est dans la config
function valeurRecup($nom) {
global $config_ini;
if (isset($_GET[$nom])) {
......@@ -10,6 +10,7 @@ function valeurRecup($nom) {
echo '';
}
}
// Forumaire sur les select mettre le "selected" au bon endroit selon le get ou la config
function valeurRecupSelect($nom, $valeur) {
global $config_ini;
if ($_GET[$nom] == $valeur) {
......@@ -20,6 +21,7 @@ function valeurRecupSelect($nom, $valeur) {
echo '';
}
}
// Convertie les nombre pour l'affichage ou pour les calculs
function convertNumber($number, $to = null) {
if ($to == 'print') {
return number_format($number, 0, ',', ' ');
......@@ -28,14 +30,108 @@ function convertNumber($number, $to = null) {
}
}
// Affichage du debug
function debug($msg) {
if (isset($_GET['debug'])) {
echo '<span class="debug">'.$msg.'</span>';
}
}
// Affichage des erreurs du formulaire
function erreurPrint($id, $msg) {
return '<li>'.$msg.'</li>';
}
// Recherche bonne config régulateur
function chercherRegulateur() {
global $parcPvW,$parcPvV,$parcPvI,$config_ini,$U,$_GET;
$meilleurRegulateur['nom'] = null;
$meilleurRegulateur['diffRegulateurParcPvW'] = 99999;
$meilleurRegulateur['diffRegulateurParcPvV'] = 99999;
$meilleurRegulateur['diffRegulateurParcPvA'] = 99999 ;
debug('<ul type="1">');
if ($_GET['ModRegu'] == 'perso') {
// Mode perso
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');
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'];
}
debug('</li>');
} else {
// Mode auto ou choisie
foreach ($config_ini['regulateur'] as $idRegulateur => $regulateur) {
// Si un modèle de régulateur à été choisie, on est plus en mode automatique
if ($_GET['ModRegu'] != 'auto' && $_GET['ModRegu'] != substr($idRegulateur, 0, -3)) {
continue;
}
// On conserve uniquement les références supportant la même tension Vbat
if ($U != $regulateur['Vbat']) {
continue;
}
// Debug
debug('<li>');
debug('Test de config avec le '.$regulateur['nom'].' ::: ');
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']) {
debug(' | ** ça fonctionne ** ');
} else {
continue;
}
// Différence avec la capacité souhauté
$diffRegulateurParcPvW=$regulateur['PmaxPv']-$parcPvW;
$diffRegulateurParcPvV=$regulateur['VmaxPv']-$parcPvV;
$diffRegulateurParcPvI=$regulateur['ImaxPv']-$parcPvI;
if ($diffRegulateurParcPvW < $meilleurRegulateur['diffRegulateurParcPvW']
|| $diffRegulateurParcPvV < $meilleurRegulateur['diffRegulateurParcPvV']
|| $diffRegulateurParcPvI < $meilleurRegulateur['diffRegulateurParcPvA']) {
debug(' | ** meilleur config **');
$meilleurRegulateur['diffRegulateurParcPvW'] = $diffRegulateurParcPvW;
$meilleurRegulateur['diffRegulateurParcPvV'] = $diffRegulateurParcPvV;
$meilleurRegulateur['diffRegulateurParcPvA'] = $diffRegulateurParcPvI;
$meilleurRegulateur['nom'] = $regulateur['nom'];
$meilleurRegulateur['Vbat'] = $regulateur['Vbat'];
$meilleurRegulateur['PmaxPv'] = $regulateur['PmaxPv'];
$meilleurRegulateur['VmaxPv'] = $regulateur['VmaxPv'];
$meilleurRegulateur['ImaxPv'] = $regulateur['ImaxPv'];
}
debug('</li>');
}
}
debug('</ul>');
return $meilleurRegulateur;
}
?>
......@@ -58,7 +58,8 @@ input {
.erreurForm {
color: #9B0101;
}
.form.PersoPv {
.form.PersoPv,
.form.PersoRegu {
border: 1px solid #C5C5C5;
padding: 5px;
}
......
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