EMControl logo
ENFASYS Board ENFASYS EMC2 Board_RPi_DSP II PCB Connector Card RPi
Connector Card RPi Control BOT II

La EMCsControl es el corazón del sistema de control de ENFASYS. Es una plataforma de hardware abierta que puede ser integrada en diferentes factores de forma, teniendo aplicación en el control de electrónica de convertidores de potencia, sistemas de conversión de energía, almacenamiento de energía e integración de recursos distribuidos, medición y control en redes de distribución, etc…

La EMCsControl está basada en dos sistemas digitales diferentes, teniendo cada uno de ellos un rol diferente en el sistema de control. El sistema de control más interno se basa en uno de los controladores de tiempo real más potentes y populares, TMS320F28335 de Texas Instruments (TI F28335). Este controlador maneja los periféricos de entrada/salida (PWM, A/D, GPIO, Encoder signals) así como los buses de campo (CAN, SPI, SCI). También ofrece las especificaciones en tiempo real más difíciles en la tarjeta de control, en la que se implementan las capas de control interno para aplicaciones de conversión de potencia (control de variables eléctricas como corriente y control y velocidad / posición en unidades de alto rendimiento).

Las especificaciones más relevantes del subsistema TMS320F28335 se listan en la Tabla 1.

TMS320F28335 subsystem
Procesador TMS320F28335
Memoria RAM Hasta 1 MB
Memoria FLASH 512 KB
GPIO 14 GPIOs
PWM 12 (16 bit), 6 (32 bit)
A/D 16 (12 bit)
Quadrature Encoder 1 Encoder
Input Capture 2 ECAPs
CAN 2 (aislados)
UART 1
ISO-SPI 2 (aislados)

En cuanto al sistema de control externo, se utiliza un Compute Module 3+ (CM3) industrial de Raspberry Pi. La selección de este sistema da acceso al ecosistema de software de Linux, lo que le da a la plataforma de control una alta flexibilidad. Con respecto al sistema operativo, debe señalarse que el hardware se ejecuta casi en un sistema bare-metal mediante el uso de la imagen Boot2Qt y las extensiones de kernel en tiempo real proporcionadas por Xenomai. Para las comunicaciones de alta velocidad entre el CM3 y la TI F28335, se utiliza un bus SPI, con un rendimiento de 20 Mb/s. La función del CM3 en la EMCsControl es la ejecución de los lazos de control externo, con tiempos de muestreo típicamente en el rango de 1 ms; las comunicaciones externas que requieren acceso al stack TCP/IP; interfaz de usuario y almacenamiento de datos. Sobre el stack TCP/IP, los protocolos de comunicación en diferentes niveles están disponibles:

  • Para la integración con otros recursos distribuidos y medidores de energía, se utiliza Modbus/TCP.
  • Para el acceso remoto al sistema, se utiliza D-Bus y un protocolo propio.
  • Para la integración con servicios externos en la nube, también está implementado MQTT.
  • Para la integración con el operador de red y otros sistemas de control de nivel superior, se propone IEEE 1547 sobre Modbus/TCP.

 

Las especificaciones más importantes del CM3 se listan en la Tabla 2.

Subsistema CM3
Procesador BCM2837B0
Memoria RAM Hasta 1 GB
Memoria FLASH Hasta 32 GB
WiFi CYW43455
Bluetooth CYW43455
Ethernet 1 puerto
DSI display interface Raspberrypi-Display
USB 2 USB HOST
Reloj de tiempo real DS3231

En cuanto al software, la EMCsControl va provista de varios framework y aplicaciones que permiten el rápido desarrollo y despliegue de proyectos. El software se estructura como muestra la Figura 1.

La arquitectura del software se puede describir como:

  • Sistema de control interno. Los lazos de control internos están implementados a través de la biblioteca brOCCOLI, que abstrae el acceso al hardware y la implementación de los sistemas de control digital en los controladores digitales de Texas Instruments C2000. El framework se basa en las bibliotecas C2000Ware de Texas Instruments.
  • Sistema de control externo. El sistema de control externo se ejecuta en el CM3. Este sistema de control obtiene sus características de tiempo real por medio del framework Xenomai. Esta capa software comunica con el sistema de control interno a través de un protocolo tiempo real sobre el bus SPI. A su vez, se comunica con el sistema de explotación de datos y monitorización utilizando el protocolo CANOpen.
  • Sistema de comunicación. El protocolo de comunicación entre las distintas capas al nivel de aplicación se implementa utilizando CANOpen. Para ello, se utiliza la biblioteca CANFestival.
  • Sistema de monitorización, visualización, almacenamiento de datos e interfaz de usuario. La capa más externa del software desarrollado implementa el interfaz de usuario, los elementos para la visualización de datos, almacenamiento e información enviada a servidores o usuarios remotos. Este sistema está implementado con el framework Qt.

 

Software Architecture

Figura 1. Arquitectura del Software