Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Proyecto SISTEMA MICROCONTROLADOR PARA EL
CONTROL DE SENSORES MEDIANTE
COMUNICACIÓN SERIE
Fecha [30/06/2016] Autor: Manuel Manfredi Rivera Tutores: Antonio Jesús Torralba Silgado / Juan Manuel González Romo
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Agradecimientos
Quiero agradecer a mi familia por el apoyo durante todos estos años, especialmente a mi
madre, siempre constante y gracias a la cual he mantenido los piés en la tierra cuando más de
una vez divagaba sin rumbo, por ello y todo lo demás, gracias.
Por otro lado también agradecer a todos mis amigos, tanto los que me han acompañado en el
camino como los que han decidido tomar otra dirección, han conseguido hacer que valore mi
etapa de estudiante que llega a su fin y que abra los ojos a lo que viene a continuación.
Gracias por todo.
Manuel.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Índice
1. Introducción ....................................................................................................... 9
1.1. Objetivo del proyecto ................................................................................. 9
1.2. Marco de trabajo ...................................................................................... 10
1.3. ¿Qué es un microcontrolador? ................................................................. 12
1.3.1. Definición........................................................................................... 12
1.3.2. Para qué se usan................................................................................ 12
1.3.3. Características del microcontrolador ................................................ 12
2. Estado del arte ................................................................................................. 16
2.1. ¿Qué es un sensor?................................................................................... 16
2.2. Microcontroladores que gestionan sensores ........................................... 17
2.3. La tendencia hacia el funcionamiento online ........................................... 18
2.4. Modo de funcionamiento de la solución ................................................. 18
3. Sensores utilizados........................................................................................... 19
3.1. AQUADOPP PROFILER (AQUAPRO 1MHZ) ................................................ 20
3.1.1. Características ................................................................................... 20
3.1.2. Montaje ............................................................................................. 21
3.1.3. Medidas proporcionadas................................................................... 23
3.1.4. Implementación software ................................................................. 26
3.2. 2-D Electromagnetic Current Meter ......................................................... 33
3.2.1. Características ................................................................................... 33
3.2.2. Montaje ............................................................................................. 34
3.2.3. Medidas proporcionadas................................................................... 35
3.2.4. Implementación software ................................................................. 37
3.3. Weatherstation compact WSC 11 4.9056.10.000 .................................... 39
3.3.1. Características ................................................................................... 39
3.3.2. Montaje ............................................................................................. 41
3.3.3. Medidas proporcionadas................................................................... 43
3.3.4. Implementación software ................................................................. 48
3.4. EXO2 Sonde............................................................................................... 53
3.4.1. Características ................................................................................... 53
3.4.2. Montaje ............................................................................................. 54
3.4.3. Medidas proporcionadas................................................................... 56
3.4.4. Implementación software ................................................................. 59
3.5. MiniOFS..................................................................................................... 67
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.5.1. Características ................................................................................... 67
3.5.2. Montaje ............................................................................................. 69
3.5.3. Medidas proporcionadas................................................................... 71
3.5.4. Implementación software ................................................................. 73
3.6. Wave and tide sensor 4648AR.................................................................. 74
3.6.1. Características ................................................................................... 74
3.6.2. Montaje ............................................................................................. 75
3.6.3. Medidas proporcionadas................................................................... 77
3.6.4. Implementación software ................................................................. 81
4. Comunicación microcontrolador-sensor ......................................................... 83
4.1. Los protocolos serie .................................................................................. 83
4.2. Convertidores usados ............................................................................... 85
4.2.1. TTL-RS232 .......................................................................................... 85
4.2.2. TTL-RS485 .......................................................................................... 87
4.2.3. TTL-RS422 .......................................................................................... 89
4.2.4. TTL-USB.............................................................................................. 91
4.2.5. RS232-DCP ......................................................................................... 92
5. Pruebas de consumo........................................................................................ 93
5.1. Consumo de la placa genérica .................................................................. 93
5.2. Consumo de los sensores por separado ................................................... 93
5.3. Cálculo de la autonomía ........................................................................... 94
6. Conclusión ........................................................................................................ 96
7. Bibliografía ....................................................................................................... 97
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Índice de figuras
Ilustración 1: Imagen de la SB.............................................................................................. 10
Ilustración 2: Imagen del TCI ............................................................................................... 11
Ilustración 3: Pinout Microcontrolador EFM32G210 ............................................................. 13
Ilustración 4: Sensor Aquadopp Profiler [8] .......................................................................... 20
Ilustración 5: Pinout Aquadop Profiler ................................................................................. 21
Ilustración 6: Pinout Aquadopp Profiler real ......................................................................... 21
Ilustración 7: Montaje PC-Aquadopp Profiler ....................................................................... 22
Ilustración 8: Diagrama de flujo de medidas Aquadopp Profiler............................................. 23
Ilustración 9: Cabeceo Alabeo Guiñada avión ....................................................................... 24
Ilustración 10: Comunicación Aquadopp Profiler docklight 1 ................................................. 29
Ilustración 11: Comunicación Aquadopp Profiler docklight 2 ................................................. 30
Ilustración 12: Programa propietario Aquadopp Profiler 1 .................................................... 31
Ilustración 13: Programa propietario Aquadopp Profiler 2 .................................................... 32
Ilustración 14: Programa propietario Aquadopp Profiler 3 .................................................... 32
Ilustración 15: Sensor 2-D Electromagnetic Current Meter [9] ............................................... 33
Ilustración 16: Pinout 2-D Electromagnetic Current Meter .................................................... 34
Ilustración 17: 2-D Electromagnetic Current Meter Placa SB con convertidor TTL-RS485 ......... 34
Ilustración 18: Diagrama de flujo de medidas 2-D Electromagnetic Current Meter ................. 35
Ilustración 19: Dimensiones WSC 11 4.9056.10.000 [10] ....................................................... 39
Ilustración 20: Sensor WSC 11 4.9056.10.000 ....................................................................... 40
Ilustración 21: Dibujo pinout WSC 11 4.9056.10.000............................................................. 41
Ilustración 22: Conexión sensor WSC 11 4.9056.10.000 en la placa SB ................................... 42
Ilustración 23: Diagrama de flujo de medidas WSC 11 4.9056.10.000 .................................... 43
Ilustración 24: Respuesta Comando KY WSC 11 4.9056.10.000 .............................................. 49
Ilustración 25: Respuesta comando AI WSC 11 4.9056.10.000 ............................................... 50
Ilustración 26: Comunicación WSC 11 4.9056.10.000 docklight ............................................. 52
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ilustración 27: Sensor EXO2 Sonde [11]................................................................................ 53
Ilustración 28: Convertidor RS232-TTL ................................................................................. 54
Ilustración 29: Convertidor RS232-DCP ................................................................................ 54
Ilustración 30: Pinout EXO2 Sonde....................................................................................... 55
Ilustración 31: Diagrama de flujo de medidas EXO2 Sonde .................................................... 56
Ilustración 32: Turbidity Sensor ........................................................................................... 57
Ilustración 33: Conductivity/Temperature Sensor ................................................................. 57
Ilustración 34: pH Sensor .................................................................................................... 57
Ilustración 35: Dissolved Oxygen Sensor .............................................................................. 58
Ilustración 36: Ammonium Sensor ....................................................................................... 58
Ilustración 37: Nitrate Sensor .............................................................................................. 59
Ilustración 38: Comunicación EXO2 Sonde docklight 1 .......................................................... 64
Ilustración 39: Comunicación EXO2 Sonde docklight 2 .......................................................... 64
Ilustración 40: Programa propietario EXO2 Sonde conexión .................................................. 65
Ilustración 41: Programa propietario EXO2 Sonde Calibración ............................................... 66
Ilustración 42: Programa propietario EXO2 Sonde Tiempo real.............................................. 66
Ilustración 43: Sensor MiniOFS ............................................................................................ 68
Ilustración 44: Pinout MiniOFS ............................................................................................ 69
Ilustración 45: Conexión sensor MiniOFS con microcontrolador ............................................ 70
Ilustración 46: Diagrama de flujo de medidas MiniOFS.......................................................... 71
Ilustración 47: Entorno de desarrollo IAR para observar datos extraídos ................................ 73
Ilustración 48: Sensor Wave and Tide 4648AR ...................................................................... 74
Ilustración 49: Pinout Wave and tide 4648AR ....................................................................... 75
Ilustración 50: Pinout Cable 4763A ...................................................................................... 75
Ilustración 51: Cable de salida del sensor Wave and tide 4648AR .......................................... 75
Ilustración 52: Convertidor TTL-RS232 ................................................................................. 76
Ilustración 53: Diagrama de flujo de medidas Wave and tide 4648AR .................................... 77
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ilustración 54: Convertidor TTL-RS232 ................................................................................. 85
Ilustración 55: Convertidor TTL-RS232 integrado en placa SB ................................................ 86
Ilustración 56: Convertidor TTL-RS485 ................................................................................. 87
Ilustración 57Convertidor TTL-RS485 integrado en placa SB .................................................. 88
Ilustración 58: Convertidor TTL-RS422 [14] .......................................................................... 89
Ilustración 59: Pinout Convertidor TTL-422 .......................................................................... 89
Ilustración 60: Convertidor TTL-USB .................................................................................... 91
Ilustración 61: Convertidor RS232-DCP ................................................................................ 92
Ilustración 62: Batería del montaje ...................................................................................... 94
Ilustración 64: Consumo calculado para los sensores ............................................................ 95
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Índice de tablas
Tabla 1: Características eléctricas Micro EFM32G210 ........................................................... 13
Tabla 2: Funciones activas en los modos energéticos Micro EFM32G210 ............................... 15
Tabla 3: Resumen de sensores implementados .................................................................... 19
Tabla 4:Características AQUADOPP PROFILER (AQUAPRO 1MHZ) .......................................... 20
Tabla 5: Modos de funcionamiento AQUADOPP PROFILER (AQUAPRO 1MHZ)........................ 27
Tabla 6: Características 2-D Electromagnetic Current Meter.................................................. 33
Tabla 7: Características Weatherstation compact WSC 11 4.9056.10.000............................... 39
Tabla 8: Comando BR WSC 11 4.9056.10.000 ....................................................................... 49
Tabla 9: Comando KY WSC 11 4.9056.10.000 ....................................................................... 49
Tabla 10: Comando AI WSC 11 4.9056.10.000 ...................................................................... 50
Tabla 11: Formato respuesta comando TR WSC 11 4.9056.10.000 ......................................... 52
Tabla 12: Características EXO2 Sonde .................................................................................. 53
Tabla 13: Codigos EXO2 ...................................................................................................... 62
Tabla 14: Comando setecho EXO2 Sonde ............................................................................. 63
Tabla 15: Características MiniOFS ........................................................................................ 67
Tabla 16: Características Wave and tide sensor 4648AR........................................................ 74
Tabla 17: Consumo sensores por separado .......................................................................... 93
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
1. Introducción
En este primer capítulo introductorio se pretende dar una visión general de los temas que se
van a desarrollar en el proyecto, dando un enfoque especial a los objetivos que se desean
obtener con la realización de este proyecto.
También se hablará del marco en el que se encuadra el proyecto y sobre el que se perfila
desde una perspectiva más ingenieril y enfocada al mundo real, por último se dará un breve
resumen general del funcionamiento de un microcontrolador (sobre el que se basa gran parte
del proyecto) y se incluirán algunas de las características particulares del microcontrolador que
se usará en este proyecto.
1.1. Objetivo del proyecto
En el presente proyecto de fin de carrera se detallan las especificaciones de sensores
comerciales, todos ellos capaces de comunicarse mediante protocolo serie (RS232, RS485,
RS422) y se desarrollan unos drivers que permitan una configuración y extracción de las medidas
de los mismos, haciendo uso para ello se del microcontrolador EFM32G210.
Así mismo, se detallarán las herramientas y el montaje necesario para la correcta comunicación
entre todas sus partes, y se explicará el envío de medidas a una plataforma para su posterior
procesado y analizado de forma centralizada.
Se persigue además que el sistema tenga un consumo lo más bajo posible, y que permita un
funcionamiento con la mayor duración posible, por lo que los componentes usados están
enfocados a minimizar el consumo todo lo posible.
Las pruebas se han realizado en el laboratorio con una serie de sensores para las pruebas, dichos
sensores serán descritos en los apartados posteriores, y permitirán comprobar la robustez de
los drivers, los montajes serán aplicados en el ámbito real y utilizados en un sub -proyecto
denominado eRIO y que pertenece a su vez a un proyecto de mayor envergadura llamado
Tecnoport 2025 [1].
Los sensores usados tienen objetivos muy distintos y se puede apreciar que su punto en común
es la comunicación serie que montan, y que sirve de enlace para poder usar unos drivers de
comunicación comunes a todos ellos.
Se estudia también la posibilidad de implementar una etapa que permita el corte de
alimentación de los sensores, reduciendo así el poco consumo que pueda haber en el modo
deep sleep de aquellos sensores que lo tengan implementado.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
1.2. Marco de trabajo
Este proyecto de fin de Carrera forma parte del sub-projecto eRIO, que a su vez forma parte del proyecto Tecnoport 2025 [1]. eRIO pretende conseguir el despliegue y puesta en funcionamiento de una serie de sensores gestionados por sus correspondientes microcontroladores que proporcionen una serie de medidas pedidas en tiempo real al nodo central. El montaje consistirá en la instalación de unas envolventes denominadas nodos sensores, y que se componen de los siguientes elementos:
SB (sensor board)
A la SB se conectan los sensores, y es la encargada de configurar y tomar las medidas de dicho sensor, así como de almacenarlas. Se conecta directamente a la LB mediante el protocolo de comunicación I2C (a partir de ahora referenciado únicamente como I2C) y transfiere las medidas realizadas a ésta. Se compone de un microcontrolador y los componentes hardware necesarios para comunicarse con los sensores(normalmente un convertidor hardware).
Ilustración 1: Imagen de la SB
Dicha SB dispone entre otras cosas de una etapa de corte de alimentación que permite apagar completamente los sensores durante el tiempo que no se vayan a usar( las medidas se tomarán cada 15 minutos), un botón de reset, pines JTAG que permitirán mediante el programador reprogramar el micro y una etapa de regulación de voltaje que la protegerá de subidas de hasta 32 voltios de tensión.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
LB (logic board) La LB es la encargada de gestionar las SB, se pueden conectar más de una SB(cada una encargada de la gestión de un sensor), es la LB la que se encarga de tomar todas las medidas proporcionadas por las SB y subirlas a una pasarela por medio del TCI
TCI (terminal de comunicaciones inalámbrico) El TCI proporciona conectividad inalámbrica a la LB, para que sea posible conectar con una pasarela, que guardará los datos en FiWare [2] (“infraestructura innovadora y abierta basada en la nube para la creación y publicación de Futuras aplicaciones y serv icio de internet”)
La LB y SB constituyen en conjunto la plataforma de adquisición de datos, que pueden trabajar de forma independiente sin necesidad de estar conectado al TCI. A continuación se muestra una foto de LB y TCI:
Ilustración 2: Imagen del TCI
Se excluyen del alcance de éste proyecto el diseño hardware de la SB, LB y TCI y las comunicaciones de las SBs con la LB y de la LB con el TCI, es decir que los datos extraídos de los sensores por la SB serán enviados a la LB de una forma transparente a este proyecto.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
1.3. ¿Qué es un microcontrolador?
1.3.1. Definición
Un microcontrolador (μC, UC o MCU) es un circuito integrado programable que es capaz
de ejecutar las órdenes grabadas en su memoria. Lo forman varios bloques funcionales, y cada cual se encarga de cumplir una tarea específica. Un microcontrolador contiene las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
1.3.2. Para qué se usan
Existe una cantidad creciente de dispositivos que utilizan un microcontrolador para reducir el
tamaño, aumentar sus prestaciones, reducir su coste, disminuir el consumo y mejorar su
fiabilidad.
Ejemplo de ello es que algunos fabricantes de microcontroladores tienen una producción
superior al millón de unidades en tan sólo una semana. Esto da una idea de la masiva utilización
de los microcontroladores.
Los microcontroladores se utilizan desde en sistemas presentes en nuestra vida diaria, como por
ejemplo juguetes, frigoríficos, microondas, ordenadores, hornos, impresoras, módems, etc.
Como en otras aplicaciones tan especializadas como instrumentación electrónica, control de
sistemas en una nave espacial, robótica, etc. El empleo más común es la utilización de varios
microcontroladores para controlar pequeñas partes del sistema que se comunicarán entre sí y
con un procesador central más potente y que gestionará la información y se encargará de
coordinarlos.
En este caso, y teniendo en cuenta que se pretende aplicar en situaciones de bajo consumo, se
utilizará el microcontrolador EFM32G210, que se detalla a continuación.
1.3.3. Características del microcontrolador
Como el microcontrolador ha sido impuesto por el proyecto, no se va a incluir ninguna
comparación entre posibles microcontroladores.
El microcontrolador EFM32G210F128 [3] [4] es un microcontrolador enfocado al bajo consumo
que monta un procesador ARM Cortex-M3 de 32 bits, dispone de 16 kB de RAM y 128 kB de
memoria flash. El pinout del EFM32G210 se muestra a continuación:
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ilustración 3: Pinout Microcontrolador EFM32G210
Características eléctricas:
PARÁMETRO MIN. TYP. MAX. UNIDAD
Top Temperatura de funcionamiento
-40
150 ºC
Vddmax Fuente de alimentación externa
0
3.8 V
Viopin Tensión de pines de entrada/salida
-0.3
Vdd+0.3 mA
Tabla 1: Características eléctricas Micro EFM32G210
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
También resulta interesante hablar acerca de los modos de energía de los que dispone el
microprocesador, los cuales constituyen una de las razones por las que este microcontrolador
tiene un consumo tan eficiente.
Existen diferentes estados de ahorro de energía, que son gestionados a través de la EMU
(Energy Management Unit). Hay cinco estados (EM0 hasta EM4), donde EM0 es el estado
donde más se consume, y EM4 el estado con el menor consumo.
Estos estados son accesibles mediante software y se puede pasar con facilidad de uno a otro.
Cada modo de ahorro dispone de distintas características:
EM0 es el modo activo, en él se habilita la CPU y todos los periféricos mientras mantiene la
RAM operativa.A medida que vamos avanzando estados (EM1, EM2, EM3 y EM4) el consumo
se reduce a la vez que se va reduciendo la funcionalidad.
A continuación se muestra una tabla con las funciones que están activas en cada modo de
ahorro de energía:
EM0 EM1 EM2 EM3 EM4
Wakeup time to EM0 - - 2µs 2 µs 160 µs
MCU clock tree On - - - -
High frequency peripheral clock tres On On - - -
Core voltage regulator On On - - -
High frequency oscillator On On - - -
I2C full functionality On On - - -
Low frequency peripheral clock trees On On On - -
Low frequency oscillator On On On - -
Real Time Counter On On On - -
LCD On On On - -
LEUART On On On - -
LETIMER On On On - -
PCNT On On On On -
ACMP On On On On -
I2C receive address recognition On On On On -
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Watchdog On On On On -
Pin interrupts On On On On -
Ram voltage regulator/RAM retention On On On On -
Brown out reset On On On On -
Power on reset On On On On On
Pin reset On On On On On
Tabla 2: Funciones activas en los modos energéticos Micro EFM32G210
El microcontrolador permite pasar desde EM0 a cualquiera de los estados (no se permite
cambio directo entre (EM1 EM2 Y EM3), así mismo la única forma de salir del estado EM4 es
con un reset.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
2. Estado del arte
En este proyecto no se pretende crear una nueva base teórica, sino hacer uso de conceptos
abiertamente aceptados sobre los que se pretende actuar para conseguir los objetivos que se
pretenden.
Se hablará en este capítulo sobre los microcontroladores y su posible uso con sensores, además
se hablará sobre por qué cada vez es más frecuente el uso de sensores intercomunicados y el
por qué
2.1. ¿Qué es un sensor?
Un sensor es un dispositivo que tiene la capacidad de transformar en variables eléctricas
magnitudes químicas o físicas, denominadas variables de instrumentación. Algunos ejemplo de
variables de instrumentación pueden ser: temperatura, distancia, intensidad lumínica,
aceleración, pH, inclinación, fuerza, desplazamiento, presión, humedad, movimiento, etc. Una
magnitud eléctrica puede ser una capacidad eléctrica (por ejemplo un sensor de humedad), una
resistencia eléctrica (por ejemplo una RTD), una corriente eléctrica (por ejemplo un
fototransistor), una tensión eléctrica (por ejemplo un termopar), etc.
Los sensores aprovechan una de sus propiedades con el fin de adaptar la señal que mide para
que la pueda interpretar otro dispositivo. Se puede poner como ejemplo el termómetro de
mercurio que hace uso de la propiedad de dilatación o contracción del mercurio por la acción
de la temperatura. Se puede decir que un sensor es un dispositivo que convierte una forma de
energía en otra.
Los sensores pueden estar conectados a un ordenador o a un microcontrolador para obtener
acceso a una base de datos, la toma de valores desde el sensor, etc.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
2.2. Microcontroladores que gestionan sensores
Unas de las principales ventajas de los microcontroladores son su precio y su tamaño, que
permiten que sea factible económica y dimensionalmente instalar un microcontrolador que se
encargue de gestionar uno o varios sensores.
Con el uso de microcontrolador y sensor se ofrecen varias posibilidades de uso que se listan a
continuación.
Funcionamiento de actuador
La primera posibilidad consiste en que el microcontrolador se encargue de pedir las
medidas al sensor y de realizar la actuación dependiendo de dichos valores.
Las medidas no se almacenan en ningún sitio, este es el sistema utilizado por los
mecanismos de control que no requieren información posterior sobre las medidas que
se han ido tomando.
Se puede poner como ejemplo el funcionamiento de una puerta automática que se abre
y cierra al detectar movimiento.
Funcionamiento de logger
Existe la posibilidad de que la única tarea del microcontrolador sea la de almacenar la
información proporcionada por el sensor y no sea necesaria la actuación directa usando
dichas medidas.
Es decir el microcontrolador se encarga de ir almacenando todas las medidas(puede
decidir cuales son útiles e ir descartando las que considere inválidas) y permitir luego su
extracción.
Funcionamiento online
La última posibilidad es que el microcontrolador no requiera actuación directa, y que
solo se dedique a tomar medidas, e ir enviándolas a una plataforma que se encargue de
su procesado, es una forma muy parecida de funcionamiento al logger, sólo que no es
necesario (aunque sí recomendable) que tenga una memoria que permita almacenar
algunas medidas en caso de que la conexión caiga durante cierto intervalo de tiempo,
para que éstas no se pierdan.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
2.3. La tendencia hacia el funcionamiento online
La sensorización cada vez se mueve más hacia este modo de funcionamiento, el por qué de esta
tendencia viene dada por la posibilidad de acceder al microcontrolador desde el nodo central,
permitiendo así realizar modificaciones en la configuración de la actuación, información sobre
las medidas en tiempo real, activación o desactivación de los sensores, etc.
No obstante, esto tiene la desventaja de que habrá que realizar una mayor inversión en
microcontrolador para hacer posible dicha comunicación, ya sea mediante cableado o mediante
comunicación inalámbrica, sea cual sea esto se traduce en mayor coste.
Se puede ver que tener acceso en cualquier momento al microcontrolador desde una
localización centralizada, para poder controlarlo o simplemente recibir las medidas que éste
está tomando, dota de un dinamismo y unas posibilidades mucho mayores de las que tendría
en caso de estar aislado, esto constituye una característica sumamente interesante y es por ello
que cada vez se tiende más a este modelo.
2.4. Modo de funcionamiento de la solución
Por supuesto un microcontrolador y un sensor pueden usar una combinación de todas ellas si
fuera necesario, por ejemplo se puede instalar un microcontrolador con un sensor de
temperatura que aumente o disminuya la velocidad de giro(hace uso de actuadores) pero que a
su vez informe a una estación central de la temperatura y velocidad de giro de éstos, en caso de
que se desee modificar dicha velocidad en relación a éstos parámetros.
La solución que se ha dado en este diseño se corresponde con funcionamiento de actuador y
online, puesto que el microcontrolador actúa sobre los sensores (corte de alimentación,
configuración) y envía las medidas que se recogen a un nodo central, que se encarga de
distribuirlas para que sean procesadas y analizadas.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3. Sensores utilizados
Todos los sensores que se estudian en este apartado tienen la opción de funcionamiento
independiente, haciendo innecesario el uso de gestión externa, no obstante esto requeriría un
continuo desplazamiento para recopilar los datos almacenados por los distintos sensores, la
solución de usar para su control y gestión microcontroladores resulta mucho más eficiente, y
debido a la generalidad de los drivers que se desarrollan se permiten gestionar las
comunicaciones de una gran variedad de sensores, que cumplen diversas funciones y son muy
distintos entre sí, siendo el único punto en común entre ellos la utilización de algún protocolo
de comunicación serie para su control.
En este apartado se pretende explicar detalladamente qué es capaz de realizar cada sensor así
como las medidas más importantes que se pueden obtener de ellos.
Como ya se ha comentado anteriormente las pruebas y el testeo se han realizado con los
sensores a continuación usando para ello los mismos drivers de comunicación, por lo que en
un futuro podrían añadirse más sensores sin demasiado esfuerzo.
A continuación se muestra una tabla donde se resumen los sensores que se detallarán en los
siguientes apartados:
Nombre del sensor Categoría del sensor
AQUADOPP PROFILER
(AQUAPRO 1MHZ)
Perfilador de corriente
2-D Electromagnetic
Current Meter
Perfilador de corriente
Weatherstation
compact WSC 11
4.9056.10.000
Estación meteorológica
EXO2 Sonde Sonda multiparamétrica
MiniOFS Sensor de visibilidad
Wave and tide sensor
4648AR
Sensor de marea y oleaje
Tabla 3: Resumen de sensores implementados
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.1. AQUADOPP PROFILER (AQUAPRO 1MHZ)
3.1.1. Características
Imagen del sensor:
Nombre AQUADOPP PROFILER (AQUAPRO
1MHZ)
Marca Nortek
Finalidad Obtener velocidades de corrientes en 3 dimensiones
Frecuencia 1 Mhz
Serie AQP-2722
Tipo comunicación RS232
Baud Rate Configurable
Alimentación 9 a 16 voltios DC
Memoria interna 9 MB
Tabla 4:Características AQUADOPP PROFILER (AQUAPRO 1MHZ)
Ilustración 4: Sensor Aquadopp Profiler [8]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.1.2. Montaje
El pinout es el siguiente:
Ilustración 5: Pinout Aquadop Profiler
Como se puede ver, los pines 1(red) y 2(black) se corresponden con V++ y GND (alimentación y
tierra) y 2(white) y 5(green) con Tx y Rx que permiten transmitir usando RS-232
El sensor se puede alimentar con una tensión que puede variar en el rango entre 9 y 16 voltios.
Ilustración 6: Pinout Aquadopp Profiler real
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Para su conexión sólo será necesario conectar los cables verde (Rx RS232) blanco (Tx RS232)
negro (GND power) y rojo(Power+).
Además para la correcta comunicación con el microcontrolador será necesari o usar un
convertidor TTL-RS232, se muestra la conexión realizada para realizar la configuración:
Usando dicha conexión podemos realizar simulaciones y utilizar el programa propietario para
comprobar su funcionamiento con el sensor.
Ilustración 7: Montaje PC-Aquadopp Profiler
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.1.3. Medidas proporcionadas
Diagrama del flujo de medidas:
Microcontrolador EFM32G210
Configura microcontrolador
¿Modo comandos?
¿Sensor configurado?
Leer datos del sensor
Esperar tiempo
configurado
Si Si
Configurar
NoNo
Espera 1 segundo
Ilustración 8: Diagrama de flujo de medidas Aquadopp Profiler
Un perfilador de corriente tiene como objetivo medir la velocidad y la direccion de la corriente
en multiples capas a traves de la columna de agua.
Para ello se hace uso del efecto doppler, que nos permite calcular la velocidad a la que se mueve
el agua midiendo los cambios en la frecuencia que se producen en el pulso que emitimos y que
será reflejado en el agua.
Explicación de las medidas proporcionadas por el sensor:
Clock:
Contiene una trama definida de fecha, que nos indica el momento en el que se realizó la medida.
Batería (Battery):
El nivel de voltaje de la batería que alimenta el sensor.
𝑢𝑑𝑠:[ V]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Velocidad del sonido(Speed of sound):
Velocidad a la que se propaga el sonido en el agua.
Para medirla utiliza la temperatura a la que se encuentra.
También depende de la salinidad del agua, pero es mucho más dependiente de la temperatura
𝑢𝑑𝑠: [m/s]
Guiñada(Heading), Cabeceo(Pitch), Alabeo(Roll):
Orientación del sensor:
Cabeceo ( ): es una inclinación del morro del sensor, o rotación respecto al eje.
Alabeo ( ): rotación respecto de un eje morro-cola.
Guiñada ( ): rotación intrínseca alrededor del eje vertical perpendicular al sensor.
Ilustración 9: Cabeceo Alabeo Guiñada avión
El morro del sensor es el que tiene la parte del cabezal gris, y la cola la opuesta
𝑢𝑑𝑠:[Grados]
Presión (pressure):
Es la presión medida por el sensor
𝑢𝑑𝑠:[dBar]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Temperatura (temperature):
La temperatura a la que se encuentra el sensor.
Precisión de 0.1 grados.
𝑢𝑑𝑠:[°C]
Tabla de Velocidades (wave height):
Nos da las velocidades de las corrientes de agua a distintas distancias en cada eje, se puede
configurar para que los datos los de con respecto a XYZ(cartesianas), ENU o Beam, aunque Beam
no suele ser práctico a no ser que se requiera para alguna tarea específica.
Con la configuración actual de 20 celdas, las distancias son:
1.4 metros, 2.4 metros, 3.4 metros……… hasta 20.4 metros
(Esos son los puntos sobre los cuales se dan las medidas realizadas, para cambiarlos basta con
ajustar el numero de celulas en el programa propietario, y actualizar la configuracion en el
sensor)
𝑢𝑑𝑠: [𝑚/𝑠]
Tabla de Amplitudes (wave height):
Es una medida de la reflexión acústica del agua, depende del tipo y función de las partículas en
el agua:
Debido a reflexiones y absorción, la señal pierde potencia a medida que la distancia aumenta,
esta potencia de la señal se mide usando una unidad adimensional llamada “Count” (o usando
la relacion señal a ruido SNR)
La tabla de amplitudes sirve principalmente para determinar el rango sobre el que el
instrumento puede medir la tabla de velocidades con precisión (cuando la intensidad de la señal
alcanza el nivel de ruido, se ha alcanzado el rango maximo y las medidas realizadas a partir de
ese punto no serán fiables).
Este punto son 25 counts.
𝑢𝑑𝑠:[𝑎𝑑𝑖𝑚𝑒𝑛𝑠𝑖𝑜𝑛𝑎𝑙]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.1.4. Implementación software
La comunicación se hará por RS232, con una velocidad de 9600 Baudios y 8N1 (8 bits de datos,
sin paridad, 1 bit de parada)
A pesar de que el sensor dispone de un extenso manual proporcionado por el vendedor, sólo se
incluirán los comandos que resultan más relevantes para el desarrollo.
Estructura genérica de los comandos:
Dos carácteres ASCII que se tratarán como una única palabra de 16 bits ( 8 bits cada uno)
Lista de comandos que se utilizan en la implementación:
Comando II:
-Descripción: Inquiry, devuelve el modo actual en el que se encuentra el sensor
-Respuesta
Posibles respuestas del sensor dependiendo del modo en que se encuentre:
Modo actual Primer byte Segundo Byte Tercer Byte Cuarto Byte
Modo
actualización
de firmware
00 00 ACK (0x06) ACK(0x06)
Modo medida 01 00 ACK(0x06) ACK(0x06)
Modo
comandos
02 00 ACK(0x06) ACK(0x06)
<ASCII1><ASCII2>
II
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Modo toma
de datos
03 00 ACK(0x06) ACK(0x06)
Modo
confirmación
04 00 ACK(0x06) ACK(0x06)
Tabla 5: Modos de funcionamiento AQUADOPP PROFILER (AQUAPRO 1MHZ)
Por tanto para estudiar el estado actual no hay más que asegurarse de que hemos recibido el
ACK correctamente y examinar el primer byte para determinar dicho modo.
Comando BREAK:
Se realiza una espera de 100 ms
-Descripción: Este comando no se corresponde con el formato genérico pues es un formato
especial que se utiliza para sacar al sensor del modo en que se encuentre(cualquiera de ellos) y
pasarlo directamente al modo comandos.
Requiere enviar el comando en dos partes, con una espera de 100ms entre ellas.
-Respuesta: El sensor devolverá una cadena indicando su versión y “Command mode” para
indicar que se ha recibido el comando correctamente, puede darse el caso en que el sensor se
encuentre realizando alguna medida, y responderá entonces con una trama preguntando por
confirmación, en cuyo caso será necesario el comando MC.
Comando MC:
-Descripción: Permite al sensor salir del modo comandos en caso de que haya una medida en
curso (para cancelarla inmediatamente, en caso de no recibirse confirmación el sensor ignora la
orden y sigue con la medida)
-Respuesta: El sensor responde con dos bytes ACK (0x06)
Esta orden solo tiene sentido si se ha enviado previamente un break y el sensor ha preguntado
por una confirmación.
@@@@@@ K1W%!Q
MC
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Comando AD:
-Descripción: Inicia una medición inmediatamente, y cuando ésta haya finalizado la envía por
puerto serie sin almacenarla en memoria, el sensor una vez finalizado el envío entra en POWER
DOWN MODE (se duerme para disminuir el consumo al mínimo).
-Respuesta: El sensor responde con dos bytes ACK (0x06)
El sensor puede tardar hasta 1 minuto desde que se recibe el ACK ACK hasta que se recibe la
tanda de medidas.
Comando GC:
-Descripción: Indica al sensor que envíe el fichero de configuración actual
-Respuesta: 512 bytes con la configuración actual del sensor.
AD
GC
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ejemplos de comunicación con el sensor:
Se dejan a continuación capturas de conversaciones reales guardadas con docklight [6]:
Ejemplo de comunicación 1:
En dicha imagen se puede ver la cadena de inicialización que el sensor envía al despertarse, y cómo responde ante un break, si se pasa cierto tiempo sin enviar comando el sensor se duerme, una vez dormido el sensor, el siguiente comando se ignora pues lo único que hace es despertar de nuevo al sensor, tal y como se aprecia en la imagen, donde el sensor responde con la trama de inicialización indicando su nombre y versión( sería por tanto necesario un reenvío de dicho comando puesto que este ha sido ignorado).
Ilustración 10: Comunicación Aquadopp Profiler docklight 1
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ejemplo de comunicación 2:
En este ejemplo se pide la configuración al sensor para que el microcontrolador pueda
comprobar que es la adecuada y en caso contrario reconfigurarlo, tras lo cual se piden medidas
al sensor y se almacenan.
Lo primero que hace el sensor al encenderse es enviar una cadena de inicialización que contiene
su nombre, marca y versión, así como el modo en el que se inicializa.
Tras ello se pide una trama de datos al sensor mediante el comando “AD”, a este comando se
tarda en responder aproximadamente un minuto, el sensor vuelve a dormirse tras el envío de
las medidas y vuelve a inicializarse cuando detecta por RS232 cualquier carácter, inicializándose
de nuevo con la cadena de inicialización que contenía nombre, marca, versión… etc.
También se muestra la respuesta al comando “GC”, que envía el fichero de configuración del
sensor (512 bytes), esto es útil por si se quiere realizar la configuración simultánea de más
sensores y se pretende usar la misma configuración en todos ellos.
Ilustración 11: Comunicación Aquadopp Profiler docklight 2
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Programa propietario
Usando la conexión con el ordenador podemos hacer uso del software propietario incluido con
el sensor, dicho programa se llama AquaPRO, a continuación se dejan algunas imágenes donde
se pueden ver algunas de las opciones de las que se puede hacer uso:Nada más conectar el
sensor y ejecutar el programa propietario, al pulsar el botón conectar y el sensor esta
correctamente conectado y alimentado, obtenedremos el siguiente mensaje:
Dicho mensaje indica que el sensor está comunicándose correctamente con el programa
propietario.
Ilustración 12: Programa propietario Aquadopp Profiler 1
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
El programa también permite una extensa configuración del comportamiento del sensor, para
adaptarlo y ajustarlo a distintos escenarios, dicha configuración se almacena en la memoria
interna del sensor, por ejemplo se puede indicar al sensor que muestre una tanda de medidas
de forma inmediata en la pestaña Sensors:
Así mismo se pueden ver en tiempo real las medidas que se van realizando de la corriente, así
como un procesado dado por el programa si se hace click en la pestaña Current
También aparecen una serie de gráficas generadas a partir de varias medidas y que permiten y
observando la evolución y el cambio de dichas medidas.
Ilustración 13: Programa propietario Aquadopp Profiler 2
Ilustración 14: Programa propietario Aquadopp Profiler 3
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.2. 2-D Electromagnetic Current Meter
3.2.1. Características
Imagen del sensor:
Nombre 2-D Electromagnetic Current Meter
Finalidad Medir velocidad de corrientes en dos dimensiones
Modelo AEM-CAD
Tipo comunicación RS485
Baud Rate Configurable
Alimentación 12 a 24 voltios DC
Consumo <40mA a 12 voltios
Peso 1 Kg
Profundidad máxima 1000 metros
Intervalo de medida Desde 0.1 hasta 600 segundos
Tabla 6: Características 2-D Electromagnetic Current Meter
Ilustración 15: Sensor 2-D Electromagnetic Current Meter [9]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.2.2. Montaje
El pinout es el siguiente:
Estos cables seran los correspondientes a tierra (GND), alimentación (+POW), DATA+ (B) y DATA-
(A) que permiten transmitir usando RS-485 (transmisor y receptor se turnan para ocupar ambos
pines y transmitir de forma balanceada).
El sensor se puede alimentar con una tensión que puede variar en el rango entre 12 y 24 voltios.
Además para la correcta comunicación con el microcontrolador será necesario usar un
convertidor TTL-RS485.
Este adaptador se introduce directamente sobre la placa SB y solo requiere conectar las
terminaciones al sensor para habilitar la comunicación. Se habla del convertidor en detalle en el
apartado 4.2.2
Ilustración 16: Pinout 2-D Electromagnetic Current Meter
Ilustración 17: 2-D Electromagnetic Current Meter Placa SB con convertidor TTL-RS485
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.2.3. Medidas proporcionadas
Diagrama del flujo de medidas:
Microcontrolador EFM32G210
Configura microcontrolador
Pide medidas al sensor
¿error o timeout?
Guarda medidasNo
Si
Configura SensorEspera tiempo
definidoEspera tiempo
definido¿error o timeout?
Si
No
Ilustración 18: Diagrama de flujo de medidas 2-D Electromagnetic Current Meter
Explicación de las medidas proporcionadas por el sensor:
Temperatura del agua:
Tipo: Termistor
Rango de medida: -3, 45 °C
Resolución: 0.001 °C
Precisión: ±0.02°C
Se utiliza un termistor de alta estabilidad. El valor de la resistencia de dicho termistor variará con la temperatura, dicho sensor tiene un tiempo de respuesta muy rápido.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Velocidad:
Tipo: Electromagnético
Rango de medida: -500, 500 cm/sec
Resolución: 0.02 cm/sec
Precisión: ±1.0 cm/sec
Los principios de funcionamiento de este sensor están basados en la ley de inducción de Faraday, “El voltaje inducido en un circuito cerrado es directamente proporcional a la rapidez con que cambia en el tiempo el flujo magnético que atraviesa una superficie cualquiera con el circuito como borde” El sensor de velocidad tiene una forma cilíndrica con diámetro 32 mm. Hay un electroimán en el medio del sensor, y cuatro electrodos que forman con el centro ángulos de 90 grados, cuando el agua se mueve y atraviesa el campo magnético generado por el electroi mán, se produce una fuerza electromotriz en el fluido, dicha fuerza es proporcional a la velocidad del fluido. Dirección:
Tipo: Sensor de efecto Hall
Rango de medida: 0, 360 °
Resolución: 0.1 °
Precisión: ±2°
Se hace uso del efecto Hall y un imán rotativo para el cálculo de la dirección Si está fluyendo corriente por un sensor Hall y se acerca a un campo magnético que está fluyendo en dirección vertical al sensor, entonces se crea un voltaje saliente que es proporcional al producto de la fuerza del campo magnético y de la corriente. Si se conoce el valor de la corriente, entonces se puede calcular la fuerza del campo magnético; si se crea el campo magnético por medio de corriente que circula por una bobina o un conductor, entonces se puede medir el valor de la corriente en el conductor o bobina.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.2.4. Implementación software
La comunicación se hará por RS485, con una velocidad de 38400 Baudios y 8N1 (8 bits de datos,
sin paridad, 1 bit de parada)
Estructura genérica de los comandos:
El primer carácter ASCII indica el tipo de orden, hay 3 clases;
? Comando de lectura
! Comando de escritura
= Respuesta del sensor
<ID> : Es el identificador del sensor, permite conectar distintos sensores en un bus de
comunicaciones, sin que haya confusión entre los comandos y las respuesta.
En este caso el identificador será 00.
<COMANDO> : El comando en cuestión que pretenda enviarse al sensor
<CR> : Carácter retorno de carro (0x0D en hexadecimal)
Comando PVAL:
-Descripción: Pide al sensor una trama de datos.El tiempo de respuesta del sensor es inferior a
1 segundo.
<TIPO_ORDEN><ID>,<COMANDO>,<CR>
?00,PVAL,<CR>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
En esta imagen se puede apreciar la respuesta del sensor ante dicho comando, los campos están
separados por una coma, y se indica la finalización de éste mediante el carácter <CR>
Este es el único comando del que se hará uso, puesto que la configuración del sensor de fecha,
numero de serie, versión, etc… No tienen ninguna utilizad para esta implementación.
En la simulación con docklight se han incluido además la petición de fecha, de versión y de
calibración, pero no se hará uso de ellas.
Ilustración 16: Comunicación 2-D Electromagnetic Current Meter docklight
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.3. Weatherstation compact WSC 11 4.9056.10.000
3.3.1. Características
-
Dimensiones en milímetros:
Nombre Weatherstation compact WSC 11
4.9056.10.000
Marca Thies Clima
Finalidad
Estación meteorológica capaz de medir
temperatura, presión, velocidad del viento, estado de precipitaciones, etc
Tipo comunicación RS485
Alimentación 18 a 30 voltios DC
Rango de visibilidades: Desde 4 kilometros hasta 20 metros
Consumo (medido) <90mA a 24 voltios DC
Rango Temperaturas −30, +60 °𝐶
GPS Incluido con RTC y antena
Peso 0.22 Kg
Tabla 7: Características Weatherstation compact WSC 11 4.9056.10.000
Ilustración 19: Dimensiones WSC 11 4.9056.10.000 [10]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Imagen del sensor:
El sensor tiene una forma circular, con el soporte para su sujeción en la parte inferior, se puede ver un pequeño circulo concéntrico en la parte superior, que se corresponde con el sensor de humedad, esta es la parte que debe quedar mirando hacia arriba para su correcto funcionamiento a la hora de su instalación.
Ilustración 20: Sensor WSC 11 4.9056.10.000
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.3.2. Montaje
La interfaz de salida del sensor es la siguiente:
Como se puede ver el sensor dispone de una salida de 5 pines, de los cuales se utilizan DATA-,
DATA+, y la alimentacion negativa y positiva (es decir 4, 3, 2 y 1) . Se puede alimentar con una
tension entre 18 y 30 voltios.
Es necesario para la comunicación entre la placa y el sensor usar un convertidor TTL-RS485, que
se muestra en la imagen a continuación integrado en la placa y conectado a la estación
meteorológica correctamente.
Ilustración 21: Dibujo pinout WSC 11 4.9056.10.000
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Imagen de la conexión del sensor a la placa SB:
Los cables conectados son:
B (adaptador RS485) cable naranja , A(adaptador RS485) cable blanco, alimentación cable rojo
y tierra cable naranja.
Con estas conexiones realizadas ya podemos iniciar las comunicaciones y las pruebas.
Ilustración 22: Conexión sensor WSC 11 4.9056.10.000 en la placa SB
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.3.3. Medidas proporcionadas
El diagrama de flujo de medidas del sensor será el siguiente:
Microcontrolador EFM32G210
Configura microcontrolador
Pide medidas al sensor
¿error o timeout?
Guarda medidasNo
Si
Configura SensorEspera tiempo
definidoEspera tiempo
definido
Ilustración 23: Diagrama de flujo de medidas WSC 11 4.9056.10.000
Explicación de las medidas proporcionadas por el sensor:
Velocidad del viento:
Tipo: Anemómetro término
Rango de medida: 0, 40 𝑚/𝑠
Resolución: 0.1 𝑚/𝑠
Presición con flujo incidente laminar: 1.5 𝑚/𝑠
Para calcular la velocidad del viento se hace uso de 4 sensores de temperatura colocados en la
parte inferior de la estación en un pequeño cilindro que sobresale, calienta dicho cilindro hasta
tener una temperatura ligeramente superior a la de la ambiental , el cálculo de la velocidad se
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
hace con una conversión entre la energía que ha sido necesario proporcionar al cilindro para
que esté a dicha temperatura y la velocidad ( A más sople el viento, más frío estaría el cilindro si
el sensor no lo calentara)
Dirección del viento:
Tipo: Anemómetro térmico
Rango de medida: 1, 360°
Resolución: 1°
Precisión con flujo incidente laminar: 10°
La dirección se calcula mediante relaciones entre la velocidad del viento y los 4 sensores
térmicos colocados en el mismo cilindro.
Brillo (norte, sur, este, oeste):
Tipo: Sensor de silicona
Rango: 0, 150𝑘𝐿𝑢𝑥
Resolución: 0.1 𝑘𝐿𝑢𝑥
Precisión: ± 3%(± 4.5kLux)
Rango Espectral: 475, 650 𝑛𝑚
La medida del brillo se realiza mediante 4 fotosensores de silicio, que se encuentran alineados
en las 4 direcciones cardinales en el ángulo de elevación (40°).
Crepúsculo:
Tipo: Sensor de silicona
Rango: 0, 500 𝐿𝑢𝑥
Resolución: 1 𝐿𝑢𝑥
Precisión: ± 10 Lux
Crepúsculo es una medida de la difusión de luz en la atmósfera, es independiente de la dirección. Se calcula mediante la suma de los 4 sensores de brillo colocados en el sensor.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Irradiancia Global:
Tipo: Sensor de silicona
Rango: 0, 1300 𝑊/𝑚2
Resolución: 1 𝑊/𝑚2
Precisión: ± 10%(± 130 𝑊/𝑚2)
Rango Espectral: 350, 1100 𝑛𝑚
Un fotodiodo PIN se usa para medir la irradiancia global, el sensor se posiciona horizontalmente
y registra los valores diurnos de la intensidad de irradiacion solar.
Precipitación:
Tipo: Sensor de temperatura de área
Protección del sensor seco: 0.1 𝑊
Protección del sensor húmedo : 1.1 𝑊
La detección de precipitación está basada en la medida de la conductividad, que varía cuando el
sensor está húmedo.
Un sistema de calentamiento interno ajusta la temperatura en la superficie de dicho sensor para
que esté 2 °𝐶 por encima de la temperatura ambiente, de esta forma se evita la acumulación de
humedad en dicha zona.
Se utiliza una mayor energía para calentar el sensor si hay precipitaciones para acelerar el secado
del sensor, permitiendo que se detecte el fin de las precipitaciones con mas precisión.
Temperatura:
Tipo: PT1000
Rango: −30, +60 °𝐶
Resolución: 0.1 °𝐶
Precisión con velocidad del viento > 2 𝑚/𝑠 : ±1°𝐶
Presión:
Tipo: MEMS Piezorresistivo
Rango: 300, 1100 ℎ𝑃𝑎
Resolución: 0.01 ℎ𝑃𝑎
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Precisión con vientos mayores de 2 𝑚/𝑠 : ±0.5 ℎ𝑃𝑎 a 20 °𝐶
Estabilidad a largo plazo: ±0.1 ℎ𝑃𝑎/𝑌𝑒𝑎𝑟
Para poder realizar comparaciones entre medidas de presión de aire medidos en diferentes localizaciones, deben convertirse a valores comunes, referidos a la altura sobre el nivel del mar. La fórmula usada es (DIN ISO2533):
𝑝(ℎ) = 𝑝𝑏 (1 +𝛽
𝑇𝐵 ℎ)
−𝑔𝑛𝛽 𝑅
Donde:
𝑃(ℎ) = 𝑃𝑟𝑒𝑠𝑖ó𝑛 𝑑𝑒𝑙 𝑎𝑖𝑟𝑒 𝑎 𝑙𝑎 𝑎𝑙𝑡𝑢𝑟𝑎 𝑙𝑜𝑐𝑎𝑙 𝑃𝑏 = 𝑃𝑟𝑒𝑠𝑖ó𝑛 𝑑𝑒𝑙 𝑎𝑖𝑟𝑒 𝑎 𝑙𝑎 𝑎𝑙𝑡𝑢𝑟𝑎 𝑝𝑜𝑟 𝑒𝑛𝑐𝑖𝑚𝑎 𝑑𝑒𝑙 𝑛𝑖𝑣𝑒𝑙 𝑑𝑒𝑙 𝑚𝑎𝑟
𝛽 = −0.065 𝐾/𝑚 𝑔𝑛 = 9.80665 𝑚/𝑠2
𝑅 = 287.05287 𝑚2/𝐾/𝑠2 𝑇𝐵 = 288.15 𝐾
ℎ = 𝑎𝑙𝑡𝑢𝑟𝑎 𝑑𝑒 𝑙𝑎 𝑒𝑠𝑡𝑎𝑐𝑖ó𝑛 (Altura local) La altura de la estación, requerida por el cálculo, puede ser introducida manualmente mediante el comando SH o bien determinada automáticamente por el GPS Se asegura una precisión de 0.1ℎ𝑃𝑎 referida al nivel del mar si se proporciona una altitud local con una precisión de al menos 0.8 𝑚 Humedad(relativa, absoluta, dew-point temperature):
Tipo: CMOS Capacitivo
Relativa;
Rango: 0, 100% de humedad relativa
Resolución: 0.1% de humedad relativa
Precisión: ±10% de humedad relativa a 20 °𝐶
Absoluta;
Rango: 0, 400 𝑔/𝑚3
Resolución: 0.01 𝑔/𝑚3
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Punto de rocío (Dew-point temperature);
Rango: −30, +60 °𝐶
Resolución: 0.1 °𝐶
Es la temperatura a la que empieza a condensarse el vapor de agua contenido en el aire,
produciendo rocío, neblina, cualquier tipo de nube o, en caso de que la temperatura se a lo
suficientemente baja, escarcha.
Se usa un higro-termómetro interno para medir los niveles de humedad. El sensor puede
responder a los cambios de humedad en cuestión de segundos.
El cálculo de la humedad absoluta y la temperatura dew-point se realiza mediante software
usando como parámetros la humedad relativa y la temperatura del aire (medidos por el sensor)
Temperatura interna de la estación:
Tipo: Sensor de silicona
Rango: −30, +60 °𝐶
Resolución: 0.1 °𝐶
Precisión: ± 2 °𝐶
Es la temperatura a la que se encuentra la estación meteorológica internamente.
Posición GPS de la estación, fecha:
La estación meteorológica incluye un receptor GPS con RTC (Real Time Clock) integrado para recibir la posición de la estación, así como la hora y fecha(UTC). Una vez el RTC obtiene la hora, puede pasar hasta 3 días sin alimentación y mantenerla actualizada cuando se realimente. Información general: Tras la activación, la estación tardará aproximadamente 2.5 minutos en obtener la primera trama GPS (warm-up time para detección de los satélites). Precisión con un satélite: Tiempo con una precisión de 1 µ𝑠 Precisión con tres satélites: Posición con margen de error de 20 m Precisión con cuatro satélites: altitud referida al elipsoide WGS84, con un margen de error de 30 m Posición del sol(elevación, azimuth):
Usando los datos del GPS la posición actual del sol es calculada cada segundo
𝑈𝑑𝑠: °
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.3.4. Implementación software
La comunicación se hará por RS485, con una velocidad de 9600 Baudios y 8N1 (8 bits de datos,
sin paridad, 1 bit de parada)
A pesar de que el sensor dispone de un extenso manual proporcionado por el vendedor, sólo se
incluirán los comandos que resultan más relevantes para el desarrollo.
Estructura genérica de los comandos:
<id> : Es el identificador de la estación meteorológica, permite conectar distintas estaciones en
un bus de comunicaciones, sin que haya confusión entre los comandos y las respuesta.
En este caso el identificador será 00.
<COMANDO> : El comando en cuestión que pretenda enviarse a la estación, todos tienen 2
caracteres de longitud.
<PARAMETRO> : En caso de que el comando anterior acepte algún parámetro, éste debe ir
inmediatamente a continuación del comando <COMANDO> enviado. Por tanto el parámetro
será opcional en algunos comandos.
<CR> : Carácter retorno de carro (0x0D en hexadecimal)
El sensor cada vez que recibe un comando, replica un eco añadiendo un carácter ASCII ‘!’
(exclamación) al inicio, para indicar que el comando se ha recibido correctamente.
Lista de comandos que se utilizan en la implementación:
Comando BR:
<id><COMANDO><CR>
<id><COMANDO><PARAMETRO><CR>
<id>BR<PARAMETRO><CR>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
-Descripción: Configura el baud rate de la estación
Si se envía sin parámetros la estación responde con el baud rate actual configurado
Posibles baud rates: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
En este caso se configura usando un baud rate de 9600, que se corresponde con el número 5 en
la hoja del fabricante, con lo que el comando de configuración completo queda:
Comandos usados Respuestas de la estación
00BR05<CR> !00BR05<CR>
00BR<CR> 9600Bau<CR>
Tabla 8: Comando BR WSC 11 4.9056.10.000
Comando KY:
-Descripción : La estación dispone de varios modos de configuración, que requieren distintos
niveles de seguridad para ser modificados por el usuario, este comando nos permite introducir
los carácteres de seguridad en caso de que queramos modificar uno de dichos valores.
El comando a enviar para desbloquear la configuración será el siguiente :
Comandos usados Respuestas de la estación
00KY234<CR> !00KY234<CR>
Tabla 9: Comando KY WSC 11 4.9056.10.000
Durante los 2 minutos poesteriores a la recepción de dicho comando, la estación admite
modificaciones a nivel de administrador en su configuración.
Ilustración 24: Respuesta Comando KY WSC 11 4.9056.10.000
Comando AI:
-Descripción : Permite cambiar el tiempo de averaging del viento, por defecto está configurado
a dos minutos, y se configurará a uno para ahorrar batería.
<id>KY<PARAMETRO><CR>
<id>AI<PARAMETRO><CR
>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Si el comando se introduce sin parámetros la estación responderá el averaging actual .
Comandos usados Respuestas de la estación
00AI01<CR> !00AI01<CR>
00AI<CR> !00AI01<CR>
Tabla 10: Comando AI WSC 11 4.9056.10.000
Ilustración 25: Respuesta comando AI WSC 11 4.9056.10.000
Comando TR:
-Descripción : Pide a la estación una trama de datos inmediatamente, el sensor comienza dicha
transmisión justo despues de recibir el comando, el tiempo que la estación necesita para
completar el envío es inferior a dos segundos.
La estación admite 2 posibles parámetros, uno para el envío de trama de medidas « 01 » y otro
para el envío de trama de configuración del sensor « 00 »
En este caso sólo se usará el envío de trama de medidas por lo que :
Comandos usados Respuestas de la estación
00TR01<CR> Trama de medidas
A continuación se detalla la trama de medidas que el sensor nos proporciona :
Position Length Example Description
1 1 <STX> Start of text characters (0x02)
2 3 WSC Designates theWSC11 Weather Station
5 1 ; Semicolon
6 2 ## Identification number of Weather Station
8 1 ; Semicolon
9 19 dd.mm.yyyy hh:mm:ss
Date and time separated with a blank character dd: day, mm: month, yyyy: year, hh: hour, mm:
minute, ss: second
28 1 ; Semicolon
29 6 ###### Specifies time format: UTC CEST CET UTC+xh
35 1 ; Semicolon
36 5 ###.# Brightness north (kLux)
<id>TR<PARAMETRO><CR
>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
41 1 ; Semicolon
42 5 ###.# Brightness east (kLux)
47 1 ; Semicolon
48 5 ###.# Brightness south (kLux)
53 1 ; Semicolon
54 5 ###.# Brightness west (kLux)
59 1 ; Semicolon
60 3 ### Twilight (Lux)
63 1 ; Semicolon
64 4 #### Global irradiance (W/m2)
68 1 ; Semicolon
69 5 ###.# Air temperature (°C)
74 1 ; Semicolon
75 1 # Precipitation status (0: no precipitation, 1: precipitation)
76 1 ; Semicolon
77 4 ##.# Average1 wind speed (m/s)
81 1 ; Semicolon
82 3 ### Average1 wind direction (°)
85 1 ; Semicolon
86 6 ####.# Absolute air pressure (hPa)
92 1 ; Semicolon
93 6 ####.# Relative air pressure (hPa), referred to height above sea level
99 1 ; Semicolon
100 5 ###.# Inside temperature of housing (°C)
105 1 ; Semicolon
106 5 ###.# Relative humidity (% r.h.)
111 1 ; Semicolon
112 6 ###.## Absolute humidity (g/m³)
118 1 ; Semicolon
119 5 ###.# Dew-point temperature (°C)
124 1 ; Semicolon
125 11 ####.#####
#
Degree of longitude (°) (GPS position)
Positive sign for longitude in eastern direction. Negative sign for longitude in western direction.
135 1 ; Semicolon
136 1 ##.###### Degree of latitude (°) (GPS position)
137 10 ###.###### Latitude (°) (GPS position)
Positive sign for latitude in northern direction. Negative sign for latitude in southern direction.
147 1 ; Semicolon
148 5 ###.# Position of the sun, elevation or resp. elevation
angle (°) On sunrise and sunset elevation equals 0°. Between these distinctive points (i.e. intraday) the
elevation takes positive values. 153 1 ; Semicolon
154 5 ###.# Position of the sun, azimuth or resp. geographic direction (°) The azimuth is counted positively
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
from the north to the south. 0° = north ; 180° = south
159 1 ; Semicolon
160 4 #### 16-bit sensor status in hexadecimal format (0000 – FFFF)
164 1 * Asterisk as separator for checksum
165 2 ## 8-bit checksum in hexadecimal format (00 – FF). The checksum is calculated from the exclusive OR link of all characters after STX to the character
before "*".
167 1 <ETX> End of text characters (0x03)
168 1 <CR> Carriage return (0x0D)
169 1 <LF> Line feed (0x0A)
Tabla 11: Formato respuesta comando TR WSC 11 4.9056.10.000
En dicha tabla se detalla por tanto el formato que siguen la tramas de medidas del sensor, lo
que se utilizará para asignar cada dato a los campos y permitirá un análisis posterior de los
mismos.
Se incluye a continuación una trama de datos real respondida por el sensor en la comunicación
capturada con docklight:
Se usa el comando « TR » para pedir al sensor que envíe una trama de medidas, el sensor
responde con una trama con datos válidos que el driver se encarga de capturar y asignar a los
distintos campos para poder enviarlos posteriormente, el tiempo de respuesta es inferior a dos
segundos desde la recepción del comando.
Ilustración 26: Comunicación WSC 11 4.9056.10.000 docklight
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.4. EXO2 Sonde
3.4.1. Características
Imagen del sensor:
Nombre EXO2 Sonde
Marca EXO
Finalidad Sonda multiparamétrica, permite añadir sensores independientes
dependiendo de las necesidades
Tipo comunicación
RS232, USB, SDI-12, Bluetooth
Alimentación 9 a 16 voltios DC
Rango de visibilidades:
Desde 4 kilometros hasta 20 metros
Consumo (medido)
<55mA despierto, 1mA dormido
Tiempo inicialización
20 segundos
Peso 3.6 Kg
Dimensiones
en cm 7.62x71.10
Memoria 512MB (>1.000.000 medidas almacenadas)
Rango de temperaturas
Desde -5 hasta 50 grados centígrados
Tabla 12: Características EXO2 Sonde
Ilustración 27: Sensor EXO2 Sonde [11]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.4.2. Montaje
El sensor sólo es compatible con RS232 tras hacer uso de un convertidor propietario (RS232-
DCP), es decir habrá que usar dos convertidores hardware para poder comunicar sensor y
microcontrolador.
Consultar pinout y descripción detallada en la sección 4.2 Convertidores usados
Ilustración 28: Convertidor RS232-TTL
Ilustración 29: Convertidor RS232-DCP
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Por otro lado la interfaz de salida del sensor es la siguiente:
Como puede verse son 6 pines, y el cable será proporcionado por el fabricante(la parte que sale
del adaptador propietario mencionado arriba trae el cable incluido)
La interfaz que se usará para comunicar sensor y microcontrolador es RS232, por lo que los pines
que interesan del adaptador son sólo 3 (tal como se muestra en la segunda imagen adjunta
donde se muestra el convertidor RS232 DCP):
Tx (verde)
Rx(marrón)
GND(blanco)
Ilustración 30: Pinout EXO2 Sonde
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.4.3. Medidas proporcionadas
El diagrama de flujo del sensor es el siguiente:
Microcontrolador EFM32G210
Configura microcontrolador
Pide formato trama al sensor
¿error o timeout?
Pide trama de datos al sensor
No
Si
Espera tiempo definido
Espera tiempo definido
¿error o timeout?
Si
No Guarda trama de datos
Ilustración 31: Diagrama de flujo de medidas EXO2 Sonde
La sonda multiparamétrica permite la posibilidad de integrar distintos sensores que se acoplan
de forma independiente y son reconocidos e interpretados por la sonda.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
En este caso se dispone de los siguientes sensores conectados a la sonda:
Turbidity:
Rango de medida: 0, 4000 𝐹𝑁𝑈
Precisión: 0 to 999 FNU: 0.3 FNU or ±2% of reading
1000 to 4000 FNU: ±5% of reading10
Tiempo de respuesta: <2 segs Resolución: 0 to 999 FNU = 0.01 FNU;
1000 to 4000 FNU = 0.1 FNU Este sensor proporciona una medida de la turbeidad del agua 𝑢𝑑𝑠:[𝐹𝑁𝑈] Conductivity/Temperature:
Rango de medida
Precisión
Tiempo de respuesta:
Resolución:
Conductividad 0 𝑎 200 𝑚𝑆/𝑐𝑚 0 to 100: ±0.5% de la lectura o
0.001 mS/cm 100 to 200: ±1% de la lectura
< 2 sec 0.0001 𝑡𝑜 0.01 𝑚𝑆/𝑐𝑚
(depende del rango)
Temperatura −5 𝑎 35 °𝐶 35 𝑎 50 °𝐶
±0.01°𝐶 2 ±0.05°𝐶 2
< 1 sec 0.001 °C
pH:
Rango de medida: 0 𝑎 14 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 de pH
Ilustración 32: Turbidity Sensor
Ilustración 33: Conductivity/Temperature Sensor
Ilustración 34: pH Sensor
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Precisión: ±0.1 unidades pH con ±10˚C de calibración de temperatura
±0.2 unidades pH para el rango completo de temperaturas
Tiempo de respuesta: <3 segs
Resolución: 0.01 unidades de pH Dissolved Oxygen:
Rango de medida
Precisión
Tiempo de respuesta:
Resolución:
% air saturation
0 𝑡𝑜 500% 𝑎𝑖𝑟 𝑠𝑎𝑡𝑢𝑟𝑎𝑡𝑖𝑜𝑛
0 𝑎 200% : ±1% 𝑑𝑒 𝑙𝑎 𝑙𝑒𝑐𝑡𝑢𝑟𝑎
200 𝑎 500%:
±5% 𝑑𝑒 𝑙𝑎 𝑙𝑒𝑐𝑡𝑢𝑟𝑎
< 5 sec 0.1% 𝑎𝑖𝑟 𝑠𝑎𝑡𝑢𝑟𝑎𝑡𝑖𝑜𝑛
𝑚𝑔/𝐿 0 𝑡𝑜 50 𝑚𝑔/𝐿 0 𝑡𝑜 20 𝑚𝑔/𝐿: ± 1% 𝑑𝑒 𝑙𝑎 𝑚𝑒𝑑𝑖𝑑𝑎
0 𝑡𝑜 5𝑚𝑔
𝐿:
± 5% 𝑑𝑒 𝑙𝑎 𝑚𝑒𝑑𝑖𝑑𝑎
< 5 sec 0.01 𝑚𝑔/𝐿
Ammonium:
Rango de medida: 0 𝑎 200 𝑚𝑔/𝐿 (de 0 a 30 °C)
Precisión: ±10% de la lectura o 2 mg/L
Tiempo de respuesta: <30 segs
Resolución: 0.01 𝑚𝑔/𝐿
Ilustración 35: Dissolved Oxygen Sensor
Ilustración 36: Ammonium Sensor
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Nitrate: Rango de medida: 0 𝑎 200 𝑚𝑔/𝐿 (de 0 a 30 °C)
Precisión: ±10% de la lectura o 2 mg/L
Tiempo de respuesta: <30 segs
Resolución: 0.01 𝑚𝑔/𝐿 (es prácticamente idéntico al de ammonium) Salinidad: Se calcula a partir de los valores medidos de conductividad y temperatura Rango de medida: 0 𝑎 70 𝑝𝑝𝑡
Precisión: ±1% de la lectura o 0.1 ppt
Tiempo de respuesta: <2 segs
Resolución: 0.01 𝑝𝑝𝑡
3.4.4. Implementación software
La comunicación se hará por RS232, con una velocidad de 9600 Baudios y 8N1 (8 bits de datos,
sin paridad, 1 bit de parada)
Estructura genérica de los comandos:
<COMANDO> : El comando en cuestión que pretenda enviarse a la sonda multiparamétrica
<i> : Parámetro entero, éste debe ir inmediatamente a continuación del comando <COMANDO>
enviado.
[PARAMETRO] : Parámetro opcional, éste debe ir inmediatamente a continuación del comando
<COMANDO> enviado.
<CR> : Carácter “retorno de carro” (0x0D en hexadecimal)
<LF> : Carácter “nueva línea” (0x0A en hexadecimal)
<COMANDO><i><CR><
LF>
<COMANDO>[PARAMETRO]<CR><LF
>
Ilustración 37: Nitrate Sensor
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Lista de comandos que se utilizan en la implementación:
Comando para:
-Descripción: Devuelve una lista ordenada de los códigos EXO del fabricante, uno por cada valor
medido que el sensor vaya a devolver.
No admite parámetros, es necesario utilizar este comando previamente a pedir los datos al
sensor para conocer la estructura que va a enviar la sonda, debido a que se pueden configurar
tanto el orden como el número de parámetros el sensor envía una lista ordenada de EXO codes,
que no son mas que una numeración que el fabricante ha asignato de forma fija a cada
parámetro.
Para poder asignar cada código a un campo devuelvo, se hace uso de la siguiente tabla pasada
a un formato útil para realizar la asignación directamente:
Hay que tener en cuenta que los sensores son completamente independientes entre sí, por lo
que se han tenido en cuenta todos los posibles códigos (muchos ni siquiera se usan) para poder
conectar otro tipo de sensores en el futuro sin tener que realizar modificaciones en el código.
Se deja en la siguiente página la relación de dichos códigos con la tabla de medidas y codigos
EXO:
para<CR><LF>
uint8_t codigosEXO[]=
{1,2,3,4,5,6,7,10,12,17,18,19,20,2
1,22,23,28,37,47,48,51,52,53,54,9
5,101,106,108,110,112,145,190,1
91,193,194,211,212,214,216,218,
223,224,225,226,227,228,229,230
,231,232,233,234,237,238,239};
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
typedef struct {
/*@{*/
float TempC; /**< Temperatura (grados centigrados) ## */
float TempF; /**< Temperatura (grados fahrenheit) ## */
float TempK; /**< Temperatura (kelvins) ## */
float Cond_mS_cm; /**< Conductividad (mS/cm) ## */
float Cond_uS_cm; /**< Conductividad (uS/cm) ## */
float SpCond_mS_cm;
float SpCond_uS_cm;
float TDS_g_L;
float Sal_ppt;
float pH_mV;
float pH;
float Orp_mV;
float Press_psia;
float Press_psig;
float Depth_meters;
float Depth_feet;
float Battery_Volts;
float Turbidity_NTU;
float NH3_N_mg_L;
float NH4Plus_N_mg_L;
float Date_DMY;
float Date_MDY;
float Date_YMD;
float Time_HH_MM_SS;
float TDS_kg_L;
float NO3minus_N_mV;
float NO3minus_N_mg_L;
float NH4plus_N_mV ;
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
float Chlorophyll_ug_L;
float Fluorescence_full_scale;
float ODO_;
float ODO_ConcPlus_mg_L;
float ODO_Local;
float BGA_PC_RFU;
float BGA_PE_RFU;
float Turbidity_FNU;
float Turbidity_RAW;
float BGA_PCug_L;
float BGA_PE_ug_L;
float fDOM_RFU;
float fDOM_QSU;
float Wiper_Position_V;
float External_Power_V;
float BGA_PC_Raw;
float BGA_PE_Raw;
float fDOM_Raw;
float Chlorophyll_Raw;
float nLFCond_mS_cm;
float nLFCond_uS_cm;
float WiperPeakCurrent_mA;
/*@}*/
} sensor;
Tabla 13: Codigos EXO2
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Como ejemplo de asignación, se podría decir que el código EXO 1 se corresponde con
la temperatura en grados centígrados, mientras que el código EXO 3 se corresponde con
la temperatura en grados kelvin (asignados por orden tal y como figuran en las tablas)
Comando data:
-Descripción: Devuelve los valores de las medidas proporcionadas por los sensores conectados,
en el mismo orden en el que los códigos EXO fueron devueltos por el comando “para”, es decir
para conseguir interpretar la respuesta de este comando correctamente es necesario saber
previamente el orden en que se enviarán los datos, o bien preguntarlo y reasignarlo mediante
el comando “para”
Comando setecho:
-Descripción: Permite desactivar el eco de los comandos, se recomienda dejar activado para
poder comprobar que cada comando se ha recibido y ejecutado correctamente.
El sensor después de cada recepción de un comando, lo repite y añade un carácter de
confirmación “#” (almohadilla).
Posibles usos:
Comandos usados Respuestas de la estación
setecho1<CR><LF> setecho1<CR><LF>#
setecho0<CR><LF> setecho0<CR><LF>#
Tabla 14: Comando setecho EXO2 Sonde
data<CR><LF>
setecho[PARAMETRO]<CR><LF>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ejemplos de comunicación con el sensor:
A continuación se muestran algunos ejemplos de comunicación con la sonda:
En este ejemplo se observa la diferencia entre ejecutar el comando “para” con el modo eco
activado, y luego con el modo eco desactivado.
La diferencia es clara puesto que el sensor responde con una réplica del comando que está a
punto de ejecutarse, es útil para comprobar a qué comando está respondiendo el sensor y para
asegurarse de que se están recibiendo correctamente los comandos.
Para finalizar el comando para indica los códigos EXO que se van a dar en ese orden previamente
fijando por tanto qué datos son los que tendrar que asignarse a cada campo.
En este ejemplo se pide la versión de la sonda, el orden de lo parámetros(orden “para”) y se
pide una trama de datos, el sensor tarda menos de 1 segundo en dar una trama de datos.
También se puede ver como algunos campos contienen “–nan“ que indica medidas erróneas
(debidas principalmente a que el sensor no ha dispuesto aún de tiempo para proporcionar
medidas fiables para dichos valores)
Ilustración 38: Comunicación EXO2 Sonde docklight 1
Ilustración 39: Comunicación EXO2 Sonde docklight 2
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Programa propietario
Conectando la sonda al ordenador podemos hacer uso del software propietario incluido con la
sonda, dicho programa se llama EXO2, a continuación se dejan algunas imágenes donde se
pueden ver algunas de las opciones de las que se puede hacer uso:
Lo primero que debe hacerse es conectar el sensor(lo más cómodo es por bluetooth como
muestra en la imagen superior).
Sin más que hacer click en connect el sensor y el PC quedan comunicados.
Ilustración 40: Programa propietario EXO2 Sonde conexión
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Se dispone ahora de diversas posibilidades, entre dichas opciones Calibración y Ejecutar son las
más interesantes para este desarrollo.
Se permite en dicha ventana realizar calibraciones a aquellos sensores que lo requieran, por
ejemplo para realizar la calibración del sensor de pH se hace uso de muestras de laboratorio,
con unos valores definidos que permiten hacer una recta de ajuste de los valores del pH.
En la ventana Tiempo real (ejecutar o run) se pueden ver los valores que está midiendo la sonda
multiparamétrica en tiempo real.
Estos valores medidos son configurados previamente en la ventana deployment( el sensor
dispone de la posibilidad de mostrar hasta 200 medidas distintas, por lo que hay que configurar
cuáles son las que interesan y cuáles no)
Ilustración 41: Programa propietario EXO2 Sonde Calibración
Ilustración 42: Programa propietario EXO2 Sonde Tiempo real
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.5. MiniOFS
3.5.1. Características
Nombre MiniOFS
Finalidad Medir la visibilidad del ambiente
Configurable No (solo dispone de pin transmisor)
Tipo comunicación RS232
Baud Rate 1200 (fijo)
Dimensiones: 68*45*34 mm
Peso: 170 gramos
Tiempo de encendido: 60 segundos
Consumo: <100 mA alimentado a 12 Voltios (8-14)
Salidas Analógica 0-5 Voltios y digital RS232
Tiempo de actualización 30 seconds
Rango de temperaturas: -20 a +50 ºC
Potencia Óptica de salida: Aprox 3 mW IR LED, laser seguro para el ojo, safety class 3R
Longitud de onda 850nm
Carcasa Aluminio anodizado, aperturas cerradas con O-rings
Rango de visibilidades: Desde 4 kilometros hasta 20 metros
Tabla 15: Características MiniOFS
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Imagen del sensor:
Ilustración 43: Sensor MiniOFS
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.5.2. Montaje
Pinout del sensor:
Rojo: 12 Voltios DC Power in
Negro: GND
Blanco: Tierra de Señal
Verde: Señal digital de salida RS232
Amarillo: Salida Analógica
Ilustración 44: Pinout MiniOFS
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
El montaje es el siguiente:
Ilustración 45: Conexión sensor MiniOFS con microcontrolador
El sensor esta conectado a un cable de 6 metros y 5 pines proporcionado por el fabricante.
El microcontrolador se conecta a un convertidor TTL RS232, que se conecta directamente a las
salidas del sensor, no se hace uso de la salida analógica del sensor, sólo de la digital (RS232).
Se puede conectar con facilidad al PC con tan sólo hacer uso de un convertidor USB-RS232 o de
un USB-TTL y el convertidor TTL-RS232 que se muestra en la imagen superior.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.5.3. Medidas proporcionadas
Diagrama de flujo:
Microcontrolador EFM32G210
Configura microcontrolador
¿Datos del sensor?
Leer datos del sensor
Si
No
¿Trama correcta?
Si
No
Guardar medida
Descartar medida
Ilustración 46: Diagrama de flujo de medidas MiniOFS
Este sensor tiene como objetivo medir la visibilidad del ambiente, para avisar de problemas de
seguridad y riesgos.
Para ello se hace uso de un sensor de infrarrojos, que permite detectar las partículas de agua y
suciedad que se encuentran en el ambiente y que son las causantes de las limitaciones en la
visibilidad.
El fabricante nos recomienda no montar el sensor a menos de 25 centimetros de una pared, puesto que la pared está por lo general a mayor temperatura, y hace que se pegue más la humedad, dando por tanto valores con más visibilidad de la real, es por ello que se recomienda montar sobre un poste alejado.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Explicación de las medidas proporcionadas por el sensor:
amb:
Es una medida sin calibrar de la irradiancia solar del ambiente, su sensibilidad depende mucho
de como se apunte el sensor.
Puede variar desde -50% hasta +100%.
Puede ser calibrada de forma exacta comparandola con un sensor de irradiancia, pero una forma
sencilla de calibrarla es medir un dia despejado al mediodía, donde si el sol está a 60 grados o
mas por encima del horizonte deberia mostrar un valor de 1000W
m2 (este valor tiene poca
precisión, pero puede servir para hacer una estimación)
𝑢𝑑𝑠: [W
m2]
Coeficiente de extinción (extinction coefficient alfa):
La relación existente entre el coeficiente de extinción y la visibilidad es:
𝑎𝑙𝑓𝑎 =3
𝑉𝐼𝑆
El parámetro alfa puede ser usado para monitorizar tendencias de la visibilidad cuando la
visibilidad es mayor de 4000 metros, aunque la precisión de alfa estará limitada en dichos casos.
𝑢𝑑𝑠:[ V]
Visibilidad:
Éste el dato más relevante, indica la distancia estimada a la que es posible ver con claridad.
𝑢𝑑𝑠:[m]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.5.4. Implementación software
Tal como se ha comentado anteriormente, el sensor de visibilidad no dispone de ningún pin que
nos permita acceder o modificar su configuración, estos valores son fijos, y son los siguientes:
-Comunicación por RS232, 1200 Baudios, 8N1 (8 bits de datos, sin paridad, 1 bit de parada)
-Emisión de una trama de medidas cada 30 segundos
-Warmup time de 30 segundos(se envía la primera trama de medidas 30 segundos despues del
encendido)
En la siguiente imagen se muestra parte del código del driver para el manejo del sensor(entorno
de desarrollo IAR) [5]:
Se asigna cada parametro a una variable para posterior procesado, el código se ha detenido
debido a un break point al salir de la función encargada de la asignación para poder observar el
funcionamiento interno del código.
Ilustración 47: Entorno de desarrollo IAR para observar datos extraídos
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.6. Wave and tide sensor 4648AR
3.6.1. Características
Imagen del sensor:
Nombre Wave and tide sensor 4648AR
Serial 619
Marca AADI AANDERAA
Tipo comunicación RS232
Baud Rate Configurable
Intervalo salida de datos Desde 1 seg hasta 255 minutos
Alimentación 5 a 14 voltios DC
Tiempo de encendido: 60 segundos
Consumo: <100 mA alimentado a 12 Voltios (8-14)
Salidas Analógica 0-5 Voltios y digital RS232
Rango de presiones Desde 0 hasta 400kPa
Velocidad de muestreo: 1Hz o 2Hz
Profundidad máxima funcionamiento 30 metros
Tabla 16: Características Wave and tide sensor 4648AR
Ilustración 48: Sensor Wave and Tide 4648AR
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.6.2. Montaje
El pinout es el siguiente:
El sensor tiene una salida de 10 pines, el fabricante nos proporciona un cable 4763A que
convierte estos 10 pines en 8.
Realmente lo que interesa aquí es el pinout del cable, que es el que se conectará al adaptador,
y de ahí al microcontrolador.
Como se puede ver, los pines se corresponden con V++ y GND (alimentación y tierra) y 4 pines
más para poder recibir y emitir de forma diferencial (Tx transmisor y Rx receptor)
El sensor se puede alimentar con una tensión que puede variar en el rango entre 5 y 14 voltios
Foto del cable del sensor:
Ilustración 50: Pinout Cable 4763A Ilustración 49: Pinout Wave and tide 4648AR
Ilustración 51: Cable de salida del sensor Wave and tide 4648AR
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Para la comunicación con el sensor será necesario usar un adaptador TTL-RS422, que se muestra
a continuación:
Ilustración 52: Convertidor TTL-RS232
La parte con los pines macho es la que se corresponde al lado TTL (tal como está indicado en la
parte superior del convertidor), a ésta es a la que se conectarán los pinex TX RX y GND del
microcontrolador(cables amarillos), por otro lado la parte 422 se corresponde con RS422, por lo
que se conectará al sensor.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.6.3. Medidas proporcionadas
Diagrama de flujo del sensor:
Microcontrolador EFM32G210
Configura microcontrolador
¿Datos correctos? Enviar datos
Apagar sensor
Si
Configurarsensor
No
Enciender sensor
Esperar WARMUP
time
Pedir datos sensor
Esperar tiempo
configurado
Ilustración 53: Diagrama de flujo de medidas Wave and tide 4648AR
Un perfilador de corriente tiene como objetivo medir la velocidad y la direccion de la corriente
en multiples capas a traves de la columna de agua.
Para ello se hace uso del efecto doppler, que nos permite calcular la velocidad a la que se mueve
el agua midiendo los cambios en la frecuencia que se producen en el pulso que emitimos y que
será reflejado en el agua.
Explicación de las medidas proporcionadas por el sensor:
Presión (pressure):
La presión que medirá el sensor es causada por el peso de la columna de agua, incluyendo la
presión atmosférica sobre la superficie del agua.
𝑢𝑑𝑠: [𝑘𝑃𝑎]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Temperatura (temperature):
La temperatura a la que se encuentra el sensor.
Es usada principalmente para compensar la lectura de la presión ante las variaciones creadas
por cambios en la temperatura.
𝑢𝑑𝑠:[°C]
Presión en la ola (tide pressure):
Es la presión media, se calcula mediante la fórmula 𝑃 = 𝑝𝑔ℎ + 𝑃𝑎𝑡𝑚 donde 𝑃 es la presión
media, 𝑝 es la densidad del agua, 𝑔 es el valor de la gravedad, ℎ es la profundidad a la que está
el sensor (medida desde la media de altura de la ola hasta el sensor) y 𝑃𝑎𝑡𝑚 es la presión
atmosférica.
𝑢𝑑𝑠: [kPa]
Nota: 𝑃𝑎𝑡𝑚 y 𝑔 son parámetros configurables por el usuario que permiten obtener valores más
exactos de presión.
Altura de la ola (wave height):
La altura media de la ola
𝑢𝑑𝑠:[𝑚]
Altura significativa de la ola (significative wave height):
Altura media del tercio de las mayores olas observadas.
Es una aproximación de la altura de las olas observadas puesto que tendemos a prestar más
atención a las olas más altas.
𝑢𝑑𝑠:[m]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Altura máxima de la ola (máximum wave height):
Es una estimación estadística de la mayor altura esperada de la ola teniendo en cuenta los
valores obtenidos hasta el momento, el cálculo se realiza mediante un modelo gaussiano.
𝑢𝑑𝑠:[m]
Periodo medio de la ola (mean wave period):
Es el valor medio de todos los periodos de las olas en un intervalo de tiempo determinado.
𝑢𝑑𝑠:[s]
Periodo de la ola con mayor energía (peak wave period):
El sensor almacena el valor del periodo de la ola con más energía que haya registrado.
Periodo energético de la ola (energy wave period):
Se define como: 𝑇𝑚−10 =𝑚−1
𝑚0
Se utiliza para los cálculos de la energía de la ola: 𝐽 = 0.49 𝐻𝑚02 𝑇𝑚−10 [
𝑘𝑊
𝑚]
𝑢𝑑𝑠:[s]
Mean zerocrossing period:
Se define como: 𝑇𝑚2 = √𝑚0
𝑚2
𝑢𝑑𝑠:[s]
Estabilidad de la ola (steepness):
Se define como: 𝐸 = 𝐻
λ
Donde 𝐻 es la altura de la ola
Cuando 𝐸 alcanza un valor mayor que 1/7 la ola se vuelve inestable (teorema de Stokes)
𝑢𝑑𝑠: [no units]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Irregularidad:
𝑄𝑝 =2
𝑚02 ∫ 𝑓
∞
0∗ 𝑆2(𝑓)𝑑𝑓 =
2
𝑚02 ∑ 𝑓𝑖
𝑁
0𝑆2(𝑓𝑖)
En general un mar más en calma tendrá un espectro de olas más reducido (estrecho) que un mar
más revuelto o activo (𝑄𝑝 mayor)
Un mar más irregular dará como resultado un espectro mayor y un valor 𝑄𝑝 más pequeño.
𝑢𝑑𝑠: [no units]
Frecuencia de corte (Cut-Off frequency):
Es calculada como: 𝑓𝑐𝑢𝑡−𝑜𝑓𝑓 = 0.282 √𝑔
𝑑 donde 𝑔 es la gravedad y 𝑑 es la profundidad del
sensor.
𝑢𝑑𝑠:[Hz]
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
3.6.4. Implementación software
La comunicación se hará por RS422, con una velocidad de 9600 Baudios y 8N1 (8 bits de datos,
sin paridad, 1 bit de parada)
Estructura genérica de los comandos:
Donde:
<Set\Get>:
Se utiliza en algunos comandos para sobreescribir el valor del sensor(Set) o para leer el valor
que el sensor tiene configurado actualmente(Get)
<Propiedad>:
El sensor tiene en su manual una descripción de todas las propiedades que pueden usarse, en
esta implementación solo se hará uso de enable decimalformat, passkey, interval y Tidal Average
Period.
<(Parámetro)>:
Cuando se usa el modo Set para sobreescribir alguna propiedad del sensor, se cambiará el valor
de dicha propiedad por el nuevo valor indicado por el parámetro.
<LF>:
Carácter ASCII line feed, en hexadecimal 0x0A, se codifica en código c como ‘\n’
Lista de comandos que se utilizan en la implementación:
Propiedad decimalformat:
Activa el modo decimal en el sensor(si estaba previamente activado no tiene ningun efecto).
<Set\Get> <Propiedad><(Parámetro)><LF>
set enable decimalformat(yes)<LF>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
El sensor responde el carácter ascii ‘#’ cuando se ejecuta correctamente (a modo de ACK)
El sensor responde indicando si el modo decimal está actualmente activado (Yes) o no lo
está(No).
Propiedad passkey:
El sensor dispone de un modo seguro para evitar que se modifiquen propiedades importantes
por error, para obtener permiso de modificación en dichas propiedades, previamente debemos
confirmar con esta propiedad, el sensor responde el carácter ascii ‘#’ cuando se ejecuta
correctamente (a modo de ACK).
Propiedad Interval:
Configura cada cuantos segundos el sensor envía una trama de datos, este intervalo puede variar
entre 1 y 255 segundos, en esta implementación se usará un tiempo de 10 segundos.
El sensor responde el carácter ascii ‘#’ cuando se ejecuta correctamente (a modo de ACK).
El sensor responde con el intervalo actual que está configurado en el sensor, seguido de un ACK
‘#’.
get enable decimalformat<LF>
set passkey(1)<LF>
set Interval(10)<LF>
<LF>
get Interval<LF>
<LF>
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4. Comunicación microcontrolador-sensor
4.1. Los protocolos serie
Se denomina comunicación serie a una en la que los bits viajan de uno en uno por la línea de
transmision, llegando en el mismo orden en el que se transmiten.
La comunicación se establece por tanto entre dos puntos, uno llamado transmisor y otro
llamado receptor.
Para que la comunicación sea posible, es necesario que ambos extremos tengan las mismas
características, las principales son:
Velocidad de transmisión (baud rate):
Indica el número de bits por segundo que se transfieren, se mide en baudios (bauds). Por
ejemplo, 9600 baudios significa que se enviarán 9600 bits cada segundo. Relacionando esto con
los ciclos de reloj, se dice que si queremos transmitir con una tasa de 9600 bits por segundo, el
puerto serial necesitará muestrear la línea de transmision 9600 por segundo(es decir a 9600 Hz).
Algunas de las tasas de transmisión más usadas para las comunicaciones de sensores son:
1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400 (bits por segundo)
Hay que tener en cuenta que a mayor velocidad de transmisión, menor distancia máxima posible
para la comunicación. Cuando los dispositivos a conectar se encuentran muy cerca el uno del
otro, se pueden usar velocidades muy elevadas.
Bits de datos:
No hay un estándar definido en el numero de bits de datos que va en cada paquete de
información, en general este número suele ser de 8 bits en cada paquete, pero puede
configurarse por 5 o 7 bits por ejemplo.
Esta flexibilidad permite por tanto un mejor aprovechamiento en el envío de los datos , por
ejemplo para ASCII se usan 7 bits porque tiene unos valores entre 0 y 127, mientras que para
ASCII extendido se requieren 8 bits (0 a 255)
Un paquete se refiere a una transferencia de datos (5,7,8 bits) y los bits de inicio/parada, bits de
datos, y paridad.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Bits de parada:
Se requieren para indicar el fin de la transmisión de cada paquete. Generalmente suelen usarse
valores de 1, 1.5 o 2 bits.
Estos bits además se utilizan para dar cierto margen de sincronismo entre ambas partes, puesto
que cada uno tiene su reloj propio, dando un cierto margen de bits, se permite reducir este
problema.
Por lo tanto, los bits de parada no sólo indican el fin de la transmisión sino además dan un
margen de tolerancia para esa diferencia de los relojes. Es decir incrementando el número de
bits de stop se incrementa la tolerancia de la línea ante desincronización, pero también se
reducirá la velocidad a la que la línea transmitirá (se desperdician mas bits en cada paquete)
Paridad:
Se utiliza como método simple de detección de errores en la transmisión serial. Pueden
configurarse 5 tipos de paridad en la comunicación:
Ninguna, par, impar, marcada y espaciada.
En la par e impar, se fija el bit de paridad (éste es el siguiente bits después de los bits de datos)
de forma que la suma de bits en estado alto ( 1 ) sea par o impar (dependiendo de la elegida).
Por ejemplo, si se desea transmitir 101 y la paridad es par, el bit de paridad sería 0 para mantener
el número de bits en estado alto como par. Si se hubiera seleccionado impar, entonces el bit de
paridad se fijaría a 1, para tener 3 bits(un número impar) en estado alto lógico. La paridad
marcada y espaciada fijan el valor del bit de paridad a alto si es marcada y a bajo si es espaciada,
sin comprobar los bits de datos. Esto se usa para que el dispositivo receptor conozca el valor de
un bit de forma fija y pueda saber si hay ruido que afecte a la comunicación o si los relojes no
están sincronizados.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4.2. Convertidores usados
4.2.1. TTL-RS232
Imagen del convertidor
Ilustración 54: Convertidor TTL-RS232
La parte inferior UART TTL se corresponde con la conexión al microcontrolador, y la parte
superior con pines macho es la que corresponde a RS232 y la que se conectará al sensor.
El convertidor requiere una tension de 3.3 voltios en el pin 3.3V (se alimenta desde la parte TTL)
Está diseñado para que su uso sea lo más simple posible, por ello se puede conectar
directamente a la placa sin más que “pincharlo” en ella:
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ilustración 55: Convertidor TTL-RS232 integrado en placa SB
La parte superior RS232 es la correspondiente al estándar DB9 y puede también conectarse
usando los cables DB9 genéricos, que harán que transmisor receptor y tierra se correspondan
pin a pin.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4.2.2. TTL-RS485
Imagen del convertidor
A la parte inferior se conectan los pines correspondientes del microcontrolador(Parte TTL) y a la
parte superior los correspondientes al sensor.
En RS485 solo se puede transmitir o recibir en un mismo instante de tiempo (semi -dúplex) por
lo que es necesario un pin de enable (EN) que habilite uno de estos sentidos, por otro lado u sa
tensiones balanceadas, (DATA- y DATA+), correspondientes a los pines de RS485(parte superior)
B y A.
El pin EN se pone a nivel alto cuando el microcontrolador requiere transmitir algo, el resto del
tiempo está a nivel bajo para habilitar la recepción (para poder recibir las transmisiones del
sensor) y disminuir el consumo.
El convertidor requiere una tensión de alimentación de 3.3 voltios en el pin 3.3
Ilustración 56: Convertidor TTL-RS485
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Ilustración 57Convertidor TTL-RS485 integrado en placa SB
En la imagen superior se puede ver el adaptador TTL-RS485 utilizándose en una de las placas
que montan el microcontrolador.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4.2.3. TTL-RS422
Imagen del convertidor
Ilustración 58: Convertidor TTL-RS422 [14]
Pinout del convertidor
Ilustración 59: Pinout Convertidor TTL-422
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Parte RS422 Parte TTL
Pin 2: TX- Pin 7: GND
Pin 3: RX- Pin 9: RX
Pin 14: TX+ Pin 14: TX
Pin 16: RX+
El convertidor requiere una tensión de alimentación de 12 voltios, y tiene un consumo en
funcionamiento inferior a 80mA
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4.2.4. TTL-USB
Imagen del convertidor
Pinout del convertidor
La parte USB usa un conector microusb que no requiere más mención, puesto que el cable
obedece un formato estándar, por otro lado en la parte TTL es necesario conectar los pines GND
RX Y TX, el pin 3.3V obtiene la alimentación del puerto USB del ordenador, por lo que se puede
usar dicho pin para alimentar otros dispositivos.
Ilustración 60: Convertidor TTL-USB
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
4.2.5. RS232-DCP
Imagen del convertidor
Es un convertidor propietario que se proporciona junto a la sonda multiparamétrica EXO2, será
necesario su uso para comunicarse con el microcontrolador.
Requiere una tensión de alimentación de entre 9 y 16 voltios.
Por el lado RS232 será necesario conectar TX RX y GND, y por el lado DCP hacer uso del manual
de colores y la numeración que proporciona el fabricante.
El propio convertidor es capaz de detectar (una vez alimentado) si hay sonda o no conectada,
de tal forma que si se usa con la sonda desconectada, devuelve “Error, no sonde!” para indicar
que no hay ninguna sonda conectada o que esta ha sido conectada de forma errónea.
Ilustración 61: Convertidor RS232-DCP
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
5. Pruebas de consumo
5.1. Consumo de la placa genérica
Los sensores se van a conectar en una placa genérica (la SB), donde va incluido el
microcontrolador, ésta placa tiene un consumo constante que no depende de los sensores
conectados a ella.
Cuando todo el sistema está parado el consumo es de 210μA, es decir es el consumo que se produce en el tiempo entre medidas, en el que la placa está dormida. Cuando la placa está tomando medidas (esperando respuesta del sensor, comunicándose, etc… el consumo sube hasta los 60mA. Además el TCI se despertará cada 3 minutos durante medio segundo, consumiendo 60mA, por lo que el consumo medio del TCI será de 0,178mA El tiempo que la placa estará activa dependerá del tiempo de actividad requerido por cada sensor en particular.
5.2. Consumo de los sensores por separado
Nombre sensor Consumo activo Tiempo de actividad
2-D Electromagnetic Current
Meter
41 mA 30 segs
AQUADOPP PROFILER
(AQUAPRO 1MHZ)
80 mA 1 min 20 segs
Weatherstation compact
WSC 11 4.9056.10.000
90 mA 1 min 45 segs
EXO2 Sonde 55 mA 26 segs
MiniOFS 40 mA 30 segs
Wave and tide sensor
4648AR
50 mA 23 segs
Tabla 17: Consumo sensores por separado
El consumo activo de cada sensor ha sido medido durante un intervalo de tiempo haciendo uso
de un amperímetro en serie, que permite calcular la corriente media que está circulando.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Cada sensor tiene un tiempo de actividad distinto, puesto que algunos sensores estan listos para
dar medidas en sólo 23 segundos mientras que otros tardan hasta 1 minuto y 45 segundos en
dar medidas válidas.
5.3. Cálculo de la autonomía
La fórmula realizada para el cálculo de la autonomía será la siguiente:
𝐶𝑎𝑝𝑎𝑐𝑖𝑑𝑎𝑑 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑡𝑒𝑟í𝑎(𝑚𝐴𝐻)
𝐶𝑜𝑛𝑠𝑢𝑚𝑜 𝑚𝑒𝑑𝑖𝑜 (𝑚𝐴)∗ 𝑓𝑎𝑐𝑡𝑜𝑟 𝑑𝑒 𝑟𝑒𝑛𝑑𝑖𝑚𝑖𝑒𝑛𝑡𝑜 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑡𝑒𝑟í𝑎
La capacidad de la batería es de 7000mAH.
Ilustración 62: Batería del montaje
El consumo medio dependerá del sensor, puesto que tienen distintos consumos y tiempos de
inicialización.
El factor de rendimiento de la batería considerado será 0.85, para tener en cuenta un posible
desgaste de la batería.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
Mediante una tabla de excel se pueden calcular fácilmente los valores obtenidos:
Se considera un consumo pasivo en los sensores de 0 mA puesto que la alimentación de los
sensores es cortada tras la recepción de una trama de medidas correcta.
Así mismo hay que mencionar que se ha sumado a todos los sensores un consumo pasivo de
0,168mA perteneciente al TCI (debido a los envíos periódicos de dicho componente) .
En la tabla se puede ver que el sensor que tendrá menor autonomía será la estación
meteorológica Weatherstation compact WSC11, esto es debido a que el tiempo de requerido
para proporcionar medidas es bastante mayor que el resto, y esto dispara su consumo.
Para poder proporcionar un funcionamiento prolongado será necesario instalar paneles solares
que se encarguen de recargar las baterías para evitar su completo agotamiento.
Consumo activo(mA)
Tiempo activo(mA)
Consumo pasivo(mA)
Consumo medio(mA)
Días de autonomía (días)
Placa genérica 60 1 0,368 4,343466667 57,07806361
2-D Electromagnetic Current Meter
41 0,5 0 3,7224 66,60129665
AQUADOPP PROFILER (AQUAPRO 1MHZ)
80 1,33 0 12,748704 19,44642112
Weatherstation compact WSC 11
4.9056.10.000 90
1,75 0 17,82506667 13,90831638
EXO2 Sonde 55 0,43 0 3,654117333 67,84584184 MiniOFS 40 0,5 0 3,689066667 67,2030866
Wave and tide sensor 4648AR
50 0,39 0 3,218432 77,03026401
Ilustración 63: Consumo calculado para los sensores
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
6. Conclusión
Una vez finalizado el proyecto y analizando los resultados obtenidos, se pueden obtener las
siguientes conclusiones:
Se ha conseguido diseñar un dispositivo con un consumo bastante pequeño y que hará que se
disponga de una gran autonomía.
La mayoría de las pruebas realizadas han sido en laboratorio en ambientes controlados, no
obstante las pruebas y predicciones se han realizado en unas condiciones peores a las que se
expondrán en el ambiente real, por lo que los resultados serán mejores.
La idea de realizar un corte en la alimentación a los sensores cada vez que se haya comple tado
una toma de medida ha resultado muy satisfactoria en términos energéticos. Puesto que la
mayoría de los sensores cuando entraban en modo sleep, tenían un consumo pequeño pero que
aun así mermaba la duración de la batería.
También se ha conseguido crear un driver de comunicación que sea aplicable a otros sensores
en un futuro, enfocado por tanto a que sea genérico y permita nuevas integraciones con
facilidad siempre que éstos nuevos sensores usen el protocolo serie como medio de
comunicación, siendo sólo necesario cambiar la etapa hardware en caso de que dicho protocolo
sea distinto a RS422 RS485 o RS232 (y esto es únicamente debido a los nuevos nieveles de
tensión exigidos por el hardware).
Por otro lado decir que he aprendido mucho realizando el prese nte proyecto, y que me ha
gustado formar parte en la creación de un proyecto que va a tener una aplicación real en la
actualidad. No sólo he aplicado los conocimientos de los que ya disponía, sino que he aprendido
cosas nuevas día a día, en especial el manejo de los analizadores lógicos [7] ha resultado ser muy
valioso tanto para la realización y detección de errores como para futuros proyectos.
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
7. Bibliografía
[1] Tecnoport2025, «www.tecnoport2025.es,» [En línea]. Available: http://www.tecnoport2025.es/.
[2] FiWare, «www.fiware.org/,» [En línea]. Available: https://www.fiware.org/. [3] Silicon Labs, EFM32G210 Datasheet [4] Silicon Labs, EFM32G Reference Manual [5] IAR SYSTEMS, «iar.com,» [En línea]. Available: https://www.iar.com/iar-embedded- workbench/ [6] Docklight, «docklight.de,» [En línea]. Available: http://docklight.de/. [7] IKALOGIC, «ikalogic.com,» [En línea]. Available: http://www.ikalogic.com/ikalogic-products/scanaplus-9-channels-100mhz-logic-analyzer/. [8] Aquadopp Profiler, «nortek-as.com,» [En línea]. Avaiable: http://www.nortek-as.com/en/products/current-profilers/aquadopp-profiler [9] 2-D Electromagnetic Current Meter, «jfe-advantech.co.jp,» [En línea]. Avaiable: http://www.jfe-advantech.co.jp/eng/ocean/infinity/infinity-em.html [10] Weatherstation compact WSC 11 4.9056.10.000, « thiesclima.com,» [En línea]. Avaiable: http://www.thiesclima.com/WSC11_e.html [11] EXO2 Sonde, «exowater.com,» [En línea]. Avaiable: http://www.exowater.com/exo2 [12] MiniOFS, «opticalsensors.se,» [En línea]. Avaiable: http://www.opticalsensors.se/MiniOFS.html [13] Wave and tide sensor 4648AR, «aanderaa.com,» [En línea]. Avaiable: http://www.aanderaa.com/media/pdfs/Wave-and-Tide-Sensor-4648.html [14] Convertidor TTL-RS422, , «bb-elec.com,» [En línea]. Avaiable: http://www.bb-elec.com/Products/Serial-Connectivity/Serial-Converters/TTL-Converters.aspx
SISTEMA MICROCONTROLADOR PARA EL CONTROL DE SENSORES MEDIANTE COMUNICACION
SERIE
DATOS DE CONTACTO
Juan Manuel González Romo
-954-48-59-66
- 954-48-73-73
Grupo de Ingeniería Electrónica – Departamento de Ingeniería Electrónica Escuela Técnica Superior de Ingenierías – Universidad de Sevilla //AICIA
41092 Camino de los Descubrimientos s/n - Isla de la Cartuja – Sevilla