Recherche aide pour projet : régulation température serre

Les automaticiens surbooker ou en manque de main d'oeuvre temporairement.
Avatar de l’utilisateur
beaware
Asservi son premier moteur
Asservi son premier moteur
Messages : 30
Enregistré le : 09 juin 2019, 13:05
Localisation : Vendée (85)
Contact :

Recherche aide pour projet : régulation température serre

Message par beaware » 09 juin 2019, 13:35

Bonjour à tous,

Je ne sais pas si je suis au bon endroit, mais je vous expose mon projet en cour.

Je possède une serre de 6m X 4m pour jardiner. J'ai tout d'abord installé des panneaux ouvrants à chaque extrémités pour ventiler l'intérieur, car en plein été si on ouvre pas sa cogne fort .. J'ai préparé l'installation :

- 2 vérins électrique ouvre chacun un des 2 panneaux : l'installation mécanique est prête.
- J'ai câblé le tout avec une petite armoire élec et alim 24v + passé un multi 12G1 + 5G1 + câble sonde blindé 4G0.75 + cable sone 2G0.75 + câble RJ45 : L'installation électrique est prête
- Pas encore trouvé ou ne sais pas quel type de sonde de température installer
- Un automate Twido TWDLCAE40DRF + carte entré 4/20 mA TWDAMI8HT
- Actuellement j'ai juste mis 2 commutateur 3 positions pour l'ouverture/fermeture manuel

Le but du projet est le suivant :

- Ouvrir les panneaux en fonction de la température intérieur pour réguler autour d'une température cible (30° C environ à voir).
- Ne pas faire du tout ou rien complètement ouvert/fermé, régulation avec beaucoup d'inertie (je ne veux pas que les moteurs ouvre/ferme toutes les secondes.
- Avoir un report en supervision sur mon PC et mon smartphone Android

Comme info j'ai plusieurs choses à dispo :

- Fin de course fermé sur les vérins
- Temps de cycle d'un vérin constant (60 secondes ouverture/fermeture)
- Sonde de température
- Possibilité d'avoir un régulateur de température annexe avec 2 sorties contact alarme



Je possède TwidoSuite pour la programmation. J'ai à dispo un mini PC Intel NUC I3/Win 10 qui peu tourner en permanence pour la supervision.

Voilà le gros du projet. Si des personnes sont intéressées pour me filer un coup de main ou ont des idées je suis preneur. Je butte sur le programme de régulation pour l'automate, et sur la partie supervision. Je ne voudrais pas mettre des 1000 et des 100 dans le projet, mais je suis conscient que tout travail mérite salaire ou avantage ;) .
Modifié en dernier par beaware le 10 juin 2019, 00:26, modifié 1 fois.

Kallysto
Créateur de langage
Créateur de langage
Messages : 589
Enregistré le : 27 avr. 2017, 11:11
Localisation : Loin de la civilisation

Re: Recherche aide pour projet : régulation température serre

Message par Kallysto » 11 juin 2019, 11:38

Je ne connais pas les automates twido plus que ça, mais je peux répondre à une petite partie des questions :

Pour la sonde de température une PT100 ou PT1000 avec sortie 4/20 mA fera l'affaire sans problème.

Pour la régulation :

Un PID qui donnera une sortie en 0/100%. Et ensuite un rééchelonnage en temps d'ouverture / fermeture avec des compteurs.

Concrètement faut connaitre le temps de course du vérin (suffit de chronométrer) et avoir un compteur décompteur : quand on demande l'ouverture du vérin, on ajoute des secondes grâce au compteur et quand on demande la fermeture du vérin, on soustrait les secondes en mode décomptage :
Impulsion toutes les secondes ET Pilotage ouverture => sur l'entrée de comptage.
Impulsion toutes les secondes ET Pilotage fermeture => sur l'entrée décomptage.


Ainsi on a la position du vérin en secondes qu'on convertit en 0/100%.
Si le vérin met 150s pour faire sa course, le calcul est : valeur = tps mesuré *100 / 150.

Ensuite, il "suffit" de comparer la demande du PID à la position du vérin avec un hystérésis.
Par exemple si la position du vérin est 10% en dessous de ce que demande le PID, on ouvre de 10% supplémentaire, jusqu'à atteindre la position demandée par le PID.
Donc si on reprends l'hypothèse que le verin met 150s pour une course complète, on active l'ouverture pendant 15 secondes.

En cas de demande de fermeture complète ou d'ouverture complète, on maintient le pilotage "plus longtemps" pour supprimer des éventuels décalage entre la position réelle des vérins et la position calculée.


Pour le report de supervision... bah l'idéal c'est des pages web pour moi. Comme ça c'est facilement exportable sur smartphone : suffira de se connecter au réseau local de la maison puis d'afficher les pages web.

Avatar de l’utilisateur
beaware
Asservi son premier moteur
Asservi son premier moteur
Messages : 30
Enregistré le : 09 juin 2019, 13:05
Localisation : Vendée (85)
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par beaware » 16 juin 2019, 21:49

Merci pour les précisions détaillées, mais j'ai un niveau basic comme je le disais. J'arrive à mettre une entrée qui pilote une sortie, une tempo .. sortie de là c'est pas clair du tout. Je ne sais pas comment structurer mon programme, et encore moins y ajouter une fonction PID.

- Les vérins mettent 26 secondes pour s'ouvrir (idem pour se fermer)
- J'ai installé une sonde PT100 avec sortie 4-20 mA
- J'ai la possibilité d'en mettre une deuxième en extérieur ...
- L'automate est un TWDLCAE40DRF
- La carte entrée ANA est une TM2AMI8HT (enfin reconnue dans la config, car sur l'étiquette c'est une TWDAMI8HT) mais TwidoSuite ne l'a pas dans la base)

Dans l'idéal, il faudrait que :

- Le vérin 1 s'ouvre d'abord de 10%.
- Ensuite on régule avec le vérin 2.
- Quand le vérin 2 est à 100 % on régule avec le vérin 1.
- Température cible 30°C (ajustable via la supervision).

Je pensais également à une chose, mettre un reset des compteurs/décompteurs lorsque l'on atteint la position fermée (j'ai une entrée pour ce contact uniquement sur chaque vérin).

Je suis prêt à apprendre mais quand on a pas les bases nécessaire c'est compliqué, je tourne en rond :(

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3527
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par itasoft » 17 juin 2019, 01:15

slts,
il faut adopter la solution à Kallysto qui semble tenir la route. Ceci dit, avec ce type d'actionneurs (boucle ouverte) faut pas s'attendre à des miracles.
Automaticien privé (de tout)
itasoft@free.fr

Avatar de l’utilisateur
beaware
Asservi son premier moteur
Asservi son premier moteur
Messages : 30
Enregistré le : 09 juin 2019, 13:05
Localisation : Vendée (85)
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par beaware » 10 juil. 2019, 00:45

Bonjour,

Mon programme est bouclé, cela fonctionnait en simulation mais pas en réel.
J'ai un problème avec le bit S4 (10 ms). Il ne cadence pas comme il faut. J'ai l'impression que c'est beaucoup trop lent.
Capture.JPG
Je ne comprend pas pourquoi je n'arrive pas à cadencer pareil en simulation et en réel.

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3527
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par itasoft » 10 juil. 2019, 01:31

slts,
ça peut pas marcher si le tour de cycle automate est >=10 ms, à vérifier, ou utiliser le bit %S5 à 100 ms
ps:
ça marche avec le simulateur car le processeur du PC est plus rapide que celui de l'automate
Automaticien privé (de tout)
itasoft@free.fr

Avatar de l’utilisateur
Bruce33
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 129
Enregistré le : 28 oct. 2015, 06:54
Localisation : Pas-de-Calais

Re: Recherche aide pour projet : régulation température serre

Message par Bruce33 » 10 juil. 2019, 10:11

Bonjour,

Plus précisément le comptage n'est pas fiable si le temps de cycle automate est supérieur à 5 ms.
Car le bit %S4 est un "signal carré" qui vaut 0 pendant 5 ms et 1 pendant 5 ms.

philou77
Dieu du process
Dieu du process
Messages : 980
Enregistré le : 21 oct. 2015, 10:00

Re: Recherche aide pour projet : régulation température serre

Message par philou77 » 10 juil. 2019, 10:31

Salut !

Le bit %S4 est fiable, c'est son évaluation dans le prg qui ne l'est pas (en fonction du temps de cycle).
Les horloges internes ne sont effectivement pas très stable et le temps varie (quelques millisecondes en + ou en -) en fonction de la température (enfin dans un ancien temps...)


passer par une interruption périodique permet de s'affranchir du temps de cycle automate si on désire un truc précis.

il suffit de créer une tâche périodique.
de supprimer le rung avec %S4 et %M0 (si pas utilisé ailleurs
De créer un POU cadencé à 5 ms
de placer une équation un%M0 = %M0 au RUNG 1 du POU (cela aura pour effet de créer le front montant nécessaire au comptage)
de placer le compteur au RUNG 2 du POU
Et le mieux serait d'affecter immédiatement la sortie (pas trouvé l'instruction, à l'aide Itasoft ;-) !)
amha.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D

Avatar de l’utilisateur
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 3527
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par itasoft » 10 juil. 2019, 11:42

slts,
je dirais qu'une horloge à 100 ms suffit pour ce que on veut faire
Automaticien privé (de tout)
itasoft@free.fr

Avatar de l’utilisateur
beaware
Asservi son premier moteur
Asservi son premier moteur
Messages : 30
Enregistré le : 09 juin 2019, 13:05
Localisation : Vendée (85)
Contact :

Re: Recherche aide pour projet : régulation température serre

Message par beaware » 11 juil. 2019, 00:30

philou77 a écrit :
10 juil. 2019, 10:31
Salut !

Le bit %S4 est fiable, c'est son évaluation dans le prg qui ne l'est pas (en fonction du temps de cycle).
Les horloges internes ne sont effectivement pas très stable et le temps varie (quelques millisecondes en + ou en -) en fonction de la température (enfin dans un ancien temps...)


passer par une interruption périodique permet de s'affranchir du temps de cycle automate si on désire un truc précis.

il suffit de créer une tâche périodique.
de supprimer le rung avec %S4 et %M0 (si pas utilisé ailleurs
De créer un POU cadencé à 5 ms
de placer une équation un%M0 = %M0 au RUNG 1 du POU (cela aura pour effet de créer le front montant nécessaire au comptage)
de placer le compteur au RUNG 2 du POU
Et le mieux serait d'affecter immédiatement la sortie (pas trouvé l'instruction, à l'aide Itasoft ;-) !)
amha.
Merci philou77 pour ce renseignement. Par contre je ne sais pas comment le mettre en oeuvre dans mon programme. Le bit S4 n'est pas utilisé ailleurs, mais M0 si. C'est quoi un POU ? Comment faire ?

Répondre