La versión digital de esta tesis está protegida por la Ley de Derechos de Autor del
Ecuador.
Los derechos de autor han sido entregados a la “ESCUELA POLITÉCNICA
NACIONAL” bajo el libre consentimiento del (los) autor(es).
Al consultar esta tesis deberá acatar con las disposiciones de la Ley y las siguientes
condiciones de uso:
· Cualquier uso que haga de estos documentos o imágenes deben ser sólo para
efectos de investigación o estudio académico, y usted no puede ponerlos a
disposición de otra persona.
· Usted deberá reconocer el derecho del autor a ser identificado y citado como el
autor de esta tesis.
· No se podrá obtener ningún beneficio comercial y las obras derivadas tienen que
estar bajo los mismos términos de licencia que el trabajo original.
El Libre Acceso a la información, promueve el reconocimiento de la originalidad de
las ideas de los demás, respetando las normas de presentación y de citación de
autores con el fin de no incurrir en actos ilegítimos de copiar y hacer pasar como
propias las creaciones de terceras personas.
Respeto hacia sí mismo y hacia los demás.
ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
CONSTRUCCIÓN Y AUTOMATIZACIÓN DE UN PROTOTIPO DE
INVERNADERO HIDROPÓNICO
PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN
ELECTRÓNICA Y CONTROL
NELSON WLADIMIR ROMERO SAMANIEGO
nwromeros@[Link]
VICTOR SEBASTIÁN YÁNEZ MORILLO
sebastian901211@[Link]
DIRECTOR: MSc. LUIS ALBERTO MORALES ESCOBAR
[Link]@[Link]
CODIRECTOR: MSc. DANNY GUAMÁN
[Link]@[Link]
Quito, Noviembre 2016
DECLARACIÓN
Nosotros, Nelson Wladimir Romero Samaniego y Víctor Sebastián Yánez Morillo,
declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no
ha sido previamente presentada para ningún grado o calificación profesional; y que
hemos consultado las referencias bibliográficas que se incluyen en este documento.
A través de la presente declaración cedemos nuestros derechos de propiedad
intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según
lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la
normatividad institucional vigente.
___________________________ ___________________________
Nelson Wladimir Romero Samaniego Victor Sebastián Yánez Morillo
CERTIFICACIÓN
Certifico que el presente trabajo fue desarrollado por Nelson Wladimir Romero
Samaniego y Víctor Sebastián Yánez Morillo, bajo nuestra supervisión.
________________________
[Link] Morales
DIRECTOR DEL PROYECTO
________________________
MSc. Danny Guamán
CODIRECTOR DEL PROYECTO
AGRADECIMIENTO
Agradezco a mis padres por apoyarme en las iniciativas que me he propuesto y
darme el ejemplo de superación, esfuerzo, empeño y tenacidad para siempre
culminar mis metas y sueños. A mi hermano por sus palabras de aliento.
A Dios por estar junto a mí en los momentos buenos y malos que se han presentado
en mi vida.
A mis compañeros de estudio con los que he convivido a lo largo de los años y por
estar presentes en todos los momentos importantes.
A mi compañero de tesis por dedicar el tiempo necesario para la culminación de este
proyecto.
Un agradecimiento especial al MSc. Luis Morales y al MSc. Danny Guamán por el
apoyo y tiempo brindado a este proyecto y a todos mis maestros quienes me
brindaron sus conocimientos.
Nelson Wladimir Romero Samaniego
AGRADECIMIENTO
Primeramente agradezco a Dios, por darme la sabiduría y la vida para poder
culminar este objetivo.
A mis padres quienes me han sabido guiar y cuidar durante toda esta trayectoria, que
gracias al trabajo y esfuerzo de ellos he logrado cumplir una meta más, gracias por
darme la fuerza para salir de momentos difíciles en mi vida.
A mis hermanos quienes son un ejemplo a seguir y han sabido darme el apoyo
necesario en momentos difíciles.
A mis amigos con quienes he compartido gratos momentos en las aulas.
Agradecer a todos los profesores que han sabido trasmitir su valioso conocimiento.
Finalmente un agradecimiento especial al MSc. Luis Morales y al MSc. Danny
Guamán, quienes nos han sabido guiar y encaminar en el desarrollo del proyecto.
Victor Sebastián Yánez Morillo
DEDICATORIA
Dedico el esfuerzo realizado en este proyecto a mis padres y en especial a mi madre
Mirian ya que gracias a ella he logrado todo lo que me he propuesto. A mi padre
Nelson por apoyarme a pesar de las circunstancias. A mi hermano Fernando para
demostrarle que todo es posible de realizar con esfuerzo. Por ustedes todo esfuerzo
y sacrificio vale la pena. Por último a mis mascotas que han sido mi alegría.
A mis tíos quienes siempre me han alentado y me han brindado su confianza.
A los compañeros que de alguna manera influenciaron positivamente para finalizar
este proyecto.
Nelson Wladimir Romero Samaniego
DEDICATORIA
El presente trabajo dedico especialmente a mis padres quienes son el sostén de mi
familia, quienes merecen el reconocimiento especial por todo lo que representan y
son en mi vida.
A mi madre quien ha sido la persona más fuerte y luchadora que he conocido, que a
pesar de las adversidades y dificultades ha sabido sacar adelante a mi familia.
Dedico a mis sobrinos Matías y Benjamín quienes han traído alegría al hogar y que
el presente trabajo sirva como ejemplo para futuras generaciones.
Victor Sebastián Yánez Morillo
CONTENIDO
RESUMEN….………………………………………………………………………………….I
PRESENTACIÓN…………………………………………………………………………….II
CAPÍTULO 1………………………………………………………………………………….1
1 MARCO TEÓRICO……………………………………………………………………...1
1.1 HIDROPONÍA ................................................................................................ 1
1.2 TÉCNICAS DE HIDROPONÍA ....................................................................... 2
1.2.1 TÉCNICA NFT ......................................................................................... 2
1.2.2 TÉCNICA DE LA RAÍZ FLOTANTE ......................................................... 4
1.3 INVERNADERO HIDROPÓNICO .................................................................. 5
1.3.1 TIPOS DE INVERNADEROS .................................................................. 6
1.4 CULTIVO DE LECHUGA ............................................................................... 8
1.4.1 SIEMBRA DE SEMILLAS ........................................................................ 9
1.4.2 TRASPLANTE ......................................................................................... 9
1.4.3 NIVELES DE PH Y ELECTRO CONDUCTIVIDAD ................................ 10
1.4.4 COSECHA ............................................................................................. 10
1.5 VARIABLES A MEDIR EN UN INVERNADERO HIDROPÓNICO................ 10
1.5.1 pH .......................................................................................................... 10
1.5.2 ELECTROCONDUCTIVIDAD ................................................................ 11
1.5.3 TEMPERATURA.................................................................................... 11
1.6 SENSORES ................................................................................................. 14
1.6.1 SENSOR DE TEMPERATURA.............................................................. 14
1.6.2 SENSOR DE CONDUCTIVIDAD ELÉCTRICA (EC) ............................. 15
1.6.3 SENSOR DE PH.................................................................................... 15
1.6.4 SENSOR DE LUZ (LDR) ....................................................................... 17
1.7 EL CONTROLADOR .................................................................................... 17
1.7.1 CONTROL DE DOS POSICIONES (ON-OFF) ...................................... 18
1.7.2 CONTROL PROPORCIONAL – INTEGRAL – DERIVATIVO. ............... 18
1.7.3 CALIBRACIÓN DE CONTROLADORES PID. ....................................... 20
1.8 COMUNICACIÓN INALÁMBRICA................................................................ 21
1.8.1 WIFI ....................................................................................................... 21
1.9 MODELO OSI .............................................................................................. 22
1.9.1 CAPA DE APLICACIÓN ........................................................................ 22
1.9.2 CAPA DE PRESENTACIÓN .................................................................. 23
1.9.3 LA CAPA DE SESIÓN ........................................................................... 23
1.9.4 LA CAPA DE TRANSPORTE ................................................................ 23
1.9.5 SERVIDOR WEB ................................................................................... 24
1.9.6 PROTOCOLO HTTP ............................................................................. 24
1.9.7 BASES DE DATOS ............................................................................... 27
1.9.8 PHP ....................................................................................................... 27
CAPÍTULO 2………………………………………………………………………………...29
2 DESARROLLO DEL HARDWARE……………………………….....………………29
2.1 DISEÑO DE LA ESTRUCTURA DEL PROTOTIPO ..................................... 29
2.2 IMPLEMENTACIÓN Y DESARROLLO DEL HARDWARE .......................... 30
2.2.1 SISTEMAS MICROPROCESADOS ...................................................... 30
2.2.2 ARQUITECTURA DEL SISTEMA .......................................................... 32
2.2.3 SISTEMA DE VISUALIZACIÓN ............................................................. 33
2.2.4 TECLADO .............................................................................................. 34
2.2.5 RELOJ EN TIEMPO REAL. ................................................................... 34
2.2.6 ACTUADORES ...................................................................................... 36
2.2.7 MEDICIÓN Y CONTROL DE VARIABLES ............................................ 39
2.2.8 CONEXIÓN A RED WIFI ....................................................................... 62
CAPÍTULO 3.………………………………………………………………………………. 64
3 DESARROLLO DEL SOFTWARE………………………………………………….64
3.1 DESARROLLO DEL SOFTWARE DEL SISTEMA MICROPROCESADO ... 64
3.1.1 TECLADO .............................................................................................. 64
3.1.2 CONTROL DEL SISTEMA DE VISUALIZACIÓN .................................. 64
3.1.3 RELOJ EN TIEMPO REAL .................................................................... 70
3.1.4 CONTROL DE TEMPERATURA ........................................................... 71
3.1.5 CONTROL DEL PH ............................................................................... 75
3.1.6 CONTROL DE ELECTROCONDUCTIVIDAD........................................ 76
3.1.7 CONTROL DEL NIVEL DE ILUMINACIÓN ........................................... 77
3.1.8 CONTROL DE LA BOMBA DE RECIRCULACIÓN ............................... 78
3.1.9 CONEXIÓN, ENVIÓ Y RECEPCIÓN DE DATOS VÍA WIFI .................. 79
3.1.10 PROGRAMA PRINCIPAL................................................................... 81
3.1.11 SELECCIÓN DE MODO LOCAL O REMOTO ................................... 83
3.2 DESARROLLO DE LA INTERFAZ WEB ...................................................... 84
3.2.1 REQUERIMIENTOS DEL SISTEMA ..................................................... 84
3.3 DISEÑO DE LA BASE DE DATOS .............................................................. 97
3.4 IMPLEMENTACIÓN DE LA INTERFAZ WEB .............................................. 97
3.4.1 IMPLEMENTACIÓN DE LAS PÁGINAS WEB ....................................... 98
3.4.2 “HIGHCHARTS” VISUALIZADOR DE GRÁFICOS .............................. 106
CAPÍTULO 4……………………………………………………………………………… 111
4 PRUEBAS Y RESULTADOS……………………………………………………….111
4.1 DESCRIPCIÓN DE LAS PRUEBAS REALIZADAS ................................... 111
4.1.1 PRUEBAS DE FUNCIONAMIENTO DE HARDWARE ........................ 111
4.1.2 PRUEBAS DE FUNCIONAMIENTO DE SOFTWARE ......................... 126
4.1.3 PRUEBA DE FUNCIONAMIENTO DE LA INTERFAZ WEB................ 131
4.1.4 RESULTADOS DEL PROTOTIPO ...................................................... 134
CAPÍTULO 5……………………………………………………………………………… 136
5 CONCLUSIONES Y RECOMENDACIONES……………………………………..136
5.1 CONCLUSIONES....................................................................................... 136
5.2 RECOMENDACIONES .............................................................................. 138
6 REFERENCIAS BIBLIOGRÁFICAS.………………………………………………139
INDICE FIGURAS
Figura 1.1 Sistema NFT.. ............................................................................................ 2
Figura 1.2. Sistema Raíz flotante ................................................................................ 5
Figura 1.3. Cubierta Invernaderos. .............................................................................. 6
Figura 1.4. Invernadero tipo Túnel. ............................................................................. 7
Figura 1.5. Invernadero tipo Capilla. ........................................................................... 7
Figura 1.6. Invernadero Tipo diente de Sierra. ........................................................... 7
Figura 1.7. Invernadero con Techo curvo. .................................................................. 8
Figura 1.8. Invernadero tipo parral. ............................................................................. 8
Figura 1.9. Diagrama de flujo para la siembra y cosecha de plantas. ......................... 9
Figura 1.10. Escala de pH ........................................................................................ 11
Figura 1.11. Calefacción en Invernadero mediante tuberías. ................................... 12
Figura 1.12. Ventilación en invernaderos. ................................................................. 12
Figura 1.13. Electrodo de EC K1.0 . .......................................................................... 15
Figura 1.14. Elementos de electrodo de pH. ............................................................ 15
Figura 1.15. Pendiente del sensor de pH a 25°C. .................................................... 16
Figura 1.16. Símbolo de LDR . .................................................................................. 17
Figura 1.17. Resistencia vs. Iluminación en LDR ..................................................... 17
Figura 1.18. Controlador ON-OFF con histéresis ..................................................... 18
Figura 1.19 Respuesta de la planta al escalón en lazo abierto ................................ 21
Figura 1.21. Modelo OSI .......................................................................................... 22
Figura 1.22 Protocolo TCP/IP ................................................................................... 25
Figura 1.23. Esquema de base de datos en red ....................................................... 27
Figura 2.1. Medidas del prototipo vista superior ........................................................ 29
Figura 2.2. Estructura del prototipo (vista lateral). ..................................................... 30
Figura 2.3. Arquitectura del Sistema de comunicación. ............................................ 33
Figura 2.4. Conexión de LCD 20X4 al microcontrolador. .......................................... 33
Figura 2.5. Conexión del teclado al microcontrolador. .............................................. 34
Figura 2.6. RTC diagrama del conexión . .................................................................. 35
Figura 2.7. Mapa de dirección del DS1307 . ............................................................. 36
Figura 2.8. Bomba de recirculación y mezcla ............................................................ 37
Figura 2.9. Bombas de nutrientes mayores y menores. ............................................ 37
Figura 2.10. Lámparas incandescentes. ................................................................... 38
Figura 2.11. Calefactor y ventilador. .......................................................................... 38
Figura 2.12. Ventilador. ............................................................................................. 39
Figura 2.13. Circuito para detectar el cruce por cero. ............................................... 40
Figura 2.14. Circuito para control de niquelina. ......................................................... 42
Figura 2.15. Sensor de Intensidad Luminosa. .......................................................... 45
Figura 2.16. Resistencia del LDR [Link] Luminosa ....................................... 46
Figura 2.17. Voltaje vs. Intensidad Luminosa linealizado. ......................................... 47
Figura 2.18. Circuito acondicionador para la LDR. .................................................... 48
Figura 2.19. Circuito para el control de Intensidad Luminosa.................................... 48
Figura 2.20. Sonda para medición de pH. ................................................................ 51
Figura 2.21. Acondicionamiento para la medición de pH. ......................................... 52
Figura 2.22. Voltaje vs pH. ........................................................................................ 54
Figura 2.23. Señal de Voltaje amplificada. ................................................................ 54
Figura 2.24. Circuito para activar las bombas ........................................................... 56
Figura 2.25. Ventana de histéresis para el control de pH. ......................................... 57
Figura 2.26. Diagrama de Conexión Para comunicación UART ............................... 58
Figura 2.27. Electrodo de EC K1.0 . .......................................................................... 59
Figura 2.28. Ventana de histéresis para el control de electroconductividad. ............. 60
Figura 2.29. Sensor de distancia HC-SR04 .............................................................. 60
Figura 2.30. Circuito de conexión para bomba de recirculación. ............................... 61
Figura 2.31. Circuito para acondicionar la comunicación serial de 5V a 3V. ............. 62
Figura 2.32. Conexión del Módulo ESP 8266............................................................ 63
Figura 3.1. Manejo del teclado. ................................................................................. 65
Figura 3.2. Manejo de Menú...................................................................................... 66
Figura 3.3 Manejo de las Opciones a mostrar en el LCD. ......................................... 68
Figura 3.4 Cambiar datos del sistema. ...................................................................... 69
Figura 3.5 Manejo del RTC. ...................................................................................... 70
Figura 3.6 Algoritmo para el control de temperatura. ................................................ 71
Figura 3.7 Modelado del sistema de Temperatura usando “sisotool”. ....................... 72
Figura 3.8 Modelo obtenido con 2 polos. .................................................................. 72
Figura 3.9. Algoritmo para control de pH. .................................................................. 76
Figura 3.10. Algoritmo para control de electroconductividad. .................................... 77
Figura 3.11. Algoritmo para control de la bomba de recirculación............................. 79
Figura 3.12. Algoritmo para control de Iluminación. .................................................. 78
Figura 3.13. Algoritmo para envío de datos. ............................................................. 80
Figura 3.14. Algoritmo para recepción de datos. ....................................................... 81
Figura 3.15. Programa Principal. ............................................................................... 82
Figura 3.16. Modo local y remoto. ............................................................................. 83
igura 3.17. Diagrama de Casos de Uso. ................................................................... 88
Figura 3.18. Página inicio para un invitado. .............................................................. 89
Figura 3.19. Página Visualizar................................................................................... 89
Figura 3.20. Página Actuadores. ............................................................................... 90
Figura 3.21. Página actuadores. ............................................................................... 90
Figura 3.22. Página Menú de Sensores. ................................................................... 91
Figura 3.23. Página Sensores. .................................................................................. 91
Figura 3.24. Pantalla de Login................................................................................... 92
Figura 3.25. Página de Usuario. ................................................................................ 92
Figura 3.26. Página Reportes.................................................................................... 93
Figura 3.27. Página Reportes Actuadores. ............................................................... 93
Figura 3.28. Página menú Actuadores. ..................................................................... 94
Figura 3.29. Página Actuadores. ............................................................................... 94
Figura 3.30. Página menú Sensores. ........................................................................ 95
Figura 3.31. Página Sensores. .................................................................................. 95
Figura 3.32. Página de información adicional............................................................ 96
Figura 3.33. Página de administración del servidor. .................................................. 96
Figura 3.34. Diagrama de Tablas usadas en la base de datos. ................................ 97
Figura 3.35 Estructura de código HTML. .................................................................. 99
Figura 3.36. Diagrama de flujo de la página inicial. ................................................. 101
Figura 3.37. Diagrama de flujo para validar usuario. ............................................... 102
Figura 3.38. Diagrama de flujo para validar cambios .............................................. 102
Figura 3.39. Diagramas de flujo para cargar valores a la base de datos ................ 103
Figura 3.40. Diagramas de flujo para finalizar sesión. ............................................. 103
Figura 3.41. Página inicial de la interfaz web. ......................................................... 104
Figura 3.42. Menú de acceso a configuración de sensores. ................................... 104
Figura 3.43. Diagrama de flujo para ingreso de números en el formulario. ............. 105
Figura 3.44. Diagrama de flujo para el envío de datos desde la interfaz hacia el
proyecto. .......................................................................................................... 106
Figura 3.45. Diagrama de flujo para añadir una gráfica a la página web. ............... 107
Figura 3.46. Resultado del Script de “Highcharts” para visualizar pH. .................... 108
Figura 3.47. Diagrama de flujo para actualizar los valores del formulario. .............. 109
Figura 3.48. Implementación de la página de pH .................................................... 110
Figura 4.1. Medición de pH con papeles indicadores. ............................................. 114
Figura 4.2. Medición de una muestra con medidor de pH. ...................................... 114
Figura 4.3. Historial de pH. ...................................................................................... 116
Figura 4.4. Medida de temperatura. ........................................................................ 117
Figura 4.5. Historial de Temperatura. ...................................................................... 118
Figura 4.6. Medición de Nivel. ................................................................................. 119
Figura 4.7. Historial de Nivel. .................................................................................. 120
Figura 4.8. Medición de Electroconductividad con conductimetro. .......................... 121
Figura 4.9. Historial de Electroconductividad. ......................................................... 122
Figura 4.10. Medición de luminosidad. .................................................................... 123
Figura 4.11. Historial de luminosidad ...................................................................... 124
Figura 4.12. Medición de luminosidad en varios puntos. ......................................... 124
Figura 4.13. Reporte de las variables medidas. ...................................................... 128
Figura 4.14. Reporte de actuadores. ....................................................................... 129
Figura 4.15. Reporte de cambios desde interfaz. .................................................... 130
Figura 4.16. Datos exportados a Excel. .................................................................. 130
Figura 4.17. Datos exportados a Word. ................................................................... 131
Figura 4.18. Funcionamiento de la Interfaz Web de variables medidas. ................. 132
Figura 4.19. Funcionamiento de la Interfaz Web de actuadores. ............................ 133
Figura 4.20. Funcionamiento de la Interfaz Web al realizar cambios. ..................... 133
Figura 4.21. Indicador en forma de aguja. ............................................................... 134
Figura 4.22. Preparación y siembra de la plantas. .................................................. 134
Figura 4.23. Preparación y siembra de la plantas. .................................................. 135
Figura 4.24. Desarrollo de las plantas dentro del prototipo. .................................... 135
INDICE TABLAS
Tabla 1.1 Niveles de iluminación para varios cultivos. .......................................................... 13
Tabla 1.2 Signos de una mala iluminación en un cultivo. ..................................................... 14
Tabla 1.3 Características Sensor LM35 . .............................................................................. 14
Tabla 1.4. Parámetros de ajuste (método de curva de reacción)]. ........................................ 21
Tabla 2.1 Número de Pines utilizados en el Sistema microprocesado. ................................. 31
Tabla 2.2 Características del ATmega 1280 y ATmega 2560 ............................................... 32
Tabla 2.3 Conversión de Luxes a resistencia ........................................................................ 46
Tabla 2.4 Voltaje del LDR linealizado ................................................................................... 47
Tabla 2.5 Valores de voltaje de la sonda de pH .................................................................... 51
Tabla 2.6 Características circuito EZOTM. ............................................................................. 58
Tabla 2.7 Características de la punta de prueba “K1.0”. ....................................................... 59
Tabla 3.1 Respuesta al escalón del sistema en lazo cerrado. ............................................... 73
Tabla 3.2. Respuesta del sistema en lazo abierto. ................................................................ 73
Tabla 3.3. Respuesta del sistema con el PID. ....................................................................... 74
Tabla 3.4 Cambiar referencia y valores de los controladores ................................................ 86
Tabla 3.5 Reportar históricos ................................................................................................ 87
Tabla 3.6 Ingresar usuario .................................................................................................... 87
Tabla 3.7 Salir del sistema .................................................................................................... 88
Tabla 3.8 Atributos de la instrucción DIV. .......................................................................... 100
Tabla 3.9 Atributos de la instrucción Iframe. ...................................................................... 100
Tabla 4.1 Funcionamiento de actuadores ........................................................................... 112
Tabla 4.2 Funcionamiento de sensores .............................................................................. 113
Tabla 4.3 Datos de pH en función del tiempo ..................................................................... 115
Tabla 4.4 Datos de Temperatura en función del tiempo ...................................................... 117
Tabla 4.5 Datos de Nivel en función del tiempo .................................................................. 119
Tabla 4.6. Medición de electroconductividad ...................................................................... 121
Tabla 4.7. Mediciones de intensidad luminosa. ................................................................... 123
Tabla 4.7. Mediciones de intensidad luminosa. ................................................................... 125
Tabla 4.8 Funcionamiento del modo local ........................................................................... 126
Tabla 4.9 Funcionamiento de control remoto ...................................................................... 127
Tabla 4.10 Tabla de funcionamiento de la interfaz web ...................................................... 132
I
RESUMEN
El presente proyecto tiene como objetivo la construcción y automatización de un
invernadero hidropónico prototipo, controlado y monitoreado a través de internet,
utilizando un servidor web y una base de datos. Presentando así una alternativa a
la agricultura tradicional y una aplicación IoT (Internet of Things) en el control de
cultivos.
Para la construcción del invernadero se utiliza la técnica NFT (Técnica de película
de nutriente) de hidroponía, en la cual se controla diferentes parámetros tales
como el pH y la electroconductividad del agua con el fin de mejorar la calidad y
cantidad de productos cultivados. Concretamente se realiza el prototipo para el
cultivo de lechugas.
El sistema dispone de un control local y remoto con su propia interfaz para manejo
local y con un sistema de comunicación inalámbrica que envía la información de
los parámetros del invernadero, obtenida a través de un sistema microprocesado,
hacia internet, en donde se almacenan las variables medidas del proceso en una
base de datos alojada en un servidor web.
Para acceder a la información del proyecto vía internet se utiliza un servidor web
con una dirección IP pública. En dicho servidor se aloja una interfaz web por
medio de la cual se pueden realizar cambios a las variables del invernadero y
también se puede acceder a diferentes reportes de las variables medidas y
reportes de los estados de los actuadores. Los reportes son generados por
nombres de las variables o por fechas.
La base de datos también contiene información de los cambios que se realizaron
desde la interfaz web.
II
PRESENTACIÓN
El primer capítulo contiene la información necesaria para entender la hidroponía,
las variables a controlar en un invernadero y los servicios que presenta un servidor
web. Se realiza un estudio de la hidroponía y las variables que intervienen en el
proceso. Además, se determinan los rangos de acción adecuados para cada
parámetro.
En el segundo capítulo se expone la implementación de la estructura del prototipo
y el desarrollo del hardware requerido para automatizar el invernadero. Se
presentan los dispositivos utilizados para el desarrollo del proyecto.
En el tercer capítulo se muestra la implementación del sistema de control tanto en
su modo local, como en su modo remoto. Se establece el tipo de comunicación
utilizada. Además, se describe el desarrollo y la implementación de la interfaz web
del usuario.
El cuarto capítulo muestra las pruebas de funcionamiento del sistema tanto en
modo local como remoto y la prueba de conexión de la interfaz web para controlar
el proceso y acceder a los reportes de las variables medidas.
Finalmente, en el capítulo 5 se muestran las conclusiones y recomendaciones
obtenidas al desarrollar este proyecto.
1
CAPÍTULO 1
1 MARCO TEÓRICO
El presente capítulo describe todos los conceptos para implementar un prototipo
de invernadero Hidropónico, además de una descripción de todos los elementos
que intervienen en el control del invernadero y su interfaz web.
1.1 HIDROPONÍA
Es una técnica donde las raíces de las plantas reciben directamente una solución
nutritiva, absorbiendo los minerales esenciales. La mayoría de plantas pueden
cultivarse con este método y dependiendo de la reutilización de la solución
nutritiva, estos sistemas pueden ser abiertos o cerrados [1].
Como ventajas respecto a la agricultura tradicional se tiene:
Se facilita la medición y cuantificación de los nutrientes que se suministran a la
planta en la solución nutritiva, en un cultivo tradicional esto es más complejo,
porque son sistemas abiertos en donde intervienen varios factores ambientales y
del suelo, haciendo difícil esta medición.
La densidad de plantas es mayor, en un cultivo tradicional para evitar que las
raíces compitan por los nutrientes, las plantas deben tener una separación de 1m,
esto no sucede en la hidroponía ya que a las plantas se les provee los nutrientes
necesarios reduciendo el espacio entre ellas, por ejemplo en el tomate la densidad
por metro cuadrado en un sistema hidropónico es de 4-5 plantas.
Se puede tener plantas en diversas etapas, optimizando el proceso de cosecha
semanal, lo cual en tierra sería muy complejo y requeriría de un área mayor.
En tierra el agua se filtra hacia el subsuelo, por ello en hidroponía se ahorra hasta
un 60% de agua y por lo tanto de nutrientes [2].
Una desventaja de la hidroponía se da debido a las estructuras donde circulará la
solución nutritiva, y por desconocimiento de la técnica el costo inicial es elevado.
2
1.2 TÉCNICAS DE HIDROPONÍA
1.2.1 TÉCNICA NFT
El sistema NFT “Nutrient Film Technique” (técnica de la película de nutriente),
consiste en recircular de forma continua o intermitente una capa de solución
nutritiva por una serie de tuberías de PVC, las cuales poseen agujeros donde se
colocan las plantas, y las raíces absorben directamente dicha solución, las
tuberías se apoyan sobre estructuras con una ligera pendiente para facilitar el flujo
de la solución a través de ellas. El sistema es cerrado, por lo tanto no existe salida
al exterior de la solución y permite reutilizarla.
Para la circulación de la solución por las tuberías se utiliza una bomba que
impulsa la solución y permite mantener las raíces sumergidas en la solución
nutritiva, ayudando a la oxigenación y suministrando nutrientes a las plantas [3].
Figura 1.1 Sistema NFT [3].
En la Figura 1.1, se muestran los elementos que intervienen en un sistema NFT,
dónde se distingue los siguientes elementos:
- Tanque colector
- Bomba de impulsión
- Tuberías de distribución
- Canales de cultivo
- Tubería Colectora
3
[Link] Tanque Colector.
Es el elemento cuya función es almacenar la solución nutritiva. El material puede
ser de polietileno, PVC o fibra de vidrio.
Su volumen depende de la superficie del cultivo, contiene entre el 10 y el 15 % del
volumen total que circula en el sistema, el resto se encuentra en las tuberías y
canales. En un riego intermitente, el volumen del tanque debe almacenar toda el
agua del sistema [3].
La inyección de las soluciones concentradas se realiza directamente al tanque,
pueden ser controladas por válvulas de apertura y cierre, permitiendo la caída de
las soluciones por gravedad al tanque. Otro método consiste en utilizar bombas
inyectoras las cuales suministran las soluciones concentradas.
[Link] Bomba
Impulsa la solución nutritiva desde el tanque colector hacia los canales, funcionará
durante un largo periodo de tiempo por lo que debe estar constituida de elementos
resistentes y de calidad.
Para su selección se consideran los siguientes aspectos:
a) Caudal de operación, la altura requerida y eficiencia.
b) Componentes del motor y bomba sólidos y resistentes a la acción corrosiva de
la solución nutritiva.
[Link] Tuberías de distribución:
La red de tuberías y mangueras distribuyen la solución desde el tanque colector
hacia la parte superior de los canales. Se utiliza mangueras de plástico, este
material no interactúa con los componentes de la solución nutritiva. El diámetro de
las tuberías es de 1 pulgada debido a que el flujo que circula a través de ellas no
supera los 2 a 3 litros por minuto [3].
4
[Link] Canales de cultivo.
El agua en el interior del canal no debe superar los 4 o 5 mm, gracias se obtiene
una adecuada oxigenación de las raíces.
Para asegurar la uniformidad de la solución a lo largo de los canales su longitud
no debe exceder los 15 m, además la pendiente adecuada para el canal es del 1
al 2 %, si es inferior la altura de la lámina de agua puede ser excesiva esto se
debe al inadecuado retorno de la solución nutritiva al tanque colector. No es
adecuado que la pendiente sea mayor al 2 %, esto produce un excesivo flujo de la
solución en el canal, dificultando la absorción de agua y nutrientes, principalmente
cuando las plantas están en desarrollo [3].
[Link] Tubería colectora.
Al final de los canales recoge la solución nutritiva y la conduce al tanque colector
por gravedad. Debe tener una pendiente para asegurar la evacuación, se ubica en
un nivel más bajo que la altura inferior de los canales.
1.2.2 TÉCNICA DE LA RAÍZ FLOTANTE
Consta de una plancha de espuma flex perforada, donde se colocan las plantas, la
espuma flex flota sobre la solución nutritiva.
Es recomendable usar esta técnica para plantas de hoja como lechuga, cilantro,
menta, apio, perejil, orégano etc.
Las partes que constituyen este tipo de sistema son [4]:
- Contenedor.
- Plancha de espuma flex.
- Vasos o recipientes.
5
Figura 1.2. Sistema Raíz flotante [4].
[Link] Contenedor
De plástico o de madera, e impermeabilizado con plástico negro, y debe tener
altura de 10 cm o 15 cm máximo, el ancho se recomienda que no supere 1 metro.
[Link] Plancha de espuma Flex
Una plancha de una pulgada de grosor, y no menor a 2 cm, para que resista el
peso de las plantas, con orificios de 1 pulgada de diámetro y una separación entre
ellos de aproximadamente 17 a 25 cm, según la planta.
[Link] Vasos
En ellos se inserta la plántula, únicamente la raíz debe tener contacto con la
solución nutritiva.
Es conveniente instalar una bomba de oxigenación, o de forma manual revolver el
agua, para generar burbujas de aire durante 370 segundos de 2 a 3 veces al día
para oxigenar el agua [5].
1.3 INVERNADERO HIDROPÓNICO
Un invernadero proporciona un ambiente adecuado, tanto en suelo como en aire.
Las razones principales para cultivar en invernaderos pueden enumerarse en:
6
1. Proveer un microclima especial para el crecimiento de los cultivos. Se
puede controlar y mantener en temperaturas óptimas.
2. Permite programar las cosechas para épocas de escasez logrando
extender los tiempos de producción.
3. Protegen a los cultivos de los cambios climáticos.
4. Pueden construirse invernaderos de cualquier forma y tamaño,
determinados por el espacio, cosechas a cultivar, materiales utilizados y
capital disponible.
Los invernaderos metálicos permiten ingresar mayor cantidad de luz porque
cubren mayor área útil que de los de madera.
Figura 1.3. Cubierta Invernaderos [6].
La cubierta cambia la dirección de los rayos solares distribuyéndola
equitativamente para beneficiar al cultivo [6].
1.3.1 TIPOS DE INVERNADEROS
[Link] Invernadero tipo Túnel.
Es un semicilindro capaz de soportar altas velocidades del viento poseen alto
grado de luminosidad por la forma. El aire caliente tiende a enfriarse rápidamente,
dando paso a la inversión térmica. Su desventaja es ser bastante pequeños [7].
7
Figura 1.4. Invernadero tipo Túnel [7].
[Link] Invernaderos Capilla
Se basan en 2 techos con diferente ángulo de inclinación. El recubrimiento se
hace con materiales plásticos flexibles y planchas rígidas a la medida. Son aptos
para la siembra de pequeños arbustos; tienen poca inercia térmica y difícil
ventilación [8].
Figura 1.5. Invernadero tipo Capilla [8].
[Link] Invernadero en diente de sierra
Diseñado para ambientes con pocas precipitaciones y alta radiación solar. Incluye
pilares y en su cubierta usa materiales flexibles o rígidos. Su forma permite
recolectar agua lluvia [8].
Figura 1.6. Invernadero Tipo diente de Sierra [8].
8
[Link] Invernaderos con techumbre curva
Cubre más área y con alturas mayores a los antes mencionados. Posee una gran
inercia térmica que permite mantener la temperatura dentro del invernadero. Su
forma no permite agregar más puntos de ventilación [8].
Figura 1.7. Invernadero con Techo curvo [8].
[Link] Invernadero tipo Parral
Posee un tendido de alambres entre columna y columna que forma la pared que
cubre el invernadero, soporta todo el recubrimiento plástico y permite cubrir una
zona extensa. Tiene alta inercia térmica por la gran masa de aire que alberga en
su interior. Permite mayor incidencia de luz [8].
Figura 1.8. Invernadero tipo parral [8].
1.4 CULTIVO DE LECHUGA
Para el cultivo de lechuga se debe tener en cuenta el procedimiento de cultivo,
mostrado en la Figura 1.9 [9].
9
Inicio
Siembra de
semillas
Germinación
Altura de Trasplante a
plantas Si sistema
>8cm? hidropónico
Controlar
No niveles de pH y
electroconducti
Esperar vidad
crecimiento
de las Mantener
plantas condiciones
ambientales
fin Cosechar
Figura 1.9. Diagrama de flujo para la siembra y cosecha de plantas.
1.4.1 SIEMBRA DE SEMILLAS
La siembra se realiza usando semilleros, el sustrato para la siembra puede ser
tierra o sustratos minerales.
1.4.2 TRASPLANTE
Se lo realiza cuando las plantas hayan alcanzado una altura de 8 cm, esto ocurre
aproximadamente a los 14 días desde la siembra [9].
10
La densidad de siembra una vez trasplantadas es de aproximadamente 20 a 22
plantas por m2. La separación entre plantas en los tubos es de 20 cm a 25 cm
entre sí y 20 a 30 cm entre hilera.
1.4.3 NIVELES DE PH Y ELECTRO CONDUCTIVIDAD
Para niveles de pH altos y bajos ocurre un efecto antagónico, los elementos
compiten uno con otro, evitando su absorción y generando estrés que impide el
desarrollo de la planta, es recomendable trabajar en un rango de 5.5 - 6.5, para
que la planta absorba fácilmente los nutrientes disueltos [9].
Al presentar altos niveles de electro-conductividad se traduce en valores
fitotóxicos (que presenta toxicidad la planta), al ser bajos presenta deficiencia de
nutrientes, para obtener la disponibilidad de nutrientes es recomendable mantener
rangos de 1.5 a 3 mS/cm (mili Siemens por centímetro) o 750 a 1500 ppm (partes
por millón) [9].
1.4.4 COSECHA
Durante el crecimiento de las plantas se puede arrancar las hojas defectuosas, y
al momento de la cosecha final se debe sacar la planta con las raíces y cortarlas
una vez fuera, debido a que las raíces que sobran pueden dañar el sistema de
bombeo.
1.5 VARIABLES A MEDIR EN UN INVERNADERO HIDROPÓNICO
1.5.1 PH
Se refiere a la concentración de iones de Hidrogeno (H+) los cuales determinan el
grado de acidez y basicidad de una solución.
En el caso del sistema NFT las medidas se realizan dentro del sistema, se busca
el pH adecuado para la absorción de los nutrientes disponibles como se muestra
en la Figura 1.10.
11
Figura 1.10. Escala de pH [10].
1.5.2 ELECTROCONDUCTIVIDAD
Se refiere a la concentración de sales disueltas en el agua, evalúa la capacidad
del agua para conducir la corriente eléctrica. Su valor se expresa en mS/cm
(miliSiemens sobre centímetro). Se recomienda mantener la electroconductividad
en los rangos de 1.5 a 3 mS/cm o 750 a 1500 ppm (partes por millón) [9].
1.5.3 TEMPERATURA
Las semillas de lechuga germinan a temperaturas de 20 a 25°C en el suelo. El
rango de temperatura para su desarrollo es de 13 a 25°C, siendo la óptima entre
los 16 y 22°C [11].
[Link] Calefacción de invernaderos
Dependiendo del emplazamiento y de las plantas a cultivar, será necesaria una
fuente de calor adicional para complementar la que genera la radiación solar.
Para la calefacción de los invernaderos se dispone de las siguientes alternativas:
12
- Instalación de tuberías de agua caliente en el perímetro interno del
invernadero [12].
Figura 1.11. Calefacción en Invernadero mediante tuberías [13].
- Instalación de un ventilador cerca de una parrilla o estufa de gas o aceite
[12].
[Link] Ventilación de invernaderos
La ventilación es muy importante, tanto para expulsar el aire caliente como para
hacer que circule aire dentro del recinto.
Figura 1.12. Ventilación en invernaderos [12].
La Figura 1.12, muestra cómo se genera la ventilación en un invernadero con lo
cual se logra el descenso de temperatura y una mejor oxigenación.
[Link] Iluminación
El desarrollo de las plantas depende del número de horas de luz recibidas. La
producción se acelera en días largos (con más de 12 horas de luz: trigo, espinaca,
lechuga, arvejas, etc.).
13
Al ser una planta de días largos no significa que deba recibir 100,000 lx (cantidad
aproximada de luz del sol en un día despejado), algunas plantas de días largos
como el tomate y la lechuga se desarrollan mejor entre 10,000 y 40,000 lx en un
día, es recomendable colocar una protección, como un plástico lechoso o una
malla de sombra en un invernadero [9].
Tabla 1.1. Niveles de iluminación para varios cultivos [9].
Niveles óptimos de iluminación para algunos
cultivos
Especie Intensidad luz Duración
(lux)
Tomate 10000-40000 Día intermedio
Lechuga 12000-30000 Día largo
Clavel 15000-45000 Día intermedio
Rosa 100000 Día intermedio
Crisantemo 75000-95000 Día corto
La luz es esencial para el desarrollo de las plantas, la falta de luz da como
resultado un mal crecimiento, así como el exceso de luz puede también ser
nocivo, sus efectos se muestra en la Tabla 1.2.
Con la finalidad de mantener niveles apropiados de luz natural en el invernadero,
se usan los siguientes medios:
- Cubierta con buena transparencia y ubicación adecuada del invernadero
donde se aumente el ángulo de incidencia de las radiaciones solares.
- Reducir las sombras interiores.
También puede ser adecuado aplicar iluminación artificial o regular la iluminación
natural en el interior para:
- Forzar una mayor tasa de fotosíntesis, durante los meses invernales.
- Aumentar la duración del día, para plantas de días largos.
- Disminuir la oscuridad en plantas ornamentales de días cortos,
favoreciendo el crecimiento vegetativo en una época en que se vería
favorecida la floración sin que las plantas tuvieran el tamaño adecuado.
14
Tabla 1.2. Signos de mala iluminación en un cultivo [9].
Exceso de luz Falta de luz
Los bordes de las hojas se vuelven Las hojas se vuelven amarillas, secas y
marrón o manchadas por quemadura. luego caen.
Las hojas se mantienen pequeñas, Las flores suelen tener un desarrollo
pierden el color verde, su aspecto es incompleto, son demasiado pequeñas y
blanquecino. caen antes de florecer.
Las plantas pierden vigor en las horas Los tallos son largos y delgados con poca
más calurosas del día. vitalidad, no tienen color y existe gran
distancia entre los entrenudos.
Las hojas se orientan en sentido Su crecimiento es ralentizado.
contrario de la luz.
1.6 SENSORES
1.6.1 SENSOR DE TEMPERATURA
Transforma la variación de temperatura en variación de señales eléctricas para ser
adquiridos por equipos electrónicos.
[Link] Circuitos Integrados
El LM35, es un sensor de temperatura integrado, cuyo rango de operación se
encuentra entre los -55°C y 150°C con una precisión de ± 0.5°C a temperatura
ambiente, y alta linealidad.
Sus características más importantes se describen en la Tabla 1.3.
Tabla 1.3. Características Sensor LM35 [14].
Características Sensor LM35
Factor de escala lineal +10 mV / ºC
Rango de trabajo -55 ºC hasta 150 ºC
Alimentación 4 V hasta 30 V
Consumo de corriente Menos de 60 uA
Baja impedancia de salida 0.1 W, para cargas de 1 mA
15
1.6.2 SENSOR DE CONDUCTIVIDAD ELÉCTRICA (EC)
Mide la cantidad de sales en una solución, ayuda a manejar el efecto de sales
solubles en el crecimiento de las plantas. Es un indicador importante de calidad de
agua, salinidad de suelo y concentración de fertilizante [15].
Figura 1.13. Electrodo de EC K1.0 [16].
1.6.3 SENSOR DE PH
Se basa en un vidrio sensible al pH que al entrar en contacto con un líquido, en su
superficie se forma una capa delgada de gel hidratado que permite el intercambio
de iones entre la superficie del vidrio y el líquido formándose el potencial de
Nernst.
Figura 1.14. Elementos de electrodo de pH [17].
El electrodo posee una solución interna cuyo valor de pH es conocido. Si el valor
de pH de la solución en el exterior del electrodo es igual al valor de pH de la
solución interna, el voltaje resultante es de 0 V, caso contrario, existe una
16
diferencia de potencial entre la capa interna y externa pudiéndose calcular la
diferencia de pH entre los dos líquidos.
El electrodo interno está sumergido en cloruro de potasio saturado (KCl), el cual
está en contacto con el producto de medida por medio de un diafragma,
impidiendo que la solución a medir ingrese en la solución interna.
La variación de voltaje en un electrodo de pH a 25°C es aproximadamente 59 mV
por unidad de pH, esta medida es dependiente de la temperatura y decrece a lo
largo de la vida útil del sensor [18].
Un medidor de pH, requiere de una calibración en varios puntos para obtener
resultados precisos. El fabricante recomienda al menos dos puntos de trabajo para
la prueba óptima.
Los electrodos de pH tienen una vida útil entre 1 a 2 años. Si se experimenta
lecturas irregulares y dificultades para calibrar, el electrodo debe ser sustituido
[19].
Figura 1.15. Pendiente del sensor de pH a 25°C [18].
17
1.6.4 SENSOR DE LUZ (LDR)
El LDR “Light Dependent Resistor”, resistencia dependiente de la luz, varía su
resistencia de acuerdo a la luz incidente sobre su superficie. A mayor intensidad
de la luz sobre su superficie menor será su resistencia y viceversa.
Figura 1.16. Símbolo de LDR [20].
Las gráficas que relacionan la resistencia y la luz se representan en escalas
logarítmicas para ambos ejes. La relación se muestra como una gráfica lineal,
como se indica la Figura 1.17.
Figura 1.17. Resistencia vs. Iluminación en LDR [20].
1.7 EL CONTROLADOR
Genera la señal de control que permite que la variable controlada corresponda con
la señal de referencia. Un controlador permite calcular el error, tomando el valor
medido y comparándolo con el valor deseado, para luego enviar una señal de
control al actuador con el fin de corregir este error.
18
Los controladores más comunes son:
• Dos posiciones (ON-OFF).
• Proporcional, Integral, Derivativo (PID) o alguna de sus variantes.
1.7.1 CONTROL DE DOS POSICIONES (ON-OFF)
Posee dos estados: Encendido y Apagado, no tiene la capacidad de producir un
valor exacto en la variable a manipular sino que produce una oscilación alrededor
del valor de referencia.
En estos controladores se utiliza histéresis, la cual produce una oscilación entre
dos valores alrededor de la variable manipulada. A esta oscilación se la conoce
como ventana de histéresis. En la Figura 1.18, se muestra la oscilación que
produce este tipo de controlador.
Figura 1.18. Controlador ON-OFF con histéresis [21].
1.7.2 CONTROL PROPORCIONAL – INTEGRAL – DERIVATIVO.
Un controlador PID (Proporcional Integrativo Derivativo) utiliza una realimentación
de lazo cerrado, al cual ingresa un error, calculado a partir del valor deseado
menos la salida de la planta, y mediante la Ecuación (1.1), que define al PID se
19
obtiene una señal que intenta minimizar el error ajustando la entrada a la planta
del sistema [22].
La parte proporcional se obtiene del producto entre la señal de error y la constante
proporcional Kp, así el error en estado estacionario se aproxima a cero, el control
proporcional tomará acción siempre que exista una diferencia entre la salida
deseada y el error por lo que siempre tendrá una banda de error.
Existe un valor límite en la constante proporcional a partir del cual, el sistema
alcanza valores superiores a los deseados produciendo sobre-oscilación.
La acción Proporcional no considera el tiempo, para solucionar el error
permanente y tomar en cuenta la variación respecto al tiempo, se incluye y
configura las acciones integral y derivativa.
La parte Integral elimina el error en estado estacionario, es decir permite seguir al
valor deseado. Trabaja cuando existe una diferencia entre la variable y el valor
deseado, integrando este error en el tiempo.
La acción Derivativa se ejecuta cuando existe variación en el valor absoluto del
error. Si el error se mantiene constante, la acción derivativa es nula. Su función es
mantener el error al mínimo corrigiéndolo proporcionalmente a la misma velocidad
que se produce; debido a esto evita que el error vaya incrementándose, asimismo
esta acción disminuye el sobre-impulso de la variable.
Calibrando estas tres constantes en el algoritmo del PID, el controlador
proporciona una acción de control adecuada para los requerimientos del sistema.
Ciertas aplicaciones pueden requerir variantes de este controlador, tales como un
PI, PD, P o I.
Cada parámetro influye sobre alguna característica de la salida y sobre las demás,
por mucho que se ajuste no se encontraría un PID que redujera el tiempo de
establecimiento a 0, la sobre oscilación a 0, el error a 0. Lo adecuado es ajustar a
un término medio que satisfaga los requerimientos del sistema.
20
La función de transferencia es:
(!) 1 ( 1.1 )
= #$ (1 + + %* ∗ !)
"(!) %& ∗ !
Donde Kp es la ganancia proporcional, Ti es el tiempo integral y Td es el tiempo
derivativo [22].
1.7.3 CALIBRACIÓN DE CONTROLADORES PID.
Es el proceso de seleccionar los parámetros del controlador. Se utilizan las reglas
de “Ziegler-Nichols” para afinar controladores PID basándose en la respuesta
experimental del sistema ante una señal escalón de entrada.
[Link] Método basado en la curva de reacción
A continuación se describe brevemente este procedimiento de calibración.
1. En lazo abierto, aplicar una señal escalón para llevar a la planta a un punto de
operación. La salida de la planta se estabiliza en y(t) = y0 para una entrada
constante u(t) = u0.
2. En el instante inicial t0, aplicar un cambio en la entrada escalón u∞, desde u0 a
u∞, (u∞ debería estar en un rango de 10 al 20% de rango completo).
3. Registrar la salida hasta que se estabilice en el nuevo punto de operación,
como se muestra en el ejemplo de la Figura 1.19.
Calcular los parámetros del modelo de la siguiente forma:
-. − -,
#, = ; 3 = 45 − 4, ; % = 46 − 45 ( 1.2 )
0. − 0,
21
Figura 1.19 Respuesta de la planta al escalón en lazo abierto [22].
El objetivo es alcanzar un amortiguamiento de tal forma que exista una relación de
4:1 entre el primer y el segundo pico de la respuesta a una entrada escalón [22].
Los parámetros recomendados por “Ziegler-Nichols” se puede observar en la
Tabla 1.4.
Tabla 1.4. Parámetros de ajuste (método de curva de reacción) [22].
Kp Ti Td
P % - -
#, 3
PI 0.9 % 33 -
#, 3
PID 1.2 % 23 0.5 3
#, 3
1.8 COMUNICACIÓN INALÁMBRICA
1.8.1 WIFI
Fidelidad sin cables (“Wireless Fidelity”) es una tecnología inalámbrica que utiliza
el estándar 802.11 para crear redes, conectando dispositivos entre sí, a Internet y
a las redes de cable que utilizan la tecnología Ethernet las cuales funcionan en las
bandas de 2,4 y 5 GHz de radio.
22
Las bandas de “Wi-Fi” son de "licencia libre", haciendo que los fabricantes
aseguren pasar los estándares de interoperabilidad establecidos por la
certificación “Wi-Fi” [23].
1.9 MODELO OSI
El Modelo OSI se divide en 7 capas, las cuales describen el proceso de
comunicación y transmisión de información entre equipos [24].
Las capas del modelo accesibles para el usuario son la capa Física y la capa de
Aplicación.
Figura 1.20. Modelo OSI [25].
1.9.1 CAPA DE APLICACIÓN
Proporciona los servicios que soportan las aplicaciones de usuario como la gestión
de mensajes, transferencia de archivos y consultas a base de datos. Además
ofrece acceso general a la red. Esta capa a su vez proporciona la interfaz y se
encarga de gestionar los protocolos SMTP, Telnet, ftp, http, para el intercambio de
información [24].
23
1.9.2 CAPA DE PRESENTACIÓN
Convierte los paquetes de la capa de aplicación en un formato legible por todas
las computadoras. El formato viajará por el resto de capas del modelo OSI (las
capas siguientes adjuntan elementos al paquete). Esta capa cifra y comprime los
datos para reducir su tamaño [24].
1.9.3 LA CAPA DE SESIÓN
Establece y finaliza el enlace de comunicación entre la computadora emisora y
receptora ubicando puntas de control en la secuencia de datos, además
proporciona cierta tolerancia a fallos dentro de la sesión de comunicación.
Maneja dos tipos de protocolos, la comunicación orientada a la conexión (TCP) y
Ia comunicación sin conexión (UDP).
En los TCP los equipos conectados establecen parámetros relativos a la creación
de los puntos de control en los datos, mantienen la conexión mientras se
transfieren los datos y finalizan simultáneamente la sesión de transferencia [24].
1.9.4 LA CAPA DE TRANSPORTE
Se refiere al control del flujo de datos entre los nodos que establecen una
comunicación para que los datos se entreguen en la secuencia correcta y sin
errores. Se encarga de evaluar que los paquetes tengan el tamaño requerido por
las capas inferiores [24].
1.9.5 LA CAPA DE RED
Direcciona y entrega los paquetes, las direcciones IP (direcciones lógicas) se
convierten en direcciones físicas (direcciones de hardware de la NIC, la Tarjeta de
Interfaz para Red).
El “router” opera en esta capa y utiliza los protocolos de enrutamiento para
direccionar los paquetes de datos [24].
1.9.6 LA CAPA DE ENLACE DE DATOS
Los paquetes de datos se ubican en tramas, definidas por la arquitectura de red
(como Ethernet, Token Ring, etc.). La capa desplaza los datos a través del enlace
24
físico hasta el nodo receptor e identifica cada computadora en la red de acuerdo a
su dirección de hardware.
A cada trama se añade las direcciones de envío y recepción como
encabezamiento. Los protocolos que operan en esta capa utilizan un Chequeo de
Redundancia Cíclica (Cyclical Redundancy Check o CRC) al final de cada trama,
que es un valor, el cual se calcula en la computadora emisora y en la receptora. Si
los dos valores CRC coinciden, significa que se recibió la trama correcta sin sufrir
error alguno durante su transferencia [24].
1.9.7 LA CAPA FÍSICA
Las tramas provenientes de la capa de enlace se convierten en una secuencia
única de bits que puede transmitirse por el entorno físico de la red.
Además determina los aspectos físicos de la red (es decir, los cables, hubs y el
resto de dispositivos que conforman el entorno físico de la red) hasta llegar a la
NIC de la computadora [24].
1.9.8 SERVIDOR WEB
Atiende y responde las peticiones de navegadores, proporcionando los recursos
solicitados. Utiliza el protocolo HTTP o el HTTPS (la versión cifrada y autenticada).
Un servidor web básico ejecuta infinitamente el siguiente bucle:
- Espera peticiones en el puerto TCP (por defecto para HTTP es el 80).
- Recibe una petición.
- Busca el recurso.
- Envía el recurso utilizando la misma conexión por la que recibió petición.
Un servidor web que siga el esquema anterior cumplirá todos los requisitos
básicos de los servidores HTTP [26].
1.9.9 PROTOCOLO HTTP
El Protocolo de Transferencia de HiperTexto (“Hypertext Transfer Protocol”) es un
protocolo cliente-servidor, controla los intercambios de información entre los
clientes y los servidores HTTP.
25
Soporta servidores de conexión TCP/IP, funciona de la siguiente manera: un
proceso servidor escucha en un puerto de comunicaciones TCP (por defecto, el
80), y espera las solicitudes de conexión de los clientes Web. Cuando la conexión
es exitosa, el protocolo TCP mantiene la comunicación y garantiza un intercambio
de datos sin errores [27].
[Link] Comunicación entre el navegador y el servidor
Se lleva a cabo en dos etapas:
1. El navegador realiza una solicitud HTTP.
2. El servidor procesa la solicitud y después envía una respuesta HTTP.
Figura 1.21 Protocolo TCP/IP [27].
[Link] Solicitud HTTP
Una solicitud HTTP es un conjunto de líneas que el navegador envía al servidor.
[Link].1 Una línea de solicitud
Establece el tipo de documento solicitado, el método que se aplicará y la versión
del protocolo utilizada. Está formada por tres elementos separados por un espacio:
· El método.
· La dirección URL.
· La versión del protocolo utilizada por el cliente (por lo general, HTTP/1.0).
26
[Link].2 Los campos del encabezado de solicitud
Aportan información adicional sobre la solicitud y/o el cliente (navegador, sistema
operativo, etc.). Cada una de estas líneas está conformada por un nombre que
describe el tipo de encabezado, seguido de dos puntos (:) y el valor del
encabezado [27].
[Link].3 El cuerpo de la solicitud
Son líneas opcionales que deben estar separadas de las líneas precedentes por
una línea en blanco y permiten el envío de datos por un comando POST utilizando
un formulario.
[Link] Respuesta HTTP
Es un conjunto de líneas que el servidor envía al navegador y constituida por:
[Link].1 Una línea de estado
La línea está compuesta por tres elementos que deben estar separados por un
espacio:
· La versión del protocolo.
· El código de estado.
· El significado del código.
[Link].2 Los campos del encabezado de respuesta
Aportan información sobre la respuesta y/o el servidor, está conformada por un
nombre que califica el tipo de encabezado, seguido por dos puntos (:) y el valor del
encabezado.
[Link].3 El cuerpo de la respuesta
Contiene el documento solicitado.
Así, una respuesta HTTP posee la siguiente sintaxis:
HTTP/1.0 200 OK Date: Sat, 15 Jan 2000 [Link] GMT Server: Microsoft-IIS/2.0
Content-Type: text/HTML Content-Length : 1245 Last-Modified : Fri, 14 Jan 2000
[Link] GMT
27
1.9.10 BASES DE DATOS
Es una entidad en la cual se almacenan datos de manera estructurada. Diferentes
usuarios y programas pueden utilizar la información almacenada, logrando
visualizar, ingresar o actualizar los datos con los privilegios de acceso otorgados.
Es más eficiente a medida que los datos almacenados se incrementan.
Figura 1.22. Esquema de base de datos en red [27].
Puede ser local, siendo utilizada por un sólo usuario en un equipo, o distribuida,
donde la información es almacenada en equipos remotos y se puede acceder a
ella por medio de una red.
La principal ventaja del uso de bases de datos es que múltiples usuarios pueden
consultar la información al mismo tiempo [27].
1.9.11 PHP
Es un lenguaje de código abierto para el desarrollo web y puede ser combinado en
HTML.
El servidor ejecuta el código, generando HTML y retornándolo al cliente. El cliente
recibe el resultado de haber ejecutado el “script”, aunque no se sepa el código
subyacente. El servidor web puede ser configurado para que procese todos los
ficheros HTML con PHP.
28
Soporta varios tipos de bases de datos. Desarrollar una página web con acceso a
una base de datos es generalmente simple, empleando alguna de las extensiones
específicas de bases de datos (mysql), o por medio de una capa de abstracción
como PDO, o conectarse a cualquier base de datos que permita el estándar de
Conexión Abierta a Bases de Datos por medio de la extensión ODBC. Otras bases
de datos podrían recurrir al uso de “cURL” o “sockets”, como lo hace “CouchDB”.
PHP tiene útiles características de procesamiento de texto, las cuales incluyen las
expresiones regulares compatibles con Perl (PCRE), y muchas extensiones y
herramientas para el acceso y análisis de documentos XML [28].
29
CAPITULO 2
2 DESARROLLO DEL HARDWARE
En este capítulo se presenta el diseño del prototipo, tanto la estructura como el
dimensionamiento de los componentes electrónicos.
2.1 DISEÑO DE LA ESTRUCTURA DEL PROTOTIPO
Para el diseño del prototipo se ha tomado en cuenta las dimensiones que ocupa
un cultivo de 20 lechugas, la separación que debe existir entre plantas
corresponde a 20cm entre plantas y 25cm entre hileras.
Se ubicaron los canales de cultivo a diferentes alturas formando una especie de
escalera para reducir el tamaño ocupado por el sistema. A partir de esto el área
del sistema es de aproximadamente 0.86 m2. Las Medidas se muestran en la
Figura 2.1
Figura 2.1. Medidas del prototipo vista superior
El sistema NFT tiene una inclinación de tubos colectores que corresponde al 2%,
por facilidad se utilizaron tornillos sin fin para ubicar la tubería a una altura
adecuada.
La forma del invernadero es un invernadero tipo Túnel debido a su tamaño y la
facilidad para manipular la temperatura.
30
Figura 2.2. Estructura del prototipo (vista lateral).
De acuerdo a las especificaciones del cultivo también se ha escogido una
recubierta de polietileno que tenga una transparencia de 60%, con lo que se
cumple con el rango de iluminación adecuado para días soleados.
2.2 IMPLEMENTACIÓN Y DESARROLLO DEL HARDWARE
2.2.1 SISTEMAS MICROPROCESADOS
Para definir el sistema microprocesado a emplearse es adecuado identificar las
entradas y salidas a manejarse. Estas se detallan en la Tabla 2.1.
Se utilizaron 3 comunicaciones seriales, 1 canal I2C, 4 canales analógicos y 24
pines digitales dando un total de 36 pines del microcontrolador. Para tener una
reserva de pines se ha decidido usar una placa Arduino MEGA que tiene como
procesador al ATMEGA 2560 que posee 4 puertos de comunicación serial, 1
puerto de comunicación I2C y 16 canales analógicos. Sus características se
muestran en la Tabla 2.2.
31
Tabla 2.1. Número de Pines utilizados en el Sistema microprocesado.
Análisis de Entradas Tipo Salidas Tipo
Periféricos
Sensores
pH 1 Análoga - -
Temperatura 2 Análoga - -
LDR 1 Análoga - -
Electroconductividad 1 Serial 1 Serial
Nivel 1 Digital 1 Digital
Actuadores
Bomba - - 1 Digital
Ventilador Calefactor - - 1 Digital
Ventiladores auxiliares - - 1 Digital
Niquelina - - 1 Digital
Bomba pH - - 1 Digital
Bomba A - - 1 Digital
Bomba B - - 1 Digital
LCD - - 7 Digital
Teclado 8 Digital - -
Comunicaciones
Wifi 1 Serial 1 Serial
Reloj (DS1307) 1 SDA - -
1 SCL - -
PC 1 Serial 1 Serial
Total 18 18
32
Tabla 2.2. Características del ATmega 1280 y ATmega 2560.
Memoria EEPROM RA Pines de PWM de 16 Serial Canal
Flash M propósito bits USART ADC
general
Atmega 128KB 4KB 8 86 12 4 16
1280 KB
ATmega 256KB 4 KB 8 86 12 4 16
2560 KB
2.2.2 ARQUITECTURA DEL SISTEMA
El Internet de las Cosas (IoT del inglés “Internet of Things”) en estos últimos años
ha tomado popularidad en el campo de la electrónica y sistemas microprocesados,
esta idea involucra la posibilidad de que cualquier elemento, por más simple que
sea, disponga de una conexión a internet, y pueda intercambiar información con
otros.
El invernadero está orientado al internet de las cosas es así que el invernadero
recoge los datos de pH, Electroconductividad, Temperatura, Nivel, Luminosidad,
estado de los actuadores y los envía a una base de datos alojada en un Servidor
Web, para tener un registro de todas las variables mencionadas, además cualquier
persona que tenga acceso a internet puede interactuar con el invernadero
hidropónico cambiando valores de los parámetros de control para cada variable
controlada, a través de una interfaz web alojada en el mismo servidor web, es así
que se implementa la arquitectura mostrada en la Figura 2.3.
33
Actuadores
Base de Datos
Internet
Servidor Router Router Sistema
Interfaz Web Microprocesado Sensores
con conexión
“WiFi”
Usuarios
Figura 2.3. Arquitectura del Sistema de comunicación.
2.2.3 SISTEMA DE VISUALIZACIÓN
El sistema de visualización consta de una pantalla LCD 20x4 como el indicado en
la Figura 2.4 trabajando a cuatro hilos para la comunicación con el
microcontrolador.
Para mantener el contraste estable en el transcurso del tiempo se selecciona un
potenciómetro de precisión de 10KΩ.
Figura 2.4. Conexión de LCD 20X4 al microcontrolador.
34
2.2.4 TECLADO
El teclado utilizado es un teclado 4x4 de membrana para evitar rebotes y es
manejado por interrupciones la conexión se muestra en la Figura 2.5.
El teclado es utilizado para navegar en las diferentes opciones que se muestran
en la pantalla LCD.
Figura 2.5. Conexión del teclado al microcontrolador.
Las filas son configuradas como entradas, se ha activado PULL-UP e
interrupciones de cambio de estado, las columnas están conectadas como salidas
y escritas a uno lógico.
2.2.5 RELOJ EN TIEMPO REAL.
El sistema cuenta con un reloj en tiempo real que permite controlar la bomba de
recirculación que se acciona cada 15 minutos, así como el envío de datos al
servidor web que se lo realiza cada minuto.
El reloj en tiempo real es un DS1307 alimentado con una batería externa la cual
permite que la hora y fecha almacenada no se borre, incluso habiendo un apagón
o corte de energía.
35
La comunicación con el microcontrolador es por el protocolo I2C, como se muestra
en la Figura 2.6.
Figura 2.6. RTC diagrama del conexión [29].
El DS1307 es un reloj/calendario que posee 56 bytes de NV SRAM. Dirección y
datos son transferidos a través de 2 hilos serie, bus bi-direccional, funciona en el
formato de 24 horas o en 12 horas con indicador AM/PM. Puede detectar fallas de
energía y cambiar automáticamente a la batería de respaldo [29].
El DS1307 funciona como un dispositivo esclavo en el bus, se tiene acceso con
una condición de “START” (Inicio) y la prestación de un código de identificación
del dispositivo seguido de una dirección de registro, se puede acceder a registros
posteriores de forma secuencial hasta que es ejecutada una condición “STOP”.
Los pines de comunicación son SCL y SDA.
SCL (Serial Clock Input) - sincroniza el movimiento de datos en la interfaz de
serie.
SDA (Serial Data Input/Output) - es el pin entrada/salida para la interfaz 2-hilos.
Los pines son de drenaje abierto por ello requiere de una resistencia de “PULL-
UP” conectada al bus.
36
Se establece una corriente de 500uA que se especifica la hoja de datos para el
manejo en el Bus, la resistencia de “PULL-UP” es:
@AA ( 2.1 )
?=
B*CDCE*E
5 [@]
?=
500[0F]
? = 10[#Ω]
X1, X2 - Conexiones para un cristal de cuarzo estándar 32.768kHz.
Las direcciones para los registros del RTC y RAM del DS1307 es mostrado en la
Figura 2.7. Los registros de RTC están situados en localizaciones de dirección
00h a 07h. Los registros RAM están situados en dirección de localizaciones 08h a
3Fh.
Figura 2.7. Mapa de dirección del DS1307 [29].
2.2.6 ACTUADORES
[Link] Bomba de recirculación y mezcla
Es una bomba utilizada en acuarios y estanques con pre-filtro, resistente a la
suciedad del agua, posee dos salidas de agua.
Permite recircular la solución nutritiva hacia las tuberías, y de regreso al tanque
colector, mientras que la segunda salida permite mezclar la solución nutritiva
dentro del tanque colector, esta bomba se enciende en intervalos de quince
37
minutos, tiene una capacidad de 1400l/h, funciona a 110V y 34W, e impulsa hasta
una altura máxima de 2m.
Es controlada mediante un relé.
Figura 2.8. Bomba de recirculación y mezcla.
[Link] Bombas inyectoras
Se utiliza tres bombas que trabajan a 12V y 1,5A.
Las plantas consumen los nutrientes de la solución nutritiva, para compensar la
disminución de estos nutrientes el sistema cuenta con dos bombas que son las
encargadas de inyectar los nutrientes mayores y menores en la solución nutritiva
La tercera bomba es la encargada de inyectar el regulador de pH.
Figura 2.9. Bombas de nutrientes mayores y menores.
38
[Link] Lámparas
El sistema cuenta con dos lámparas incandescentes de 200W a 110V, son
controladas mediante un PID que actúan en un control de fase de onda completa,
y se encienden de acuerdo a la cantidad de luz dentro del invernadero.
Figura 2.10. Lámparas incandescentes.
[Link] Calefactor-ventilador
El calefactor internamente consta de una niquelina de 2000W, un ventilador de
120Vac y un termostato bimetálico, este sistema es el encargado de inyectar aire
caliente al sistema.
El ventilador tiene un control ON-OFF y permite impulsar el aire alrededor de las
niquelinas.
Figura 2.11. Calefactor y ventilador.
39
[Link] Ventiladores
Para el enfriamiento del invernadero, se utilizan cinco ventiladores, dos de 12V,
0,15A de “8cm x 8cm x 2,5cm”, dos ventiladores de 12V 0,20A de “12cm x 12cm x
2,5cm” y un ventilador de 110V 0,21A el cual se enciende conjuntamente con el
ventilador-calefactor.
Figura 2.12. Ventilador.
2.2.7 MEDICIÓN Y CONTROL DE VARIABLES
[Link] Temperatura
El rango de trabajo para la temperatura del invernadero es de 20 a 25 °C, con esto
se cumple con las especificaciones para el cultivo de lechuga.
El sensor elegido fue el circuito integrado LM35, este sensor de temperatura
permite obtener una señal analógica, cuya tasa de cambio es 10mV/°C y un error
de ±0.5°C.
La resolución del canal analógico del Arduino MEGA es de 10 bits, por lo tanto no
se requiere de un circuito acondicionador, porque el rango mínimo de medición
corresponde a 1 °C.
@LMN ( 2.2 )
?H!IJ0A&óK =
2O − 1
5[@]
?H!IJ0A&óK = = 4.89[R@]
25,−1
Se puede detectar 4.89mV con el canal analógico, lo que equivale a detectar
cambios de temperatura de 0.48°C.
40
Se utilizan dos sensores colocados de tal forma que se obtenga un promedio de la
temperatura interna del invernadero.
[Link].1 Control de Temperatura
El control de temperatura es un PID digital, implementado en base a la Ecuación
(2.3) [30]:
u(n) = Kp ∗ H(K) + Ki ∗ T U HV + Kd ∗ [H(K) − H(K − 1)]/T ( 2.3 )
V
Que actúa sobre un circuito conversor AC-DC que controla la cantidad de potencia
entregada a una niquelina de calefacción.
Las niquelinas poseen una protección mecánica que es un termostato bimetálico
regulable el cual se abre cuando excede una temperatura de 160°C. Para
sincronizar los disparos con la red eléctrica se utiliza un circuito para la detección
del cruce por cero, Figura 2.13, la salida es enviada a una interrupción del
microcontrolador que inicia el contador para el disparo en el ángulo deseado
según lo indique el control.
Figura 2.13. Circuito para detectar el cruce por cero.
Se realiza los cálculos para que no exceda la corriente máxima del LED del 4n25
BXYZ = 60mA.
41
@&K − @JH_ ( 2.4 )
?1 =
B_H!H`_`
120√2[@] − 1.3[@]
?1 =
20[RF]
?1 = 8,42[KΩ]
Seleccionando un valor comercial disponible en el mercado:
?1 = 10[KΩ]
La corriente real que circula a través de los diodos y el LED es:
@&K − @JH_ ( 2.5 )
BeC* =
?1
120√2[@] − 1.3[@]
BeC* =
10[#Ω]
BeC* = 16,84[mA]
La potencia mínima requerida de la resistencia es:
f = B 6 ?1 ( 2.6 )
f = (16,84[RF])6 10[#Ω]
f ≥ 2,83[h]
Seleccionando un valor comercial disponible en el mercado:
?1 = 10[KΩ]@ 5[h]
Los diodos D1, D2, D3, D4 que se usan como rectificador son diodos 1N4007 de
señal a 1000V y 1A suficientes para soportar el voltaje de entrada y la corriente
circulante.
El transistor de acoplamiento tiene un @kMDEl = 0.5V y BkM = 2RF, de la hoja de
características se tiene un (Current Transfer Ratio) CTR=0.2, si la corriente del
diodo es BN = 16.84RF:
Bk ( 2.7 )
q%? =
BN
Bk = 0.2 ∗ 16.84[RF] = 3.37[RF]
42
@M = BM ∗ ?M ( 2.8 )
BM ≈ Bk
@M 5[V] − 0.5[V]
?M = = = 1.33[#Ω]
BM 3.37[mA]
Para que la corriente sea menor a la antes mencionada se ha elegido una
resistencia de ?2 = 10KΩ.
La potencia entregada a la carga (niquelina) es regulada con un circuito conversor
AC/DC de media onda controlado.
Se utiliza el control de media onda debido a que es un circuito fácil de
implementar y controlar, además, es suficiente para entregar la potencia necesaria
a las niquelinas de calefacción.
Figura 2.14. Circuito para control de niquelina.
La corriente máxima del LED del MOC3021 es BXYZ = 50mA, la corriente máxima
que entrega el pin del microcontrolador es 40mA y la suma de corriente de todos
los pines del puerto no debería exceder los 200mA por lo que no se debe exceder
dicha corriente y se elige una corriente de 20mA con lo que R3 es:
@&K − @JH_
?3 =
B_H!H`_` ( 2.9 )
5[@] − 1.3[@]
?3 =
20[RF]
?3 = 185[Ω]
43
Eligiendo un valor comercial se tiene R3=220Ω.
La corriente real que circula a través del LED del opto-triac es:
@&K − @_&I_I ( 2.10 )
BeC* =
?1
5[@] − 1.3[@]
BeC* =
220[Ω]
BeC* = 16,81[mA]
Suficiente para activar el opto-triac.
La carga es una niquelina de 2000W de potencia, por lo que su resistencia es:
@Ltv 6 ( 2.11 )
f=
?3
(120[@])6
?3 =
2000[h]
?3 = 7,2[Ω]
El SCR controla el voltaje entregado a la carga, con lo que la potencia máxima
entregada a la carga es:
( 2.12 )
De la Ecuación (2.11) se tiene:
√2
(120[@] 2 )6
f=
7,2[Ω]
f = 1000[h]
Con lo que la corriente máxima que circula a través de SCR y la carga es:
f = @Ltv BLtv ( 2.13 )
44
1000[h]
BLtv =
√2
120 2 [@]
BLtv = 11,78 [F]
Con los datos de la carga se dimensiona el SCR:
BvkL = 1.3Bw ( 2.14 )
BvkL = 1.3(11,78[F]) = 15,3[F]
@LL = 2(@Ltv ) ( 2.15 )
2 ∗ 120x2[@]
@LL = = 169 [@]
2
Se selecciona el BT152-600R que soporta una corriente RMS de 20A y un voltaje
de 650V.
La corriente máxima en la compuerta para activar el SCR Bz{|E} = 32RF, para
evitar daños en la compuerta se elige la mitad de la corriente máxima por tanto
Bz{ = 16RF. Se calcula para las peores condiciones es decir a un disparo con un
ángulo de 90 teniendo:
@&K − @_&I_I ( 2.16 )
?2 =
Bz{
120√2[@] − 0.7[@]
?2 =
16[RF]
?2 = 10,56[KΩ]
Se elige una resistencia existente en el mercado, debido a que no se calculó para
la corriente máxima, se puede elegir una de valor menor ?2 = 10 KΩ.
La corriente máxima que circularía a través del diodo de protección y la compuerta
es:
@&K − @_&I_I ( 2.17 )
Bz{ R`~ =
?2
45
120√2[@] − 0,7[@]
Bz{ R`~ =
10[#Ω]
Bz{ R`~ = 16.90[mA]
El diodo es utilizado para protección de corrientes reversas, se elige el diodo
1N4007 a 1000V, 1A.
[Link] Intensidad Luminosa
Las plantas de lechuga deben recibir de 12000 a 30000 luxes al día, por lo tanto al
recibir 600 luxes durante 20 horas se asegura el valor mínimo requerido en un día.
Para medir la cantidad de luz en el invernadero se ha utilizado una LDR que se
acondiciona conectar a una entrada analógica del microcontrolador, e
internamente obtener su equivalente en un rango de 500 a 1100 luxes.
Figura 2.15. Sensor de Intensidad Luminosa [31].
EL sensor utilizado para la medición de intensidad luminosa es un LDR que varía
su resistencia de acuerdo a la cantidad de luxes, matemáticamente, la relación
entre la iluminancia y la resistencia de una LDR sigue una función potencial.
( 2.18 )
El sistema debe estar en capacidad de entregar de 600 luxes a 1000 luxes, se
realiza la linealización del LDR para medir dentro de este rango.
46
Para hallar la resistencia del LDR en función la luminosidad, se realiza un divisor
de tensión y se mide su voltaje a diferentes luxes, para ello se coloca en serie una
resistencia R1 de 10KΩ.
Se toma medidas de la intensidad luminosa con un luxómetro marca MASTECH,
modelo ms8209, y se mide el voltaje del divisor, con la Ecuación (2.18) se halla el
valor de la resistencia del LDR en función de la cantidad de luxes.
?1 ∗ @wL ( 2.19 )
?wL =
@AA − @wL
Obteniendo los resultados de la Tabla 2.3.
Tabla 2.3. Conversión de Luxes a resistencia.
Intensidad Voltaje LDR
Luminosa (Luxes) (V) Resistencia(Ω)
147 1,46 4124,29
276 1,24 3297,87
495 1 2500
945 0,77 1820,33
1941 0,55 1235,96
Con la ayuda de Excel los resultados son interpolados hallando la respuesta que
gobierna al LDR como se indica en la Figura 2.16.
Iluminancia vs Resistencia
2500
1941
Intensidad luminosa
2000
1500
(lx)
945
1000
495
500 276
147
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500
Resistencia (Ω)
Figura 2.16. Intensidad Luminosa vs Resistencia del LDR.
47
Se comprueba que el LDR tiene una función potencial, para linealizarla se coloca
una resistencia en paralelo al LDR, con la ayuda de Excel y la Ecuación (2.20) se
prueba valores para la resistencia en serie y en paralelo al LDR hasta obtener una
función lineal del voltaje que ingresará al canal análogo.
?wL ||?2 ∗ @AA ( 2.20 )
@wL =
?wL ||?2 + ?1
Para una resistencia en serie (R1) al LDR de 1KΩ y una resistencia en paralelo
(R2) al LDR de 100KΩ se obtiene los resultados de la Tabla 2.4.
Tabla 2.4. Voltaje del LDR linealizado.
Voltaje(V) Luxes(lx)
1,84 612
1,75 708
1,66 812
1,57 916
1,45 1024
Se obtiene la gráficas de voltaje vs intensidad luminosa para los datos de la Tabla
2.4 y se tiene una función lineal como se muestra en la Figura 2.17, que es la
ecuación que permitirá al microcontrolador relacionar el voltaje con la intensidad
luminosa.
Iluminosidad vs Voltaje
1200
Iluminosidad (luxes)
1000
800
600 y = -1071.9x + 2587.2
400
200
0
1.00 1.20 1.40 1.60 1.80 2.00
Voltaje (V)
Figura 2.17. Voltaje vs. Intensidad Luminosa linealizado.
48
Teniendo así el circuito de la Figura 2.18 para acondicionar el LDR.
Figura 2.18. Circuito acondicionador para la LDR.
[Link].1 Control de intensidad luminosa
Para el control de la intensidad luminosa se utiliza un control PI digital el cual
envía la señal de control a un circuito de potencia, que es el encargado de regular
la cantidad de energía entregada a las lámparas.
En la Figura 2.19, se observa un control de fase de onda completa, donde se
regula la cantidad de potencia que se suministra a las lámparas.
Figura 2.19. Circuito para el control de Intensidad Luminosa.
49
Se utiliza un arreglo de dos SCR en antiparalelo para utilizar el mismo disparo y
dimensionar los componentes como si se tratase de un rectificador de media onda
controlado, si se utiliza un TRIAC se necesita un manejo estricto en la compuerta
para evitar daños en la misma.
La corriente máxima del LED del MOC3021 es BXYZ = 50mA, se elige una
corriente de 20mA con lo que R3 se calcula con la Ecuación (2.9).
5[@] − 1.3[@]
?3 =
20[RF]
?3 = 185[Ω]
Eligiendo un valor comercial tenemos ?3 = 220Ω.
La corriente máxima en la compuerta para activar el SCR es Bz{|E} = 32RF, para
evitar daños en la compuerta se elige la mitad de la corriente máxima por tanto
Bz{ = 16RF se calcula para las peores condiciones es decir a un disparo con un
ángulo de 90° teniendo:
@&K − @_&I_I ( 2.21 )
?6 =
Bz{
120√2[@] − 0.7[@]
?6 =
16[RF]
?6 = 10,56[KΩ]
Se elige una resistencia existente en el mercado, debido a que no se calculó para
la corriente máxima, se puede elegir una de valor menor ?6 = 10 KΩ.
La corriente máxima que circularía a través del diodo de protección y la compuerta
es:
@&K − @_&I_I ( 2.22 )
Bz{ R`~ =
?6
120x2[@] − 0,7[@]
Bz{ R`~ =
10[#Ω]
Bz{ R`~ = 16.90[mA]
50
El diodo es utilizado para protección de corrientes reversas, se ha utilizado el
diodo 1N4007 de 1000V, 1A.
La carga son dos lámparas de 200W de potencia, por lo que su resistencia es:
@Ltv 6 ( 2.23 )
?3 =
f
(120[@])6
?3 =
200[h]
?3 = 72 [Ω]
El SCR controla el voltaje entregado a la carga, la potencia máxima entregada a la
carga es la mostrada en la Ecuación (2.11). Para cada ciclo de onda se utiliza un
SCR, por lo tanto, el voltaje rms es el de un circuito de media onda, la ecuación
para calcular ese voltaje se muestra en la Ecuación (2.12).
@Ltv 6
f=
?3
120√2
( [@])6
f= 2
72 [Ω]
f = 100 [h]
Con lo que la corriente máxima que circula a través de SCR y la carga es:
BLtv = f/@Ltv ( 2.24 )
100[h]
BLtv =
120√2
2 [@]
BLtv = 1.18 [F]
Con los datos de la carga se dimensiona el SCR, con la Ecuación (2.14):
BvkL = 1.3(1.18[F]) = 1,53[F]
Las lámparas se conectan en paralelo la corriente del SCR es el doble es decir
deben soportar un mínimo 3,05A.
51
El voltaje que debe soportar se calcula con la Ecuación (2.15).
2 ∗ 120√2
@LL = = 169 [@]
2
Se selecciona el BT151 que soporta una corriente RMS de 12A y un voltaje de
650V.
[Link] pH
El rango adecuado de pH para un cultivo hidropónico es de 5 a 7, se ha elegido un
sensor que puede permanecer sumergido en la solución nutritiva por un tiempo de
12 meses, por lo tanto, permite la adquisición de información de manera continua
a lo largo del proceso.
Este conjunto consta de una sonda y se realiza una placa que permite medir de
forma sencilla el pH de un líquido y que ofrece un valor analógico proporcional a la
medición.
Figura 2.20. Sonda para medición de pH [32].
La sonda entrega los valores mostrados en la Tabla 2.5.
Tabla 2.5. Valores de voltaje de la sonda de pH [32].
Voltaje (mV) Valor de Ph Voltaje (mV) Valor de pH
414.12 0.00 - 414.12 0.00
354.96 1.00 - 354.96 1.00
295.80 2.00 - 295.80 2.00
236.64 3.00 - 236.64 3.00
177.48 4.00 - 177.48 4.00
118.32 5.00 - 118.32 5.00
59.16 6.00 - 59.16 6.00
0.00 7.00 0.00 7.00
52
El circuito para el acondicionamiento del sensor de pH consta de tres etapas como
se muestra en la Figura 2.21.
La primera etapa acopla la impedancia de la sonda de pH, la cual es muy alta y al
medir con un multímetro la lectura es cero, para solucionar este problema se
implementa un seguidor de voltaje con compensación de offset, utilizando un
amplificador operacional de entrada tipo JFET el cual acopla la impedancia de
entrada del sensor, además proporciona un pequeño voltaje de “offset” el cual es
controlado con un potenciómetro y permite la calibración del sensor.
Se utiliza el operacional TL082 el cual consta de dos circuitos operacionales de
entrada tipo JFET con alta impedancia de entrada.
Figura 2.21. Acondicionamiento para la medición de pH.
La salida de la primera etapa viene dada por la Ecuación (2.25).
?2 ?2 ( 2.25 )
@I = ( + 1)@&K ± (@HH)
?1 ?1
53
Para una ganancia del voltaje entregada por el sensor aproximadamente 1 se
elige R1 muy alta, por lo tanto se selecciona R1=1MΩ; mientras R2 debe ser baja,
con lo que se selecciona R2=33KΩ, la ganancia del voltaje de entrada está dada
por la Ecuación (2.26).
33 ( 2.26 )
= + 1 @&K
1000
= 1,033@&K
El voltaje de offset viene dado por la segunda parte de la Ecuación (2.27),
obteniendo lo siguiente:
?2 ( 2.27 )
@I = ± (@HH)
?1
33[#Ω]
@I = ± (@HH)
1000[#Ω]
@I = ±0,033(@HH)
Donde Vee es el voltaje entregado por el potenciómetro de precisión y varía entre
-12V y 12V, así la variación del “offset” varía entre 0V y ±0.396V.
Se escoge un potenciómetro de 50KΩ para evitar corrientes parásitas.
La primera etapa permite la calibración de la sonda de pH, este tipo de electrodo
se desgasta con el tiempo por lo que la pendiente de la curva suele cambiar. La
medición en el punto centro a pH 7 debe marcar un voltaje de 0V.
Al medir el voltaje luego de la primera etapa se tiene que con un pH de 4 se tiene
180mV, con un pH de 7 se tiene 0V y con un pH de 10 se tiene un voltaje de -
180mV, recordando que la primera es una etapa inversora, se obtiene la curva
mostrada en la Figura 2.22.
54
200
150
100
Voltaje (mV) 50
0
0 2 4 6 8 10 12
-50
-100
-150
-200
pH
Figura 2.22. Voltaje vs pH.
Con estos datos se realiza el acondicionamiento para ingresar la señal a un canal
análogo del microcontrolador, la Ecuación (2.28) rige esta respuesta.
@I = 10@&K + 2,5 ( 2.28 )
Donde 2,5 es la compensación de voltaje para la calibración de la medida a pH 7,
obteniendo la curva mostrada en la Figura 2.23.
5
4.5
4
3.5
Voltaje )(V)
3
2.5
2
1.5
1
0.5
0
0 2 4 6 8 10 12
pH
Figura 2.23. Señal de Voltaje amplificada.
55
La segunda etapa se utiliza para de obtener la ganancia de la ecuación deseada
para ello primero se diseña un amplificador inversor con ganancia 10 teniendo lo
siguiente.
?4 ( 2.29 )
=
?3
Se elige R4=10KΩ con lo que R3=1KΩ.
R5 es una resistencia que permite eliminar ruidos no deseados del circuito
amplificador inversor y es igual a:
?5 = (?4||?3) ( 2.30 )
10[#Ω] ∗ 1[#Ω]
?5 =
10[#Ω] + 1[#Ω]
?5 = 909[Ω]
?5 = 1[#Ω]
La tercera etapa suma un voltaje DC al voltaje ya amplificado con una variación de
-4V a 4V, para ello se diseña un divisor de tensión que está conectado a -12V y
12V.
La variación es de 8V y el voltaje total de 24V, es decir se desea una variación de
1/3 del voltaje total, se colocan dos resistencias iguales y un potenciómetro central
de igual valor a las resistencias el cual permita dicha variación.
Se selecciona de R6=47KΩ, R7=47KΩ y un potenciómetro de precisión de 50KΩ,
de la salida variable del potenciómetro se envía el voltaje a un seguidor de voltaje
para mantenerlo estable.
Finalmente se suma la señal de DC y el voltaje ya amplificado del sensor para ello
se utiliza un circuito amplificador diferencial con ganancia uno, seleccionando
todas sus resistencias de 10KΩ, es decir:
R8=R9=R10=R11=R12=10KΩ.
56
A la salida se colocan como protección de sobre voltaje un diodo Zener de 5,1V el
cual protege al canal análogo de sobre-voltajes, y para evitar que ingresen voltajes
negativos se coloca un diodo 1N4007, que permite el ingreso sólo de voltajes
positivos al canal análogo.
Las características del diodo zener son: @ = 5.1@ B = 49RF.
@ ( 2.31 )
? =
B
5.1[@]
? = = 104,08[Ω]
49[RF]
Se selecciona una resistencia estándar de 100 Ω que es menor a la calculada, la
corriente sube pero se mantiene cercana a la corriente nominal.
[Link].1 Control de pH
El control de pH se lo realiza por histéresis para encender o apagar la bomba que
contiene el regulador de pH, para ello se utiliza el circuito de la Figura 2.24.
Figura 2.24. Circuito para activar las bombas.
Para el 4N25 se tiene una BeC* = 60RF, se escoge una corriente menor para evitar
daños en el led, entonces se calcula R4 con la Ecuación (2.4).
57
5[@] − 1.5[@]
?4 = = 175[Ω]
20[RF]
Para evitar daños en el led se escoge una resistencia mayor R4=220 Ω. Con la
Ecuación (2.5) se calcula la corriente que circula por el led.
3.5[@]
BeC* =
220[Ω]
BeC* = 15,90[mA]
De las Ecuaciones (2.7) y (2.8) mencionadas anteriormente, se obtiene:
Bk = 0.2 ∗ 15.90[RF] = 3.18[RF]
@M 12[V] − 0.5[V]
?5, = = = 3.16[#Ω]
BM 3.18[mA]
Para entrar en saturación con el transitor se elige R10= 10KΩ.
Las bombas funcionan a 12V y 1.6A por lo que se ha seleccionado mosfet IRF840,
D4 es un diodo 1N4007 de protección al apagado al no trabajar con PWM no es
necesario un diodo FAST RECOVERY, unicamente se enciende o apaga pero no
a alta frecuencia.
La ventana de histéresis se muestra en la Figura 2.25, donde el valor de referencia
puede ubicarse en el rango de 5,5 a 6,5 y con una ventana de histéresis variable
entre 1 y 2.
Figura 2.25. Ventana de histéresis para el control de pH.
58
[Link] Electroconductividad
El rango de electro conductividad para un cultivo hidropónico de lechuga es de
1500µS/cm a 2500µS/cm.
Se elige un sensor que además pueda permanecer sumergido por un tiempo
indefinido y que permita adquirir la información de manera continua.
El circuito EZOTM para conductividad permite tener la medida de electro-
conductividad, total de solidos disueltos, salinidad. Este circuito tiene estas
características:
Tabla 2.6. Características circuito EZOTM [16].
Lectura Conductividad, Total de solidos disueltos, salinidad.
Precisión +/- 2%
Calibración A cualquier valor de EC y requerida una vez por
año.
Protocolo de Datos UART comunicación serial asíncrona.
I2C (dirección por defecto 0x64).
Voltaje de operación 3.3 V a 5 V
Compatibilidad de electrodo Cualquier valor de K desde K 0.1 a 10
Figura 2.26. Diagrama de Conexión Para comunicación UART [16].
59
Este circuito se utiliza con la punta de prueba de electroconductividad “K1.0” que
tiene un rango de medición de 5µS/cm a 200,000µS/cm. Sus características
principales se muestran en la Tabla 2.7.
Tabla 2.7. Características de la punta de prueba “K1.0” [16].
Rango de Medición 5µS/cm a 200,000µS/cm
Superficie de Medición Platino negro recubierto de platino
Material del Cuerpo Epoxico
Temperatura máxima 0-70°C
Máxima presión PSI 200 PSI
Longitud de Cable 1m
Peso 51 gramos
Conector BNC
Esterilización Si
Figura 2.27. Electrodo de EC K1.0 [16].
[Link].1 Control de electroconductividad
La electroconductividad se controla por histéresis para encender o apagar bombas
que contienen las soluciones para inyectar nutrientes al tanque colector, para ello
se utiliza el circuito de la Figura 2.24, descrito anteriormente.
La ventana de histéresis se muestra en la Figura 2.28, donde el valor de referencia
puede ubicarse en el rango de 1750 a 2250 microSiemens y con una ventana de
histéresis variable entre 200 y 500.
60
Figura 2.28. Ventana de histéresis para el control de electroconductividad.
[Link] Medición de Nivel
Para medir el nivel del tanque colector se utilizó el medidor de distancia
ultrasónico HC-SR04.
Figura 2.29. Sensor de distancia HC-SR04 [33].
[Link].1 Control de la bomba de recirculación
La bomba de recirculación es una bomba a 110V, 0.4A, la cual se enciende cada
15 minutos todos los días para ello se utiliza un control ON/OFF mediante un relé
utilizando el circuito de la Figura 2.30.
61
Figura 2.30. Circuito de conexión para bomba de recirculación.
El optoacoplador aisla el control del circuito de potencia y tiene los mismos valores
calculados para los circuitos anteriores.
La carga se conecta al relé que abre o cierra el circuito, el relé es a 10A, 250VAC
suficiente para manejar la carga y se activa a 12VDC.
D1 y D2 son diodos de protección 1N4007 mientras que el transistor es un 2N3904
que trabaja como interruptor.
R3 se obtiene a partir de la corriente de saturación de transistor:
@&K − @_&I_I − @H ( 2.32 )
?3 =
B
12[@] − 0.7[@] − 0.95[@]
?3 =
5[RF]
?3 = 2070[Ω]
Seleccionando una resistencia existente en el mercado ?3 = 2,2#Ω.
62
2.2.8 CONEXIÓN A RED WIFI
[Link] Módulo ESP 8266
El módulo ESP8266 permite añadir comunicación “WiFi” a un Sistema
microprocesado vía comunicación UART. Las características principales del
módulo son:
- Protocolo 802.11 b/g/n
- Access Point (AP)
- Protocolo TCP/IP integrado
El módulo opera 3.3V de alimentación, así como su comunicación para ello se
necesita disminuir el voltaje para comunicarse con un microcontrolador. Para ello
se implementa el circuito de la Figura 2.31.
Las características del diodo zener son: @ = 3.3@ B = 76RF
@ ( 2.33 )
? =
B
3.3[@]
? = = 43.42[Ω]
76[RF]
Seleccionando una resistencia existente en el mercado y procurando que la
corriente sea menor ? = 47Ω.
Figura 2.31. Circuito para acondicionar la comunicación serial de 5V a 3V.
63
El módulo funciona con comandos AT, la configuración de fábrica (00160901
firmware) tiene una velocidad de transmisión de 115200.
La conexión con el sistema microprocesado se muestra en la Figura 2.32.
Figura 2.32. Conexión del Módulo ESP 8266.
64
CAPÍTULO 3
3 DESARROLLO DEL SOFTWARE
En este capítulo se describe el desarrollo de los programas de control
implementados en el Arduino Mega y el desarrollo de la interfaz web.
3.1 DESARROLLO DEL SOFTWARE DEL SISTEMA
MICROPROCESADO
3.1.1 TECLADO
El teclado es manejado por interrupciones de cambio de estado y permite elegir un
usuario sea invitado o administrador, al ingresar se muestra un menú con las
diferentes variables del proceso: pH, Electroconductividad, temperatura, luz, nivel,
hora, fecha y atrás, al elegir uno de ellos se muestra los datos de los mismos en la
pantalla, y finalmente se tiene la opción para cambiar la referencia e histéresis de
los controladores, así como de la hora y fecha del sistema, es así que se puede
elegir un usuario, una variable y una acción.
En la Figura 3.1, se presenta el diagrama de flujo para el manejo del teclado.
Al presionar una tecla entra a la interrupción, se realiza un barrido de teclado, se
decodifica el teclado y dicho valor se asigna a un contador con el cual se conoce
que usuario, que variable y que acción se eligió.
3.1.2 CONTROL DEL SISTEMA DE VISUALIZACIÓN
La Figura 3.2, muestra un diagrama de flujo donde se indica el menú de acceso a
las diferentes variables a medir y configurar por medio de la LCD. Al momento de
seleccionar una opción se accede al menú interno que presenta cada variable, por
ejemplo el pH, en donde se puede visualizar el valor de la variable medida y
configurar los parámetros para el control de dicha variable.
65
INT TECLADO
DECODIFICAR
TECLADO
CONTADOR=0 SI CONTADOR=1 SALIR
NO
CONTADOR=1 SI CONTADOR=2 USUARIO=TECLA SALIR
NO
CONTADOR=2 SI CONTADOR=3 VARIABLE=TECLA SALIR
NO
CONTADOR=3 SI CONTADOR=4 ACCION=TECLA SALIR
Figura 3.1. Manejo del teclado.
Para realizar cambios en las variables de control establecidas, es necesario
ingresar en modo administrador, para lo cual se debe ingresar la clave, si el
ingreso es exitoso se accede al menú descrito en la Figura 3.2, o si la clave es
errónea se muestra un mensaje de alerta.
66
SELECCIONAR
OPCION
OPCION=0 VER MENU FIN
NO
OPCION==1 SI VER PH
NO
OPCION==2 SI VER EC
NO
OPCION==3 SI VER TEMPERATURA
NO
OPCION==4 SI VERLUZ
NO
OPCION==5 SI VER NIVEL
NO
OPCION==6 SI VER HORA FIN
NO
OPCION==7 SI VER FEHA
NO
CONTADOR=2
OPCION==A OPCION=0
LLAVE=0
ELSE
MENSAJE
INGRESE VALOR INDICADO
FIN
Figura 3.2. Manejo de Menú.
67
El manejo del LCD es similar a una máquina de estados, se asigna un contador el
cual se ingresa por teclado y permite saber si estamos ingresando usuario,
seleccionando una variable o cambiando un parámetro del sistema así se puede
entrar o salir de las diferentes opciones ya que conociendo el estado actual se
puede avanzar o retroceder en el menú como se indican en la Figura 3.3.
Primero se elige un usuario, una variable a visualizar y finalmente un parámetro de
la variable que se está visualizando.
En la Figura 3.4, se muestra en resumen el manejo de cambios de parámetros, el
cual está relacionado directamente con el manejo del teclado porque las mismas
variables permiten mostrar los diferentes mensajes en pantalla, los parámetros
que se pueden cambiar son referencia e histéresis para el control de pH y
electroconductividad, y sólo referencia para el control de temperatura e intensidad
luminosa debido a que son control tipo PID.
Los parámetros se pueden cambiar sólo dentro de cierto rango y cuando se ha
ingresado como administrador, si un invitado desea realizar cambios de estos
parámetros el LCD mostrará un mensaje de alerta.
Además, el sistema cuenta con un reloj en tiempo real que se puede igualar
mediante el panel local.
68
ESCRIBIR LCD
DESACTIVAR
MENSAJE
SELECTOR==HIGH NO INTERRUPCIONES FIN
MODO REMOTO
DE TECLADO
SI
SI
CONTADOR==0 MENSAJE0 FIN
NO
MENSAJE
CONTADOR=1 FIN
INGRESE USUARIOS
NO
MENSAJE
CONTADOR==2 SI USUARIO==1 SI FIN
MENU
NO
INGRESE CLAVE MENSAJE
USUARIO==2 SI CLAVE==TRUE FIN
ADMINISTRADOR MENU
NO NO
USUARIO==A SI CONTADOR=1 FIN
NO
ELSE
MENSAJE
INGRESE VALOR
INDICADO
SELECCIONAR
CONTADOR==3 SI FIN
VARIABLE
NO
SELECCIONAR
CONTADOR==4 SI CONTADOR=3 FIN
ACCION
Figura 3.3. Manejo de las Opciones a mostrar en el LCD.
69
CAMBIAR
PARAMETRO
USUARIO=ADMINISTR
NO MENSAJE ALERTA CONTADOR=2 FIN
ADOR
SI
OPCION=1 ACCION=1 SI CAMBIAR SET FIN
ACCION=0 NO
II SI
OPCION=2
SI NO
CAMBIAR
CONTADOR=2 ACCION=2 SI FIN
HISTERESIS
NO
FIN
ACCION=3 SI VER ACTUADORES FIN
NO
ELSE
MENSAJE
ACCION=0
INGRESE VALOR FIN
CONTADOR=2
INDICADO
OPCION=3 NO ACCION=1 SI CAMBIAR SET FIN
II SI ACCION=0
OPCION=4
SI ELSE
CONTADOR=2
MENSAJE
ACCION=0
INGRESE VALOR FIN
CONTADOR=2
INDICADO
NO FIN
OPCION=6 NO ACCION=1 SI ESCRIBIR EN RTC FIN
II SI ACCION=0
OPCION=7
SI ELSE
CONTADOR=2
MENSAJE
ACCION=0
INGRESE VALOR FIN
CONTADOR=2
INDICADO
FIN
Figura 3.4. Cambiar datos del sistema.
70
3.1.3 RELOJ EN TIEMPO REAL
La Figura 3.5, indica la configuración, lectura y escritura de los datos en el
DS1307.
El funcionamiento del chip se controla mediante el bit 7 del registro del segundero
(0x00) y el registro de control (0x07), para ello una vez abierta la comunicación
I2C se direcciona a estos registros.
El bit CH del segundero, detiene el reloj cuando está en 1L y en este modo no se
lleva el conteo de tiempo porque el oscilador está detenido. Es importante poner a
cero para que el RTC funcione. El registro de control maneja la funcionalidad del
pin de salida de onda cuadrada.
Escribir
Hora
Abrir
comunicación
I2C
Direccionar
DS1307
Leer Hora y
Fecha en los
registros
Cerrar
comunicación
FIN
Figura 3.5. Manejo del RTC.
71
3.1.4 CONTROL DE TEMPERATURA
Se ha implementado un control PID digital, la lectura de los sensores llegan al
canal análogo A4 y A6 respectivamente, estos valores son promediados para
obtener el valor de la temperatura y el microcontrolador realiza el algoritmo
entregar la potencia necesaria a la niquelina por medio del control del ángulo de
disparo del SCR. La Figura 3.6, muestra el algoritmo para el control PID.
CONTROL
TEMPERATURA
TIMER 5==PERIODO
SI
CALCULO DEL ERROR
E(KT)=R(KT)-Y(KT)
CALCULO DEL TERMINO
PROPORCIONAL
p(KT)= KP*E(KT)
CALCULO DEL TERMINO INTEGRAL NO
i(KT)= Ki*E(KT)+i(KTo)
CALCULO DEL TERMINO
DERIVATIVO
d(KT)= Kd*E(KT)-kd*e(KTo)
CONTROL=P(KT)+i(KT)+d(KT)
i(Ko)=i(KT)
E(KTo)=E(KT)
FIN
Figura 3.6. Algoritmo para el control de temperatura.
72
Para la calibración del PID fue necesario obtener el modelo del sistema, para ello
se obtuvo una tabla de valores de “temperatura vs tiempo” para después a través
de la herramienta “sisotool” de Matlab aproximar el modelo a un sistema de
segundo orden tal como se muestra en la Figura 3.7 y la Figura 3.8.
Figura 3.7. Modelado del sistema de Temperatura usando “sisotool”.
Figura 3.8. Modelo obtenido con 2 polos.
73
En la Tabla 3.1, se muestran los comandos usados para obtener la función de
transferencia.
Comandos Resultado
>> ft1=tf([1.005],[0.32809 1]);
>> ft2=tf([1],[0.31645 1]);
>> ft=ft1*ft2;
y2=feedback(ft,1)
Transfer function:
1.005
-----------------------------
0.1038 s^2 + 0.6445 s + 2.005
>> step(y2)
El error de posición es: Ep = 1- 0.50 = 0.5
Tabla 3.1. Respuesta al escalón del sistema en lazo cerrado.
Luego usando el método de la curva de respuesta de “Ziegler-Nicholls” se obtiene
los parámetros del controlador.
Tabla 3.2. Respuesta del sistema en lazo abierto.
Comando Resultado
>>step(ft)
Se toma los valores de L=0.0808 y T=0.9012.
74
Con las ecuaciones descritas en la Tabla 1.4 en el capítulo 1 se calcula los
parámetros del PID.
% ( 3.1 )
# = 1.2 ∗
3
0.9012
# = 1.2 ∗
0.0808
# = 26.77
%& = 2 ∗ 3 ( 3.2 )
%& = 2 ∗ 0.0808
%& = 0.1616
%_ = 0.5 ∗ 3 ( 3.3 )
%_ = 0.5 ∗ 0.0808
%_ = 0.0404
Los comandos mostrados en la Tabla 3.3, permiten obtener la respuesta del PID:
Tabla 3.3. Respuesta del sistema con el PID.
Comandos Resultado
>> pid3=tf([107.08 4.32
26.77],[0.1616 0])
Transfer function:
107.1 s^2 + 4.32 s + 26.77
--------------------------
0.1616 s
>> gc3=pid3*ft
Transfer function:
107.6 s^2 + 4.342 s + 26.9
-----------------------------------
0.01678 s^3 + 0.1042 s^2 +
0.1616 s
>> y3=feedback(gc3,1)
Transfer function:
107.6 s^2 + 4.342 s + 26.9
----------------------------------------
0.01678 s^3 + 107.7 s^2 + 4.503 s
+ 26.9
>> step(y3)
Para implementar el PID en el microcontrolador se debe discretizar los valores
obtenidos:
# = 26.77
75
# ( 3.4 )
#& =
%&
26.77
#& = = 165.66
0.1616
#_ = # ∗ %_ ( 3.5 )
#_ = 26.77 ∗ 0.0404 = 1.08
En el microcontrolador se utiliza un “Prescaler” 64 el cual equivale a 4us, y usando
la interrupción por desbordamiento = 65536 se obtiene que el tiempo de muestreo
es T = 0.26seg.
Finalmente, los valores obtenidos para el PID digital implementado son los que se
muestran.
u(n) = Kp ∗ H(K) + Ki ∗ T U HV + Kd ∗ [H(K) − H(K − 1)]/T ( 3.6 )
V
F = # ( 3.7 )
F = 26.77
= #& ∗ % ( 3.8 )
= 165.66 ∗ 0.26
= 42.9676
#_ ( 3.9 )
q=
%
1.08
q=
0.26
q = 4.15
3.1.5 CONTROL DEL PH
El rango adecuado para el crecimiento de las plantas y la absorción de los
nutrientes es de pH 5 a pH 7.
Debido a que la solución nutritiva recircula por las plantas el pH de la solución
aumenta, por lo que es necesario bajar dicho pH y mantener en el rango deseado.
76
El control del pH se lo realiza por histéresis ya que es una variable que cambia
lentamente y depende del número de plantas. A mayor número de plantas el
cambio del pH será más notorio, en el prototipo esta es una variable lenta y que
puede oscilar en valores cercanos a la referencia, por lo tanto, el control por
histéresis es suficiente, en la Figura 3.9 se indica el algoritmo para el control de
pH.
CONTROL PH
PH>=set+histeresis
Bomba bajar PH=ON FIN
&& bomba bajar PH==OFF
NO
PH<=set-histeresis &&
SI Bomba bajar PH=OFF FIN
bomba bajar PH==ON
NO
FIN
Figura 3.9. Algoritmo para control de pH.
3.1.6 CONTROL DE ELECTROCONDUCTIVIDAD
La electroconductividad indica la cantidad de nutrientes disueltos en la solución
nutritiva que recircula, además son absorbidos por las plantas así que es
necesario controlar o aumentar nutrientes a la solución, al igual que el pH la
variable depende del número de plantas. A su vez, es una variable lenta, cuyo
valor puede oscilar en un rango, por lo tanto, un control por histéresis es suficiente
para mantener al sistema con la cantidad necesaria de nutrientes.
La Figura 3.10 muestra el algoritmo para el control de electroconductividad.
77
CONTROL EC
EC>=set+histeresis
Bomba subir EC=OFF FIN
&& bombas subir ec==ON
NO
EC<=set-histeresis &&
SI Bombas subir EC=ON FIN
bombas subir ec==OFF
NO
FIN
Figura 3.10. Algoritmo para control de electroconductividad.
3.1.7 CONTROL DEL NIVEL DE ILUMINACIÓN
El nivel de iluminación dentro del invernadero se realiza mediante un control PI
digital, el microcontrolador recibe la señal acondicionada de la LDR y realiza el
algoritmo para dar el disparo deseado al circuito de potencia, permitiendo entregar
la potencia necesaria para encender las luces del invernadero.
La Figura 3.11 indica el algoritmo utilizado para el control de iluminación.
78
CONTROL DE
ILUMINACION
TIMMER5 = NO
PERIODO DE
MUESTREO
SI
CALCULO DEL
ERROR
E(KT)=R(KT)-Y(KT)
CONTROL=KP*E(KT)-I(KT)
FIN
Figura 3.11. Algoritmo para control de Iluminación.
3.1.8 CONTROL DE LA BOMBA DE RECIRCULACIÓN
La bomba de recirculación es la que permite que la solución que se encuentra en
el tanque colector circule a través de las plantas y de regreso cada 15 minutos, el
sistema microprocesado lee la hora del RTC y enciende o apaga la bomba.
La Figura 3.12, muestra el algoritmo utilizado para el control de la bomba de
recirculación.
El sensor ultrasónico es utilizado para medir el nivel de la solución dentro del
tanque colector, si se detecta que está bajo el nivel mínimo la bomba es apagada
ya que no debe trabajar en vacío.
79
CONTROL BOMBA
RECIRCULACION
MINUTO>=0&&MINUTO <=15
Nivel>nivel BOMBA
II SI Si FIN
minimo RECIRCULACION=ON
MINUTO>=30&&MINUTO <=45
NO
BOMBA
NO
RECIRCULACION=OFF
FIN
Figura 3.12. Algoritmo para control de la bomba de recirculación.
3.1.9 CONEXIÓN, ENVIÓ Y RECEPCIÓN DE DATOS VÍA WIFI
La conexión a internet se la realiza vía “Wifi” con el módulo ESP8266, el sistema
tiene dos opciones de trabajo modo local y remoto.
En modo local los cambios del sistema sólo se los puede realizar manualmente
con el sistema de visualización y teclado, los datos recolectados se envían al
servidor web cada minuto.
En modo remoto se pueden realizar cambios desde la interfaz web por lo que el
sistema recibe datos desde el servidor y envía datos al servidor es decir es una
comunicación bidireccional.
La Figura 3.13, muestra el algoritmo de envío de datos desde el microcontrolador
hacia la base de datos almacenada en el servidor web, mientras que la Figura
3.14, muestra el algoritmo para la petición de parámetros de configuración en caso
de que se haya modificado alguno de ellos desde la interfaz web.
80
ENVIAR DATOS A BD
Segundos==00 NO FIN
SI
CONETADO A
NO CONECTAR A RED
RED?
SI
Conectar al servidor
via TCP por el NO
puerto 80
Conectado al
NO Contador++ CONTADOR==4
servidor?
SI
SI
CONTAR Y ENVIAR
NUMERO DE
CARACTERES
CONEXION FALLIDA
CONTADOR=0
Enviar datos al documento
[Link] mediante el metodo
GET
Contador=0
FIN
Figura 3.13. Algoritmo para envío de datos.
81
RECIBIR DATOS
Segundos==00 NO FIN
SI
CONETADO A
NO CONECTAR A RED
RED?
SI
Conectar al servidor
via TCP por el NO
puerto 80
Conectado al
NO Contador++ CONTADOR==4
servidor?
SI SI
CONTAR Y ENVIAR
CONEXION FALLIDA
NUMERO DE
CONTADOR=0
CARACTERES
Pedir datos al documento
[Link]
Contador=0
FIN
Figura 3.14. Algoritmo para recepción de datos.
3.1.10 PROGRAMA PRINCIPAL
En el programa principal se realiza llamadas a las diferentes funciones vistas
anteriormente. El programa principal es un bucle infinito mientras que la
configuración de puertos seriales, comunicación I2C, e inicialización del LCD, se
82
realiza una sola vez al arrancar el microcontrolador como se muestra en la Figura
3.15.
Inicio
DEFINIR PUERTOS DE
ENTRADA/SALIDA
CONFIGURAR
CONADORESDE TIEMPO
CONFIGURAR
INTERRUPCIONES
CONFIGURAR
COMUNICACIÓN SERIAL E
I2C
CONFIGURAR LCD 20x4
CONECTADO A CONECTAR A RED
NO
RED? WIFI
SI
MAIN
LEER HORA RTC
LEER Y ESCALAR SENSORES
MODO
SELECTOR=HIGH NO GO TO MAIN
REMOTO
SI
MODO LOCAL GO TO MAIN
Figura 3.15. Programa Principal.
83
3.1.11 SELECCIÓN DE MODO LOCAL O REMOTO
El sistema tiene dos modos de trabajo que son local y remoto. La elección se
realiza con un selector de dos posiciones conectado a un pin del microcontrolador
configurado como entrada con “PULL-UP” e interrupción activada, cuando llega un
cero lógico realiza lo asignado en modo remoto caso contrario lo asignado para
modo local como se indica en la Figura 3.16.
MODO LOCAL MODO REMOTO
ESCRIBIR LCD
ESCRIBIR LCD
CONTROL EC
CONTROL EC
CONTROL PH
CONTROL PH
CONTROL
CONTROL TEMPERATURA
TEMPERATURA
CONTROL BOMBA
CONTROL BOMBA DE RECIRCULACION
DE RECIRCULACION
CONTROL DE LUZ CONTROL DE LUZ
ENVIAR DATOS A
ENVIAR DATOS A BASE DE DATOS
BASE DE DATOS
RECIBIR DATOS
FIN DESDE BASE DE
DATOS
FIN
Figura 3.16. Modo local y remoto.
84
En modo local el sistema permite cambios solo desde el panel de control ubicado
en el invernadero, mientras que en modo remoto se puede realizar cambios desde
la interfaz web. Al seleccionar modo remoto el teclado del panel es bloqueado
para evitar cambios no deseados, únicamente es permitido cambios desde
interfaz.
3.2 DESARROLLO DE LA INTERFAZ WEB
La interfaz Web se considera como el sistema encargado de recibir la información
enviada desde el sistema microprocesado, almacenar esta información en la base
de datos y mostrarla por medio de una página web.
Para que la información enviada se almacene en la base de datos, se utiliza el
método GET que permite obtener la información enviada a una URL específica en
el servidor.
En el algoritmo de comunicación con el módulo “WiFi” desarrollado en el sistema
microprocesado, la información es codificada como una cadena de caracteres y
luego se decodifica usando un “script” en el servidor.
Para diseñar la funcionalidad de la interfaz web se ha realizado un caso de estudio
usando la teoría de desarrollo de software.
3.2.1 REQUERIMIENTOS DEL SISTEMA
Los requerimientos del sistema se refieren a todos los escenarios posibles que se
generan al usar el sistema de visualización web, en los siguientes puntos se
describe cada aspecto considerado para la realización de la interfaz web. Estos
escenarios son:
· El sistema consta de tres usuarios: Invitado, operador y administrador.
· El sistema se inicia como invitado y a su vez le permite ingresar como
operador mediante un “login”.
· Para ingresar como operador, el sistema permite el ingreso del usuario y
contraseña en cualquier momento, una vez validado el usuario, se muestra
la interfaz web del usuario, caso contrario permanece como invitado.
85
· La interfaz web del operador consta con un botón de salida. Al salir del
sistema muestra la interfaz de invitado.
· Los invitados tienen acceso a una ventana de información sobre la
hidroponía.
[Link] Interfaz Web de Invitado
- El invitado es una persona externa a la planta que visita la interfaz web para
obtener información del producto y el proceso de dicho producto.
- El invitado solo podrá visualizar el estado de los actuadores y valores
actuales de las variables.
- Cuando ingresa a la web el sistema muestra la interfaz de invitado, la
interfaz web de invitado no permite controlar remotamente la planta además
no permite el acceso a la información de históricos, ya que son datos que
son de interés solo a los administradores y gente involucrada dentro de la
planta.
[Link] Interfaz Web de Operador
- Un operador es una persona que tiene acceso a la planta y conoce el
proceso, por lo que tiene ciertos privilegios en su interfaz web.
- El operador podrá visualizar el estado de los actuadores, valores en línea
de las variables e históricos de las mismas.
- La interfaz web de operador permite controlar remotamente la planta (hacer
cambios en los valores de referencia de las variables).
- Permite obtener reportes del comportamiento de las variables, actuadores,
y cambios realizados desde la interfaz web, indicando fechas de inicio y fin
del reporte.
[Link] Interfaz Web de Administrador
- Al ingresar como administrador, se puede modificar la base de datos, dar
privilegios a usuarios, además cambiar nombres de actuadores y variables,
es decir administrar la interfaz web pero no modificarla.
86
[Link] Actores (ROL)
- Usuario registrado (Administrador de sistemas).
- Usuario registrado (Operador).
- Usuario no registrado (invitado).
[Link] Actor pasivo
- Sistema microprocesado.
[Link] Casos de uso
Los casos de uso sirven para identificar la función de cada actor dentro de la
interfaz web, así como para describir el proceso en el cual interviene.
Tabla 3.4. Cambiar referencia y valores de los controladores.
Nombre: Cambiar referencia y valores de los controladores.
Autor: Nelson Romero, Víctor Yánez
Fecha: 15-nov-2015
Código: CU-01
Descripción: El usuario autenticado como operador puede cambiar valores de referencia
de las variables involucradas en el proceso así como también modificar los valores de los
controladores por histéresis del sistema microprocesado.
Actores: Usuario registrado y el sistema microprocesado.
Precondiciones: El usuario debe estar registrado en el sistema como operador y estar
autenticado, ingresó en el menú visualizar variables y desea cambiar valores de
referencia y controladores de la planta respectivamente.
Flujo Normal:
1. La interfaz muestra la opción de cambio de referencia y parámetros del
controlador en donde el usuario puede ingresar el nuevo valor.
2. El sistema comprueba que los datos sean números y que estén dentro de un
rango permitido y los envía al sistema microprocesado.
3. El sistema muestra un aviso que los datos se cambiaron correctamente.
Flujo alternativo:
2a. Si los datos no son correctos, se avisa al usuario para que los corrija.
2.1b. El usuario cancela la operación o vuelve al menú principal.
a. Se borran los datos ingresados, pero no enviados.
Post-condiciones
1. El usuario registrado sigue autenticado y tiene la opción de regresar al menú
principal.
87
Tabla 3.5. Reportar históricos
Nombre: Reportar históricos.
Autor: Nelson Romero, Víctor Yánez
Fecha: 15-nov-2015
Código: CU-03
Descripción: El usuario accede a los datos históricos de una variable o de un
actuador, así como a los cambios realizados desde la interfaz web.
Actores: Usuario registrado como operador.
Precondiciones: El usuario debe estar registrado en la aplicación web y autenticado.
Flujo Normal:
1. La interfaz web permita ingresar el nombre de la variable o actuador y una
fecha de inicio y de fin de los reportes.
2. El usuario ingresa nombre de la variable o actuador y la fecha de inicio y fin
del reporte de acuerdo al formato preestablecido.
3. El sistema muestra el reporte deseado.
Flujo alternativo:
2a. El sistema comprueba que las fechas estén dentro de un rango permitido.
2b. Si el usuario no ingresa una fecha, se realiza el reporte del día actual.
Postcondiciones:
1. El usuario registrado sigue autenticado y tiene la opción de regresar al menú
principal, salir del sistema o navegar en el sitio web.
Tabla 3.6. Ingresar usuario
Nombre: Ingresar usuario.
Autor: Nelson Romero, Víctor Yánez
Fecha: 15-nov-2015
Código: CU-04
Descripción: El sistema autenticará al usuario.
Actores: Invitado
Precondiciones: El usuario debe estar registrado en el sistema para poder ingresar y
ser autenticado.
Flujo Normal:
1. El sistema muestra una interfaz que permita ingresar un nombre de usuario y
una contraseña.
2. El sistema ingresa a la pantalla principal del usuario registrado.
Flujo alternativo:
1a. El sistema comprueba que los datos sean correctos.
1b. Si los datos son incorrectos, regresa a la página de inicio.
Postcondiciones:
3. El usuario registrado entra al sistema.
88
Tabla 3.7. Salir del sistema
Nombre: Salir del sistema.
Autor: Nelson Romero, Víctor Yánez
Fecha: 15-nov-2015
Código: CU-05
Descripción: Permite salir del sistema al usuario.
Actores: Operador o administrador.
Precondiciones: El usuario está autenticado en el sistema.
Flujo Normal:
1. El usuario desea salir del sistema y presiona salir.
2. El sistema muestra la pantalla principal de invitado.
Flujo alternativo:
No existe.
Postcondiciones:
1. El usuario sale a la pantalla de inicio como invitado.
[Link] Diagrama de Casos de Uso
Este diagrama sirve para describir visualmente toda la información recopilada
anteriormente en cada Tabla.
Figura 3.17. Diagrama de Casos de Uso.
89
[Link] Prototipado de las páginas
En las Figuras 3.18 a 3.33, se muestra el diseño de las páginas que se albergan
en el servidor web, el prototipado se utiliza como una guía para la posterior
programación de la interfaz.
Figura 3.18. Página inicio para un invitado.
El invitado presiona visualizar.
Figura 3.19. Página Visualizar.
90
El invitado selecciona la opción actuadores. Aquí puede seleccionar uno de los
actuadores de la planta.
Figura 3.20. Página Actuadores.
El invitado ha seleccionado uno de los actuadores y puede ver el valor actual de la
variable y el estado del actuador.
Figura 3.21. Página actuadores.
91
El invitado puede seleccionar la opción sensores dentro de la opción visualizar,
aquí puede seleccionar uno de los sensores.
Figura 3.22. Página Menú de Sensores.
Al elegir uno de los sensores se puede visualizar el valor actual del sensor y el
gráfico del mismo.
Figura 3.23. Página Sensores.
92
En todas las pantallas tiene la opción de ingresar como un usuario registrado en el
sistema.
Figura 3.24. Pantalla de Login.
Al ingresar como operador se observa la pantalla mostrada en la Figura 3.25.
Figura 3.25. Página de Usuario.
Al dar clic en “Reportes”, se muestra la interfaz para elegir el reporte a visualizar y
su fecha de inicio y de fin.
93
Figura 3.26. Página Reportes.
Al seleccionar “Actuadores” e ingresar las fechas de inicio y fin se genera el
reporte.
Figura 3.27. Página Reportes Actuadores.
El operador selecciona Visualizar Actuadores y aparece la pantalla mostrada en la
Figura 3.28.
94
Figura 3.28. Página menú Actuadores.
Al seleccionar uno de los actuadores puede visualizar su valor actual y cambiar su
estado.
Figura 3.29. Página Actuadores.
Al seleccionar “Visualizar” y seleccionar “Sensores”, se presentará la pantalla
donde se selecciona la variable a visualizar. (Figura 3.30).
95
Figura 3.30. Página menú Sensores.
Al seleccionar uno de los sensores se visualizará una gráfica de la variable en
función del tiempo, referencia, valor actual y valores configurables del controlador.
(Figura 3.31).
Figura 3.31. Página Sensores.
Al seleccionar “Acerca de…” despliega información sobre el proyecto y enlaces de
información sobre Hidroponía.
96
Figura 3.32. Página de información adicional.
Para un usuario que tiene privilegios de administrador del prototipo y que puede
realizar acciones CRUD (Create, Read, Update and Delete) en las Tablas de la
base de datos, lo puede hacer accediendo directamente a la dirección del servidor,
en donde se ubica “phpMyAdmin” que permite configurar el servidor web.
Figura 3.33. Página de administración del servidor.
97
3.3 DISEÑO DE LA BASE DE DATOS
Para poner en marcha el sistema requerido se analizó los diferentes casos de uso
y los actores del sistema, por lo cual se llega a un diseño de la base de datos que
se muestra en la Figura 3.34.
Figura 3.34. Diagrama de Tablas usadas en la base de datos.
Esta implementación permite tener la información organizada tanto para realizar
consultas a la base de datos como para modificar cada Tabla.
3.4 IMPLEMENTACIÓN DE LA INTERFAZ WEB
La interfaz web permite visualizar los valores de los sensores involucrados en el
proceso y configurar nuevos valores para el control, en el caso de los actuadores
permite cambiar el estado de los mismos.
Para el desarrollo de la interfaz web se ha optado usar el lenguaje de HTML5 por
la facilidad de implementación y la compatibilidad para incluir otros lenguajes
98
como “JavaScript” y PHP, con lo que se puede dar mayor dinámica al sitio web y
acceder a la base de datos del proceso.
El sitio consta de un sistema de ingreso, en el cual el usuario puede acceder con
su nombre y contraseña, una vez ingresado se re-direcciona a una página
principal desde la cual se puede navegar por el sitio.
En la pestaña “Administrar” se accede a verificar configurar el valor de referencia y
los parámetros del control por histéresis para cada variable.
En la pestaña “Reportes” se generan reportes con la información que se requiera
se puede seleccionar entre 3 opciones, una para visualizar el monitoreo de las
variables almacenadas, otra para visualizar el estado de los actuadores y la última
para visualizar los cambios que se realizan cuando se elige el modo remoto.
Los reportes se generan de acuerdo al nombre del sensor o actuador y con la
fecha, toda la información se la obtiene accediendo a la base de datos.
En la pestaña “Salir” se finaliza sesión y se vuelve a la página de “Login”.
También se puede acceder como invitado, el cual solamente puede observar los
valores medidos, pero no puede configurar los parámetros de control de ninguna
variable.
3.4.1 IMPLEMENTACIÓN DE LAS PÁGINAS WEB
Todas las páginas web tienen la estructura definida por HTML, esta estructura
permite visualizar con facilidad el código, al final de cada página se ubica el código
en “JavaScript”.
Igualmente se ha utilizado para los estilos en las letras, código en CSS debido a
que los estilos son comunes en todas las páginas y CSS permite actualizar
modificaciones de estilos en todas las páginas.
99
Figura 3.35 Estructura de código HTML [34].
Las principales instrucciones de HTML que se utilizaron son las que se muestran:
- <h1></h1> Para definir distintos tamaños de letra, en HTML se utiliza el
elemento lleno <Hx> </Hx> donde x es un número que puede variar entre 1
y 6, siendo 1 el tamaño mayor.
- <div></div> Sirve para crear secciones o agrupar contenidos.
La mayoría de elementos usados en HTML tienen atributos semejantes, los cuales
permiten interactuar con las funciones de “JavaScript”, la mayoría de ellos se
muestra en la Tabla 3.8.
100
Tabla 3.8. Atributos de la instrucción DIV [35].
Atributo Descripción Valor
title Texto informativo o título del Texto legible por personas.
elemento. Sensible
Suele mostrarse a modo de "tool a Mayúsculas/minúsculas.
tip". Por defecto: Lo fija el navegador.
id Le da un nombre al elemento que Un nombre único. Sensible
lo diferencia de todos los demás a M/m.
del documento. Por defecto: Lo fija el navegador.
class Asigna nombres de clases al Lista de clases separadas por
elemento. Por defecto, clases espacio en blanco. Sensible a
CSS. M/m.
Por defecto: Lo fija el navegador.
style Permite especificar información de Declaraciones de estilo. Por
estilo. Por defecto, estilos CSS. defecto: Lo fija el navegador.
lang Información sobre el idioma del Un código de idioma. Por defecto:
contenido del elemento y del valor "desconocido". Lo fija el
de sus atributos. navegador.
dir Indica la dirección de
texto y Uno de los
Tablas. siguientes: 'ltr' o 'rtl'. Por defecto:
En castellano 'ltr'. Lo fija el
navegador.
Eventos: onclick, ondblclick, onmousedown, onmouseup, onmouseover,
onmousemove, onmouseout, onkeypress, onkeydown, onkeyup.
<iframe></iframe> Los “frames” (marcos), divide la pantalla en varias áreas
independientes con contenidos distintos, aunque puedan estar relacionados. No
hay límites para el contenido de cada una de estas áreas: tienen las mismas
propiedades que la pantalla completa normal.
Tabla 3.9. Atributos de la instrucción “Iframe” [35].
Atributo Descripción
Name Nombre del “frame” incrustado.
SRC Nombre de la página que se mostrará en el “frame”.
WIDTH Número de pixeles que tendrá el “frame” de ancho.
HEIGHT Número de pixeles que tendrá el “frame” de alto.
101
En la Figura 3.36, se puede observar el funcionamiento de una página
implementada mediante un diagrama de flujo.
Inicio
Validar
Usuario
Cargar Valores
de base de datos
Mostrar Valores
en interfaz
Si Adquirir valores
Cambiar?
de formulario
No
Actualizar Validar
Valores Cambios
Si Cargar
Graficar Mostrar
valores de
Históricos? gráfica
tablas
No
Graficar tiempo Si Cargar datos Mostrar
real? actuales gráfica
No
Fin de tiempo Si Finalizar
sesión? sesion
No
Regreso actualizar
Figura 3.36. Diagrama de flujo de la página inicial.
102
Validar Usuario
Consultar
Tabla de usuarios
Clave Ingreso
Si
correcta? Exitoso
No
Arrancar
Mensaje de tiempo de
Error Estancia
Volver
Figura 3.37. Diagrama de flujo para validar usuario.
Validar
Cambios
Obtener nuevos
valores
Valores Insertar en base
Si
permitidos? de datos
No
Mensaje de Mensaje de
error éxito
Volver
Figura 3.38. Diagrama de flujo para validar cambios
103
Cargar valores de
base de datos
Consultar tabla de
valores actuales
Volver
Figura 3.39. Diagramas de flujo para cargar valores a la base de datos
Finalizar
Sesión
Borrar variables de
inicio de sesión
Volver
Figura 3.40. Diagramas de flujo para finalizar sesión.
El resultado de los diagramas de flujo mostrados anteriormente se muestra en la
Figura 3.41. Donde se observa la página inicial cuando el usuario ingresa al
sistema y está correctamente autenticado.
104
Figura 3.41. Página inicial de la interfaz web.
Desde esta página se puede navegar hacia los sitios de configuración de
parámetros de los sensores o actuadores y los reportes de cada sensor o
actuador. (Figura 3.42).
Figura 3.42. Menú de acceso a configuración de sensores.
Desde este menú se puede acceder a la configuración de cada parámetro de las
variables como referencias y ventanas de histéresis.
105
En la Figura 3.43, se muestra el diagrama de flujo del “script” para la validación de
ingreso de números en “JavaScript”. Todas las páginas utilizan los mismos
“scripts”, así que sólo se muestra el ejemplo de cómo se programa la página de
pH.
Validar Ingreso
de números
Obtener valores del
campo del
formulario
Valores Enviar mediante
Si
permitidos? “Post” al servidor
No
Borrar campos
del formulario
Volver
Figura 3.43. Diagrama de flujo para ingreso de números en el formulario.
En la Figura 3.44, se presenta el diagrama de flujo para el envío de datos desde la
interfaz hacia la base de datos, para esto se utilizó el objeto XmlHttpRequest
(Extensible Markup Language/ Hipertext Transfer Protocol) de “JavaScript” para
realizar peticiones HTTP y HTTPS al servidor web.
Se utilizó formularios donde se ingresa los nuevos valores y a través de un botón
son enviados a la base de datos alojada en el servidor web.
El sistema microprocesado consulta a la base de datos y toma los nuevos valores
ingresados desde interfaz, así la información llega desde la interfaz web al sistema
microprocesado.
106
Enviar Datos
Crear el objeto
XmlHttpRequest
Obtener valores
ingresados en el
formulario
Abrir conexión al
Valores
Si servidor mediante
permitidos?
Ajax
No
Enviar los valores mediante
Mensaje de comando POST hacia el
error archivo “cambio_user.php”
Mensaje de
éxito
Volver
Figura 3.44. Diagrama de flujo para el envío de datos desde la interfaz hacia el proyecto.
El archivo 'cambio_user_ph.php', es un “script” en PHP que toma todos los valores
enviados y hace una validación. Si los datos pasan la validación son insertados
en la base de datos, si no pasan la validación se retorna un mensaje de error.
3.4.2 “HIGHCHARTS” VISUALIZADOR DE GRÁFICOS
“Highcharts” se basa únicamente en las tecnologías de navegación nativas y no
requiere “plugins” del lado del cliente como “Flash” o “Java”. Además, no es
107
necesario instalar nada en el servidor. “Highcharts” necesita sólo el núcleo
“[Link]” para funcionar.
A su vez, permite graficar información obtenida de una consulta a la base de
datos, utilizando Ajax “Asynchronous JavaScript And XML” (“JavaScript” asíncrono
y XML) para hacer las consultas asíncronas en la base de datos y actualizar la
interfaz sin necesidad de recargar la página.
“Highcharts” y “Highstock” funcionan en todos los navegadores modernos,
incluyendo los dispositivos móviles e Internet Explorer desde la versión 6, también
se ejecutan en cualquier servidor que soporte HTML. Puede funcionar inclusive
localmente desde un sistema de archivos, ya que toda la prestación se realiza
localmente en un navegador [36].
Añadir gráfica
Escoger gráfica
tipo “gauge”
Ubicar puntos de
escala e intervalos
Ubicar titulo,
nombre y
colores
Ubicar valor
obtenido desde
el servidor
Actualizar valor
cada 3
segundos
Volver
Figura 3.45. Diagrama de flujo para añadir una gráfica a la página web.
108
El diagrama de flujo de la Figura 3.45, pertenece a un “script” que permite graficar
un indicador en el cual se puede calibrar el rango de funcionamiento, el color, la
pluma, etc.
Para añadir un gráfico de “Highcharts” en HTML se utilizan librerías que permitan
el uso de “jquery”, “highcharts” y “highstock”, estas a su vez permiten mostrar en
gráficas los datos almacenados en la base de datos.
El resultado se muestra en la Figura 3.46.
Figura 3.46. Resultado del Script de “Highcharts” para visualizar pH.
Para la visualización de los valores actuales de sensores y actuadores dentro de
la página web se utiliza la comunicación por “Ajax” y dentro de una función en
“JavaScript”, se actualiza los valores cada 3 segundos. Esta función también
permite que se actualice los valores de la gráfica de “Highcharts”. En la Figura
3.47, se presenta el diagrama de flujo de esta función. Es necesario un archivo
que realiza la consulta a la base de datos, para este ejemplo es ‘[Link]’.
109
Actualizar campos
del formulario
Consultar último
valor ingresado
Recibir variables del valor
actual, referencia e
histéresis
Ubicar variables dentro
del campo respectivo
Actualizar valor
cada 3
segundos
Volver
Figura 3.47. Diagrama de flujo para actualizar los valores del formulario.
El archivo ‘[Link]', envía el último valor almacenado en la base de datos, que
corresponde al valor actual que mide el sensor ubicado en el invernadero.
El resultado de esta implementación es la interfaz que se muestra en la Figura
3.48. Donde se observa el valor actual de la variable medida y los parámetros de
control configurables desde la interfaz. También se puede acceder a una pantalla
de históricos en donde se muestra el gráfico de los datos almacenados.
110
Figura 3.48. Implementación de la página de pH.
Tanto la interfaz de pH, electroconductividad, nivel, temperatura, e intensidad
luminosa se programan de idéntica manera, todas poseen un indicador, gráfica de
históricos, gráficas en línea, valor actual, valor de referencia y la posibilidad de
cambiar valor de referencia o histéresis de ser caso como se muestra en la Figura
3.48.
111
CAPÍTULO 4
4 PRUEBAS Y RESULTADOS
En este capítulo se muestra las pruebas de funcionamiento del prototipo, para ello
se verifica que todos los elementos del sistema funcionen de forma adecuada en
modo manual y remoto.
4.1 DESCRIPCIÓN DE LAS PRUEBAS REALIZADAS
Para comprobar el funcionamiento del prototipo se realizaron pruebas de hardware
y de software. Las pruebas de hardware permiten comprobar el accionamiento de
todos los dispositivos y su correspondiente cambio en el panel local y la interfaz
web.
Las pruebas de software comprueban el funcionamiento del sistema de control y el
sistema de comunicación.
4.1.1 PRUEBAS DE FUNCIONAMIENTO DE HARDWARE
El funcionamiento de los elementos de hardware se comprueba mediante el panel
local y la interfaz web, cada elemento permite visualizar los cambios que se
producen al entrar en funcionamiento. Con estas pruebas también se verifica que
el sistema de comunicación envíe la información de manera correcta hacia la
interfaz web.
En las pruebas se enumera cada actuador y la función específica que cumple,
además de un método de comprobación.
En la Tabla 4.1 y 4.2 se detalla su funcionamiento.
112
Tabla 4.1. Funcionamiento de actuadores.
Funcionamiento de actuadores
Ítem Descripción Accionamiento Método de Si No
de Tarea Comprobación
Alimentación Energizar el Panel local Observar lámpara de X
prototipo señalización de encendido
Selector Selecciona si Pantalla local Observar en la LCD el X
manual – los cambios Interfaz web aviso de modo remoto.
remoto se hacen de
modo local o
remoto
Bomba Impulsar la Pantalla local Observar el estado del X
recirculación solución Interfaz web actuador encendido o
nutritiva apagado.
Niquelinas Aumentar la Pantalla local Observar el estado del X
Calefacción temperatura actuador encendido o
Interfaz web
del apagado.
invernadero
Lámparas Encender 2 Pantalla local Observar el estado del X
lámparas de actuador encendido o
Interfaz web
110V apagado.
Bombas Impulsar los Pantalla local Observar el estado del X
nutrientes A, nutrientes Interfaz web actuador encendido o
B apagado.
Módulo ESP Enviar Pantalla local Observar información de X
8266 información a Interfaz web sensores y actuadores en
comunicación la base de la interfaz web.
Wifi. datos
113
Tabla 4.2. Funcionamiento de sensores.
Funcionamiento de sensores
Ítem Descripción Accionamiento Método de Comprobación Si No
Tarea
pH Medir el pH Panel local Observar el valor de pH en el X
de la Interfaz web panel local y la interfaz web
solución
nutritiva
Electro- Medir el EC Pantalla local Observar el valor de Electro- X
conductividad de la Interfaz web conductividad en el panel
solución local y la interfaz web
nutritiva
Temperatura Medir la Pantalla local Observar el valor de X
temperatura Interfaz web Temperatura en el panel
del local y la interfaz web
invernadero
Luz Medir la Pantalla local Observar la cantidad de X
iluminancia luxes en el panel local y la
Interfaz web
del interfaz web
invernadero
Nivel Medir el nivel Pantalla local Observar el valor de Nivel en X
del tanque el panel local y la interfaz
Interfaz web
colector web
Con los resultados mostrados en la Tabla 4.2, se ha podido verificar que todos los
componentes funcionan adecuadamente.
[Link] Pruebas de medición de pH
Se toman medidas de pH en el lapso de una hora cada cinco minutos, los datos
fueron tomados el 01/09/2016 de [Link] a [Link] am, en el laboratorio de
Instrumentación Electrónica.
114
Los valores medidos por el sistema se comparan con la medición de papeles
indicadores como se muestra en la Figura 4.1, los papeles muestran una medida
entre 5 y 6 de pH.
Figura 4.1. Medición de pH con papeles indicadores.
Para confirmar estos valores se ha tomado un muestra del tanque colector y se ha
comparado con la medida de un equipo especializado del Centro de Investigación
y Control Ambiental (CICAM) de la Escuela Politécnica Nacional, como se muestra
en la Figura 4.2.
Figura 4.2. Medición de una muestra con medidor de pH.
El instrumento de medida utilizado es un pHmetro marca ORICH modelo 420A
SERIE 16918 y calibrado el 04/08/2015.
115
Con ello se verifica que las mediciones del sistema y los papeles indicadores son
similares, además se encuentran dentro de un rango aceptable.
Con los valores medidos por el sistema y los papeles indicadores se tabulan los
valores como se muestra en la Tabla 4.3.
Los valores obtenidos permiten calcular el error absoluto y el error relativo de
acuerdo a la Ecuación (4.1) y (4.2) respectivamente.
"I `!IJ04I = |@`JICEe − @`JI|C*V* | ( 4.1 )
|@`JICEe − @`JI|C*V* | ( 4.2 )
"I HJ`4&I = ~100
`JICEe
Tabla 4.3. Datos de pH en función del tiempo.
Valor Valor Error
Fecha y Hora Real Medido Absoluto Error relativo %
01/09/2016 11:55 6 6,36 0,36 6,00
01/09/2016 11:50 6 6,34 0,34 5,67
01/09/2016 11:50 6 6,13 0,13 2,17
01/09/2016 11:45 6 5,92 0,08 1,33
01/09/2016 11:40 6 5,86 0,14 2,33
01/09/2016 11:35 6 5,96 0,04 0,67
01/09/2016 11:30 6 6,07 0,07 1,17
01/09/2016 11:25 6 6,25 0,25 4,17
01/09/2016 11:20 6 6,23 0,23 3,83
01/09/2016 11:15 6 6,36 0,36 6,00
01/09/2016 11:10 6 6,34 0,34 5,67
01/09/2016 11:05 6 6,37 0,37 6,17
01/09/2016 11:00 6 5,9 0,1 1,67
Promedio 0,22 3,60
Los errores son bajos lo que indica que las mediciones realizadas con el sistema
implementado están correctas y oscilan dentro del valor real.
116
De los valores calculados en la Tabla 4.3, se puede verificar que el pH oscila
alrededor del valor de referencia, lo cual indica que el controlador ON-OFF
implementado permite mantener el pH dentro del rango de trabajo.
Finalmente de la interfaz web se obtiene el histórico del pH como se muestra en
la Figura 4.3, lo que indica que los datos son exitosamente adquiridos por el
sistema microprocesado, enviados a la base de datos y tomados por la interfaz
web para generar el historial del pH medido.
Figura 4.3. Historial de pH.
[Link] Pruebas de medición de Temperatura
Se han tomado medidas de temperatura en el lapso de una hora cada cinco
minutos, los datos fueron tomados el 01/09/2016 de [Link] a [Link] am, en el
laboratorio de Instrumentación Electrónica.
Las mediciones de temperatura se compararon con la medida de un multímetro de
laboratorio de instrumentación electrónica marca Fluke 87V utilizando una
termocupla tipo K como se muestra en la Figura 4.4.
117
Figura 4.4. Medida de temperatura.
Se tabularon los datos obtenidos tomando como valor real la medida del
multímetro y el valor medido se obtiene de los reportes de temperatura,
obteniendo los resultados de la Tabla 4.4.
Tabla 4.4. Datos de Temperatura en función del tiempo.
Error
Fecha y Hora Valor Real Valor Medido Absoluto Error relativo %
01/09/2016 11:55 22,4 22,21 0,19 0,85
01/09/2016 11:50 23,6 21,81 1,79 7,58
01/09/2016 11:50 23,6 21,75 1,85 7,84
01/09/2016 11:45 23,7 22,29 1,41 5,95
01/09/2016 11:40 23,4 21,75 1,65 7,05
01/09/2016 11:35 23,4 22,03 1,37 5,85
01/09/2016 11:30 23,5 22,19 1,31 5,57
01/09/2016 11:25 23,4 22,11 1,29 5,51
01/09/2016 11:20 22,5 22,04 0,46 2,04
01/09/2016 11:15 22,7 22,48 0,22 0,97
01/09/2016 11:10 22,2 21,55 0,65 2,93
01/09/2016 11:05 21,7 21,53 0,17 0,78
01/09/2016 11:00 21,4 21,66 0,26 1,21
Promedio 0,97 4,17
Tanto el error absoluto como el error relativo son bajos, lo que permite concluir
que las medidas tomadas por el sistema se encuentran en valores próximos a los
reales.
118
Se puede observar que la temperatura oscila en el valor de referencia, con lo que
se comprueba que el controlador implementado mantiene la temperatura deseada
para el cultivo.
De la interfaz web se obtiene el histórico de la temperatura para los valores
tabulados, como se muestra en la Figura 4.5, se verifica que el envío y recepción
de datos al servidor web son exitosos. Los valores de temperatura oscilan
alrededor del valor de referencia ubicado en 22°C, la temperatura se mantiene con
un error de 0.5°C. y los picos se deben a que la información es enviada a la base
de datos cada minuto.
Figura 4.5. Historial de Temperatura.
[Link] Pruebas de medición de nivel
Se tomaron medidas del nivel de agua en el tanque colector, en el lapso de una
hora cada cinco minutos, los datos medidos fueron tomados el 01/09/2016 de
11:00 a 12:00 am, en el laboratorio de Instrumentación Electrónica como se
muestra en la Figura 4.6.
119
Figura 4.6. Medición de Nivel.
Las mediciones del nivel de agua en el tanque colector se comparan con las
mediciones de un flexómetro marca Stanley, y se tabulan los datos como se
muestra en la Tabla 4.5.
Tabla 4.5. Datos de Nivel en función del tiempo.
Error Error relativo
Fecha y Hora Valor Real Valor Medido Absoluto %
01/09/2016 11:55 17 17 0,00 0,00
01/09/2016 11:50 19,7 19 0,70 3,55
01/09/2016 11:50 19,7 18 1,70 8,63
01/09/2016 11:45 19 19 0,00 0,00
01/09/2016 11:40 19,2 20 0,80 4,17
01/09/2016 11:35 17,1 17 0,10 0,58
01/09/2016 11:30 17 18 1,00 5,88
01/09/2016 11:25 20 18 2,00 10,00
01/09/2016 11:20 20 19 1,00 5,00
01/09/2016 11:15 19,8 18 1,80 9,09
01/09/2016 11:10 17 19 2,00 11,76
01/09/2016 11:05 16,2 18 1,80 11,11
01/09/2016 11:00 17 19 2,00 11,76
Promedio 1,15 6,27
120
Los errores con respecto a la medida son bajos lo que permite decir que el
sistema implementado para el monitoreo del nivel es adecuado y se encuentra en
un rango aceptable de error.
Se aprecia que el nivel del agua no baja del valor mínimo debido a que el agua
recircula en un sistema cerrado, con lo que la bomba de recirculación nunca
trabaja vacío.
El historial de nivel se obtiene de la interfaz web como se muestra en la Figura 4.7.
Figura 4.7. Historial de Nivel.
[Link] Pruebas de medicion de electroconductividad
Las mediciones del sensor de electroconductividad del sistema se comparan con
la medición de un equipo especializado del Centro de Investigación y Control
Ambiental (CICAM) de la Escuela Politécnica Nacional.
La medición se ha realizado con una muestra de la solución tomada del tanque
colector.
El instrumento de medida utilizado fue un conductímetro marca HACH modelo
sension5 SERIE 071200270015 como se muestra en la Figura 4.8.
121
Figura 4.8. Medición de Electroconductividad con conductimetro.
Las medidas fueron tabuladas y comparadas con la medición del conductimetro
como se muestra en la Tabla 4.6.
Tabla 4.6. Medición de electroconductividad.
valor
Valor real medido Error Error relativo
Fecha y Hora (uS/cm) (uS/cm) Absoluto %
01/09/2016 11:55 1880 1996 116 6,17
01/09/2016 11:50 1880 1990 110 5,85
01/09/2016 11:50 1880 1996 116 6,17
01/09/2016 11:45 1880 1992 112 5,96
01/09/2016 11:40 1880 1989 109 5,80
01/09/2016 11:35 1880 1992 112 5,96
01/09/2016 11:30 1880 1998 118 6,28
01/09/2016 11:25 1880 1998 118 6,28
01/09/2016 11:20 1880 1999 119 6,33
01/09/2016 11:15 1880 1992 112 5,96
01/09/2016 11:10 1880 1992 112 5,96
01/09/2016 11:05 1880 1989 109 5,80
01/09/2016 11:00 1880 1998 118 6,28
Promedio 113,92 6,06
El error de las mediciones es de 6,06%, lo cual permite verificar que el sistema
ofrece medidas cercanas a las reales.
122
De los datos tabulados se comprueba que el controlador ON-OFF implementado
permite regular electroconductividad de una manera correcta.
En la interfaz web se obtiene el historial de los datos obtenidos como se muestra
en la Figura 4.9.
Se puede apreciar que la electroconductividad se mantiene estable, debido a que
los nutrientes que absorben las plantas son pocos, por lo tanto la
electroconductividad permanece invariable.
Figura 4.9. Historial de Electroconductividad.
[Link] Pruebas de medición de luminosidad
Se realizan mediciones para determinar el error de los valores adquiridos por el
sistema con respecto a un patrón y mediciones para verificar la luminosidad en
todas las plantas.
Las mediciones fueron realizadas cada cinco minutos el 13/09/2016 de 17:00 a
18:00 horas, en el laboratorio de Instrumentación Electrónica y con una referencia
de 1000 Luxes, las medidas obtenidas por el sistema se compararon con el
luxómetro de un multímetro marca MASTECH, modelo MS8209, serie 0802152,
como se muestra en la Figura 4.10 los datos se encuentran tabulados en la Tabla
4.7.
123
Figura 4.10. Medición de luminosidad.
Tabla 4.7. Mediciones de intensidad luminosa.
valor medido Error Error
Fecha y Hora Valor real (lx) (lx) Absoluto relativo %
13/09/2016 18:00 990 993 3 0,30
13/09/2016 17:55 1010 998 12 1,19
13/09/2016 17:50 1000 981 19 1,90
13/09/2016 17:45 1010 1012 2 0,20
13/09/2016 17:40 992 980 12 1,21
13/09/2016 17:35 999 1019 20 2,00
13/09/2016 17:30 999 999 0 0,00
13/09/2016 17:25 1014 993 21 2,07
13/09/2016 17:20 999 998 1 0,10
13/09/2016 17:15 998 1020 22 2,20
13/09/2016 17:10 1000 1009 9 0,90
13/09/2016 17:05 1017 1005 12 1,18
13/09/2016 17:00 1012 998 14 1,38
Promedio 11,31 1,13
De los datos tabulados se puede decir que el sistema permite obtener medidas
cercanas a las reales ya que el promedio del error relativo es bajo.
El sistema es capaz de entregar entre 600 luxes a 1000 luxes, además, la
intensidad luminosa dentro del invernadero se mantiene en el valor de referencia,
por lo que el controlador implementado está cumpliendo su función
adecuadamente.
124
De la interfaz web se obtuvo el historial de la intensidad luminosa el resultado se
muestra en la Figura 4.11. Se puede apreciar que el controlador implementado
mantiene la luminosidad dentro del invernadero en el punto de referencia.
Figura 4.11. Historial de luminosidad
Para conocer la iluminación cada una de las 20 plantas se tomaron medidas de la
intensidad luminosa con el luxómetro a diferentes valores de referencia,
verificando que a cada planta le llegue la cantidad adecuada de luxes, como se
muestra en la Figura 4.12. Los datos obtenidos se muestran en la Tabla 4.8.
Figura 4.12. Medición de luminosidad en varios puntos.
125
Tabla 4.8. Mediciones de intensidad luminosa.
Valor de Error Valor de Error valor de Error
referenci relativ Luxe referenci relativ referenci relativ
N Luxes a o% s a o% Luxes a o%
1 594 600 1,01 780 800 2,56 960 1000 4,17
2 580 600 3,45 754 800 6,10 986 1000 1,42
3 555 600 8,11 712 800 12,36 970 1000 3,09
4 553 600 8,50 769 800 4,03 948 1000 5,49
5 561 600 6,95 747 800 7,10 989 1000 1,11
6 660 600 9,09 793 800 0,88 1047 1000 4,49
7 640 600 6,25 846 800 5,44 1016 1000 1,57
8 560 600 7,14 821 800 2,56 965 1000 3,63
9 608 600 1,32 840 800 4,76 1034 1000 3,29
10 540 600 11,11 832 800 3,85 980 1000 2,04
11 607 600 1,15 817 800 2,08 1033 1000 3,19
12 620 600 3,23 824 800 2,91 1047 1000 4,49
13 655 600 8,40 847 800 5,55 1112 1000 10,07
14 596 600 0,67 805 800 0,62 1020 1000 1,96
15 570 600 5,26 817 800 2,08 975 1000 2,56
16 582 600 3,09 796 800 0,50 960 1000 4,17
17 615 600 2,44 812 800 1,48 1072 1000 6,72
18 568 600 5,63 770 800 3,90 1012 1000 1,19
19 584 600 2,74 818 800 2,20 1073 1000 6,80
20 517 600 16,05 720 800 11,11 930 1000 7,53
588,2 Promedio Promedio 1006,4 Promedio
5 5,58 796 4,10 5 3,95
Cuando el valor de referencia se encuentra en el mínimo de 600 luxes, las plantas
10 y 20 reciben la menor cantidad de luz, pero se encuentran dentro del rango
adecuado para su crecimiento. En general la planta 20 recibe la menor cantidad
de luz, pero siempre se encuentra en el rango adecuado para su desarrollo.
La planta 6 y 13 recibe la mayor cantidad de luz, aun así no supera el valor
máximo de luxes al día.
El sistema de iluminación implementado entrega la cantidad adecuada de luz a
todas las plantas, y la localización del sensor permite obtener un promedio general
de la iluminación del prototipo. La luminosidad en cada planta varía pero se
mantiene dentro del rango de trabajo que va de 12000 a 30000 luxes al día.
126
4.1.2 PRUEBAS DE FUNCIONAMIENTO DE SOFTWARE
Para realizar las pruebas de funcionamiento de software, se verifica que el sistema
funcione en modo manual y remoto. Dependiendo del modo escogido se
comprueba que el sistema de control actué para mantener el sistema dentro de los
rangos de trabajo de cada variable medida. En la Tabla 4.9 y 4.10 se detalla su
resultado.
Tabla 4.9. Funcionamiento del modo local.
Item Descripción Accionamiento Método de Si No
Tarea Comprobación
Ingreso de Cambiar el Panel local Cambiar el set e X
referencia e valor de Interfaz web histéresis de pH en el
histéresis de referencia de panel local.
pH pH de la
solución
nutritiva
Ingreso de Cambiar el Pantalla local Cambiar el valor de X
referencia e valor de Interfaz web referencia e histéresis
histéresis de referencia de de Electroconductividad
Electro- EC de la en el panel local.
conductividad solución
nutritiva
Ingreso de Cambiar el Pantalla local Cambiar el valor de X
valor de valor Interfaz web referencia de
referencia de temperatura Temperatura en el
Temperatura del panel.
invernadero
Ingreso de Cambiar el Pantalla local Cambiar el valor de X
valor de valor de referencia de Luz en el
Interfaz web
referencia e referencia de panel local.
histéresis de luz del
Luz invernadero
127
Tabla 4.10. Funcionamiento de control remoto
Control remoto
Item Descripción Acciona Método de Comprobación Si No
Tarea miento
pH Controlar el Panel Observar que el valor de pH en el X
pH de la local panel local y la interfaz web se
solución Interfaz aproximen al valor de referencia.
nutritiva web Observar el encendido de la
bomba de pH.
Electro- Controlar la Pantalla Observar que el valor de Electro- X
conductividad EC de la local conductividad en el panel local y
solución Interfaz la interfaz web se aproximen al
nutritiva web valor de referencia. Observar el
encendido de la bomba de EC.
Temperatura Controlar la Pantalla Observar que el valor de X
temperatura local Temperatura en el panel local y la
del Interfaz interfaz web se aproximen al
invernadero web valor de referencia.
Luz Controlar la Pantalla Observar que el valor de X
cantidad de local porcentaje de Luz en el panel
luz del Interfaz local y la interfaz web se
invernadero web aproximen al valor de referencia.
Observar el encendido de las
lámparas. Observar el encendido
de la niquelina.
Nivel Controlar el Pantalla Observar el valor de Nivel en el X
accionamient local panel local y la interfaz web.
o de la Interfaz Observar el encendido de la
bomba de web bomba.
recirculación.
Con estas pruebas se ha comprobado que el sistema reacciona adecuadamente a
los cambios que se realizaron desde el panel local y desde la interfaz web,
128
además que el sistema de control mantiene a cada variable dentro de su rango de
trabajo.
Se puede verificar el funcionamiento del software del sistema de comunicación
obteniendo los reportes, ya que los datos del sistema son enviados a una base de
datos que se aloja en el servidor web.y los reportes son generados a partir de los
datos recibidos.
Todos los reportes permiten elegir la variable o actuador a buscar y la fecha de
inicio y fin del reporte.
Los datos de las variables medidas son enviadas cada minuto y se puede verificar
en el reporte de variables medidas como se muestra en la Figura 4.13.
Figura 4.13. Reporte de las variables medidas.
Además, se puede obtener reportes de los actuadores que intervienen en el
proceso, los datos de los actuadores son enviados cuando exista un cambio en el
estado del actuador, así se puede conocer cuando un actuador se ha encendido o
se ha apagado como se muestra en la Figura 4.14.
129
Figura 4.14. Reporte de actuadores.
En modo remoto se puede realizar cambios desde la interfaz web en parámetros
como: valor de referencia o histéresis. Los cambios realizados son enviados al
sistema microprocesado, este realiza el cambio y envía el nuevo dato a la base de
datos, es decir solo si el cambio fue exitoso y no hubo perdida en la comunicación
se asienta el nuevo valor en la base de datos.
Con el reporte de cambios desde interfaz se puede comprobar que dicha
comunicación no se pierde, como se observa en la Figura 4.15, además, indica
cuando una persona realiza un cambio desde la interfaz, con ello se conoce la
fecha, hora y la variable cambiada.
Todos los reportes pueden ser exportados tanto a excel como a word, para ser
almacenados como respaldos como se muestra en la Figura 4.16 y Figura 4.17.
130
Figura 4.15. Reporte de cambios desde interfaz.
Figura 4.16. Datos exportados a Excel.
131
Figura 4.17. Datos exportados a Word.
Con la ayuda de los reportes de las variables medidas, el estado de los
actuadores y cambios realizados, se puede comprobar posibles fallos en el
sistema.
Además con el análisis de todos los datos se puede mejorar esta técnica de cultivo
permitiendo tanto a pequeños como grandes agricultores obtener un beneficio
económico, como también la producción de plantas libres de fungicidas y
plagicidas.
4.1.3 PRUEBA DE FUNCIONAMIENTO DE LA INTERFAZ WEB
Se ha comprobado que la interfaz web sea accesible desde cualquier conexión a
internet y permita visualizar y realizar cambios en las diferentes variables del
prototipo.
132
Tabla 4.11. Tabla de funcionamiento de la interfaz web.
Locación Funcionamiento Velocidad de ejecución Observaciones
sector Si No Lenta Media Rápida
Quito - X X Se observan los
Ecuador cambios con
Red fluidez.
doméstica
Machachi - X X Se observan los
Ecuador cambios con
Red fluidez.
doméstica
Quito- X X Se observan los
Ecuador cambios con
West-epn fluidez.
En la Figura 4.18 se puede observar los valores de las variables medidas y los
parámetros configurables como el valor de referencia o histéresis, para cada
variable existe una página web similar a la mostrada.
Figura 4.18. Funcionamiento de la Interfaz Web de variables medidas.
133
Además, se puede verificar el estado de los actuadores en la página de
actuadores, cada actuador tiene su propia página similar a la mostrada en la
Figura 4.19, donde se puede verificar si el actuador esta encendido o apagado, la
hora del cambio o la potencia entregada.
Figura 4.19. Funcionamiento de la Interfaz Web de actuadores.
El funcionamiento al realizar un cambio desde la interfaz web se puede apreciar
en la Figura 4.20. Al realizar un cambio no permitido, fuera de los rangos de
trabajo muestra una alerta, y si el cambio es exitoso los valores se actualizarán en
la interfaz web.
Figura 4.20. Funcionamiento de la Interfaz Web al realizar cambios.
134
Además, se posee un indicador en forma de aguja donde se muestra el valor de
las diferentes variables como se muestra en la Figura 4.21.
Figura 4.21. Indicador en forma de aguja.
4.1.4 RESULTADOS DEL PROTOTIPO
El crecimiento de la planta es exitoso, se puede apreciar su crecimiento a lo largo
del tiempo.
Primero se procede a la preparación y siembra de las plantas, para ello se prepara
la tierra en los semilleros como se observa en la Figura 4.22.
Figura 4.22. Preparación y siembra de la plantas.
135
Cuando las plantas tienen una altura de “5cm” aproximadamente a la semana y
media, se procede al trasplante al sistema hidropónico para ello se lava las raíces,
de cada planta y se coloca en una esponja como se muestra en la Figura 4.23.
Figura 4.23. Preparación y siembra de la plantas.
Todas la plantas son colocadas en los tubos de recirculación, aquí se mantienen
hasta su cosecha que es aproximadamente a la quinta semana, el desarrollo
dentro del prototipo se puede observar en la Figura 4.24.
Figura 4.24. Desarrollo de las plantas dentro del prototipo.
136
CAPÍTULO 5
5 CONCLUSIONES Y RECOMENDACIONES
5.1 CONCLUSIONES
· El estudio previo de las diferentes técnicas de hidroponía, ha permitido
seleccionar la forma más adecuada para implementar un cultivo de este
tipo. Es de gran importancia conocer los rangos adecuados de las variables
tales como temperatura, pH y electroconductividad para obtener un
adecuado crecimiento del cultivo.
· El prototipo cubre los requerimientos necesarios para el crecimiento del
cultivo, controlando y monitoreando las variables ambientales dentro del
invernadero. La temperatura es controlada por medio de un PID digital
colocándola cerca del valor de referencia escogido. Además, los controles
ON-OFF implementados para el pH y la electroconductividad mantienen
estas variables dentro de los rangos de trabajo utilizados en el cultivo
hidropónico de lechugas.
· Mediante el uso de la plataforma Arduino se puede implementar distintos
tipos de algoritmos para controlar procesos, tales como PID, controles ON-
OFF así como también implementar sistemas de comunicación inalámbrica
para ello es importante manipular los registros y librerías brindadas por la
plataforma Arduino.
· La variable de temperatura permanece estable dentro del rango de
funcionamiento, demostrando que el PID implementado se ajusta
satisfactoriamente a las variaciones de temperatura dentro del invernadero
a lo largo del día; esto produce que las plantas se desarrollen de manera
adecuada y rápida.
· En cada variable controlada, el porcentaje de error que se obtiene respecto
al patrón no supera el 10%, por lo tanto las mediciones obtenidas por el
sistema son confiables, estos errores se deben a la sensibilidad y la
tolerancia propia de cada sensor. A pesar de estos errores las diferentes
137
variables se encuentran dentro de los rangos de trabajo para el crecimiento
adecuado de las plantas de lechuga.
· Mediante el módulo ESP8266 que utiliza el protocolo TCP para enviar
información desde el prototipo al servidor web y la base de datos alojados
en internet, se puede monitorear dispositivos de forma remota a través de
internet, utilizando bases de datos para el almacenamiento de información y
un sistema microprocesado para la adquisición de valores de sensores y de
estados de actuadores.
· Mediante la implementación de la interfaz gráfica alojada en el servidor web
desarrollada usando HTML, “JavaScript” y código en SQL usando PHP, se
puede mostrar los valores almacenados en la base de datos en una página
web de usuario, el mismo que puede configurar los parámetros de cada
controlador implementados en el sistema microprocesado, que a su vez
monitorea y controla el prototipo.
· Un servidor web debe ser instalado en una máquina dedicada con ello se
consigue que la velocidad de ejecución de la interfaz web sea rápida. Para
evitar el almacenamiento de información innecesaria en la base de datos es
importante diseñar la base datos y usar tablas relacionales para gestionar
las consultas a la base de datos. También es importante recalcar que la
operación asincrónica entre el servidor y el cliente permite crear interfaces
web dinámicas.
· Aplicar un sistema de control a un cultivo hidropónico con técnica NFT
produce beneficios al desarrollo de las plantas, pues esto permite saber en
todo momento la cantidad de nutriente disponible para las plantas, esto a su
vez permite llevar estadísticas de consumo para luego adaptar las
características de nutrición para otro tipo de cultivos.
· Es importante discernir entre un control ON-OFF o un PID para el manejo
de una variable en específico, pues esto se refleja en horas de trabajo y
costos de hardware que incrementan el costo de aplicaciones o prototipos.
Además de la importancia que tiene prever posibles casos de falla en el
138
sistema y bloquear los actuadores para evitar daños al sistema de control y
a las plantas.
5.2 RECOMENDACIONES
· Se recomienda la utilización de este tipo de invernaderos en las ciudades,
debido al reducido espacio que ocupa y a la facilidad para la operación por
parte del usuario, además de promover el consumo de alimentos nutritivos.
· Al momento de programar rutinas en el IDE de Arduino es importante
conocer que valores devuelve y los tipos de datos que utiliza para evitar
conflictos al momento de intercambiar información entre ellas.
· Implementar la interfaz web con compatibilidad para diferentes tipos de
navegadores, adicionales a Chrome y Mozilla, para que sea amigable con
el usuario y no posea restricciones al usarla.
· Se recomienda consultar un rango pequeño de datos para la visualización
de información de históricos en la interfaz web, clasificando por día o por
mes, pues esto ayuda a que el servidor no se ralentice al cargar toda la
información de la base de datos, además esto permite que responda
rápidamente a las peticiones que se envían desde el sistema
microprocesado.
· Para realizar un invernadero de dimensiones industriales se recomienda
redimensionar el sistema de bombeo, el de calefacción y el de dosificación
de nutrientes.
· Se recomienda utilizar el prototipo para probar diferentes tipos de cultivo,
como cultivos de periodo largo, para poder observar de mejor manera el
desenvolvimiento de cada tipo de planta.
139
6 REFERENCIAS BIBLIOGRÁFICAS
[1] BoletinAgrario, (2016,Marzo) Hidroponia, [Online]. Available:
[Link]
[2] AllNatural, (2016,Marzo) huertos urbanos, [Online]. Available:
[Link]
[3] Instituto de Nutrición de Centro América y Pánama, (2016,Marzo) INCAP,
[Online]. Available:
[Link]
san/doc_view/424-ficha-tecnologica-6-sistema-nft-2.
[4] CosechandoNatural, (2016, Marzo) [Online]. Available:
[Link]
tml .
[5] Hidroponiamex, (2016, Marzo), Cosechando sin tierra. [Online]. Available:
[Link]
[6] C. Llerenas, " Comparación entre alturas de colocación, y el uso de sávila
(Alóe Vera) en trampas mecánicas para mosquita blanca en jitomate
(Lycopersicum sculentum) a través de diseño de experimentos", Ing. tesis,
Dept. Ing. Industrial, Puebla, México. [Online]. Available:
[Link]
[7] [Link], (2016, Marzo), Invernaderos Rústicos. SAGARPA. [Online].
Available:
[Link]
o%20R%C3%[Link].
[8] Organización de las naciones unidas para la agricultura y la alimentación, El
cultivo protegido en clima mediterráneo. (Roma, 2002). [Online]. Available:
140
[Link]
[9] Hydroenvironment, (2015, Agosto). Sistema NFT. [Online]. Available:
[Link]
[10] C. Marcial, (2014, Julio), Tipos de Agricultura. [Online]. Available:
[Link]
[11] S. FAX MEXICO, (2016, Mayo), Semillas y plantas . [Online]. Available:
[Link]
[12] INFOJARDIN, (2016,Septiembre). Invernaderos. [Online]. Available:
[Link]
[13] Sistemas de Calor, (2015, Enero). Calefacción de Invernaderos LIS. [Online].
Available: [Link]
tomates-lis/.
[14] F. Dewin. (2013, Mayo). Sensor de temperatura. [Online]. Available:
[Link]
[15] Seedmech Latinamérica SRL, seedmech, Buenos Aires. [Online]. Available:
[Link]
[16] Atlas-Scientific, (2016, Septiembre). Conductivity EZO. [Online]. Available:
[Link]
[Link]/_files/_datasheets/_circuit/EC_EZO_Datasheet.pdf? .
[17] AcademiaTesto, (2016, Septiembre). Electrodos de PH. [Online]. Available:
[Link]
[18] KROHNE, (2016,Marzo). OPTISENS-PH. [Online]. Available:
[Link]
8100_es_121015_4001926501_R03.pdf.
141
[19] Medidordeph, (2016,Marzo). Funcionamiento, cuidado y calibrado del
medidor de pH. [Online]. Available: [Link]
cuidado-calibrado-medidor-de-ph.
[20] Electronica-Electronics, (2016,Marzo), LDR-Resistencia dependiente de luz.
[Online]. Available: [Link]
[Link].
[21] W. Palacios, CBTis (2014, Ocutbre) Control de Temperatura. [Online].
Available: [Link]
[22] V. Mazzone, (Marzo, 2002). Controladores PID. Faculty of Engineering and
Built Environment at the University of Newcastle. [Online]. Available:
[Link]
[23] Trío Tecnologico, Tecnologías para la Transmisión de la Info,
(2012,Octubre). [Online]. Available: [Link]
[24] Sistemas Digitales de Información, (2014, Agosto), Procesos de transmision
de la informacion. [Online]. Available: [Link]
[25] J. Espacia, (2016, Mayo), Redes de comunicación. [Online]. Available:
[Link]
[Link]/labelec/Solar/Comunicacion/Redes/index_files/[Link].
[26] C. M. i Piñol, (2016, Marzo), Introducción a las aplicaciones web. [Online].
Available: [Link]
[27] Comunidad Informática, (2016, Marzo), Protocolo HTTP. [Online]. Available:
[Link] .
[28] php data manual, Manual de PHP, 2016. [Online]. Available:
[Link]
142
[29] Ladelec, (2016, Mayo), DS1307. [Online]. Available:
[Link]
os/ds1307_rtc_espanol.pdf.
[30] R. Ramos, (2007, Febrero), Sistemas digitales de control en tiempo discreto.
Universidad Politecnica Cataluña. [Online]. Available:
[Link]
[31] OpenSourcePhotonics (2015, Agosto), Arduino applications in photonics
laboratory- 2.2 detectors. [Online]. Available:
[Link]
photonics-laboratory-2-2-detectors/.
[32] Cooking-Hacks, (2016, Septiembre), Ph sensor. [Online]. Available:
[Link]
[33] ElecFreaks, (2016, Mayo), HCSR04 datasheet. [Online]. Available:
[Link]
[34] C. Sanchez, (2014, Diciembre) . Hablemos de HTML5. [Online]. Available:
[Link]
[35] MDN Mozilla Developer Network, (2016, Mayo), DIV. [Online]. Available:
[Link]
[36] Highcharts, (2016, Mayo), Systems Requierements. [Online]. Available:
[Link]
[37] B. Johnson. (Marzo, 2016), [Link]. [Online]. Available:
[Link]
[38] L. Llamas. (Marzo,2015). Medir nivel de luz con arduino y LDR. [Online].
Available: [Link]
A-1
7 ANEXOS
A. MANUAL DE USUARIO
A.1 COMPONENTES
El prototipo cuenta con:
· Microcontrolador
El microcontrolador es un Arduino Mega, que utiliza el microcontrolador Atmega
2560, es el encargado de procesar los datos, y ejecutar las acciones para que el
sistema trabaje de acuerdo a los requerimientos.
Figura A. 1. Arduino Mega
El sistema de medición consta de los sensores descritos a continuación.
· Sensor de pH
Mide el pH en el tanque colector, su salida es acondicionada y enviada a un canal
análogo del Arduino
Figura A. 2. Sensor de pH.
A-2
· Sensor de Electroconductividad
El sensor de electroconductividad es del tipo K=1.0, mide la conductividad de la
solución en el tanque colector, es conectado a su tarjeta acondicionadora que
tiene salida serial y de acuerdo la cantidad de sales disueltas actúen las bombas
para aumentar los nutrientes.
Figura A. 3. Sensor de electroconductividad.
· Sensor de temperatura
Los sensores de temperatura son dos LM35, conectados directamente a canales
análogos del microcontrolador, son los encargados de medir la temperatura
ambiente dentro del invernadero.
Figura A. 4. Sensor de temperatura LM35.
A-3
· Sensor de Nivel
El sensor de nivel es un sensor ultrasónico HC-SR04, mide el nivel del agua en el
tanque colector, permite saber cuando el tanque colector está en un nivel bajo
permitiendo que las bombas no trabajen en vacío.
Figura A. 5. Sensor Ultrasónico HC-SR04.
Los pines de eco y disparo son conectados directamente a pines de entrada y
salida del microcontrolador.
· Sensor de Luz
El sensor es un LDR, el cual permite conocer la intensidad de luz dentro del
invernadero para que actúen las lámparas del invernadero.
Figura A. 6. Sensor de Luz LDR.
Los actuadores para las diferentes variables son:
· Bomba de recirculación y mezcla
La bomba posee dos salidas, la una salida permite recircular la solución nutritiva
por las tuberías, y de regreso al tanque colector mientras que la segunda salida
permite mezclar de la solución nutritiva dentro del tanque colector, esta bomba se
A-4
enciende en intervalos de quince minutos, tiene una capacidad de 1400l/h y a una
altura máxima de 2m.
Figura A. 7. Bomba de recirculación y mezcla
· Lámparas
El sistema cuenta con dos lámparas incandescentes de 200W, son controladas
mediante un PID que actúan en un control de fase de onda completa, y se
encienden de acuerdo a la cantidad de luz dentro del invernadero.
Figura A. 8. Lámparas.
A-5
· Bombas inyectoras de nutrientes
Las plantas consumen los nutrientes de la solución nutritiva, para compensar este
consumo el sistema cuenta con dos bombas, que son las encargadas de aumentar
los nutrientes mayores y menores en la solución nutritiva.
Figura A. 9 . Bombas de nutrientes mayores y menores.
· Bomba de pH
Al recircular la solución nutritiva por las plantas aumenta su pH, por lo que es
perjudicial para las mismas, el pH se debe mantener regulado y la bomba de pH
es la encargada de inyectar una solución reguladora que baja el pH de la solución
nutritiva.
Figura A. 10. Bomba de pH.
· Calefactor y ventilador
El calefactor internamente consta de un par de niquelinas de 2000 W y un
ventilador de 120Vac, este sistema es el encargado de mantener regulada la
temperatura dentro del invernadero,
A-6
Figura A. 11. Calefactor y ventilador.
El ventilador tiene un control ON-OFF manejado por un relé, mientras que las
niquelinas tienen un control PID que actúa sobre un control de fase de media
onda.
Además posee un termostato bimetálico, de calibración manual, que evita que las
niquelinas se sobrecalienten.
· Módulo Wifi
La conexión a internet se realiza mediante WiFi, se utiliza el módulo ESP8266 el
cual es manejado por comunicación serial mediante comandos AT.
Figura A. 12. Módulo ESP8266.
A-7
· Fuente Alimentación
Los voltajes de entrada se los obtiene de una fuente ATX, que proporciona los
voltajes y corrientes necesarias para alimentar los diferentes circuitos.
Figura A. 13. Fuente de Alimentación.
· Tanque colector
El tanque colector es un recipiente plástico de cuarenta litros, oscuro para evitar el
crecimiento de algas, aquí se almacena y mide los parámetros de la solución
nutritiva que servirá a las plantas.
Figura A. 14. Tanque colector.
· Vasos contenedores
Son vasos donde se colocan las plantas y se introducen en los tubos de PVC
donde recircula la solución nutritiva, sirven para dar sostén a las plantas y una
cosecha fácil.
A-8
Figura A. 15. Vasos contenedores.
· Nutrientes Mayores y Menores
Son soluciones nutritivas que se consiguen en el mercado para fines de
hidroponía, se mezclan en agua para tener la solución nutritiva que servirá de
alimento a las plantas.
Figura A. 16. Macro y micronutrientes.
· Tubería de recirculación
Son tuberías de PVC de cuatro pulgadas interconectadas con mangueras de
media pulgada a manera de escalera, aquí es donde se colocan las plantas y
recircula la solución nutritiva.
A-9
Figura A. 17. Tuberías de PVC.
· Manguera de agua
Es una manguera de media pulgada transparente para poder observar el flujo del
agua, sirve para interconectar los tubos de PVC, además conecta los tubos de
PVC con la bomba principal, y de retorno al tanque colector.
Figura A. 18. Manguera de agua.
· Conector de manguera
Son conectores de media pulgada que unen las tuberías de PVC con las
mangueras.
Figura A. 19. Conector de manguera.
A-10
· Tapón de PVC
Son tapones que cubren los extremos de los tubos de PVC, aquí ingresan los
conectores de manguera.
Figura A. 20. Tapón de PVC.
· Plástico
El plástico permite mantener la temperatura dentro del invernadero, además evita
que las ondas largas de la luz ultravioleta afecten a las plantas, evita que los
fuertes vientos destruyan las plantas e impide el ingreso de insectos en el cultivo.
Evita los problemas que pueden causar las lluvias intensas, las plantas se
mantienen secas y con temperaturas óptimas, evita daños producidos por helada,
ahorro de costos de calefacción y hay mayores rendimientos que a cielo abierto.
Figura A. 21. Plástico.
A-11
· Panel de control
El panel de control consta de dos selectores de dos posiciones, el uno permite el
encendido y apagado del sistema, el otro permite seleccionar el modo de trabajo
entre modo local y remoto.
Consta de un teclado matricial 4x4 que permite navegar en las opciones que
muestra un display LCD de 20x4.
Figura A. 22. Panel de Control.
· Estructura
La estructura es metálica con llantas para poder trasladarlo fácilmente.
Figura A. 23. Estructura.
A-12
A.2 CONEXIONES
· Tarjeta para el Sistema de comunicación inalámbrica
Permite la comunicación entre el módulo “Wifi” el microcontrolador permitiendo la
conexión a internet vía “Wifi” así como el envío y recepción de datos.
Figura A. 24. Tarjeta para el Sistema de comunicación inalámbrica.
· Tarjeta acondicionadora del sensor de electroconductividad
Es una tarjeta que viene en conjunto con el sensor, y convierte la señal del sensor
en una señal digital que es enviada seriamente al microcontrolador, es manejada
vía comunicación serial.
Figura A. 25. Tarjeta acondicionadora de EC.
A-13
· Tarjeta acondicionadora del sensor de pH
Acondiciona la señal del sensor de pH para que ingrese a un canal análogo del
microcontrolador.
Figura A. 26. Tarjeta acondicionadora del sensor de pH.
· Tarjeta para control de las bombas de 12V y ventiladores de 12v
Las bombas de nutrientes, la bomba pH y los ventiladores que trabajan a 12V son
conectadas a una placa que controla dichos actuadores y desacopla el circuito de
control del circuito de potencia.
Figura A. 27. Tarjeta para control de las bombas de 12V.
A-14
· Tarjeta acondicionadora para control de la bomba principal de
recirculación y ventiladores de 110V.
Los ventiladores de 110V y la bomba de recirculación son activados por relé, el
circuito desacopla el control del circuito de potencia.
Figura A. 28. Tarjeta acondicionadora para control de la bomba principal.
· Tarjeta acondicionadora para control de las lámparas
Es un control de fase directa de onda completa, desacopla el circuito de control del
circuito de potencia.
Figura A. 29. Tarjeta acondicionadora para control de las lámparas.
· Tarjera para control de las niquelinas
Es un control de fase directa de media onda, desacopla el circuito de control del
circuito de potencia
A-15
Figura A. 30. Tarjera para control de las niquelinas.
A.3 FUNCIONAMIENTO DE HARDWARE
Al encender el sistema busca la conexión a internet, esto tarda de uno a dos
minutos aproximadamente.
Si al iniciar el sistema la pantalla LCD no arranca, significa que el sistema no
encontró una conexión a internet, se debe reiniciar nuevamente el sistema.
Cuando el sistema se conecta a la red, la LCD muestra un mensaje de bienvenida
y realiza el control de las diferentes variables.
El sistema cuenta con dos modos de trabajo:
A.3.1. MODO REMOTO
En este modo el sistema bloquea el panel de control local y el LCD da un mensaje
del modo de trabajo, las demás funciones continúan trabajando normalmente, el
sistema realiza el control automático de las diferentes variables, envía los datos
recolectados a la base de datos y es posible visualizarlos en la interfaz web.
Los cambios en los parámetros son permitidos solo desde la interfaz web.
A.3.2. MODO LOCAL
El sistema realiza el control automático de las diferentes variables, envía los datos
a la base de datos y es posible visualizarlos en la interfaz web así como en el LCD
del panel local. Los cambios en los parámetros del sistema son permitidos solo
desde el panel local para ello en el panel local se tiene dos tipos de usuario:
A-16
A.3.2.1. Invitado
Al ingresar al sistema como invitado el LCD muestra un menú de las diferentes
variables como, pH, electroconductividad, temperatura, intensidad de Luz, Nivel,
hora y fecha.
Tabla A. 1. Tabla de opciones de un invitado en modo local.
Opción Variables Parámetros a visualizar
1 pH Valor actual
Valor de Referencia
Histéresis
Actuadores
2 Electroconductividad Valor actual
Valor de Referencia
Histéresis
Actuadores
3 Temperatura Valor actual
Valor de Referencia
% actuadores
4 Luz Valor actual
Valor de Referencia
% actuadores
5 Nivel Valor actual
Nivel mínimo
6 Hora Hora del Sistema
7 Fecha Fecha del Sistema
Cuando el usuario selecciona una de las variables puede visualizar el estado de la
misma y otros parámetros como valor de referencia, histéresis o el estado de sus
actuadores. La Tabla A.1 muestra un resumen de los parámetros a visualizar de
las diferentes variables del proceso al ingresar como invitado en el panel local.
A-17
A.3.2.2. Administrador
Al ingresar al sistema como administrador, en el LCD se pedirá el ingreso de una
clave que consta de 4 dígitos, la clave es 1234.
Tabla A. 2. Tabla de opciones de administrador en modo local.
Opción Variables Parámetros a Parámetros a
visualizar Cambiar
1 pH Valor actual Valor de
Valor de Referencia referencia
Histéresis Histéresis
Actuadores
2 Electroconductividad Valor actual Valor de
Valor de Referencia referencia
Histéresis Histéresis
Actuadores
3 Temperatura Valor actual Valor de
Valor de Referencia referencia
% actuadores
4 Luz Valor actual Valor de
Valor de Referencia referencia
% actuadores
5 Nivel Valor actual
Nivel mínimo
6 Hora Hora del Sistema Cambiar Hora
7 Fecha Fecha del Sistema Cambiar Fecha
Al ingresar como administrador el LCD muestra el mismo menú que al ingresar
como invitado, el cual permite seleccionar una variable del proceso.
Cuando el usuario selecciona una de las variables este puede visualizar el estado
de la misma y parámetros como valor de referencia, histéresis o el estado de sus
actuadores. El administrador puede realizar cambios en los parámetros del
sistema.
A-18
La Tabla A.2 muestra un resumen de los parámetros a visualizar y los parámetros
a cambiar de las diferentes variables del proceso.
A.4 FUNCIONAMIENTO DE LA INTERFAZ GRÁFICA
Al abrir la interfaz web en el navegador, con la dirección de la IP pública
“[Link] o el nombre de dominio “[Link]”, primero se
tiene un formulario para ingresar como administrador, si no se ingresa como
administrador es posible ingresar como invitado. Las credenciales para ingreso
son nombre de usuario: tesiscontrol y clave: t35i5.
Figura A. 31. Página de “Login” o ingreso.
Al ingresar y autenticar las credenciales se visualiza la página de inicio donde se
puede navegar a opciones como “Inicio”, “Administrar”, “Reportes”, salir del
sistema y visualizar el usuario actual como se muestra en la Figura A.32.
El menú de navegación es similar para un invitado.
A-19
Figura A. 32. Página de Inicio.
A.4.1. ADMINISTRAR
La opción “Administrar” permite administrar los sensores o los actuadores, como
se muestra en la Figura A.33.
Figura A. 33. Opción “Administrar”.
A.4.1.1. Sensores
Despliega una pantalla con los diferentes sensores que posee el sistema, al elegir
uno de ellos se puede observar el valor de los parámetros de las variables, un
indicador en tiempo real y dos botones para obtener gráficas de históricos.
Si se ingresó como administrador es posible cambiar los parámetros siempre
dentro de un rango, si se ingresó como invitado estas opciones no se muestran.
Al ingresar un valor fuera del rango permitido nos da un mensaje de alerta en color
rojo como se muestra la Figura A.34.
A-20
Figura A. 34. Cambios de parámetros desde interfaz web.
Igualmente si el sistema no está en modo remoto no es posible realizar cambios
desde la interfaz web, y dará un mensaje de alerta como el que se muestra en la
Figura A.35. Para poder realizar dichos cambios es necesario cambiar el selector
del panel de control a modo remoto.
Figura A. 35. Sistema trabajando en modo local.
Además de poseer un indicador de la variable en tiempo real como la Figura A.36,
un administrador puede obtener gráficas históricas o en tiempo real de las
variables como se indica en la Figura A.37.
A-21
Figura A. 36. Indicador de la variable medida.
Figura A. 37. Grafica de históricos.
Para el resto de sensores el manejo de la interfaz es similar a lo expuesto
anteriormente.
A.4.1.2. Actuadores
Permite visualizar el estado de los actuadores.
A-22
Al seleccionar un actuador del sistema se despliega una página donde se puede
observar, el estado actual del actuador, la fecha del último cambio y una luz
indicadora del estado actual.
Figura A. 38. Administración de Actuadores.
Todos los actuadores son manejados similarmente en la interfaz web.
A.4.2 REPORTES
Esta opción está disponible solo para un administrador, y permite obtener reportes
como: reporte de variables medidas, reporte de actuadores y reporte de cambios
desde interfaz web.
Todos estos reportes es posible obtenerlos realizando una búsqueda por nombre y
fecha de inicio y fecha de fin del reporte, además se tiene la opción de exportar
dichos reportes en una de cálculo EXCEL, o documento escrito WORD, como se
muestra en la Figura A.39.
Figura A. 39. Búsqueda del reporte.
A.4.2.1 Reporte de variables medidas
Permite obtener reportes de las variables medidas, generando una tabla de cinco
columnas donde se muestra el ítem, el sensor, su valor medido, su unidad y la
fecha de obtención del dato como se muestra en la Figura A.40.
A-23
Figura A. 40. Reporte de variables medidas.
A.4.2.2 Reporte de cambios desde interfaz
Permite obtener reportes de los cambios que se han realizado desde la interfaz
web, generando una tabla de cinco columnas donde se muestra el ítem, el sensor,
su valor medido, su referencia, histéresis y la fecha de ingreso del dato como se
muestra en la Figura A.41.
Figura A. 41. Reporte de cambio desde interfaz
Con estos dos reportes es posible comparar si hubo un cambio indeseado en el
sistema o si las variables medidas se salieron del límite de referencia, así se
pueden realizar estudios con diferentes muestras y en un futuro mejorar la calidad
de los nutrientes en base a los datos obtenidos.
A-24
A.4.2.3 Reporte de actuadores
Permite obtener un reporte de los cambios de estado que se realizaron en los
diferentes actuadores, así se genera un reporte de cuatro columnas donde se
indica el ítem, el actuador, su estado y la fecha del cambio de estado como se
muestra en la Figura A.42.
Figura A. 42. Reporte de actuadores.
Además la interfaz web cuenta con protección, cuando un administrador ha
olvidado cerrar su sesión y pasa 5 minutos de inactividad se finaliza la sesión
automáticamente y se redirecciona a página de “login” dando el mensaje de la
Figura A.43.
Figura A. 43. Mensaje de sesión expirada.
A-25
A.5 INSTALACIÓN DE PROGRAMAS
A.5.1 INSTALACIÓN DE XAMPP EN WINDOWS 7
Verificar si se tiene instalado un servidor web. En el navegador y escribir
[Link] Si se muestra el mensaje de error es que ya existe un servidor
web instalado. Caso contrario se procede a la instalación.
Figura A. 44. Verificación de no tener servidor web instalado.
El instalador es xampp de 32 bits, versión [Link] VC11 para Windows 7, hay que
dar doble clic sobre el instalador.
Al ejecutar el instalador del XAMPP, es recomendable desactivar el antivirus y
desactivar el control de cuentas de Usuario. Caso contrario se mostrará la alerta
de la Figura A.45 y la Figura A.46.
Figura A. 45. Alerta de antivirus activado.
A-26
Figura A. 46. Alerta de control de cuentas
El asistente de instalación se muestra en la Figura A.47. se debe pulsar el botón
"Next".
Figura A. 47. Ventana inicial de instalador
XAMPP instala el servidor Apache, el lenguaje PHP, y MySQL por defecto. Se
puede instalar otras utilidades como se muestra en la Figura A.48.
A-27
Figura A. 48. Componentes a instalar.
La ruta de instalación por defecto es C:\xampp. Para cambiar se debe elegir el
ícono de la carpeta y elegir otra ruta. Una vez elegida la ruta de instalación pulsar
"Next".
Figura A. 49. Ruta de la carpeta de instalación
Se debe desactivar la casilla de la Figura A.50 para no visualizar otros
instaladores de aplicaciones ofrecidos por “Bitnami”.
A-28
Figura A. 50. Comprobación de instaladores de “Bitnami”.
Una vez que estamos listos para la instalación de XAMPP, hacer clic en el botón
"Next".
Figura A. 51. Listo para comenzar la instalación
La figura A.52 muestra la pantalla que aparece mientras se instala XAMPP.
A-29
Figura A. 52. Pantalla de espera mientras instala Xampp.
Durante la instalación, si en el ordenador no se había instalado Apache
anteriormente, se mostrará un aviso del cortafuegos de Windows para autorizar a
Apache para comunicarse en las redes domésticas o de trabajo, se debe permitir
haciendo clic en el botón "Permitir acceso".
Figura A. 53. Comprobación de cortafuegos.
Al finalizar la instalación, se muestra la pantalla de la Figura A.54. clic en "Finish".
A-30
Figura A. 54. Finalización de instalación
Al iniciar XAMPP se abre el panel de control, el cual posee tres zonas:
· Zona de módulos, contiene los módulos de XAMPP, donde se visualiza el
nombre, el identificador de proceso, el puerto utilizado. Posee botones para
arrancar y finalizar los procesos.
· Zona de notificación, donde XAMPP muestra mensajes sobre el éxito o fallo
de las acciones realizadas.
· Zona de utilidades, para acceder hacer a otros servicios y configuraciones.
Figura A. 55. Panel de control de XAMPP.
A-31
Para salir del panel de control pulsar el botón “Quit” (los servidores siguen
corriendo a pesar de haber salido):
El botón Cerrar minimiza el panel de control. Para mostrar nuevamente buscar en
el área de notificación y dar doble clic en el icono.
Además en el área de notificación se puede observar un menú de acceso rápido a
los servicios de iniciar o finalizar servidores o cerrar el panel de control.
Figura A. 56. Icono de notificación de XAMPP.
A.5.1.1. Iniciar, detener y reiniciar servidor
Para modificar el archivo de configuración de Apache ([Link], [Link] u otro) se
debe detener Apache y una vez hechas las modificaciones reiniciar Apache.
Si los archivos de configuración fueron cambiados y contienen errores, el servidor
no se iniciará. Para evitar estas fallas es recomendable hacer una copia de
seguridad, antes de modificar estos archivos.
Para poner en funcionamiento los servicios como Apache y MySQL, se debe
pulsar botón "Start" de cada servicio:
A-32
Figura A. 57. Iniciar apache.
En el panel de control se mostrará el nombre del módulo con fondo verde, los
puertos utilizados (http y https), se cambia el botón "Start" por "Stop" y en la zona
de notificación se muestra las operaciones ejecutadas.
Para detener un servicio hay que pulsar el botón "Stop" correspondiente a ese
servicio.
Figura A. 58. Detener un servicio.
Si la parada del servicio tiene éxito, el nombre del módulo aparece con fondo gris,
el botón "Stop" vuelva a "Start" y en la zona de notificación aparece los procesos
ejecutados.
A-33
Figura A. 59. Módulos detenidos.
Para reiniciar los servicios se debe pulsar nuevamente "Start".
Para verificar que Apache arrancó exitosamente, se debe escribir en el navegador
la dirección [Link] Si todo está correcto se abre la ventana que se
muestra en la Figura A.60.
Figura A. 60. Panel de administración del servidor XAMPP.
Hasta el momento el servidor trabajará en nuestra LAN es decir, dentro de nuestra
red doméstica, cualquier usuario de nuestra LAN podrá acceder al servidor web,
instalado.
A-34
A.5.1.2 Configuración de la IP pública en el PC
Para tener acceso desde cualquier parte del mundo al servidor es necesario
configurar la IP pública, en este caso es [Link]. Para ello se accede a
Panel de control/Redes e Internet/Centro de redes y recursos compartidos y elegir
la opción WI-FI.
Figura A. 61. Configuración de Red
Se abrirá una ventana, aquí se ingresa a propiedades, y se selecciona en
protocolo de internet versión 4 (TCP/IPv6),
Figura A. 62. Propiedades de WI-FI.
A-35
Se abrirá una ventana, se selecciona usar la siguiente dirección IP y se configura
la IP pública.
Con la IP pública configurada en el servidor, se tendrá acceso al mismo desde
cualquier parte del mundo.
Figura A. 63. Configuración de la dirección IP pública.
A.5.1.3. Configuración de la interfaz web
Para instalar la interfaz web en el servidor, primero ingresa a la ruta donde se
instaló xammp, generalmente C:\xampp\, se busca y abre la carpeta htdocs, aquí
buscar el archivo index y cambiar el nombre por index_xampp.
En la misma carpeta “htdocs” pegar el archivo index y las carpetas interfaz, reporte
de actuadores, reporte_cambio_valores y reporte variables que se incluyen en el
CD de instalación del software.
A-36
Figura A. 64. Documentos requeridos dentro de htdocs
Con esto al acceder desde cualquier navegador, a la dirección IP pública antes
configurada se accederá a la interfaz web.
Figura A. 65. Acceso a la interfaz web.
A-37
A.5.1.2 Configuración de la base de datos.
Para el funcionamiento del prototipo se debe crear una base de datos, para ello en
el navegador escribir la dirección [Link] se abre
phpMyAdmin en donde se administran base de datos, seleccionar la pestaña
“Base de Datos” y en el campo “Crear una base de datos”, escribir el nombre
“basedepruebas”, seleccionar cotejamiento utf8_bin y “Crear”.
Figura A. 66. Crear la base de datos.
Luego se procede a importar las tablas necesarias, para ello se selecciona la base
de datos creada y se da clic en "Importar".
Figura A. 67. Importar tablas.
A-38
Se abre una ventana para subir un archivo, dando clic en "Examinar", se
selecciona el archivo “importar_tablas.[Link]” se carga y acepta.
Figura A. 68. Importar archivo “.zip”
Las tablas serán configuradas en la base de datos creada.
Con la base de datos lista, el sistema puede enviar los datos del proceso al
servidor web para almacenarlos en la base de datos.
A.5.2 INSTALACIÓN DE ARDUINO
Para instalar el IDE de Arduino se ejecuta el archivo Arduino 1.6.11-windows
Figura A. 69. Instalador de Arduino
Luego se abre la siguiente ventana donde se selecciona los componentes a
instalar y se pulsa en “next”.
A-39
Figura A. 70. Opciones de instalación
Se elige el directorio a instalar.
Figura A. 71. Dirección donde se instalará Arduino
Se presiona “Install”, el programa empieza a instalarse, puede tardar varios
minutos.
A-40
Figura A. 72. Proceso de instalación.
Una vez instalado se crea un acceso directo en el escritorio.
A.5.2.1. Compilar y cargar el programa en Arduino.
Para compilar y cargar el programa [Link] al Arduino mega es necesario
copiar y remplazar la carpeta libraries en la dirección donde se instaló el
programa Arduino, generalmente en la ruta C:\Program Files (x86)\Arduino.
Figura A. 73. Dirección para añadir la carpeta libraries.
A-41
Además, copiar las carpetas PinChangeInterrupt y PinChangeInterrupt-master en
la ruta C:\Users\Documents\Arduino\libraries.
Figura A. 74. Librerías necesarias en mis documentos/Arduino.
Una vez añadido las librerías necesarias se procede a compilar y cargar el
programa al Arduino mega.
Figura A. 75. Configuraciones de enlace de red en el Arduino.
Para cambiar la configuración red del módulo WI-FI, simplemente remplazar las
líneas mostradas en la Figura A.75 del archivo tesis [Link].
A-42
A.6 POSIBLES ERRORES Y SOLUCIONES
Tabla A. 3. Posibles Errores y soluciones
ERROR PROBLEMA SOLUCIÓN
No Inicia el LCD al
No se encontró una
encender el Reiniciar el sistema.
conexión a internet
sistema.
La interfaz gráfica
Se ha perdido la
no actualiza los Reiniciar el sistema.
conexión a internet
datos
Las mediciones de Calibrar la sonda de pH
pH varia sus La sonda se ha con el circuito
medidas fuera del desgastado acondicionador y los
rango de trabajo “buffer” de pH 4 y 7
Calibrar la sonda de
Las mediciones de
electroconductividad en
electroconductividad
La sonda se ha el circuito
varia sus medidas
desgastado acondicionador con las
fuera del rango de
muestra de
trabajo
12880mS/cm
No se carga las
No se cargó la
fechas para los Abrir la interfaz con
compatibilidad para el
reportes “Google Chrome”
navegador
El nivel de la solución
La bomba de Aumentar agua en el
en el tanque colector ha
recirculación no se tanque colector hasta
disminuido del valor
enciende un nivel de 15cm
mínimo.
No se envían
El sistemas está
nuevos valores
trabajando en modo Cambiar a modo remoto
desde la interfaz
local
web
Las niquelinas se han Esperar que las
El invernadero no sobrecalentado y el niquelinas se enfríen el
se calienta reóstato ha abierto el sistema vuelve a
circuito trabajar.