Post on 18-Mar-2020
+
R.Oliva - UNPA + L&R Ing. 1
Registrador industrial con soporte de placas
periféricas
Carrera de Especialización de Sistemas Embebidos
Autor: Ing. Rafael B. Oliva
Director: Esp. Ing. Eric Pernia
Jurados: Dr. Ing. Pablo Gomez
Ing. Juan Manuel Cruz
Esp. Ing. Alejandro Permingeat
F.I. UBA – 28 de agosto de 2019
TRABAJO FINAL
+ CONTENIDOS
• Introducción General
• Introducción Específica
• Diseño e Implementación
• Ensayos y Resultados
• Conclusiones
Trabajo Final CESE FIUBA – R. Oliva 2
+ INTRODUCCION GENERAL
Normativa IEC 61131
• Controladores lógicos programables (PLC,
Programmable Logic Controllers).
• Autómatas programables
• Herramientas de programación y depuración
• PCs y Panel PCs Industriales.
• Displays e Interfaces de Usuario de uso industrial.
• Sistemas de Control Distribuido (DCSs)
• Cualquier producto para control de sistemas
industriales Trabajo Final CESE FIUBA – R. Oliva 3
+ INTRODUCCION GENERAL
Normativa
IEC 61131
Trabajo Final CESE FIUBA – R. Oliva 4
Alimentación
Otros sistemas
Operador
Programador
Sistema medido o controlado
Sistema Operativo
Programa + RAM
Datos almacenados
-1 (definiciones y características)
-2 (requerimientos de equipo y ensayos)
-3 (Lenguajes de programación)
-4 (Guías de aplicación)
-5 (Comunicaciones)
-7 (Fuzzy control)
-8 (Guías aplicación - de Parte 3)
+ PROPÓSITO
EXTREMOS
• Placas de control industrial complejo – alto costo
• Placas muy económicas tipo hobby
Trabajo Final CESE FIUBA – R. Oliva 5
PLACAS CL2 / CL3
• Sistemas orientados a registro de datos con
capacidad industrial, de costo medio
+ CONTEXTO Y OBJETIVOS
• El propósito del proyecto es el desarrollo del
Firmware de una placa nueva CL3 basada en un
procesador ARM Cortex M4F.
• La placa CL3 representa la evolución desde una
placa existente CL2:
• Mercado de nicho: Relevamiento, registro y control
de sistemas de energía renovable de baja potencia.
CL2:
2010
AVR
8 bits
CL3:
2017
ARM
32 bits
Trabajo Final CESE FIUBA – R. Oliva 6
+ CONTENIDOS (ii)
• Introducción General
• Introducción Específica
• Diseño e Implementación
• Ensayos y Resultados
• Conclusiones
Trabajo Final CESE FIUBA – R. Oliva 7
+
R.Oliva - UNPA + L&R Ing. 8
ANTECEDENTES (i)
Placa CL2
basada
en AVR
(2006 a 2010)
Trabajo Final CESE FIUBA – R. Oliva 8
+
R.Oliva - UNPA + L&R Ing. 9
Placa CL2bm1
– Final para
producción –
25-02-2010)
Ensayos
07-2010
c/ATMega1284P
Aplicaciones CL2
ANTECEDENTES (ii)
Trabajo Final CESE FIUBA – R. Oliva 9
+
R.Oliva - UNPA + L&R Ing. 10
Placa Periférica
M4-E
PSoC1 29466
CL2bm1
P. Periférica METEO
PSoC1 29466
Aplicaciones CL2 - Sistema PWRC2 en INTI-Neuquen (2012)
ANTECEDENTES (iii)
+
Aplicaciones CL2 – INTI / Curva de potencia según IEC 61400-12-1 Anexo H
ANTECEDENTES (iv)
11
Eolux 1200 Power Curve
with Uncertainties
CL2bm1 CPU
ATMega1284P
METEO
PSoC 29466
M4/E
PSoC 29466
Eolux 1200 Curva Cp
INVAP IVS4500
4.5kW SWT
+ CONTENIDOS (iii)
• Introducción General
• Introducción Específica
• Diseño e Implementación
• Ensayos y Resultados
• Conclusiones
Trabajo Final CESE FIUBA – R. Oliva 12
+
Trabajo Final CESE FIUBA – R. Oliva 13
NUEVA PLACA CL3 (i)
+ NUEVA PLACA CL3 (ii)
2017/2018 – Prototipos de placa CL3, similar factor de forma que CL2
CL3 04/2018
VALOR: La placa CL3 y su Firmware mejoran
las posibilidades de registro de datos de operación de Sistemas Aislados R.Oliva - UNPA + L&R Ing. 14
Trabajo Final CESE FIUBA – R. Oliva 14
+ COMPARACIONES
TABLA COMPARATIVA
R.Oliva - UNPA + L&R Ing. 15 Trabajo Final CESE FIUBA – R. Oliva 15
+ FIRMWARE – MODELO sAPI
sAPI CIAA
Trabajo Final CESE FIUBA – R. Oliva 16
+ FIRMWARE PLACA CL3
CL3 06/2018
Trabajo Final CESE FIUBA – R. Oliva 17
+ FIRMWARE PLACA CL3
Trabajo Final CESE FIUBA – R. Oliva 18
+ ALCANCE
• Firmware para la placa CL3
• Desarrollo de funciones para acceso al
microcontrolador STM32F411
• Construcción de un BSP (Board Support Package)
para manejo de periféricos de placa CL3
• Construcción de una biblioteca sAPI-C3 (de
diseño similar a la sAPI / E.Pernia para la CIAA).
• Utilización de Display Gráfico ILI9341
• Basado en FreeRTOS, y con acceso a Placa
Periférica METEO
Trabajo Final CESE FIUBA – R. Oliva 19
+ DISEÑO INICIAL DEL FIRMWARE
Trabajo Final CESE FIUBA – R. Oliva 20
- USO DE CUBEMX
(Diseño inicial)
- USO DE LIBRERÍAS
LL (Low Level) y
HAL de ST
+ DISEÑO INICIAL DEL FIRMWARE
Trabajo Final CESE FIUBA – R. Oliva 21
- USO DE CUBEMX (Configuración
de Clocks STM32F411)
+ DISEÑO INICIAL DEL FIRMWARE
Trabajo Final CESE FIUBA – R. Oliva 22
- USO DE CUBEMX (Middlewares: FreeRTOS)
+ SIMPLIFICACIÓN y CALIDAD
FIRMWARE
Trabajo Final CESE FIUBA – R. Oliva 23
Función
sAPI
Equivalente con
Librería LL/ST
CALIDAD:
- según ST, tanto librerías LL como HAL son ANSI-C, y cumplen criterios de
MISRA-C 2004
- El código es chequeado en cada release con análisis estático CodeSonar
sAPI de Eric Pernia:
- Utiliza Tests Unitarios MINUT y servidor de Integración continua TRAVIS CI
+ SIMPLIFICACIÓN DEL FIRMWARE
24
Funciones
sAPI3c
Rutina
Inicialización CL3
+ PROGRAMA TÍPICO
Trabajo Final CESE FIUBA – R. Oliva 25
- ECLIPSE
AC6 – SYSTEM
WORKBENCH
- SIMILITUD CON
ENTORNO CIAA
- DEBUG VIA
OPENOCD
- FAMILIARIDAD
CON sAPI
sAPI3C
Programa
Principal
FreeRTOS
+ DECISIONES DE DISEÑO
Trabajo Final CESE FIUBA – R. Oliva 26
- RTC / PROBLEMAS PCB
+ DECISIONES DE DISEÑO
Trabajo Final CESE FIUBA – R. Oliva 27
- RTC – PROBLEMAS PCB
+ IMPLEMENTACION
Trabajo Final CESE FIUBA – R. Oliva 28
- EJEMPLOS
DESARROLLADOS
EN REPO
PLACA
METEO
+ IMPLEMENTACION
Trabajo Final CESE FIUBA – R. Oliva 29
- EJEMPLOS
DESARROLLADOS
EN REPO
+ CONTENIDOS (iv)
• Introducción General
• Introducción Específica
• Diseño e Implementación
• Ensayos y Resultados
• Conclusiones
Trabajo Final CESE FIUBA – R. Oliva 30
+ ENSAYOS PROYECTADOS
Trabajo Final CESE FIUBA – R. Oliva 31
- EN MASTER TEST PLAN (2018) – Modelo V-Múltiple
Prototipo
Ensayos sobre prototipo
CL3 con M4/E+METEO
+ ENSAYOS PROYECTADOS
Trabajo Final CESE FIUBA – R. Oliva 32
- EN MASTER TEST PLAN (2018)
DISPLAY
GRAFICO
+ ENSAYOS PROYECTADOS
Trabajo Final CESE FIUBA – R. Oliva 33
- TESTS UNITARIOS APLICADOS A CODIGO CL2 (2018)
CALCULO VECTORIAL DE
DIRECCION DE VIENTO
+ ENSAYOS REALIZADOS
Trabajo Final CESE FIUBA – R. Oliva 34
- En Test Case 1- 4 / Veleta (2018)
+ ENSAYOS REALIZADOS
Trabajo Final CESE FIUBA – R. Oliva 35
- Test Unitario Ceedling Case 1- 4 / Veleta (2018)
+ ENSAYOS Y RESULTADOS
Trabajo Final CESE FIUBA – R. Oliva 36
- IMPLEMENTACION CON FreeRTOS EN CL3 (9 Tareas)
+ ENSAYOS Y RESULTADOS
Trabajo Final CESE FIUBA – R. Oliva 37
METEO
CL3
RS485
DISPLAY
+ FOTOS
Trabajo Final CESE FIUBA – R. Oliva 38
IMPLEMENTACION
EJ04 - CON FreeRTOS:
- SOLO LECTURAS VELETA
- SALIDAS DISPLAY Y UART
+ VIDEO - DEMO
Trabajo Final CESE FIUBA – R. Oliva 39
VIDEO EJ04 - CON
FreeRTOS
+ CONCLUSIONES
Trabajo Final CESE FIUBA – R. Oliva 40
• Durante la realización del Proyecto
• Se realizó y verificó un port de la sAPI a un
microcontrolador STM32F411.
• Se construyó un BSP (Board Support Package)
para manejo de periféricos de placa CL3.
• Se utilizó el sistema operativo FreeRTOS.
• Se emplearon buenas prácticas de programación y
conceptos de ingeniería de software.
+
Muchas gracias!!
PREGUNTAS?
Trabajo Final CESE FIUBA – R. Oliva 41