variation 3 vitesses circulateur par arduino

Cuivre, PER, vannes, circulateurs... les conseils, adresses, trucs et astuces...
Outils, calculs...

Modérateurs: Balajol, monteric, ametpierre, ramses

variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Sam Mar 19, 2016 18:28 pm

Bonjour à tous,
J'ai le projet de faire varier la vitesse de mon circulateur primaire par un arduino.
J'ai sorti du circulateur les fils qui permettent d'alimenter les différents enroulements grâce à la fiche de Gregory92 (merci à lui) :cool:

Mais plutôt que d'utiliser 6 relais comme lui (2 par vitesse sélectionnée) je voulais savoir si je peux n'en n'utiliser qu'un par vitesse en programmant une coupure d'une demi seconde, par exemple, entre chaque vitesse pour éviter un arc électrique.
Qu'en pensez vous ?

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Re: variation 3 vitesses circulateur par arduino

Messagepar fahim » Mer Mar 30, 2016 6:25 am

Pascal29 bonjour. Je fais face a la meme situation que vous. Avez vous progresse sur le sujet? salutations

fahim
Newbie
Newbie
 
Messages: 7
Enregistré le: Mer Mar 30, 2016 6:16 am

Re: variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Mer Mar 30, 2016 10:39 am

Bonjour Fahim,
Finalement j'ai tenté le coup.
Mon circulateur est un Grunfos UPS 15-60 à 3 vitesses. Il ressemble beaucoup à celui décrit dans la fiche de Gregory92. Si c'est ça qui t'arrête je peux te filer le schéma de cablage.
Côté Arduino J'ai 4 relais (alimentation circulateur, vitesse 1, vitesse2, et vitesse 3. Pour éviter que deux vitesses soient alimentées en même temps, j'ai mis un "delay" en plus pour que le relais ait le temps de basculer.
Pour l'instant ça marche ... Actuellement je teste les valeurs des vitesses de déclenchement. D'ailleurs si quelqu'un à un avis là dessus je suis intéressé.


Le bout de code qui fait varier le circulateur:
Code: Tout sélectionner
//régulation de la circulation primaire (si Inter priorité sur cuve)
void regulC1(){
 
  int temp1 = sensors.getTempC(Probe01);   //lecture temperature capteurs
  int temp2 = sensors.getTempC(Probe02);   //lecture temperature haut cuve
  int diffpancuv = (temp1- temp2);        //calcul difference en degre
  delay(2000);
  digitalWrite(alarms, LOW);

  if(temp1 < 4) {     
    digitalWrite(relcircul1, LOW);  //circulateur primaire tourne: sécurité antigel car je tourne à l'eau pas d'antigel
       //     delay(200);
    digitalWrite(relcircul1v1, LOW);    // commande relais circulateur primaire V1 enclenché
    Serial.print("C1gel");
    Serial.print('/');
  }
  else {
 
   if(diffpancuv > 2 && diffpancuv < 6) {              //si la difference est > 2° et inférieure à 6° :
         digitalWrite(relcircul1v2, HIGH);    // commande relais circulateur primaire V2 coupé
         delay(500);
         digitalWrite(relcircul1v3, HIGH);    // commande relais circulateur primaire V3 coupé
         delay(500);
         digitalWrite(relcircul1, LOW);    // commande relais circulateur primaire C1 enclenché
         delay(200);
         digitalWrite(relcircul1v1, LOW);    // commande relais circulateur primaire V1 enclenché
      Serial.print("C1v1");
    }
    if(diffpancuv >=6  && diffpancuv < 9) {              //si la difference est >= 6° et inférieure à 9° :
        digitalWrite(relcircul1v1, HIGH);    // commande relais circulateur primaire V1 coupé
        delay(500);
        digitalWrite(relcircul1v3, HIGH);    // commande relais circulateur primaire V3 coupé
        delay(500);
        digitalWrite(relcircul1, LOW);   //relais circulateur primaire C1 enclenché
        delay(200);
        digitalWrite(relcircul1v2, LOW);    // relais circulateur primaire sur V2 enclenché
       
        Serial.print("C1v2");
     }   
       if(diffpancuv >=9) {              //si la difference est >= 9° :
        digitalWrite(relcircul1v1, HIGH);   //commande relais circulateur primaire V1 coupé     
        delay(500);
        digitalWrite(relcircul1v2, HIGH);    // commande relais circulateur primaire V2 coupé     
        delay(500);
        digitalWrite(relcircul1, LOW);   //relais circulateur primaire C1 enclenché
        delay(200);
        digitalWrite(relcircul1v3, LOW);    // relais circulateur primaire sur V3 enclenché
        Serial.print("C1v3");
     }   
       

    if(diffpancuv < 2) {               //si la difference est < 2 deg :
      digitalWrite(relcircul1, HIGH);   //arret circulateur primaire C1
              delay(200);
      digitalWrite(relcircul1v1, HIGH);   //arret circulateur primaire V1
      digitalWrite(relcircul1v2, HIGH);   //arret circulateur primaire V2
      digitalWrite(relcircul1v3, HIGH);   //arret circulateur primaire V3
      Serial.print("C1off");
    } 
    Serial.print('/');
  }
}



Voilà, si tu veux plus de renseignements n'hésite pas à demander.

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Re: variation 3 vitesses circulateur par arduino

Messagepar Balajol » Mer Mar 30, 2016 13:35 pm

Bonjour Fahim,
Une petite présentation et la localisation serait appréciée
Cdt
Bertrand
-6 m2 en auto-vidange (Circuit Fermé, eau pure sans glycol), Capteurs sous polycarbonate 16 mm (toiture local)
-9 m2 WEISHAUPT et ballon 1000L circuit pressurisé glycolé ; 2 Solareg Genius II
Compte rendu de mon installation ici
Avatar de l’utilisateur
Balajol
Modérateur
Modérateur
 
Messages: 2193
Enregistré le: Dim Avr 03, 2011 23:27 pm
Localisation: Saint-OMER 62
Âge: 55

Re: variation 3 vitesses circulateur par arduino

Messagepar ice 54 » Mer Mar 30, 2016 15:42 pm

Chez trend ils ont un module 4 rm qui permet avec un 0-10 d'attaquer 4 relais sur des seuils différents du style 2 v a 3 v relais 1 4 a 5 relais 2 / 6 a 7 relais 3 / 8v/9v relais 4.
300 L ECS appoint gaz /800 L appoint chauffage entrée chaudière à condensation, 6 capteurs Tinox Marvels 2510 automate Trend.
23 m2 de panneaux photovoltaique Solarworld + onduleur 3 kw/h onduleur power one.
.
Avatar de l’utilisateur
ice 54
Maitre Solaire
Maitre Solaire
 
Messages: 1851
Enregistré le: Ven Avr 11, 2008 10:59 am
Localisation: dombasle 54

Re: variation 3 vitesses circulateur par arduino

Messagepar Balajol » Mer Mar 30, 2016 18:03 pm

Bonjour Pascal29 et tous,
Attention la protection antigel par circulation est de courte durée, le ballon se refroidi très vite.
Plusieurs APPERIENS ont eu des dégradations par le GEL avec cette "protection" et de l'eau sans MPG.
Cordialement
Bertrand
-6 m2 en auto-vidange (Circuit Fermé, eau pure sans glycol), Capteurs sous polycarbonate 16 mm (toiture local)
-9 m2 WEISHAUPT et ballon 1000L circuit pressurisé glycolé ; 2 Solareg Genius II
Compte rendu de mon installation ici
Avatar de l’utilisateur
Balajol
Modérateur
Modérateur
 
Messages: 2193
Enregistré le: Dim Avr 03, 2011 23:27 pm
Localisation: Saint-OMER 62
Âge: 55

Re: variation 3 vitesses circulateur par arduino

Messagepar fahim » Jeu Mar 31, 2016 7:11 am

pascal29 a écrit:Bonjour Fahim,
Finalement j'ai tenté le coup.
Mon circulateur est un Grunfos UPS 15-60 à 3 vitesses. Il ressemble beaucoup à celui décrit dans la fiche de Gregory92. Si c'est ça qui t'arrête je peux te filer le schéma de cablage.
Côté Arduino J'ai 4 relais (alimentation circulateur, vitesse 1, vitesse2, et vitesse 3. Pour éviter que deux vitesses soient alimentées en même temps, j'ai mis un "delay" en plus pour que le relais ait le temps de basculer.
Pour l'instant ça marche ... Actuellement je teste les valeurs des vitesses de déclenchement. D'ailleurs si quelqu'un à un avis là dessus je suis intéressé.


Le bout de code qui fait varier le circulateur:
Code: Tout sélectionner
//régulation de la circulation primaire (si Inter priorité sur cuve)
void regulC1(){
 
  int temp1 = sensors.getTempC(Probe01);   //lecture temperature capteurs
  int temp2 = sensors.getTempC(Probe02);   //lecture temperature haut cuve
  int diffpancuv = (temp1- temp2);        //calcul difference en degre
  delay(2000);
  digitalWrite(alarms, LOW);

  if(temp1 < 4) {     
    digitalWrite(relcircul1, LOW);  //circulateur primaire tourne: sécurité antigel car je tourne à l'eau pas d'antigel
       //     delay(200);
    digitalWrite(relcircul1v1, LOW);    // commande relais circulateur primaire V1 enclenché
    Serial.print("C1gel");
    Serial.print('/');
  }
  else {
 
   if(diffpancuv > 2 && diffpancuv < 6) {              //si la difference est > 2° et inférieure à 6° :
         digitalWrite(relcircul1v2, HIGH);    // commande relais circulateur primaire V2 coupé
         delay(500);
         digitalWrite(relcircul1v3, HIGH);    // commande relais circulateur primaire V3 coupé
         delay(500);
         digitalWrite(relcircul1, LOW);    // commande relais circulateur primaire C1 enclenché
         delay(200);
         digitalWrite(relcircul1v1, LOW);    // commande relais circulateur primaire V1 enclenché
      Serial.print("C1v1");
    }
    if(diffpancuv >=6  && diffpancuv < 9) {              //si la difference est >= 6° et inférieure à 9° :
        digitalWrite(relcircul1v1, HIGH);    // commande relais circulateur primaire V1 coupé
        delay(500);
        digitalWrite(relcircul1v3, HIGH);    // commande relais circulateur primaire V3 coupé
        delay(500);
        digitalWrite(relcircul1, LOW);   //relais circulateur primaire C1 enclenché
        delay(200);
        digitalWrite(relcircul1v2, LOW);    // relais circulateur primaire sur V2 enclenché
       
        Serial.print("C1v2");
     }   
       if(diffpancuv >=9) {              //si la difference est >= 9° :
        digitalWrite(relcircul1v1, HIGH);   //commande relais circulateur primaire V1 coupé     
        delay(500);
        digitalWrite(relcircul1v2, HIGH);    // commande relais circulateur primaire V2 coupé     
        delay(500);
        digitalWrite(relcircul1, LOW);   //relais circulateur primaire C1 enclenché
        delay(200);
        digitalWrite(relcircul1v3, LOW);    // relais circulateur primaire sur V3 enclenché
        Serial.print("C1v3");
     }   
       

    if(diffpancuv < 2) {               //si la difference est < 2 deg :
      digitalWrite(relcircul1, HIGH);   //arret circulateur primaire C1
              delay(200);
      digitalWrite(relcircul1v1, HIGH);   //arret circulateur primaire V1
      digitalWrite(relcircul1v2, HIGH);   //arret circulateur primaire V2
      digitalWrite(relcircul1v3, HIGH);   //arret circulateur primaire V3
      Serial.print("C1off");
    } 
    Serial.print('/');
  }
}



Voilà, si tu veux plus de renseignements n'hésite pas à demander.


Pascal bonjour et merci pour le feed back. Conformement au schema de Gregory les relais utilises sont du type coil donc presence d une composante inductive que je crois non negligeable ce qui pourrait creer une surtension dans la bobine du relais quand celle ci n est plus traversee par le courant conformement a la loi de lenz. La litteraturte technique suggere de proteger le circuit de commande (dans mon cas le M3 et dans le votre arduino) par une diode. Avez vous pris une demarche quelconque dans ce sens?

fahim
Newbie
Newbie
 
Messages: 7
Enregistré le: Mer Mar 30, 2016 6:16 am

Re: variation 3 vitesses circulateur par arduino

Messagepar fahim » Jeu Mar 31, 2016 7:15 am

Balajol a écrit:Bonjour Pascal29 et tous,
Attention la protection antigel par circulation est de courte durée, le ballon se refroidi très vite.
Plusieurs APPERIENS ont eu des dégradations par le GEL avec cette "protection" et de l'eau sans MPG.
Cordialement
Bertrand


Bertrand. Je n arrive pas a saisir le lien entre la variation 3 vitesses et la protection antigel. Merci d elaborer un peu plus.

fahim
Newbie
Newbie
 
Messages: 7
Enregistré le: Mer Mar 30, 2016 6:16 am

Re: variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Jeu Mar 31, 2016 8:54 am

Bonjour,
Merci Bertrand pour cette remarque. Je surveille mon installation pour l'instant ma cuve (1300L) n'est pas descendue sous les 17° en bas de cuve et 21° en haut. Il faut dire que j'habite en Bretagne en bord de mer et il gèle rarement ici.
Fahim, c'est parce que Bertrand a bien lu mon programme qu'il a deviné qu'il y avait une protection antigel.

Pour ce qui est de mes relais 5v (voir photo), je crois bien qu'il y a des diodes là dedans. Par contre, un des relais déconnait et il restait en position fermée :cry: En fait je n'y connais pas grand chose, c'est pour cela que je posais le question. :oops:

Penses tu qu'avec ça je suis hors la loi ? (de lenz ;-))
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Re: variation 3 vitesses circulateur par arduino

Messagepar fahim » Lun Avr 04, 2016 8:32 am

Pascal bonjour
Avez vous regle le probleme d un des relais qui ne fonctionnait pas? C etait quoi le probleme?

fahim
Newbie
Newbie
 
Messages: 7
Enregistré le: Mer Mar 30, 2016 6:16 am

Re: variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Mar Avr 05, 2016 8:26 am

Bonjour Fahim,
Le problème du relais n'a rien a voir avec le programme de changement de vitesses du circulateur. Je l'ai découvert en testant le relais avant de faire les branchements. Un vice de forme probablement.
Penses-tu qu'ils ne sont pas appropriés ?
Pour l'instant, toujours pas de problème. Je n'ai pas les moyens de mesurer mais j'ai l'impression que je gagne pas mal de calories depuis cette modification.
Pascal

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Re: variation 3 vitesses circulateur par arduino

Messagepar gregory92 » Mar Avr 05, 2016 11:22 am

bonjour à tous


heureux que mon cr puisse vous aider et donner des idées à d'autres...

le système n'apporte pas de gain en production d'eau chaude....cette étude et essais à été faites par kroutchef il y a longtemps...faire des recherches...
mais dans notre cas (installation de mon père) c'est une économie de courant car les vitesses 1 -2 et 3 ne consommes pas la même puissance.

on tourne en V 1 jusqu'à 50°
après c'est V2 jusqu'à 78° mais les panneaux sont bâchés en partie avant ( ils sont au sol)
je précise que les relais utilisé ici sont de récup (mon père est radio amateur) et sont assez gros pour ne pas rester collés...ça marche sans pb depuis le CR...
bien sur comme vous avez pu le constater ,il y a des relais de détrompage qui évitent que 2 vitesses soient enclenchées en même temps
pour le gain eau chaude nous sommes passés par une sonde avec doigt de gant à l'arrivée de la ligne qui vient des panneaux
tant que la température n'est pas atteinte le circulateur boucle pour réchauffer la ligne...mais avec une tempo de 1mn ou 1.30 je ne me souviens plus.

si temp atteinte la vanne TOR (tout ou rien....) s'ouvre en 24 secondes et après en fonction de ce que le M3 à choisit de faire ça part soit sur l'échangeur à plaques par une autre électro vanne ou vers l'ecs et là comme le ballon fait 500 l et possède 2 échangeurs il y a une 3 eme électrovanne qui va diriger le flux vers le haut du ballon (échangeur du haut ...)
puis quand la temp en haut est à 60 ou 65° on peut modifier ce paramètre quand on veut ....on bascule sur le bas du ballon.

d'autres fonction pour la V3 dans le cas ou on a oublié de bâcher....ça circule en permanence en grande vitesse pour éviter la surchauffe.....breuh...pas évident mais si ça ne dure pas trop longtemps ça marche

et le plus important c'est l'alarme en dessous de moins 11 ou -12° ...de tête je ne me souviens plus (paramètre réglable)
dans ce cas là : le système est par défaut le soir sur plancher chauffant...la vanne d'arrivée s'ouvre et la circulateur ce met en V3 ....c'est la chaleur du P C qui par l'intermédiaire de l'échangeur à plaques réchauffe la ligne et les panneaux...mon père à déjà vu le système se mettre en route vers 2 h du mat...ça dure 20 secondes et la temp d'arrêt est réglée sur + 8° le temps que ça retombe à moins 12° il va se passer du temps...ceci pour éviter de mettre 48 litres de MPG à moins 25° .

résultat: avec 2 personnes à la maison sauf quand j'y vais on est 3....en décembre l'autonomie en ecs à été complète soit 31 jours...la stratification est excellente 30 ° en bas du ballon et 65° en haut ...ça ne se mélange pas.


les paramètres de 50° ou 78° sont modifiables quand ont veut il y a un pc branché en permanence sur le M3 et le M2 qui est coté...suffit d'allumer et d'attendre que cette bonne vieille bête est finie de s'ouvrir..windows XP pro avantage , il y a des ports séries ...pour M2...qui lui gère la température du plancher chauffant...avec une pid....proportionnelle intégrale dérivée + quelques bricoles de sécurité etc et le M2 est plein.
je me suis investi dans la programmation python pour sortir toutes les valeurs ...mais j'en suis resté là...manque l'interface et le raspbery derrière pour aller sur la box.. certains paramètres sont modifiables dans ce cas là depuis un pc portable ou smarphone...pour soit augmenter la température de la maison soit pour faire plus d'eau chaude.

bref excusez moi d'avoir été long....
le CR de la gestion de vitesse est correct sur le forum par contre celui de l'installation solaire est obsolète.

nota il y a un onduleur récup pc en 24 volts sur 2 batteries voiture en permanence..en cas de coupure ça bipe et ça peut tenir plusieurs heures
...qui alimente les 2 millénium les platines sondes et les 2 circulateurs celui solaire et celui du plancher chauffant.

bonne bidouilles et au plaisir
greg
Support Technique installation de gegef6fsk à Trespoux (46), basé à Toulouse (31)...6kva photovoltaïque en vente totale.
gestion pl.chauffant avec M2 PID . sortie des données du M3 solaire avec prg python vers bientôt raspberry pi 2.
Avatar de l’utilisateur
gregory92
Etudiant Solaire
Etudiant Solaire
 
Messages: 151
Enregistré le: Sam Avr 08, 2006 18:01 pm
Localisation: Trespoux (46)

Re: variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Mar Avr 05, 2016 16:23 pm

Bonjour Gregory et merci de ces infos complémentaires très intéressantes.

Je suis surpris que la variation des vitesses du circulateur n'apporte pas de gain. Dans ma logique je pensais que plus la température des panneaux est basse, meilleure est la production. Du coup c'est par rapport au delta de température entre les panneaux et ma cuve que je fais varier la vitesse de mon circulateur. Mais peut être que le gain est minime ? Je vais essayer de retrouver les essais de Kroutchef.
En tous cas je gagnerai en conso élect du circulateur. ;-)

Comme toi je récupère les infos de température, vitesses des circulateurs, ouverture des V3V, alarmes ... pas sur un Raspberry mais sur un PCduino par un programme qui s'appelle Putty (il lit les infos de l'arduino sur le port série). ça m'aide beaucoup à comprendre comment fonctionne l'installation, les pannes etc...

Il va falloir que je me penche aussi sur la sécu en cas de panne EDF. Ya encore du boulot...

Pascal

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Re: variation 3 vitesses circulateur par arduino

Messagepar gregory92 » Mar Avr 05, 2016 17:08 pm

re

je n'ai pas trouvé pour les essais de kroutchef mais ce lien peut t'intéresser
viewtopic.php?f=17&t=3627&hilit=kroutchef

a + greg
Support Technique installation de gegef6fsk à Trespoux (46), basé à Toulouse (31)...6kva photovoltaïque en vente totale.
gestion pl.chauffant avec M2 PID . sortie des données du M3 solaire avec prg python vers bientôt raspberry pi 2.
Avatar de l’utilisateur
gregory92
Etudiant Solaire
Etudiant Solaire
 
Messages: 151
Enregistré le: Sam Avr 08, 2006 18:01 pm
Localisation: Trespoux (46)

Re: variation 3 vitesses circulateur par arduino

Messagepar pascal29 » Mer Avr 06, 2016 8:55 am

Merci encore Greg pour ce post très intéressant.

Pour l'instant mon circulateur primaire tourne:
- en vitesse 1 quand les capteurs ont une temp supérieure à +2° de la temp du haut de la cuve
- en vitesse 2 quand les capteurs ont une temp supérieure ou égale à +6° de la temp du haut de la cuve
- en vitesse 3 quand les capteurs ont une temp supérieure ou égale à +9° de la temp du haut de la cuve
quand les capteurs ont une temp inférieure à 2° de la temp du haut de la cuve, il s'arrête.

C'est vrai qu'un delta T de 2° c'est petit mais il faut dire que je n'ai pas d'échangeur primaire, c'est directement l'eau de la cuve qui va dans mes capteurs et pour l'instant je n'ai pas l'impression que ce soit ma cuve qui chauffe les capteurs. ;-)
Pour les réglages V2 et V3, je continue à analyser... ;-)

pascal29
Stagiaire Solaire
Stagiaire Solaire
 
Messages: 89
Enregistré le: Jeu Mar 25, 2010 17:40 pm
Localisation: Brest (29)

Suivante

Retourner vers Matériel annexe

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité