En cours Régulation température ouverture automatique serre tonneau

jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonjour Jules
si un vérin s'ouvre plus vite que l'autre, la valeur de son potar ne sera pas contrôlé
Ok, je vais faire un tableau de vérins pour résoudre ce problème.

A+
Cordialement
jpbbricole
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #47
D'accord, merci pour tout ce que tu as fait depuis le début.
Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonjour Jules

Voilà une version multi vérins, la physionomie du programme a passablement changé. Au lieu de partir dans de longues explications, je te laisse découvrir et, surtout, poser des questions.

Le paramétrage, essentiel, su trouve dans les 2 fonctions:
void temperatureInitialisation()
void verinsInitialisation()


L'affichage alterne (toutes les secondes (if (millis()-displayTempo > 1000)) les données du vérin gauche (VerG) et du vérin droite (VerD)
J'ai pu tester environ 90% du programme, le seul problème qui risque d'arriver est, quand on est "au bord" des valeurs de seuil, le relais oscille. Si c'est nécessaire, on corrigera avec une petite temporisation.
Bonne soirée
Cordialement
jpbbricole
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #49
Bonsoir jpbbricole,
Pour l'instant je n'ai pas assez de potentiomètre pour tester tout ça en "manuel", donc je vais attendre de recevoir le nécessaire pour faire le test complet avec tout ce qu'il faut.
Je vais essayer de te poser quelques questions sur les choses que je ne comprend pas trop, si ça ne te dérange pas :
À la ligne void tempertureMesure() je pense qu'il manque un "a", mais je préfère te demander avant, si c'est bien cela, je le changerai.
À quoi sert la ligne int displToggle = 0; tu as préciser pour alterner l'affichage ?
Pour la librairie du dht22, je dois l'installer avec un zip, ou prendre une dans la bibliothèque du logiciel ? Et si c'est ça, la quelle ?
Je pense que le reste je comprend à peu près..

Merci,
Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonsoir Jules

tempertureMesure() je pense qu'il manque un "a"
Bien vu! Oui, bien sûre, tu peux corriger (à 2 places).
À quoi sert la ligne int displToggle = 0;
Toggle = basculer, c'est un compteur qui tourne à l'infini et qui permet d'afficher les n vérins, les uns après les autres (verinAffich) par la formule
int verinAffich = displToggle % verinsNombre;
% est la fonction modulo et donne, donc, le reste de la division displToggle/verinsNombre donc la numérotation des vérins, en l’occurrence avec 2 vérins, 0,1,0,1,0...
Pour la librairie du dht22, je dois l'installer avec un zip
Le mieux est la façon "Officielle" et la plus sûre:

1588444686573.png


Rechercher dht

1588444731750.png


Sélectionner et installer, éventuellement sélectionner la dernière version
1588444752227.png

Puis
1588444819754.png

Puisque cette bibliothèque DHT nécessite aussi Adafruit Sensor.

A+
Cordialement
jpbbricole
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #51
C'est bon, c'est compilé et dans l'arduino !!!
J'essayerai quand même demain avec un potar pour la température (j'en ai trouvé un !) et avec un vérin branché juste sur le relais d'avance et son potar branché aussi. Je te tindrai au courant, et @tranquille aussi si il suit encore le sujet !

Bonne soirée,
Jules
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #52
Bonjour jpbbricole,
J'ai fait les premiers tests avec 1 seul vérin, tout se passe à peu près bien, sauf pour les relais, quand le vérin doit avancer les relais cliquetillent puis se stabilise (restent commuter) puis s'arrêtent juste avant l'avance cible puis re-cliquetillent pour arriver à l'avance cible.. Je pense que à ce rythme, les relais ne vont pas faire long feu, et de plus quand le vérin arrive vers la fin de son avance cible, quand les relais cliquetillent, quelques fois les relais pour faire reculer le vérin se commutent en même temps que ceux pour l'avance, donc j'ai déjà un câble qui a partiellement fondu... Même si je met des diodes pour chaque fils qui arrivent au vérin, il y aura toujours un endroit qui pourrait se retrouver en court-circuit si les relais d'avance et de recul commutent en même temps...
Je ne sais pas si tout cela est résolvable, mais sans quelques changements, je ne pourrai pas avoir l'esprit tranquille avec le système tel-quel installé, au risque de foutre le feu..
Par contre une bonne nouvelle, enfin ! J'ai retrouver un écran lcd 20x04 avec la carte i2c déjà soudé, je l'ai utilisé (n'ayant pas encore de lcd 16x2 en i2c), si tu prèfère l'écran 20x04 pour ne pas avoir besoin de faire changer sur l'écran "verG" et "verD" toutes les secondes, tu as la possibilité..

Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonjour Jules

J'ai pu tester environ 90% du programme, le seul problème qui risque d'arriver est, quand on est "au bord" des valeurs de seuil, le relais oscille. Si c'est nécessaire, on corrigera avec une petite temporisation.
Je m'en doutais un peu, le problème quand on a pas l'installation sous les yeux :???:
Je ne sais pas si tout cela est résolvable,
Oui, bien sûre, il faut que j'améliore ma simulation pour mieux appréhender le problème. je te tiens au courant
si tu prèfère l'écran 20x04
En général je travaille avec des 20x4 ou des OLED i2C
1588584088010.png

Seule la première ligne est jaune.
Je te fais une version en 20x4.

A+
Cordialement
jpbbricole
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #54
Pas de soucis, tout est encore cablé, si tu veut tester quelque chose, dit-le moi !
D'accord, tu as le temps, merci le confinement hahahh !
Et dans ce cas, tu peut rajouter, en même temps que les quelques modifs, l'écran 20x04 au lieu du 16x2, et l'adressage est 0x3F !

Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonjour Jules

Pourrais-tu me faire un schéma de câblage de la commande d'un vérin par les relais, même à main levée?

Merci par avance
Cordialement
jpbbricole
 
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #56
Bonjour jpbbricole, si tu as EasyEDA, gratuit, pour schématiser des circuit/faire des pcb, j'ai essayé au mieux de refaire le circuit en entier dessus. Je te joint quand même une capture d'écran (bonne chance) et le fichier au cas ou (normaleme,t c'est dans le fichier en haut à gauche puis ouvrir puis "easyEDA..." et la tu choisi ce fichier la"..
1588608507149.png

Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonjour Jules

Voilà une version revue et corrigée et avec un LCD 20x4. (Adresse 0x27 ou 39 décimal)
Le programme est en mode sonde = potentiomètre (#define _sondePotentiometre)
Fait des essais et redis-moi.
Cordialement
jpbbricole
 
Dernière édition:
J
jujujuju2004
Apprenti
22 Jan 2017
61
  • Auteur de la discussion
  • #58
Bonjour jpbbricole,
Je viens de faire quelques test, de plus j'ai reçu le dht22 et tout le reste donc j'ai pu faire des test plus complets. Tout a l'air d'aller nickel, plus de "cliquetillement" des relais, mais maintenant un autre problème se pose.. En effet, quand le dht22 envoi une température en dessous de 25°C, l'arduino laisse collé les relais pour le recul, donc le vérin tourne sans s'arrêter.. Et je pense que ça doit être de même pour une température au dessus de 35°C. Si ça serrait possible de ne commuter aucun relais en dessous de 25°C ou au dessus de 35°C ça serait l'idéal.

Merci encore,
Jules
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 215
Corsier-sur-Vevey (Vaud)
Bonsoir Jules

Remplaces cette partie:
Le changement essentiel est l'ajout de cette ligne:
temp.cibleVerin = constrain(temp.cibleVerin, 0, temp.max - temp.min); // Pour délimiter les valeurs cible

J'ai remis à jour le programme du post #57

A+
Bonne soirée
jpbbricole
 
Haut