scieee AI-readable full text Open interactive document viewer

Práctica de desarrollo de una red de sensores basada en la programación de microcontroladores para sistemas en tiempo real

Cerezuela Escudero, Elena; Durán López, Lourdes; Gutiérrez Galán, Daniel; Domínguez Morales, Juan Pedro; Ríos Navarro, José Antonio; Jiménez Fernández, Ángel Francisco

Abstract

Este artículo presenta una práctica de laboratorio impartida mediante una metodología de aprendizaje basado en proyectos cuyo objetivo principal es adqui rir la capacidad de programación de microcontrolado res para el diseño e implantación de una red de co municación inalámbrica de bajo consumo en el ámbi to de las comunicaciones industriales. Este proyecto se desarrolla en las sesiones prácticas de la asignatura Comunicaciones Industriales del Máster Universitario en Sistemas Inteligentes en Energía y Transporte cuyas competencias contemplan la capacidad para planificar la instalación de redes de comunicación en entornos industriales, así como la aplicación de los conocimientos adquiridos en la resolución de proble mas multidisciplinares. El proyecto de laboratorio expuesto en este trabajo abarca ambas competencias, ya que propone establecer una red de control jerár quica en las comunicaciones industriales mediante la programación de microcontroladores, abordando el desarrollo de sistemas empotrados en tiempo real. Los dispositivos empleados para establecer la red de sensores son módulos XBee conectados a un puerto UART de un microcontrolador ARM Cortex-M0 para establecer comunicación serie asíncrona entre el módulo XBee y el microcontrolador. La arquitectura de la red está basada en la topología estrella. El módulo XBee central está conectado a través de un puerto COM Virtual a un PC. En el PC se ejecuta una interfaz de usuario desarrollada en lenguaje C# usan do el entorno Visual Studio basada en la interfaz gráfica Windows Forms.

Full text

Práctica de desarrollo de una red de sensores basada en la programación de microcontroladores para sistemas en tiempo real Elena Cerezuela-Escudero, Lourdes Duran-López, Daniel Gutiérrez-Galán, Juan Pedro Domínguez-Morales, Antonio Ríos-Navarro, Ángel Jiménez-Fernández Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla Sevilla [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumen Este artículo presenta una práctica de laboratorio impartida mediante una metodología de aprendizaje basado en proyectos cuyo objetivo principal es adquirir la capacidad de programación de microcontroladores para el diseño e implantación de una red de comunicación inalámbrica de bajo consumo en el ámbi- to de las comunicaciones industriales. Este proyecto se desarrolla en las sesiones prácticas de la asignatura Comunicaciones Industriales del Máster Universitario en Sistemas Inteligentes en Energía y Transporte cuyas competencias contemplan la capacidad para planificar la instalación de redes de comunicación en entornos industriales, así como la aplicación de los conocimientos adquiridos en la resolución de problemas multidisciplinares. El proyecto de laboratorio expuesto en este trabajo abarca ambas competencias, ya que propone establecer una red de control jerárquica en las comunicaciones industriales mediante la programación de microcontroladores, abordando el desarrollo de sistemas empotrados en tiempo real. Los dispositivos empleados para establecer la red de sensores son módulos XBee conectados a un puerto UART de un microcontrolador ARM Cortex-M0 para establecer comunicación serie asíncrona entre el módulo XBee y el microcontrolador. La arquitectura de la red está basada en la topología estrella. El módulo XBee central está conectado a través de un puerto COM Virtual a un PC. En el PC se ejecuta una interfaz de usuario desarrollada en lenguaje C# usando el entorno Visual Studio basada en la interfaz gráfica Windows Forms. Abstract This article presents a laboratory practice taught by project-based learning methodology whose main objective is to acquire the ability to program microcontrollers for the design and implementation of a low-power wireless communication network in the field of industrial communications. This project is developed during the practical sessions of the Industrial Communications subject of the Máster Universitario en Sistemas Inteligentes en Energía y Transporte, whose skills include the ability to plan the communication network installation in industrial environments, as well as the application of the knowledge acquired in the resolution of multidisciplinary problems. The laboratory project exposed in this work covers both skills because it proposes to establish a hierarchical control network in industrial communications through the programming microcontrollers, addressing the development of embedded real time systems. The devices used to establish the sensor network are XBee modules connected to a UART of an ARM Cortex-M0 microcontroller to establish asynchronous serial communication between the XBee module and the microcontroller. The network’s architecture is based on a star-shaped topology. The central XBee module is connected through a Virtual COM port to a PC. A user interface is executed on the PC; it is developed in C# language using the Visual Studio environment based on a graphical interface Windows Forms. Palabras clave Microcontrolador, sensores, actuadores, sistema en tiempo real, red inalámbrica, XBee. 1. Introducción La asignatura Comunicaciones Industriales es una de las asignaturas del Máster Universitario en Sistemas Inteligentes en Energía y Transporte. Este plan de estudios es una iniciativa enmarcada dentro del Campus de Excelencia Internacional Andalucía Actas de las Jenui, vol. 6. 2021. Páginas: 311-314 311 TECH para responder a la necesidad de ingenieros de alta cualificación en áreas relacionadas con la aplicación de las TICs a sectores como la Energía, el Medio Ambiente o el Transporte. El propósito principal de este máster es formar titulados de distintas ramas de la Ingeniería para que desempeñen labores profesionales e investigadoras relacionadas con la aplicación de la Electrónica, la Informática y las Comunicaciones en el ámbito de las ciudades inteligentes (Smart Cities), redes eléctricas inteligentes (Smart Grids), energías renovables, transporte inteligente y automatización avanzada de edificios. La asignatura Comunicaciones Industriales forma parte del módulo de formación común y su competencia específica es dotar al alumno de la capacidad para seleccionar, diseñar, proyectar e implantar infraestructuras de comunicaciones seguras y eficientes en aplicaciones industriales, y en especial en sistemas con inteligencia distribuida. La incorporación de las comunicaciones al proceso de producción industrial proporciona mejora del rendimiento y flexibilidad porque permite la supervisión del proceso, toma de datos instantánea, control a distancia, detección y corrección de fallos. Por la complejidad y exigencias del proceso productivo, se proponen modelos jerárquicos para la implantación de sistemas automáticos, siendo el modelo Computer Integrated Manufacturing (CIM) de los más difundidos [3]. Este modelo propone la división en niveles funcionales, de forma que cada nivel se caracteriza por llevar a cabo labores específicas, requiriendo cada uno un tipo de información y procesamiento diferente. El flujo de información se produce entre los elementos de un mismo nivel y con los niveles adyacentes. El nivel 1, denominado Sensor y Actuador, está formado por los dispositivos de campo que interactúan con el proceso, como son los sensores, cuya función es medir datos relevantes para el proceso, los elementos de control, y los actuadores, que se encargan de ejecutar las órdenes indicadas por los elementos de control para modificar el proceso. En este nivel, el ancho de banda no es un requisito crítico, porque los mensajes a transmitir son de longitud reducida (del orden de bits o bytes), pero sí es un requisito crítico cumplir con restricciones temporales. La aplicación de microcontroladores como elementos de control en este nivel de la jerarquía resuelve la conexión y control de los sensores/actuadores y aporta herramientas para las restricciones temporales, todo ello a bajo coste y bajo consumo. Para reducir el coste y el consumo energético, alargando la vida útil de las baterías, se propone el uso de la tecnología XBee para la comunicación de los elementos de control (https://www.digi.com/xbee). Esta tecnología sigue el estándar Zigbee [2], cuyo ancho de banda supera el necesario al establecido para el nivel Sensor y Actuador del modelo CIM. En este artículo se describe el proyecto final realizados en varias sesiones prácticas de la asignatura Comunicaciones Industriales, que consiste en configurar e implementar una red de comunicación inalámbrica basada en microcontroladores y tecnología XBee. 2. Metodología de aprendizaje Con los objetivos de fomentar el aprendizaje y motivar al alumnado, se trabajan los contenidos de forma práctica aplicando la metodología pedagógica de Aprendizaje Basado en Proyecto (ABP) [4]. Con esta metodología se adquieren tanto los conocimientos técnicos como las siguientes competencias transversales: capacidad de resolución de problemas, trabajo en equipo, habilidad de comunicación oral y escrita, adaptación a situaciones nuevas, planificación y organización [1]. El proyecto consiste en el desarrollo de una red inalámbrica en topología en estrella basada en microcontroladores y tecnología XBee. Cada microcontrolador tiene que gestionar un sensor y un actuador, excepto el nodo central que se encarga del envío/recepción de datos al resto de nodos. Para controlar y monitorizar el sistema se realiza una interfaz gráfica para PC. Previamente, se han realizado otras sesiones prácticas con la misma metodología de aprendizaje pero con proyectos menos complejos, para adquirir los conocimientos básicos sobre programación de microcontroladores para la lectura de sensores analógicos, el control de actuadores y la comunicación por el puerto serie asíncrono. Para la programación de este tipo de sistemas, que requiere un control temporal de la repuesta, se han explicado los diferentes métodos para un implantar un sistema en tiempo real; procesamiento secuencial, procesamiento mediante interrupciones y sistemas operativos en tiempo real. En el apartado 4 se explica en detalle la dinámica seguida para la realización de este proyecto. 3. Descripción del material A continuación, se describen los elementos hardware requeridos y las aplicaciones software necesarias para la configuración y el desarrollo del sistema. 3.1. Placa de desarrollo FRDM-KL25Z Placa de desarrollo fabricada actualmente por la compañía NXP, basada en un microcontrolador Kinetis ARM Cortex-M0+. Características hardware: • 48MHz, 16KB RAM, 128KB FLASH • USB (Host/Device) • SPI (Serial Peripheral Interface) (2) 312 Actas de las Jenui, vol. 6. 2021. Pósteres • I2C (Inter-Integrated Circuit) (2) • UART (Universal Asynchronous Receiver- Transmitter) (3) • ADC (Analog-to-Digital Converter) (16 bit) • DAC (Digital-to-Analog Converter) (12bit) • GPIO (General-Purpose Input/Output) (66) Esta placa supera los requisitos hardware del sistema a desarrollar, pero se ha decidido seleccionar una placa con un microcontroladores ARM para que practiquen con la tecnología actual en este ámbito. Esta placa está provista de un adaptador OpenSDA cuya funcionalidad simplifica la grabación del firmware en la memoria FLASH y permite la comunicación con el PC por el puerto COM virtual. 3.2. Módems XBee XBee es una familia de módulos de radio que proveen conectividad inalámbrica con otro dispositivo de la misma serie. El fabricante, Digi International Inc., ofrece módulos que implementan diferentes protocolos de comunicación inalámbrica como Wi-Fi y Zigbee [2]. Son apropiados para aplicaciones de bajo consumo por su capacidad de pasar de inactivo a activo en menos de 30 milisegundos. Están provistos de interfaz UART para la comunicación con microcontroladores. En este proyecto se usan los módulos XBee-PRO S2C, que se entregan junto a una placa adaptadora para facilitar la conexión al microcontrolador. Para la configuración inicial de los módems desde el PC, se usa una placa intermedia con un puerto USB que permite la comunicación serie con el módem. 3.3. Sensor y actuador Los nodos finales constan de un sensor de temperatura y un servomotor de modelismo (servo). • Sensor de temperatura analógico MCP9700A: sensor que contiene Linear Active Thermistor Integrated Circuit que convierte la temperatura a voltaje. De forma que la temperatura se obtiene por la relación lineal con el voltaje generado, conociendo el coeficiente de temperatura (Voltios/º Celsius) y el voltaje a 0º Celsius. • Micro Servo 9g: servo de bajo coste, con una rotación máxima de 180 grados y alimentación requerida de 4.8 voltios. 3.4. Aplicaciones software Los módems XBee tienen disponible dos modos de funcionamiento: el modo API y el modo trasparente. El modo de funcionamiento transparente implementa un puerto serie asíncrono para enviar la información sin formato. Se ha seleccionado este modo para aprovechar la potencia de la comunicación serie asíncrona en redes de con los requisitos: bajo ancho de banda, respuesta en tiempo real y simplicidad de implementación. Además, los módulos XBee pueden actuar como coordinador, enrutador o dispositivo final. Como la topología de la red propuesta es en estrella, todos los módems serán dispositivos finales excepto el nodo central que es coordinador. El software usado en el PC para realizar la configuración inicial de los módems XBee es XCTU, producto gratuito de Digi multiplataforma (Windows, MacOS y Linux). Para la programación de los microcontroladores se va a usar el entorno de desarrollo online mBed (https://os.mbed.com/). Es una plataforma de desarrollo para microcontroladores en lenguaje C/C++. Tiene disponible una biblioteca para sistemas operativos en tiempo real y cientos de librería de periféricos y módulos reutilizables. Se ha optado por este entorno por su simplicidad de uso, disminuyendo el tiempo inicial de aprendizaje de una tarea ardua como es la programación de microcontroladores, sobre todo para este tipo de alumnos de perfil ingenieril pero en otras ramas diferentes a la informática. Para el desarrollo de la interfaz gráfica se usa el lenguaje C# usando el entorno Visual Studio basada en la interfaz gráfica Windows Forms. 4. Desarrollo del proyecto A continuación, se describe la dinámica de las dos sesiones prácticas, cada sesión de dos horas, en las que se trata este proyecto. Una semana antes de la sesión práctica, los alumnos tienen disponible un documento en el que se describe el caso práctico a implementar: desarrollo de una red inalámbrica con topología en estrella mediante módems XBee y microcontroladores. Cada microcontrolador está conectados a un sensor de temperatura y a un servo. El sistema está monitorizado y controlado por una interfaz gráfica para PC. Para el desarrollo del firmware de cada microcontrolador se hace entrega de un documento con los siguientes apartados: • Descripción de los módems XBee entregados y el proceso de configuración del nodo central y los dispositivos finales. • Esquema general de comunicaciones del sistema mostrado en Figura 1. • Funcionamiento del sistema a través de mensajes con órdenes desde el nodo central a los dispositivos finales y mensajes de datos desde los dispositivos finales al nodo central. • Diseño del sistema de comunicación mediante mensajes de 4 caracteres en el que el primer carácter identifica el comando, el segundo y tercer carácter se usan para enviar datos y el cuarto carácter para indicar el final de la trama. Se establece un carácter específico para indicar el final del mensaje. Cerezuela-Escudero et al.: Práctica de desarrollo de una red de sensores basada en la programación de microcontroladores para sistemas en tiempo real 313 El profesor comienza la sesión con una explicación del algoritmo para la recepción cíclica de los caracteres recibidos por el puerto serie asíncrono, tanto para un procesamiento secuencial como para un procesamiento mediante interrupciones generadas por la disponibilidad de un carácter en el puerto serie. El resto de conocimientos sobre programación para afrontar el firmware se ha trabajado en las anteriores sesiones prácticas: lectura de sensores analógicos, control de servo y envío por el puerto serie asíncrono. El nodo central está configurado y conectado al PC del profesor mediante una placa conversor a USB. En el PC del profesor se ejecuta una interfaz gráfica que lee la información del puerto serie (mensajes que han llegado al nodo central) y envía órdenes a cada uno de los módems XBee conectados para ser procesadas por el microcontrolador. Una vez que los alumnos han completado el firmware, se les entrega un documento con los contenidos necesarios para desarrollar la interfaz gráfica en Visual Studio y lenguaje C# usando Windows Forms. El desarrollo de la interfaz gráfica lo afrontan en la segunda sesión práctica. El desarrollo del firmware se realiza individualmente. En cambio, debido a la complejidad de enfrentarse a un entorno de programación y lenguaje que no se ha tratado previamente, se organizan en grupos de 4 o 5 alumnos para realizar la interfaz gráfica. El objeto de evaluación en esta actividad es un documento, realizado de forma individual, que recoja la solución completa para el caso práctico. 5. Resultados Desde el curso académico 16/17, se dedica el 30% de las sesiones de la asignatura a la programación de microcontroladores para desarrollar sistemas en tiempo real que requieren comunicación. El proyecto final expuesto en este artículo se ha realizado en los cursos 18/19 y 19/20. Se recogió la opinión de los alumnos mediante encuestas anónimas digitales en la última sesión práctica. El cuestionario está formado por las siguientes afirmaciones que el alumno puede evaluar de 1 a 5 según el grado de satisfacción: • Estoy satisfecho con la parte práctica. • Considero que he adquirido los conocimientos para diseñar, proyectar e implantar una red inalámbrica basada en microcontroladores. • Estoy satisfecho con la dinámica de las sesiones prácticas. • Considero que la programación de microcontroladores es de interés para mi formación. • Tenía conocimientos previos sobre programación de microcontroladores. En el curso 18/19 11 de los 12 alumnos matriculados completaron el cuestionario y en el curso 19/20 17 de los 19 alumnos. Los resultados para los 28 cuestionarios recogidos en los dos cursos, sin tener en cuenta la última cuestión, es de 4,2. Se observa como incluso para alumnos que indicaron que no tenían conocimiento previo en programación de microcontroladores, la valoración es mayor a 4. 6. Conclusiones En este documento hemos presentado la metodología seguida para el desarrollo de un caso práctico en las sesiones prácticas de la asignatura Comunicaciones Industriales. Con el enfoque que hemos elegido pretendemos acercar la programación con microcontroladores a alumnos de perfil ingenieril (excepto ingenieros informáticos) mediante una aproximación amena y atractiva. Además, mediante el aprendizaje basado en proyecto pretendemos formar a los alumnos en las competencias transversales: capacidad de resolución de problemas, trabajo en equipo, habilidad de comunicación oral y escrita, adaptación a situaciones nuevas, planificación y organización. Para posteriores cursos queremos hacer una evaluación de la metodología realizada de forma más exhaustiva para medir las habilidades adquiridas en esta parte de la asignatura. Referencias [1] Labra, J.E., Fernández, D., Calvo, J., Cernuda, A. Una Experiencia de aprendizaje basado en proyectos utilizando herramientas colaborativas de desarrollo de software libre. XII Jornadas de Enseñanza Universitaria de Informática (JENUI), Bilbao, Junio, 2006 [2] Ramya, C. Muthu, M. Shanmugaraj, y R. Prabakaran. Study on ZigBee technology. In 2011 3rd International Conference on Electronics Computer Technology, vol. 6, pp. 297-301. IEEE, 2011. [3] Scheer, August-Wilhelm. CIM Computer Integrated Manufacturing: Towards the Factory of the Future. Springer Science & Business Media, 2012. [4] Solomon, Gwen. "Project-based learning: A primer." Technology and learning-dayton- 23, no. 6 (2003): 20-20. Figura 1: Esquema de comunicación a implementar (tantos dispositivos finales como alumnos). 314 Actas de las Jenui, vol. 6. 2021. Pósteres