Está en la página 1de 50

INSTITUTO TECNOLOGICO IAI

CARRERA: MONTAJE Y MANTENIMIENTO DE


EQUIPO INDUSTRIAL

PROYECTO

DISEÑAR Y CONSTRUIR UN REDUCTOR DE


VELOCIDADES CON ENGRANAJES

DOCENTE: Ing. ELOY COPA MAYORGA


ESTUDIANTE: BRANKO JORGE LIZARAZU
MATERIA: EMP - 500

Oruro-Bolivia

2019
ÍNDICE
1. INTRODUCCIÓN...........................................................................................Pág.03
2. JUSTIFICACIÓN DEL PROYECTO.............................................................Pág.03
3. OBJETIVOS....................................................................................................Pág.04
4. METODOLOGÍA............................................................................................Pág.04
4.1 Requisitos del sistema y funcionamiento.........................................................Pág.05
Control de temperatura.................................................................................................. Pág.05
Control de humedad en el suelo.................................................................................... Pág.06
Control de humedad en el aire....................................................................................... Pág.07
4.2 Elección del Hardware.....................................................................................Pág.07
Introducción al arduino…………………………………………………….... Pág.07.
Hardware de control: Arduino....................................................................................... Pág.11
Sensores......................................................................................................................... Pág.13
Actuadores..................................................................................................................... Pág.19
4.3 Elección del Software......................................................................................Pág.28
Software empleado........................................................................................................ Pág.28
4.4 Diseño..............................................................................................................Pág.29
Estructura del sistema.................................................................................................... Pág.29
4.5 Montaje de simulación....................................................................................Pág.31
Sensor de temperatura y humedad relativa.................................................................... Pág.31
Sensor de humedad en el suelo YL38 y YL69.............................................................. Pág.32
Módulo de relés............................................................................................................. Pág.33
Sensor de luminosidad................................................................................................... Pág.33
Entrada analógica.......................................................................................................... Pág.34
4.6 Programación...................................................................................................Pág.35
Librería y declaración de variables.............................................................................. Pág.36
Setup.............................................................................................................................. Pág.37
Loop.............................................................................................................................. Pág.38
Recepción de datos........................................................................................................ Pág.38
Control de temperatura.................................................................................................. Pág.38
Control de humedad...................................................................................................... Pág.40
Aplicación Visual Basic................................................................................................ Pág.41
4.7 Pruebas, problemas y mejoras.........................................................................Pág.42
5. PRESUPUESTO..............................................................................................Pág.44
6. ANEXOS.........................................................................................................Pág.45
7. REFERENCIAS BIBLIOGRÁFICAS Y WEBGRAFÍA.................................Pág.46
1. INTRODUCCIÓN

En el presente trabajo abordaremos desde un punto de vista teórico-práctico el proceso de


diseño y automatización de un invernadero cuyos objetivos principales serán: Por una
parte, disminuir los costos de implementación del sistema, dado que actualmente el alto
coste de dicha automatización, impide su comercialización a gran escala. Por otra parte,
mejorar la calidad del trabajo del operador, dando lugar a su vez, a un aumento
considerable de seguridad, confort y ahorro energético.

Para ello, se utilizará un micro controlador capaz de realizar todo el proceso de


monitorización a través de sensores que medirán parámetros ambientales tales como
temperatura, humedad (tanto relativa como en suelo) y parámetros lumínicos.

Con los parámetros obtenidos, actuaremos sobre diferentes salidas que nos
proporcionaran el funcionamiento deseado del sistema. Todo esto, será trasmitido por
medio de comunicación serie para poder visualizar el estado del sistema en el monitor
mediante una aplicación.

Además, cabe destacar la utilización de tecnologías de hardware libre, hecho que


favorece la reducción de costes de una manera significativa, comparado con las
opciones actuales del mercado.

Para concluir, el trabajo constará de un enfoque teórico-práctico, por lo que se diseñará el


sistema de forma teórica y, a su vez, se realizará la programación y montaje de un
prototipo para comprobar su funcionamiento.

2. JUSTIFICACION DEL PROYECYO

Este proyecto contempla la posibilidad de comercializar el sistema de control de un


invernadero dado que en la zona geográfica en la que nos encontramos (Oruro Bolivia)
existe un escaso número de invernaderos automatizados.

Tras varias investigaciones a agrícolas llegamos a la conclusión de que dos son los
hechos que impiden la automatización de los invernaderos. Por una parte, el elevado
coste que supone su instalación (aún a sabiendas de que es la mejor opción a largo
plazo para un cultivo tanto eficaz como eficiente). Por otra parte, la no-confianza con
el sistema.
Este proyecto plantea la automatización de un invernadero por las ventajas que ello
puede suponer para el usuario. El cultivo bajo invernadero siempre ha permitido
obtener producciones de calidad y mayores rendimientos, en cualquier momento del año,
a la vez que también permiten alargar el ciclo de cultivo pudiendo producir en las épocas
del año más difíciles y obteniendo mejores precios.

Por todo esto, consideramos importante demostrar y hacer saber cómo con un
presupuesto reducido y un control absoluto se puede conseguir resultados óptimos sin
renunciar a la calidad.

3. OBJETIVOS
 Objetivo general

El objetivo general de este proyecto es desarrollar un sistema autónomo que gestione los
elementos presentes en un invernadero para conseguir así una mejora de la
producción y de la calidad de los alimentos cultivados gracias a la monitorización de
parámetros para ajustarla siempre a las necesidades del propietario.

 Objetivos específicos
- Dotar al sistema de un conjunto de sensores capaces de realizar las
Mediciones de los parámetros (temperatura, parámetros lumínicos y
humedad relativa y en suelo)
- Desarrollar un código para el micro controlador capaz de tratar las señales
adquiridas tanto analógicas como digitales
- Diseñar y desarrollar un programa de control, el cual muestre los parámetros
ambientales en tiempo real.
- Elaborar un presupuesto que permita implantar el proyecto.

4. METODOLOGIA.

ARDUINO: Este apartado está dividido en varios sub apartados que tienen como fin
explicar el desarrollo del sistema. (Daniel lozano Equisoain 2016)
4.1 Requisitos del Sistema y funcionamiento

Para llevara a cabo la implementación del sistema lo principal y necesario es un micro


controlador que sea el centro de todo, a partir del cual empezaremos a incluir sensores y
actuadores hasta lograr que realice el control deseado. . (Daniel lozano Equisoain 2016)

La finalidad de este proyecto es que el invernadero sea totalmente autónomo. Para ello, a
través de un micro controlador (Arduino) conseguiremos una lectura constante de los
sensores e idearemos ciclos de trabajos: control de temperatura, control de humedad
en el suelo y control de humedad en el aire. . (Daniel lozano Equisoain 2016)

 Control de Temperatura

Temperatura

Por su alta variabilidad genética, se adapta a diferentes climas, desde aquellos Calurosos y
secos como el clima de la costa desértica, a aquellos temperados lluviosos o secos de los
valles interandinos y aquellos fríos y lluviosos o secos de la sierra alta y el altiplano. Las
temperaturas óptimas de crecimiento y desarrollo, dependiendo de las variedades, están en
el rango de 15 a 25ºC. Puede tolerar las heladas y temperaturas altas durante las fases de
desarrollo vegetativo y la formación de la inflorescencia y no desde la floración hasta el
estado de grano pastoso. Tanto las bajas como las altas temperaturas originan esterilidad de
polen y afectan el desarrollo y crecimiento de la planta, dando lugar a esterilidad o granos
inmaduros, arrugados o de bajo peso; dependiendo del momento en que se produce el
estrés de temperatura. (Luz Gómez Pando 2016)

En primer lugar introduciremos un margen de tolerancia definido internamente en el


programa. Dicha tolerancia nos otorgará un rango de temperaturas válidas y nos evitara la
oscilación de conexión/desconexión de elementos asociados a este control una vez
intentemos mantener la temperatura deseada. ( Luz Gómez Pando 2016)

Como algo evidente tendremos tres estados con referencia a la temperatura;

Temperatura elevada, temperatura baja o temperatura correcta. Si el valor de


temperatura actual es inferior a la fijada, estaremos en una temperatura baja y nuestro
sistema encenderá los calentadores hasta que lleguemos a la temperatura correcta. En el
caso contrario que tengamos una temperatura elevada, el sistema actuara abriendo
ventanas e iniciando la ventilación forzada hasta volver a la deseada. ( Luz Gómez Pando
2016)
 Control de humedad en el suelo

Humedad-Precipitación
El periodo de precipitación en la Región Andina va desde Setiembre – Octubre a Mayo
Junio. La precipitación anual total varía del siguiente modo: de 600 – 800mm en los Andes
Ecuatorianos, de 400 – 500 mm en los Andes Peruanos, de 500– 800 mm en el altiplano
alrededor del Lago Titicaca, de 200 a 300 mm en el Altiplano sur de Bolivia y de 800 –
1000 mm en la Zona Central de Chile el cultiva dentro de un rango de precipitación de 300
mm a 1000 mm. Se considera que el rango de precipitación óptima es de 500 a 800 mm. .
(Luz Gómez Pando 2016)
Los periodos críticos en los que la falta de humedad afecta la productividad son:
germinación-emergencia, que determina el establecimiento del cultivo, y el estado de
crecimiento y llenado del fruto que determina la productividad. Dependiendo del tipo
desuelo y la humedad almacenada se considera adecuada una precipitación en el rango de
60 a 100 mm para un buen establecimiento del campo. . (Luz Gómez Pando 2016)
Es importante señalar que la quinua presenta tolerancia a la sequía, a través de diversos
mecanismos como su sistema radicular muy ramificado y profundo, a la reducción de su
área foliar por eliminación de hojas en condiciones de estrés, presenciado vesículas
conteniendo oxalato de calcio que es higroscópico y reduce transpiración a través de la
regulación de las células guardas, a sus pequeñas células con paredes gruesas que le
permiten preservar la turgencia aún en severas pérdidas de agua y otros.. (Luz Gómez
Pando 2016)

Con la monitorización de la humedad del suelo y teniendo una referencia obtenida


gracias a los potenciómetros externos, actuaremos activando el riego siempre que no
tengamos una humedad suficientemente alta. . (Luz Gómez Pando 2016)

En la práctica, este sistema puede provocar que el riego se active en momentos no


óptimos como por ejemplo, mediodía. Con tal de evitar dicha situación, incorporamos
una serie de sensores que nos informan de las condiciones lumínicas del invernadero. .
( Luz Gómez Pando 2016)

Tomando esto como base, su funcionamiento será su activación siempre que haya una
humedad menor a la deseada y la luz incidente sea “baja”, con baja quedan
contempladas prácticamente todas las horas del día menos las centradas entre las 12 del
mediodía y las 8 de la tarde. . ( Luz Gómez Pando 2016)
Como medida adicional de error o alarma, si la humedad superara por alguna razón
anómala en un 20% en porcentaje prefijado, se enviaría un mensaje de alerta al usuario a
través de un elemento externo. ( Luz Gómez Pando 2016)

 Control de Humedad en el aire

Se obtendrá una lectura de la humedad en el aire que hay en el invernadero, esta es en la


mayor de los casos dependiente de la temperatura y al tener un bloque entero solo para el
control de esta, la humedad en el aire siempre quedará en unos valores seguros siendo
innecesario otro bloque entero para esta. ( Luz Gómez Pando 2016)

Como medida adicional se ha optado por monitorizarla y, si en algún momento


superara un valor preestablecido en el 85%, se activará una salida de ventilación de
manera forzada. ( Luz Gómez Pando 2016)

Con todo esto, podemos concluir el siguiente análisis de necesidades:

- Medición de Temperatura
- Medición de humedad relativa en el aire
- Medición de humedad relativa en el suelo
- Encendido y apagado de circuitos 230
- Medición de luz incidente en el invernadero.

4.2 Elección del hardware

Introducción al Arduino.
¿Qué es Arduino?
Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el
mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de
computación física (physical computan) de código abierto, basada en una placa con un
sencillo micro controlador y un entorno de desarrollo para crear software (programas) para
la placa. Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran
variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros
actuadores físicos. Los proyectos con Arduino pueden ser autónomos o comunicarse con
un programa (software) que se ejecute en tu ordenador. La placa puedes montarla tú mismo
o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar
gratis desde la página (www.arduino.cc/en/.)
El Arduino puede ser alimentado a través de la conexión USB o con una fuente de
alimentación externa. La fuente de alimentación se selecciona automáticamente.
(www.arduino.cc/en/.)

Hardware y cable USB

Especificaciones técnicas

Microcontroller ATmega328

Operating Voltage 5V

Input Voltage 7-12V


(recommended)

Input Voltage (limits) 6-20v

Digital I/O Pins 14 (of which 6 provide PWM output)

Analog Input Pins 6

DC Current for I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 32 KB (ATmega328)

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz


Power, Inputs and Outputs.
Pines de alimentation (Power Pins)

Bien alimentemos al arduino mediante la conexión USB o mediante una fuente externa
(recomendada de 7-12V), vamos a tener unas salidas de tensión continua debido a unos
reguladores de tensión y condensadores de estabilización. (www.arduino.cc/en/.)
Estos pines son:
 VIN: se trata de la fuente tensión de entrada que contendrá la tensión a
 la que estamos alimentando al Arduino mediante la fuente externa.
 5V: fuente de tensión regulada de 5V, esta tensión puede venir ya sea de
 pin VIN a través de un regulador interno, o se suministra a través de
 USB o de otra fuente de 5V regulada.
 3.3V: fuente de 3.3 voltios generados por el regulador interno con un
 consumo máximo de corriente de 50mA.
 GND: pines de tierra(www.arduino.cc/en/.)

Digital Inputs/Outputs
Cada uno de los 14 pines digitales se puede utilizar como una entrada o salida. Cada
pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia de pull-
up (desconectado por defecto) de 20 a 50 kOhm. Además, algunos pines tienen
funciones especializadas como (www.arduino.cc/en/.):

 Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisión (TX)


 de datos serie TTL.
 Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de
 interrumpir el programa secuencial establecido por el usuario.
 Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso).
 Constituyen 8 bits de salida PWM con la función analogWrite ().
 Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo
 a la comunicación SPI.
 Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es
 de alto valor, el LED está encendido, cuando el valor está bajo, es
 apagado. (www.arduino.cc/en/.)
Analogica Inputs
El Arduino posee 6 entradas analógicas, etiquetadas desde la A0 a A5, cada una de las
cuales ofrecen 10 bits de resolución (es decir, 1024 estados). Por defecto, tenemos una
tensión de 5v, pero podemos cambiar este rango utilizando el pin de AREF y utilizando
la función analógica Reference (), donde le introducimos una señal externa de continua que
la utilizara como referencia. (www.arduino.cc/en/.)

Hardware de control: Arduino

Para la realización de este proyecto se podría haber utilizado cualquier tipo hardware
de control, bien sea un PLC o algún módulo demótico modificado para trabajar en un
invernadero existente en el mercado, pero uno de los objetivos del proyecto es
desarrollar el sistema desde cero. Por ello se ha optado por una placa Arduino que es
básicamente un micro controlador que cumple con todas las expectativas como más
adelante veremos. (Daniel lozano Equisoain 2016)

Las ventajas de trabajar con un sistema Arduino son:

- Precio: Existen multitud de modelos de placas de varios fabricantes con unos


precios muy económicos, y uno de los pilares del proyecto es mantener los costes
bajos

- Sistema abierto: Arduino es un sistema Open Souce (Código abierto) lo que


significa que es desarrollado libremente (Daniel lozano Equisoain 2016)
- Sistema didáctico: Debido a su configuración hardware, sencillez de lenguaje a
multitud de información existente es posible empezar pequeños proyectos de forma
rápida y segura. (Daniel lozano Equisoain 2016)

- Entradas y salidas digitales disponibles: Podemos elegir modelos en función de


las salidas o entradas que necesitemos. (Daniel lozano Equisoain 2016)
- Muy extendido: Existen infinidad de librerías de libre distribución para poder
comunicarse con hardware y software de terceros. (Daniel lozano Equisoain 2016)

Arduino es una plataforma de hardware libre que se basa en un micro controlador Atm
el AVR y un entorno de desarrollo muy sencillo. Existen diferentes modelos como muestra
la siguiente tabla, cabe destacad el elevado número de entradas y salidas que poseen
incluso los modelos de gama más baja. (Daniel lozano Equisoain 2016)
Tabla (1): Características de las placas Arduino

A continuación se resumen las principales características del hardware empleado en el


proyecto. (Daniel lozano Equisoain 2016)

Arduino Uno

La placa Arduino Uno probablemente sea la más conocida por ser la elegida para la
iniciación del aprendizaje en este dispositivo. En nuestro caso utilizaremos la R3.
Cuenta con puerto de comunicaciones UART (Serial Hardware), USB (puerto virtual),
comunicación mediante I2C (TWI) y SPI. (Daniel lozano Equisoain 2016)
Figura (1): Vista frontal de Arduino UN

Sus características son

Tabla (2): Características de Arduino UNO

 Sensores

Los sensores nos permite recibir información del entorno, para su elección se ha tenido en
cuenta tanto el precio como la fiabilidad. Todos cuentan con características
suficientes para llevar a cabo el proyecto. (José Luis Romeral2016)

Sensores y principios de funcionamiento:


:

Sensores mecánicos (por deformaciones):


La idea de este tipo de sensores, es aprovechar los cambios en las dimensiones que sufren
ciertos tipos de materiales en presencia de la humedad. Los más afectados son algunas
fibras orgánicas y sintéticas, como por ejemplo el cabello humano. Al aumentar la
humedad relativa, las fibras aumentan de tamaño, es decir, se alargan. Luego esta
deformación debe ser amplificada de alguna manera (por palancas mecánicas, o circuitos
electrónicos), y debe ser graduada de acuerdo a la proporcionalidad con la humedad
relativa. El desplazamiento (ΔX) puede ser medido de diversas maneras, en la figura 1, se
aprecia una de ellas, la cual consiste en ubicar una banda extenso métrica (filamento
resistivo, que puede ser metálico o semiconductor) entre la parte móvil y la estable. Al
variar ΔX en forma proporcional a la humedad presente, también lo hará la banda
cambiando la resistencia de ella, luego la variación de la resistencia puede ser convertida a
voltaje usando algún circuito de medición de ΔR, como lo es el puente de Wheatstone
(José Luis Romeral2016)

Estudio de sensor comercial

Durante el período de pruebas preliminares, no contábamos con ningún instrumento que


nos permitiera disponer de un valor de referencia. Para nuestros análisis en estas instancias
previas uno de los principales problemas era el no conocer el nivel inicial de humedad.

Para lograr tener un valor de referencia y como parte de los objetivos del proyecto,
mediante la gestión de los tutores se adquirieron dos sensores comerciales del fabricante
Decagon, modelo EC-5. (José Luis Romeral2016)

Estos sensores son sensores de tipo capacitivo, y de acuerdo a las especificaciones del
fabricante, permiten obtener con calibraciones genéricas una precisión de alrededor del 5%
en cualquier tipo de suelo y con calibraciones específicas a distintos tipos de suelos
precisiones del 2% (José Luis Romeral2016)

Figura 12 - Sonda decagon EC-5 y plug para conexión para toma de datos [10]
Sensor de temperatura y humedad DHT11

El sensor DHT11 presenta un encapsulado de


plástico, utiliza un elemento resistivo para la
medición de la humedad y un termistor (NTC) para
la medición de temperatura. (José Luis
Romeral2016)

Devuelve una señal digital en la medición y


permite una lectura cada segundo (No es rápido,
Pero para la aplicación destinada es más que suficiente).
ARDUINO. (2016). Figura (2): Sensor DHT11

Características:

- Rango de humedad: de 20% al 80% con 5% de precisión


- Rango de temperatura: de 0º a 50º con 5% de precisión (pero solo mide por
Grados, no fracciones)
- Voltaje de entrada: 3,3 - 5VDC
ARDUINO. (2016).

Sensor de humedad del suelo YL38 y YL69

Este sensor tiene la capacidad de medir la


humedad del suelo. Aplicando una
pequeña tensión entre los terminales del
módulo YL-69 hace pasar una corriente
que depende básicamente de la resistencia
que se genera en el suelo. ARDUINO. (2016).

El módulo YL-38 contiene un circuito Figura (3): Sensor YL38 y YL69


ComparadorLM393SMD (de superficial) muy estable soldado, un led de

encendido y otro de activación de salida digital .ARDUINO. (2016).

Características:

- Voltaje de entrada: 3,3 - 5VDC


- Voltaje de salida: 0 - 4,2V
- Corriente: 35mA

Las fotorresistencias o LDR (light-dependent resistor en inglés) son unos componentes


electrónicos de la familia de las resistencias variables que modifican su valor resistivo en
función de la luz que reciben. A mayor luz, mejor resistencia. Es por ello por lo que
también se le llama resistencias dependientes de luz (light dependent resistors),
fotoconductores o células fotoconductoras. ARDUINO. (2016).

En nuestra primera entrada, la resistencia variable (LDR) - Fotorresistencia (1),


presentamos los rasgos más generales de esta familia, en la segunda entrada sobre ellas,
presentamos las limitaciones y las ecuaciones y gráficas que regulan su comportamiento,
en esta entrada definiremos los dos tipos que nos podemos encontrar, y terminaremos en
una cuarta entrada presentando las configuraciones más habituales que podemos
encontrarnos cuando queramos hacer uso de ellas en nuestros proyectos electrónicos.
(José ARDUINO. (2016).

Tipos de fotorresistencias existen dos; las lineales y las no lineales.

LDR lineales: son mejor conocidas como fotodiodos pero bajo ciertas aplicaciones es
posible tratarlas como fotorresistencias debido al comportamiento lineal que presentan.
Para considerar un fotodiodo como una fotorresistencia lineal simplemente se polariza en
inverso. ARDUINO. (2016).
LDR no lineales: son aquellas hechas comúnmente cuyo comportamiento no depende de la
polaridad aplicada sobre ella. ARDUINO. (2016).

Presentamos algunos tipos

Por todo lo visto hasta aquí, tanto en la introducción como en el estudio su


comportamiento, podríamos resumir cuales son las ventajas e inconvenientes del uso de las
fotorresistencias en nuestros proyectos: ARDUINO. (2016).

Ventajas de las fotorresistencias:

1. Alta sensibilidad (debido a la gran superficie que puede abarcar)

2. Fácil empleo.

3. Bajo costo.

4. No hay potencial de unión.

5. Alta relación resistencia luz-oscuridad.

Desventajas de las fotorresistencias:

1. Respuesta espectral estrecha (cada LDR reacciona a un tipo de luz concreto)

2. Efecto de histéresis (tiene cierta "memoria" retarda su funcionamiento)

3. Estabilidad por temperatura baja para los materiales más rápidos. La variación
del valor de la resistencia tiene cierto retardo, diferente si se pasa de oscuro a
iluminado o de iluminado a oscuro. Esto limita a no usar los LDR en aplicaciones
en las que la señal luminosa varía con rapidez.

4. Respuesta lenta en materiales estables.

5. Falta de linealidad entre resistencia e iluminación. ARDUINO. (2016).


Fotorresistencia GL-5549
Su funcionamiento consistente en una célula de Sulfuro de Cadmio,
altamente estable, encapsulada con una resina epoxi transparente,
resistente a la humedad. La respuesta espectral es similar a la del
ojo humano. Su nivel de resistencia aumenta cuando el nivel de luz
disminuye.
ARDUINO. (2016).
Características:

- Voltaje máximo: 150V


- Temperatura (ºC): -30º + 70º
- Pico espectral (nm): 540
- Resistencia oscuridad (KΩ): 100-200
- Resistencia Luz Brillante(KΩ): 10000
- Gamma : 0.9
- Tiempo de respuesta (ms): 25 figura (4):
fotorresistencia (LDR)
ARDUINO. (2016).
Potenciómetros lineales 10k

Es una resistencia variable (con cursor y tres


terminales). Limita el paso de la corriente eléctrica y
se puede variar gracias al cursor. Utilizaremos estos
potenciómetros para determinar los valores deseados
para el sistema, como la temperatura y la humedad en
la tierra. ARDUINO. (2016).

Características:
- Angulo de rotación 300º
- Resistencia 10kΩ (5): Potenciómetro Figura

- Tolerancia 20%
- Consumo 0.08W
- Voltaje máximo 150V AC
ACTUADORES (LOS RELÉS)

En una sesión anterior hicimos una introducción al tema de los relés y además de
presentar un poco la idea de lo que son y cómo funcionan, presentamos algunos ejemplos
de cómo usarlos y de porque son importantes en muchos proyectos.

Pero quizás fue una introducción excesivamente breve y más pensada como apoyo al kit
de inicio que como una sesión que nos permitiera conocer más a fondo el tema, de por sí
muy extenso, y sobre el que podemos hablar largo y tendido. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)

Así que ha llegado el momento de volver sobre el tema y profundizar un poco más en esta
cuestión, limitándonos a aquellos modelos o temas que puedan servirnos desde el mundo
Arduino, porque de otro modo este sería un tema inabarcable, y no quisiera ponerme
pesado, disertando sobre temas que rara vez encontraremos en la electrónica de
aficionados. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

•Porque no pretendemos, de ningún modo, entrar en la cuestión de los relés de potencia


que son un mundo propio y que sería desproporcionado en una página de Arduino.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)

Lo primero que a los estudiantes de electrónica les suele sorprender sobre los relés, es
que son tecnología punta… del siglo XIX. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

¿Y cómo es posible que sigamos usando algo tan antiguo? Os estaréis preguntando. La
respuesta es sencilla: Porque son baratos, pequeños, eficaces y largamente probados, lo
que por ahora les convierte en imprescindibles en un montón de aplicaciones.

Así que vamos a empezar a ver con más detalle el curioso mundo de los relés, el mayor
superviviente tecnológico conocido hasta la fecha. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

CÓMO FUNCIONAN LOS RELÉS

Como ya dijimos previamente, un relé es un interruptor electromecánico que se conmuta


(Cambia de estado) mediante una señal eléctrica, y mira qué curioso, es digital, porque
solo puede tomar el valor abierto y el cerrado, o si lo preferís, 1 o 0, o tal vez True o
False.
EL principio de funcionamiento es bastante simple, aunque parece que a mucha gente le
resulta difícil de entender, y se basa en las leyes de electromagnetismo (Cerrad la puerta.
Que no huya nadie) (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Este circuito que veis arriba consiste sencillamente en un núcleo de hierro dulce (Que es
ferromagnético) y un cable conductor eléctrico, arrollado alrededor del núcleo, que se
conecta a una batería de corriente continua. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

•Si queréis hacer un experimento sencillo en casa, buscar una barra sencilla de hierro y
arrollad un único cable unas cuantas veces a su alrededor, siempre en la misma dirección.

•Cuantas más vueltas deis al hilo más potente será el imán.

•Podéis conectar una batería de 9V por ejemplo, (NO. No señor. No funciona con
corriente alterna).

•¿Adivináis que pasaría si una corriente alterna recorre el circuito?

Las leyes de la física dictan que si cerramos el interruptor, en el hierro se induce un


campo magnético sostenido, siguiendo las reglas de las leyes de Maxwell. Es decir se
convierte en un electroimán. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Si el núcleo no está sujeto a las espiras devanadas, se desplazará lateralmente, y si está


sujeto el conjunto se comporta como un imán que podemos encender y apagar, lo que
aprovechamos, para construir los relés.
Fijaros en la imagen superior. Cuando damos tensión a la bobina, el electroimán atrae la
armadura haciéndola bascular alrededor del pívot, lo que desplaza el contacto móvil hacia
arriba conectando el pin Normalmente abierto con el común cerrando el circuito.

A este contacto se le llama normalmente abierto (NA), porque el circuito entre el común
y el pin NA, esta normalmente abierto(o sin conexión) hasta que se activa el relé.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)

Por el mismo motivo hablamos del normalmente cerrado (NC), ya que el contacto está
cerrado cuando el relé no está excitado. (GERSTIONES ELECTRONICAS ACTUADORES
2002)

Cuando la bobina pierde la alimentación, el efecto imán desaparece y un resorte devuelve


la armadura a la posición de reposo. A este tipo de relé, sorprendentemente se le llama de
armadura, vaya usted a saber por qué. (GERSTIONES ELECTRONICAS ACTUADORES
2002)

•Por si no os habías dado cuenta los primeros relés datan como de 1830 y son la base de
todo el sistema de telegrafía en código Morse de la época. Y los clics secos, que los de
una cierta edad asociamos con el sonido del telégrafo, es sencillamente el ruido del relé
al conmutar. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

•Hay muchos tipos de relés dependiendo de su utilidad y su modo de construcción, pero


el principio básico sigue siendo el mismo y este me ha parecido el más sencillo.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)
Uno podría pensar que los relés deberían tener 4 contactos. Dos para la alimentación y
dos para cerrar el circuito: (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Pero aunque existen, esto tendría el problema de que habría que fabricar un modelo NC y
otro NA lo que es caro (Y la pasta manda, claro)

Por eso, la mayor parte de los relés son de 5 pines. 2 se usan para conmutar el relé y los
otros tres son el común y los pines NA y NC, pero al final un relé es un mecanismo, en el
que una parte móvil metálica, cierra un contacto o lo abre. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)

Como la vida real tiende a ser complicada, y el ánimo de lucro siempre presente, el
mercado ofrece toda una colección de variantes de la idea anterior de múltiples contactos
en el mismo encapsulado con señal única como este diagrama que os muestro abajo.

•Podéis estar seguros de que si alguien puede imaginar un tipo de relé por extravagante
que os parezca, alguien lo fabrica y vende..(GERSTIONES ELECTRONICAS
ACTUADORES 2002)
¿TRANSISTOR O RELÉ?

Y de nuevo surge la cuestión ¿Porque usar un relé y no un transistor para conmutar un


interruptor?

Pues porque cada uno tiene ventajas e inconvenientes. Dependiendo de la aplicación, un


transistor o un relé pueden ser lo más indicados. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

Como regla general, un transistor conmuta varios millones de veces más rápido que un
relé. Si necesitas conmutar unos cuantos miles o decenas de miles de veces por segundo,
ya te puedes olvidar de un relé, que al ser mecánico su velocidad se limita gravemente.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)

•No estoy seguro a qué velocidad se puede conmutar un relé (Quizás pocas decenas de
veces por segundo). Tened en cuenta que hay que excitar la bobina y eso lleva tiempo por
la resistencia inductiva y después hay que vencer la inercia del contacto que es mecánico
y más pesado cuanto más grande sea el relé. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

Pero un transistor es un componente electrónico discreto y pequeño, lo que hace que su


capacidad de conducir corriente sea limitada, No más allá de unos pocos amperios sin
entrar en transistores de potencia (Especiales y caros), mientras que un relé de un eurito
conmuta tranquilamente 10 amperios sin más que ponerle unos contactos metálicos más
gruesos o de mayor superficie, y los encontraras en cuanto levantes una piedra.
•Así que si quieres conmutar cargas medio elevadas sin problemas de velocidad de
conmutación, un relé es una solución barata y eficaz. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

Claro que precisamente el chasquido del relé, supone un golpe de partes móviles
mecánicas, y una vida útil limitada, lo que significa que al cabo de N conmutaciones un
relé se irá acercando a su inevitable final, mientras que un transistor puede llevar una vida
alegre y pacifica muchos años. (GERSTIONES ELECTRONICAS ACTUADORES
2002)

Un relé tiene desgate mecánico cada vez que conmuta, mientras que un transistor no
sufre en absoluto con ello y lo hace millones de veces por segundo como si no tuviera
importancia. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Tanto los transistores como los relés tiene la ventaja, de disponer de un circuito de baja,
el control, y otra circuito de alta, la carga, por lo que se aísla eficazmente el circuito de
control, normalmente de baja tensión, como nuestros Arduinos (Y por regla general
caros) del circuito de carga elevada que puede ser un motor de una cierta potencia, y
muy capaz de chamuscar nuestros circuitos de control y en muchas ocasiones hasta a
algún operador atolondrado. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Por eso, cuando se manejan media y alta tensión en la industria, que pueden freír a un
operario si hay cualquier fuga, se suelen usar relés para conseguir aislamiento galvánico,
por evidentes razones de seguridad, y se exige aislar la tierra del circuito de potencia (De
ahí el nombre de tierra o Ground en inglés) y el negativo o GND del circuito de control,
garantizando así el aislamiento galvánico de los dos circuitos. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)

•Además la industria suministra relés para conmutar tensiones e intensidades


descomunales (A precios a la altura) y del tamaño de un coche pequeño. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)

•Dependiendo de diferentes razones, en las que no sería practico entrar aquí, también
pueden usarse en esta labor transformadores y opto acopladores que de nuevo se nos sale
un poco del tema, pero puede que algún día tengamos que hablar de ellos.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)
En el mundo Arduino vamos a usar relés de baja potencia, como mucho tensiones
alternas alternas de 220V y máximo 5Amperios y solo se requiere más para pequeños
motores

•No os conviene sobrepasar este nivel de cargas, hasta que no tengáis claro lo que estáis
haciendo, porque un calambrazo a 360V os dejará incapaces de peinaros en unos días,
pero si hay además 5 Amperios, la broma puede acabar en el hospital. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)

•Sed prudentes hasta que tengáis claro lo que estáis haciendo.

CONTROLANDO UN MOTOR MEDIANTE UN RELÉ

Cuando hablamos de usar un Arduino para controlar el sentido de giro de un motor de


corriente continua, dijimos que necesitábamos un H-bridge para invertirlo.

Pero en realidad este problema existía mucho antes de que se inventaran los H-bridge y el
personal, que no es tonto, enseguida encontró una solución sencilla con un relé (Que te
parece) mediante un circuito de lo más básico: (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

Un sencillo interruptor contarla el sentido de giro del motor, con un simple relé y sin
electrónica. Si alguien piensa que así no se puede regular la velocidad del motor, debo
decirle que basta con poner un potenciómetro en serie con la alimentación y asunto
resulto. Coste total 1.5 € y ya se hacía 100 años antes de inventar los Arduinos.
(GERSTIONES ELECTRONICAS ACTUADORES 2002)

Existe toda una tecnología del relé hoy en desuso, que va siendo sustituida por electrónica
para realizar las funciones de control, pero que aún hoy quedan muchos circuitos de
control de ascensores, elevadores, luces de emergencia y puertas gobernadas por sistemas
de relés.
Claro que la electrónica tiene muchas ventajas, especialmente velocidad y potencia de
cómputo, pero un conjunto de relés es un sistema de computación valido, que ha
sostenido la revolución industrial, 100 años antes de que la electrónica y la
microelectrónica tomaran el relevo. (GERSTIONES ELECTRONICAS ACTUADORES
2002)

Hoy tendemos a mirarlos un poco r encima del hombro, pero la cantidad de ingenio que
hay detrás de la tecnología de relés es un monumento a la inventiva humana, y algo que
puede asombrar a cualquiera con curiosidad y un tiempo para perder, estudiando cosas en
desuso. (GERSTIONES ELECTRONICAS ACTUADORES 2002)

RELÉS DE ESTADO SÓLIDO O SSR

En los últimos años han ido apareciendo los llamados relés de estado sólido o SSR (Solid
State Relay) y son cada vez más populares debido a una magnifica combinación de las
ventajas de los relés mecánicos y de la electrónica de potencia.

Aunque no son realmente relés en el sentido estricto de la palabra, ya que no conmutan


por inducción, sino que son básicamente un TRIAC, combinado con un opto acoplador y
electrónica, funcionan como si lo fueran. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)

Un diagrama típico podría ser algo así:

No es fácil que en el mundo Arduino encontremos TRIACs, pero por si acaso, según la
Wikipedia es: (GERSTIONES ELECTRONICAS ACTUADORES 2002)

•Un TRIAC o Tríodo para Corriente Alterna es un dispositivo semiconductor, de la


familia de los tiristores. La diferencia con un tiristor convencional es que éste es
unidireccional y el TRIAC es bidireccional. (GERSTIONES ELECTRONICAS
ACTUADORES 2002)
Se trata de un componente electrónico que se emplea en la industria para regular corriente
alterna de potencia para alimentar motores eléctricos industriales por regulación de fase.

Si los párrafos anteriores te han sonado a griego clásico, no te preocupes mucho, les pasa
a todos los estudiantes, pero seguramente significa que no tienes que preocuparte de ello
porque no vives en ese planeta, que es el de la electrónica industrial de potencia..

Como ya he abusado de vuestra paciencia más de lo que es aconsejable, ha llegado el


momento de terminar la sesión, no sin antes anunciaros que en las próximas sesiones,
empezaremos a ver de qué forma nos vamos a encontrar los relés en el mundo Arduino y
que podemos encontrar por por ahí a precio razonable. (GERSTIONES
ELECTRONICAS ACTUADORES 2002)
 Actuadores

Los actuadores reciben sus órdenes directamente desde la salida del micro controlador.
Existen multitud de actuadores que podemos controlar con Arduino como por ejemplo
los Servo. Para este proyecto hemos usado un módulo de relés que permitan accionar
circuitos a 220v (GERSTIONES ELECTRONICAS ACTUADORES 2002)

Modulo Relés

Utilizamos una placa de 8 relés para el accionamiento de


circuitos 230vac. Las entradas son activas en modo LOW,
un detalle a tener en cuenta en la programación del micro
controlador.

Características:

- Voltaje de entrada: +5V


- Voltaje de accionamiento: +5V
- Led de estado en cada canal Figura (6): Modulo Relés

- Consumo por canal: 80mA


- Relés: AC250V 10 A; DC30V 10ª
- Dimensiones: 138 x 54 mm
4.3 Elección del Software

SOFTWARE EMPLEADO

Toda la programación del arduino ha sido realizada a través del software gratuito IDE
que puede encontrarse en la página web oficial para descargar. Es posible programar
el micro controlar mediante otros programas o incluso con el editor de textos pero el
software propio de arduino cuenta con diferentes herramientas que agilizan y
simplifican este proceso. MICROSOFT. (2016).
Podemos tener acceso rápido a las librerías, depuración de errores, selección de puerto y
modelo a programar. Una de las herramientas más utilizadas es el Monitor Serial que nos
permite comunicarnos mediante el USB de nuestro PC y ver los mensajes de ejecución
que hayamos programado. MICROSOFT. (2016).

El micro controlador de la placa se programa mediante el lenguaje de programación de


arduino y el entorno de desarrollo arduino. Acepta las estructuras de programación de C y
casi todas las de C++. MICROSOFT. (2016).

El entorno de programación se puede extender con el uso de librerías, el IDE trae por
defecto unas cuantas instaladas pero para nuestro proyecto hemos necesitado descargar e
instalar las necesarias para nuestro hardware. MICROSOFT. (2016).

- Microsoft Visual Basic 2010 Express

Visual Basic 2010 Express es parte de la familia Visual Studio 2010 Express, un
conjunto gratuito de utilidades que los desarrolladores Windows de cualquier nivel
pueden usar para crear aplicaciones personalizadas usando ajustes básicos y expertos.
MICROSOFT. (2016).

Es un software simple que te permite desarrollar y construir aplicaciones para la Web, tu


smart phone, escritorio o la nube. Para la programación en esta plataforma se asignan
acciones a los elementos disponibles en el programa, como puedan se botones, ventanas de
texto o gráficas. MICROSOFT. (2016).
4.4 Diseño

Dado que el proyecto puede ser ampliable, la estructura general del sistema se ha
realizado de un modo abierto para poder realizar posibles modificaciones de manera
externa a través de otros dispositivos. MICROSOFT. (2016).

Se contempló la posibilidad de añadir un módulo Ethernet shield para no tener que estar
físicamente conectados con el nodo central pero se llegó a la conclusión que no era
necesario dadas las especificaciones de nuestro proyecto y al no tener la necesidad real de
estar conectados inalámbricamente debido a las cortas distancias y el gran aumento de
costes que supondría. MICROSOFT. (2016).

En cualquier caso, a modo de ampliación y mejora como más tarde se detallara queda la
posibilidad de implementarlo.

Para los datos obtenidos del invernadero como la temperatura y la humedad, hemos
decidido, por la simplificación que esto nos proporciona y por la imposibilidad de
simularlo de otra forma, reducir el número de sensores para la adquisición de los
parámetros a uno MICROSOFT. (2016).

Es evidente que en un entorno real de un invernadero seria poco preciso usar solamente
un sensor de temperatura o humedad para determinar las lecturas de todo el lugar. En
caso de una implementación real se distribuirían los sensores sobre la superficie a
monitorizar y se calcularía una media para obtener un parámetro que representara todo
el invernadero, o incluso si fuera lo suficientemente grande se obtendrían parámetros
diferentes de varias zonas y se actuaría más centradamente en ellas para acondicionarlo
a los parámetros deseados. MICROSOFT. (2016).

De igual forma, a modo de ampliación y mejora queda la posibilidad de


implementación. MICROSOFT. (2016).

ESTRUCTURA DEL SISTEMA

Como se comentó con anterioridad el proyecto se compone de dos partes, Hardware y


Software.
La parte Hardware será la formada por el nodo principal que incluirá el micro
controlador Arduino, los sensores y los relés que actuaran sobre las salidas. Todo ello
estará conectado vía USB con una plataforma capaz de ejecutar nuestra aplicación
software desarrollada en Visual Basic( MICROSOFT. 2016).

A continuación se puede ver un esquema de lo dicho anteriormente

Figura (7): Estructura del Sistema

Nodo Principal.

Formado por la placa Arduino UNO y los sensores DHT11,YL38 e YL69. Este
conjunto será el encargado de recoger los datos del sistema, procesaros y actuar en
consecuencia (PROMETEC. (2016).

Se instalará en el exterior del invernadero en una caja estanca preparada donde solo
tendemos accesible los potenciómetros para el ajuste de la Temperatura y la Humedad
(PROMETEC. (2016).

También controlará y monitorizara:


- Encendido y apagado de hasta 8 circuitos 220V
- Lectura de valores de luminosidad
- Lectura de Temperatura y Humedad relativa (DHT11)
- Lectura de Humedad en el suelo (YL38 - YL69)
- Recepción de consigna de Temperatura y Humedad objetivo
- Envió de datos a través del puerto serie (PROMETEC. (2016).
Una vez montado se puede determinar la alimentación de la placa, se realizara
mediante una fuente de alimentación que suministre el voltaje en continua y que
cumpla con las especificaciones de esta, o puede estar alimentada directamente desde el
puerto USB que la conectara con el PC (PROMETEC. (2016).

De cualquier forma ya que los elementos utilizados en el Nodo principal son pocos y no
requieren de un alto consumo, se va a optar por alimentarlos a 5v a través de los pines
que nos proporciona el propio Arduino. (PROMETEC. (2016).

Interfaz de control

Sera ejecutada desde el terminal, bien sea un PC o una Raspberry PI, en esta podremos
ver un informe de estado del invernadero, los sensores y las salidas controladas por el
Arduino. Contará con un botón de inicio para inicializarla, en ese momento la
aplicación buscara los puertos COM disponibles en la unidad desde donde esté siendo
ejecutada y deberemos seleccionar el que esté conectado con el Arduino. (PROMETEC.
(2016).

Tras ello con el botón Conexión iniciaremos la comunicación y empezaremos a ver en la


pantalla los datos recibidos. (PROMETEC. (2016).

4.5 MONTAJE DE SIMULACION

Cada sensor y actuador cuenta con unas características que deben tenerse en cuenta a la
hora de cablearse y en el conexionado. Adjuntos en el Anexo se encuentran los no tasen
de cada uno de los elementos aquí citados. (PROMETEC. (2016).

Sensor de Temperatura y Humedad Relativa (DHT11)

Se ha montado en la placa el sensor combinado de Temperatura y Humedad,


concretamente el modelo DHT11. El pin de entrada para la lectura de datos es el D2,
se conectan a una entrada digital pues estos sensores se comunican con un bus 1-wire.Para
la correcta lectura de los valores proporcionados se ha utilizado la librería específica
del sensor. (PROMETEC. (2016).
Figura (9): Conexión del sensor DHT11

Sensor Humedad en el suelo YL38 y YL69

Su función es la medición de la humedad en el suelo, para ello cuenta con un módulo


principal, el Yl-38, que contiene soldado en pequeña placa con un circuito comparador
LM393 SMD, un led de encendido y otro de activación de salida digital. También
cuenta con 2 pines para la conexión de la sonda YL-69, la cual, al hacer pasa una
corriente que dependerá de la resistencia generada por el suelo nos da la capacidad de
medir la humedad. (PROMETEC. (2016).

Figura (10): Conexión del sensor YL-38 y YL-69


Módulo de relés

Su función es el accionamiento de los circuitos de 230V. El modulo será accionado por


salidas digitales. (PROMETEC. (2016).
La placa cuenta con opto-acopladores que aseguran una separación galvánica entre la
parte de control que funciona a 5 V y la parte de potencia a 230V. En la siguiente
imagen podemos ver la conexión eléctrica con la placa Arduino

Figura (11): Conexión del módulo 8 Relés y Circuitos 230V

Sensor de luminosidad

Para las lecturas de luminosidad hemos acoplado fotorresistencias con su


correspondiente divisor de tensión y llevado las lecturas a la entrada analógica A4.

Esta medición puede ser un poco imprecisa pero para el uso general que vamos a darle es
más que suficiente. Si quisiéramos disponer de un control más exacto optaríamos por
instalar luxómetros pero dispararía el presupuesto. (PROMETEC. (2016).
.

Figura (12): Conexión de LDR

Entradas Analógicas

Se utilizaran las entradas analógicas A1 y A2 para los valores objetivo de temperatura y


humedad en el suelo. Para ello conectamos dos potenciómetros tal como se
representa en la imagen. (PROMETEC. (2016).

Figura (13): Conexión de potenciómetros a Entradas analógicas


Tabla resumen entradas / Salidas

Sensor/ Relé Unidad de Tipo de Nº pin en Función asociada


Control Estrada/salida Arduino
Relé 1 Arduino Salida Digital D8 Calentadores
UNO
Relé 2 Arduino Salida Digital D9 Ventilación
UNO
Relé 3 Arduino Salida Digital D10 Electrobomba
UNO
Relé 4 Arduino Salida Digital D11 Ventilación
UNO Extra
DHT11 Arduino Entrada Digital D2 Sensor
(Tem./Hum) UNO Temperatura
Humedad
YL38-Yl69 Arduino Entrada A3 Sensor Humedad
UNO Analógica suelo
Fotorresistencias Arduino Entrada A4 Medición
UNO Analógica Luminosidad
Potenciómetro 1 Arduino Entrada A1 Selector de
UNO Analógica Temperatura
Potenciómetro 2 Arduino Entrada A2 Selector de
UNO Analógica Humedad
Tabla (3): Resumen entradas /Salidas del sistema

4.6 PROGRAMACION

La programación en cuanto a Arduino se ha realizado dividiéndola en pequeños


bloques para un mejor entendimiento y depuración. : (Daniel lozano 2016)

En el código general del programa podemos ver partes comunes a cualquier programa en
Arduino:
- Comentarios. No afectan al código ni se cargan en el micro controlador, por lo
que no ocupan memoria, pero son recomendables para poder entender lo que
se ha programado y añadir información útil como dónde se deberán conectar
ciertos dispositivos. (Daniel lozano 2016)
- Llamada a librerías y declaración de variables.
- Setup, que se ejecuta una sola vez y es donde podemos inicializar variables,
arrancar dispositivos y cualquier otra tarea que suponga una única
configuración. (Daniel lozano 2016)
- Loop. En esta parte, el bucle, es donde se realiza la mayor parte de la
programación pues es lo que realmente ejecutará el micro controlador, una y
otra vez. (Daniel lozano 2016)

Aunque el loop es la parte donde se ejecutan las órdenes que definimos para el
funcionamiento del programa es posible hacer uso de funciones. Esta se crea fuera del
bucle loop pero al ser llamadas dentro de este se ejecutan de manera ininterrumpida.
(Daniel lozano 2016)

Dado que el código para Arduino no es excesivamente extenso se procederá a mostrar y


explicar con brevedad el funcionamiento de las partes más relevantes. En los ficheros
Anexos se adjuntará el código completo con comentarios. (Daniel lozano 2016)

Librerías y declaración de variables

En esta sección definimos las variables que van a ser utilizadas durante la ejecución del
programa y les asignamos una forma y nombre. También se incluyen librerías necesarias
para el correcto funcionamiento del programa. (Daniel lozano 2016)

En nuestro programa solamente incluimos la librería del sensor combinado de


Temperatura y Humedad como vemos en la primera línea, el fabricante nos
recomienda usarla para no alterar el proceso de recepción de datos aunque siempre
podríamos diseñar una librería nosotros mismos. (Daniel lozano 2016)

Por otra parte se definen como enteras todas las variables que utilizamos en el código con
nombres representativos para una mejor comprensión. (Daniel lozano 2016)
Figura (14): Declaración de variables y librerías

Setup

La parte del setup se ejecuta una sola vez y es donde aprovechamos para definir entre
otros el funcionamiento de los pines de la placa Arduino, ya que algunas pueden
utilizarse tanto como entradas como salidas es necesario definirlas. (Daniel lozano 2016)

El setup también es el lugar donde incluir la velocidad de transmisión para la


comunicación serie para que quede definida al iniciar el programa (Daniel lozano 2016)

Figura (15): Void Setup del código principal


Loop

En loop es la parte principal y la que continuamente se está ejecutando mientras el


microcontrolador está en marcha. Se ha divido esta parte en pequeños sub apartados para
que sea más fácilmente entendible. (Daniel lozano 2016)

Recepción de datos

En el momento del inicio del bucle loop recogemos los datos introducidos al micro
controlador y los escalamos utilizando la función map para adaptarlos a una escala en
la que nos sea cómoda para trabajar con ellos. Las entradas digitales de la placa tienen
un rango de entre 0 y 1023 valores, la función map los escala entre los valores que
nosotros definimos. (Daniel lozano 2016)

Figura (16): Recepción de datos del programa principal

La parte de recepción de los valores para el DHT 11 es algo más complicada y menos
visual ya que trabaja con la librería propia. Esencialmente no devuelve los valores de la
temperatura y la humedad relativa siempre y cuando no se detecte una señal de error por
parte del sensor, para esto utilizamos un bucle IF. (Daniel lozano 2016)

Control de Temperatura

Para esta parte definimos una variable llamada tolerancia que estará preestablecida en
2 grados. Esto se hace ya que la temperatura al ser un valor que varía fácilmente en
pequeños márgenes utilizar un valor fijo podría producir una conexión/desconexión
continua si nuestra temperatura actual y la deseada están igualadas (Daniel lozano 2016).
Con este valor tolerancia abrimos una pequeña ventana de valores validos sobre
nuestra temperatura deseada sumando 2 grados por encima y restando 2 por debajo.
Esta ventana puede reducirse o ampliarse en función de la estabilidad y precisión que
deseemos. (Daniel lozano 2016)

En cuanto al funcionamiento del código, se han incluido bucles if que limitan las
condiciones del sistema y actúan en consecuencia activados o desconectando salidas y
dándonos información al puerto serie. (Daniel lozano 2016)

Figura (17): Control de temperatura del programa principal


Control de Humedad

En esta sección del programa controlamos la humedad del suelo, para esto tendremos
en cuenta las condiciones de iluminación. En la sección de recepción de datos hemos
escalado las lecturas de las fotorresistencias en valores entre 0 y 12000, esto es para
tener una escala más precisa sobre la luz que incide en el invernadero donde 0 es
oscuridad absoluta y 12000 totalmente iluminado. Se ha calculado que las horas de
más sol a mediodía el valor de las fotorresistencias oscila entre 6000 y 7000, en la
mañana y en la noche los valores fluctúan entre 3000 y 4000 así que hemos tomado
como valor de referencia 3200 contando que cuando haya esa luminosidad debe ser
por la mañana, por la tarde/noche. (Daniel lozano 2016)

Esta solución no es precisa y cuenta con muchísimo margen de mejora para afinarlo pero
con esto solo se quería introducir una condición en la programación. En una situación
real esta parte del código debería ser cambiada por completo.

Se ha programado una situación extraordinaria donde por alguna circunstancia la


humedad sea excesivamente alta, se cuenta con un 20% más del valor deseado. Si esto
ocurre se enviara una mensaje de alerta al monitor y se detendrá el riego si es que este
estaba activo(Daniel lozano 2016)

Figura (18): Control de humedad del programa principal


Por otra parte, se monitoriza en todo momento la humedad en el aire y si en algún
momento sobrepasa un límite preestablecido en el 80% se activan ventilaciones extra
para extraer la humedad restante. (Daniel lozano 2016)

Aplicación Visual Basic

En lo correspondiente a la aplicación de visual Basic se ha realizado una programación para


poder leer los datos obtenidos desde el puerto serie que queramos, se realizara una
secuencia de arranque muy intuitiva para conectarnos con el Arduino y luego
visualizaremos en la pantalla los datos que este nos envía(Daniel lozano 2016).

Aquí se puede ver una captura de la aplicación en pleno funcionamiento bajo unas
circunstancias anómalas.

Figura (19): Vista de la aplicación VB en funcionamiento

Lo que se ha tenido en cuenta en esta aplicación a la hora de programar es tener una


recepción de datos en el buffer a través de un timer que cada 2segundos nos actualice la
información recibida. Se ha implementado un campo para el envio de datos hacia el
Arduino que ahora mismo no tiene ninguna función pero que en futuras versiones nos
permitirá mandar instrucciones a este. (Daniel lozano 2016)
A continuación un fragmento del código más impórtate de la aplicación, la parte del
timer. El resto del código se puede encontrar en la carpeta de anexos. (Daniel lozano 2016)

Figura (20): Código del timer en Visual Basic

Consiste en que cada ciclo de reloj si hay datos en el buffer los recoge y los muestra en
la pantalla, tras ello vacía el buffer y se prepara para el próximo ciclo. (Daniel lozano
2016)

4.7 Pruebas, problemas y mejoras.

En esta sección veremos los diversos pasos que han hecho falta para que nuestro
sistema funcionara correctamente

 Pruebas

Para la realización del proyecto se fueron añadiendo poco a poco los elementos al
programa principal probando previamente cada uno de ellos de forma individual. (Daniel
lozano 2016)

Para esto se procedía con los siguientes pasos:

- Montaje del dispositivo a la placa Arduino


- Documentación sobre el mismo para entender su funcionamiento
- Creación de un código exclusivo para realizar una prueba
- Pruebas de funcionamiento analizando su comportamiento a través del
serial monitor y unos mensajes estratégicamente ubicados para obtener
información de las acciones del dispositivo
- Modificación del programa individual si se detectan errores de
funcionamiento y vuelta al punto 4 hasta conseguir los resultados deseados
- Una vez se comporta de la manera deseada se incorpora el código
individual al programa principal (Daniel lozano 2016)
- Pruebas de funcionamiento en el programa principal revisando que no hay
solapamiento de variables ni nada extraño
- Revisión visual del nuevo elemento añadido al sistema y comprobación en
el Serial Monitor de su correcto funcionamiento
- Se deja el programa en funcionamiento durante cierto tiempo por si
aparecen fallos(Daniel lozano 2016)
En general tras seguir estos pasos la incorporación de elementos al programa
principal ha resultado sencilla.

 Problemas y soluciones

A lo largo de la realización de este trabajo se han ido encontrando ciertos problemas de


funcionamiento que en un principio deberían funcionar sin problemas. (Daniel lozano
2016)

Algunos de los bloques programados tenían un comportamiento demasiado tosco en las


primeras pruebas debido a la complejidad del código. Tras la consulta a gente con más
experiencia siempre se llegába a la conclusión que, para el funcionamiento requerido
por el sistema no era necesario complicar tanto el código, así que a través de la
simplificación se han eliminado muchos errores. (Daniel lozano 2016)

 Mejoras

Durante la creación de este proyecto se han investigado diferentes dispositivos y


aplicaciones que aunque no han sido incluidas en la memoria podría resultar útiles en
vistas a una ampliación o mejora del proyecto, unas de esas mejoras son: (Daniel lozano
2016)

-La utilización de dispositivos Xbee para la transmisión de datos a la placa Arduino o, si


habláramos de un proyecto más grande que fueran necesarias dos o más placas, la
comunicación entre estas. La incorporación de estos dispositivos añadiría costes al
presupuesto pero sería una alternativa interesante si no se puede realizar una
instalación de cableado completa. (Daniel lozano 2016)

-Utilizar la Raspberry PI para crear una base de datos donde alojar toda la información del
sistema. Tras esto a través de una aplicación web acceder a estos para realizar graficas o
un seguimiento detallado. (Daniel lozano 2016)
-Montar la placa Arduino y la RaspberryPI conjuntamente para que, la placa Arduino se
encargue solamente de la recogida de datos y sea la raspberry PI la encargada de la
comunicación con el exterior (Daniel lozano 2016)

-Desarrollar la aplicación de Visual Basic para dotar al operario de un control total del
sistema desde un terminal

5. PRESUPUESTO

En este apartado se detalla la lista de elementos necesarios para realizar el montaje de la


simulación del proyecto.
En todos los precios está incluido el IVA.

Item. Unidades Precio/bs Subtotal


Arduino UNO R3 1 120 bs 120 bs
Sensor YL38 - 2 13 bs 26 bs
YL39

DHT11 2 16 bs 32 bs
Modulo 8 Relés 1 58 bs 58 bs
LDR 2 8.10 bs 16.20 bs
Pot. Lineal 10KΩ 2 15.20 bs 30.40 bs
Protoboard 1 92.30 bs 92.30 bs
Cable Para 1 7 bs 7 bs
conexiones

Raspberry PI mod 1 170 bs 170 bs


B

Total: 651.9 bs
Tabla (4): Tabla presupuesto total del Proyecto
6. ANEXOS
Listado de Figuras
Figura (1): Vista frontal de Arduino UNO
Figura (2): Sensor DHT11
Figura (3): Sensor YL38 y YL69
Figura (4): Fotorresistencias (LDR)
Figura (5): Potenciómetro
Figura (6): Modulo Relés
Figura (7): Estructura del Sistema
Figura (8): Montaje del nodo principal
Figura (9): Conexión del sensor DHT11
Figura (10): Conexión del sensor YL-38 y YL-69
Figura (11): Conexión del módulo 8 Relés y Circuitos 230V
Figura (12): Conexión de LDR
Figura (13): Conexión de potenciómetros a Entradas analógicas
Figura (14): Declaración de variables y librerías
Figura (15): Void Setup del código principal
Figura (16): Recepción de datos del programa principal
Figura (17): Control de temperatura del programa principal
Figura (18): Control de humedad del programa principal
Figura (19): Vista de la aplicación VB en funcionamiento
Figura (20): Código del timer en Visual Basic
Listado de Tablas:
Tabla (1): Características de las placas Arduino.
Tabla (2): Características de Arduino UNO
Tabla (3): Resumen entradas /Salidas del sistema
Tabla (4): Tabla presupuesto total del Proyecto
7. REFERENCIAS BIBLIOGRAFICAS Y WEBGRAFIA

ARDUINO PRACTICO Autor: Daniel lozano Equisoain (Editorial Anaya multimedia)


Fecha de publicación 20 de octubre 2016
GUÍA DE CULTIVO Autor: Luz Gómez Pando
Edición a cargo de (Universidad Nacional Agraria La Molina)
Publicado en Marzo de 2016
(Www. ARDUINO.cc/en/.) (2015) de http://goo.gl/nUvuPN
Automatización industrial (sensores de humedad) de José Luis Romeral
Editorial marconbo s.a. 1.ed.(14/10/2003)
ARDUINO. (2016). Built-in examples. Recuperado de http://goo.gl/nUvuPN
GERSTIONES ELECTRONICAS ACTUADORES AUTOR: ORGABIZACION DE SERVIO. SEAT.
PUBLICADO (EN FEBRERO 2002)

MICROSOFT. (2016). Guia de programación en Visual Basic. Recuperado de


http://goo.gl/3h14nc
MICROSOFT. (2016). Visual Basic. Recuperado de http://goo.gl/pgcc3J
PROMETEC. (2016). Curso Arduino. Recuperado de http://goo.gl/IKYpYD
PROMETEC. (2016). Primeros pasos con Arduino. Recuperado de http://goo.gl/7Eftls
PROGRAMACION DE ARDUINO Autor: Daniel lozano (editorial Anaya multimedia)
Fecha de publicación 20 de octubre 2016

También podría gustarte