Automatización de grupo electrógeno

Hola!

Mi nombre es Daniel, soy de Buenos Aires y este es mi primer mensaje al
foro.

Les escribo porque tengo ganas de comprarme un grupo electrógeno
hogareño (o sea, no industrial) para casa y a raíz de eso estuve pensando
en automatizarlo con Arduino, lo cual creo que puede ser un proyecto
más que interesante.

Supongo que esto se podría hacer con un PLC (aunque tal vez no por lo
que más adelante digo sobre monitorizarlo con Nagios), pero esto creo
que sería una alternativa muy costosa, por lo que pensé que tal vez, si es
posible, podría reemplezarse el dispositivo de control por un Arduino.

Creo que tengo la lógica de conexionado armada, pero me quedaría
analizar como llevar esta lógica de conexionado al modelo real en que
estarían conectados físicamente cada componente del proyecto con los
elementos intermedios necesarios.

Entonces tendríamos al Arduino siendo alimentado por la UPS, la cual
recibe la tensión de línea (220 V). Cuando haya una interrupción del
suministro eléctrico, la UPS entra en modo «Batería», alimentando al
Arduino, el que controla en todo momento la diferencia de potencial de
la línea. Si la diferencia de potencial es cero, activa el grupo
electrógeno. En caso de encontrarla con un valor mayor que cero,
desactiva el grupo electrógeno.

A su vez, el grupo electrógeno se encuentra también conectado a la misma
línea de alimentación, para proveer de energía eléctrica a la entrada de
la UPS. Aquí no estoy seguro si habría que conectar algún elemento
intermedio entre el grupo electrógeno y la línea para asegurar que la
corriente eléctrica fluya solo en el sentido desde el grupo a la línea
por si:

a) en el caso en que el grupo electrógeno esté apagado, la corriente
entrante desde la línea en lo que sería la salida del grupo podría
llegar a provocarle algún daño.

b) en el caso que se restituya el suministro eléctrico y durante el
intervalo de tiempo que el grupo electrógeno se encuentre encendido,
el encuentro de la corriente entrante de la línea con la suministrada
por el grupo pudiera llegar a provocar algún daño en la instalación
eléctrica.

Tal vez colocando algún dispositivo eléctrico en la línea, antes de que
el grupo electrógeno se conecte a ella, de manera tal que interrumpa la
corriente proveniente de la línea mientras el grupo electrógeno se
encuentre prendido se puedan evitar los potenciales problemas que
pudieran darse por a) y por b).

Todo esta problemática solo tendría sentido resolverla si hay alguna
manera de interconectar el grupo electrógeno hogareño al Arduino. Por lo
que estuve investigando, aquellos que no tienen arranque automático
permiten prenderse a través de una llave o un pulsador. No se si vendrán
con otro mecanismo alternativo. El tema sería ver cómo cambiar ese
mecanismo manual por una forma donde la activación/desactivación la haga
el propio Arduino.

Por otra parte, para tener un control más completo, también pensaba en
que el Arduino realice la monitorización del nivel de carga del tanque
del grupo electrógeno. Acá el tema es por dónde meter el sensor en el
tanque, en el caso que realmente sea necesario que el sensor esté
adentro, ya que el tanque debería estar siempre cerrado o tapado.
Aunque me parece haber leído hace algún tiempo que existen sensores
que permiten medir niveles de manera externa (¿sensores capacitivos?).
Además, creo que cuanto más aislado esté el sensor eléctrico del
combustible, mejor será por un tema de seguridad.

Este Arduino estaría conectado de alguna manera a una computadora que
realice la monitorización usando Nagios [1] para que este envíe un
mensaje sobre el estado de nivel del tanque como así también de si el
grupo electrógeno está prendido o no.

Para automatizar completamente todo este circuito y hacer que el grupo
electrógeno se prenda una vez a la semana, se me ocurre que tal vez se
podría armar un script que se ejecute con crond en la computadora que
esté conectada al Arduino, de manera tal que ese script envie una órden
de encendido al grupo durante un corto período de tiempo a cierta hora
de un determinado día de la semana para que el grupo se prenda por
mantenimiento, pero bueno... esto ya sería la frutilla de la torta :smiley:
Por eso no lo agregué en el gráfico que adjunto.

¿Todo esto que comentaba es posible realizarlo o estoy desvariando
mucho? :slight_smile:

Desde ya, les agradezco por el tiempo que hayan dedicado a leer este
mensaje.

[1] http://www.nagios.org/

Pues si, es largo pero lo he leido XD

Claro que puedes hacer eso que quieres con arduino y ademas te voy a dar dos opciones que son mas economicas que nagios:

La primera es MangoM2M de serotonin software. Hasta el 2012 era opensource, se que cambiaron y no te puedo asegurar que el nuevo sea opensource pero el enlace que te dejo era eso, open y free:
http://mango.serotoninsoftware.com/

La otra es PandoraFMS otro sistema monitor open y free (aunque tambien tiene version enterprise) muchos hablan de PandoraFMS mejor que de nagios:

Se me olvidaba, seria interesante emplearas un protocolo modbus, tendrias un sistema estandar industrial lo que no te puedo es aconsejar un server porque precisamente me encuentro buscando opciones ahora mismo.

En arduino ya existe implementada la libreria modbus, esta en el playground.

Hola, Heke! Gracias por responder!

Pues sí, es un poco largo leerlo y admito que puede dar algo de fiaca
(pereza) el solo ver esa parrafada (jajaja), pero bueno... quería que se
entendiera cual era la idea :slight_smile:

No conocía el protocolo Modbus. Lo estuve investigando en Wikipedia y
veo que es para comunicación serial con un PLC. Igual me decías que está
implementado también para arduino, así que lo voy a investigar. Creo que
esto de sensar con Nagios lo iba a dejar como fase final. Mi idea era
conectar al Arduino por serie o por red a un servidor que de alguna
manera pudiera comprobar los niveles de carga del tanque y si el grupo
se encontrase o no prendido consultándoselo al Arduino.

Con respecto a Nagios, es un sistema de monitorización libre. De hecho,
lo vengo usando aquí en casa hace algunos años y actualmente tengo bajo
él a 14 hosts y 72 servicios. Pero hay otras versiones que sí son pagas,
como podemos ver en este [1] enlace.

Esta es la primera vez que estoy incursionando en Arduino, pero, luego
de habérmelo planteado, creo que este proyecto incluye varios elementos
muy interesantes sobre los que aprender y poder implementar un esquema
de automatización.

Creo que los dos puntos iniciales a tener en cuenta relacionados con el
grupo electrógeno en sí es cómo hacer que el arduino pueda activar y
desactivarlo en base a los valores de diferencia de potencial
monitorizados. ¿Para que esto sea posible el grupo electrógeno debe
admitir encendido electrónico? Me comentaron que si el sistema de
arranque se basa en un pulsador, sería tan simple como agregar un relé
para simular la presión del pulsador. Estuve viendo algunos ejemplos
donde presentan como usar un relé con Arduino para, por ejemplo, prender
una lámpara conectada a la línea [2] pero en este caso me parece que ese
circuito no me vale porque para este caso debería automatizar la presión
del pulsador (o el mecanismo que se use con el encendido electrónico) y
el arduino estaría conectado a la UPS.

El otro punto a tener en cuenta sería el de la «contracorriente» (por
llamarla de alguna manera) generada por lo que comentaba en los puntos
a) y b) del mensaje anterior, por si esto podría ocasionar algún daño en
la red eléctrica o en el mismo grupo electrógeno. De ser este el caso,
¿tendía que colocar, como decía, algún elemento que deshabilite el
pasaje de corriente cuando el grupo se encuentre encendido?

Relacionado con la monitorización de la diferencia de potencial de la
línea, ¿cuál sería la forma más sencilla de poder implementarlo?

Gracias de nuevo por responder y por tu tiempo.

Saludos,
Daniel

[1] Nagios Core - Nagios
[2] http://www.arduino.cc/es_old/Tutoriales/Rele

Hola de nuevo!

Estuve armando la parte que haría la conmutación entre la alimentación de línea y por el grupo. Les dejo el diagrama con lo que estuve pensando para que me digan si estoy bien orientado. Más allá de la apreciación general que me puedan dar, me cabe la duda si la conexión que marqué con la circunferencia en línea de trazo está bien hecha.

Gracias anticipadas por responder.

Saludos,
Daniel

Hola,
creo que lo primero es evitar que se junten tensiones de línea externa y generador. Para eso tendrías que poner un relé de 220V (y amperaje máximo que tengas en casa) que conmute la línea doméstica ya a la línea externa, ya al generador (con imposibilidad de juntarse ambos). Este relé estaría normalmente en reposo (conectando línea externa). Cuando hubiera un corte de luz, Arduino lo detectaría, y activaría el relé para que conectara la casa a la línea del generador. Para el sensor del Arduino, tendrías que tener una conexión de línea externa sin que pasara por el relé. Cuando volviera la tensión en la línea externa, Arduino cortaría desactivaría el relé, conectando la casa a la línea externa. Con la conmutación suprimirías los sistemas de seguridad (diferencial, magnetotérmico), habría que pensar en cómo solucionar.

Necesito saber si han concluido con este proyecto, para ver si podemos intercambiar ideas. yo ya hice uno. digo para intercambiar.

Buenas.les traigo ideas por partes, tengo el sistema en mi cabeza hace años al principio con 555 y funciono ahora por falta de efectivo solo en ideas pero se las comparto

Sensado de Red

Para el tema del sensado de tension con un simple puente rectificador y un divisor resistivo alcanza.
no olvides poner una rutina para sensar y dar un tiempo de 2minutos minimo por falsos cortes o microcortes para no encender el grupo a cada rato sin ser necesario.

De Arduino al Grupo

interfaz con el grupo generalmente en grupos nafteros hogareños necesitas 3 reles, un solenoide y un sensor Hall para las rpm del equipo.
un rele conecta la alimentación del avr después de encendido(no todos lo hacen automático) un rele para manejar la llave de encendido y el otro para el pulsador de start. y con el solenoide lo pones en modo cebador, o estrangulador de aire para inicio.

pasado eso tienes que conectar el sensor hall para detectar rpm si sobrepasa las 500 desconectas el start y el cebador que vuelva a su posición normal, puedes programarte 5 ciclos de encendido y mensaje de error o alarma como los industrializados.

Selector Grupo o RED

como idea les traigo la del uso de contactares, son como reles pero en el ambito de 220 o industriales por asi decirlo, necesitarías 2 con enclava-miento mecánico, significa que loos 2 contactores no se pueden activar al mismo tiempo o uno o el otro.

hoy a la tarde me bajo el fritzing y les dejo un esquema

Cuando respondas un post si el editor te advierte que lleva mas de 120 dias por favor no lo respondas.
Crea un post nuevo y hazlo TU PROYECTO porque queda descolgdo.

Mira las fechas de las últimas respuestas 2013 y 2014.

es que no llevaba 120 solo 118 dias por eso no me advirtió yo solo queria dar mi ayuda.

Como que no ... si te basas en el último mensaje, solo pide saber si alguien obtuvo resultados. No cuenta.
El cometió el error que te hago ver a vos.
De todos modos si te interesa el tema, hazlo un tema de hardware o un proyecto tuyo y menciónalo.

Hola @ShanoQuintero, esto ocurre porque no has leído las normas de este foro y para peor no prestaste atención a la advertencia que te decía que no revivas un hilo viejo 2015 para consultar algo.
Lo que debes hacer luego de leer las normas es crear un hilo prestando atención a las consideraciónes aquí dichas.
Lee las normas que te paso por privado pero el 1er hilo de cada sección tienen una copia de las mismas.
Este hilo permanecerá cerrado de aquí en mas.
Y si lees el autor dice Guest (invitado) que traducido quiere decir que se auto dio de baja.