Laboratorios en SECO -...
Transcript of Laboratorios en SECO -...
Laboratorios en SECO
Álvaro Gutiérrez8 de febrero de 2017
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
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
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
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
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
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
1 Introducción
2 Organización
3 TeleLaboFirmwareAplicación
4 RealLaboFirmwareEnfoqueComponentesImplementación RealLabo
N
X-NUCLEO-IHM04A1
L6206 8-52V 2.8A
http://www.st.com/web/catalog/tools/FM116/CL1620/SC1971/PF261981
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
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