Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ORIENTADOR
A mis padres
A mis padres
Aldo y Zunilda
Y mis hermanas
Olga y Nazareth
ii
AGRADECIMIENTOS
A mis padres,
Por haberme forjado como la persona que soy en la actualidad, por motivarme en
los momentos difíciles y darme todas las oportunidades que tuve en todos estos
años para desarrollarme como persona y profesionalmente.
A nuestro orientador, el Ing. Lucas Frutos, por sus recomendaciones, aportes, apoyo
y tiempo dedicado al desarrollo del proyecto
iii
RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA MEDICIÓN DEL
CONSUMO DE AGUA DE USO DOMICILIARIO
Autores: CHRISTIAN DANIEL CASTILLO BERNAL
ALDO JAVIER MOLINARI BÁEZ
Orientador: Prof. Ing. Lucas Frutos Olmedo
RESUMEN
Este trabajo fue realizado con el objetivo de diseñar un prototipo de red de
sensores para automatizar la medición del consumo de agua de uso domiciliario. El
relevamiento de datos se efectuó desde el mes de diciembre de 2016 hasta marzo
de 2017. Mientras que el desarrollo del diseño, programación y ensamblaje de los
componentes del prototipo se llevaron a cabo entre el mes de marzo del 2017 y
Octubre del 2017.La medición de consumo de agua se hará a través de
Caudalímetros interconectados a Microcontroladores. Los datos serán enviados a
un Concentrador de Datos (Gateway) por medio de una red inalámbrica Zigbee. El
Concentrador de Datos (Gateway) tendrá una base de datos que almacenará las
mediciones provenientes de los medidores de consumo domiciliario, además se
alojará en una página web para que cualquier usuario autorizado pueda acceder a
las mediciones hechas en tiempo real de cada domicilio a través de internet. La
información obtenida puede ser utilizada para la facturación del consumo de agua
potable domiciliaria por empresas dedicadas al rubro de la distribución del vital
líquido.
iv
RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA MEDICIÓN DEL
CONSUMO DE AGUA DE USO DOMICILIARIO
Authors: CHRISTIAN DANIEL CASTILLO BERNAL
ALDO JAVIER MOLINARI BÁEZ
Advisors: Prof. Ing. Lucas Frutos Olmedo
SUMMARY
This work was carried out with the objective of designing a prototype network of
sensors to automate the measurement of the consumption of water for home use.
The data collection was carried out from December 2016 until March 2017. While
the development of the design, programming and assembly of the components of
the prototype is carried out between March 2017 and October 2017.It proposes the
implementation of a network of sensors for the automation of the measurement of
water consumption of home, considering that at present this process is performed
manually. The measurement of water consumption will be made through
flowmeters interconnected microcontrollers. The data will be sent to a data
concentrator (Gateway) by means of a wireless network Zigbee. The Data
Concentrator (Gateway) will have a database that will store the measurements from
the meters of household consumption, in addition will be hosted on a web page to
any authorized user can access the measurements made in real time of each door
through the internet. The information obtained can be used for the billing
consumption of drinking water at home by companies dedicated to heading of the
distribution of this vital liquid.
v
CONTENIDO
DEDICATORIA ..........................................................................................................................................ii
AGRADECIMIENTOS................................................................................................................................ iii
RESUMEN ............................................................................................................................................... iv
SUMMARY ...............................................................................................................................................v
CONTENIDO ............................................................................................................................................ 1
LISTA DE FIGURAS .................................................................................................................................. 6
LISTA DE TABLAS .................................................................................................................................. 13
GLOSARIO DE SIGLAS Y ABREVIATURAS ............................................................................................... 14
I. INTRODUCCIÓN .......................................................................................... 15
II. REVISIÓN BIBLIOGRÁFICA ........................................................................... 17
Capítulo 1. ......................................................................................................... 17
1. RED DE SENSORES ....................................................................................... 17
1.1 Breve Introducción ........................................................................................ 17
1.2 Redes inalámbricas de sensores ..................................................................... 18
1.2.1 Topologías de red WSN .................................................................................................. 18
1.2.2 Arquitectura del sistema ................................................................................................ 19
1.2.3 Nodo inalámbrico ........................................................................................................... 20
1.2.4 Estándares de Comunicación Inalámbrica ...................................................................... 21
1.2.4.1 Bluetooth........................................................................................................... 21
1.2.4.2 Estándar 802.11 – redes inalámbricas .............................................................. 22
1.2.4.3 Zigbee ................................................................................................................ 24
1.2.4.4 Puertas de enlace .............................................................................................. 25
1.2.4.5 Estación Base ..................................................................................................... 26
Capítulo 2. ......................................................................................................... 27
2. SENSORES MEDIDORES DE AGUA ................................................................ 27
2.1 Sensores ....................................................................................................... 27
2.2 Breve introducción ........................................................................................ 27
2.3 Medidores volumétricos de agua ................................................................... 30
2.3.1 Sistema de Presión Diferencial ....................................................................................... 31
2.3.1.1 Tubo Pitot .......................................................................................................... 31
2.3.1.2 Tubo Annubar.................................................................................................... 32
2.3.2 Rotámetros ..................................................................................................................... 33
1
2.3.3 Sistema de Velocidad ..................................................................................................... 34
2.3.3.1 Turbinas ............................................................................................................. 34
2.3.4 Medidor de efecto hall ................................................................................................... 35
2.3.4.1 Principio de funcionamiento del caudalímetro de Efecto Hall .......................... 35
2.3.4.2 Síntesis .............................................................................................................. 38
Capítulo 3. ......................................................................................................... 41
3. CONTROLADOR DEL MEDIDOR DE AGUA ..................................................... 41
3.1 Microcontrolador .......................................................................................... 41
3.2 PSoC 4 ........................................................................................................... 42
3.2.1 Hardware del PSoC 4 ...................................................................................................... 43
3.2.1.1 Sistema de CPU ................................................................................................. 44
a. Procesador ........................................................................................................ 44
b. Controlador de interrupción ............................................................................. 44
3.2.1.2 Memoria ............................................................................................................ 44
a. Flash .................................................................................................................. 45
b. SRAM ................................................................................................................. 45
3.2.1.3 Recursos para el sistema ................................................................................... 45
a. Sistema de sincronización ................................................................................. 45
b. Sistema de alimentación ................................................................................... 45
c. GPIO .................................................................................................................. 46
d. Digital programable ........................................................................................... 46
e. Temporizador/Contador/Bloque PWM ............................................................. 46
f. Bloque de comunicación Serial ......................................................................... 47
g. SAR ADC............................................................................................................. 47
h. Mini bloque de tiempo continúo....................................................................... 47
i. Comparadores de baja energía ......................................................................... 47
j. LCD Segment Drive ............................................................................................ 48
k. CapSense ........................................................................................................... 48
l. IDACs y comparador .......................................................................................... 48
m. Programar y Depurar ......................................................................................... 48
3.2.2 PSoC Creator................................................................................................................... 49
Capítulo 4. ......................................................................................................... 50
4. RASPBERRY PI ............................................................................................. 50
4.1 Hardware del Raspberry ................................................................................ 51
4.1.1 GPIO (General Purpose Input/Output) ........................................................................... 51
4.1.2 RCA (Video)..................................................................................................................... 53
4.1.3 Mini-Jack......................................................................................................................... 53
4.1.4 JTAG ................................................................................................................................ 54
4.1.5 Tarjeta SD ....................................................................................................................... 54
4.1.6 Display Serial Interface (DSI) .......................................................................................... 54
4.1.7 Micro USB ....................................................................................................................... 55
4.1.8 Microprocesador del Raspberry Pi ................................................................................. 56
2
4.1.9 HDMI .............................................................................................................................. 57
4.1.10 CSI ...................................................................................................................... 58
4.1.11 Conector ethernet ............................................................................................. 59
4.1.12 Puerto USB ........................................................................................................ 59
6.5 Esquema general del Hardware del Medidor de Consumo de Agua ................128
6.5.1 Placa de Circuito impreso del medidor ........................................................................ 130
6.5.2 Prototipo Montado ...................................................................................................... 131
6.5.3 Pruebas para calibración del Medidor-Nodo ............................................................... 133
V. CONCLUSIÓN .............................................................................................174
VI. RECOMENDACIONES ...............................................................................175
VII. BIBLIOGRAFÍA.........................................................................................176
a. Fuentes Impresas ............................................................................................ 176
b. Fuentes en Línea ............................................................................................. 177
ANEXO ................................................................................................................................................ 180
a. Datasheet del CM1 del Raspberry PI ............................................................... 180
b. Datasheet del PSOC 4 ...................................................................................... 181
5
LISTA DE FIGURAS
Figura 12. Medidor de efecto Hall con sensor de flujo YF-S201. ............................... 39
Figura 13. Medidor destapado de efecto Hall con sensor de flujo YF-S201 .............. 39
6
Figura 19. Conectores RCA. ........................................................................................ 53
Figura 45. Preparación del Install Shield Wizard en el proceso de instalación. ........ 86
Figura 47. Install Shield Wizard en proceso de instalación del PSoCCreator. ........... 87
Figura 48. Selección del tipo de instalación del PSoC Creator. .................................. 88
Figura 70. Diagrama de Flujo del funcionamiento de la Rutina de Medición. ........ 103
Figura 72. Gráficos voltaje versus tiempo de la señal del caudalímetro y WDT. .... 104
Figura 74. Diagrama de Flujo del funcionamiento de la Rutina de Medición. ........ 107
Figura 81. Dirección del Software XCTU dentro de la PC. ........................................ 118
Figura 82. Mensaje que indica que se está listo para comenzar la instalación. ...... 119
Figura 86. Selección del puerto COM que corresponde al dispositivo Xbee. .......... 121
Figura 87. Selección de parámetros para la búsqueda de un módulo de radio. ..... 122
9
Figura 90. Parámetros de configuración del Xbee. .................................................. 125
Figura 96. Esquema general del conexionado hardware del Medidor. ................... 129
Figura 99. Interfaz Web del Fabricante del Raspberry Pi......................................... 136
Figura 100. Ícono Web del sistema operativo Raspbian Jessie Lite......................... 137
Figura 104. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI. .. 139
Figura 105. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI. .. 139
Figura 106. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI. .. 140
Figura 108. Interfaz del setup de herramientas del Raspberry PI. .......................... 141
Figura 109. Finalización del proceso de expansión del sistema operativo. ............. 142
Figura 115. Interfaz de configuración de internet del Raspberry PI. ....................... 147
11
LISTA DE FOTOGRAFÍAS
12
LISTA DE TABLAS
13
GLOSARIO DE SIGLAS Y ABREVIATURAS
PC Personal Computer
14
I. INTRODUCCIÓN
15
posterior procesamiento y transmisión al Concentrador de Datos a través de la red
inalámbrica Zigbee.
16
II. REVISIÓN BIBLIOGRÁFICA
Capítulo 1.
1. RED DE SENSORES
Una red de este tipo es una flexible y poderosa herramienta para poder
monitorizar complejos sistemas. “A medida que este tipo de redes sean más
utilizadas y gracias también, a los avances tecnológicos constantes en las técnicas
con semiconductores, los precios de los dispositivos bajaran a la vez que las
prestaciones subirán. Las aplicaciones en las que podrían utilizarse se multiplicaran,
así como las áreas de investigación científica.”1
1
FERNANDEZ, R. ORDIERES, J. 2009. Redes Inalámbricas de Sensores: teoría y aplicación práctica.
Pág. 17.
2
CAPELLA, J. 2010. Tesis Doctoral-Redes Inalámbricas de Sensores. Pág. 27.
17
1.2 Redes inalámbricas de sensores
La WSN se basa en dispositivos de bajo coste y consumo (nodos) que son
capaces de obtener información de su entorno, procesarla localmente, y
comunicarla a través de enlaces inalámbricos hasta un nodo central de
coordinación. Los nodos actúan como elementos de la infraestructura de
comunicaciones al reenviar los mensajes transmitidos por nodos más lejanos hacia
al centro de coordinación. La red de sensores inalámbricos está formada por
numerosos dispositivos distribuidos espacialmente, que utilizan sensores para
controlar diversas condiciones en distintos puntos, entre ellas la temperatura, el
sonido, la vibración, etc.
18
Figura 1. Topologías de Red WSN comunes.3
Por ende, “el modelo seguido por las aplicaciones es el siguiente: realizar
una serie de mediciones sobre el medio, transformar dicha información en digital en
el propio nodo y transmitirla fuera de la red de sensores vía un elemento Gateway a
una estación base, donde la información pueda ser almacenada y tratada.” 4
3
Topología de Red WSN comunes. [En línea] 2017. Disponible en: http://www.ni.com/white-
paper/7142/es/.
4
FERNANDEZ, R. ORDIERES, J. 2009. Redes Inalámbricas de Sensores: teoría y aplicación práctica. Pág.
18.
19
Figura 2. Red Inalámbrica de sensores.5
5
ibíd.
6
ibíd.
20
El hardware de un nodo está compuesto de:
1.2.4.1 Bluetooth
El movimiento Bluetooth empezó en 1994, en Suecia, en una Ciudad
universitaria llamada Lund, en la cual, uno de sus inventores llamado JaapHaartsen
afirma que todo fue por pura casualidad aunque la versión 1.0 de la especificación
de Bluetooth fue liberada en 1999. La tecnología inalámbrica Bluetooth es una
21
especificación mundial para elementos de pequeño tamaño y costo bajo de
comunicación, que provee de enlaces entre computadoras móviles, teléfonos
móviles y otros dispositivos electrónicos. “Bluetooth usa una onda corta, siempre en
señal de radio que permite que todos los tipos de dispositivos se puedan comunicar
entre sí a una distancia alrededor de 30 pies.”7
Especificaciones generales:
Banda de frecuencia: 2.4 GHz (Banda ISM).
Potencia del transmisor: 1 mW para alcance de 10 m, 100 mW para un
alcance de hasta 100 m.
Tecnología: Espectro Expandido y Saltos de Frecuencia.
Velocidad de datos: hasta 721 kbit/s.
Rango esperado del sistema: 10 metros.
Alimentación: 2.7 Volt.
Consumo de Potencia: desde 30 uA a 30 mA transmitiendo.
Tamaño del módulo: 0.5 pulgadas cuadradas (9x9 mm).
7
GONZALEZ, S. 2008. TECNOLOGIA BLUETOOTH. Pág. 4.
8
MARRONE, L. 2009. Redes Wireless-Tecnología MIMO-Análisis y performance del Estándar de
Comunicaciones Inalámbricas 802.11n. Pág. 4.
22
generador o una antena, las cuales abarcan un espectro que está entre 3Hz y
300Ghz según sus diferentes aplicaciones.
Protocolo Descripción
23
(AP) dentro de una red WLAN multiproveedor. El estándar define
el registro de puntos de acceso dentro de una red y el
intercambio de información entre ellos cuando un usuario se
traslada desde un punto de acceso a otro.
1.2.4.3 Zigbee
El Zigbee es el nombre de un estándar que define una serie de protocolos
de comunicación inalámbrica de bajo consumo. Los dispositivos inalámbricos
basados en Zigbee operan en banda de frecuencia 868 MHz, 915 MHz, y 2,4 GHz
Citado por (Farahani, 2008). En muchas aplicaciones del Zigbee, los dispositivos no
24
pueden ser utilizados por mucho tiempo para transmisión de datos debido a que
consumen mucha energía., es por eso que suelen estar en el modo sleep para
ahorrar energía. El estándar Zigbee ha adoptado IEEE 802.15.4. En este proyecto de
grado utilizaremos el Zigbee.
9
FARAHARI, S. 2008. Zigbee Wireless Networks and Transceiver. Pág. 28.
10
FERNANDEZ, R. ORDIERES, J. 2009. Redes Inalámbricas de Sensores: teoría y aplicación práctica.
Pág. 22.
25
1.2.4.5 Estación Base
La estación base es un recolector de datos basado en una computadora
común o sistema empotrado. En una estructura normal todos los datos van a aparar
a un equipo servidor dentro de una base de datos, desde donde los usuarios
pueden acceder remotamente y poder observar y estudiar datos
26
Capítulo 2.
2.1 Sensores
Los sensores son dispositivos hardware que producen una respuesta
medible ante un cambio en un estado físico, como puede ser temperatura o
presión. Los sensores detectan o miden cambios físicos en el área que están
monitorizando. La señal analógica continua detectada es digitalizada por un
convertidor analógico digital y enviada a un controlador para ser procesada.
27
aprovechar los recursos de agua subterráneos, dando origen a las primeras
construcciones de pozos.”11
11
Historia sobre el tratamiento de agua [En línea] 2017. Disponible en:
http://blog.condorchem.com/historia-sobre-el-tratamiento-del-agua-potable/.
28
En la antigua Roma, ya que en esta metrópolis existía una gran necesidad
de distribuir el preciado líquido a los habitantes. Debido a que este líquido, al
principio, se distribuía de manera gratuita, los pobladores no lo aprovechaban de
una manera eficiente y el agua era desperdiciada, así que las autoridades decidieron
hacer un cobro igual a todos los habitantes por el uso de este. Ya a finales del siglo
XIX, en Inglaterra, se observó que hacer el mismo cobro a todos los habitantes era
algo injusto e inequitativo, así que se pusieron a la tarea de desarrollar un medidor
de agua, con el cual se contabilizara el consumo de agua total y se realizara el cobro
respectivo, este sistema sirvió al principio y por un buen tiempo, hasta que usuarios
inconformes con el cobro violaban la seguridad del medidor y le introducían toda
clase de objetos para que se alterara la medición, por ello se han desarrollado una
serie de medidores antifraude y además se ha incorporado en la normatividad legal
de casi todos los países del mundo como delito la alteración de cualquier tipo de
medidores.
29
Figura 5. Esquema de conexión de medidor de agua domiciliario12
12
Medidores de Agua [En línea] 2017. Disponible en:
http://www.acuaval.com/paginas/hidraulica/medidores_agua.html.
13
CREUS, A. 2010, INSTRUMENTACION INDUSTRIAL 8va Edición. Pág. 105.
30
o inferencia (presión -diferencial, área variable, velocidad, fuerza, tensión inducida,
torbellino).
𝑃2 𝑃1 𝑉1 2
= + (𝟏. 𝟏)
𝑝 𝑝 2
En la que:
𝑝= densidad.
31
Figura 6. Tubo Pitot.14
De aquí se deduce:
(𝑃1 − 𝑃2 )2
𝑉1 = √ (𝟏. 𝟐)
𝑝
(𝑃1 − 𝑃2 )2
𝑉1 = 𝐶 √ 𝜋 (𝟏. 𝟑)
𝑝
Por ende se concluye que: “El tubo Pitot es sensible a las variaciones en la
distribución de velocidades en la sección de la tubería, de aquí que en su empleo es
esencial que el flujo sea laminar, disponiéndolo en un tramo recto de tubería. Si el
eje del tubo está en el centro de la tubería, se considera C = 0,9 y se obtiene una
exactitud del orden del ± 2% al ± 5%.”15
14
ibíd. Pág. 138.
15
ibíd.
32
orificios de posición crítica, determinada por computador, que cubren cada uno la
presión total en un anillo de área transversal de la tubería. Estos anillos tienen
áreas iguales.
2.3.2 Rotámetros
Un Rotámetro se caracteriza por el cambio de área que se produce entre el
elemento primario en movimiento y el cuerpo del medidor. Se asemejan a una
placa-orificio cuyo diámetro interior fuera variable dependiendo del caudal y de la
fuerza de arrastre producida por el fluido.
16
ibíd. Pág. 139.
17
ibíd.
33
El primer rotámetro o el primer elemento de área variable con flotador
giratorio, fue inventado en 1908 por Kart Kueppers en Aachen .En el rotámetro, un
flotador cambia su posición dentro de un tubo, proporcionalmente al flujo del
fluido. “El flotador está en equilibrio entre su peso, la fuerza de arrastre del fluido y
la fuerza de empuje del fluido sobre el flotador. El caudal depende del peso
específico del líquido, de su viscosidad y de los valores de la sección interior del tubo,
ya que la misma cambia según sea el punto de equilibrio del flotador.” 18
Figura 8. Rotámetro.19
2.3.3.1 Turbinas
El medidor de turbina consiste en un rotor que gira al paso del fluido con
una velocidad directamente proporcional al caudal. El líquido choca en frente de las
palas del rotor produciendo un área de baja presión, y como resultado de esta
presión diferencial, las palas giran.
18
ibíd. Pág. 144.
19
ibíd.
34
Figura 9. Medidor de Turbina.20
20
Medidor de Turbina [En línea] 2017 .Disponible en:
http://webdelprofesor.ula.ve/ingenieria/djean/index_archivos/INST_Flujo/objetos/mediturbina.jpg.
35
cargas negativas, por ejemplo electrones, en un metal, y la figura 11 muestra cargas
positivas. En ambos casos una carga en movimiento es impulsada hacia el borde
superior de la cinta por fuerza magnética𝑭𝒁 = |𝐪|𝑽𝒅 𝐁.
𝐽𝑥 =nq𝑣𝑑 (𝟏. 𝟓)
−𝐽𝑦 𝐵𝑦
nq = (𝟏. 𝟔)
𝐸𝑧
21
ZEMANSKY, S. FREEDMAN Y. FISICA UNIVERSITARIA Edición 11. Pág. 1048.
37
Figura 10. Portadores de corriente negativo.22
2.3.4.2 Síntesis
El efecto Hall es una diferencia de potencial perpendicular a la dirección de
corriente, que se crea cuando se coloca el conductor en un campo magnético. El
potencial de Hall está determinado por el requisito de que el campo eléctrico
asociado debe compensar exactamente la fuerza magnética sobre una carga en
movimiento. Las mediciones del efecto Hall permiten determinar el signo de los
portadores de carga y su concentración.
−𝐽𝑥 𝐵𝑦
𝑛𝑞 = (𝟏. 𝟕)
𝐸𝑧
22
ibíd.
23
ibíd.
38
Figura 12. Medidor de efecto Hall con sensor de flujo YF-S201.24
Figura 13. Medidor destapado de efecto Hall con sensor de flujo YF-S20125
24
Caudalímetro efecto Hall [En línea] 2017 .Disponible en:
http://miarduinounotieneunblog.blogspot.com/2016/04/caudalimetro-con-sensor-de-flujo-yf.html.
25
ibíd.
39
velocidad de flujo. El sensor de efecto Hall proporcionará un impulso eléctrico con
cada revolución del rotor molinete. Este módulo sensor de flujo de agua puede ser
fácilmente interconectado con microcontroladores, placas Arduino y Raspberry Pi.
Conecte la salida PWM de este módulo a un pin del microcontrolador y cuente el
número de impulsos por unidad de tiempo. La tasa de flujo de agua será
directamente proporcional al número de pulsos contados.
40
Capítulo 3.
3.1 Microcontrolador
Un microcontrolador es un circuito integrado programable que contiene
todos los componentes necesarios para controlar el funcionamiento de una tarea
determinada, como el control de una lavadora, un teclado de computadora, una
impresora, un sistema de alarma, etc. Para esto, el microcontrolador debe disponer
de una memoria donde se almacena el programa que gobierna el funcionamiento
del mismo que una vez programado y configurado, solo sirve para realizar la tarea
asignada. La utilización de un microcontrolador en un circuito reduce notablemente
el tamaño y número de componentes y, en consecuencia disminuye el número de
averías y el volumen y el peso de los equipos, entre otras ventajas.
41
3.2 PSoC 4
26
Pines del PSoC 4 [En línea] 2017. Disponible en: https://electronilab.co/tienda/psoc-4200-
prototyping-kit-cy8ckit-049-42xx/.
42
El kit ofrece conectividad USB a través del conversor USB-Serial integrado
basado en el dispositivo Cypress USB-Serial device family (CY7C6521x). Este
dispositivo USB-serial es compatible con USB – UART, USB- GPIO, USB- I2C y
configuraciones USB SPI. La familia de dispositivos también es compatible con
CapSense y aplicaciones USB-IF Battery. El dispositivo CY7C65211 en el kit de
Prototipos CY8CKIT -049 es por defecto un puente de serie USB-UART. El dispositivo
USB-serial proporciona comunicación USB-UART a través de un puerto COM y UART
bootloading, con la función del cargador de arranque usando la herramienta
Bootloader Host Tool, incluido en PSoC Creador. La parte USB-serial del kit se puede
retirar de la placa principal del PSoC 4 ‘separando’ las dos tarjetas a través del
borde perforado.
27
Partes del PSoC [En línea] 2017. Disponible en: http://www.expkits.com/magaza/CY8CKIT-049.
43
De alto rendimiento de 32 bits de un solo ciclo Cortex-M0 CPU Core.
Función fija y configurable de bloques digitales.
Lógica digital Programable.
Alto rendimiento de sistema analógico.
Interconexión programable y flexible.
Detección táctil capacitiva.
Modos operativos de bajo consumo; Sleep, Deep-Sleep, Hibernate, y Stop
Modes.
a. Procesador
El corazón de un PSOC 4 es una CPU Cortex-MO de 32 bits con velocidad de
núcleo de 48 MHZ para PSOC 4200 y 24 MHZ para PSOC 4100. Está optimizado para
el funcionamiento con bajo consumo de energía con gran reloj. Utiliza instrucciones
de 16 Bits y se ejecuta un subconjunto del set de instrucciones Thumb 2. Este set
de instrucciones habilita totalmente la migración binaria ascendente del código
para procesadores de mayor rendimiento como Cortex M3 y M4. La CPU tiene un
multiplicador de hardware que proporciona un resultado de 32 bits en un solo ciclo.
b. Controlador de interrupción
El subsistema de la CPU incluye controladores de vectores de interrupción
anidadas (NVIC) con 32 entradas de interrupciones y un controlador de interrupción
de activación (WIC), que puede activar el procesador del modo Deep-Sleep. El
Cortex-MO CPU de PSOC 4 implementa una interrupción no enmascarable (NMI) de
entrada, que puede estar vinculada al enrutamiento digital para un uso general.”
3.2.1.2 Memoria
El subsistema de memoria de PSOC 4 consiste en una FLASH y SRAM. Una
ROM de supervisión que contiene rutinas de inicio y configuración también está
presente.
44
a. Flash
El PSOC 4 tiene un módulo flash, con un acelerador flash fuertemente
acoplados a la CPU, para mejorar los tiempos de acceso promedio desde el bloque
de flash.
b. SRAM
El PSoC 4 proporciona la SRAM, la cual se conserva durante la hibernación.
a. Sistema de sincronización
El sistema de sincronización para el dispositivo de PSOC 4 consiste en un
oscilador principal interno (Internal main oscilator, IMO) y un oscilador interno de
baja velocidad (internal low-speed oscilador, ILO) y tiene espacio para un reloj
externo.
b. Sistema de alimentación
El PSoC 4 opera con una sola fuente externa en el rango de 1.71 a 5.5 Volt.
Posee 4 modos de bajo consumo de energía: SLEEP, DEEP-SLEEP, HIBERNATE y STOP
además del active mode por defecto.
45
Hibernación incluso el clock de baja frecuencia está apagado y los periféricos de
baja frecuencia dejan de funcionar.
c. GPIO
Cada PSoC 4 tiene las siguientes características:
d. Digital programable
El PSOC4200 tiene hasta cuatro UDB (Universal Digital Blocks). Cada UDB
contiene estructura lógica data-path y lógica uncommited PLD con interconexión
flexible. El UDB proporciona una estructura de ruta fabricada llamada interconexión
de señal digital (Digital Signal InterConnect, DSI). El DSI permite el enrutamiento de
señales desde los periféricos y puertos sin los UDBs.
e. Temporizador/Contador/Bloque PWM
El Bloque Temporizador/Contador/PWM consta de cuatro contadores de
16 bits con periodo programable por el usuario. La funcionalidad de estos
contadores puede estar sincronizada. Cada bloque tiene un registro de captura,
registro periódico y registro comparador. El bloque complementario proporciona
salida de Dead-Band programable. Este también tiene una entrada “kill” para forzar
salidas a un estado predeterminado. Otras características del bloque incluyen
46
alineación central de PWM, clock prescaling, pseudorandom PWM, y quadrature
decoding.
g. SAR ADC
El ADC proporciona tres referencias de tensión interna (VDDA, VDDA/2 y
Vref) y una referencia externa a través de un pin GPIO. El SAR hardware sequencer
está disponible, el cual escanea múltiples canales sin la intervención de la CPU.
47
j. LCD Segment Drive
El PSoC 4 tiene un controlador de LCD, que puede manejar hasta cuatro
comunes y cada GPIO puede configurarse para conducir comunes o segmento.
Utiliza métodos completamente digitales (digital de correlación y PWM) para
conducir los segmentos LCD, y no requiere la generación de tensiones LCD interno.
k. CapSense
PSoC 4 tiene la característica CapSense, que permite utilizar las
propiedades capacitivas de tus dedos para alternar botones y controles deslizantes.
CapSense funcionalidad es compatible con todos los pines GPIO en PSoC 4 a través
de una CapSense Sigma-Delta (CSD) del bloque. La CDS también proporciona
capacidad de impermeabilización.
l. IDACs y comparador
El bloque CapSense tiene dos IDACs y un comparador con una referencia
de 12 V, que puede ser utilizado para propósitos generales, si el Cap Sense no se
utiliza.
m. Programar y Depurar
PSoC 4 proporciona funciones de programación y depuración del
dispositivo a través de la interfaz de SWD on-chip. El PSoC Creator IDE proporciona
programación totalmente integrada y soporte de depuración. El SWD interfaz
también es totalmente compatible con el estándar de la industria third-partytolos.
48
3.2.2 PSoC Creator
PSoC Creator es un entorno de diseño integrado (IDE) que permiten al
hardware y firmware actual ser editado, compilado y depurado de sistemas PSoC y
FM0+.
28
CYPRESS SEMICONDUCTOR.2016. PSoC Creator User Guide, Pág. 9.
49
Capítulo 4.
4. RASPBERRY PI
29
Componentes del Raspberry Pi [En línea] 2017. Disponible en:
https://www.raspberrypi.org/documentation/.
50
4.1 Hardware del Raspberry
51
Pines de alimentación: Puedes apreciar pines de 5v, 3,3v (limitados a 50mA)
y tierra (GND o Ground), que aportan alimentación a estos voltajes para tus
circuitos. Te pueden servir como una fuente de alimentación, aunque
también puedes utilizar otras fuentes (pilas, fuentes de alimentación
externas, etc.). Recuerda que son unbuffered y debes tener cuidado para no
dañar la placa.
DNC (Do Not Connect): son pines que por el momento no tienen función,
pero en futuras implementaciones son utilizados para otros fines. Por eso
solo los vas a encontraren modelos más primitivos de la Raspberry Pi. En las
actuales placas han sido marcados como GND.
GPIO normales: son conexiones configurables que puedes programar para
tus proyectos, tal como te enseñaremos más adelante.
GPIO especiales: dentro de éstos se encuentran algunos pines destinados a
una interfaz UART, con conexiones TXD y RXD que sirven para
comunicaciones en serie, como por ejemplo, conectar con una placa
Arduino.
30
Puertos GPIO [En línea] 2017. Disponible en: https://www.raspberrypi.org/documentation/.
52
4.1.2 RCA (Video)
La sigla RCA proviene de (Radio Corporation of América), lo que traducido
significa corporación de radio americana. Se trata de un conector circular de 2
terminales, que se encarga de enviar y recibir señales referentes de los gráficos
desde la computadora hasta una pantalla o recibir señales desde un dispositivo
externo para que sean mostrados al usuario.
4.1.3 Mini-Jack
Conector de salida de audio analógico para auriculares y otros sistemas de
señal analógica o dispositivos electrónicos.
31
Conector RCA [En línea]2017. Disponible en: https://www.emaze.com/@AFTWWZQO/PUERTOS-
DE.
53
4.1.4 JTAG
El adaptador JTAG del Raspberry Pi es usado para programar
microcontroladores, FPGA y otros Raspberry Pi, JTAG es un protocolo similar a SPI,
pero funciona un poco diferente. Es comúnmente usado para juntar, programar y
depurar en entornos de bare-metal.
4.1.5 Tarjeta SD
Es una pequeña tarjeta que permite guardar información en dispositivos
portátiles como teléfonos móviles, cámaras digitales o tablets. La arquitectura SD
está basada en los circuitos de memoria flash de tipo NAND y posee dimensiones
reducidas de (24,0 x 32,0 x 2,1mm).
32
Conector minijack [En línea] 2017. Disponible en:
https://sites.google.com/site/joansilvasilva15/puerto-de-audio.
33
Tarjeta SD [En línea] 2017. Disponible en: http://tarjetasd.com/.
54
electromagnético creado y la energía consumida por los cables. Sin embargo están
disponibles en muchos lugares y son relativamente baratos.
34
Puerto DSI [En línea] 2017.Disponible en:
http://www.adrirobot.it/menu_new/index/index_raspberry_pi.html.
55
Figura23. Diferentes tipos de USB.35
“Un enfoque de diseño basado en RISC causa que los procesadores ARM
necesitan una cantidad menor de transistores que los procesadores x86 CISC típicos
en la mayoría de computadoras personales. Este enfoque de diseño por lo tanto nos
lleva a una reducción de los costes, calor y energía. Estas características son
deseables para dispositivos que funcionan con baterías, como los teléfonos móviles,
tabletas, etc.”36
35
Tipos de USB [En línea] 2017. Disponible en: https://es.slideshare.net/IvDarGus/tipos-de-cables-
ivan-dariogustin.
36
Procesador ARM [EN línea] 2017. Disponible en:
https://www.arm.com/products/processors/classic/arm11/arm1176.php.
56
el mercado de la electrónica móvil e integrada, encarnados en microprocesadores y
microcontroladores pequeños, de bajo consumo y relativamente bajo costo.
4.1.9 HDMI
57
Figura 24. Conector HDMI Tipo A.37
4.1.10 CSI
CSI por sus siglas en ingles Camera Serial Interface (Interfaz serial de
camera): El CSI está directamente conectado al GPU del Raspberry Pi con el cual
podemos procesar imágenes sin la intervención del ARM.
37
Conector HDMI [En línea] 2017.Disponible en: http://videonetcali.com/site/contenido-index-id-6.
38
Interfaz de cámara [En línea] 2017.Disponible en:
http://www.electroschematics.com/11140/arduino-raspberry-pi-camera-interface/.
58
4.1.11 Conector ethernet
La sigla RJ-45 significa ("Registred Jack 45") o Conector 45 registrado,
también llamado puerto Ethernet. Es un conector de forma semi-rectangular con 8
terminales, que se utilizan para interconectar computadoras y crear redes de datos
de área local (LAN - red de computadoras cercanas interconectadas entre sí). Se les
llama puertos porque permiten la transmisión de datos entre un la red, con las
computadoras.
39
Conector RJ45 [En línea] 2017.Disponible en: https://www.startech.com/es/Industriales-
ES/adaptadores-de-red-usb/Adaptador-de-Red-USB-2-Negro-y-Compacto-a-Ethernet-10-100-
Mbps~USB2106S.
59
Figura 27. Puerto y conector USB.40
Hay que tener en cuenta que no todos los sistemas pueden funcionar sobre
cualquier modelo de Raspberry Pi. Sobre todo se encuentran grandes limitaciones
con los 256 Mb. De RAM del modelo A o el solo núcleo de todos los modelos de la
primera versión frente a los cuatros núcleos de Raspberry Pi 2.
40
Puerto USB [En línea] 2017.Disponible en:
https://sites.google.com/site/losconectorescableados/1-2-el-puerto-usb.
60
4.2.1 Raspbian
Es el sistema operativo que soporta Raspberry Pi de manera Oficial.
Raspbian es una versión de Linux basada en Debian, también una de las más
populares. Viene preinstalado con software educativo, para programación y para
uso general, como un cliente de email, un navegador web o incluso la suite de
ofimática Libre Office.
41
Raspbian [En línea] 2017 .Disponible en: http://linux.softwsp.com/linux-system-utilities/os-
updates/raspbian-jessie/.
61
Figura 29. Sistema Operativo Arch Linux.42
4.2.3 Kano OS
El sistema operativo incluido en Kano Kit, la computadora especialmente
pensada para niños. El Kano Kit cuesta 200 €, pero el sistema operativo es gratis y lo
puedes instalar en tu Raspberry Pi si quieres. Eso sí, dado que este sistema
operativo está pensado para niños, tiene una interfaz algo infantil. Si eso no te echa
para atrás, es otra opción interesante.
4.2.5 OSMC
Además de sistemas operativos, también puedes instalar un gestor de
contenido multimedia y usar la Raspberry Pi como un media center con el que
disfrutar de películas y series en tu televisor. Una opción muy popular es OSMC, un
gestor multimedia basado en Kodi (antes conocido como XBMC). OSMC es
probablemente uno de los gestores de material multimedia más fáciles de usar que
43
Sistema Operativo Kano OS [En línea] 2017. Disponible en:
http://developers.kano.me/2016/08/03/kano-os-beta-v340-released/.
44
Windows IOT Core [En línea] 2017. Disponible en:
http://www.informationweek.com/software/operating-systems/windows-10-iot-core-targets-
raspberry-pi-crowd/a/d-id/1321712.
63
puedes instalar en tu Raspberry, perfecto para usuarios con poca experiencia en
este campo.
Para los que ya sepan un poco más, OSMC soporta los plug-ins de Kodi y al
estar basado en Debian, tiene soporte para SSH, FTP y otras formas de conexión y
de compartir contenido.
4.2.6 OpenElec
Es una opción muy popular en gestores multimedia para Raspberry Pi
es OpenElec (que viene de Open Embedded Linux Entertainment Center). Como
Arch Linux, también es una opción disponible en NOOBS, con lo que es muy fácil de
instalar y configurar.
45
Sistema Operativo OSMC [En línea] 2017 Disponible en:
https://www.simpletelly.com/devices/osmc/.
64
la velocidad: es simple, rápido y va al grano: reproducir todo el contenido
multimedia que pongas a su alcance.
4.2.7 Pi MusicBox
Es un gestor de contenido especializado en hacer streaming(es un término
que hace referencia al hecho de escuchar música o ver vídeos sin necesidad de
descargarlos completos antes de que los escuches o veas) de música con el que
puedes no sólo disfrutar de la música que tengas en tu PC, en un USB o en una
tarjeta de memoria SD, sino también reproducir tu música favorita desde Spotify,
Google Music, SoundCloud o incluso podcasts. Todo el control de reproducción se
hace mediante una app para móvil o Tablet.
46
Sistema Operativo OpenElec [En línea] 2017Disponible en:
https://www.htpcbeginner.com/raspberry-pi-openelec-tweaks/.
65
Figura 34. Sistema Operativo MusicBox.47
47
Sistema Operativo MusicBox [En línea] 2017 Disponible en: http://www.pimusicbox.com/.
66
III. RESUMEN EJECUTIVO
Capítulo 5.
67
almacena el Gateway se publicará en una página Web. Dentro de esta página Web
se verá el consumo de agua mediante dos (2) gráficos, un gráfico, mostrará el
consumo acumulado de un mes mediante líneas; y el otro gráfico, expondrá el
consumo de agua por día mediante barras, este gráfico también se extenderá por
un mes.
5.2 Justificación
El aumento de la población humana y las casas o domicilios ha generado un
aumento de la red de servicio básico de agua, electricidad y comunicación
inalámbrica para cada una de estas personas, lo cual dificulta la medición del
consumo de estos servicios por la complejidad de la red. Actualmente, algunas de
las empresas encargadas de distribuir estos servicios colocan medidores en cada
uno de los domicilios a fin de obtener el consumo de los mismos. La recolección de
estos datos se realiza por medio de varios funcionarios que domicilio por domicilio
pasan a recoger las mediciones de un periodo de tiempo determinado por la
empresa que provee el servicio, estos empleados están distribuidos por zonas y
anotan manualmente en tablas las mediciones que registran, para luego así enviar
datos de la facturación, en consecuencia del aumento de la población este
procedimiento se hace más impreciso debido al creciente papeleo que genera y
además la intervención humana en el proceso de medición trae consigo errores en
la transcripción de las mediciones como pueden ser:
5.6 Metas
Proveer un prototipo de sistema de monitoreo automático de consumo de
agua de uso domiciliario, en base a una red Zigbee de topología estrella, con
microcontroladores y caudalímetros como nodos y un Gateway que contenga una
base de datos y además que publique los mismos en una página Web.
5.7 Beneficiarios
En forma directa serán beneficiarias las personas encargadas de proveer el
servicio de agua potable a la ciudadanía, ya que se trata de corregir las
69
imprecisiones generadas en el proceso de obtención de mediciones de consumo de
agua actual.
70
Análisis de las informaciones referentes al funcionamiento, ventajas
y desventajas de la implementación de los medidores de consumo
de agua.
Visita técnica a la aguatera “Sol Naciente “ubicada en Capiatá, Ruta
2, Km20.
Establecer el funcionamiento básico del sistema de medición de
agua.
Selección de los dispositivos a utilizar para el ensamblaje físico del
Medidor y Gateway.
Diseño del software a utilizar en el Medidor de agua y en el
Gateway.
Pruebas repetitivas para obtener la calibración deseada del Medidor
y obtener un análisis del comportamiento del Medidor y Gateway
encendidos en un tiempo prolongado.
71
Tabla 2. Materiales importantes.
72
Monitoreo prolongado de las lecturas del Medidor.
Pruebas con altas velocidades en el flujo de agua.
Control del consumo de energía autónomo del PSoC con la más alta
demanda energética.
Alejar el Medidor de agua del Gateway hasta el límite de transmisión
del dispositivo Zigbee y luego monitorear bajo esta condición las
lecturas del Medidor.
74
Tabla 3. Costo del medidor.
Medidor
Costo en dólares americanos
Ítem Descripción Cantidad Precio Unitario Precio Total
1 Caudalímetro 1 3,00 3,00
2 PSoC 4 1 4,00 4,00
3 Xbee S2C 1 15,00 15,00
5 Porta Xbee 2 1,00 2,00
6 Transistor bipolar PNP 1 1,00 1,00
7 Resistencia 4,7KΩ, 1/4 W 1 0,01 0,01
8 Regulador de 3,3VDC 1 1,00 1,00
9 Batería de litio de 3,7VDC-4000mAh 1 3,00 3,00
10 Porta batería 1 1,00 1,00
11 Conectores para placa 2 0,50 1,00
12 Zócalos para PSoC 1 0,05 0,05
13 Placa de cobre 1 1,00 1,00
14 Diseño de pista de cobre 1 4,00 4,00
15 Cable de 0,25 3 1,00 3,00
16 Caja de conexión IP67 1 2,00 2,00
18 Tornillos sujetadores con accesorios 1 1,50 1,50
Total 42,56
75
Tabla 5. Costo del Router.
Router
Costo en dólares americanos
Ítem Descripción Cantidad Precio Unitario Precio Total
1 Xbee S2C 1 15,00 15,00
3 Porta Xbee 1 1,00 1,00
4 Conectores para placa 2 0,50 1,00
5 Cable de 0,25 3 1,00 3,00
6 Caja de conexión IP67 1 2,00 2,00
7 Fuente de alimentación 1 1,50 1,50
8 Tornillos sujetadores con accesorios 1 1,50 1,50
Total 25,00
Recursos Humanos
Costo en dólares americanos
Ítem Descripción Cantidad de Horas Precio por Hora Precio Total
1 Dos Ingenieros Junior 200 25 5000
Total 5000
76
Tabla 8. Costo global de los materiales de la Aguatería.
77
IV. INGENIERÍA DE DISEÑO
Capítulo 6.
6. INGENIERÍA DE LA RED DE SENSORES PARA LA
AUTOMATIZACIÓN DE LA MEDICIÓN DEL CONSUMO DE
AGUA DE USO DOMICILIARIO
78
Figura 35. Lectura de un medidor de agua domiciliario.48
79
convirtiéndolo en datos y luego almacenándolos en su memoria. La transmisión de
los datos del PSoC 4 son transmitidos vía Xbee racionalmente debido al alto
consumo de energía que conlleva la utilización del mismo. Cabe destacar que el
funcionamiento del nodo-medidor en general estará orientado al bajo consumo
energético.
80
vez por el circuito integrado, generándose un voltaje, el cual es emitido por el
sensor Hall integrado, esto genera pulsos.
49
Generador de Pulsos Efecto Hall [En línea] 2017 Disponible en: http://www.autoavance.co/blog-
tecnico-automotriz/91-encendido-transistorizado-con-generador-de-impulsos.
50
Generación de pulsos [En línea] 2017. Disponible en:
http://www.clubdelgol.com.ar/Secciones/Eltaller/Electricidad/Ele_MedicionesTester.html.
81
Figura 39. Dimensiones del caudalímetro.51
51
Circuito Transistor [En línea] 2017. Disponible en: https://hetpro-store.com/sensor-de-flujo-por-
efecto-hall-yf-s401/.
82
Como se había mencionado en la sección 5.2., para el proyecto se debió
idear un modo de alimentación de bajo consumo para el caudalímetro para ello se
utilizó un transistor como interruptor, el PSoC controla la alimentación del
caudalímetro enviando señales a la base del transistor, de esta manera evitamos
alimentar constantemente el caudalímetro.
6.3 PSoC 4
Las señales eléctricas producidas por el caudalímetro son enviadas a la
plataforma PSoC 4 para su procesamiento, el PSoC 4 se encargará de transformar
las señales del caudalímetro en valores de consumo de agua (litros) para
posteriormente transmitir estas señales al dispositivo Zigbee. Se debe tener en
cuenta que el PSoC 4 se alimentará con una batería de litio por lo que debe trabajar
en el modo de más bajo consumo posible para optimizar el rendimiento de la
batería. A continuación se describirá detalladamente el software y hardware para el
PSoC 4 que se diseñó para este proyecto.
83
6.3.1 Software en el PSoC 4 utilizando el PSoC Creator
Como se mencionó en la sección 3.2.2.1 el PSoC Creator es el entorno de
diseño integrado para el PSoC 4 utilizado en el proyecto. Para la instalación del PSoC
Creator se siguen los siguientes pasos:
Paso 1
52
Página Cypress [En línea] 2017. Disponible en:http://www.cypress.com/products/psoc-creator-
integrated-design-environment-ide.
84
Figura 43. Ubicación del archivo PSoCCreatorSetup_3.3_cp3_b9648.
Paso 2
85
Paso 3
Paso 4
86
Figura 46. Ventana de inicio de instalación de Install Shield Wizard.
Paso 5
Figura 47. Install Shield Wizard en proceso de instalación del PSoC Creator.
87
Paso 6
Paso 7
Paso 9
a) En la figura 52, se ilustra la interfaz gráfica del PSoC Creator 3.3 al abrir
inicialmente el Software.
91
e) Para finalizar la creación del proyecto se escribe en el campo “Work space name”
y “Project name” el nombre del campo de trabajo y proyecto que desee el
usuario, para este proyecto se pondrá el nombre “Medidor de Consumo de
Agua” en ambos campos (Figura 56). En la figura 57, se ilustra al work space.
92
6.3.1.4 Creación de los esquemas en el “Top Design”
En el Top Design se definen las funciones, las entradas y salidas en forma de
bloques que se utilizarán en el proyecto. En este proyecto se utilizarán un Bloque
Bootloadable, un bloque UART, dos bloque digitales de salida y un bloque digital de
entrada.
a. Bloque “Bootloadable”
Como se menciona en (Cypress) el bloque Bootloadable gestiona el
proceso de actualización de la memoria flash del PSoC 4 con el nuevo código de
aplicación y/o datos. Para hacer que el proceso funcione debemos usar este
componente.
93
Figura 59. Bloque Bootloadable.
94
PSoC Creator que generalmente se ubica en la carpeta “Documentos” de una
Notebook o PC normal. Una vez realizado estos pasos se finaliza la configuración del
Bloque Bootloadable.
b. Bloque UART
El UART proporciona comunicaciones asincrónicas comúnmente conocida como
RS232 o RS485. El UART componente puede ser configurado para Full Duplex, Half
Duplex, sólo RX o TX sólo las versiones. Todas las versiones ofrecen la misma
funcionalidad básica. Sólo difieren en la cantidad de recursos utilizados. Citado en
(Cypress, 2016).
53
Configuración Bloque UART [En línea] 2017. Disponible en: http://www.cypress.com/file/131646.
95
Figura 62. Configuración Bloque UART-Configuration.
96
casos mediante pasadores de entrada digital, el estado pin es legible por el
CPU/DMA. Además, si el esquema de conexión de terminal (HW) aparece puede
enviarse a otros componentes en el esquema. Cuando está visible, el terminal se
muestra en el lado derecho del símbolo. La conexión se dibuja en el color de un
cable digital con un pequeño búfer de entrada para mostrar la dirección de la señal.
54
Bloque Digital Input [En línea] 2017 .Disponible en: http://www.cypress.com/file/220321.
97
Figura 65. Configuración bloque Digital Input.
98
Figura 66. Configuración Bloque Digital Output.
99
6.3.1.6 Esquema de Pinout
Se encuentra nombrado como medidor.cydwr, en este esquema se
visualizan los pines del PSoC.
100
6.3.1.7 Creación de la programación en “main”
En el main se describe la programación que se utilizara en el PSoC y por
ende en el medidor.
Para utilizar los puertos del PSoC se acudió al Watch Dog Timer (WDT) que
posee el mismo, utilizando el WDT se puede “despertar” al PSoC del “DeepSleep” y
posteriormente disponer con normalidad de los puertos de entrada y salida del
PSoC. La alimentación del caudalímetro también debe ser de bajo consumo, para
55
Cypress Semiconductor.PSoC® 4 and PSoC Analog Coprocessor Low-Power Modes and Power
Reduction Techniques
101
ello se utiliza el WDT. En los ciclos de “Sleep (dormido)” del PSoC, se deshabilita la
alimentación del caudalímetro y en los ciclos de activación del WDT se alimenta al
caudalímetro. A continuación se verán los dos algoritmos principales presentes en
el medidor-nodo:
a. Rutina de Medición
El WDT posee contadores que se pueden configurar para obtener un ciclo
de activación. Para la medición de las señales digitales que genera el caudalímetro,
se censa el pin “intro” del PSoC, este pin recibe la señal que proviene del
caudalímetro. El ciclo de activación del WDT se configura para que sea lo menor
posible al tiempo de duración de un semiperiodo de la señal que genera el
caudalímetro, este ciclo se puede ver en el recuadro en rojo de la figura 72, cuando
el WDT acciona se compara el valor actual del contador “cont” (variable que posee
el valor de la medición) con su valor anterior. Si el valor anterior es igual al valor
actual o el valor anterior es un “1” lógico y el valor actual es un “0” lógico, no se
realiza acción que modifique el valor actual de la medición del consumo de agua. Si
el valor anterior es un “0” lógico y el valor actual es un “1” lógico, se procede a la
acción de sumar un dígito a la medición actual del consumo de agua. En otras
palabras los dígitos de la medición de consumo de agua se suman de a uno, solo
cuando los flancos de la señal digital del caudalímetro son ascendentes. A esto se le
conoce como máquina de estado (figura 71). Además, en cada activación del WDT
se habilita la alimentación del caudalímetro por medio del pin de salida del PSoC
llamado “salida”, para la activación se manda un “cero lógico” a través de este pin.
Luego de efectuarse la correspondiente rutina de medición, el pin salida vuelve a
mandar un “uno lógico” para desactivar la alimentación del caudalímetro. A
continuación se puede ver el diagrama de flujo de la rutina de medición:
102
Inicio Rutina
de Medición
Se activa la alimentación
del Caudalímetro
Si
Retorno
103
Aumenta el Contador
Salto de 0 a 1
1
0
Salida 0 Salida 1
Salto de 1 a 0
Figura 72. Gráficos voltaje versus tiempo de la señal del caudalímetro y WDT.
104
b. Rutina de Transmisión
Para el periodo de transmisión, se utiliza un algoritmo condicional que
ejecuta unas instrucciones luego de que el contador “cont” haya alcanzado un valor
definido por el usuario, llamado “match_xbee” dentro del software del main.c. La
información de envío está formada por un paquete conformado por el número de
identificación del Medidor, la medición registrada en la variable “cont” y una
suma de los dígitos de esta medición. Una vez que el Gateway recibe la
información, el mismo suma los valores de medición que recibió y los compara con
el valor de la suma que proviene del Medidor. Si resulta que los valores de las
sumas coinciden, el Gateway valida la medición del Medidor enviando un “Ok” y si
no, exige al medidor una repetición del envío, este proceso se conoce como
“checksum” en el software “main.c”. La transmisión de datos al Gateway es de tipo
serial y los datos a transmitir son de tipo cadena, eso indica que se deben
transformar los valores de las medición es que posee la variable “cont” a cadena
debido a que están en formato entero.
106
Figura 74. Diagrama de Flujo del funcionamiento de la Rutina de Medición.
107
1 #include<project.h>
2 #include<stdio.h>
3 #include<stdlib.h>
4
5 // Se definen las variables a Utilizar
6 intcont=0;
7 int x=0;
8 chardato[15];
9 char checksum[15];
10 charconcatenado[30];
11 int nro_1=0;
12 intnro=0;
13 int flag=0;
14 int ant=0;
15 int cont1=0;
16 intmatch_xbee=2000;
17 #defineWDT_INT_VECTOR 9
18 intsleepflag = 0;
19 int sleepflag1 = 0;
20 intoscflag=0;
21
22 //Rutina de Medición
23 CY_ISR( WDT_ISR )
24 {
25 CySysWdtUnlock();
26 if(CySysWdtGetInterruptSource()==CY_SYS_WDT_COUNTER2_IN
27 T)
28 {
29 // Inicio de Máquina de Estado, se leen solo
30 flancos
31 if(ant != intro_Read()){
32 if(intro_Read() == 1){
33 salida_Write(0);
34 cont++;
108
35 ant=intro_Read();
36 salida_Write(1);
37 }
38 if(intro_Read() == 0){
39 ant=intro_Read();
40 }
41 }
42 sleepflag1=1;
43 CySysWdtClearInterrupt(CY_SYS_WDT_COUNTER2_INT);
44 CyIntClearPending(WDT_INT_VECTOR );
45 }
46 // Fin de Máquina de Estado
47
48 cont1++;//Contador de transmisión
49 CySysWdtLock();
50 if (cont1==match_xbee)//Condición de llegada al tiempo
51 de transmisión
52 {
53
54 sleepflag=1;
55
56
57 }
58 }
59
60 intmain()
61 {
62
63 // Configuración del WDT, se utiliza el Contador 2 del
64 WDT
65 salida_Write(1);
66 zigbee_Write(1);
67 CySysWdtUnlock();
68 CySysWdtDisable(CY_SYS_WDT_COUNTER2_MASK );
109
69 CySysWdtDisable(CY_SYS_WDT_COUNTER0_MASK );
70 CySysWdtDisable(CY_SYS_WDT_COUNTER1_MASK );
71 CySysWdtWriteMode(CY_SYS_WDT_COUNTER2,
72 CY_SYS_WDT_MODE_INT );
73 CySysWdtWriteToggleBit(6);
74 CyIntSetVector(WDT_INT_VECTOR, WDT_ISR );
75 CyIntEnable(WDT_INT_VECTOR );
76 CySysWdtEnable(CY_SYS_WDT_COUNTER2_MASK );
77 CySysWdtLock();
78 CyGlobalIntEnable;
79
80 for(;;)
81 {
82 if( sleepflag1 ){
83
84 sleepflag1=0;
85 CySysPmDeepSleep();
86 }
87
88 //Rutina de transmisión
89 if(sleepflag )
90 {
91 retorno:
92 zigbee_Write(0);
93 CyDelay(200);
94 UART_Start();
95 //Se arma el paquete de datos a transmitir
96 sprintf(dato,"%15d",cont);
97 dato[0]='1';
98 dato[1]='r';
99 for(x=0; x<15; x++){
100 if(dato[x]==' '){
101 dato[x]='0';
102 }
110
103 }
104 for(x=0; x<15; x++){
105 if(flag==1){
106 nro=dato[x]-48;
107 nro_1=nro_1+nro;
108 }
109 if(dato[x]=='r'){
110 flag=1;
111 }
112
113 }
114
115 sprintf(checksum,"%13d\n",nro_1);
116 checksum[0]='r';
117 for(x=0; x<15; x++){
118 if(checksum[x]==' '){
119 checksum[x]='0';
120 }
121 }
122
123 for(x=0; x<15; x++){
124 concatenado[x]=dato[x];
125 concatenado[x+15]=checksum[x];
126 }
127
128 UART_UartPutString(concatenado);
129 While(UART_UartRead()!='O'){
130 If (UART_UartRead()=='a'){
131 Gotoretorno;
132 }
133 sleepflag = 0;
134 flag=0;
135 nro_1=0;
136 cont1=0;
111
137 CyDelay(200);
138 zigbee_Write(1);
139 CySysPmDeepSleep();
140 }
141
142 }
143 }
144
112
6.3.1.8 Cálculo de Consumo
4000𝑚𝐴ℎ
𝑡𝑖𝑒𝑚𝑝𝑜 = = 8000 ℎ (ℎ𝑜𝑟𝑎𝑠) = 333 𝑑í𝑎𝑠 = 11 𝑚𝑒𝑠𝑒𝑠
0.5𝑚𝐴
113
6.3.2 Diseño del Hardware en el PSoC
El PSoC 4 tuvo las siguientes configuraciones de hardware.
114
6.4 Dispositivo Zigbee (Xbee)
En el proyecto es el encargado de transmitir y recibir la información vía
inalámbrica y en el protocolo Zigbee. Para este proyecto se utilizó el Xbee S2C.
115
6.4.1.2 Instalación del XCTU
Paso 1
Paso 2
116
Figura 79.Términos de Licencia.
Paso 3
Paso 5
118
Figura 82. Mensaje que indica que se está listo para comenzar la instalación.
Paso 6
119
Paso 7
120
Figura 85. Interfaz inicial del software XCTU.
Figura 86. Selección del puerto COM que corresponde al dispositivo Xbee.
121
c) Para el proyecto se optaron por las opciones marcadas en recuadro rojo en la
imagen de abajo, con el propósito de localizar al dispositivo Xbee. Luego se
seleccionó “click” en “Finish” para comenzar la búsqueda.
122
Figura 88. Mensaje de localización del dispositivo Xbee.
123
Figura 89. Interfaz inicial de configuración del Xbee.
f) Inicialmente las configuraciones por defecto son las visualizadas en todos los
campos de los parámetros. Al modificar uno de estos parámetros aparece una
marca igual a la indicada dentro del recuadro verde de la misma figura. Para
que el Xbee del Medidor cumpla con el requisito de ser el “End Device” se
modificaron los siguientes parámetros de las figuras de abajo:
124
Figura90. Parámetros de configuración del Xbee.
125
3) Se eligió la opción “Pin Hibernate [1]” para el parámetro “SM Sleep
Mode”. De esta manera se impone un estado “sleep” (dormido) al Xbee y
se minimiza el consumo eléctrico.
126
Figura 93. Parámetros de configuración del Xbee.
127
6.4.1.4 Conexiones Físicas en el Xbee
128
Figura 96. Esquema general del conexionado hardware del Medidor.
129
6.5.1 Placa de Circuito impreso del medidor
130
6.5.2 Prototipo Montado
131
Fotografía 5. Parte inferior de la carcasa del prototipo.
Medidor-Nodo
Inalámbrico
132
6.5.3 Pruebas para calibración del Medidor-Nodo
Para la calibración del Medidor se utilizaron dos recipientes de agua
debidamente marcados para medir litros. Se realizó un orificio en la parte
inferior de uno de los recipientes, en el mismo se instaló un caño seguido del
caudalímetro y una válvula manual. El medidor fue colocado al conjunto de
caños mediante una abrazadera. Se debe tener en cuenta que para empezar la
calibración es conveniente llenar al caudalímetro de agua para evitar las burbujas
que produzcan giros erróneos en las aspas del sensor en cuestión. En las
siguientes imágenes se puede observar el método de calibración.
6.6 Gateway
El punto de acceso está constituido por un Raspberry PI, un Xbee y una
fuente de alimentación de 5 Volt. El Raspberry Pi es un computador en una placa
madre del tamaño de una tarjeta de crédito, posee un procesador ARM de 32
bits, 512 MB de memoria RAM, 16 GB de memoria SD, con sistema operativo
“Raspbian Jessie Lite”. El Xbee se conecta por el puerto serial que se encuentra
en el GPIO del Raspberry PI. Para la lectura de los datos que llegan al puerto
133
serial se utiliza un programa desarrollado en Python, y a su vez se encarga de
guardar la información recibida en una base de datos MySQL.
6.6.1 Raspberry PI
Como se mencionó en el capítulo 5 el Raspberry PI se encarga de
recepcionar los datos que recibe del Zigbee vía comunicación Serial.
134
3.3 volt
GND
GPIO 17 Rx
Tx
Tx
Rx
Reset
GND 3.3 volt
135
6.6.1.1 Proceso de Instalación de Raspbian Jessie Lite
Antes de utilizar el Raspberry PI se debe de instalar un sistema operativo
en el mismo Raspberry, en este proyecto utilizaremos “Raspbian Jessie Lite”,
para la adquisición del software se debe de ir a la página Web del fabricante en
donde aparece la siguiente imagen:
136
Figura 100. Ícono Web del sistema operativo Raspbian Jessie Lite.
137
Figura 102. Proceso de descarga de “Raspbian Jessie Lite”.
138
Figura 104. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI.
139
Figura 106. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI.
140
Figura 107. Ventana de arranque del Raspberry PI.
141
tiene toda la capacidad de la tarjeta SD/microSD disponible. Una vez que se haya
seleccionado esta opción se visualiza la siguiente imagen, finalmente se realiza
click en “OK” para finalizar el proceso (Figura 109).
142
Figura 110. Solicitud para modificar la contraseña seleccionada.
143
Se tiene que volver al menú de configuración (Figura 108) e ingresar en
la tercera opción “Entable Boot to Desktop” Raspbian por defecto arranca en
modo texto. Si se desea arrancar en modo gráfico se selecciona la opción
“graphical desktop”.
144
Figura 113. Interfaz de las opciones “Internationalisation”.
145
Figura 114. Interfaz con el mensaje de reinicio del equipo.
146
sudo python setup.py install: Una vez termine la actualización, se deberá
reiniciar para que los cambios surjan efecto. Se reinicia con el siguiente
comando;
sudo reboot.
147
Figura 116. Proceso de instalación del software Putty.
148
3) Se selecciona la ubicación en donde se quiere instalar el programa,
haciendo click en “Next” continuamos con la instalación.
149
5) La siguiente ventana se desplaza y continúa la instalación.
151
A continuación se ve el diagrama de flujo del programa de lectura:
Se importan las
librerias a ser
utilizadas
Se habilitan los
puertos GPIO para la
comunicacion serial
con el zigbee
Se recepcionan los
datos del nodo
NO
Coincide el
Checksum?
SI
152
Figura 124. Algoritmo de Comunicación y almacenamiento de datos.
153
1 importRPi.GPIO as GPIO #se importa las librerías GPIO para la utilización de los
2 #puertos GPIO.
19 GPIO.output(17, True) #Se envía un 1 al pin RESET del Zigbee, con esto se resetea
20 #el Zigbee.
21 P=serial.Serial('/dev/ttyAMA0',baudrate=9600,timeout=0.1) #'/dev/ttyAMA0'
22 #define el puerto serial, que componen los puertos GPIO 14 y 15.Se establece el
23 #baudrateen 9600, tiempo de espera 0.1 segundos).Se almacena en la variable
24 #“P”.
154
27 “basede#datos”, con el username:root y password:12345. Se devuelve un objeto
28 #de conexión, que se almacena en la #variable “db”.
32 while True: #Al encontrarse la puerta abierta por true se entra al bucle while y si
33 #en su interior no se encuentra dentro del códigoun cambio a false pues
34 #continuará indefinidamente en el bucle.
155
53 y = int(id) #Se convierte el valor de la variable cadena “id” a una variable entera
54 #en y
74 P.write(“a”) #Se imprime “a”, esta letra indica que la medición ha llegado con
75 #errores, el medidor deberá reenviar la medición al recibir esta letra.
77
156
78 P.write(“OK”)#Se envía mensaje de OK.
83 time.sleep(2)
157
6.6.1.6 Configuración de la base de datos MySQL
Ingresamos a la línea de comandos para la instalación de mysql:
mysql>CREATE TABLE tabla5 //creamos una Tabla dentro de la base de datos llamada
table5
158
Figura 126 Interfaz de visualización de tablas en mysql
159
6.6.1.7 Creación de la Página Web
En la línea de comandos introducimos: $ sudo chmod +x /usr/lib/cgi-
bin/chart.py
161
Figura 129. Algoritmo de la página web creada.
162
1 importMySQLdb#importamoslibreria de MySQLdb.
11 cgitb.enable()#Habilitamos cgitb.
163
27 rows=cursor.fetchall()#El método busca todas las componentes de una fila en
28 #una lista,devuelve un array que contiene todas las filas del conjunto de
29 #resultados.
31 if(int(row[1].month)==int(datetime.datetime.now().month)):
32 contadorPri=contadorPri+1
33 diasfacturados=contadorPri
34
35
36 flag=1
37 conta=0
38 consu_dia_ant=0
39 consu_dia_actual=0
41 if(int(row[1].month)==int(datetime.datetime.now().month)):
42 contadorAux=contadorAux+1
43 if(contadorAux==contadorPri):
44 Medicion_actual="{0}".format(str(row[2]))
45 fecha_actual=time.strftime("%d/%m/%y")
46 if(flag==1):
47 id="{0}".format(str(row[0]))
48 Medicion_anterior="{0}".format(str(row[2]))
164
49 fecha_anterior=time.strftime("%d/%m/%y")
50 flag=0
51 rowstrA="[{0},{1}],\n".format(str(row[1].day),str(row[2]))
52 chart_tableA+=rowstrA
53 consu_dia_actual=int(row[2])
54 if(conta<>0):
55 variacion=consu_dia_actual-consu_dia_ant
56 rowstrA="[{0},{1}],\n".format(str(row[1]),str(variacion))
57 chart_tableB+=rowstrA
58 falg1=1
59
60 consu_dia_ant=int(row[2])
61 conta=conta+1
62
63 consumomes=int(Medicion_actual)-int(Medicion_anterior)
64 contadorPri=0
65 contadorAux=0
165
71 print " </title>"#Se utiliza para finalización del título.
72 chart_code="""#Las 3 comillas nos permite insertar un string con todas las líneas
73 #que deseemos, se utilizara la variable chart_code.
74
75 #Para cargar las API, incluya la siguiente secuencia de comandos de la línea 21 y
76 #22 en el #encabezado de su página web. Una API (siglas de
77 ‘Application#Programming Interface’) es un #conjunto de reglas (código) y
78 especificaciones #que las aplicaciones pueden seguir para #comunicarse entre
79 ellas: sirviendo #de interfaz entre programas diferentes de la misma #manera en
80 que la interfaz #de usuario facilita la interacción humano-software.
82 <script type="text/javascript">
92 var data=google.visualization.arrayToDataTable([
94 %s
95 ]);
166
96 varoptions = { #se definen las variables.
102 };
104 #Primero hay que crear una instancia de la clase del gráfico correspondiente,
105 #especificando la #capa en la que vamos a incluirlo.
106 Varchart=newgoogle.visualization.LineChart(document.getElementById('chart_di
107 v')
108 #Luego lo dibujamos, será un gráfico lineal con una variable en el tiempo.
109 chart.draw(data,options);
110 }
115 %s
116 ]);
167
119 hAxis: {title: 'fecha' ,titleTextStyle:{color: 'red'}}, #se crea el título fecha de
120 #color rojo,se utilizará el eje horizontal.
123 };
125 #Primero hay que crear una instancia de la clase del gráfico correspondiente,
126 #especificando la capa en la que vamos a incluirlo.
130 chart.draw(data,options);
131 }
132 }
168
143 print '<td><h1><FONT FACE="impact" COLOR="blue"> CONSUMO DE
144 AGUA</FONT></h1></td>' #Título de la página Web.
177 print "<hr>" # Se emplea para dibujar una línea horizontal. Posee los atributos.
170
6.6.1.8 Vista de la página Web
171
Figura 132.Vista de la gráfica de consumo diario.
172
Fotografía 9. Vista inferior de prototipo de Gateway.
173
V. CONCLUSIÓN
174
VI. RECOMENDACIONES
175
VII. BIBLIOGRAFÍA
a. Fuentes Impresas
Computacion Aplicada 2015. iadis y Mario Dantas, Cristiano Costas. 2015. 2015, págs.
1-9.
2014.Redes inalambricas en los paises en desarrollo 4ta Edicion. s.l. : Licencia Creative
Commons Attribution-ShareAlike 3.0, 2014.
Sears Zemansky, Young Freedmon. Efecto Hall. FISICA UNIVERSITARIA 11 edicion. s.l. :
PEARSON Educacion.
b. Fuentes en Línea
linux.softwsp.com/linux-system-utilities/os-updates/raspbian-jessie/.
linux.softwsp.com/linux-system-utilities/os-updates/raspbian-jessie/. [En línea] [Citado
el: 06 de 04 de 2017.] : http://linux.softwsp.com/linux-system-utilities/os-
updates/raspbian-jessie/.
177
Revista MagPi,. www.adrirobot.it/menu_new/index/index_raspberry_pi.html.
www.adrirobot.it/menu_new/index/index_raspberry_pi.html. [En línea] [Citado el: 05
de 04 de 2017.] http://www.adrirobot.it/menu_new/index/index_raspberry_pi.html.
raspberrywebserver.com. http://raspberrywebserver.com.
http://raspberrywebserver.com. [En línea] [Citado el: 02 de 02 de 2017.]
http://raspberrywebserver.com/cgiscripting/rpi-temperature-logger/.
sites.google.com/site/losconectorescableados/1-2-el-puerto-usb.
sites.google.com/site/losconectorescableados/1-2-el-puerto-usb. [En línea] [Citado el:
06 de 04 de 2017.] https://sites.google.com/site/losconectorescableados/1-2-el-
puerto-usb..
videonetcali.com/site/contenido-index-id-6. videonetcali.com/site/contenido-index-id-
6. [En línea] [Citado el: 06 de 04 de 2017.] http://videonetcali.com/site/contenido-
index-id-6..
www.electroschematics.com. www.electroschematics.com.
www.electroschematics.com. [En línea] [Citado el: 06 de 04 de 2017.]
http://www.electroschematics.com/11140/arduino-raspberry-pi-camera-interface/..
178
www.informationweek.com. www.informationweek.com. [En línea] [Citado el: 06 de
04 de 2017.] http://www.informationweek.com/software/operating-
systems/windows-10-iot-core-targets-raspberry-pi-crowd/a/d-id/1321712..
179
ANEXO
a. Datasheet del CM1 del Raspberry PI
56
Raspberry Pi .2016.Raspberry Pi Compute Module Datasheet.Pág. 7.
180
b. Datasheet del PSOC 4
57
CYPRESS.2004. CY8CKIT-049-4xxx+PSoC+4+Prototyping+Kit+Guide.pdf Doc. #: 001-90711 Rev. Pág. 58.
181