Go Down

Topic: Les muestro mi control para cámara de refrigeración!!! +2 Videos! (Read 1 time) previous topic - next topic

AlexLPD

EXTRACTO:

En el presente les muestro como fabrique mi tablero de control para una cámara de refrigeración, explico breve mente sus funciones y les dejare un vinculo con un video en breve.

Nota: El post es mermente informativo, puede ser algo largo, pero los invito a leerlo puede que se ahorren muchos dolores de cabeza :).


INTRODUCCION;

Hola buen día, como algunos de ustedes sabrán, me dedico a la refrigeración industrial y comercial, y dentro de este tipo de trabajo he tenido la suerte de aplicar en varias ocasiones soluciones a medida de varios tipos, últimamente usando microcontroladores, en este caso nuestro tan amado Arduino.

Una camara de refrigeración consta de dos partes principales:
La condensadora (la maquina que siempre esta en el exterior) y
La evaporadora (los ventiladores que sacan el frio en el cuarto en cuestión)

Idealmente, le pedimos a nuestra camara una temperatura, (setpoint), si la temperatura dentro del cuarto es superior al setpoint, se enciende la maquina y por medio del sistema de refrigeración  baja la temperatura, una vez que llega al setpoint se apaga, y permanece apagada hasta que la temperatura vuelve a subir a el limite superior (o lo que es lo mismo setpoint + histerisis)

La histerisis, es la cantidad de grados C entre el setpoint (limite inferior) y el limite superior.
Ejemplo, setpoint 5°C, histerisis de 4° : Limite inferior o paro: 5, limite superior o encendido 9.

Pero, ya existen aparatos comerciales que hacen eso, correcto.

¿Por que diseñar un control para esta aplicación en especifico?

1.- Calidad.-
Este control esta desarrollado para mantener la carne de res y de cerdo en las mejores condiciones posibles, controlando variables como; temperatura, humedad, ciclo de ventilación y ciclo de deshielo.


2.-Mayor eficiencia energética.-
Durante la madrugada la tarifa electrica es mas baja, por lo que aprovechamos eso y el hecho de que las puertas permanezcan cerradas para bajar mas el set point.

3.- Facilidad de uso.-
Menu cien por ciento configurable, en idioma español, no requiere pc o programador.
Lenguaje hombre, no es necesario una tabla o un manual para saber que es cada parámetro.



DESCRIPCION:


Bueno, como dije en un incio, el diagrama general de control son dos partes, ahora ahondaremos mas en esto y veremos que tenemos mas partes para controlar y sus funciones especificas.

Comenzare por una descripción del evaporador:


Como se puede ver, consta de 4 motorores y una valvula solenoide, (ademas de resistencias para el deshielo, las cuales no se muestran aquí).

Ahora, un diagrama de escalera, para mostrar donde estamos y que estas controlando:



Aqui se muestran los motores y las resistencias, ademas de la valvula solenoide.

Por orden de ideas, mostremos el estado del sistema cuando estamos enfriando:



Podemos observar que tenemos todos los ventiladores funcionando y la válvula solenoide (ademas claro de la unidad condensadora)

Mostremos entonces cuando la unidad se encuentra en ventilación:



En este modo, encendemos solo un ventilador de los cuatro disponibles.
La razón?
Al tener encendido solo un ventilador, se disminuye considerablemente la cantidad de aire "venteando" la carne, por lo que en un periodo de días, esta muestra menos síntomas de resequedad, o daño por viento.
Cabe mencionar que el sistema enciende en orden los ventiladores para provocar un desgaste parejo de todos: 1, después encenderá el 2 y así sucesivamente hasta completar los 4, después vuelve a inciar con el primero.


Ahora pasemos a ver el sistema cuando esta en modo de deshielo, sin sorpresas hasta ahora;



Este metodo es usado solo una vez por dia, para calentar el evaporador y derretir cualquier condensación congelada que haya quedado dentro del mismo.


Hasta el momento sencillo verdad?
espero que hasta este punto, los conceptos que describo sean fácilmente comprehensible.

En breve profundizare mas sobre el sistema, y por que tomarme todo este rollo, cuando aparentemente puedo hacerlo usando un control comercial?

Respuesta corta.- lo que vamos a hacer aquí, no se puede hacer con un control comercial, sin involucrar al menos un PLC, y varios hardware mas.

Saludos.
-Alex.


17/01/2019
Bueno, retomando el tema donde me quede ayer, les comparto fotos del hardware que fabrique para este controlador, algunas son mucho mas descriptivas que otras, y hare algunas recomendaciones durante el proceso, en caso de que alguien necesite hacer algo similar.

Bueno, no tengo mucha fotos de las pruebas que hice solo con la protoboard, pero lo primero una vez que el sabiamos a totalidad lo que se iba a necesitar controlar, es el tema de hacer un shield para el controlador, estoy usando un arduino Mega 2560, facil de adquirir, en caso de que le pase algo, y el shield en teoría lo protegerá de la mayoría de problemas. 

Así que a diseñar la PCB:




Me ceñí a un tamaño de PCB de 10 x 15cm, por que apenas me caben las cosas en una sola cara, y para no tener que recortar nada XD.

La verdad que me costo algo de trabajo realizar las primeras pruebas de PCB, hy muchos tutoriales afuera, pero a mi en este caso lo que realmente me funciono fue;
1.- Imprimir mi negativo en una hoja de revista
2.- Limpiar bastante bien la PCB, darle una lijadita con una lija de grano muy fino u usar alcohol isopropilico para quitarle toda la grasa que pudiera haber quedado.
3.- Use una plancha común, la puse en lo mas caliente (Después mido la temperatura y hacemos una tablita de lo que funciona mejor)
4.- Mantener presionando y caliente por al rededor de 5 Minutos...
5.- Dejar enfriar la pcb... meterla en una tinita con agua para esperar que el papel se ablande y quitarlo, usando la mano o un cepilllo suave.

Hay mucho espacio de mejora en este aspecto y poco a poco ire profundizando mas, realmente se pueden hacer cosas muy intersantes a nivel DIY. Si ya se que hay fabricas y que no son caras, pero al menos me gusta mucho esta parte del Hobby.

Bueno, les dejo unas fotitos;


Aqui esta el diseño de la PCB, con la placa ya limpia, lista para ser transferida.




Aqui podemos ver, como queda pegado el diseño a la PCB, enontre algunos videos en los que el tonner mismo servia para adherir la pcb, por desgracia a mi nunca me funcionaron, asi que use algo de cinta para enmascar y listo. (Usen una plancha que no sea la suya esta cinta genera residuos).



Aquí esta el resultado de la transferencia, como se puede ver, hubo algunos daños, en la parte superior, use un plumón para terminarle, pero la verdad fue falta de paciencia, si hubiera dejado mas tiempo el papel en el agua esto no habría pasado. XD.



Bueno sin mas, vamos al ácido... este proceso fue relativamente rápido, ya que ell ácido estaba nuevecito, ayuda mucho estarlo agitando levemente.



Y aquí tenemos la placa ya enjuagada, como pueden ver nada mal para un novato XD.


Finalmente tenemos el montaje de la placa.  Buscare mas fotos por ahi, pero no estoy seguro de tenerlas.






victorjam

Me gustan este tipo de proyectos: cosas realmente "utiles". Y tiene buena pinta. A ver como lo has desarrollado y como has solucionado los posibles problemas.

surbyte

Lleva algun tiempo con este proyecto.

Ahora muestra el trabajo terminado versión vaya a saber uno pero desde un comienzo anduvo bien si mal recuero.
Deberías @AlexLPD agregar tus enlaces iniciales con los problemas que se te fueron presentando para que el lector vea qué escollos tuviste que superar.

AlexLPD

Lleva algun tiempo con este proyecto.

Ahora muestra el trabajo terminado versión vaya a saber uno pero desde un comienzo anduvo bien si mal recuero.
Deberías @AlexLPD agregar tus enlaces iniciales con los problemas que se te fueron presentando para que el lector vea qué escollos tuviste que superar.

Hola! cuanto gusto >Surbyte, efectivamente me llevo un buen tiempo desarrollar este proyecto, pero no es igual al que te habia comentado, pero tienes razón en algo enlazare el post y quizás haga un hilo comparando las diferencias entre uno y entre otro, ya que son bastantes, y alguno de nuestros avisados  lectores les puedo ahorrar algún tiempo.

Esperare que me den sus puntos de vista y comentarios, ya saben que me gusta la retroalimentación de nivel.

victorjam

A ver que cosas veo:

La pcb que muestras das muy poca información. La captura de pantalla no tienes el montaje del rtc y faltan pistas por poner. El programa veo que es Eagle, pero que método has utilizado para realizarla (a mano alzada, plancha, fotosensible, ...???)

Usas de base un "triplay de 3mm". No sé lo qué es  ¿madera de contrachapado? Es lo que me parece en las fotos. Si es asi solo comentar que no me gusta la idea, es como añadir leña al fuego. Eso si reconozco que para trabajar es mucho más fácil que una chapa de acero y mas ligero.

¿El display i2c se comporta bien cuando se pone en marcha los motores/solenoides?. No veo que sea muy largo el cable, pero en un par de pruebas que hice yo me daba guerra el display.

Veo en la placa que utilizas dos NTC. ¿Por que NTC y no otro tipo de sensor de temperatura más preciso? Vale, vale, precio... ¿algún otro?

AlexLPD

En cuanto al hardware verdadero, comencé comprando un tablero de plastico, le hice una base de triplay de 3mm al tamaño de las paredes internas y me asegure de que entrara correctamente, después comencé a fijar las cosas:



Bueno, les muestro cuando el tablero ya esta armado, esta es la parte inferior, por motivos de espacio lo puse en dos niveles, el primero es para colocar todos los relevadores de estado solido, y el cable de control, la pastilla termica general y la fuente de poder.



NOTA IMPORTANTE:
Por experiencia en este tipo de cosas, no les recomiendo que usen un wall-wart o un eliminador sencillo, aparentemente las cosas pueden ir muy bien un rato, pero este tipo de fuentes rara vez tienen inmunidad al ruido electrico lo cual es bastante malo para nuestro micro.- Pueden hacer que se congele en una parte indebida del programa, que se reinicie constantemente, o lo peor, llegar a dañar el boot y volver inoperante el control, vale mas invertirle en la fuente.

Aca otra foto del primer nivel:



Las cosas blancas en la base, son clemas de control, se usan para terminar completamente el cableado del control en el taller, y solo llegar a obra a interconectar los cables necesarios,

Bonus: se ve mas pro
Mas bonus se organiza todo mas a todo dar.




Así se ve el primer nivel ya terminado;



Y bueno, por fin les muestro como quedo el shield montado en el gabinete;



Aca otra toma;




El shield y el arduino están montados en una base de acrílico, por que; es plástico 100% aislante, lo pueden cortar y pegar con relativa facilidad y le da un soporte mecánico a la estructura de la electronica aislándola de todos los elementos mecánicos.

use cable de control cal. 18, en colores, he identifique cada punta con un termofit de diferente color, para poder en caso de ser necesario identificar que va a cada cosa después.

Aquí va una imagen de el tablero encendido, lo siento estaba cambiando de números y se ve así, pero les aseguro que se ve muy bien.
(mas sobre los números enormes en otro post, eso por si solo es un gran trabajo)





Lo se, lo se, es un trabajo de absolute class. No tienen que decírmelo (Pero igual díganlo sin miedo).

Y aquí podemos ver como se ve el tablero completamente tapado:

Posteriormente le agregare unos leds indicadores de cada estado y algunos detalles mas. XD



AlexLPD

A ver que cosas veo:

La pcb que muestras das muy poca información. La captura de pantalla no tienes el montaje del rtc y faltan pistas por poner. El programa veo que es Eagle, pero que método has utilizado para realizarla (a mano alzada, plancha, fotosensible, ...???)

Usas de base un "triplay de 3mm". No sé lo qué es  ¿madera de contrachapado? Es lo que me parece en las fotos. Si es asi solo comentar que no me gusta la idea, es como añadir leña al fuego. Eso si reconozco que para trabajar es mucho más fácil que una chapa de acero y mas ligero.

¿El display i2c se comporta bien cuando se pone en marcha los motores/solenoides?. No veo que sea muy largo el cable, pero en un par de pruebas que hice yo me daba guerra el display.

Veo en la placa que utilizas dos NTC. ¿Por que NTC y no otro tipo de sensor de temperatura más preciso? Vale, vale, precio... ¿algún otro?
Excelentes preguntas, pero para ser justo con los amigos lectores, que te parece si eleboro un poco mas en cada una de ellas? asi toda la experiencia adquiria les servira a muchas mas personas.

Se viene un video sobre el menu de la maquina, que es a lo mar de importante, esten atentos!

Saludos.
-Alex.

victorjam

Quote
La verdad que me costo algo de trabajo realizar las primeras pruebas de PCB, hy muchos tutoriales afuera, pero a mi en este caso lo que realmente me funciono fue;
1.- Imprimir mi negativo en una hoja de revista
2.- Limpiar bastante bien la PCB, darle una lijadita con una lija de grano muy fino u usar alcohol isopropilico para quitarle toda la grasa que pudiera haber quedado.
3.- Use una plancha común, la puse en lo mas caliente (Después mido la temperatura y hacemos una tablita de lo que funciona mejor)
4.- Mantener presionando y caliente por al rededor de 5 Minutos...
5.- Dejar enfriar la pcb... meterla en una tinita con agua para esperar que el papel se ablande y quitarlo, usando la mano o un cepilllo suave.
Curiosamente, misma técnica, distinta metodo:

1.- Imprimir en un folleto de publicidad.
2.- La limpio con "lana de acero".
3.- La plancha siempre en lo mas caliente.
4.- Mantengo presionando alrededor de medio minuto. Luego "plancho" el papel, muevo la plancha por todas partes, pero insisto más en los bordes para que no ocurra eso que te ha pasado a ti. No hay tiempo fijo de planchado, espero a que las pistas se aprecien bien en el papel, casi que se vean a través de este.
5.- Lo enfrío en agua hasta que está arrugado, lo quito y con el dedo lo que no sale.

De momento es la forma en la que las hago, hasta que le pille el truquillo a la CNC, después ya veremos.

Por cierto, ¿la pcb es blanca?, curioso, nunca la habia visto de ese color.

AlexLPD

Bueno como menciono @Surbyte, he estado haciendo esto por un tiempo, y antes que nada agradecerle todas las ocasiones que me ha ayudado, en realidad me ha guiado en un camino correcto, y ahora quiero compartirles y documentar esta experiencia para todos ustedes.  
Así que vamos a enlazarnos un poco al pasado y ver que es lo que se ha hecho:

Mi primer control de cámara de refrigeración con Arduino;
Creo que este es mi primer post al respecto, si lo visitan podrán ver que la idea ha evolucionado muchisimo, y de nuevo veran que Surbyte ha estado ahi todo el timpo XD:
http://forum.arduino.cc/index.php?topic=318834.5

Aquí algunas fotos:


"Este fue mi primer tablero de este tipo, notese el tamaño de los numero que indican la temperatura"




"Este es el interior del tablero, me da cosa verlo ahora XD"


Problemas encontrados:
*El programa se congelaba algunas veces, y la temperatura se iba a congelación.
*La LCD mostraba símbolos raros o simplemente no mostraba nada.
*Un mal manejo de cables.
*El uso de reveladores mecánicos + snubbers para el control de cargas


Diferencias contra el actual:
Relevadores mecanicos - Relevadores de estado solido
Wall wart en la alimentacion - fuente profesional
Manejo correcto de cables.

Este nuevo tablero es 100% estable, no se congela, no se reinica, la pantalla no le pasa nada, no hay necesidad de nada excepto de conectarlo, ya tiene  un periodo de 6 meses trabajando sin UN SOLO PROBLEMA!

Como se resolvieron los problemas;


¿Por que mi LCD se borra?
¿Por que se congela el programa?
¿Por que tengo que estarlo reiniciando?

Bueno, en una respuesta corta; RUIDO ELECTRICO
El ruido electrico esta presente siempre en toda instalación, y es mayor en la industria, ademas de que hay ciertas piezas que lo generan mas; contactores, motores, bobinas inductivas.

En este viejo hilo, discutimos como corregir algunos de esos problemas;


"A partir del post Num 29"


Mas sobre el ruido electrico aqui;

"Mas sobre el Ruido electrico"


La descripción del problema y el pedido de ayuda (En ingles)


Aca hablamos mas de lo mismo: (En ingles) ¿Por que se congela mi arduino?


Hay dos maneras en las que el ruido te puede afectar a tu MCU:
-> La entrada:
Es decir a través de la fuente de alimentación

-> Los pines:
Cualquier pin del MCU, ya sea una entrada o salida, que este conectado al mundo real, puede y estará sujeto al ruido electrico.

La entrada;

Lo mas facíl es para estos casos, dejarse de cosas, y comprar una buena fuente de alimentación, es importante que en la etiqueta diga: EMI filter, o EMI supression.

Esto nos indica que tiene una serie de filtros (como los descritos en los otros hilos) para evitar la entrada de picos de voltaje, o transitorios en la línea.


Los pines:
Aqui, en gustos se rompen generos y uno puede usar muchas maneras;
- Transistores.
- Mosfets
- IC dedicados
- Un array de diodos especificos.
- Optoacopladores
- Una combianción de los anteriores.

Yo personalmente opte por copiar lo que hace la industria:
 Les mostrare un control que opera 12.5HP + 12.5HP + 5HP + 4HP y nunca tiene problemas.


"Una Tablilla de control electrico que controla en conjunto 120Amps"



"Detalle de una sola carga"



"Detalle de el IC de protección"


Aca pueden leer que llegamos a la misma conclusion;

"Incluye diagramas y se discuten otras opciones (En Ingles)"


Entonces, ya tienes resultas las dos cosas: sin ruido en la entrada y en la salida, hare otro hilo sobre el sensor, que es y por que, ademas de como usarlo, ya que un thermistor tiene su chiste.

Viendo esto, va quedando muy organizado, hasta parece manual de carrera.

Saludos.
-Alex.

victorjam

La verdad es que veo un fallo en la explicación, que puede dar origen a confusiones, al menos yo me confundí: usar "entrada" para referirse a la alimentación. Cuando uno ve entrada simplemente se imagina los pines del Arduino de E/S. El problema del ruido eléctrico yo siempre lo enfoco en tres partes: alimentación, entradas analógicas/digitales, salidas. Por lo demás todo correcto.

Y sigo haciendo preguntas, perdón por el coñazo, pero así se aprende...

En el tablero usas está fuente:



Y luego observando veo que tienes un adaptador a DC-Jack:



¿Ese DCJack es del Arduino Mega?

AlexLPD

Así es, la funte es de tipo industrial, viene pensada para un ambiente industrial y claramente dice que tiene filtros EMI.

Es muy importante tener algo así en la entrada de voltaje, para evitar que pueda darte un pico de voltaje que mande todo a la mala.

y en efecto, uso un DC jack, por que es una manera económica y practica, si algún día necesito cambiar el procesador (Cosa que ya estoy pensando, ya que pienso agregarle capacidades de wifi a mi control). Simplemente lo quitas y puedes quitar el mega, o el Shield.

También hay proyectos en los que tienes varios voltajes 5VCD, 12VCD, 24VCD y 127VAC 220VAC y en estos casos, es útil que las conexiones sean lo mas intuitivas posibles.
Un conector que le queda al Arduino, uno especifico para 12 y asi... evitas quemar cosas por las prisas y simplificas, claro el costo sube un poco, pero quien se fija en eso en estos dias?

-Alex.

AlexLPD

SENSOR DE TEMPERATURA:


Como mencione con anterioridad, la parte del sensor de temperatura es algo interesante por si misma.

necesitamos un sensor;

reemplazable
estable en el periodo largo
repetible
y confiable.

En el primer tablero que les  muestro uso un sensor de temperatura de tipo DS1820.


Sin embargo tiene varios puntos "debiles":
Se requiere una configuration desde software.
El sensor es muy preciso pero dentro de el mismo, hay un chip que convierte el dato de la temperatura y lo convierte en una cadena digital, lo cual lo hace sumamente vulnerable en cuestiones de ruido eléctrico.

Incluso algunas variaciones de voltaje de linea circundantes,  pueden afectarlo.

¿La solución?
Los termistores, estos son elementos que miden la temperatura y varian su propia resistencia de acuerdo a la misma, los hay de tipo NTC y PTC, de coeficiente termico negativo, y coeficiente termico positivo, respectivamente.

Son usados  ampliamente en la industria en general, los hay de muchas resistencias y temperaturas especificas, pero nosotros vamos a usar algo comunmente my facíl de conseguir y muy barato, un NTC de 10K
10K, indica la resistencia a 25°C.

Como estamos midiendo una resistencia, se usa un divisor de voltaje con una resistencia lo mas parecida posible y se toman varios muestreos para poder hacer un promedio (Aquí le pido Ayuda a @Surbyte, si nos puede regalar el link a uno de sus hilos, donde explica como hacer un promedio movil en el loop de arduino, muy util por cierto)


"Diagrama tipico de conexion de un termistor"


Solo... que hay un detalle, el termistor no es lineal, usa una curva logarítmica por la cual decae su resistencia deacuerdo a la temperatura.


"Curva tipica de un termistor de 10K"


Me la pase un rato investigando, y es que hay una libreria muy buena que promete que todo será miel sobre hojuelas, pero finalmente no me funciono. Por lo que investigue mas, y finalmente hice un codigo para medi correctamente cualquier punto de la curva de cualquier termistor.

Les dejo mi hilo:

"Como medir cualquier termistor adecuadamente"

"Se incluye ejemplos y el código en un Github"


Y bueno, esas fueron algunas de las razones de diseño para seleccionar ese tipo de sensor de temperatura y como usarlo, espero tener algo de tiempo y les preparo ago sobre el menu, es una chulada por si solo.

-Alex.




AlexLPD

VIDEO ESPECIFICO DEL MENU


Hola, bueno como les comente les dejo un video de el menu ya funcionando, obviamente no esta instalado en el controlador, arme un un mega para cuestión de pruebas.


Espero que lo vean cuando tengan tiempo y me dejen sus comentarios.



"El video se centra en las demostración de el menu"



victorjam

Muy currado el menú, ahora bien ¿cómo lo desarrollaste?: A pelo, es decir, un montón de if-else o switch-case, alguna libreria de menú u otro método.

Otra cosa, veo que la temperatura oscila mucho, de 10.4 pasa 9.2, sin tocar la sonda. ¿Cuando pones los motores en marcha no se altera mucho la señal con el ruido?

surbyte

Es una librería que en su momento yo le sugerí a AlexPLD y el se tomó el tiempo de entenderla pero luego comprobé que es muy buena y no requiere una curva de aprendizaje elaborada.
Hay dos versiones la 1 y la 2. El usó si mal recuerdo la 2.
LCDMenuLib

Quote
Display System:

max 254 menu elements
max 254 menu elements per layer
max 6 layers from root (configurable in LCDMenuLib.h)
max support for 6 buttons up, down, left, right, back/quit, enter
min 3 buttons needed up, down, enter
separation of structural and functional level
support for initscreen which is shown after x secounds or at begin (configurable)
scrollbar when more menu elments in a layer then rows
possibility to jump from one menu elment directly to another
support for many different lcd librarys
the menu function are only updated when a button is hit or a trigger is set
different triggers for display function
many small function for other things
Backend System

max 255 backend function
backend function work with different ms times, not with interrupts
backend function can be stopped and started
backend function use three functions setup,loop,stable
backend function can be grouped, groups can start / stop together
backend signals use one bit to transfer a status bit between backend functions
Tiene todos los posibles medios de interfaz resueltos.
Keypad, encoder, pulsadores, via puerto Serie, y no se si alguno mas.

Go Up