25 mayo, 2013
Electroválvula Rain Bird 075-DV controlada por Arduino
ACTUALIZACIÓN 7/9/2014: La tercera parte la tenéis aquí (Control de electroválvula con openHAB).
ACTUALIZACIÓN 7/7/2014: La segunda parte de esta entrada, la podéis encontrar aquí (Control de electroválvula por Internet).
Una de las tareas que debía controlar el sistema domótico que estoy construyendo es la del riego por goteo. Para ello tengo dos electroválvulas Rain Bird 075-DV, un Arduino UNO y una placa con dos relés.
Lo que pretendo es que cuando al Arduino le llegue un comando ‘1’ cambie el estado del relé numero 1 de la placa, y active/desactive la electroválvula. El esquema de conexionado es el siguiente:
![]() |
|
Esquema del sistema de control de electroválvulas. |
Usamos la placa de reles como un interruptor electrónico, controlado por nuestro Arduino, para activar y desactivar la electroválvula a voluntad.
Tenemos un transformador de 220VAc a 24VAc, que es lo que necesita la electroválvula para funcionar, uno sus cables lo hacemos pasar por el relé (contacto normalmente abierto) y el otro lo conectamos a la electroválvula. Hay que tener muy en cuenta que son 24V de corriente alterna (AC). La placa de relés tiene una peculiaridad: cuando en la entrada IN1 ponemos un estado LOW, el relé se activará, y cuando ponemos un valor HIGH, se desactivará. El condensador que veis, sirve para deshabilitar el reset que se produce en la placa Arduino cada vez que recibe un comando vía USB (más información aquí).
Y en Arduino cargamos el siguiente programa:
// ----------------------------------------------- // Reles (Electrovalvulas) // ----------------------------------------------- int pinElectrovalvula1=7; int estadoEV1; void setup() { Serial.begin(9600); // Inicializamos el modulo de EVs pinMode(pinElectrovalvula1,OUTPUT); estadoEV1=1; //cerrada digitalWrite(pinElectrovalvula1,estadoEV1); } void loop() { byte command=0; if(Serial.available()>=0) { command=Serial.read(); switch(command) { // Formato del comando: 1 case '1': { estadoEV1=!estadoEV1; digitalWrite(pinElectrovalvula1,estadoEV1); } } } }
Ya lo tenemos todo listo para que en cuanto arranque el programa la electroválvula se cierre (por seguridad, en casos de reinicios fortuitos del sistema por cortes de luz por ejemplo…), y se quede esperando el comando para activar/desactivar la electroválvula cuando queramos.
Más o menos el montaje real quedaría así:
![]() |
Montaje real… en pruebas. |
![]() |
Detalle de las conexiones en la placa de relés. |
Bueno, y esto es todo de momento. Si tenéis alguna pregunta, ya sabéis que son bienvenidas…
38 comentarios
Hola, soy estudiante de segundo de bachillerato y estoy haciendo de trabajo de recerca un «sistema» domótico con arduino que consiste en una válvula que se abre o se cierra en función de un sensor de humo y gas. Para el código más o menos se como lo tengo que hacer porque hice un curso de arduino, pero de electricidad no entiendo mucho y no se como conectar-le la electrovalvula, cual tendría que usar ni nada.
Mi pregunta es si me podrías indicar un poco lo que tengo que hacer o si sabes de alguna web donde se explique paso por paso,… aun así agradeceré cualquier otro tipo de aportación o idea.
Gracias
Por lo que me cuentas el montaje seria muy muy similar al de la imagen de arriba. Hay varios tipos de electroválvulas: los que funcionan pulsos y los que necesitan una señal continua. Para que una electroválvula de pulsos se abra o se cierre necesitas enviarle una señal (9v) durante un tiempo (un segundo por ejemplo) y luego otra vez 0v. Para los de señal continua necesitas mantener la señal (24v) durante todo el tiempo que quieras que la válvula esté abierta.
Hay electroválvulas que funcionan a 9v (con una pila, corriente continua), a 24v (con un transformador de corriente alterna), … Una vez que hayas elegido una electroválvula, por ejemplo la arriba, leemos sus especificaciones y nos dice que funciona a 24VAc/0,30A y que necesita un pulso continuo para que se abra.
Ahora necesitamos saber que relé necesitamos: es simple, si arduino nos da una señal de 5Vcc (corriente continua) y la electroválvula necesita 24VAc (corriente alterna) el relé sera al menos un 5Vcc/24Vac 0,30A. Como ese relé es complicado de encontrar (si existe), yo he elegido uno 5Vcc/220Vac 10A que es el que tenia ‘a mano’… Como puedes ver si necesitamos controlar 24voltios y ponemos un rele que es capaz de controlar 220 no debería haber problema, sobre todo la corriente que es capaz de controlar (10amperios) es muy superior a lo que consumirá la electroválvula (0,30 amperios).
¿Como se conecta todo? El rele que al final es quien tiene todas las conexiones tiene dos partes: la que se conecta a arduino (2 pines) y la que se conecta al aparato que queremos controlar (3 pines).
1. La parte que se conecta a arduino va conectada a GND y al pin de arduino que mandara la señal al relé. Esta parte no tiene ningún secreto.
2. Si conectáramos directamente los dos cables del trasformador a la electroválvula, estaría funcionando siempre, por lo tanto usamos el relé para que corte la señal de UNO de esos cables dependiendo de lo que le diga arduino. El funcionamiento es exactamente igual que un interruptor de luz como los que tenemos en casa. Conectamos un cable del trasformador a la electrovalvula directamente y el otro lo hacemos pasar por el relé. ¿A donde lo conectamos de los tres pines que tiene el rele? Desde el marcado como NC (normalmente cerrado) o desde el NO (normalmente abierto), y el tercer pin lo conectamos a la electroválvula. Exactamente lo que se ve en la primera imagen de esta entrada.
¿Que diferencia hay entre conectar a NC o a NO? Si conectamos a uno o a otro dependerá de si queremos el relé active la electroválvula cuando arduino le envíe la señal, o que se active cuando no le envíe la señal.
Uff que rollo te he metido… no se si me habré explicado bien, si necesitas algo mas o quieres que te aclare algo no dudes en decírmelo. 🙂
¡Y gracias por el comentario!
Muchísimas gracias por tu respuesta, me acabas de ayudar mucho porque estaba totalmente estancado, una cosa que te agradecería es si me pudieras decir dónde o si hay alguna web para comprar una electroválvula como esta, o en su defecto alguna semejante.
¡Muchas gracias de nuevo y si tengo alguna cuestión o consulta no dudaré en preguntare!
Yo compre dos en poolaria.com que fue donde mas baratas las encontré. Creo recordar que por unos 18 € mas portes.
Para hacer-lo con una electroválvula de pulsos seria mucho más sencillo?
Gracias
Creo que el montaje sería exactamente el mismo, aunque cambiando el transformador 220VAc a 24VAc por una pila de 9V, que es con lo que suelen funcionar las electroválvulas de pulsos. Además tendrías que llevar cuidado con la polaridad (conectar el positivo de la pila con el positivo de la electroválvula, y el otro pasarlo por el relé…). Y por supuesto que en lugar de mantener el pulso todo el tiempo que quieras tener abierta la electroválvula tendrías que mantenerlo solo momentáneamente para que la EV cambiará de estado (de abierta a cerrada o al contrario).
El montaje sería el mismo ya que si te fijas en los relés también funcionan para corriente de 10A y hasta 30V de corriente continua (como la que da una pila de 9V).
Buenos Dias !!! JoseMaría
Estoy intentando hacer algo similar a lo tuyo pero con electrovalvulas neumaticas + microcilindros neumáticos
Yo creo que me valdria tu esquema de construcción pero en mi caso habria que multiplicarlo por 14.
Lo que quiero hacer es un instrumento autómata: 14 microcilindros neumaticos golpeando 14 maderas (marimba).
Como es una interpretación musical, dependiendo del pasage, se tocan muchas notas en poco tiempo (un segundo). la duda que tengo es si el tiempo de respuesta o las latencias que me puedo encontrar en todo el tinglado (arduino + reles + electrovalvulas + microcilindros neumáticos) entorpeceran el natural discurrir de la melodía.
Saludos !!! Ignacio
Hola Ignacio, por mi experiencia te puedo decir que el tiempo que tarda en activarse el relé desde que la placa arduino manda la orden, es de microsegundos, vamos, que no hay latencia. Supongo que el problema lo tendrás en los cilindros neumáticos, en lo que tarde el líquido en hacer que el cilindro se mueva… Si necesitas una reacción más rápida, quizás podrías usar solenoides en lugar de electroválvulas y microcilindros.
Gracias por el comentario, espero haberte sido de ayuda y suerte con el proyecto 🙂
Necesito saber donde puedo conseguir el transformador que utilizaste
Hola Milton, el transformador lo compré en Leroy Merlin.
En el caso que quiera que la válvula abra o cierre mediante la altura solo seria modificar el codigo que escribiste? ¿como se Activaria La valvula en tu caso?
Lo que deberías cambiar es la linea if(Serial.available()…. por la condición que tu sistema necesite. ¿A que te refieres con eso de la altura?
Estoy haciendo un proyecto y lo que necesito que abra o cierre la valvula es la altura.
Por ejemplo cuando llegue a 60 cm se cierre la valvula
cuando este en 10 cm se abra
Y asi llenar un tanque o reservorio
Pues seria muy sencillo usando un sensor de ultrasonidos colocado dentro del deposito en la parte mas alta, y midiendo la distancia hasta el agua, y en caso de tener que abrir la electroválvula, se usaría algo parecido al código de mi ejemplo. En la web de Ardumania tienes un buen ejemplo de como calcular la distancia con un sensor de ultrasonidos.
Hola Jose, no necesitarias utilizar los dos relay? es decir, uno para abrir y el segundo para cerrar? Un saludo. FT2011
No hace falta, cuando activas el relé, deja pasar la corriente entre las dos cables que le hemos conectado (el central y el NO) y la electroválvula se pone a funcionar (se abre y permite el paso del agua). En cuanto desactivamos el relé, se corta el paso de corriente entre los dos cables y la electroválvula deja de funcionar (se cierra).
Funciona exactamente igual que un interruptor de luz de toda la vida, en una posición conecta dos cables y en la otra los desconecta.
Si te fijas en la ultima foto, el relé tiene tres ‘salidas’, en la central conectamos un cable, y otras dos, marcadas como NC (normalmente cerrado, que significa que con el relé sin activar, esta conexión esta conectada a la conexión central), y otra marcada como NO (normalmente abierta, que significa que con el relé sin activar, esta conexión NO esta conectada a la conexión central). Yo suelo usar la central y la NO, ya que solo quiero que los cables estén conectados cuando yo active el relé.
Con un multímetro puedes comprobar el funcionamiento muy fácilmente, comprobando si hay continuidad entre la salida central y las otras dos, cuando activas o desactivas el relé. Siempre habrá una conectada y la otra conectada.
Bom dia!
Estou fazendo um trabalho da faculdade, uma máquina de cerveja que será controlada por arduino e por sensores de temperatura, ela fará a cerveja no local específico da máquina, quando ficar pronta ela libera a cerveja para outro reservatório (válvula solenóide), não entendo muito de elétrica, você poderia me ajudar? Agradeço…
Ola Jose María gran trabajo,
Yo estaba haciendo algo parecido, me gustaria saber cual es el transformador que has utilizado. muchas gracias
Hola Fernando,
Pues al principio usaba uno generico que compre en el Leroy Merlin, pero hace poco lo cambie por uno para carril din, para colocarlo en una caja ‘de diferenciales’. El modelo concreto es este: http://www.ebay.es/itm/251310885727
Estoy bastante contento con él, no se calienta demasiado, y al poder colocarle directamente los cables a la entrada y a la salida, te ahorras el enchufe. El del Leroy Merlin era muy parecido a este: http://www.leroymerlin.es/fp/15129800/transformador-230/24v-signature
Lo mas curioso es que valen lo mismo, uno comprado aqui en España, y el otro (el de carril din, comprado en Alemania, y pagando 12€ de portes). Los dos funcionan muy bien, aunque el de carril din puede dar salida de 8Vac, 12Vac y 24Vac, es mas versatil.
Perfecto muchisimas gracias por tu contestación. La verdad esque Leroy Merilin me piya muy cerca de casa lo comprare esta semana
Tengo una consulta que hacerte, puesto que no soy muy experto en electronica me gustaria saber como conectar desde el enchufe hasta la electrovalvula, (tengo algo de miedo la verdad por posibles chispazos o que haga algo mal porque la electricidad es muy peligrosa)
tengo una electrovalvula Rainbird modelo ZX12100D, del transformador supongo que saldran dos cables uno a la electrovalvula y otro al rele como tu lo has explicado perfectamente. Pero en el caso de la de Leroy merlín como conecto el transoformador a la corriente de mi casa . ¿enchufe directamente? ¿y una vez conectado de la salida del transformador como saco los dos cables? ¿hay que pelarlos y empalmarlos a los de la valvula y rele?
Ahora mismo tengo este transofrmador pero tengo miedo de conectarlo ya que no va con enchufe y no se como hacerlo a la corriente
https://images-na.ssl-images-amazon.com/images/I/61mWCTFkOEL._SX522_.jpg
Muchas Gracias por todo Jose María
Lo primero: ese trasformador tiene una entrada de corriente alterna, y una doble salida de 24Vac, por tanto los cables rojos deben ser la entrada, que tendras que empalmar a un enchufe normal y enchufarlo. Sobre doble salida, hay dos opciones, o una la forman los dos amarillos y la otra los dos negros, y amarillo y negro. Deberias comprobarlo con un multimetro antes de hacer la conexion, comprobando que pareja de cables te da 24Vac.
Personalmente, no me gustan los trasformadores descubiertos como ese, ya que con el mas minimo roce, de algo metalico podemos armar una buena…
La forma de conectarlo a la electrovalvula es muy simple: dado que es corriente alterna, da igual como lo conectes, no hay al derecho o al reves.
Sobre el trasformador del Leroy Merlin: salen dos cables que tienes que empalmar segun el esquema de arriba. Yo te recomendaria llevar los cables hasta la electrovalvula, y hacer el empalme dentro de una caja estanca, meter los cables que salen de la electrovalvula y los del trasformador dentro con un prensaestopas y hacer el montaje dentro de la caja, para que no les llegue la humedad.
Espero que te sirva la aclaracion 🙂
Muchsimas gracias, asi da gusto.
Lo probare haber que tal el de Leroy Merlin como tu me has dicho
Un saludo José María
Gracias a ti por los comentarios y por el interes,
un saludo! 🙂
Hola Jose María compre el transformador que me recomendaste y la verdad funciona perfecto, y ya e instalado el sistema y he creado un programa que en un intervalo de tiempo active la valvula.
Pero tengo un problema, no lo e probado con agua por si acaso sino que solo e instalado el circuito electronico, como el que tu diseñaste con rele (lo unico que no e puesto es un condensador porque no encontraba)
El resultado es que en el instante que se tiene que activar la electrovalvula, se escucha el motor de la electrovalvula funcionando el tiempo que le e programado sin embargo por los orifcios de la RainBird (la misma que usas tu, aunque tambien lo e probado con otra con mismos resultados), no se ve cambio alguno por los orificios. A si que no se si se debe abrir algo o solo con el sonido al conectarle la manguera funcionaría me gustaría que me dijeras que cambios apreciaste tu cuando le envias un uno a la electrovalvula o qque puedo estar haciendo mal.
Un saludo, gracias de antemano
ten en cuenta que para que la electrovalvula deje pasa el agua necesita que entre agua por una parte para que la membrana interna que lleva se muev y se abra el flujo. Si no la tienes conectada al agua, el solenoide dejara pasar aire, que no es suficiente para que se abra internamente. En la wikipedia (https://es.wikipedia.org/wiki/Electrov%C3%A1lvula) hay un esquema de como funciona, por diferencias de presion de agua. Tambien tienes videos en youtube donde se ve como hacen su ‘magia’. No se vera como en una llave de paso manual, que miras por un extremo y se ve el otro extremo.
Tambien te tengo que decir, por experiencia propia, que es posible que al abrirse la electrovalvula, de una especie de latigazo (yo las tengo puestas con abrazaderas para que no se muevan) y tambien es posible que tarden unos segundos en dejar pasar el agua y en cortar el paso, desde que le mandas la orden con arduino.
Otra cosa, sobre el condensador; si tienes el sistema conectado por USB, cada vez que hagas una conexion con el ordenador y el arduino funcionando, te hara un reset del arduino. Normalmente esto implica un reset de la placa de reles, dependiendo de como tengas tu codigo, de ahi que el condensador evite el ‘autoreset on usb connection’. En el sistema que tengo en produccion desde hace dos años casi, uso una placa ethernet para acceder al sistema, y no tengo el problema del autoreset.
Por cierto, no tengas miedo y enchufale una manguera. Yo llegue a hacer pruebas en la cocina de casa, pero, shhhh que no se entere la parientaaaaa 🙂
Jajajaja muchsimas gracias una vez mas la frase «Si no la tienes conectada al agua, el solenoide dejara pasar aire, que no es suficiente para que se abra internamente.» creo que has dado con la tecla, ahora lo entiendo.
Mañana comprare los conectores y le conecto la manguera y ya t digo qque tal funciona
Un saludo muchas gracias
Muy interesante todo José María. Se podrá adaptar esto con un relay de 4 canales y usar uno para arrancar una bomba de 2.5 HP / 220V y los 3 restantes para 3 electrovalvulas? Podré arrancar la bomba? Gracias
Agrego info: La bomba es la Bc25 200, de 2 HP, esta es la hoja tecnica de la bomba: http://www.motorarg.com.ar/website/hojas%20tecnicas/motorarg/superficie/BC25.pdf
Pues habría que probarlo. Todo depende del consumo y la potencia de la bomba. Los relés están pensados para controlar pequeñas potencias, y los contactores para altas potencias. Tendrías que fijarte bien en la potencia que permiten controlar los relés de estas placas. El problema que suelen tener los aparatos con motores es que en su arranque tienen pico de consumo que podría acabar con la placa de relés. Por eso te decía que habría que probarlo y si fallase buscar una solución con un contactor .
Los relés SONGLE que llevan las placas como la que utilizo en esta entrada están pensados para un consumo máximo de 10A de corriente. Según la hoja de características que comentas, uno de las dos bombas BC25 200 puede llegar a consumir 9.5A, personalmente veo la placa pasando a mejor vida a corto plazo, pero claro, habría que probarlo (supongo que no sera el mismo consumo continuado si estas sacando agua de un pozo a 10m que si la sacas de una balsa o bidón a ras de suelo…). Por el coste que tiene un arduino y una placa de relés de este tipo, yo lo probaría; en el peor de los casos, se estropearía el relé y ya está. Si lo que quieres es algo fiable: usa un contactor.
Ahh, se me olvidaba: para activar el contactor y aislarte completamente de la corriente que pase por el mismo, se puede usar un relé (una placa como la de la entrada seria ideal, con optoacoplador y rele estarias totalmente aislado). Hay muchos montajes con arduino en la red por si te interesa esa posibilidad 🙂
Gracias por la respuesta! Será mejor con un contactor, tienens toda la razón. Saludos!
Hola Jose Maria, tomando como base tu circuito me gustaria saber como se le podria acoplar un sensor ultrasonico o ir para cuando uso se acerque se active la electrovalvula, la idea es para automatizar un mingitorio. Gracias
Si lo que vas a usar es algo como el sensor SR04 para medir distancias por ultrasonidos, tendrias que activar el rele cuando la distancia fuera inferior a cierto valor (lo que indicaria que hay alguien cerca). Algo asi como:
distancia=leerDistancia();
if(distancia menor que X) -> activarRele()
Hola Jose, soy nueva en Arduino y tengo que desarrollar un trabajo para la Universidad que incluye una electroválvula y una bomba de agua y me surgió una duda. Si yo conecto mi Arduino a la red de luz ( a través de un adaptador de 220V a 9v) y conecto la bomba y la electroválvula a dos reles que estarían en una protoboard, en ese caso ¿es necesario que también conecte tanto la bomba como la electroválvula a un transformador o a una batería propia?
Desde ya muchas gracias por tu buena explicación.
hola, soy una estudiante de telecomunicaciones y quería saber para un proyecto como hacer que la electrovalvula funcione con una aplicación vía bluetooth, así con solo los botones de la app se pueda abrir y cerrar, por favor podrías ayudarme??
hola!, yo estoy haciendo un proyecto casi igual al tuyo, solo que quiero que este pare a una distancia determinada con un sensor de ultrasonido, podrías ayudarme?, no se muy bien como hacerlo