Sei sulla pagina 1di 187

RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA MEDICIÓN DEL

CONSUMO DE AGUA DE USO DOMICILIARIO

CHRISTIAN DANIEL CASTILLO BERNAL

ALDO JAVIER MOLINARI BÁEZ

Trabajo de Fin de Grado presentado en la Facultad Politécnica de la Universidad


Nacional de Asunción como requisito para la obtención del Título de Ingeniería en
Electrónica con énfasis en Mecatrónica.

UNIVERSIDAD NACIONAL DE ASUNCIÓN


FACULTAD POLITÉCNICA
CARRERA DE INGENIERÍA EN ELECTRÓNICA
San Lorenzo, Paraguay
Noviembre-2017
RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA MEDICIÓN DEL
CONSUMO DE AGUA DE USO DOMICILIARIO

CHRISTIAN DANIEL CASTILLO BERNAL

ALDO JAVIER MOLINARI BÁEZ

ORIENTADOR

Prof. Ing. Lucas Frutos Olmedo

Trabajo de Fin de Grado presentado en la Facultad Politécnica de la Universidad


Nacional de Asunción como requisito para la obtención del Título de Ingeniería en
Electrónica con énfasis en Mecatrónica.

UNIVERSIDAD NACIONAL DE ASUNCIÓN


FACULTAD POLITÉCNICA
CARRERA DE INGENIERÍA EN ELECTRÓNICA
San Lorenzo, Paraguay
Noviembre-2017
DEDICATORIA

A mis padres

Concepción Bernal y Melanio Castillo

CHRISTIAN DANIEL CASTILLO BERNAL

A mis padres

Aldo y Zunilda

Y mis hermanas

Olga y Nazareth

ALDO JAVIER MOLINARI BÁEZ

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

CHRISTIAN DANIEL CASTILLO BERNAL

ALDO JAVIER MOLINARI BÁEZ

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.

Palabras Claves: Microcontroladores, Consumo de agua, Concentrador de datos.


Agua potable, Medición de consumo de agua

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.

Keywords: Microcontrollers, Water consumption, Data concentrator, Drinking


water, Measurement of water consumption.

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

2.4 Medidores de caudal de masa........................................................................ 40

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

4.2 Software de Raspberry Pi............................................................................... 60


4.2.1 Raspbian ......................................................................................................................... 61
4.2.2 Arch Linux ....................................................................................................................... 61
4.2.3 Kano OS .......................................................................................................................... 62
4.2.4 Windows IOT Core .......................................................................................................... 63
4.2.5 OSMC .............................................................................................................................. 63
4.2.6 OpenElec ........................................................................................................................ 64
4.2.7 Pi MusicBox .................................................................................................................... 65

III. RESUMEN EJECUTIVO .............................................................................. 67


Capítulo 5. ......................................................................................................... 67
5. RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA MEDICIÓN DEL
CONSUMO DE AGUA DE USO DOMICILIARIO ...................................................... 67
5.1 Descripción del Proyecto ............................................................................... 67
5.2 Justificación .................................................................................................. 68
5.3 Finalidad ....................................................................................................... 69
5.4 Objetivo General ........................................................................................... 69
5.5 Objetivos Específicos ..................................................................................... 69
5.6 Metas ........................................................................................................... 69
5.7 Beneficiarios ................................................................................................. 69
5.8 Localización física y cobertura espacial ........................................................... 70
5.9 Métodos y procedimientos utilizados ............................................................. 70
5.10 Especificación de actividades y tareas realizadas ............................................ 70
5.11 Recursos Necesarios ...................................................................................... 71
5.11.1 Recursos Humanos ............................................................................................ 71
5.11.2 Recursos Materiales .......................................................................................... 71
5.11.3 Recursos Financieros ......................................................................................... 72

5.12 Administración del proyecto .......................................................................... 72


5.13 Indicadores de Evaluación ............................................................................. 72
5.14 Factores externos condicionantes o pre-requisitos para el logro de los efectos e
impacto del proyecto................................................................................................ 73
5.15 Cálculo de los costos de elaboración y ejecución del proyecto ........................ 73
5.15.1 Costo de planificación, ingeniería de diseño del sistema y desarrollo del
software 73
3
5.16 Costo del prototipo teniendo en cuenta el radio de alcance del Gateway ........ 74

IV. INGENIERÍA DE DISEÑO ............................................................................ 78


Capítulo 6. ......................................................................................................... 78
6. INGENIERÍA DE LA RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA
MEDICIÓN DEL CONSUMO DE AGUA DE USO DOMICILIARIO ............................... 78
6.1 Esquema Conceptual ..................................................................................... 79
6.2 Descripcion del Sensor-Caudalímetro ............................................................. 80
6.3 PSoC 4 ........................................................................................................... 83
6.3.1 Software en el PSoC 4 utilizando el PSoC Creator .......................................................... 84
6.3.1.1 Descarga del PSoC Creator a la PC de proyecto ................................................ 84
6.3.1.2 Proceso de instalación ....................................................................................... 84
6.3.1.3 Creación del Proyecto en PSoC Creator ............................................................ 90
6.3.1.4 Creación de los esquemas en el “Top Design” .................................................. 93
a. Bloque “Bootloadable”...................................................................................... 93
b. Bloque UART ..................................................................................................... 95
c. Digital Input Pin ................................................................................................. 96
6.3.1.5 Esquema Panorámico del Topdesign ................................................................ 99
6.3.1.6 Esquema de Pinout.......................................................................................... 100
6.3.1.7 Creación de la programación en “main” ........................................................ 101
a. Rutina de Medición ......................................................................................... 102
b. Rutina de Transmisión ..................................................................................... 105
6.3.1.8 Cálculo de Consumo ........................................................................................ 113
6.3.2 Diseño del Hardware en el PSoC .................................................................................. 114

6.4 Dispositivo Zigbee (Xbee)..............................................................................115


6.4.1 Configuración del Xbee ................................................................................................ 115
6.4.1.1 Xbee Explorer .................................................................................................. 115
6.4.1.2 Instalación del XCTU ........................................................................................ 116
6.4.1.3 Configuración End Device/Coordinador del Xbee en el XCTU ......................... 120
6.4.1.4 Conexiones Físicas en el Xbee ......................................................................... 128

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

6.6 Gateway ......................................................................................................133


6.6.1 Raspberry PI ................................................................................................................. 134
6.6.1.1 Proceso de Instalación de Raspbian Jessie Lite ............................................... 136
6.6.1.2 Configuración Inicial Raspbian en Raspberry .................................................. 140
6.6.1.3 Configuración de Internet ............................................................................... 147
6.6.1.4 Instalación del Software Putty ........................................................................ 147
6.6.1.5 Programa Lectura de Datos ............................................................................. 151
6.6.1.6 Configuración de la base de datos MySQL ...................................................... 158
6.6.1.7 Creación de la Página Web .............................................................................. 160
4
6.6.1.8 Vista de la página Web .................................................................................... 171
6.6.2 Prototipo del Gateway ................................................................................................. 172

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 1. Topologías de Red WSN comunes............................................................... 19

Figura 2. Red Inalámbrica de sensores. ..................................................................... 20

Figura 3. Arquitectura de un nodo inalámbrico. ........................................................ 21

Figura 4. Comparación de un Zigbee con Bluetooh y IEEE 802.11b. ......................... 25

Figura 5. Esquema de conexión de medidor de agua domiciliario ............................ 30

Figura 6. Tubo Pitot. ................................................................................................... 32

Figura 7. Tubo Annubar. ............................................................................................. 33

Figura 8. Rotámetro. .................................................................................................. 34

Figura 9. Medidor de Turbina. ................................................................................... 35

Figura 10. Portadores de corriente negativo. ............................................................ 38

Figura 11. Portadores de corriente positivo. ............................................................. 38

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

Figura 14. Identificación de pines PSoC 4. ................................................................. 42

Figura 15. Partes del PSoC 4....................................................................................... 43

Figura 16. Entorno PSoCCreator. ............................................................................... 49

Figura 17. Partes del Raspberry Pi. ............................................................................ 51

Figura 18. Esquemas del GPIO Raspberry Pi Model B. ............................................... 52

6
Figura 19. Conectores RCA. ........................................................................................ 53

Figura 20. Conectores minijack. ................................................................................. 53

Figura 21. Tarjeta SD. ................................................................................................. 54

Figura 22. Puerto DSI.................................................................................................. 55

Figura23. Diferentes tipos de USB. ............................................................................ 56

Figura 24. Conector HDMI Tipo A. ............................................................................. 58

Figura 25 . CSI con Raspberry Pi camera. ................................................................... 58

Figura 26. Puerto RJ45. .............................................................................................. 59

Figura 27. Puerto y conector USB. ............................................................................. 60

Figura 28. Sistema Operativo Raspbian. .................................................................... 61

Figura 29. Sistema Operativo Arch Linux. .................................................................. 62

Figura 30. Sistema Operativo Kano OS. ..................................................................... 62

Figura 31. Windows IOT Core..................................................................................... 63

Figura 32. Sistema Operativo OSMC. ......................................................................... 64

Figura 33. Sistema Operativo OpenELEC. .................................................................. 65

Figura 34. Sistema Operativo MusicBox. ................................................................... 66

Figura 35. Lectura de un medidor de agua domiciliario. ........................................... 79

Figura 36. Esquema de diseño conceptual. ............................................................... 79

Figura 37. Esquema de un generador de pulsos de efecto Hall. ............................... 81

Figura 38. Generación de pulsos en movimiento con la barrera magnética. ............ 81

Figura 39. Dimensiones del caudalímetro. ................................................................ 82

Figura 40. Diseño en Catia del caudalímetro. ............................................................ 82

Figura 41. Circuito Transistor-Caudalímetro. ............................................................. 83

Figura 42. Página de Internet de Cypress. ................................................................. 84


7
Figura 43. Ubicación del archivo PSoCCreatorSetup_3.3_cp3_b9648. ..................... 85

Figura 44. Empezando la instalación de PSoC Creator. ............................................. 85

Figura 45. Preparación del Install Shield Wizard en el proceso de instalación. ........ 86

Figura 46. Ventana de inicio de instalación de Install Shield Wizard. ....................... 87

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 49. Acuerdo de Licencia del PSoC Creator. ..................................................... 88

Figura 50. Instalación de archivos del PSoC Creator. ................................................. 89

Figura 51. Finalización de instalación. ....................................................................... 89

Figura 52. Interfaz inicial del PSoC Creator. ............................................................... 90

Figura 53. Creación del Proyecto en PSoCCreator. .................................................... 90

Figura 54. Creación del Proyecto en PSoCCreator. .................................................... 91

Figura 55. Creación del Proyecto en PSoCCreator. .................................................... 91

Figura 56. Creación del Proyecto en PSoCCreator. .................................................... 92

Figura 57. Workspace................................................................................................. 92

Figura 58. Porción de la interfaz gráfica del PSoCCreator. ........................................ 93

Figura 59. Bloque Bootloadable. ................................................................................ 94

Figura 60. Configuración del Bloque Bootloadable. .................................................. 94

Figura 61. Bloque UART Standart............................................................................... 95

Figura 62. Configuración Bloque UART-Configuration. ............................................. 96

Figura 63. Configuración Bloque UART-UART Basic................................................... 96

Figura 64. Bloque Digital input. .................................................................................. 97

Figura 65. Configuración bloque Digital Input. .......................................................... 98

Figura 66. Configuración Bloque Digital Output. ....................................................... 99


8
Figura 67. Esquema TopDesign. ................................................................................. 99

Figura 68. Esquema medidor.cydwr. ....................................................................... 100

Figura 69. Programación en main. ........................................................................... 101

Figura 70. Diagrama de Flujo del funcionamiento de la Rutina de Medición. ........ 103

Figura 71. Máquina de Estado del Nodo-Medidor. ................................................. 104

Figura 72. Gráficos voltaje versus tiempo de la señal del caudalímetro y WDT. .... 104

Figura 73. Gráficos voltaje versus tiempo de la señal de comunicación de datos y


WDT. ......................................................................................................................... 105

Figura 74. Diagrama de Flujo del funcionamiento de la Rutina de Medición. ........ 107

Figura 75. Multímetro midiendo la corriente de consumo en la medición. ............ 113

Figura 76. Multímetro midiendo la corriente de consumo en la medición. ............ 113

Figura 77. Pines utilizados en el PSoC 4. .................................................................. 114

Figura 78. Inicio de instalación del XCTU. ................................................................ 116

Figura 79. Términos de Licencia. .............................................................................. 117

Figura 80. Requisitos de instalación en Windows 7, 8 ó 10. .................................... 117

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 83. Proceso de instalación del XCTU. ............................................................ 119

Figura 84. Mensaje de finalización del proceso de instalación. .............................. 120

Figura 85. Interfaz inicial del software XCTU. .......................................................... 121

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

Figura 88. Mensaje de localización del dispositivo Xbee. ....................................... 123

Figura 89. Interfaz inicial de configuración del Xbee. .............................................. 124

9
Figura 90. Parámetros de configuración del Xbee. .................................................. 125

Figura 91. Parámetros de configuración del Xbee. .................................................. 125

Figura 92. Parámetros de configuración del Xbee. .................................................. 126

Figura 93. Parámetros de configuración del Xbee. ................................................. 127

Figura 94. Parámetros de configuración del Xbee. .................................................. 127

Figura 95. Conexiones externas del Xbee. ............................................................... 128

Figura 96. Esquema general del conexionado hardware del Medidor. ................... 129

Figura 97. Placa de Circuito impreso del medidor. .................................................. 130

Figura 98. Esquema Raspberry PI – Xbee. ................................................................ 135

Figura 99. Interfaz Web del Fabricante del Raspberry Pi......................................... 136

Figura 100. Ícono Web del sistema operativo Raspbian Jessie Lite......................... 137

Figura 101. Proceso de descarga de “Raspbian Jessie Lite”. ................................... 137

Figura 102. Proceso de descarga de “Raspbian Jessie Lite”. ................................... 138

Figura 103. Proceso de descarga de “Raspbian Jessie Lite”. ................................... 138

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 107. Ventana de arranque del Raspberry PI. ................................................ 141

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 110. Solicitud para modificar la contraseña seleccionada. ........................... 143

Figura 111. Finalización del proceso de modificación de la contraseña. ................ 143

Figura 112. Menú de selección de arranque. .......................................................... 144

Figura 113. Interfaz de las opciones “Internationalisation”. ................................... 145


10
Figura 114. Interfaz con el mensaje de reinicio del equipo. .................................... 146

Figura 115. Interfaz de configuración de internet del Raspberry PI. ....................... 147

Figura 116. Proceso de instalación del software Putty. ........................................... 148

Figura 117. Proceso de instalación del software Putty. ........................................... 148

Figura 118. Proceso de instalación del software Putty. ........................................... 149

Figura 119. Proceso de instalación del software Putty. ........................................... 149

Figura 120. Proceso de instalación del software Putty. ........................................... 150

Figura 121. Proceso de instalación del software Putty. ........................................... 150

Figura 122. Interfaz gráfica del software Putty........................................................ 151

Figura 123. Diagrama de Flujo del programa de lectura. ........................................ 152

Figura 124. Algoritmo de Comunicación y almacenamiento de datos. ................... 153

Figura 125. Interfaz de configuración de la base de datos. ..................................... 158

Figura 126 Interfaz de visualización de tablas en mysql .......................................... 159

Figura 127. Algoritmo de la página web creada. ..................................................... 160

Figura 128. Algoritmo de la página web creada. ..................................................... 161

Figura 129. Algoritmo de la página web creada. ..................................................... 162

Figura 130. Vista de la tabla de identificación y detalles de consumo. ................... 171

Figura 131. Vista de la gráfica de consumo mensual. .............................................. 171

Figura 132. Vista de la gráfica de consumo diario. .................................................. 172

Figura 133. CM1 Block Diagram. .............................................................................. 180

Figura 134. Puente USB-Serial PSOC 4 CY8CKIT-049 4xxx. ...................................... 181

11
LISTA DE FOTOGRAFÍAS

Fotografía 1. Funcionario anotando los dígitos del medidor. .................................... 78

Fotografía 2. Xbee Explorer...................................................................................... 115

Fotografía 3. Prototipo montado del nodo-medidor. .............................................. 131

Fotografía 4. Prototipo montado con tapa. ............................................................. 131

Fotografía 5. Parte inferior de la carcasa del prototipo. ......................................... 132

Fotografía 6. Prototipo montado en caja de Medidor convencional. ..................... 132

Fotografía 8. Método de calibración utilizado. ........................................................ 133

Fotografía 9. Vista superior del prototipo de Gateway. .......................................... 172

Fotografía 10. Vista inferior de prototipo de Gateway. ........................................... 173

Fotografía 11. Vista en perspectiva del Gateway. ................................................... 173

12
LISTA DE TABLAS

Tabla 1. Descripción de los distintos Protocolos 802.11 ........................................... 23

Tabla 2. Materiales importantes. ............................................................................. 72

Tabla 3. Costo del medidor. ....................................................................................... 75

Tabla 4. Costo del gateway. ....................................................................................... 75

Tabla 5. Costo del Router. .......................................................................................... 76

Tabla 6. Costo de los Recursos Humanos. ................................................................. 76

Tabla 7. Costo de los Materiales de la Aguatería. ...................................................... 76

Tabla 8. Costo global de los materiales de la Aguatería. ........................................... 77

13
GLOSARIO DE SIGLAS Y ABREVIATURAS

GPIO General—Purpose input/output

PC Personal Computer

PSoC Programable System on Chip

RIS Redes inalámbricas de sensores

SRAM Static Random Access memory

UART Universal Asynchronous Receiver-Transmitter

USB Universal Serial Bus

WDT Watch Dog Timer

WSN Wireless Sensor Networks

14
I. INTRODUCCIÓN

La automatización de diferentes acciones humanas ha contribuido con el


avance productivo de las industrias y empresas, y con la aparición del internet, esto
ha ido aumentando. La utilización del internet como medio de visualización a
distancia de procesos se ha convertido en una práctica muy común ya que es un
método de bajo costo y de fácil acceso en la actualidad.

En este proyecto de investigación la aplicación de internet como medio de


automatización de procesos se hará en la medición de consumo de agua
domiciliaria. Actualmente en el país el proceso de medición de consumo de agua se
realiza con un funcionario que toma las mediciones casa por casa, este sistema al
estar sometido por la acción humana es propenso a recibir errores en las
mediciones.
Con este Proyecto se plantea la implementación de un sistema que se
compone de una red inalámbrica (protocolo Zigbee) que conectan a Medidores
Electrónicos presentes en cada domicilio y a un Concentrador de Datos (Gateway)
este último será el encargado de crear una base de datos y colocar en un página
Web las mediciones para que el usuario final pueda visualizarlo a través de
internet.

Los Medidores Electrónicos están constituidos por un sensor que convierte


el caudal presente en la corriente de agua de las tuberías (caudalímetro) en
magnitudes eléctricas que serán enviadas a un microcontrolador (PSOC) para su

15
posterior procesamiento y transmisión al Concentrador de Datos a través de la red
inalámbrica Zigbee.

El Concentrador de Datos será la plataforma electrónica Raspberry, el


mismo recibirá las transmisiones de los Medidores Electrónicos, luego a través de
una base de datos basada en lenguaje SQL, se almacenará cada medición, ordenada
en forma cronológica y finalmente estas mediciones son transmitidas a una página
Web para su correspondiente visualización por el usuario.

16
II. REVISIÓN BIBLIOGRÁFICA
Capítulo 1.

1. RED DE SENSORES

1.1 Breve Introducción


En los últimos años hemos visto un explosivo crecimiento en las
tecnologías, han aparecido circuitos electrónicos cada vez más pequeños, potentes
y de menor coste lo que ha permitido importantes avances en el campo de
transductores. Debido a esto hoy es posible desarrollar una red de sensores que nos
permite la obtención y registro de datos, y después retransmitir toda la información
para almacenarla en una localización central (Gateway).

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

“El avance en las comunicaciones inalámbricas han permitido el despegue


de las Redes inalámbricas de Sensores (RIS), conocida en inglés como Wireless
Sensor Networks (WSN).”2

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.

1.2.1 Topologías de red WSN


Considerando las redes utilizadas en la actualidad los nodos WSN están
típicamente organizados en uno de tres tipos de topologías de red: Topología de
estrella, Topología de árbol y las redes tipo malla. Topología estrella, cada nodo se
conecta directamente al Gateway. Topología de árbol, cada nodo se conecta a un
nodo de mayor jerarquía en el árbol y después al Gateway, los datos son ruteados
desde el nodo de menor jerarquía en el árbol hasta el Gateway. Finalmente, para
ofrecer mayor confiabilidad, las redes tipo malla, la característica de esta topología
es que los nodos se pueden conectar a múltiples nodos en el sistema y pasar los
datos por el camino disponible de mayor confiabilidad. En enlace malla es referido
como un ruteador.

18
Figura 1. Topologías de Red WSN comunes.3

1.2.2 Arquitectura del sistema


Las redes de sensores están conformadas por un conjunto de pequeños
dispositivos denominados nodos sensores, con capacidad reducida de cómputo y
comunicación, cuyo tiempo de funcionamiento depende de una batería adjunta al
dispositivo. El tiempo de funcionamiento de la red de sensores dependerá de la
capacidad de la batería de sus nodos.

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

En una red de sensores inalámbricos, por lo tanto, podemos encontrarnos:


 Nodos inalámbricos.
 Puertas de enlace.
 Estaciones base.

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

1.2.3 Nodo inalámbrico


Los nodos inalámbricos están compuestos por uno o varios dispositivos
electrónicos con la capacidad de captar información proveniente del entorno en el
que se encuentran, procesarla y transmitirla inalámbricamente hacia otro
destinatario. “Diseñar un nodo no se reduce a miniaturizar una computadora
personal. Hay que tener en cuenta que queremos un espacio reducido, un consumo
muy bajo de energía y un coste de los dispositivos reducido. Y en contraposición a
esto una potencia de ejecución de programas elevadas y una transmisión de datos
eficaz y con amplia longitud de emisión. “6

5
ibíd.
6
ibíd.
20
El hardware de un nodo está compuesto de:

Figura 3. Arquitectura de un nodo inalámbrico.

1.2.4 Estándares de Comunicación Inalámbrica


Las comunicaciones inalámbricas hacen uso de las ondas
electromagnéticas para enviar señales a través de largas distancias. Desde la
Perspectiva del usuario, las conexiones inalámbricas no son particularmente
diferentes de cualquier otra conexión de red: el navegador web, correo electrónico
y otras aplicaciones funcionan como uno lo espera. Pero las ondas de radio tienen
algunas propiedades inesperadas en comparación con una red cableada Ethernet.

Para construir enlaces inalámbricos estables de alta velocidad es


importante comprender como se comportan las ondas de radio en el mundo real.

Existen varios estándares de comunicación inalámbrica como Bluetooth,


802.11, Zigbee, etc.

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).

1.2.4.2 Estándar 802.11 – redes inalámbricas


En general, los protocolos de la rama 802.x definen la tecnología de redes
de área local. “El protocolo IEEE 802.11 o Wi-Fi es un estándar de protocolo de
comunicación del IEEE que define el uso de los dos niveles inferiores de la
arquitectura OSI (capas físicas y enlace de datos)”8

La familia IEEE 802.11incluyen técnicas de transmisión por modulación y


codificación de datos que utilizan todos los protocolos. El estándar original de este
protocolo data de 1997, es el IEEE 802.11, con velocidades de 1 hasta 2 Mbps y
trabaja en la banda de frecuencia ISM 2.4 GHz. Entendiendo por radiofrecuencia a
la posibilidad de transmitir ondas electromagnéticas originadas a partir de un

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.

Tabla 1. Descripción de los distintos Protocolos 802.11

Protocolo Descripción

Primer estándar que permite un ancho de banda de 1 a 2 Mbps.


802.11 Trabaja a 2,4 GHz.

Llamado también Wi-Fi5. Tasa de 54 Mbps. Trabaja en torno a 5


802.11a GHz, frecuencia menos saturada que 2,4 GHz.

Conocido como Wi-Fi. El más utilizado actualmente. Las mismas


interferencias que para 802.11 ya que trabaja a 2,4 GHz. Tasa de
802.11b 11 Mbps.

Es una versión modificada del estándar 802.1d, que permite


combinar el 802.1d con dispositivos compatibles 802.11 en el
802.11c nivel de enlace de datos.

Este estándar es un complemento del estándar 802.11 que está


pensado para permitir el uso internacional de las redes 802.11
locales. Permite que distintos dispositivos intercambien
información en rangos de frecuencia según lo que se permite en
802.11d el país de origen del dispositivo.

Define los requisitos de ancho de banda y al retardo de


transmisión para permitir mejores transmisiones de audio y
vídeo. Está destinado a mejorar la calidad del servicio en el nivel
802.11e de la capa de enlace de datos.

802.11f Su objetivo es lograr la interoperabilidad de puntos de acceso

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.

Ofrece un ancho de banda de 54 Mbps en el rango de frecuencia


de 2,4 GHz. Es compatible con el estándar 802.11b, lo que
significa que los dispositivos que admiten el estándar 802.11g
802.11g también pueden funcionar con el 802.11b.

El objetivo es que 802.11 cumpla los reglamentos europeos para


redes WLAN a 5 GHz. Los reglamentos europeos para la banda de
5 GHz requieren que los productos tengan control de la potencia
802.11h de transmisión y selección de frecuencia dinámica.

Aprobada en Julio 2004, se implementa en WPA2. Destinado a


mejorar la seguridad en la transferencia de datos (al administrar
y distribuir claves, y al implementar el cifrado y la autenticación).
802.11i Este estándar se basa en el protocolo de encriptación AES.

Se basa en la tecnología MIMO. Trabajará en la frecuencia de 2.4


802.11n y 5 GHz. Soportará tasas superiores a los 100Mbps.

802.11s Redes Mesh o malladas.

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.

Figura 4. Comparación de un Zigbee con Bluetooh y IEEE 802.11b.9

1.2.4.4 Puertas de enlace


Son instrumentos que se utilizan para la interconexión entre la red de
sensores y una red de datos (TCP/IP). “Es un nodo especial sin elemento sensor,
cuyo objetivo es actuar como puente entre dos redes de diferente tipo10.”En este
tipo de aplicaciones donde se usan redes de sensores, estas no pueden operar
completamente aisladas y deben contar con alguna forma de monitoreo y acceso a
la información adquirida por los nodos de la red de sensores. De aquí surge la
necesidad de conectar las redes de sensores a infraestructuras de redes existentes
tales como internet, redes de área local (LAN) e intranets privadas. Los dispositivos
que realizan la función de interconectar dos redes de diferente naturaleza se les
llama dispositivo puerta de enlace, pero el término más conocido en el ambiente de
las redes es Gateway.

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

En este proyecto de grado utilizaremos el Raspberry Pi como Puerta de


enlace y Estación Base.

26
Capítulo 2.

2. SENSORES MEDIDORES DE AGUA

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.

En este proyecto de grado el sensor a ser utilizado será el caudalímetro de


efecto hall.

2.2 Breve introducción


El agua es el elemento esencial para la existencia de vida en nuestro
planeta. Todos los seres vivientes somos, en mayor o menor medida, agua y
necesitamos consumirla de forma constante para vivir.

Los primeros asentamientos de nuestros antepasados siempre tenían


lugar en ubicaciones donde hubiese agua dulce disponible, como lagos y ríos. Y fue
entorno al agua donde se iniciaron las primeras formas de sociedad. “Cuando estas
formas primitivas de sociedades empezaron a evolucionar y crecer de manera
extensiva surgió la necesidad de buscar otras fuentes diferentes de agua. El
constante incremento de la población humana no siempre hizo posible que estas
sociedades crecieran entorno a fuentes de fácil acceso como lagos y ríos, por lo que
las personas se vieron obligadas a desarrollar sistemas que les permitieran

27
aprovechar los recursos de agua subterráneos, dando origen a las primeras
construcciones de pozos.”11

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.

Un medidor de agua es un artefacto que permite contabilizar la cantidad


de agua que pasa a través de él y es utilizado en las instalaciones residenciales e
industriales de los acueductos para realizar los cobros pertinentes a los usuarios.

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.

Un medidor de agua es un artefacto que permite contabilizar la cantidad


de agua que pasa a través de él y es utilizado en las instalaciones residenciales e
industriales de los acueductos para realizar los cobros pertinentes a los usuarios.

29
Figura 5. Esquema de conexión de medidor de agua domiciliario12

Un caudalímetro es un dispositivo que se utiliza para medir el caudal o la


cantidad de un gas o líquido.

En la mayoría de las operaciones realizadas en los procesos industriales y


en las efectuadas en laboratorio y en plantas piloto es muy importante la medición
de caudales de líquidos y gases. “Existen dos tipos de medidores, los volumétricos
que determinan el caudal en volumen del fluido, y los de masa que determinan el
caudal masa. Se reservan los medidores volumétricos para la medida general de
caudal y se destinan los medidores de caudal másico a aquellas aplicaciones en las
que la exactitud de la medida es importante.”13

2.3 Medidores volumétricos de agua


Con los medidores volumétricos se determinan el caudal en volumen de
fluido, bien sea directamente (desplazamiento), bien indirectamente por deducción

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.3.1 Sistema de Presión Diferencial


En esta sección se hablara sobre los medidores volumétricos de presión
diferencial tales como el Tubo Pitot, Tubo Annubar, etc.

2.3.1.1 Tubo Pitot


El tubo Pitot fue ideado por Henri de Pitot (1695-1771) y mide la diferencia
entre la presión total y la presión estática, o sea, la presión dinámica, la cual es
proporcional al cuadrado de la velocidad. La ecuación correspondiente es:

𝑃2 𝑃1 𝑉1 2
= + (𝟏. 𝟏)
𝑝 𝑝 2

En la que:

𝑃2 = presión de impacto o total absoluta en el punto donde el líquido anula su


velocidad.

𝑃1 = presión estática absoluta en el fluido.

𝑝= densidad.

𝑉1 = velocidad del fluido en el eje del impacto.

31
Figura 6. Tubo Pitot.14

De aquí se deduce:

(𝑃1 − 𝑃2 )2
𝑉1 = √ (𝟏. 𝟐)
𝑝

O bien utilizamos un coeficiente de velocidad C para tener en cuenta la


irregular distribución de velocidades, la rugosidad de la tubería, etc.:

(𝑃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

2.3.1.2 Tubo Annubar


El tubo Annubar es una innovación del tubo Pitot y consta de dos tubos, el
de presión total y el de presión estática. El tubo que proporciona la presión total se
encuentra a lo largo de un diámetro transversal de la tubería y consta de varios

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.

Figura 7. Tubo Annubar.16

El tubo que mide la presión estática se encuentra en la parte posterior del


de presión total, con su orificio en el centro de la tubería y aguas abajo de la misma.
“El tubo Annubar es de mayor precisión que el tubo Pitot, del orden del ± 1%, tiene
una baja pérdida de carga y se emplea para la medida de pequeños o grandes
caudales de líquidos y gases.”17

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 Sistema de Velocidad


En esta sección se hablara sobre el medidor volumétrico de turbinas.

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

Con relación a los convertidores para obtener la velocidad de la turbina


existen el de reluctancia y el inductivo. En el de reluctancia, la velocidad viene
determinada por el paso de las palas individuales de la turbina a través del campo
magnético proporcionado por un imán permanente montado en una bobina
captadora exterior. El paso de cada pala varía la reluctancia del circuito magnético.
Esta variación modifica el flujo, induciendo en la bobina captadora una corriente
alterna que, por lo tanto, es proporcional al giro de la turbina.

En el tipo inductivo, poco usado actualmente, el rotor lleva piezas


magnéticas y el campo magnético giratorio que se origina induce una corriente
alterna en una bobina captadora exterior.

2.3.4 Medidor de efecto hall


En esta sección se hablara sobre el medidor de efecto hall.

2.3.4.1 Principio de funcionamiento del caudalímetro de Efecto Hall


Para describir este efecto, considérese un conductor en forma de cinta
plana, como se muestra en la figura 10. La corriente fluye en la dirección del eje de
̅ perpendicular al plano de la cinta, en
las + x y hay un campo magnético uniforme𝐁
la dirección de las +y. La magnitud de la velocidad de deriva de las cargas en
movimiento (magnitud de la carga:|𝐪|) es 𝑽𝒅 . La figura 10 muestra el caso de

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𝑭𝒁 = |𝐪|𝑽𝒅 𝐁.

Si los portadores de carga son electrones, como en la figura 10, se acumula


un exceso de carga negativa en el borde superior de la cinta, dejando un exceso de
carga positiva en el borde inferior. Esta acumulación continua hasta que el campo
electrostático transversal 𝑬 ̅𝒆 llega a ser suficientemente grande para generar una
fuerza (magnitud: |q| ̅̅̅
𝐸𝑒 ) igual y opuesta a la fuerza magnética
(magnitud:|𝐪|𝑽𝒅 𝐁.Cuando esto ocurre, ya no hay una fuerza transversal neta que
desvíe las cargas en movimiento. Este campo eléctrico genera una diferencia de
potencial transversal entre bordes opuestos de la cinta, llamado voltaje de Hall o
fem de Hall. La polaridad depende del signo positivo o negativo de las cargas en
movimiento. Los experimentos muestran que, en el caso de metales, el borde
superior de la cinta de la figura 10adquiere carga negativa, lo que demuestra que en
un metal los portadores de carga son en efecto electrones negativos.

De cualquier modo, si los portadores de carga son positivos, como en la


figura 11, entonces se acumula carga positiva en el borde superior, y la diferencia
de potencial es opuesta a la situación con cargas negativas. Poco después de
haberse descubierto el efecto hall en 1879, se observó que ciertos materiales, en
particular algunos semiconductores, muestran una fem de Hall opuesta a la de los
metales, como si sus portadores de carga tuviesen carga positiva. Ahora sabemos
que esos materiales conducen mediante un proceso que se conoce como
conducción de huecos. Dentro de los materiales de este tipo hay lugares, llamados
huecos, que normalmente estarían ocupados por un electrón pero que de hecho
están vacíos. Una carga negativa faltante equivale a carga positiva. Cuando un
electrón se traslada en un sentido para llenar un hueco, deja otro hueco tras él. El
hueco emigra en el sentido opuesto al del electrón.

En términos del eje de coordenadas de la figura 11 el campo electrostático


𝐄̅𝐞 correspondiente al caso con q positiva tiene la dirección −z, su componente
36
zdel campo eléctrico 𝐸𝑍 negativa. El campo magnético tiene la dirección +𝐲, y se
escribe como 𝑩𝒀 . La fuerza magnética (en la dirección +z) es 𝐪𝑽𝒅 𝑩𝒚 . La densidad
de corriente 𝑱𝒙 tiene la dirección +x. En el estado estacionario, cuando las fuerzas
𝐪𝑬𝒛 y 𝐪𝑽𝒚 𝑩𝒚 son de igual magnitud y de direcciones opuestas.

q𝐸𝑧 + q𝑣𝑦 𝐵𝑦 =0 o 𝐸𝑍 = −𝑣𝑑 𝐵𝑦 (𝟏. 𝟒)

Esto confirma que, cuando q es positiva Ez es negativa. La densidad de


corriente Jx es:

𝐽𝑥 =nq𝑣𝑑 (𝟏. 𝟓)

Eliminando 𝑣𝑑 entre estas dos ecuaciones se obtiene lo siguiente:

−𝐽𝑦 𝐵𝑦
nq = (𝟏. 𝟔)
𝐸𝑧

Dese cuenta que este resultado (así como la deducción en su totalidad) es


válida con respecto a una q tanto positiva como negativa. Cuando 𝐪 es negativa,
𝑬𝒛 es positiva, y viceversa.

Podemos medir 𝑱𝒙 ,𝑩𝒚 y 𝑬𝒛 , por tanto podemos calcular el producto nq.


Tanto en los metales como en los semiconductores,𝐪 tiene la magnitud de la carga
del electrón; por tanto, el efecto Hall permite medir directamente n , la
concentración de las cargas portadoras decorriente en el material. El signo de las
cargas está determinado por fem de Hall, como se describió.

“El efecto Hall también permite medir directamente la rapidez de deriva


𝑽𝒅 de los electrones en los metales.” 21

21
ZEMANSKY, S. FREEDMAN Y. FISICA UNIVERSITARIA Edición 11. Pág. 1048.
37
Figura 10. Portadores de corriente negativo.22

Los portadores de corriente negativos (electrones) son empujados hacia la


parte superior de la cinta, y esto crea la distribución de carga que se muestra. El
punto 𝑎 está a un potencial más grande que el punto 𝒃.

Figura 11. Portadores de corriente positivo.23

Con portadores de corriente positivos, la polaridad de la diferencia de


potencial es opuesta a la de la figura 11.

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

Este sensor consiste básicamente de un cuerpo de válvula de plástico, un


rotor y un sensor de efecto Hall. El rotor de molinete gira cuando el agua/líquido
fluye a través de la válvula y su velocidad será directamente proporcional a la

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.

2.4 Medidores de caudal de masa


Si bien en la industria se utilizan normalmente medidores volumétricos de
caudal, con el caudal determinado en las condiciones de servicio, en ocasiones
interesa medir el caudal masa, sea inferencialmente por compensación de la
presión, la temperatura o la densidad, o bien aprovechando características
medibles de la masa con sistemas básicos de medida directa, los instrumentos
térmicos, los de momento angular y los de Coriolis.

40
Capítulo 3.

3. CONTROLADOR DEL MEDIDOR DE AGUA

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.

El microcontrolador es una de los inventos más notables del siglo XX. En el


mercado hay gran cantidad de ellos, con multitud de posibilidades y características.
Cada tipo de microcontrolador sirve para una serie de casos y es el diseñador del
sistema quien debe decidir cuál es el microcontrolador más idóneo para cada uso.
En este proyecto de grado será utilizado el microcontrolador ARM® Cortex®-M0 de
32 bits de la plataforma PSoC 4.

41
3.2 PSoC 4

Figura 14. Identificación de pines PSoC 4.26

El PSoC 4 es un controlador de sistema integrado programable con un


procesador ARM Cortex-M0. Los kits de prototipos CY8CKIT- 049 soportan tanto el
CY8C41xx y CY8C42xx de la familia de procesadores ARM 32-bit Cortex-M0. Los
dispositivos PSoC 4 constan de los procesadores ARM más reconfigurables que
proporcionan bloques analógicos y digitales con enrutamiento flexible e
interconexiones. Los kits de prototipos CY8CKIT- 049 están también habilitados para
CapSense. Como siempre, la familia de dispositivos PSoC 4 y el CY8CKIT -049 son
compatibles con la plataforma de desarrollo PSoC Creator. Como se menciona en
(Cypress, 2016)el mismo es compatible con conectividad PC a través del controlador
USB-Serial Cypress integrado. Los dispositivos se pueden programar utilizando el
controlador USB-serial y la herramienta ‘Host Bootloader’. El CY8CKIT -049 está
diseñado para ser programado utilizando el gestor de arranque (Bootloader) del
dispositivo a través del conversor USB-Serial Cypress integrado en la tarjeta.

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.

3.2.1 Hardware del PSoC 4

Figura 15. Partes del PSoC 4.27

Los dispositivos PSOC 4 tienen estas características:

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.

3.2.1.1 Sistema de CPU


El sistema CPU se compone del procesador y el controlador de interrupción.

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.

3.2.1.3 Recursos para el sistema


Los recursos pueden ser los siguientes:

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.

El IMO con una precisión de ±2% es la fuente primaria de sincronización


del dispositivo. La IMO predeterminada es de 24 MHZ de frecuencia.

El ILO es de bajo consumo, un oscilador menos preciso y es usado para


generar clock para operaciones periféricas en modo Deep Sleep.

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.

En el ACTIVE MODE, la CPU se ejecuta con toda la lógica de poder. En el


modo SLEEP, la CPU se apaga con todos los demás periféricos funcionales. En el
modo DEEP-SLEEP la CPU, la memoria SRAM y la lógica de alta velocidad están en
retención el sistema principal de clock está apagado mientras que el clock de baja
frecuencia está activo y los periféricos de baja frecuencia están activos. En el modo

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:

 Ocho unidades de modos de potencia.


 Control individual de entradas y salidas desactivadas.
 Hold mode para enclavamiento de estado previo.
 Tasas de variación seleccionable.
 Generación de interrupciones-borde activado.
 Unidad de soporte de Capsense y LCD.

Los pines están organizados en un puerto de amplitud de 8 bits. Una matrix


de alta velocidad de E/S es usada para multiplexación entre varias señales de
entradas que puede conectarse a un pin de E/S.

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.

El UDB permite en el PSOC 4200 habilitar lógica personalizada o adicionar


Timers/PWMs e interfaces de comunicación como SPI, I2 C y UART.

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.

f. Bloque de comunicación Serial


El dispositivo tiene dos SCB (Serial Communication Blocks). Cada SCB puede
implementar una intercomunicación serial como I2 C, UART, red de interconexión
local (LIN) esclavos o SPI.

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.

h. Mini bloque de tiempo continúo


El mini bloque de tiempo continuo (CTBm) proporciona funcionalidad de
tiempo continuo en los puntos de entrada y salida del subsistema analógico. El
CTBm tiene dos op-amps altamente configurable y de alto rendimiento con un
conmutador de enrutamiento matrix. Los op-amps también pueden funcionar en
modo comparador.

El bloque permite op-amp de bucle abierto, buffer lineal y funciones de


comparación que se realiza sin componentes externos.

i. Comparadores de baja energía


El PSoC 4 tiene un par de comparadores de baja potencia, que puede
operar en todos los modos de alimentación del dispositivo. Esta funcionalidad
permite que la CPU y otros sistemas de bloques se han desactivados mientras
retiene la capacidad para monitorear los niveles de tensión externa durante los
modos de bajo consumo de energía. Dos voltajes de entrada pueden provenir de
pins, o uno a partir de una señal interna mediante la AMUXBUS.

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+.

Nos ayuda a configurar y programar funciones analógicas y digitales-


periféricas en un dispositivo PSOC. Usando PSoC Creator, Ud. puede seleccionar y
colocar componentes, escribir en C y depurar y programar el proyecto. Cuando es
usado con un hardware asociado, esta combinación dinámica de hardware-software
te permite testear el proyecto con un entorno de hardware mientras ve y depura la
actividad del dispositivo de un entorno de software.

Figura 16. Entorno PSoC Creator.28

28
CYPRESS SEMICONDUCTOR.2016. PSoC Creator User Guide, Pág. 9.
49
Capítulo 4.

4. RASPBERRY PI

El Raspberry Pi es un computador muy pequeño (85x54 milímetros) y


barato. Se hizo con la idea de que niños de todo el mundo pudieran programar
jugando y aprender cosas de electrónica y tecnología. Fue creado en la Universidad
de Cambridge de Inglaterra. “En él se aloja un chip Broadcom
BCM2835 con procesador ARM hasta a 1 GHz de velocidad, GPU VideoCore IV y
hasta 512 Mbytes de memoria RAM, funciona gracias a un cargador como los de los
teléfonos móviles, se le puede conectar un teclado y un ratón de PC, y se puede
conectar a cualquier televisor y a internet. No tiene DVR ROM, ni cajas grandes, ni
un botón de encender o apagar ni tampoco un disco duro donde instalar programas.
Todo lo que hace falta cabe en una tarjeta de memoria SD.” 29

La fundación Raspberry Pi pone a disposición desde su página web


Raspbian, una distribución de Linux basada en Debian.

En función del modelo que escojamos, dispondremos de más o menos


opciones de conexión, pero siempre tendremos al menos un puerto de salida de
video HDMI y otro de tipo RCA, minijack de audio y un puerto USB 2.0 al que
conectar un teclado y ratón.

En cuanto a conexión de red se refiere, podemos disponer de Ethernet


para enchufar un cable RJ-45 directamente al router o recurrir a adaptadores
inalámbricos wi-fi.

29
Componentes del Raspberry Pi [En línea] 2017. Disponible en:
https://www.raspberrypi.org/documentation/.
50
4.1 Hardware del Raspberry

Figura 17. Partes del Raspberry Pi.

4.1.1 GPIO (General Purpose Input/Output)


Es, como su propio nombre lo indica, un sistema de E/S (Entrada/Salida) de
propósito general, es decir, una serie de conexiones que se pueden usar como
entradas o salidas para usos múltiples. Están incluidos en todos los modelos de
Raspberry Pi. Los GPIO representan la interfaz entre la Raspberry Pi y el mundo
exterior.

Todos los pines son tipo “unbuffered”, es decir, no disponen de buffers de


protección, así que se debería tener cuidado con las magnitudes (voltajes,
intensidades) cuando conectes componentes a ellos para no dañar la placa, las
funciones de los pines son:

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.

Figura 18. Esquemas del GPIO Raspberry Pi Model B.30

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.

Figura 19. Conectores RCA.31

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.

Figura 20. Conectores minijack.32

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).

Figura 21. Tarjeta SD.33

4.1.6 Display Serial Interface (DSI)


Es un interface paralelo de 24 bits con un clock y varios sincronizadores de
señales totalizando 28 señales, todo lo cual cambia a una tasa de alrededor de 70
MHz. Esta interfaz ha sido eliminado de las tabletas/teléfonos porque el ruido

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.

Figura 22. Puerto DSI.34

4.1.7 Micro USB


Dado que los dispositivos electrónicos continúan haciéndose más
pequeños, la mayoría de los nuevos dispositivos están incorporando micro
conectores USB., los conectores micro USB son más pequeños que sus contrapartes
mini USB y tienen un ciclo de vida de al menos 10.000 conexiones y desconexiones.
El propósito de su diseño es el de reducir las posibilidades de daño por esfuerzos
perpendiculares o horizontales. Los micro USB cuentan con cinco pines, de los
cuales los pines de identificación (ID) funcionan conectores micro USB AB
especiales. Con conectores AB el pin de ID puede permitir que el dispositivo
funcione como un conector de A o B con la tecnología estándar de USB. Esto le da a
los nuevos teléfonos inteligentes y otros dispositivos la opción de actuar ya sea
como un dispositivo de almacenamiento simple o como el dispositivo que está
dictando la acción.

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

4.1.8 Microprocesador del Raspberry Pi

ARM es una arquitectura RISC (Reduced Instruction Set Computer o en


español, Computadora con Conjunto Reducido de Instrucciones) de 32 bits y
recientemente con la llegada de su versión V8-Atambién de 64 Bits desarrollada
por ARM Holding. La arquitectura ARM es el conjunto de instrucciones de 32 y 64
bits más ampliamente utilizado en unidades producidas.

“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

La relativa simplicidad de los procesadores ARM los hace ideales para


aplicaciones de baja potencia. Como resultado, se han convertido en dominante en

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.

Los Procesadores ARM1176 poseen aplicaciones desplegadas


ampliamente en dispositivos que van desde smartphones hasta TV digital.

Un ARM1176JZF-S que funciona originalmente con la frecuencia de 700


MHZ pero esta se puede aumentar, es posible seleccionar entre varias frecuencias
de overclocking, la más elevada con 1 GHZ.

4.1.9 HDMI

HDMI responde a las siglas High Definition Multimedia Interface (interfaz


multimedia de alta definición) y hace referencia a la norma de conexión que
permite transmitir audio y vídeo sin comprimir desde un equipo a otro y con un
único cable, incluido el contenido en alta definición. Por tanto, esta tecnología se
emplea para vincular, por ejemplo, un computador con el televisor y así poder
disfrutar de los contenidos del primero en el segundo.

La función principal del HDMI es la de transmitir audio y vídeo entre dos


dispositivos, llevarlos del uno al otro. ¿Cómo lo hace? A través de un cable. Por
consiguiente, el poseedor de éste puede conectar su consola con la computadora, la
televisión con su portátil o el Blu-Ray con un proyector, entre otros ejemplos. La
única limitación que existe es la medida del cable, aunque hay alargadores que
hacen de esta barrera una nimiedad.

Tras ser enviados a un decodificador, se obtienen los datos de video sin


comprimir, pudiendo ser de alta definición. Estos datos se codifican en formato
TMDS para ser transmitidos digitalmente por medio de HDMI. El tipo de conector
que utilizamos. El Raspberry Pi posee un Puerto HDMI Tipo A.

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.

Figura 25 . CSI con Raspberry Pi camera.38

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.

Ethernet es conocido también como IEEE 802.3. y es el tipo más común de


conexión a una red de área local (LAN).

Figura 26. Puerto RJ45.39

4.1.12 Puerto USB


Significa (Universal Serial Bus) o su traducción al español es línea serial
universal de transporte de datos. Es básicamente un conector rectangular de 4
terminales que permite transmisión de datos entre una gran gama de dispositivos
externos (periféricos) con la computadora.

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

4.2 Software de Raspberry Pi


La Raspberry Pi no es compatible con los sistemas operativos que todos
usamos en nuestras computadoras, esto es debido a que utilizan arquitectura ARM
y no x86-64 como en las computadoras normales que todos utilizamos. No
obstante, los desarrolladores han conseguido crear sistemas operativos orientados
específicamente a la Raspberry Pi, basándose en distribuciones de escritorio y
servidores tan populares como Debian o Arch Linux.

También nos encontramos con modificaciones del sistema original


adaptando el software a las capacidades de la placa, como puede ser Raspbian que
es ligeramente diferente a Debian compilado para ARM.

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.

Actualmente se encuentran disponibles la versión Raspbian Jessie y


Raspbian Jessie Lite.

Figura 28. Sistema Operativo Raspbian.41

4.2.2 Arch Linux


Una de las opciones que viene incluida en el software de
instalación NOOBS para Raspberry Pi. Es un sistema ligero, con un diseño simple y
minimalista, ideal para una pequeña computadora como la Raspberry.

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.

Figura 30. Sistema Operativo Kano OS.43


42
Sistema Operativo Arch Linux [En línea] 2017.Disponible en:
https://www.linuxadictos.com/ranking-de-las-mejores-distribuciones-gnulinux-de-2015.html.
62
4.2.4 Windows IOT Core
Esta es una versión especial de Windows para Raspberry Pi. Lógicamente,
no esperes encontrar una versión completa de Windows como la que puedes tener
en el PC; se trata más bien de una plataforma de desarrollo para que los
programadores experimenten con dispositivos conectados a Internet (el llamado
Internet of things).

Figura 31. Windows IOT Core.44

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.

Figura 32. Sistema Operativo OSMC.45

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.

OpenElec también está basado en Kodi; de hecho, es una versión más


cercana al Kodi original, pero eliminando todas las opciones superfluas y
manteniendo el sistema en sus opciones más básicas. El foco de OpenElec está en

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.

Figura 33. Sistema Operativo OpenElec.46

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.

5. RED DE SENSORES PARA LA AUTOMATIZACIÓN DE LA


MEDICIÓN DEL CONSUMO DE AGUA DE USO DOMICILIARIO

5.1 Descripción del Proyecto


El proyecto presenta una red de sensores con un sistema de medición
automático del consumo de agua de uso domiciliario. En cada domicilio se instalará
un medidor de consumo de agua, la constitución de cada medidor será de un
caudalímetro, un microcontrolador (PSoC) y un dispositivo de transmisión
inalámbrica de protocolo de comunicación Zigbee (Xbee). La información
recolectada por el caudalímetro irá al PSoC, este procesará la información y luego a
través del dispositivo Zigbee, el PSoC enviará un paquete de información dentro del
cual estarán el consumo de agua en litros y un número identificador perteneciente
al medidor, la transmisión mediante el dispositivo Zigbee se realizará cada
veinticuatro (24) horas.

El paquete de información irá a un Gateway, el cual se formará de un


computador del tamaño de una tarjeta de crédito (Raspberry Pi),en el cual corre un
sistema operativo basado en Linux y un dispositivo Zigbee de recepción de
información. La información que llega al Gateway se almacenará en una base de
datos, el Gateway tendrá la posibilidad de recepcionar la información de cierta
cantidad de medidores, esta cantidad estará definida por el alcance de transmisión
de cada dispositivo Zigbee presentes en los medidores, es decir, tendremos una red
de topología estrella donde los nodos son los medidores. Toda la información que

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:

 La atención del funcionario a la hora de realizar la lectura de las mediciones


no siempre es la misma, lo que puede causar anotaciones erróneas.
 El funcionario puede caer en falta de responsabilidad y en lugar de pasar a
recoger las mediciones domicilio por domicilio, crea una tabla según su
criterio personal.
 La caligrafía del funcionario es un factor de imprecisión debido a que las
anotaciones del mismo son recogidas por otros de nivel superior ya sea para
generar una tabla más genérica o una más prolija.
68
5.3 Finalidad
Este proyecto pretende otorgar la posibilidad de contar con un prototipo
de registro automático a distancia del consumo de agua de uso domiciliario y
solucionar los problemas de registros incorrectos causados por errores humanos.

5.4 Objetivo General


Desarrollar un sistema de automatización de la medición del consumo de
agua de uso domiciliario mediante el uso de una red de sensores inalámbricos.

5.5 Objetivos Específicos


 Seleccionar el sensor adecuado para la medición del consumo de
agua.
 Desarrollar el software necesario para el correcto funcionamiento del
nodo sensor.
 Configurar los dispositivos de la red inalámbrica de modo a obtener
mejor eficiencia en el consumo de energía.
 Implementar un Gateway que recolecte las mediciones de consumo
de agua y muestre los resultados en una página Web.

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.

Serán beneficiarios indirectos toda la población paraguaya ya que el


proyecto puede ser aplicado en cualquier empresa distribuidora de agua potable.

5.8 Localización física y cobertura espacial


Este proyecto está orientado a cualquier empresa de servicio de agua
potable que desee automatizar su proceso de medición domiciliaria de agua y así
obtener datos más fieles que ayuden a la facturación correcta del consumo de agua.

5.9 Métodos y procedimientos utilizados


El primer procedimiento realizado fue la revisión bibliográfica sobre los
diferentes sistemas automáticos de medición de agua. Luego de analizar estos
sistemas se pudo determinar el más adecuado para el proyecto.

El segundo paso fue diseñar la ingeniería del proyecto de acuerdo a las


limitaciones del método seleccionado, se buscó la simplicidad en cada parte física
del sistema, se optaron por lenguajes y herramientas simples y fiables de
programación y también se optimizaron al máximo los algoritmos de programación
introducidos a los microcontroladores

Se realizaron múltiples pruebas a fin de obtener la precisión y fidelidad más


cercana al valor real de medición y a su vez obtener datos acerca de las posibles
debilidades del sistema.

5.10 Especificación de actividades y tareas realizadas


 Recopilación de información referente al tema de diversas fuentes
bibliográficas.

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.

5.11 Recursos Necesarios


Los recursos tratados en este trabajo son:

5.11.1 Recursos Humanos


El proyecto fue elaborado por dos estudiantes del último grado académico
de la carrera de Ingeniería en Electrónica con especialidad en Mecatrónica con el
acompañamiento del profesor orientador Ing. Lucas Frutos Olmedo, los estudiantes,
que están capacitados en programación y desarrollo de sistemas tuvieron a su cargo
el diseño del hardware y la elaboración del software.

5.11.2 Recursos Materiales


Los materiales más importantes que fueron utilizados son:

71
Tabla 2. Materiales importantes.

Ítem Descripción Cantidad


1 Notebooks 2
2 Caudalímetro 1
3 Xbee 2C 2
4 Raspberry Pi 1
5 PSoC 4 1
6 Software PSoC Creator 1
7 Software Putty 1
8 software Raspbian Jessie 1

5.11.3 Recursos Financieros


Todos los costos del prototipo del sistema de medición de agua corren por
cuenta de los alumnos encargados del proyecto.

5.12 Administración del proyecto


El proyecto fue gestionado por los alumnos encargados del proyecto
mediante reuniones diarias en los hogares de los mismos y una reunión semanal de
los alumnos con el profesor orientador del proyecto. También los alumnos
realizaron dos visitas técnicas.

Luego de la conclusión de la construcción del proyecto se realizaron


pruebas para ir corrigiendo y ajustando cualquier eventualidad.

5.13 Indicadores de Evaluación


Una vez terminado el proyecto para comprobar el correcto desempeño se
deberán realizar las siguientes pruebas:

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.

5.14 Factores externos condicionantes o pre-requisitos para el


logro de los efectos e impacto del proyecto
Todos los componentes del sistema de medición son adquiridos por
compras del exterior por lo que es necesario contar en todo momento con un lote
de extra de cada parte del sistema, de esta manera se eliminan los tiempos de
entrega de los componentes.

5.15 Cálculo de los costos de elaboración y ejecución del


proyecto
El sistema está enfocado a ofrecer a una empresa, dedicada a distribuir el
servicio de agua potable, un sistema de monitoreo remoto del consumo de agua de
sus clientes mediante el uso de redes de sensores. A continuación se detalla el costo
que tendría la adquisición del sistema. Los parámetros involucrados en el costo del
proyecto son el costo de la planificación e ingeniería de diseño del sistema, diseño y
construcción de un pluviómetro automático, hardware y software.

5.15.1 Costo de planificación, ingeniería de diseño del sistema y


desarrollo del software
Los parámetros necesarios para el elaborar el costo del proyecto fueron:

 Tiempo de planificación e ingeniería de diseño: 3 meses.


 Tiempo de diseño y construcción de un pluviómetro automático: 3 meses.
73
 Tiempo de programación del software: 2 meses.
 Sueldo promedio hora/ hombre de un ingeniero junior en electrónica:
25USD.
 Cantidad de personas a cargo del proyecto: 2 ingenieros junior.

El tiempo empleado en la planificación e ingeniería de diseño del sistema


fueron de 180 horas. Trabajando tres horas al día, cinco días a la semana, en un
periodo de tres meses. Se tiene el monto de:

180 hrs. X 25 USD = 4.500 USD.

El tiempo empleado en el desarrollo del software fue de 120 horas.


Trabajando en un periodo de dos meses. Se tiene el monto de:

120 hrs. X 25 USD = 3.000 USD.

5.16 Costo del prototipo teniendo en cuenta el radio de alcance del


Gateway
Se tuvo en cuenta el costo del Medidoir, Gateway, Router y los Recursos
Humanos.

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

Tabla 4. Costo del gateway.


Gateway
Costo en dólares americanos
Ítem Descripción Cantidad Precio Unitario Precio Total
1 Xbee S2C 1 15,00 15,00
2 Raspberry Pi 1 35,00 35,00
3 Porta Xbee 2 1,00 2,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 61,00

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

Tabla 6. Costo de los Recursos Humanos.

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

Aplicamos el proyecto en una aguatería en cuyo poder se encuentran 320


casas. Se tuvo en cuenta el costo de 320 Medidores, un Gateway, diez Routers y
Recursos humanos en forma global.

Tabla 7. Costo de los Materiales de la Aguatería.

Costo del proyecto calculado para 320 casas


Costo en dólares americanos
Ítem Descripción cantidad Precio unitario Precio total
1 Medidor 320 42,56 13.619,20
2 Gateway 1 61,00 61,00
3 Router 10 25,00 250,00
4 Recursos Humanos 1 5000,00 5.000,00
Total Prototipo 18.930,20

76
Tabla 8. Costo global de los materiales de la Aguatería.

Costo del proyecto calculado para 320 casas


Costo dólares americanos
Ítem Descripción cantidad Precio unitario Precio total
1 Prototipo completo 320 59,16 18.930,20

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

Actualmente la adquisición de datos de consumo de agua domiciliario se


realiza de forma manual, empleando a una persona de la empresa de distribución
de agua para la recolección periódicamente con un papel y bolígrafo. La persona
indicada se encarga de anotar los dígitos que visualiza en el medidor, en una planilla
donde se encuentran el nombre de todos los usuarios.

Fotografía 1. Funcionario anotando los dígitos del medidor.

78
Figura 35. Lectura de un medidor de agua domiciliario.48

6.1 Esquema Conceptual

Figura 36. Esquema de diseño conceptual.

En el esquema de diseño conceptual se puede contemplar cómo se


relacionan los nodos con el Gateway para poder levantar en la nube los datos
adquiridos y que puedan ser visualizados vía web a través de una PC.

Los nodos están compuestos de un sensor, Xbee y PSoC 4 como ya


habíamos mencionado en el capítulo 1. En este caso el sensor sería el caudalímetro
que está censando constantemente la tubería por donde pasa el flujo de agua
mientras envía simultáneamente pulsos al PSoC 4, el PSoC 4 procesa esta señal
48
Lectura de Medidor de Agua [En línea] 2017. Disponible en
http://simapas.gob.mx/services_item/el-medidor/.

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.

En el Gateway se posee un Xbee que se utiliza para recepcionar los datos


transmitidos por el otro Xbee (lado Gateway), una vez recepcionado los datos son
almacenados en una base de datos en el Raspberry Pi para luego ser procesados y
enviados a la nube para que pueden ser visualizándolos datos censados por el
caudalímetro en un periodo de tiempo.

6.2 Descripcion del Sensor-Caudalímetro


Como se había mencionado en el capítulo2 el sensor es un Caudalímetro de
efecto Hall que cuantifica la cantidad de agua que pasa a través de un orificio que
en este caso sería una cañería de agua. A medida que fluye una mayor cantidad de
agua, las aletas del caudalímetro giran a mayor velocidad lo que hace que el mismo
envíe una mayor cantidad de pulsos.

Como se observa en la Figura 37, un generador de Impulsos de efecto Hall


utilizado en vehículos, está ubicado en el distribuidor y se compone básicamente de
una parte fija (barrera magnética) y de una parte giratoria (pantalla magnética).La
barrera magnética está formada por un imán permanente con piezas conductoras
de campo magnético y un interruptor electrónico (circuito integrado Hall), el cual
incorpora la capa Hall, un amplificador de conmutación y demás componentes
electrónicos. Cuando una de las pantallas se sitúa en el entre-hierro de la barrera
magnética, desvía el campo magnético impidiendo que pase el campo magnético al
circuito integrado, siendo el voltaje emitido por el sensor Hall-Integrado nulo.
Cuando la pantalla abandona el entre-hierro, el campo magnético es detectado otra

80
vez por el circuito integrado, generándose un voltaje, el cual es emitido por el
sensor Hall integrado, esto genera pulsos.

Figura 37. Esquema de un generador de pulsos de efecto Hall.49

Figura 38. Generación de pulsos en movimiento con la barrera magnética.50

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

Figura 40. Diseño en Catia del caudalímetro.

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.

La figura 41 muestra el diagrama de conexión del transistor con el


caudalímetro.

Figura 41. Circuito Transistor-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:

6.3.1.1 Descarga del PSoC Creator a la PC de proyecto


El PSoC Creator se puede descargar gratuitamente de la página de internet
de Cypress, la versión de PSoC Creator utilizada para este proyecto es la versión 3.3.

Figura 42. Página de Internet de Cypress.52

En la figura 42, se hace ingresa al ícono “Download PSoC Creator for


Windows” para empezar la descarga del PSoC Creator en las versiones requeridas
por el usuario.

6.3.1.2 Proceso de instalación


Estos son los pasos que se debe seguir para la instalación del PSoC Creator.

Paso 1

Se observa la ubicación del archivo “PSoCCreatorSetup_3.3_cp3_b9648”y


realizando doble “click” se comienza la instalación.

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

Se visualiza la extracción de algunos archivos en el proceso de instalación.

Figura 44. Empezando la instalación de PSoC Creator.

85
Paso 3

En la figura 45, se observa que el PSoC Creator está preparando el “Install


Shield Wizard”que es un software para crear instaladores o paquetes de software.

Figura 45. Preparación del Install Shield Wizard en el proceso de instalación.

Paso 4

Se observa que haciendo click en “Next” empieza la instalación del “Install


Shield Wizard”.

86
Figura 46. Ventana de inicio de instalación de Install Shield Wizard.

Paso 5

Proceso de la instalación del “Install Shield Wizard”.

Figura 47. Install Shield Wizard en proceso de instalación del PSoC Creator.

87
Paso 6

Ofrece la posibilidad de elegir el tipo de instalación, en este caso se utilizó


“Typical”.

Figura 48. Selección del tipo de instalación del PSoC Creator.

Paso 7

Acuerdo de licencia, realizando “click” en “I accept the terms in the icense


agreement” y luego en “Next” proseguimos la instalación.

Figura 49. Acuerdo de Licencia del PSoC Creator.


88
Paso 8

Se denota el proceso de instalación de varios archivos en la ventana.

Figura 50. Instalación de archivos del PSoC Creator.

Paso 9

Finalmente aparece la ventana donde finaliza la instalación realizando


“click” en “Finish”.

Figura 51. Finalización de instalación.


89
6.3.1.3 Creación del Proyecto en PSoC Creator
Para diseñar un software en PSoC Creator 3.3 primeramente se crea un
Proyecto. Abajo se describirá cada paso:

a) En la figura 52, se ilustra la interfaz gráfica del PSoC Creator 3.3 al abrir
inicialmente el Software.

Figura 52. Interfaz inicial del PSoC Creator.

b) Se debe seleccionar el ícono en recuadro rojo de la figura 53.

Figura 53. Creación del Proyecto en PSoC Creator.

c) Se selecciona la opción “Target device” y dentro de esta opción se elige la opción


“PSoC 4200” (Figura 54).
90
Figura 54. Creación del Proyecto en PSoC Creator.

d) En esta parte se elige la opción “Empty schematic”, significa que se trabajará en


un campo en vacío esto de modo a empezar desde cero la construcción del
proyecto (Figura 55).

Figura 55. Creación del Proyecto en PSoC Creator.

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.

Figura 56. Creación del Proyecto en PSoC Creator.

Figura 57. 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.

Este bloque se puede encontrar en la pestaña “system” en la derecha de la


interfaz gráfica del PSoC reator, se arrastra el ícono “Bootloadable [v1.5]” en el “Top
Design”

Figura 58. Porción de la interfaz gráfica del PSoC Creator.

93
Figura 59. Bloque Bootloadable.

La configuración del Bloque Bootloadable se hace como se indica en la


figura 60.

Figura 60. Configuración del Bloque Bootloadable.

Se coloca el nombre del bloque que el usuario desee, para el proyecto se


eligió “Bootloadable”. Se ingresa en la pestaña “Dependencies” y se colocan los
archivos de extensiones “HEX” y “ELF” en los campos “Bootloader HEX File” y
“Bootloader ELF file”. Estos archivos son localizados en la carpeta de proyectos de

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).

Figura 61. Bloque UART Standard.53

Una vez que desplazamos el bloque UART en el work space procedemos a


configurar de la siguiente manera haciendo doble click en el bloque.

Como muestra la Figura 62 en “Name” colocamos el nombre del bloque


que en este caso decidimos que sea UART, en la opción de “configuration” dejamos
la opción “UART”. Después de esto seleccionamos la opción UART Basic y
configuramos como se observa en la Figura 63.

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.

Figura 63. Configuración Bloque UART-UART Basic.

c. Digital Input Pin


Configurar un componente de pines como entrada digital en cualquier
momento su diseño requiere una conexión entre un dispositivo pin y un terminal de
entrada digital interno, o si el estado del pin es leído por el CPU/DMA. En todos los

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.

Figura 64. Bloque Digital input.54

Luego de colocar el bloque Digital input en el work space, haciendo doble


click en el bloque debemos de configurar de la siguiente manera:

En este caso el nombre de nuestro pin de entrada será “intro” como se


visualiza en la Figura 65, HW connection desenmarcar, en drive mode: High
impedance digital, Initial drive state: High (1), Min supply voltaje dejar en blanco.

54
Bloque Digital Input [En línea] 2017 .Disponible en: http://www.cypress.com/file/220321.
97
Figura 65. Configuración bloque Digital Input.

En este trabajo de grado utilizaremos 2 bloques de Digital Output, una


salida digital ira al Zigbee y otra salida al transistor que controlara la apertura de
alimentación del caudalímetro.

Debemos establecer la configuración como se visualiza en la Figura 66.

98
Figura 66. Configuración Bloque Digital Output.

6.3.1.5 Esquema Panorámico del Topdesign


Luego de la selección de los bloques correspondientes y la configuración
adecuada de los mismos el esquema quedaría como se visualiza en la Figura 67.

Figura 67. Esquema TopDesign.

99
6.3.1.6 Esquema de Pinout
Se encuentra nombrado como medidor.cydwr, en este esquema se
visualizan los pines del PSoC.

El pin 28P0[4] y el pin 29P0[5] Utilizamos para el bloque UART debido a


que son pines especiales , quedando el UART TX en el Pin 29 y el UART RX en el Pin
28.

El pin 2 P2 [0] es nombrada como “intro” y es donde se recibe la señal del


caudalímetro.

El pin 3 P2 [1] es nombrada como salida y va a la base del transistor para


habilitar y deshabilitar la alimentación del caudalímetro.

En el pin 27 P0 [3] se utilizara para habilitar y deshabilitar el Sleep del


Zigbee.

Figura 68. Esquema medidor.cydwr.

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.

Figura 69. Programación en main.

El Medidor de Consumo de Agua Domiciliaria (nodo) debe ser de bajo


consumo eléctrico ya que la fuente de alimentación del mismo será una batería de
litio sin recarga constante; para poder optimizar el tiempo de duración de la batería
se minimizó al máximo el consumo eléctrico del PSoC, por ello se utilizó la función
“Deep Sleep” (Sueño Profundo), esta función deshabilita una variedad de funciones
del PSoC entre las cuales se puede señalar al control de los puertos de entrada y
salida55.Función importante para enlazar los dispositivos periféricos con el PSoC.

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

Se lee el puerto asignado


a la señal del Caudalímetro

En caso de que se cumplan las


condiciones, se modifican los valores de
la medición y se guardan los mismos

Si

Se envía una señal de


activación a la rutina de
transmisión
No

Retorno

Figura 70. Diagrama de Flujo del funcionamiento de la Rutina de Medición.

103
Aumenta el Contador

Salto de 0 a 1

1
0

Salida 0 Salida 1

Salto de 1 a 0

Figura 71. Máquina de Estado del Nodo-Medidor.

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.

Figura 73. Gráficos voltaje versus tiempo de la señal de comunicación de datos y


WDT.
105
Hay que tener en cuenta que para que el medidor sea del más bajo
consumo posible el PSoC debe controlar el estado “sleep” del dispositivo que envía
los datos (Xbee). Lo hace a través del pin "Zigbee”. El PSoC también controla el
encendido y apagado del caudalímetro, cada vez que se inicia el proceso de
medición el PSoC enciende al caudalímetro y al final del proceso apaga al
caudalímetro. Abajo se muestra el diagrama de flujo de transmisión:

106
Figura 74. Diagrama de Flujo del funcionamiento de la Rutina de Medición.

A continuación se describe la programación detallada del main.c:

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

Figura 75. Multímetro midiendo la corriente de consumo en la medición.

Figura 76.Multímetro midiendo la corriente de consumo en la medición.

El consumo de corriente del Medidor-Nodo durante la medición es de


0.5mA, mientras que en la transmisión es de 12,6mA. La transmisión se hará una
vez al día, lo que indica que tendremos un consumo aproximado a 0.5mA. Para el
prototipo se consideró una batería de 4000mAh, lo cual permite un tiempo de
consumo igual a:

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.

Figura 77. Pines utilizados en el PSoC 4.

 Puerto P2.0: En el software del PSoC 4 posee el nombre de “intro” se


encarga de recibir las señales provenientes del caudalímetro.
 Puerto P2.1: En el software del PSoC 4 posee el nombre de “Salida” se
encarga de enviar las señales de activación de la alimentación del
caudalímetro.
 Puerto P0.5: Configurado como el puerto de transmisión de datos (TX) de
la comunicación serial PSoC-Zigbee.
 Puerto P0.4: Configurado como el puerto de recepción de datos (RX) de
la comunicación serial PSoC-Zigbee.
 Puerto P0.3: En el software del PSoC 4 posee el nombre de “Zigbee” se
encarga de enviar las señales de activación del estado “dormido” y
“despierto” del dispositivo Zigbee.
 Puerto VDD: Es la alimentación positiva del PSoC 4.
 Puerto VSS: tierra o masa del PSoC 4.

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.

6.4.1 Configuración del Xbee


El Xbee S2C se configuró por medio de un módulo de configuración
especial (Xbee Explorer USB) y del software XCTU. A continuación se detalla la
configuración hecha en el Xbee:

6.4.1.1 Xbee Explorer


El Xbee Explorer se conecta a una PC por medio de un cable USB, se
deben instalar en la PC todos los drivers referentes a la conexión USB del Xbee
Explorer.

Fotografía 2. Xbee Explorer.

115
6.4.1.2 Instalación del XCTU
Paso 1

Se lee la interfaz de instalación, esta es la presentación del instalador de


XCTU, se hace click en “next”.

Figura 78. Inicio de instalación del XCTU.

Paso 2

Se lee el texto perteneciente a los “Términos de licencia”, se aceptan los


términos y se prosigue con la instalación haciendo click en “Next”.

116
Figura 79.Términos de Licencia.

Paso 3

Se leen algunos requisitos relacionadas al Path y al Windows que se


posee, si se cumplen con todos los requisitos se continúa con la instalación
haciendo click en “Next”.

Figura 80. Requisitos de instalación en Windows 7,8 ó 10.


117
Paso 4

Se menciona la ubicación que tendrá el software XCTU dentro de la PC,


viendo esto se continúa con la instalación haciendo click en “Next”.

Figura 81. Dirección del Software XCTU dentro de la PC.

Paso 5

El “setup” de instalación está listo para comenzar el proceso de


instalación. Se hace click en “next”.

118
Figura 82. Mensaje que indica que se está listo para comenzar la instalación.

Paso 6

Se observa el proceso de instalación, al finalizar el proceso de


instalación se hace click en “Next”.

Figura 83. Proceso de instalación del XCTU.

119
Paso 7

Mensaje de finalización del proceso de instalación, se presentan dos


opciones, una opción para ver algunas notas referentes al XCTU y otra opción
para abrir automáticamente el software. Se presiona “finish” para terminar la
instalación.

Figura 84. Mensaje de finalización del proceso de instalación.

6.4.1.3 Configuración End Device/Coordinador del Xbee en el XCTU


a) Para comenzar a realizar la configuración del dispositivo Xbee, se abre el
software XCTU y se selecciona “Discover Radio”.

120
Figura 85. Interfaz inicial del software XCTU.

b) Se debe seleccionar el puerto COM que la PC asignó al dispositivo Xbee.

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.

Figura 87. Selección de parámetros para la búsqueda de un módulo de radio.

d) Se selecciona el dispositivo Xbee encontrado y se hace click en “Add selected


devices”.

122
Figura 88. Mensaje de localización del dispositivo Xbee.

e) Para comenzar la configuración del Xbee se debe arrastrar el bloque en


recuadro rojo al espacio vacío de la izquierda.

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:

1) Se modificó el parámetro “ZS Zigbee Stack Profile” para configurar los


perfiles de protocolo zigbee de DIGI (Fabricante de xbee). El parámetro
“Coordinator Enable” se desactivo para que el Xbee trabaje como un “End
Device”.

124
Figura90. Parámetros de configuración del Xbee.

2) En los parámetros de “Destination Address High” y “Destination Address


Low” se colocaron las dos direcciones que posee el zigbee “coordinador”.

Figura 91. 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.

Figura 92. Parámetros de configuración del Xbee.

4) En el parámetro “DIO8/Sleep_Rq/DTR Configuration” se escogió la opción


“Disabled[0]” y más abajo en el parámetro “Pull-up Resistor Enable” se
colocó “0 (cero)” para desactivar el consumo de energía causado por el
“Pull-up” interno del xbee.

126
Figura 93. Parámetros de configuración del Xbee.

El Xbee del Gateway debe ser configurado como “Coordinador”, para


ello se modificaron los siguientes parámetros:

El parámetro “Coordinator Enable” se activó.

Figura 94. Parámetros de configuración del Xbee.

127
6.4.1.4 Conexiones Físicas en el Xbee

Figura 95. Conexiones externas del Xbee.

 Pin 1: Es la alimentación positiva de 3,3VCC del Xbee.


 Pin 2: La transmisión de datos se hace por este pin.
 Pin 3: La recepción de datos se realiza por medio de este pin.
 Pin 5: Se utiliza para reiniciar al dispositivo Xbee.
 Pin 9: Este pin se utiliza para activar o desactivar el modo de bajo
consumo del Xbee, la activación se realiza por medio de un “0” (cero)
lógico y desactivación por medio de un “1” (uno) lógico.
 Pin 10: Tierra o masa del Xbee.

6.5 Esquema general del Hardware del Medidor de Consumo de Agua


En la figura de abajo se muestra el conexionado general del Medidor de
Consumo de Agua:

128
Figura 96. Esquema general del conexionado hardware del Medidor.

129
6.5.1 Placa de Circuito impreso del medidor

Figura 97. Placa de Circuito impreso del medidor.

130
6.5.2 Prototipo Montado

Fotografía 3. Prototipo montado del nodo-medidor.

Fotografía 4. Prototipo montado con tapa.

131
Fotografía 5. Parte inferior de la carcasa del prototipo.

Medidor-Nodo
Inalámbrico

Caudalímetro Medidor Convencional

Fotografía 6. Prototipo montado en caja de Medidor convencional.

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.

Fotografía 7.Método de calibración utilizado.

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

Figura 98. Esquema Raspberry PI – Xbee.

La visualización del Raspberry PI en la computadora se logra conectando


un cable UTP con conectores RJ45 entre el puerto de la computadora y el puerto
del Raspberry PI. Además de esto, se utilizó el software “Putty” de acceso
remoto que soporta protocolos SSH, Telnet, serial, entre otros.

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:

Figura 99. Interfaz Web del Fabricante del Raspberry Pi.

En ella se observan dos versiones de Raspbian, una es “Raspbian Jessie


Lite” y la otra es “Raspbian Jessie With Desktop”. En esta ocasión se utilizó la
versión Jessie Lite debido a que esta ocupa menos espacio y consume menos
recursos. A continuación detallaremos los pasos de instalación del Raspbian:

136
Figura 100. Ícono Web del sistema operativo Raspbian Jessie Lite.

1) Se selecciona “Raspbian Jessie Lite” y se realiza un click en “Download ZIP”.

Figura 101. Proceso de descarga de “Raspbian Jessie Lite”.

2) El archivo se encuentra en formato “Winrar”, se debe realizar click en “OK”


para guardar el archivo.

137
Figura 102. Proceso de descarga de “Raspbian Jessie Lite”.

3) Una vez que se tenga totalmente descargado el software se extrae del


formato “Winrar”.

Figura 103. Proceso de descarga de “Raspbian Jessie Lite”.

4) Una vez descomprimido el archivo se obtiene la imagen ISO del “Raspbian


Jessie lite”. Se procede a cargar la imagen ISO en una memoria MICRO SD,
Utilizando el programa “Win32 Disk Imager” para montar en la memoria, en el
disco G se encuentra la memoria en nuestro caso.

138
Figura 104. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI.

5) Se selecciona la imagen ISO que deseamos montar.

Figura 105. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI.

6) Finalmente se realiza click en “write”.

139
Figura 106. Proceso de instalación de “Raspbian Jessie Lite” en el Raspberry PI.

7) Se extrae la memoria de la computadora y se introducirá en el Raspberry PI.

6.6.1.2 Configuración Inicial Raspbian en Raspberry


Una vez que se tenga la memoria en el Raspberry se procede a conectar
el cable de alimentación y un cable HDMI por un monitor para visualización del
sistema operativo.

En el arranque del sistema operativo se visualizará la siguiente imagen


donde se comprueba todos los componentes del Hardware (Figura 107).

140
Figura 107. Ventana de arranque del Raspberry PI.

Luego se observa la Figura 108, en donde se encuentran las


herramientas de configuración del software. En caso de que estemos en la línea
de comandos, se puede ingresar a este menú con el comando sudo “raspi-
config”.

Figura 108. Interfaz del setup de herramientas del Raspberry PI.

La opción “Expand_Filesystem” permite expandir el sistema operativo


para que utilice todo el espacio disponible de la tarjeta. Como la imagen que se
utiliza en la instalación de Raspbian es de aproximadamente de 2GB, se utiliza
una SD/microSD de mayor tamaño, el resto del espacio se queda sin utilizar. Esta
operación puede tardar unos minutos en completarse y una vez finalizado se

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).

Figura 109. Finalización del proceso de expansión del sistema operativo.

Si se desea cambiar la contraseña se debe de hacer click en la opción


dos, “Change User Password” (Figura 110), que permite cambiar la contraseña
del usuario en el Raspberry PI que por defecto es “Raspberry”.

En este proyecto se utiliza el usuario “pi” y la contraseña “12345”.

142
Figura 110. Solicitud para modificar la contraseña seleccionada.

En la parte inferior de la pantalla aparece la opción para cambiar


nuestra contraseña.

Finalmente se observa en la Figura 111, el mensaje que informa que el


“password” fue cambiado exitosamente.

Figura 111. Finalización del proceso de modificación de la contraseña.

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”.

Se puede ingresar directamente al modo grafico desde la línea de


comandos con el comando “starx”.

Figura 112. Menú de selección de arranque.

Con la opción “Internationalisation Options” del menú de configuración


(Figura 113) se permite modificar el lenguaje del sistema operativo, la zona
horaria y la distribución del teclado. Aparece la siguiente pantalla con tres sub-
opciones:

144
Figura 113. Interfaz de las opciones “Internationalisation”.

El dispositivo está configurado para detectar la fecha y hora


automáticamente desde Internet cuando se enciende, pero la primera vez que
arranca, se tiene que indicar la zona horaria en la que se encuentra el Raspberry
PI. En nuestro caso se elige América y después Paraguay.

Se selecciona la opción tres “Change Keyboard Layout” (Figura 113) en


donde nos permite cambiar la configuración del teclado. Es recomendable
seleccionar el teclado predeterminado “PC genérico 105 teclas (intl)”. Luego se
selecciona el idioma del teclado, que en este caso será español. Si se posee un
teclado en inglés se selecciona la opción de teclado en inglés.

Se vuelve al menú de configuración y se realiza click en “FINISH” para


finalizar la configuración.

Se visualiza una ventana para reiniciar el equipo y se realiza click en


“YES” para finalizar las modificaciones.

145
Figura 114. Interfaz con el mensaje de reinicio del equipo.

Una vez reiniciado se observara el escritorio del Raspbian. Desde el


modo de comandos se ingresa para realizar algunas configuraciones.

Raspbian se actualiza para dar soporte a nuevos drivers, arreglo de bugs,


etc. Para mantener actualizada nuestra Raspberry Pi, se ingresa los siguientes
comandos en la terminal. Para ello, se debe estar conectado a internet.

Lo primero que se debe hacer es actualizar los repositorios:

 sudo apt-getupdate: Se actualiza todos los programas.


 sudo apt-getupgrade: Si el software es una versión muy antigua, se deberá
actualizar el “kernel” ya que trae mejoras como gestión de energía y soporte
actualizado para los puertos GPIO entre otras cosas. Para actualizar el “kernel” se
ejecuta el siguiente comando;
 sudo rpi-upgrade: Ahora toca instalar la librería. Por si no tenemos el
paquete “python-dev”, introducimos el siguiente comando;
 sudo apt-getinstall python-dev: Cuando acabe la instalación del paquete
anterior, procedemos a instalar la librería;

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.

6.6.1.3 Configuración de Internet

Configuracion de IP ethernet y wireless se realiza ingresando en


“etc/network/interfaces”.Se configura de acuerdo al router que poseemos.

Figura 115. Interfaz de configuración de internet del Raspberry PI.

En caso de que desee conectarse a las Raspberry desde un entorno


remoto como es en este caso desde un sistema operativo Windows, utilizaremos
el software Putty.

6.6.1.4 Instalación del Software Putty


1) Una vez descargado el software Putty se procede a la instalación
realizando doble click en el programa.

147
Figura 116. Proceso de instalación del software Putty.

2) Se visualiza la imagen siguiente y la instalación continua realizando click


en “Next”.

Figura 117. 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.

Figura 118. Proceso de instalación del software Putty.

4) Se visualiza la siguiente ventana, se realiza un click en “Install” y se


procede a continuar la instalación.

Figura 119. Proceso de instalación del software Putty.

149
5) La siguiente ventana se desplaza y continúa la instalación.

Figura 120. Proceso de instalación del software Putty.

6) Realizando click en “Finish” en la ventana de la imagen se finaliza la


instalación, el acceso directo al programa aparecerá en el escritorio de
Windows con el nombre de Putty.

Figura 121. Proceso de instalación del software Putty.


150
7) Con el nombre de “Putty Configuration” se visualiza la interfaz del
software Putty, una vez que realizamos doble click.

Figura 122. Interfaz gráfica del software Putty.

6.6.1.5 Programa Lectura de Datos


Una vez que se esté en la línea de comandos se escribe “sudo nano
s2.py”yaparece una página completamente negra en donde se escribe el
programa.

Sudo nano s2.py (nano “nombre de archivo” se utiliza para editar un


determinado archivo, sudo nano “nombre de archivo” cuando necesitamos
permisos del administrador. En este caso el archivo se llama s2.py y la sentencia
en la línea de comandos queda como sudo nano s2.py, “py” se escribe luego del
nombre del archivo debido a que el mismo será un archivo python).

151
A continuación se ve el diagrama de flujo del programa de lectura:

Inicio del Programa

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

Se realiza proceso de separación de


datos de identificacion,medicion y
checksum. También se convierte la
cantidad de pulsos en litros

NO
Coincide el
Checksum?

SI

Se almacena en una base de


datos los datos de
identiicacion,medicion y se le
agrega fecha

Figura 123. Diagrama de Flujo del programa de lectura.

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.

3 importserial#se importa la librería serial para realizar la comunicación serial.

4 importMySQLdb #Librería de MySQLdb.

5 importtime#El módulo time de la biblioteca estándar de Python proporciona un


6 #conjunto de funciones para trabajar con fechas y/o horas.

7 GPIO.setwarnings(False) #Cuando se está trabajando con el módulo GPIO del


8 #Raspberry Pi, por un error en el programa,el canal queda en ejecución al no ser
9 #cerrado adecuadamente. Estogenera el error: This cannel is already in use,
10 #continuing anyway. Se utiliza GPIO.setwarnings(False) para deshabilitar la
11 #alarma.

12 GPIO.setmode(GPIO.BCM) #Se establece el sistema de numeración BCM, que es


13 #el usa el número de pin GPIO correspondiente, no como en el sistema BOARD
14 #que la numeración se basa en el orden de los pins de arriba debajo de la placa.

15 GPIO.setup(17, GPIO.OUT) #Se establece el pin GPIO 17 como salida, está


16 #conectada con el pin reset del Zigbee.

17 GPIO.output(17, False) #Se envíaun 0 al pin de RESET del Zigbee.

18 time.sleep(2) #Tiempo de espera de 2 segundos.

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”.

25 db=MySQLdb.connect("localhost","root","12345","basededatos") #El programa


26 #Python se conecta a una específica base de datos de MySQL llamada

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”.

29 cursor=db.cursor()#Usando el objeto de conexión que acabamos de crear,


30 #estamos creando un Nuevo cursor para recuperar y manipular la consulta. El
31 #objeto cursor se almacena en la variable “cursor”.

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.

35 ifP.inWaiting()>0: #Se espera una condición mayor a 0 en la lectura del Puerto


36 #Serial que es almacenado en la variable “P”.

37 lectura=P.readline()#La lectura del Puerto serial se almacena en la variable


38 #“Lectura”.

39 print lectura #Se visualiza la lectura.

40 tupla=lectura.partition("r") #La tupla está compuesta de variables separadas


41 #como si fuesen una sola. Se establece que la letra “r” será el separador de la
42 #cadena, en este caso solo se utilizara la primera “r”. Debido a que existe más de
43 #una “r” en la cadena.

44 id,separador,caudal=tupla#La cadena que se encuentre antes de la letra “r” en la


45 #variable tupla se guardara en la variable id, y la que se encuentre después se
46 #guardara en la variable “caudal”.

47 tupla2=caudal.partition("r") # Se realizara una partición en la cadena caudal, la


48 #letra “r” se utilizara para dividir la cadena en 2 partes.

49 caudal2,separador,checksum=tupla2 #La cadena que se encuentre antes de la


50 #letra “r” en la variable llamada tupla2 se guardara en la variable caudal2, y la
51 #que se encuentre después se guardara en la variable “checksum”.
52 Checksum#proporciona la suma de los dígitos del valor del pulso.

155
53 y = int(id) #Se convierte el valor de la variable cadena “id” a una variable entera
54 #en y

55 x = int(caudal2) # Se convierte el valor de la variable cadena “caudal2” a una


56 #variable entera en x. Este valor es el de la cantidad de pulsos enviados por el
57 #caudalímetro

58 flo_y=float(consumo)#Se convierte el valor de la variable “int” a “float” para


59 qué#se puedan incluir los decimales

60 consu_flo=flo_y/450 #Se realiza el proceso de conversión de los pulsos a litros.

61 printconsu_flo #Se imprime consu_flo.

62 z=int(checksum) #Se convierte el valor de la variable cadena “chescksum” a una


63 #variable #entera en z.

64 numero=x #Se guarda el valor de “x” en la variable “numérico”. Numero de


65 #pulsos.

66 str_numero=str(numero) #Se convierte la variable “numero” en string ya que un


67 número “Int” #no es iterable.

68 suma=0 # Valor inicial de suma=0.

69 for cifra in str_numero: #La variable “cifra”utiliza cada digito de la variable


70 #str_numero.

71 suma+=int(cifra) #la variable “suma”, suma cada digito que le proporciona


72 #“cifra”.

73 if suma<>z: #Si la variable “suma” es distinta al valor de “z”.

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.

76 else: #Si no se realiza la función anterior entonces ingresa a la siguiente línea.

77

156
78 P.write(“OK”)#Se envía mensaje de OK.

79 sql="INSERT INTO tabla5(fecha,id,caudal) VALUES(%d,now(),%d)" %(y,x)#Se


80 #almacena en la tabla5 de la basededatoslafecha,id,caudal.

81 cursor.execute(sql) #Ejecuta una operación de base de datos a través del cursor.


82 #Se guarda una #línea de datos.

83 time.sleep(2)

84 P.write(“o”)#Se envía mensaje de OK.

85 db.commit()#Confirma la transacción. Se guardan los cambios.

86 P.close()#Finalización del programa.

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:

sudo apt-get install python-mysqldb.

Necesitamos instalar el servidor MySQL y los enlaces de python para


MySQL con el siguiente comando:

sudo apt-get install mysql-server python-mysqldb

mysql –u root –p// Ingresamos a mysql

Enter password:12345//ingresamos la contraseña

Figura 125. Interfaz de configuración de la base de datos.

mysql> CREATE DATABASE basededatos//Creamos una base de datos


llamada:basededatos

mysql> use basededatos//Definimos la utilización de basededatos

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

Sudo nano /usr/lib/cgi-bin/gateway.py(ingresamos a gateway.py)

Figura 127. Algoritmo de la página web creada.


160
Figura 128. Algoritmo de la página web creada.

161
Figura 129. Algoritmo de la página web creada.

162
1 importMySQLdb#importamoslibreria de MySQLdb.

2 importsys#Este módulo proporciona acceso a algunas variables utilizadas o


3 #mantenidas por el intérprete.
4

5 Importcgi#Este módulo define una serie de utilidades para utilizarlas mediante


6 #scripts CGI escritos en Python.
7 Importcgitb#Es una herramienta de depuración en la biblioteca estándar.
8 #Originalmente fue diseñado para mostrar errores y depurar información en
9 #aplicaciones web y posteriormente se actualizó para incluir la salida de texto sin
10 #formato.

11 cgitb.enable()#Habilitamos cgitb.

12 db=MySQLdb.connect("localhost","root","12345","basededatos") #El programa


13 #Python se conecta a una base de datos especifica de MySQL llamada
14 #“basededatos”, con el usuario “root” y contraseña “12345”. Se devuelve un
15 #objeto de conexión, que se almacena en la variable “db”.

16 cursor=db.cursor()#Se define un cursor. Un cursor es una estructura de datos


17 #que recorre todos los datos presentes en la base de datos. Eventualmente se lo
18 #utiliza para localizar datos para su posterior procesamiento. En nuestro caso
19 operará dentro #del objeto de conexión queposee “db”.

20 cursor.execute("SELECT * FROM tabla5") #Ejecuta una operación de base de


21 #datos a través del cursor. Se selecciona una línea de datos desde la tabla5.

22 print "Content-type: text/html\n\n" #Se define que el tipo de contenido será de


23 #html(lenguaje de mercado para hipertextos) debido a que es uno de los
24 #formatos que el navegador puede mostrar

25 chart_tableA=""# se creara una tabla con caracteres, inicialmente no posee nada

26 chart_tableB=""# se creara una tabla con caracteres, inicialmente no posee nada

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.

30 for row in rows[:-1]:

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

40 for row in rows[:-1]:

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

66 print "<html>" #Lenguaje de Marcado para hipertextos,es el elemento básico de


67 #construcción de una página web.

68 print "<head>" #imprimir el encabezado.

69 print " <title>"#Apertura para escribir el título.

70 print "consumo de agua"#Se escribe el título.

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.

81 <script type="text/javascript" src="https://www.google.com/jsapi"></script>

82 <script type="text/javascript">

83 google.load("visualization","1",{packages:["corechart"]}); #Se carga la


84 #visualización de la API y el paquete de barras.

85 google.setOnLoadCallback(drawChart); #Cuando la API de Visualización de


86 #Google está cargada llama a la función drawChart.

87 google.setOnLoadCallback(drawChart1);#Cuando la API de Visualización de


88 #Google está cargada llama a la función drawChart1.

89 functiondrawChart(){#Llama a la función que crea y rellena la tabla, extrae los


90 #datos y los dibuja.

91 #Se crea la Tabla de datos.

92 var data=google.visualization.arrayToDataTable([

93 ['Fecha','Caudal'], #tendrá 2 variables Fecha y caudal.

94 %s

95 ]);

166
96 varoptions = { #se definen las variables.

97 title:'Consumo mensual', #Titulo:Consumo mensual.

98 hAxis: {title: 'fecha' ,titleTextStyle:{color: 'red'}}, #se crea el título


99 fecha de #color rojo,se utilizará el eje horizontal.

100 vAxis: {title: 'Cantidad de litros',titleTextStyle: {color:'blue'}} #se


101 crea el #título Cantidad #de litros de color azul,se utilizara el eje vertical.

102 };

103 #Dibujando el gráfico

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 }

111 functiondrawChart1(){#Crea el grafico de barras, extrae los datos y los dibuja.

112 #Se crea la tabla de datos.

113 var data=google.visualization.arrayToDataTable([

114 ['Fecha','Caudal'], #tendrá 2 variables Fecha y caudal

115 %s

116 ]);

117 varoptions = { #se definen las variables

118 title:'Consumo por dia', #título: Consumo por día.

167
119 hAxis: {title: 'fecha' ,titleTextStyle:{color: 'red'}}, #se crea el título fecha de
120 #color rojo,se utilizará el eje horizontal.

121 vAxis: {title: 'Cantidad de litros',titleTextStyle: {color:'blue'}}#se crea el


122 #título. Cantidad de litros de color azul, se utilizara el eje vertical.

123 };

124 #Dibujando el gráfico

125 #Primero hay que crear una instancia de la clase del gráfico correspondiente,
126 #especificando la capa en la que vamos a incluirlo.

127 var chart = new


128 google.visualization.ColumnChart(document.getElementById('chart1_div')

129 #Luego lo dibujamos, será un gráfico de columnas.

130 chart.draw(data,options);

131 }

132 }

133 </script>"""#finalizamos el string de chart_code.

134 printchart_code % (chart_table,chart_table) #Se imprime el chart_code.

135 print "</head>"#Se empieza a crear la cabeza de la página web.

136 print "<body>" #Se empieza a crear el cuerpo de la página.

137 print '<table align="center" border=1 frame="box" rules="all" width="0"


138 cellspacing=10 cellpadding=10>'#Gráfica de la table de título.

139 print "<tr><td>"

140 print '<imgsrc="http://www.pol.una.py/archivos/recursos/logo150px.jpg"


141 width="100" height="100" alt="" ></td>' #URL de la imagen de la Facultad
142 #Politécnica de la UNA.

168
143 print '<td><h1><FONT FACE="impact" COLOR="blue"> CONSUMO DE
144 AGUA</FONT></h1></td>' #Título de la página Web.

145 print "<td>"

146 print '<imgsrc="http://www.pol.una.py/archivos/recursos/logo150px.jpg"


147 width="100" height="100" alt="" ></td>' #URL de la imagen de la Facultad
148 #Politécnica de la UNA.

149 print "</tr></table>"

150 print '<TABLE BORDER="2">'

151 print '<TR>'

152 print '<TH>Nombre de Usuario</TH>'

153 print '<TD> Juan Ayala </TD>'

154 print '</TR>'

155 print '<TR>'

156 print '<TH>CuentaCatastral</TH>'

157 print '<TD> 26.0026.07.000.9 </TD>'

158 print '</TR>'

159 print '<TR>'

160 print '<TH>Nro. deMedidor</TH>'

161 print '<TD>' ,id, ' </TD>'

162 print '</TR>'

163 print '</TABLE>'

164 print '<TABLE BORDER="2">'

165 print '<TR>'


169
166 print '<TH COLSPAN=6>Detalles de Consumo</TH>'

167 print '</TR>'

168 print '<TR>'

169 print '<TH>Inicio</TH><TH>Cierre</TH><TH> Dias </TH>'

170 print '<TH>Lecturainicial</TH><TH>Lectura final


171 </TH><TH>Consumoenlitros</TH>'

172 print '<TR>'

173 print '<TD>',fecha_anterior, '</TD>' '<TD>',fecha_actual,'</TD>'


174 '<TD>',diasfacturados,'</TD>' '<TD>',Medicion_anterior, '</TD>'

175 print '<TD>',Medicion_actual,' </TD>' '<TD>' ,consumomes, ' </TD>'

176 print '</TABLE>'

177 print "<hr>" # Se emplea para dibujar una línea horizontal. Posee los atributos.

178 print '<div id="chart_div" style="width:900px; height:500px;"></div>'#Se define


179 #las dimensiones de chart_div.

180 print '<div id="chart1_div" style="width:900px; height:500px;"></div>'

181 #Se define las dimensiones de chart1_div

182 print "</body>" #Se cierra el cuerpo de la página web.

183 print "</html>" #Se finaliza la creación de la página web.

184 db.close #Se cancela la conexión a la base de datos.

185 sys.stdout.flush()#Flush en un objeto de archivo expulsa todos los


186 #almacenados.

170
6.6.1.8 Vista de la página Web

Figura 130. Vista de la tabla de identificación y detalles de consumo.

Figura 131.Vista de la gráfica de consumo mensual.

171
Figura 132.Vista de la gráfica de consumo diario.

6.6.2 Prototipo del Gateway

Fotografía 8. Vista superior del prototipo de Gateway.

172
Fotografía 9. Vista inferior de prototipo de Gateway.

Fotografía 10. Vista en perspectiva del Gateway.

173
V. CONCLUSIÓN

Se desarrolló un sistema automatizado que facilita la gestión y el


monitoreo de caudalímetros. Además se creó una base de datos en donde se
puede acceder a la visualización de las mediciones diarias de los caudalímetros
para su procesamiento y utilización en la página web. Con esto se logra el acceso
a la información más reciente y se mantiene una vigilancia constante al sistema

Se utilizaron en la programación del PSOC la función “Deep Sleep”, la


función de WDT como medio para el control de la alimentación del caudalímetro
y la configuración de una salida digital para la habilitación e inhabilitación del pin
de “sleep” del Zigbee logrando reducir considerablemente el consumo de
energía del sistema

Se propone una solución escalable para el establecimiento de una red


de caudalímetros, de tal modo a disponer de datos precisos en forma
centralizada, automática diariamente.

174
VI. RECOMENDACIONES

Con la finalidad de brindar al prototipo diseñado de los arreglos que permitan


su mejor desarrollo y crecimiento para trabajos futuros, se presentan las siguientes
recomendaciones.

 Instalar un generador de turbina de ½ pulgadas en serie al caudalímetro, de


esta manera ayudará a cargar la batería del medidor continuamente y que esta
no se agote.
 Utilizar la función conversor ADC del PSoC para realizar mediciones de nivel de
carga de la batería y transmitir las mismas al Gateway para su procesamiento.
 Actualizar la página web desarrollada, con las siguientes funcionalidades:
o Notificar a la central de cómputos en caso de que no se reciba consumo
alguno en el mes.
o Introducir indicador de nivel de carga de la batería del nodo.

175
VII. BIBLIOGRAFÍA

a. Fuentes Impresas

Computacion Aplicada 2015. iadis y Mario Dantas, Cristiano Costas. 2015. 2015, págs.
1-9.

Creus, Antonio. 2010.Instrumentacion Industrial 8va Edicion. Mexico : Alfaomega


Grupo Editor, 2010.

Cypress. 2016.PSoC Creator User Guide. s.l. : Cypress Semiconductor Corporation,


2016.

Farahani, Shahin. 2008.ZIGBEE WIRELESS NETWORKS AND TRANSCEIVERS. USA :


Elseiver Ltd, 2008.

Granero, Enrique Palacios-Fernando. 2004.MicrocontroladorPIC16F84. Mexico DF :


Alfaomega Grupo Editor, 2004.

Hernandez, Juan Vicente Capella. 2010.Redes inalambricas de sensores. Valencia:


Universidad Politecnica de Valencia : Universitat Politecnica de Valencia, 2010.

Marcelo, Luques. 2009."Redes Wireless-Tecnologia MIMO-Analisis y performance del


Estandar de Comunicaciones Inalambricas 802.11n". La Plata, Universidad Nacional de
La Plata : Facultad de Informatica-Universidad Nacional de La Plata, 2009.

MICROCHIP. 2001.PIC16F84A Data Sheet. USA : s.n., 2001.

RaspberryPiFoundation. 2012.Datasheet Raspberry PI. s.l. : Raspberry Pi, 2012.

2014.Redes inalambricas en los paises en desarrollo 4ta Edicion. s.l. : Licencia Creative
Commons Attribution-ShareAlike 3.0, 2014.

Roberto Fernandez, Joaquin Ordieres. 2009.Redes inalambricas de sensores.


España:Universidad la Roja : Universidad de la Rioja. Servicio de Publicaciones, 2009.

Sears Zemansky, Young Freedmon. Efecto Hall. FISICA UNIVERSITARIA 11 edicion. s.l. :
PEARSON Educacion.

Semiconductor, Cypress. 2016.PSoC 4 Architecture TRM. California-USA : Cypress


Semiconductor, 2016.
176
—. 2016.PSOC 4100/4200 Family. 2016.

—.PSoC Prototyping kit GUide. California-USA : Cypress Semiconductor.

Vergara, C. Sergio Alberto Gonzalez. 2008.TECNOLOGIA BLUETOOTH. Mexico DF,


Instituto Politecnico Nacional : Instituto Politecnico Nacional, 2008.

b. Fuentes en Línea

Agustin, Dario. es.slideshare.net/IvDarGus/tipos-de-cables-ivan-dariogustin.


es.slideshare.net/IvDarGus/tipos-de-cables-ivan-dariogustin. [En línea] [Citado el: 05
de 04 de 2017.] https://es.slideshare.net/IvDarGus/tipos-de-cables-ivan-dariogustin..

arm. www.arm.com. www.arm.com. [En línea] [Citado el: 05 de 04 de 2017.]


https://www.arm.com/products/processors.

Autoavance.com. 2012. www.autoavance.com. www.autoavance.com. [En línea] 06


de 07 de 2012. [Citado el: 09 de 05 de 2017.] https://www.autoavance.co/blog-
tecnico-automotriz/91-encendido-transistorizado-con-generador-de-impulsos.

—. www.cypress.com. www.cypress.com. [En línea] [Citado el: 04 de 05 de 2017.]


http://www.cypress.com/documentation/development-kitsboards/psoc-4-cy8ckit-
049-4xxx-prototyping-kits.

—. www.cypress.com. www.cypress.com. [En línea] [Citado el: 14 de 04 de 2014.]


http://www.cypress.com/products/psoc-creator-integrated-design-environment-ide.

developers.kano.me. developers.kano.me. [En línea] [Citado el: 06 de 04 de 2017.]


http://developers.kano.me/2016/08/03/kano-os-beta-v340-released/..

Envitech, Condorchem. http://blog.condorchem.com/historia-sobre-el-tratamiento-


del-agua-potable/. http://blog.condorchem.com/historia-sobre-el-tratamiento-del-
agua-potable/. [En línea] [Citado el: 07 de 05 de 2017.]

Foundation, Raspberry Pi. www.raspberrypi.org. www.raspberrypi.org. [En línea]


[Citado el: 24 de 04 de 2017.] https://www.raspberrypi.org/documentation.

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.

raspberrypi.org. www.raspberrypi.org. www.raspberrypi.org. [En línea] [Citado el: 24


de 04 de 2017.] https://www.raspberrypi.org/documentation.

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/.

Santana, Carolina. https://www.emaze.com. https://www.emaze.com. [En línea]


[Citado el: 05 de 04 de 2017.] https://www.emaze.com/@AFTWWZQO/PUERTOS-DE..

silva, joan. //sites.google.com/site/joansilvasilva15/puerto-de-audio.


//sites.google.com/site/joansilvasilva15/puerto-de-audio. [En línea] [Citado el: 05 de
04 de 2017.] : https://sites.google.com/site/joansilvasilva15/puerto-de-audio..

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..

tarjetasd.com. tarjetasd.com. [En línea] [Citado el: 05 de 04 de 2017.]


http://tarjetasd.com/.

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/..

www.htpcbeginner.com. www.htpcbeginner.com. [En línea] [Citado el: 06 de 04 de


2017.] https://www.htpcbeginner.com/raspberry-pi-openelec-tweaks/..

www.htpcbeginner.com. www.htpcbeginner.com. [En línea] [Citado el: 06 de 04 de


2017.] https://www.htpcbeginner.com/raspberry-pi-openelec-tweaks/..

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..

www.linuxadictos.com. www.linuxadictos.com. [En línea] [Citado el: 06 de 04 de 2017.]


: https://www.linuxadictos.com/ranking-de-las-mejores-distribuciones-gnulinux-de-
2015.html..

www.pimusicbox.com. www.pimusicbox.com. [En línea] [Citado el: 06 de 04 de 2017.]


http://www.pimusicbox.com/..

www.simpletelly.com. www.simpletelly.com. [En línea] [Citado el: 06 de 04 de 2017.]


https://www.simpletelly.com/devices/osmc/.

www.startech.com. www.startech.com. [En línea] [Citado el: 06 de 04 de 2017.]


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..

179
ANEXO
a. Datasheet del CM1 del Raspberry PI

Figura 133.CM1 Block Diagram.56

56
Raspberry Pi .2016.Raspberry Pi Compute Module Datasheet.Pág. 7.

180
b. Datasheet del PSOC 4

Figura 134. Puente USB-Serial PSOC 4 CY8CKIT-049 4xxx.57

57
CYPRESS.2004. CY8CKIT-049-4xxx+PSoC+4+Prototyping+Kit+Guide.pdf Doc. #: 001-90711 Rev. Pág. 58.

181

Potrebbero piacerti anche