Retrieve
Retrieve
Retrieve
Diseño y construcción
de un levitador
magnético
Autor: Director:
11 de julio de 2018
Scanned with CamScanner
Scanned with CamScanner
Scanned with CamScanner
DISEÑO Y CONSTRUCCIÓN DE UN LEVITADOR MAGNÉTICO
Autor: Sánchez Bas, Pedro
Director: Juan Luis Zamora Macho
Entidad colaboradora: ICAI – Universidad Pontificia Comillas
1. Introducción
La levitación magnética tiene
La levitación magnética es un campo numerosas aplicaciones a nivel
de investigación emergente que industrial [1]. Un ejemplo son los
incorpora en su estudio numerosas reactores nucleares de fisión donde
herramientas del campo de la las elevadas temperaturas no
ingeniería. Como se aprecia en el permiten que ningún recipiente
título, este proyecto consiste en el contenga el plasma [2], con la
diseño de un levitador magnético con consiguiente necesidad de mantenerlo
la posterior implementación de los levitando. Otra aplicación práctica son
diseños en un modelo físico. los trenes de levitación magnética,
como el tren MagLev, o el Hyperloop
Un levitador magnético es un One, de Space X.
dispositivo capaz de mantener una
carga magnética en suspensión en un Este proyecto consiste en el diseño
rango de alturas determinado. El del dispositivo con un énfasis en el
funcionamiento del levitador es el control, que se implementará en un
siguiente: se le aplica tensión a un microcontrolador Raspberry Pi a
electroimán, apareciendo una través del entorno de Matlab/
corriente, esta corriente genera un Simulink. Una vez diseñado se
campo magnético y este campo especificarán los distintos retos que
provoca una fuerza vertical en la carga depara la implementación física, así
que contrarresta su peso. A partir de como sus respectivas soluciones.
un control en lazo cerrado se puede
generar la tensión adecuada en cada Los objetivos principales de este
momento para que la carga se proyecto son los siguientes:
mantenga en una posición
determinada. 1: La elaboración de un modelado
preciso de la planta
2: El diseño de un simulador en el
entorno de Matlab/Simulink que
permita obtener una respuesta del
sistema lo más parecida posible a la
respuesta real.
1
elementos requeridos para su transferencia son precisos una serie
funcionamiento. de ensayos, de los cuales el más
importante es el que permite la
2. Metodología obtención del valor de 𝐾𝑚 .
2
puesto que incorpora la información como filtro de Kalman. La
de las variables de estado del sistema. particularidad de esta configuración
Una ventaja clara con respecto al PID reside en la utilización de
es la posibilidad de establecer la herramientas estadísticas para
dinámica (lugar de los polos) deseada optimizar la estimación. El filtro de
en el sistema en lazo cerrado. Kalman consta de dos etapas: una de
predicción, donde se emplea el
Para aprovechar las ventajas de este modelo de la planta para estimar el
control sin renunciar a la sencillez del estado futuro; y una de corrección, en
PID se optó finalmente por implantar la que se emplean las medidas de los
el control por realimentación de sensores para corregir las
estado a través de un control en estimaciones futuras.
cascada. Este control consiste en 2 o
más PIDs donde la salida de un lazo de Una vez diseñado el control y el
control es la referencia del siguiente. estimador de estado se procede a la
Para el caso concreto del levitador simulación. El objetivo es ajustar los
este control en cascada se traduce en parámetros del control para obtener
un PID para controlar la posición la mejor respuesta posible en lazo
seguido de un control P para controlar cerrado (mínimo error), además de
la corriente. asegurar que los rangos de
funcionamiento de los sensores y
actuadores no se ve sobrepasado.
3
La implementación es el paso • Se ha diseñado
posterior a la simulación. Consiste en satisfactoriamente un
traducir en elementos físicos los simulador en el entorno de
componentes del control diseñado. Matlab/Simulink.
Los elementos del sistema final se
agrupan en actuador, sensores y • Se ha realizado un modelado de
microcontrolador. la planta, que junto con los
respectivos ensayos supone un
El actuador del sistema es el mayor entendimiento sobre el
electroimán cuya tensión es el mando, fenómeno de la levitación
es decir, la variable que podemos magnética
controlar para cambiar la salida. La
sensorización tiene como objetivo Cabe mencionar que, pese a los
obtener medidas de la corriente y la resultados satisfactorios, el control
posición que el EKF utiliza para implementado no ha sido capaz de
estimar el estado. controlar la posición de la carga
prevista debido a la enorme influencia
El microcontrolador elegido para del ruido en la medida de la corriente.
este proyecto es el Raspberry Pi 3
Modelo B. Las principales ventajas de 4. Conclusiones
este residen en su gran potencia y
velocidad de cálculo, así como en su En cuanto a las contribuciones de
sistema operativo en tiempo real. La este proyecto cabe destacar por una
programación del micro se realiza a parte la aportación de una forma
través del entorno Matlab/ Simulink. diferente de abordar la problemática
del levitador magnético por un lado; y
el enfoque exhaustivo en entender
desde una perspectiva básica las
ecuaciones que rigen la fuerza
magnética.
4
5. Referencias
5
MAGNETIC LEVITATION SYSTEM: CONTROL AND DESIGN
Author: Sánchez Bas, Pedro
Director: Juan Luis Zamora Macho
Entity: ICAI – Comillas Pontifical University
1
2. Methodology
To achieve the main goals in this
project the following methodology has
been applied: plant equations and
modeling, control design, simulation
and physical implementation.
2
therefore the control action is more Filtering is achieved in 2 stages: the
complete (with more information we first one calculates the theoretical
can control faster and better). We can output based on plant modelling, and
also specify the dynamics (pole the second one uses information from
locations) of the time response signal. sensors to correct errors and optimize
future outputs.
To implement State space dynamics
without renouncing PID´s simplicity Once both control and EKF have
when it comes to parameters been designed we can proceed with
interpretation, it was finally a cascade simulation. Simulations have 2 main
control what was implemented. This functions: make sure that physical
control consists of 2 PID controllers in limits of sensors and actuators (like
series. In the MagLev case, this is a power limitations) are not surpassed
position PID controller, followed by a and improving time response by
current P controller. optimizing control parameters.
3
Implementation is the following step used in future research and
after simulation. This consists in developments.
translating design into physical
hardware elements. Final elements • A simulator in the MATLAB/
are classified into: actuators, sensors Simulink environment has
and microcontroller. been designed
4
5. References
5
Trabajo de Fin de Grado: Diseño y
construcción de un levitador
magnético
Memoria descriptiva
11 de julio de 2018
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Índice
1. Introducción……………………………………………….………….…5
1.3 Objetivos………………………………………………………..….10
2. Modelado de la planta……………………………………………...11
3. Control………………………………………………………………..…..21
3.5 Simulación…………………………………………………………29
1
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4. Implementación………………………………………………………35
5. Resultados………………………………………………………………45
6. Conclusiones…………………………………………………………...46
6.1 Aportaciones…………………………………………………...…46
7. Anexos……..…………………………………………………………..…48
8. Referencias……………………………………………………………..59
2
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Índice de figuras
Fig. 1.1 Esquema básico de un levitador ....................................................................................... 5
Fig. 1.2 Esquema básico del PID ...................................................................................................... 6
Fig. 1.3 Ecuaciones de Maxwell en forma integra y diferencial ............................................ 7
Fig. 1.4 Levitador magnético de Quanser ..................................................................................... 8
Fig. 1.5 Levitador magnético de Bytronic..................................................................................... 8
Fig. 1.6 Levitador magnético del MIT ............................................................................................ 9
Fig. 1.7 Modelo de la Universidad de Zaragoza .......................................................................... 9
Fig. 2.1 Imagen del electroimán.................................................................................................... 11
Fig. 2.2 Esquema eléctrico de la planta ...................................................................................... 13
Fig. 2.3 Diagrama del cuerpo libre .............................................................................................. 14
Fig. 2.4 Modelo de la planta en Simulink ................................................................................... 16
Fig. 2.5 Ensayo de fuerza ................................................................................................................. 18
Fig. 2.6 Resultados del ensayo de fuerza .................................................................................... 19
Fig. 2.7 Ensayo eléctrico .................................................................................................................. 19
Fig. 2.8 Resultados del ensayo eléctrico ..................................................................................... 20
Fig. 3.1 Diagrama de Black de un sistema estable ................................................................. 21
Fig. 3.2 diagrama de Black de la planta del levitador ........................................................... 22
Fig. 3.3 Control por realimentación de estado digital ........................................................... 23
Fig. 3.4 Control por realimentación de estado digital con integrador ............................ 24
Fig. 3.5 Control digital en cascada ............................................................................................... 25
Fig. 3.6 Control en cascada para el levitador magnético ..................................................... 26
Fig. 3.6 Esquema general del filtro de Kalman ........................................................................ 27
Fig. 3.7 Localización de los polos en lazo cerrado .................................................................. 29
Fig. 3.8 Salida de posición para 𝜔𝑛 = 0,787𝜔𝑢 ..................................................................... 30
Fig. 3.9 Señal de corriente para 𝜔𝑛 = 0,787𝜔𝑢 ..................................................................... 31
Fig. 3.10 Señal de corriente para 𝜔𝑛 = 0,45𝜔𝑢 ..................................................................... 31
Fig. 3.11 Señal de posición para 𝜔𝑛 = 0,45𝜔𝑢 ....................................................................... 32
Fig. 3.12 Señal de velocidad para 𝜔𝑛 = 0,45𝜔𝑢 .................................................................... 32
Fig. 3.13 Señal de tensión para 𝜔𝑛 = 0,45𝜔𝑢 ......................................................................... 33
Fig. 3.14 Salida de corriente con ruido y estimador de estado........................................... 33
Fig. 3.15 Salida de posición con estimador de estado y ruido ............................................ 34
Fig. 4.1 Características técnicas del núcleo del electroimán ............................................... 35
Fig. 4.2 Generador de PWM ............................................................................................................ 36
Fig. 4.3 Imán de neodimo ................................................................................................................ 36
Fig. 4.4 Imanes de ferrita ................................................................................................................ 36
3
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
1. Introducción
Con una serie de sensores podemos medir la altura del objeto (que es la variable
que queremos controlar), y enviar esta información a un microcontrolador, que
puede cambiar la tensión sobre el electroimán para que el objeto mantenga su
posición en caso de que se produzca alguna perturbación. La presencia de un lazo
cerrado de control es necesaria por la naturaleza inestable del sistema [2]. Este
control se implantará mediante el entorno de Matlab/Simulink.
5
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Los principales motivos por los que se realiza este proyecto son los siguientes:
El control más básico que se puede utilizar para hacer un levitador magnético es
el PID [5], que se asentó de forma definitiva a lo largo del siglo XX. Este control está
basado en aplicar 3 acciones distintas al error: proporcional, diferencial e integral.
El mando es, pues, una combinación de estas 3 acciones de control. La principal
ventaja del PID es su sencillez a la hora de ser implantado.
6
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Otra ventaja del control en espacio de estados es que permite controlar varias
variables al mismo tiempo (MIMO).
En el siglo XIX James Clerk Maxwell sintetizó todas las ecuaciones que hasta ese
momento describían el electromagnetismo en 4 elegantes fórmulas matemáticas
que describen al fenómeno electromagnético como una serie de campos vectoriales.
También fue Maxwell quien propuso la existencia de las ondas electromagnéticas.
Fig. 1.3 Ecuaciones de Maxwell en forma integral (izquierda) y diferencial (derecha) [5]
7
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
8
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
9
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
1.3 Objetivos
4) Resultados. Capítulo 5
10
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
2. Modelado de la planta
Por este motivo en este proyecto la obtención de las ecuaciones matemáticas que
describen el comportamiento del sistema se lleva a cabo con especial precisión,
comenzando por un análisis general del campo producido por el electroimán y
finalizando por la expresión de la fuerza sobre nuestra carga en función de las
variables del sistema.
1) Cálculo de 𝑚
⃗⃗ e = 𝑓(𝑖𝐿 ), el dipolo magnético del electroimán en función de la
corriente
2) Expresión del campo producido por 𝑚 ⃗⃗ e
3) Expresión de la fuerza de un campo magnético sobre un dipolo
11
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑖𝐿
𝐹𝑧 = 𝐾𝑚 (2.1)
𝑧4
𝑖𝐿 2
𝐹𝑧 = 𝐾𝑚 2 (2.2)
𝑧
Por último, cabe decir que para simplificar el modelo de la planta y debido a que
esta no provoca cambios significativos en la función de transferencia se ha omitido
la fuerza de fricción con el aire en el modelo.
12
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑖𝐿 (𝑡)
𝑋(𝑡) = ( 𝑧(𝑡) )
𝑉𝑧(𝑡)
𝑌(𝑡) = (𝑧(𝑡))
𝑑𝑋(𝑡)
= 𝐹(𝑋(𝑡), 𝑈(𝑡))
{ 𝑑𝑡 (2.4)
𝑌(𝑡) = 𝐺(𝑋(𝑡), 𝑈(𝑡))
Para:
𝑓1 (𝑋, 𝑈)
𝐹(𝑋, 𝑈) = ( 2 (𝑋, 𝑈) )
𝑓 𝑦 𝐺(𝑋, 𝑈) = (𝑔1 (𝑋, 𝑈))
𝑓3 (𝑋, 𝑈)
𝑑𝑖
A partir de la ecuación fundamental de una inductancia 𝑉𝐿 = 𝐿 𝑑𝑡𝐿 (2.5) y
planteando Kirchoff en toda la malla podemos despejar la primera ecuación de
estado:
13
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑑𝑖𝐿 𝑑𝑖𝐿 1
𝑉𝑖𝑛 = 𝑅𝑖𝐿 + 𝐿 = (𝑉𝑖𝑛 − 𝑅𝑖𝐿 )
𝑑𝑡 𝑑𝑡 𝐿
De forma que:
A partir del diagrama del cuerpo libre de la carga que se desea levitar podemos
obtener las siguientes ecuaciones:
𝑖𝐿 𝑑2 𝑧
∑ 𝐹 = 𝐾𝑚 − 𝑚𝑔 = 𝑚 (2.6)
𝑧4 𝑑𝑡 2
14
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑑𝑋0
= 𝐹(𝑋0 , 𝑈0 ) = 0 𝑌0 = 𝐺(𝑋0 , 𝑈0 )
𝑑𝑡
Los valores ini especifican el punto a partir del cual se comienza la búsqueda, por
lo que tenemos que localizarlos lo más próximos al punto deseado. El punto de
operación más cercano encontrado por Matlab es el siguiente:
1,736 𝐴
𝑋0 = (−8,79 𝑐𝑚) 𝑈0 = 6,264 𝑉
0 𝑚⁄𝑠
𝑑𝑋(𝑡)
= 𝐴𝑋(𝑡) + 𝐵𝑈(𝑡)
{ 𝑑𝑡 (2.7)
𝑌(𝑡) = 𝐶𝑋(𝑡) + 𝐷𝑈(𝑡)
En nuestro caso para obtener las matrices A, B, C y D tendríamos que calcular las
derivadas parciales de cada una de las salidas con respecto a cada una de las
entradas (la derivada del estado sería una salida más) de la siguiente manera:
15
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑅
− 0 0 1⁄
𝐿
0 0 1 𝐿
𝐴= 𝐵=( 0 )
𝐾𝑚 −4𝐾𝑚 𝑥1 0
4 0 0 [𝑋0 ,𝑈0 ]
(𝑚𝑥2 0 𝑚𝑥25 0 )[𝑋
0 ,𝑈0 ]
1 0 0 0
𝐶 = (0 1 0) 𝐷 = (0)
0 0 1 [𝑋0 ,𝑈0 ] 0 [𝑋0 ,𝑈0 ]
Una vez calculadas las matrices tenemos que obtener la matriz de transferencia,
cuyos elementos (𝑖, 𝑗) representan la función de transferencia entre la entrada 𝑗 y la
16
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝐾𝑚 𝑥2 0
𝑃(𝑠) = (2.9)
(𝑅 + 𝐿𝑠)(𝑚𝑥25 0 𝑠 2 + 4𝐾𝑚 𝑥1 0 )
Por ello en algunos sistemas complejos es más práctico y más preciso realizar una
serie de ensayos sobre la planta real para obtener su función de transferencia. En el
caso del levitador magnético necesitamos conocer el valor de 𝑅, 𝐿 y 𝐾𝑚 , ya que los
otros dos parámetros físicos que intervienen en las ecuaciones son la gravedad
(parámetro conocido) y la masa de la carga (fácilmente medible).
17
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑅 = 3.6082 𝛺
18
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Ensayo de fuerza
40000
35000 y = 32861x + 4558,2
30000
R² = 0,9887
25000
20000
15000
10000
5000
0
0 0,2 0,4 0,6 0,8 1 1,2
Fuerza (N)
−5
𝑁𝑚4
𝐾𝑚 = 2.4367 × 10 ( )
𝐴
• Ensayo eléctrico
19
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝑅1
|𝐹(𝑗𝜔𝑒 )| = (2.10)
√(𝑅1 + 𝑅𝐿 )2 + (𝐿𝜔𝑒 )2
A partir del siguiente ensayo a 206.7 Hz, dividiendo las amplitudes de salida y
entrada obtendríamos el módulo de la respuesta en frecuencia:
𝐿 = 21.49 𝑚𝐻
Después del ensayo a 206,7 Hz se realizaron otros a 108´5, 1400 y 2130 Hz,
obteniendo resultados ligeramente dispares a las frecuencias mayores, sin embargo,
el ensayo más fiable es el del 206,7 Hz por conocer con mayor precisión la frecuencia
(el generador de señales tiene un rango muy limitado).
20
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
3. Control
1 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾 (𝑒(𝑡) + ∫ 𝑒(𝑡)𝑑𝑡 + 𝑇𝑑 ) (3.1)
𝑇𝑖 𝑑𝑡
El criterio del reverso [16] establece que un sistema será estable si la pulsación de
cruce 𝜔𝑜 (que verifica |𝐺(𝜔𝑜 )| = 0 𝑑𝐵 ) la fase del lazo abierto es menor de 180
grados (siendo la diferencia de fase el margen de fase). También será estable si la
magnitud del lazo abierto a la frecuencia de oscilación 𝜔𝑢 (que verifica 𝜑(𝐺(𝜔𝑢 )) =
180° ) es menor que 0 dB, siendo la diferencia el margen de ganancia.
21
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
El hecho de que la planta sea oscilante implica que a una determinada frecuencia
𝜔𝑢 la magnitud de la respuesta en frecuencia tiene un valor infinito. Esta
característica de la planta se observa en su diagrama de Black:
Como se aprecia en la figura 3.2 la planta presenta una ganancia infinita a una
frecuencia de 21,1 rad/s, que podríamos haber calculado analíticamente a partir
de la función de transferencia, igualando el denominador a 0 en la respuesta en
frecuencia:
4𝐾𝑚 𝑥1
|𝑃(𝑗𝑤)| = inf 𝜔𝑢 = √ = 21,1 𝑟𝑎𝑑⁄𝑠
𝑚𝑥2 5
22
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
23
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
La ley de control es, por tanto: 𝑈(𝑡) = −𝐾𝑋(𝑡), obteniendo la siguiente dinámica
del estado:
La matriz M por tanto gobierna la evolución del estado, por lo tanto, diseñando
correctamente la matriz K podemos conseguir que se mantenga un punto de
operación. En Matlab este diseño se realiza con un sencillo comando:
Las entradas del comando place son las matrices 𝐴𝑑 y 𝐵𝑑 , que son las matrices de
la planta en tiempo discreto, y un vector que contiene los polos del sistema, uno por
cada autovalor de la matriz A.
24
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Las matrices ampliadas del sistema con control integral son las siguientes (se
muestran A y B, que son las que afectan al diseño del control):
El control en cascada tiene dos o más lazos de control cerrados, y se emplea cuando
tenemos un único mando y varias variables de estado medibles del sistema. El
planteamiento general de este control es convertir la salida del primer lazo
(externo) en la referencia del segundo (interno). El esquema general se muestra a
continuación:
25
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
1
𝑢(𝑡) = 𝐾2 (𝐾1 (𝑏𝑟(𝑡) + ∫ 𝑒(𝑡)𝑑𝑡 − 𝑇𝑑 𝑉𝑧 − 𝑧(𝑡)) − 𝑖(𝑡)) (3.5)
𝑇𝑖
Igualando esta expresión a la ecuación 3.4 obtendríamos los valores que tenemos
que asignar a los parámetros del control en cascada para implementar el control por
realimentación de estado:
26
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Cabe decir que el estimador de estado tiene una dinámica con unos polos
determinados que se añaden a los polos del lazo cerrado del sistema, por lo que hay
que tener en cuenta está dinámica a la hora de diseñar el control.
El filtro de Kalman tiene un carácter recursivo, es decir, una vez que el estimador
predice el estado en un momento determinado añade un término de corrección, y
emplea el nuevo estado corregido como condición inicial para el siguiente cálculo.
Para modelar el comportamiento del filtro son necesarias dos ecuaciones: la
dinámica del estado en función de muestras anteriores del estado y de la entrada
(3.6), y la relación entre variables medidas y variables de estado (3.7).
27
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Siendo Z[k] el vector de variables medidas, 𝜔[𝑘] un ruido gaussiano del proceso de
media nula y matriz de covarianza Q y 𝑣[𝑘] el ruido de las medidas, también
gaussiano de media nula y matriz de covarianza R.
La etapa de predicción consiste por lo tanto en el cálculo a priori del estado 𝑿̂ [𝑘] a
partir de su dinámica y el cálculo a priori de la matriz de correlación del error 𝑷[𝑘]:
𝑋̂[𝑘] = 𝑿
̂ [𝑘] + 𝐾[𝑘](𝑧[𝑘] − 𝐻𝑿[𝑘])
𝑃[𝑘] = (𝐼 − 𝐾[𝑘]𝐻)𝑷[𝑘]
Una vez diseñado el estimador para que este pueda funcionar es preciso
especificar condiciones iniciales para la estimación del estado y la matriz de
covarianza P, así como las matrices Q y R, cuyo valor se obtiene por ajuste manual.
28
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
3.5 Simulación
29
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
El primer diseño ser realizó con 𝜔𝑛 = 0,787𝜔𝑢 = 16,61 𝑟𝑎𝑑⁄𝑠, situando el cuarto
polo en 𝑠 = −15𝜔𝑛 . Las condiciones iniciales para la simulación se establecen de la
siguiente manera:
1𝐴
𝑋(0) = [ −9,7989 𝑐𝑚]
𝑚
0 ⁄𝑠
30
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Se observa una rápida respuesta del control que estabiliza la posición en el punto
de operación especificado. Se aprecia también como la corriente tiende al punto de
operación en régimen permanente, sin embargo durante el régimen transitorio se
llega a los 5,6 Amperios, que superan los 3,5 A que puede dar como máximo la etapa
de potencia (Como se comenta en el capítulo 4). Es necesario un control más lento
(menor 𝜔𝑛 ) para que el mando no sea tan brusco y la corriente no sea tan elevada.
31
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
32
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Se aprecia una señal de corriente más lenta, aunque la posición tarda menos en
alcanzar el régimen permanente. Esta vez la corriente se encuentra prácticamente
en el rango de operación del hardware (en la implantación real habría un instante
de saturación), y la tensión de mando no supera los 14 V, por lo que se encuentra
dentro de rango.
Una vez comprobado que la simulación normal converge en las señales deseadas
es conveniente incorporar el efecto del estimador de estado, así como una serie de
ruidos gaussianos. La salida del sistema incorporando estos dos elementos es la
siguiente:
33
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Se aprecia de forma general que las señales pierden la precisión que tenían sin
ruido, aunque tanto en el caso de la posición como de la corriente la señal se
mantiene en el entorno del punto de operación. En la posición las variaciones tienen
un rango de unos 2,5 mm lo cual debería ser prácticamente imperceptible en la
implementación. Cabe decir que el tiempo de simulación se ha alargado con respecto
al apartado anterior para apreciar el efecto del ruido en régimen permanente.
34
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4. Implementación
4. 1 Actuador
35
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4.2 Carga
36
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4.3 Microcontrolador
37
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4.4 Sensores
• Sensor de corriente
• Sensor de posición
Por este motivo se optó por utilizar un sensor óptico de mayor rango, que se sitúa
en la parte inferior de la estructura. Este sensor emite pulsos de luz y mide el tiempo
que tardan estos pulsos en volver al propio sensor
38
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
39
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
La estructura física está compuesta por una plancha gruesa de metacrilato que
hace de suelo, seguida de una lámina superior que contiene toda la electrónica y el
electroimán y encima del todo una tercera de protección. Estas láminas están sujetas
por 4 columnas de hierro y su altura es ajustable mediante el apriete de unas
tuercas.
40
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
4.7 Software
La estructura del programa principal está ramificada por niveles, siendo los 3
niveles principales las 3 áreas de implementación del programa. El primero de estos
niveles es el de control, cuya función es calcular el mando necesario para seguir una
referencia. El segundo nivel es de hardware y su función es controlar el
funcionamiento de cada uno de los sensores y actuadores. El último nivel es el de
simulación, que contiene la planta del sistema, así como bloques para visualizar la
respuesta temporal. En la siguiente imagen se muestra el nivel superior del
programa:
Los bloques de la derecha hacen referencia a una serie de buses, que se encargan
de transportar las señales entre los distintos bloques.
41
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
• Control:
Dentro del bloque de control se calculan los mandos de ambos PIDs, así como la
salida del EKF. Esto se consigue con funciones de Matlab, que son bloques de código
que relacionan entradas con salidas.
• Hardware:
En este nivel se encuentran los bloques cuya función es leer la información de los
sensores y cargarla en el bus correspondiente y leer la información de los buses para
controlar el actuador. Los bloques más importantes son los de comunicación I2C y
SPI, así como el generador de PWM. Todos estos bloques pertenecen a la toolbox de
soporte para Raspberry Pi de Simulink.
42
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
• Máquina de estados:
Durante la inicialización todos los controles están desactivados, así como el EKF.
En el segundo estado se activa únicamente el control proporcional de corriente,
teniendo como referencia la corriente del punto de operación. Posteriormente el
usuario deberá colocar la carga en el punto de operación. Una vez colocada se inicia
la estimación de estado y en cuanto esta estimación empieza a converger se procede
a activar el control en cascada con la parte integral desactivada. En este momento el
43
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
usuario suelta la carga. Por último y una vez alcanzada la estabilidad se puede
proceder a activar el integrador.
El motivo por el cual se activa primero el control sin integrador reside en el hecho
de que durante unos instantes de tiempo el control estará activado y el usuario
seguirá sujetando la carga manualmente. El control leerá una diferencia entre
referencia y salida y el integrador empezará a acumular error, de forma que
producirá un mando mucho mayor del necesario, pudiendo incluso llegar a saturar
mando e impidiendo el funcionamiento correcto del dispositivo.
Cabe por último destacar que la transición entre los estados viene marcada por la
pulsación de un botón (con flanco de subida). De esta manera el usuario marca
manualmente la transición de todos los estados. Si se pulsa este mismo botón en el
estado final se volvería al modo de inicialización.
44
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
5. Resultados
Cabe mencionar, de todas formas, que pese a haber logrado resultados muy
satisfactorios, el control de posición del levitador falló en la práctica debido
principalmente al ruido de medida incorporado por el Arduino, que provocaba
fluctuaciones de mando amplificadas. Este mando ruidoso es incapaz de mantener
la carga en una posición fija debido a la enorme sensibilidad de la dinámica del
levitador, por lo que este objetivo queda pendiente para futuros proyectos basados
en este.
45
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
6. Conclusiones
6. 1 Aportaciones
46
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
47
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Índice
Si consideramos el campo producido por las corrientes del bobinado tenemos que:
𝐵𝑐 = 𝐻𝑐 𝜇𝑜 (7.1)
Definimos pues el radio efectivo (re) como el radio que proporciona una misma área
de sección que el cilindro.
48
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝐴𝑐 = 𝐴𝑒 = 𝜋 𝑟𝑒2 = 𝑎𝑏
𝑎𝑏
𝑟𝑒 = √ (7.2)
𝜋
Ahora calculamos el campo magnético producido por una espira circular en su eje:
𝜇𝑜 ⃗⃗⃗
𝑑𝑙 × 𝑢
⃗⃗⃗⃗𝑟
⃗⃗⃗⃗⃗ =
𝑑𝐵 𝑖 (7.3)
4𝜋 |𝑟| 2
⃗⃗⃗⃗ ×𝑟
𝑑𝑙
|𝑟|2 = 𝑟𝑒2 + 𝑧 2 (7.4) ⃗⃗⃗
𝑑𝑙 × ⃗⃗⃗⃗
𝑢𝑟 = |𝑟| (7.5)
𝜇𝑜 ⃗⃗⃗
𝑑𝑙 × 𝑟
⃗⃗⃗⃗⃗
𝑑𝐵 = 𝑖 (7.6)
4𝜋 3
(𝑟𝑒2 + 𝑧 2 )2
49
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
⃗⃗⃗ × 𝑟 = 𝑟𝑒 𝑑𝑙𝑘
𝑑𝑙 ⃗
𝜇𝑜 ⃗
𝑟𝑒 𝑘 ⃗
𝜇𝑜 𝑖𝑟𝑒 𝑘 ⃗
𝜇𝑜 𝑖𝑟𝑒2 𝑘
⃗ (𝑧) =
𝐵 𝑖
4𝜋 3 ∫ 𝑑𝑙 = 3 2𝜋𝑟𝑒 = 3 (7.7)
(𝑟𝑒2 + 𝑧 2 )2 4𝜋(𝑟𝑒2 + 𝑧 2 )2 2(𝑟𝑒2 + 𝑧 2 )2
Habiendo obtenido ya la expresión del campo producido por una espira tenemos
que incluir el efecto de las N espiras del electroimán. Hay que tener en cuenta una
dificultad añadida, debida al hecho de que estas espiras no están localizadas en el
mismo punto del espacio. Para ello definimos el parámetro n como número de
vueltas partido por longitud.
𝜇𝑜 𝑛𝑖 𝜃2 𝜇𝑜 𝑛𝑖
𝐵𝑧 = ∫ sin(𝜃) 𝑑𝜃 = (cos𝜃1 − cos𝜃2 ) (7.8) 𝑠𝑖𝑒𝑛𝑑𝑜 𝜃1 , 𝜃2 = 𝑓(𝑧)
2 𝜃1 2
50
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝐿
(cos𝜃1 − cos𝜃2 ) = =𝜉 (7.9)
2
√𝐿 + 𝑟𝑒2
4
1
𝐵𝑧 (0) = 𝜉𝑖𝑛𝜇𝑜 (7.10)
2
𝐵𝑧
𝐻𝑧 =
𝜇𝑜
⃗⃗ = 𝛸𝑚 ⃗⃗⃗⃗⃗⃗⃗⃗
𝑀 𝐻𝑒𝑥𝑡 , siendo 𝐻𝑒𝑥𝑡 el campo provocado por las corrientes externas.
51
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝜇𝑟 = 1 + 𝛸𝑚
1
⃗⃗⃗⃗⃗
𝑀𝑧 = ⃗
𝛸 𝜉𝑛𝑖𝑘 (7.11)
2 𝑚
𝑑𝑚
⃗⃗
= ⃗⃗⃗⃗⃗
𝑀𝑧 (7.12)
𝑑𝑣
52
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝜇𝑜 ⃗⃗⃗⃗⃗
𝑚𝑒 × 𝑟
𝐴=
4𝜋 𝑟 3
𝑖 𝑗 ⃗
𝑘 3
𝑚𝑒 × 𝑟 = | 0
⃗⃗⃗⃗⃗ 0 𝑚𝑒 | = 𝑚𝑒 𝑥𝑗 − 𝑚𝑒 𝑦𝑖 𝑟 3 = (𝑥 2 + 𝑦 2 + 𝑧 2 )2
𝑥 𝑦 𝑧
𝐴(𝑥, 𝑦, 𝑧) = 𝐴𝑥 𝑖 + 𝐴𝑦 𝑗
El campo magnético en función del vector potencial magnético viene dado por la
siguiente expresión:
𝑖 𝑗 𝑘⃗
𝜕𝐴𝑦 𝜕𝐴𝑥 𝜕𝐴𝑥 𝜕𝐴𝑦
⃗ × 𝐴 = ||𝐴𝑥
⃗ =∇
𝐵
𝐴𝑦 0|
| = 𝑖− 𝑗+( − ⃗
)𝑘
𝜕 𝜕 𝜕 𝜕𝑧 𝜕𝑧 𝜕𝑦 𝜕𝑥
𝜕𝑥 𝜕𝑦 𝜕𝑧
𝜇𝑜 𝑚 𝑒
⃗ (𝑧) = 𝐵𝑧 = −
𝐵 ⃗
𝑘 (7.13)
2𝜋𝑧 3
53
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝐹 = ⃗⃗⃗⃗⃗
𝑚𝑐 (∇ ⃗ ⊗𝐵
⃗)
𝐹𝑧 = ⃗⃗⃗⃗⃗ ⃗ 𝐵𝑧 )
𝑚𝑐 ∘ (∇ (7.14)
54
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
𝜕 𝜕 𝜕 𝜇𝑜 𝑚𝑒 𝜇𝑜 𝑚𝑒
⃗⃗⃗⃗⃗ ⃗ 𝐵𝑧 ) = 𝑚𝑐
𝑚𝑐 ∘ (∇ (𝐵 ) (𝐵𝑧 ) = (− ) = 3
𝜕𝑧 𝑧 𝜕𝑧 𝜕𝑧 2𝜋𝑧 3 2𝜋𝑧 4
De forma que:
3𝜇𝑜 𝑚𝑐 𝑚𝑒
𝐹𝑧 = (7.15)
2𝜋 𝑧 4
𝑖𝐿
𝐹𝑧 = 𝐾𝑚
𝑧4
55
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
%---------------------------------------------------------
% MODEL: Process
% x[k] = f(x[k-1],u[k]) + w[k]
% MODEL: Measurement
% z[k] = h(x[k]) + v[k]
%---------------------------------------------------------
% EKF: Prediction stage
% x[k|k-1] = f(x[k-1|k-1],u[k])
% P[k|k-1] = F[k]*P[k-1|k-1]*F[k]' + Q[k]
% EKF: Update stage
% e = z[k] - h(x[k|k-1])
% S[k] = H[k]*P[k|k-1]*H[k]' + R[k]
% K[k] = P[k|k-1]*H[k]'*inv(S[k])
% x[k|k] = x[k|k-1] + K[k]*e[k]
% P[k|k] = (I - K[k]H[k])*P[k|k-1]
%---------------------------------------------------------
% DEFINITIONS:
% State covariance matrix
% P[k|k] = cov(x_true[k]-x[k|k])
% Process-noise covariance matrix
% Q[k] = cov(w[k]) = diag(var(w[k]))
% Measurement-noise covariance matrix
% R[k] = cov(v[k]) = diag(var(v[k]))
% State-trasition matrix
% F[k] = df(x,u)/dx for x = x[k-1|k-1|) and u = u[k]
% Observation matrix
% H[k] = dh(x)/dx for x = x[k|k-1|)
%---------------------------------------------------------
% Non-additive formulation
% x[k] = f(x[k-1],u[k],w[k])
% z[k] = h(x[k],v[k])
% P[k|k-1] = F[k]*P[k-1|k-1]*F[k]' + L[k]*Q[k]*L[k]'
% S[k] = H[k]*P[k|k-1]*H[k]' + M[k]*R[k]*M[k]'
% L[k] = df(x,u,w)/dw for x = x[k-1|k-1|) and u = u[k]
% M[k] = dh(x,v)/dx for x = x[k|k-1|)
%---------------------------------------------------------
% MODEL PARAMETERS
56
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
L=EKF_IN.PARAM.INDUCTANCE;
Km=EKF_IN.PARAM.Km;
g=EKF_IN.PARAM.GRAVITY;
Rr=EKF_IN.PARAM.RESISTANCE;
m=EKF_IN.PARAM.MASS;
% EKF MODE:
% / 0. NOT ENABLED / 1. WORKING
% STATE = [CURRENT; POSITION; SPEED ];
switch EKF_MODE
case 0 % NOT ENABLED
ind_x = logical([0 0 0]);
case 1 % WORKING
ind_x = logical([1 1 1]);
otherwise % NOT_ENABLED
ind_x = logical([0 0 0]);
end
% State-variable selection as function of EKF mode
x = x.*ind_x(:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
%%%%%%%%%%%%%%%%%%%% PASTE SYMBOLIC EQUATIONS FROM HERE
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
% State variables
x1 = x(1);
x2 = x(2);
x3 = x(3);
% Input variables
u1 = u(1);
u2 = u(2);
u3 = u(3);
% State-noise covariance matrix
Q1 = Q(1);
Q2 = Q(2);
Q3 = Q(3);
% State equations
f1 = (T*u1)/L - x1*((Rr*T)/L - 1);
f2 = u2 + x2 + T*x3;
f3 = u3 + x3 - T*g + (Km*T*x1)/(m*x2^4);
f = [ f1 f2 f3 ]';
% State-transition matrix
F1_1 = 1 - (Rr*T)/L;
F2_2 = 1;
F2_3 = T;
F3_1 = (Km*T)/(m*x2^4);
F3_2 = -(4*Km*T*x1)/(m*x2^5);
F3_3 = 1;
% Input-noise transition matrix
L1_1 = T/L;
L2_2 = 1;
L3_3 = 1;
% Covariance-matrix prediction
Pk = zeros(Nx,Nx,'single');
Pk(1,1) = F1_1^2*P(1,1) + L1_1^2*Q1;
Pk(1,2) = F1_1*F2_2*P(2,1) + F1_1*F2_3*P(3,1);
Pk(1,3) = F1_1*F3_1*P(1,1) + F1_1*F3_2*P(2,1) + F1_1*F3_3*P(3,1);
57
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
Pk(2,1:1) = Pk(1:1,2);
Pk(2,2) = L2_2^2*Q2 + F2_2*(F2_2*P(2,2) + F2_3*P(3,2)) +
F2_3*(F2_2*P(3,2) + F2_3*P(3,3));
Pk(2,3) = F3_1*(F2_2*P(2,1) + F2_3*P(3,1)) + F3_2*(F2_2*P(2,2) +
F2_3*P(3,2)) + F3_3*(F2_2*P(3,2) + F2_3*P(3,3));
Pk(3,1:2) = Pk(1:2,3);
Pk(3,3) = L3_3^2*Q3 + F3_1*(F3_1*P(1,1) + F3_2*P(2,1) + F3_3*P(3,1)) +
F3_2*(F3_1*P(2,1) + F3_2*P(2,2) + F3_3*P(3,2)) + F3_3*(F3_1*P(3,1) +
F3_2*P(3,2) + F3_3*P(3,3));
% Output equations
H = zeros(Nz,Nx,'single');
e = zeros(Nz,1,'single');
if ind_z(1)
h1 = f1;
e(1) = z(1) - h1;
H(1,1) = 1;
end
if ind_z(2)
h2 = f2;
e(2) = z(2) - h2;
H(2,2) = 1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
%%%%%%%%%%%%%%%%%%%% PASTE SYMBOLIC EQUATIONS TO HERE
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
return
58
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
8. Referencias
[4] Scott E. Thompson and Srivatsan Parthasarathy, Moore’s law: the future
of Si microelectronics, SWAMP Center, Department of Electrical and Computer
Engineering, University of Florida, Junio 2006
[6] Datasheet:
https://www.quanser.com/wpcontent/uploads/2017/03/MAGLEV-Datasheet.pdf
[7] Datasheet:
http://www.bytronic.net/wp-content/uploads/2015/06/MLS-PL0111.pdf
[12] Ion Zaballa, Universidad del País Vasco, Apuntes de la asignatura de Control,
Capítulo 4, Página 71
[13] J.J. Croat, Current status and future outlook for bonded neodymium
permanent magnets, Journal of Applied Physics 81, 4804 (1997)
59
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI
[17] Sedra Smith, Microelectronics circuits, Filters and tuned amplifiers, pág. 1091
[18] Adam Hill, What are neodimium magnets?, Wise Geek, 4 de junio de 2018
[20] Imagen de Albert Agraz Sánchez, Santiago Clúa, Detector de movimiento por
inducción magnética. Universidad de Lérida, 2007
60