J'ai ces vannes là à mon potager, en site isolé, alimenté par batterie+panneaux solaires. Je les ai domoticzé, mais c'est pas forcément simple :-\ Il te faut des relais à deux contacts, commandés par des mofset (ou autre étage de commande entre les GPIO et les relais)
Voici le montage que j'ai utilisé :
1/ Principe de commande (très schématisé pour la partie mosfet :-p) mais correct pour la partie ±9V :
L'idée est la suivante :
- Avec le relai K1 tu choisi si tu envoi du +9V ou du -9V a tes électrovannes. +9V est utilisé pour ouvrir, -9V pour fermer. Par sécurité, cabler de manière à ce que "fermer" corresponde à la position repos de K1 et "ouvrir" à la position excitée
- Avec les relais K2, K3 et K4, tu choisi à quelle électrovanne tu applique la tension
2/Matériel utilisé :
Pour les relais, j'ai utilisé ça :
https://www.aliexpress.com/item/32792007431.html
Pour la platine mofset :
https://www.aliexpress.com/item/32857892571.html
Pour les diodes de roue-libre, j'ai mis des 1N4007 ...
3/ Pilotage depuis domoticz
- Définir les devices R1, R2, R3 et R4 pour activer les GPIO 1 2 3 & 4 du Pi qui vont piloter les mosfet, donc les relais K1, K2, K3 et K4, puis les déclarer dans le script en dev_Rxxx (voir ci-dessous)
- Définir les devices Electrovannes à piloter comme des dummy "switches" et les déclarer dans le script en dev_EVxxx
Script de pilotage :
Code : Tout sélectionner
local dev_Rinv ="R1" -- Relai inverseur +9V/-9V
local dev_RJardin="R2" -- Relai EV Jardin
local dev_RVerger="R3" -- Relai EV Verger
local dev_RHaie ="R4" -- Relai EV Haies
local dev_EVJardin="EV Jardin"
local dev_EVVerger="EV Verger"
local dev_EVHaie ="EV Haie"
function UpdateSw(device,commande)
--Update un switch Domoticz
commandArray[#commandArray+1] = {[device] = commande}
end
function EV_Chg(EV,inv,cmd)
--[[Fonction de commande d'une électrovanne 9V :
Pour ouvrir : Impulsion de +9V
Pour fermer : Impulsion de -9V
Le relai inverseur est celui qui permet de commuter la tension : On=+9V, Off=-9V
cmd : le relai de commande de l'EV
--]]
if otherdevices[EV]=="On" then UpdateSw(inv,"On FOR 3 SECONDS") end
UpdateSw(cmd,"AFTER 1 SECOND TURN On FOR 1 SECOND")
end
commandArray = {}
if devicechanged[dev_EVJardin] then EV_Chg(dev_EVJardin,dev_Rinv,dev_RJardin) end
if devicechanged[dev_EVVerger] then EV_Chg(dev_EVVerger,dev_Rinv,dev_RVerger) end
if devicechanged[dev_EVHaie] then EV_Chg(dev_EVHaie ,dev_Rinv,dev_RHaie ) end
return commandArray
L'idée du script est la suivante :
- si on veut fermer l'électrovanne, on applique une impulsion d'une seconde sur K2, K3 ou K4
- si on veut ouvrir l'électrovanne, on excite K1 pour 3 secondes, on attends 1 sec puis on envoi une impulsion d'1s sur K2, K3 ou K4, puis on des-excite K1
Le post est très synthétique et ne donne que des pistes, pas une solution toute faite, en attendant les questions
