Laboratorios en SECO -...

59
Laboratorios en SECO Álvaro Gutiérrez 8 de febrero de 2017 [email protected] www.robolabo.etsit.upm.es

Transcript of Laboratorios en SECO -...

Laboratorios en SECO

Álvaro Gutiérrez8 de febrero de 2017

[email protected]

www.robolabo.etsit.upm.es

N

Índice

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

SECO: Laboratorios

◮ Parte práctica de la asignatura.◮ TeleLabo: Laboratorio de operación a distancia.◮ RealLabo: Laboratorio presencial

◮ Objetivos:◮ Modelado de un motor DC a través de sus características.◮ Diseño de controladores.◮ Aplicación sobre un motor real.

N

Laboratorios: Evaluación

◮ TeleLabo◮ E2: Estudio experimental de un controlador de 2 grados de

libertad y estudio de la señal de saturación. (60 %)

◮ RealLabo◮ E1: Enfoque Electrónico (40 %)

◮ Modelado analítico.◮ Diseño de una arquitectura software (y hardware) para el

control de un motor DC.◮ Modelado experimental de un motor DC.◮ Análisis, diseño e implementación de un controlador P.

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Laboratorios: Organización

◮ General◮ E1: Organización en grupos de 2 personas◮ E2: Organización en grupos de 4 personas◮ ¡¡Importante!!: Fecha límite para la organización de

grupos para el E1: 15 de febrero

◮ TeleLabo◮ Horario libre◮ Consejo: No dejarlo para el final, problemas con las colas

de trabajo

◮ RealLabo◮ Límite de puestos de trabajo: 10 puestos◮ Se requiere un ordenador por grupo de trabajo◮ Posibilidad de realizarlo en casa y con otra arquitectura

hardware

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

TeleLabo

◮ 1 puesto bajo un sistema de colas

N

Puesto de laboratorio◮ Protección de alimentación.◮ Fuente de alimentación 5V.◮ Fuente de alimentación 12V.

◮ Conjunto Motor, Encoder, Reductora:◮ Motor DC con escobillas A-max 32 12 V.◮ Reductora Planetaria GP 32A 23:1.◮ Encoder HEDS 5540 de 500 pulsos por vuelta.

◮ Hardware de control de motores.

N

Hardware de control

◮ Una tarjeta con un microcontrolador ARM y capacidadpara controlar hasta cuatro motores

◮ Una tarjeta con un procesador ATMEL con linux◮ Una tarjeta que se encarga de extraer la periferia

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Tarjeta de motores: Firmware

Carrier

Basic

Serial Tx

Task

Serial Rx

Task

Controller 1

Task

Controller 2

Task

M1

Drv

M1

M2

Drv

M2

Controller 3

Task

Controller 4

Task

M3

Drv

M3

M4

Drv

M4

C

O

M

M

U

N

I

C

A

T

I

O

N

.

.

.

B

U

S

Carrier Motor

u

u

u

u

θ, θ, i

θ, θ, i

θ, θ, i

θ, θ, i

PWM

PWM

PWM

PWM

N

Puesto de laboratorio: Firmware

User

Selection

Manual

Program

Socket Rx

Socket Tx

File

tty

Serial

Thread

Socket

Thread

Carrier

Motor

Internet

Socket Client

Carrier Basic

01

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Aplicación

◮ Control remoto de motores DC◮ Aplicación desarrollada en QT◮ SO Linux

N

Ventana de Inicio

N

General

◮ Authentification: Noimplementado

◮ Network: Puesto de trabajo -Único

◮ Storage: Almacenamiento dedatos:

◮ Path: Ruta de los ficheros(e.g. data)

◮ Prefix: Prefijo de losficheros (e.g. test)

◮ Ficheros:secoStudentsApp/data/test-MOTOR3<VAR>

N

Motor

◮ Motors: 1 al 4◮ On/Off: Sólo habilitado el

Motor 3◮ PWM Freq: Fija a 20KHz

N

Controller (I)

◮ Sampling Period: Periodo demuestreo en ms

◮ Tipo de Controlador: PIDúnico y por defecto

◮ Variable de control: Posicióno Velocidad.

◮ Señal de referencia: Delta deKronecker, Escalón, Rampa,Parábola, Seno, Coseno yTrapezoidal.

◮ Valores de la señal dereferencia: 4 variables (Var1,..., Var4)

N

Controller (II)

Señal Ecuación Var1 Var2 Var3 Var4Delta r(kT) = A , k = 0; r(kT) = 0 , ∀k 6= 0 A

Escalón r(kT) = A A

Rampa r(kT) = A · kT A

Parábola r(kT) = 1/2 · A · (kT)2 A

Seno r(kT) = A · sin(ω · kT) A ωCoseno r(kT) = A · cos(ω · kT) A ωTrapezoidal Ver Figura A t1 t2 t3

t = kT

r(kT )

A

t1 = N1T t2 = N2T

t3 = N3T

N

Controller (III)

GFF (z)

+−

GDI(z) ++

+ZOH Gu(s)

GPA(z)

GFB(z)

T

r(k) e(k) uDI(k) u(k) u(t)

y(k)

y(t)

uPA(k)

uFF (k)

uFB(k)

N

Communication

◮ Tx Period: Periodo de envío de datos◮ Time Limit: Límite de ejecución del

controlador

N

Communication

◮ Position: θ(t) en rad

◮ Speed: θ(t) en rad/s

◮ Current: i(t) en A

◮ Reference: r(kT) en rad o rad/s

◮ Error: e(kT) = r(kT)− y(kT)

◮ Error_ref_fb: e(kT) = r(kT)− uFB(kT)

◮ Control FeedForward: uFF(kT) en V

◮ Control Direct: uDI(kT) en V

◮ Control FeedBack: uFB(kT) en V

◮ Control Parallel: uPA(kT) en V

◮ Control: u(kT) en V

◮ ControlSat: u(kT) en V

◮ Output: y(kT) en rad o rad/s

N

Botones

◮ Send: Conecta la aplicacióncon el puesto del laboratorio yenvía la configuración delexperimento

◮ Reset: Resetea el puesto dellaboratorio.

◮ Disconnect: Desconecta laaplicación del puesto delaboratorio.

N

Cola

◮ Waiting queue: Número deexperimentos de la cola porejecutar.

◮ Rojo: La petición entra en lacola pero hay más de unexperimento por ejecutar.

◮ Amarillo: El experimento va aser ejecutado cuando acabe elanterior.

◮ Verde: Está ejecutando elexperimento.

◮ Azul: Transmitiendo los datosseleccionados en la pestañaCommunication.

N

Visualización

◮ Ratón-Botón Derecho:Muestra las coordenadas x, y

◮ Ratón-Rueda: Zoom In /Zoom Out

◮ Ratón-Botón Izquierdo:Seleccionar área devisualización

◮ Teclado-“a”: Vuelta al estadoinicial

N

Salvar/Cargar datos

◮ File → Save: Salva laconfiguración en un fichero

◮ File → Load: Carga laconfiguración de un fichero

◮ Plot → Save: Guarda laimagen en un fichero .pdf

◮ Plot → Load: Dibuja los datosde un experimento

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

RealLabo

◮ 10 puestos de laboratorio

N

Puesto de laboratorio◮ Alimentador 9V.

◮ Conjunto Motor, Encoder, Reductora:◮ Motor DC con escobillas Pololu Micromotor HP◮ Reductora Pololu 150:1.◮ Encoder Magnético 3 pulsos por vuelta.

◮ Arduino DUE◮ Trajeta de motores: X-NUCLEO-IHM04A1

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Firmware

N

Firmware

¡¡Código a desarrollar por el alumnado!!

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Enfoque

◮ Decisión: Utilización o no de los recursos del laboratorio

◮ Implementación de los drivers necesarios para el controldel motor

◮ Implementación de los drivers necesarios para laadquisición de datos del encoder

◮ Implementación del controlador

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Motor DC

u(t) = Ldi(t)

dt+ Ri(t) + eb(t)

τm(t) = JΘ(t) + BΘ(t) + τc(t)

G(s) =km

(Ls + R)(Js + B) + kbkm

G(s) =K

(s + p1)(s + p2)→ G(s) =

K′

(s + p)

N

Motor DC

N

Motor DC

N

Etapa de Potencia

Regulador de voltage Amplificador Lineal

N

Etapa de Potencia

Filtro

Logica

Motor

out1

out2

en

in1

in2

sense

VS

A1

B2

B1

A2

Puente en H

N

Etapa de Potencia

Filtro

i−

OFF

ON

ON

OFF

u−

m

i

iin

iH

Rm Lm

vb

rin vin

i1

VS

A1

B2

B1

A2

N

Etapa de Potencia

Filtro

i+

ON

OFF

OFF

ON

u+m

i

iin

iH

Rm Lm

vb

rin vin

i1

VS

A1

B2

B1

A2

N

Etapa de Potencia: PWM

N

Encoder

Absoluto

N

Encoder

Relativo

N

Microcontrolador

◮ 2 PWMs (IN1, IN2)◮ 1 GPIO (ENABLE)

◮ 2 Interrupciones externas (Encoder)

N

1 Introducción

2 Organización

3 TeleLaboFirmwareAplicación

4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo

N

Arduino DUE

Cortex-M3 32 bits 3.3V

https://www.arduino.cc/en/Main/ArduinoBoardDue

N

X-NUCLEO-IHM04A1

L6206 8-52V 2.8A

http://www.st.com/web/catalog/tools/FM116/CL1620/SC1971/PF261981

N

Motor Pololu

9V 150:1 200rpm 120mA 2.9 kg-cm

https://www.pololu.com/product/2386

N

Encoder Pololu

Magnetic 3 CPR 2.7-18V

https://www.pololu.com/product/3081

N

Tareas

◮ Preparación de PCs (1 portátil por grupo)◮ Instalación de Arduino IDE + Soporte Arduino DUE◮ Familiarización con el entorno y tarjeta

◮ Test LED,Test IOs, Test Serial,...

◮ 2 PWMs → AnalogWrite

◮ 2 Señales encoder → attachInterrupt

◮ Extracción de datos → Serial

◮ Temporización (Timer) → DueTimer

◮ Modificación PWMs → Aumentar frecuencia demodulación → PWM Hardware

◮ Modelado motor DC → G(s)

◮ Diseño controlador P de posición◮ Implementación controlador P de posición

N

Preparación PCs

◮ Requisitos◮ Independiente del Sistema Operativo◮ 1 USB

N

Arduino IDE◮ Descargar e instalar la última versión del IDE

◮ https://www.arduino.cc/en/Main/Software

N

Arduino IDE - DUE◮ Instalar el soporte para arduino DUE

◮ Herramientas → Placa → Gestor de Tarjetas◮ Instalar Soporte para SAM Boards → Cortex-M3

N

Gracias

GRACIAS!!

N

Gracias

GRACIAS!!

N