routeur pour autoconso en triphasé [dev]



Vous pensez être victime d'une arnaque au photovoltaïque ?
http://victime-photovoltaique.fr/


stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 05 mai 2019 19:19

Grâce a toi et Pascal ! :D
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 14 sept. 2019 10:03

Bon, petit bilan des progrès du routeur triphasé construit autour d'un compteur a disque.
Le ballon ecs electrique est installé en amont du chauffe eau gaz pour absorber le surplus et j'ai installé la moitié des panneaux
Le e-compteur triphasé à disque est aussi en place en amont du tableau électrique.
La carte arduino est en place pour router vers le ballon si le disque veut tourner a l'envers.
Image
Hier ça routait correctement, dès que le disque reculait, la puissance de routage augmentait rapidement pour stabiliser le disque a l'arrêt, le linky indiquait alors une injection que je n'ai pas quantifié. En fonction de celle ci, je decalerai peut être le point d'équilibre pour ne pas arrêter le disque... je ferai un bilan ce soir.
Modifié en dernier par silicium81 le 14 sept. 2019 16:24, modifié 2 fois.
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 14 sept. 2019 10:08

Hello
Super ça avance !
Il n'y a pas de ssr ?
Que fait l'arduino au juste ?
Merci pour le partage
Stéphane
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 14 sept. 2019 10:13

Si evidemment qu'il y a un ssr, l'arduino agit sur la consigne de découpage de phase du ssr en fonction de la vitesse du disque qui a été équipé d'un codeur incrémental de 1000pts par tour (résolution de 7,5 mWh pour le type de compteur que j'ai utilisé)
j'ai decrit le systeme plus haut.
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 14 sept. 2019 10:15

Hello
Ok désolé j'avais pas regardé !
Beau boulot !
A bientôt
Stéphane
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 16 sept. 2019 09:35

Le routeur fonctionne impec. L'index d'injection du linky n'a pas bougé depuis la mise en fonction du programme et j'ai arrêté la chaudière gaz :sun:
Le code actuel dans l'arduino:

Code : Tout sélectionner

// codeur avec 1008 impultions par tour
// Une seule entrée d'interruption utilisée pour le codeur
// résolution de 26W
// codeur sur 4(int) et 3(int) pour la détection du zéro secteur.
// contrôle de phase sur la sortie 5
//
//
// V3 ajout de la sortie série pour openlog

// include the library code:

#include <Adafruit_RGBLCDShield.h>
#include <utility/Adafruit_MCP23017.h>
#include <TimerOne.h> // Pour le timer 1

Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();  // gestion d'un module afficheur I2C (avec boutons)

#define ON 0x1
#define OFF 0x0

#define ENCODEURA 3
#define ENCODEURB 4
#define DETECT 2
#define Triac 5
#define minPhase 114 //valeur minimum du timer pour un retard de phase de 0° (Pmax)
#define maxPhase 255  //valeur maximale du timer pour retard de phase de 180° (Pmin)
#define dureeImpGachette 200  // La gachette du triac est à 1 pendant 200 µs

//PID constants
double kp = 2000;  //2000
double ki = 10;  //5
double kd = 10;
double time;

volatile int lastcount =0; // comptage de tick d'encoder  qui sera incrémenté sur interruption " On change " sur l'interruption matériel 0 qui se fait sur le pin 2
volatile int count =0;
volatile int compte =0; // comptage précédent
volatile byte laststate =0;  // etat précédent de l'encodeur
volatile byte phase=254;  //pas de retard de phase à l'initialisation
long wh;
long puissanceWatt;
long consignePuissance=0;
long out;
byte puissanceTriac=0;
boolean drapPid;
boolean drapSec;

unsigned long currentTime, previousTime;
long elapsedTime;
long error;
long lastError;
long input, output;
long setPoint=0;
long cumError, rateError;
int puissancePid;


void setup()
  {
  Serial.begin(9600);
  Serial.print("puissanceWatt");
  Serial.print("  ");
  Serial.print("puissanceTriac");
  Serial.print("  ");
  Serial.println("timeMs");
  lcd.begin(16, 2);     // set up the LCD's number of columns and rows:
  lcd.setBacklight(ON);
  pinMode(ENCODEURA, INPUT_PULLUP);
  pinMode(ENCODEURB, INPUT_PULLUP);
  pinMode(DETECT, INPUT_PULLUP);     //zero cross detect
  pinMode(Triac, OUTPUT);
  attachInterrupt(1,counter, CHANGE); // on crée l'interruption sur changement sur la pin 3 => interruption 1, la routine counter va se faire toute seule sans l'appeler à chaque changement d'état sur le pin 2
  attachInterrupt(0,zeroSec, RISING);  //on crée l'interruption sur front montant sur la pin 2
  Timer1.initialize(1000000); // On défini le timeur : 1000000 microseconds ( 1 sec - or 1Hz )
  Timer1.attachInterrupt(timerIsr); // attach the service routine here la fonction timerIsr est une routine qui va se faire automatiquement 1* par secondes sans l'appeler
  cli(); // Désactive l'interruption globale
  bitClear (TCCR2A, WGM20); // WGM20 = 0
  bitClear (TCCR2A, WGM21); // WGM21 = 0
  TCCR2B = 0b00000111; // Clock / 1024 soit 64 us et WGM22 = 0
  TIMSK2 |= (1<<0);       // Interruption locale autorisée par TOIE2
  sei(); // Active l'interruption globale
  }
 


void loop()
  {
    puissanceWatt=compte*26;
    lcd.setCursor(0, 0);
    lcd.print(count); lcd.print("p"); lcd.print(" "); lcd.print((count*7.5)/1008); lcd.print(" Wh   ");
    lcd.setCursor(0,1);
    lcd.print(puissanceWatt); lcd.print(" W ");lcd.print(puissanceTriac);lcd.print("   ");
    if (drapSec)          // une seconde c'est écoulé -> emission d'une trame série
    {
      time = millis();
      Serial.print(puissanceWatt);
      Serial.print("  ");
      Serial.print(puissanceTriac);
      Serial.print("  ");
      Serial.println(time);
      drapSec=0;
    }
     

//*******PID début

        input = puissanceWatt;                //consigne de puissance
        output = computePID(input);
        delay(100);
        puissanceTriac=output;
       
        phase=(((maxPhase-minPhase)*puissanceTriac)/255)+minPhase; // 0<puissanceTriac<255 ->  114<phase<254
//*******PID fin
}

long computePID(long inp){     
        currentTime = millis();                //get current time
        elapsedTime = (long)(currentTime - previousTime);        //compute time elapsed from previous computation
          error = setPoint - inp;                                // determine error
          cumError += error * elapsedTime;                // compute integral
         
          if (cumError>2600000)   //2500000
          {
            cumError=2600000;
          }
          if (cumError<0)
          {
            cumError=0;
          }

         rateError = (error - lastError)/elapsedTime;   // compute derivative
               
          out = (kp*error) + (ki*cumError) + (kd*rateError);                //PID output     
       

        lastError = error;                                //remember current error
        previousTime = currentTime;                        //remember current time
        puissancePid=out/100000;
 
        if (puissancePid<0)
        {
          puissancePid=0;
        }
        if (puissancePid>255)
        {
          puissancePid=255;
        }
       
      return puissancePid;                                        //have function return the PID output
}

ISR(TIMER2_OVF_vect)    // dépassement du timer 2, il faut générer la commande de la gachette du triac
{
  TIMSK2 = TIMSK2&0b11111110;      // pas d'autre interruption (on bloque l'it de dépassement)
  if (phase!=minPhase) digitalWrite(Triac, 1);   //si phase au min pas d'impultions à 1
  delayMicroseconds(dureeImpGachette); // largeur de l'impultion de commande de 200 us
  if (phase!=maxPhase-1) digitalWrite(Triac, 0);   //si phase au max pas d'impulsions à 0
}


// Comptage des pulses du codeur

void counter()       // On entre ici s'il y a une interuption sur la broche 3 (sur changement d'état logique)
{
  byte state=PIND;  // state = port D (PIND est le registre de lecture du port D)
 
  state|=B11100111;  // masque OU pour ne regarder que les changements sur 3 et 4
  if( state!=laststate)
  {
    (((state&8)>>3)^((state&16)>>4))?count++:count--;
    laststate=state;
  }
}

void zeroSec()        // passage à zéro du secteur (toute les 10ms)
{
TIMSK2 = TIMSK2|0b00000001;   //autoriser l'interruption d'overflow du timer 2
TCNT2 = phase;                //valeur de départ du comptage
}

// Une seconde c'est écoulée
void timerIsr()
{
    compte=count-lastcount; // nombre de tick en 1s dans compte
    lastcount=count; // comptage précédent
    drapSec=1;       // drapeau seconde a 1 pour indiquer qu'une seconde c'est écoulé et emettre une trame série
}


Je mettrai des courbes dès que les enregistrements seront significatifs.
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 16 sept. 2019 21:03

Bon il reste plus qu'a faire le tuto :D
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 16 sept. 2019 22:49

stephG38 a écrit :Bon il reste plus qu'a faire le tuto :D


y'aura pas de kit :lol:

Il faut:
Un compteur à disque triphasé câblé en amont de l’installation électrique.
Etre capable d'insérer un disque incrémental sur l'axe (il faut démonter le compteur) et de fixer au bon endroit le capteur optique. J'ai récupéré le disque et le codeur sur un moteur d'imprimante mais ça se trouve en neuf.
Réaliser un détecteur de zéro secteur (schéma à venir)
Modifier en commande aléatoire un ssr (il y a un tuto sur le site)
Raccorder tout ça sur un arduino uno (ou un nano)
Enjoy !
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 17 sept. 2019 07:14

Oulala
Les routers de Tignous vont encore me servir un moment.
Merci pour le partage
Stéphane
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 17 sept. 2019 09:46

stephG38 a écrit :Oulala
Les routers de Tignous vont encore me servir un moment.
Merci pour le partage
Stéphane


Et oui, avec le triphasé, pour router correctement(*) ce n'est pas aussi simple :D

Pour moi, j'ai atteint le but: avec l'utilisation d'un compteur mécanique, le routage est fait correctement et de manière optimale en programmant de façon simple une carte arduino 8-)
Je n'exclu pas de faire un routeur triphasé purement numérique mais ce n'est pas l'urgence, surtout que ça m'amuse beaucoup d’empêcher le linky de compter de l'injection avec un de ses aînés de 70 ans :lol:

(*) en triphasé, il faut faire la somme algébrique de la puissance des trois phases pour router uniquement la puissance résultante (si elle est négative)...
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

stephG38
Messages : 153
Enregistré le : 21 mars 2018 19:36
Departement/Region : 38
Professionnel PV : Non

Re: routeur pour autoconso en triphasé [dev]

Messagepar stephG38 » 17 sept. 2019 10:45

Effectivement le tri c'est pas simple
En tout cas bravo pour ta réalisation !
L'essentiel c'est le résultat !

Je vais continuer a router en "mono" en attendant que je prenne le Taureau par les cornes :D
A bientôt
Stéphane
Autoconso Tri avec 8 panneaux + MO M215 + 2 Routers sur ECS 300l
Ma fiche BDPV :
https://www.bdpv.fr/fr/ficheUtilisateur.php?util=stephg38

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 24 sept. 2019 20:20

Quelques courbes relevés hier et aujourd'hui en modifiant la consigne de routage (0W hier et 26W aujourd'hui) pour voir si cela améliore l'injection résiduelle.
En marron, la puissance demandée au réseau edf, en vert la puissance envoyée vers le chauffe eau (routage), en bleu, l'énergie résiduelle injectée (échelle à droite en Wh)
Courbes du 23/09: 5,9 kWh routés
Journée complète. un peu plus de 100Wh injectés en fin de journée (mais il y a eu une trentaine de Wh du à une saturation du routage...)
Image
zoom1
Image
zoom2
Image
zoom3 détail sur la saturation du routage (la puissance produite par les PV dépasse la puissance consommée + le routage) qui provoque un peu d'injection
Image


Courbes du 24-09: 2,66 kWh routés
Journée complète. 25Wh injectés. La consigne à 26W diminue bien l'injection résiduelle 8-) et on voit bien que la courbe marron c'est décalée vers le haut (de 26W)
Image
zoom1
Image
zoom2
Image
zoom3
Image

Pas mal pour un compteur a disque arduinisé :lol:
Le pas de mesure de la puissance est de 26W (limite due au principe de la mesure avec un disque tournant !)
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

Micht
Messages : 17
Enregistré le : 07 août 2019 06:38
Departement/Region : 84580
Professionnel PV : non

Re: routeur pour autoconso en triphasé [dev]

Messagepar Micht » 09 oct. 2019 06:23

Bonjour Silicium et bravo, j'aime, très intéressant...
J'utilise le routeur Tignous/Rolrider.... et j'ai mis en amont un vieux compteur pour voir comment cela fonctionne; avec ce type de compteur a roue on se rend mieux compte...

Vous dites " roue code d une imprimante" ! après un rapide coup d œil sur le Net; Ouf pas donnés ce genre de capteur....
Avez vous un lien?

Merci du partage, MI.

systsol
Messages : 11
Enregistré le : 01 avr. 2019 21:42
Departement/Region : 51100
Professionnel PV : non

Re: routeur pour autoconso en triphasé [dev]

Messagepar systsol » 13 oct. 2019 11:28

c'est du beau boulot, a la sauce DIY ! Je suis très content de voir que cela fonctionne !
Un tuto serait le bienvenu pour se lancer dans l'aventure... pour moi en tout cas !
ou peut-etre une petite vidéo de dissection du système et des composants utilisés sur youtube ? ;)

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 13 oct. 2019 14:33

C'est vrai que les infos sur ma bidouille sont un peu disséminés (mais il y a quelques vidéos où on voit le disque incrémental fixé sur l'axe du compteur a disque.
Je vais faire un petit tuto plus détaillé (mais ça ne sera malgré tout accessible qu'a un bon bricoleur habitué a faire de la mécanique un peu délicate...
Sinon, ça fonctionne bien, après un mois, j'ai routé 97kWh vers le chauffe eau placé en amont de la chaudière gaz (pour 350kWh produit et un peu d'injection surtout au debut)
J'ai installé aussi la résistance électrique qui va router directement vers le chauffage de la maison quand le chauffe eau est chaud et se coupe (rechercher 'chauffage de boucle' pour avoir plus d'infos sur le systeme mis en place)
Pour bien gérer les 2 routages possible (ecs ou chauffage) j'ai mis un petit automate qui ne servait plus (un millenium 2 de chez crouzet), l'occasion de remettre en route un ordinateur portable de 15 ans d'age pour pouvoir programmer l'automate... logiciel sous w98 :lol: )
L'automate gère la commutation ecs/chauffage et met en route la pompe de circulation du chauffage si la température de l'echangeur atteint 60°C (ce qui veut dire que la régulation de température de la maison a mis le chauffage est a l'arrêt).
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

silicium81
Membre GPPEP
Membre GPPEP
Messages : 2407
Enregistré le : 04 mars 2009 01:00
BDPV : silicium81
Departement/Region : 81000
Professionnel PV : non
Localisation : 81

Re: routeur pour autoconso en triphasé [dev]

Messagepar silicium81 » 13 oct. 2019 21:00

Micht a écrit :Bonjour Silicium et bravo, j'aime, très intéressant...
J'utilise le routeur Tignous/Rolrider.... et j'ai mis en amont un vieux compteur pour voir comment cela fonctionne; avec ce type de compteur a roue on se rend mieux compte...

Vous dites " roue code d une imprimante" ! après un rapide coup d œil sur le Net; Ouf pas donnés ce genre de capteur....
Avez vous un lien?

Merci du partage, MI.


Voici le type de capteur installé sur l'axe du compteur à disque: http://www.farnell.com/datasheets/23440 ... 1570825091
exemple:
capteur: https://fr.aliexpress.com/item/17901003 ... 85c312&s=p
disque: https://fr.aliexpress.com/item/32859680 ... 2486b357dc

Le capteur que j'ai utilisé a été récupéré sur un moteur de déplacement du papier extrait d'une vieille imprimente HP500...
Le moteur:
Image
vue du disque codeur et du capteur:
Image

Le disque installé sur l'axe du compteur à disque:
Image

Le disque incrémental plus le capteur correctement positionné:
Image

Une vidéo où on voit bien le disque en place (et les premiers tests):
https://www.youtube.com/watch?v=jOIXXyC ... e=youtu.be
Producteur d'électricité depuis le 17-08-2009 2940Wc en Rec Solar, SMA3000 TL-20, Intersole
+ 14,4kWc en Sunpower, SMA7000HV, Bac Acier (20 MWh produits par an)
BDPV 3kWc et sujet
BDPV 14,4kWc et sujet
Mon petit forum technique http://vae-tech.forumactif.org/

systsol
Messages : 11
Enregistré le : 01 avr. 2019 21:42
Departement/Region : 51100
Professionnel PV : non

Re: routeur pour autoconso en triphasé [dev]

Messagepar systsol » 15 oct. 2019 07:45

merci pour toutes ces infos
dès que j'ai du temps, je me lance dans la collecte des pièces...


Retourner vers « Divers pour installation »