Registrador industrial con soporte de placas...

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

Transcript of Registrador industrial con soporte de placas...

Page 1: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

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

Page 2: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ CONTENIDOS

• Introducción General

• Introducción Específica

• Diseño e Implementación

• Ensayos y Resultados

• Conclusiones

Trabajo Final CESE FIUBA – R. Oliva 2

Page 3: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 4: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

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

Page 5: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 6: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 7: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 8: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

R.Oliva - UNPA + L&R Ing. 8

ANTECEDENTES (i)

Placa CL2

basada

en AVR

(2006 a 2010)

Trabajo Final CESE FIUBA – R. Oliva 8

Page 9: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

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

Page 10: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

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)

Page 11: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

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

Page 12: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 13: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

Trabajo Final CESE FIUBA – R. Oliva 13

NUEVA PLACA CL3 (i)

Page 14: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 15: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ COMPARACIONES

TABLA COMPARATIVA

R.Oliva - UNPA + L&R Ing. 15 Trabajo Final CESE FIUBA – R. Oliva 15

Page 16: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ FIRMWARE – MODELO sAPI

sAPI CIAA

Trabajo Final CESE FIUBA – R. Oliva 16

Page 17: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ FIRMWARE PLACA CL3

CL3 06/2018

Trabajo Final CESE FIUBA – R. Oliva 17

Page 18: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ FIRMWARE PLACA CL3

Trabajo Final CESE FIUBA – R. Oliva 18

Page 19: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 20: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 21: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ DISEÑO INICIAL DEL FIRMWARE

Trabajo Final CESE FIUBA – R. Oliva 21

- USO DE CUBEMX (Configuración

de Clocks STM32F411)

Page 22: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ DISEÑO INICIAL DEL FIRMWARE

Trabajo Final CESE FIUBA – R. Oliva 22

- USO DE CUBEMX (Middlewares: FreeRTOS)

Page 23: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 24: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ SIMPLIFICACIÓN DEL FIRMWARE

24

Funciones

sAPI3c

Rutina

Inicialización CL3

Page 25: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 26: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ DECISIONES DE DISEÑO

Trabajo Final CESE FIUBA – R. Oliva 26

- RTC / PROBLEMAS PCB

Page 27: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ DECISIONES DE DISEÑO

Trabajo Final CESE FIUBA – R. Oliva 27

- RTC – PROBLEMAS PCB

Page 28: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ IMPLEMENTACION

Trabajo Final CESE FIUBA – R. Oliva 28

- EJEMPLOS

DESARROLLADOS

EN REPO

PLACA

METEO

Page 29: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ IMPLEMENTACION

Trabajo Final CESE FIUBA – R. Oliva 29

- EJEMPLOS

DESARROLLADOS

EN REPO

Page 30: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 31: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ 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

Page 32: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS PROYECTADOS

Trabajo Final CESE FIUBA – R. Oliva 32

- EN MASTER TEST PLAN (2018)

DISPLAY

GRAFICO

Page 33: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS PROYECTADOS

Trabajo Final CESE FIUBA – R. Oliva 33

- TESTS UNITARIOS APLICADOS A CODIGO CL2 (2018)

CALCULO VECTORIAL DE

DIRECCION DE VIENTO

Page 34: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS REALIZADOS

Trabajo Final CESE FIUBA – R. Oliva 34

- En Test Case 1- 4 / Veleta (2018)

Page 35: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS REALIZADOS

Trabajo Final CESE FIUBA – R. Oliva 35

- Test Unitario Ceedling Case 1- 4 / Veleta (2018)

Page 36: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS Y RESULTADOS

Trabajo Final CESE FIUBA – R. Oliva 36

- IMPLEMENTACION CON FreeRTOS EN CL3 (9 Tareas)

Page 37: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ ENSAYOS Y RESULTADOS

Trabajo Final CESE FIUBA – R. Oliva 37

METEO

CL3

RS485

DISPLAY

Page 38: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+ FOTOS

Trabajo Final CESE FIUBA – R. Oliva 38

IMPLEMENTACION

EJ04 - CON FreeRTOS:

- SOLO LECTURAS VELETA

- SALIDAS DISPLAY Y UART

Page 40: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

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

Page 41: Registrador industrial con soporte de placas periféricaslaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Rafael-Oliva-2019... · Registrador industrial con soporte de

+

Muchas gracias!!

PREGUNTAS?

Trabajo Final CESE FIUBA – R. Oliva 41