En complément du tuto sur la commande de volets roulants à travers un interrupteur, voici, suite à une demande, sa variante pour des boutons poussoirs.
Ce témoignage va partir des hypothèses suivantes
- un bouton poussoir double vous permet de piloter votre volet, un bouton commande la montée du volet, l’autre la descente. Si vous avez un interrupteur (le bouton reste enfoncé lorsque vous appuyez dessus), consultez le post initial (Piloter un volet roulant commandé par un interrupteur, une solution).
- Il doit être possible de commander le volet depuis les boutons poussoirs (y compris les séquences permettant de réinitialiser la phase d’apprentissage du volet) ou par un widget, le dernier ayant parlé ayant raison (vous pouvez commencer à relever le volet depuis le widget et interrompre sa montée par le bouton poussoir par exemple)
- votre volet est piloté par le neutre : il est toujours alimenté par la phase et le neutre, et une impulsion raccordant le neutre et un des fils de commande permet de manipuler le volet. Si tel n’est pas le cas adaptez les branchements en conséquence
- les relais 5 et 6 seront utilisés ici pour la montée et la descente du volet. Ils seront identifiés par R5 et R6.
- les entrées digitales 5 et 6 sont également utilisées et identifiées par DI5 et DI6.
- on souhaie connaître la position approximative du volet dans le widget (la vitesse non linéaire du volet induit des approximations et dans certains cas le temps de montée des volets peut différer du temps de descente)
Encore une fois, ce post est long. Ne vous sentez pas obligé de tout mettre en oeuvre en une fois. Testez votre configuration à la fin de chaque étape.
Branchements
Les interrupteurs ne doivent plus piloter directement le volet roulant, sinon le risque qu’il recoive des ordres contraires des boutons et de l’IPX est non nul.
N’oubliez pas de couper l’électricité avant de réaliser ces branchements.
Branchements entre les boutons poussoirs et l’IPX
Idéalement réalisé avec un câble réseau blindé,
- le GND de l’IPX est relié aux boutons poussoirs, en lieu et place de l’arrivée du neutre
- le bouton poussoir Up est relié à DI5 de l’IPX
- le bouton poussoir Dn est relié à DI6
Les borniers des relais sont répartis sur 3 bancs. Ils sont identifiés ici selon la convention x.y, où x est le numéro du banc (1à3) et y et le numéro du bornier (1à8).
Voici les branchements à réaliser :
- 2.4 : Up
- 2.5 : ponté avec le 2.6
- 2.6 : ponté avec le 2.5
- 2.7 : arrivée neutre 220v (y mettre la phase si le volet est piloté par la phase)
- 2.8 : Down
Configuration minimale
Comme dans le cas de l’interrupteur, peu de choses sont nécessaires pour piloter un volet roulant depuis l’IPX de manière basique.
Périphériques
Pour le pilotage de base du volet à travers les boutons poussoirs, seuls 4 éléments physiques sont nécessaires :
- 2 relais, R5 et R6, avec un TA = 0 et TB = 0 : la durée et le nombre d’impulsions initiées par les boutons poussoirs ne doivent pas être altérées.
- 2 entrées digitales, DI5 et DI6
Règles
- Si DI5 OnOff R5 : report de l’impulsion du bouton poussoir sur le relai
- Si DI6 OnOff R6 : idem pour le bouton de descente
- Si R5 Off R6 : si fermeture du R5, ouverture du relai 6, le pendant logique du câblage
- Si R6 Off R5 : si fermeture du R6, ouverture du relai 5 (pour rappel, le relai fermé va transmettre le flux alors qu’il va l’arrêter lorsqu’il est ouvert - un interrupteur fermé allume la lumière, un interrupteur ouvert l’éteint)
Ces 2 dernières règles ne sont pas indispensables. Vous pourriez même devoir les supprimer - et revoir le câblage - si la séquence d’initialisation du volet vous réclame d’appuyer simultanément sur les commandes Up et Down.
A ce stade, vous disposez d’un système opérationnel uniquement à travers les boutons poussoir : difficile de générer des impulsions depuis un widget. Pour cela il est préférable d’utiliser 2 sorties vituelles complémentaires :
- VO05 et vO06 avec TA =0 et TB = 1/10 seconde qui vont permettre de piloter le volet depuis le widget
et 2 règles complémentaires:
- Si VO05 OnOff R5 : L’état de la sortie virtuelle, paramétrée pour générer des impulsions d’1/10 seconde, est transmis au relai de montée du volet
- SI VO06 OnOff R6 : idem pour la descente.
L’interface utilisateur, contrairement à la variante de l’interrupteur qui pilotait directement les relais, doit piloter ces sorties vituelles.
Estimer la position du volet
Le même principe que dans le cas d’un interrupteur est utilisé pour approcher la position du volet. Je vous renvoie vers ce post (repris plus haut) pour calculer la fréquence d’actualisation du compteur et l’incrément à utiliser.
La particularité tient ici au fait que l’on ne peut s’appuyer sur aucun relai pour savoir si le volet est en mouvement. Il est donc nécessaire de « mémoriser » la commande de montée ou de descente à travers 2 sorties virtuelles : VO08 (up), VO09 (dn) avec TA=TB=0
et 2 scénarios
- Si R5 On VO08 : si le relai de montée est fermé, mémorisation de l’action de montée dans la sortie virtuelle
- Si R6 On VO09 : idem vers le bas
la logique est similaire à celle de l’interrupteur
-
C5, le compteur
-
VO07, la sortie virtuelle qui va agir comme un timer, TB= la fréquence que vous aurez calculée
-
Si non VO07 et VO08 On VO07, C5.decrement(I) : décrément du compteur lors de la montée
-
Si non VO07 et VO09 On VO07, C5.increment(I) : incrément du compteur lors de la descente
-
si C5=101 On C5=100 : interdire au compteur de dépasser la valeur 100, si désynchronisation
-
Si C5=101 off V009 : volet arrivé en bas
-
Si Non C5=1 Off VO08 : le volet est relevé au maximum, arrêter tout mouvement
il faut également compléter 2 règles précédemment écrites pour interrompre la mémorisation du mouvement lorsqu’un ordre contraire est donné
- Si R5 Off R6 , VO09 : montée du volet en cours, arrêt de la mémorisation de la descente
- Si R6 Off R5 , V008: idem pour la descente
Mémoriser la position du volet
Un push avec les bonnes étiquettes permet de transmettre la position du volet en fin de mouvement de ce dernier en modifiant les 2 dernières règles :
- Si C5=101 off V009, Push(VR3) : volet arrivé en bas
- Si Non C5=1 Off VO08, PUsh(VR3) : le volet est relevé au maximum, arrêter tout mouvement
et voici l’URL du push, à titre d’exemple, qui retourne la position du volet et le timestamp
/rollingshutter?timestamp=$TS&ID=3&position=$C05
##Présentation
Ca y est. Vous êtes au bout. Il vous reste à connecter votre IHM. Vous en trouverez un exemple ici :
Si vous avez des questions ou des propositions d’améliorations, n’hésitez pas à intervenir.