Retrieve

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 79

Trabajo de Fin de Grado

Diseño y construcción
de un levitador
magnético

Autor: Director:

Pedro Sánchez Bas Juan Luis Zamora

Firma del autor: VºBº del 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.

3: El diseño de un control que


permita fijar la posición vertical de un
objeto.

4: La construcción del levitador,


junto con el ensamblaje de todos los
Fig. 1 Esquema del levitador

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 𝐾𝑚 .

Para la consecución de los objetivos


de este proyecto se ha empleado la
siguiente metodología: modelado de la
planta, diseño del control y simulación
e implementación.

El modelado de la planta tiene como


objetivo obtener el comportamiento
del sistema en forma de una serie de
ecuaciones matemáticas, cuya
información está contenida en una Fig. 2 Ensayo de fuerza para obtener 𝐾𝑚
función de transferencia. Para la
obtención de estas ecuaciones se parte El diseño del control en lazo cerrado
de las ecuaciones más básicas que tiene como objetivo obtener una
describen el electromagnetismo, respuesta temporal rápida, lo
llegando posteriormente a la ecuación suficientemente amortiguada y
que describe la fuerza sufrida por la estable.
carga en función de la corriente (Ec.
1), y terminando en un modelo en El primer diseño consiste en un PID,
espacio de estados (con su el control más utilizado en la industria
consiguiente función de por su sencillez, versatilidad y por la
transferencia). fácil interpretación de sus parámetros
[3]. El diseño del PID se realiza
𝑖 típicamente por respuesta en
𝐹𝑚 = 𝐾𝑚 (𝐸𝑐. 1)
𝑧4 frecuencia utilizando el criterio del
reverso y especificando un
En este ecuación i es la corriente que
determinado margen de fase, aunque
circula por la bobina, z es la distancia
en el caso del levitador la dinámica de
entre el CDG del electroimán y el de
la planta es oscilatoria,
imán, 𝐾𝑚 es una constante y 𝐹𝑚 es la
imposibilitando el diseño de un
fuerza sufrida por la carga.
control PID utilizando este método.
El modelo en espacio de estados
Después del control PID se procedió
tiene en cuenta 3 variables de estado:
a un diseño de control por
𝑖(𝑡), 𝑧(𝑡) y 𝑣𝑧 (𝑡), siendo la entrada la
realimentación de estado. Este control
tensión aplicada a la bobina 𝑉𝑖 (𝑡) y la
se utiliza con plantas cuyo diagrama
salida 𝑧(𝑡).
de Black es prácticamente vertical,
plantas con varios integradores o
Con el modelo en espacio de estados
plantas inestables.
es posible obtener de forma analítica
la función de transferencia de la
La respuesta del control por
planta, pero para diseñar el control es
realimentación de estado, como
preciso una forma numérica. Para
normal general, suele ser
obtener esta forma de la función de
cualitativamente mejor que la del PID,

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.

Después de ajustar el control se llegó


a una configuración de polos en lazo
cerrado tipo Butterworth [4] de orden
3, con un cuarto polo real (debido a la
acción integral del control) alejado
varios órdenes de magnitud. La salida
Fig. 3 Esquema del control en cascada del sistema para esta última
configuración se observa en la
siguiente gráfica:
Para el funcionamiento de este
control hace falta medir tanto la
corriente como la posición, y esto se
consigue con una serie de sensores
que se describen más adelante. El
problema que se plantea es que los
sensores incorporan una serie de
ruidos y no tienen una fiabilidad
absoluta. Para resolver este problema
se emplea un estimador de estado, que
utiliza las medidas de los sensores así
como las ecuaciones de la planta para
estimar las variables de estado del
sistema.

En este proyecto el estimador de Fig. 4 Respuesta a un escalón (1 cm)


estado que se ha empleado se conoce

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.

En cuanto a las posibles líneas


futuras de investigación se teoriza
sobre la posibilidad de incorporar
actuadores adicionales en direcciones
Fig. 5 Raspberry Pi 3 Model B perpendiculares de cara a controlar la
posición de forma tridimensional.
También se podrían optimizar
3. Resultados algunos aspectos del modelo actual
del levitador incorporando mejores
Los resultados de este proyecto se materiales o sensores de mayor rango
pueden resumir brevemente:

• Por una parte, se ha construido


un prototipo funcional, que se
puede utilizar para implantar
controles en el futuro.

4
5. Referencias

[1] Gabriel Perren, Estudio de las


aplicaciones prácticas de la levitación
magnética, FCEIA, Universidad
Nacional del Rosario, 2003

[2] D. Samsonov, Levitation and


agglomeration of magnetic grains in a
complex (dusty plasma with magnetic
field, Pag. 3, New J. Phys, 2003

[3] T.H. Wong, Design of a Magnetic


Levitation Control System: An
Undergraduate Project, IEEE, Nov.
1986, Pag. 196

[4] Sedra Smith, Microelectronics


circuits, Filters and tuned amplifiers,
pág. 1091

5
MAGNETIC LEVITATION SYSTEM: CONTROL AND DESIGN
Author: Sánchez Bas, Pedro
Director: Juan Luis Zamora Macho
Entity: ICAI – Comillas Pontifical University

1. Introduction Magnetic levitation can be applied in


many industrial applications [1]. A
Magnetic levitation is an emerging good example is the use of this
field that involves the use of many technology in nuclear fusion reactors,
tools and applications within the where the high plasma temperatures
engineering environment. As the title make it impossible to confine it in a
of this paper suggests this Project closed recipient [2]. Another practical
covers both the design and application is the magnetic levitation
construction of a magnetic levitation trains, like MagLev, or Hyperloop One,
device, with it´s corresponding control from Space X.
system.
In this project the design of the
A magnetic levitator is a device whole device is covered, with a
which is capable of sustaining a particular emphasis in control, which
certain magnetic load suspending in will be implemented in a Raspberry Pi
the air in a certain height. This device trough the MATLAB/Simulink
operates by applying voltage to an environment. Once designed, the
electromagnet, which creates a challenges that physical
magnetic field proportional to its implementation involves will be
current. This magnetic field induces a described, as well as its corresponding
vertical force in the load, opposite to management.
the direction of gravity, which
balances its weight. With a closed loop The main goals for this project are
control system we can generate the the following:
appropriate voltage in order to
maintain the load at a certain height. 1: Describing plant equations and
transfer function modelling.

2: Designing a functional simulator in


the MATLAB/Simulink environment,
that allows us to obtain the most
realistic system response.

3: Designing a position control that


can maintain a reference value

4: Construction of the physical device,


with the assembly of all the required
components for its operation

Fig. 1 Levitator schematic

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.

The main reason for modeling the


plant equations into a transfer
functions lays on the necessity of Fig. 2 Force test to obtain 𝐾𝑚
understanding plant dynamics in
order to design the control system. To The main goal of the closed loop
find these mathematical relations we control design is to achieve the fastest
start off from Maxwell’s equations and least error time response. Also,
which describe electromagnetism in stability requirements are a matter of
its basics, to the equations that relate interest in this subject.
forces between load and
electromagnet (Ec. 1). After a The simplest design is a PID
mathematical model is found we can controller, which is the simplest one
create a state-space model, among and the most used control in industrial
with its corresponding transfer applications [3]. The main advantage
function of PID control is the simplicity when it
comes to understanding the effect of
𝑖 it´s parameters in time response.
𝐹𝑚 = 𝐾𝑚 (𝐸𝑐. 1)
𝑧4 Usually the tool used for PID design is
the reverse criteria, which involves
In this equation i stands for inductor
the frequency response of the plant.
current, z is the distance between
The problem of the magnetic levitator
electromagnet´s center of mass and
is that the transfer function of the
load center of mass, 𝐾𝑚 is constant
plant 𝑃(𝑠) has an infinite gain at a
and 𝐹𝑚 is the force between them.
certain frequency, therefore it is an
oscillator, making it impossible to
The state space model considers 3
analyze its design using the reverse
state variables: 𝑖(𝑡), 𝑧(𝑡) y 𝑣𝑧 (𝑡), with
criteria.
the coil voltage 𝑉𝑖 (𝑡) being the input
and the output would be the position
After PID, the next control
𝑧(𝑡).
considered was the state space
control. This controller is used for
With the state space model it is
plant whose Black diagram is too
possible to obtain the system transfer
horizontal or unstable plants, like
function in an analytical form.
MagLev.
Nonetheless a numerical for is
required in order to set control
Time response in this control is
parameters, therefore a series of tests
usually, from performance
are required to actually measure Plant
perspective, qualitatively better than
parameters. The most important one
PID´s time response. This is due to the
between these parameters is 𝐾𝑚 .
fact that State space control involves
the use of some state variables,

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.

After adjusting control parameters,


the closed loop pole configuration
which came up to give the best time
response was a Butterworth
configuration [4] (order 3), and the
pole due to integrator located in the
real axis, far away from the others to
minimize it´s effect. System output can
be seen in the next figure:
Fig. 3 Cascade control diagram

For this control to operate both


current and position must be
measured, and this is achieved by a
series of sensors that will be described
in the following chapters. The
problem with using sensors to
measure physical signal is the noisy
outputs those may include, also the
fact that these are not 100% reliable
when it comes to precision. To solve
this problem a Kalman filter is used.

EKF (Extended Kalman Filter)


includes both the information from Fig. 4 Step response (1 cm)
sensors and plant equations to
estimate state value in every sampling
time. Also, it includes some statistical
information about the errors and
noise variances to optimize
estimation.

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

The actuator for the MagLev system • A mathematical model has


is the electromagnet, whose voltage is been created, and, with its
the command signal for the control corresponding parameters
system, this is, the variable which we tests, translates into a better
can change in time. understanding of magnetic
levitation phenomena.
There are 2 sensors in the system: a
current sensor (which really is a Anyway, it should be mentioned that
voltage sensor, with a preamplifier in even despite these satisfactory
series with a small resistance) and a results, the implemented control
position sensor, which is an optical wasn´t able to control mass position
sensor. due to increasing noise levels in
current measuring.
The microcontroller used for this
project is a Raspberry Pi Model B. The 4. Conclusions
main advantages that this micro
includes are its great computational Regarding the contributions of this
power, and its speed when it comes to project, the most important ones are
computational load (internal clock both the particular perspective taken
reaches 1 GHz). Microcontroller into account when facing the Maglev’s
programming has been performed challenging dynamics in order to
trough MATLAB / Simulink design the control system, also the
environment. construction of a functional prototype
which can be used in future research
applications.

Regarding possible future designs


and research, it is possible to include
additional actuators in X and Y axis in
order to control position in a 3-
dimensional environment. Also,
power limitations make it hard to
Fig. 5 Raspberry Pi 3 Model B expand control operating ranges, so
more powerful electromagnets will
make a much better application range.
3. Results

The results of this project can be


summarized as follows:

• First, a functional prototype


has been built, which can be

4
5. References

[1] Gabriel Perren, Estudio de las


aplicaciones prácticas de la levitación
magnética, FCEIA, Universidad
Nacional del Rosario, 2003

[2] D. Samsonov, Levitation and


agglomeration of magnetic grains in a
complex (dusty plasma with magnetic
field, Pag. 3, New J. Phys, 2003

[3] T.H. Wong, Design of a Magnetic


Levitation Control System: An
Undergraduate Project, IEEE, Nov.
1986, Pag. 196

[4] Sedra Smith, Microelectronics


circuits, Filters and tuned amplifiers,
pág. 1091

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.1 Motivación y planteamiento......…………………………….5

1.2 Estado del arte…………………………………………………….6

1.3 Objetivos………………………………………………………..….10

1.4 Estructura de la memoria……………………………………10

2. Modelado de la planta……………………………………………...11

2.1 Fuerza magnética……………………………………………….11

2.2 Modelado en espacio de estados………………………….12

2.3 Función de transferencia de la planta……………….…15

2.4 Obtención de los parámetros característicos……..…17

3. Control………………………………………………………………..…..21

3.1 Control PID……………………………………………………...…21

3.2 Control por realimentación de estado………………….23

3.3 Control en cascada…………………………………………...…25

3.4 Estimador de estado………………………………………...…26

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

6.2 Futuros desarrollos…………………………………………….46

7. Anexos……..…………………………………………………………..…48

7.1 Desarrollo de las ecuaciones de fuerza magnética…48

7.2 Filtro de Kalman en Matlab………………………………….56

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

Fig. 4.5 Microcontrolador Raspberry Pi 3 Modelo B .............................................................. 37


Fig. 4.6 Pi 3 Click Shield ................................................................................................................... 37
Fig. 4.7 Arduino nano para el sensado de la corriente .......................................................... 38
Fig. 4.8 Sensor óptico de posición ................................................................................................. 39
Fig. 4.9 Sensor de efecto Hall ......................................................................................................... 39
Fig. 4.10 Convertidor AC/DC LRS-75-12 .................................................................................... 39
Fig. 4.11 Convertidor DC/DC KREE-12-24................................................................................. 40
Fig. 4.12 Estructura física del levitador ..................................................................................... 40
Fig. 4. 13 Nivel superior del programa principal .................................................................... 41
Fig. 4.14 Bloque de función de Matlab ........................................................................................ 42
Fig. 4.15 Bloque I2C de Simulink .................................................................................................. 42
Fig. 4.16 Bloque SPI de Simulink .................................................................................................. 43
Fig. 4.17 Bloque PWM de Simulink .............................................................................................. 43
Fig. 4.18 Máquina de estados......................................................................................................... 43
Fig. 6.1 Esquema de levitación de elemento rotativo ............................................................ 47
Fig. 7.1 Electroimán .......................................................................................................................... 48
Fig. 7.2 Campo de una espira circular en su eje ...................................................................... 49
Fig. 7.3 Cálculo del campo magnético de un solenoide ......................................................... 50
Fig. 7.4 Distribución de campo en un solenoide ...................................................................... 51

4
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

1. Introducción

1.1 Motivación y planteamiento

La levitación magnética es un campo emergente que abarca numerosas disciplinas


en el mundo de la ingeniería, y que tiene diversas aplicaciones industriales [1].
Gracias a los últimos avances en el mundo de la electrónica ha sido posible
desarrollar técnicas de control lo bastante precisas como para llegar a diseñar
dispositivos capaces de controlar la posición de un objeto suspendido en el aire con
la tecnología que se presenta a continuación en este trabajo.

En este proyecto se pretende diseñar y construir el dispositivo en cuestión, con un


énfasis en el controlador. El principio de funcionamiento es sencillo: se tiene un
electroimán por el cual se hace pasar una corriente, lo cual a su vez genera un campo
magnético; este campo genera una fuerza atractiva en materiales magnéticos que
aprovecharemos para que contrarreste la fuerza del peso del objeto que queremos
levitar. El motivo por el cual se emplea un electroimán es porque al estar este
provisto de un núcleo de material magnético se produce una amplificación natural
del campo producido.

Fig. 1.1 Esquema básico de un levitador

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.

Algunas de las aplicaciones prácticas de la levitación magnética son el tren Maglev


o el Hyperloop One (de SpaceX) en temas de transporte, los rodamientos magnéticos
o la levitación del plasma en aplicaciones de fisión nuclear [3].

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:

- La posibilidad de realizar un proyecto multidisciplinar que incluye la


aplicación práctica de muchos de los conocimientos aprendidos en
asignaturas del grado (Campos Electromagnéticos, Regulación Automática,
Ampliación de Control y Electrónica entre otras)

- Proporcionar a la escuela experiencia en este campo, y la disponibilidad de


un prototipo que puede ser utilizado en las demostraciones y sesiones
prácticas de asignaturas de control.

1.2 Estado del arte

Durante el siglo XX y hasta hoy en día se ha ido produciendo un avance progresivo


en el mundo de la electrónica [4]. Gracias a los últimos avances en este campo se han
podido crear controles cada vez más rápidos y más robustos, los cuales utilizaremos
para el diseño del levitador.

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.

Fig. 1.2 Esquema básico del PID

En la década de 1960 aparecieron nuevas estrategias de control como


consecuencia de la demanda de controles cada vez más precisos y potentes. El que
mayor importancia tiene en este TFG es el control por realimentación de estado. La
idea principal de este control es obtener más información del sistema, de forma que
aparte de la salida o variable a controlar, también se obtiene información de una
serie de variables de estado. Gracias a esta información extra la acción de control
puede ser más rápida que la del PID, sobretodo en plantas con varios integradores.

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

Otra disciplina muy importante en el diseño de los levitadores magnéticos es el


electromagnetismo. Los fenómenos de la electricidad y el magnetismo se conocen
desde La Antigüedad, aunque no es hasta el siglo XVII cuando algunos científicos
trataron de buscar una explicación a estos fenómenos. Destacan los trabajos de
Ampère, Ohm y Faraday, que durante los siglos XVII y XVIII desarrollaron una serie
de leyes matemáticas que describían físicamente el comportamiento de las cargas
eléctricas y los imanes.

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]

Gracias a estas ecuaciones ha sido posible la aparición de las máquinas eléctricas


y actualmente son la herramienta fundamental en el estudio de cualquier elemento
eléctrico o magnético, por lo que serán fundamentales en el modelado de la planta
del levitador.

Actualmente los levitadores magnéticos gozan de una amplia popularidad entre


fabricantes de equipos del sector de la electrónica y el control. Su particular
dinámica no lineal lo convierte en un dispositivo perfecto para probar y desarrollar
todo tipo de controles de amplio interés industrial. A continuación se muestran
algunos ejemplos concretos:

7
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 1.4 Levitador magnético de Quanser [6]

Fig. 1.5 Levitador magnético de Bytronic [7]

En la figura 1.4 se puede ver el levitador magnético de Quanser Consulting, una


compañía dedicada a la fabricación de hardware para aplicaciones de investigación
y docencia. Este modelo se caracteriza por tener un núcleo de ferrita, así como una
columna situada en la parte de abajo del dispositivo, en línea con el eje, que sirve
para guiar al fotosensor de posición.

En la figura 1.5 se aprecia al modelo de Bytronic, empresa dedicada a la fabricación


de dispositivos de control con finalidades didácticas. Este modelo se caracteriza por
implementar técnicas de control adaptativo.

8
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Cabe decir que la popularidad de los levitadores magnéticos no sólo es palpable en


la industria: también es bastante significativa en los laboratorios de asignaturas de
control de numerosas universidades. A continuación se muestran a modo de
ejemplo algunos proyectos concretos:

Fig. 1.6 Levitador magnético del MIT [8]

Fig. 1.7 Modelo de la Universidad de Zaragoza [9]

En la figura 1.6 se aprecia un dispositivo construido en el MIT (Massachusetts


Institute of Technology) utilizado para demostraciones prácticas en los laboratorios
de asignaturas del área de control, con un énfasis en el hardware empleado para la
implementación.

En la figura 1.7 se observa el modelo del levitador de la universidad de Zaragoza,


que cuenta con la particularidad de haber sido implantado en una FPGA y no en un
microcontrolador, como suele ser el caso. Además el proyecto persigue como
objetivo que el coste total sea reducido para que los alumnos puedan diseñar sus
propios modelos.

9
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

1.3 Objetivos

Los objetivos a alcanzar son los siguientes:

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.

3: El diseño de un control que permita fijar la posición vertical de un objeto.

4: La construcción del levitador, junto con el ensamblaje de todos los elementos


requeridos para su funcionamiento.

1.4 Estructura de la memoria

La memoria descriptiva del proyecto pretende guiar al lector en el proceso más


lógico e inductivo posible para entender el proceso de construcción del dispositivo.
El orden de los capítulos sigue aproximadamente la estructura cronológica de los
pasos necesarios para finalizar el proyecto.

La estructura general de la memoria tiene 4 partes:

1) Obtención de las ecuaciones matemáticas y cálculos teóricos. Capítulo 2 y


parte del 3.

2) Traducir el esquema teórico en elementos de hardware reales. Primera


parte del capítulo 4.

3) Integrar el modelo obtenido en la primera parte con los elementos de


hardware para construir el prototipo final. Segunda parte del capítulo 4.

4) Resultados. Capítulo 5

Se incluye además un apartado final de conclusiones generales y reflexiones sobre


el aporte de este proyecto, así como posibles líneas futuras de investigación.
Capítulo 6.

10
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

2. Modelado de la planta

2.1 Fuerza magnética

Haciendo un pequeño análisis del desarrollo del modelado de la planta en otros


proyectos de levitadores magnéticos se aprecia que esta es una sección a la que se
le suele conceder escasa importancia. Sin embargo, la presencia de tiempos de
muestreo elevados, el error de cuantización, o la poca fiabilidad de algunos sensores
y componentes analógicos hacen que se requiera una mayor precisión en otras
variables sobre las que tenemos más control, como puede ser la exactitud del
modelo de la planta.

Fig. 2.1 Imagen del electroimán

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.

Para entender correctamente los cálculos descritos en los apartados siguientes se


precisan una serie de conocimientos previos relativos al electromagnetismo, así
como conocimientos de cálculo propios de la ingeniería.

La estructura de este aparatado, que se desarrolla en el Anexo 1 es la siguiente:

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

4) Expresión de 𝐹 m = 𝑓(𝑖𝐿 , 𝑧), fuerza sobre la carga en función de su altura y la


corriente

Como resultado del desarrollo teórico se obtiene la ecuación que rige el


comportamiento del sistema:

𝑖𝐿
𝐹𝑧 = 𝐾𝑚 (2.1)
𝑧4

En esta ecuación 𝐹𝑧 es la fuerza en la dirección z sufrida por la carga con sentido


contrario a la gravedad. 𝑖𝐿 es la corriente de la bobina, z es la distancia entre en el
centro de gravedad del electroimán y el centro de gravedad de la carga. Por último
𝐾𝑚 es la constante que relaciona la fuerza con la corriente y la posición.

Como se comenta en el Anexo 1, se aprecia una fuerte sensibilidad con respecto a


la distancia (z). Cabe decir que esta ecuación sólo es válida cuando el objeto que
estamos levitando es un imán, en el caso de que quisiéramos levitar un elemento de
ferrita no polarizado [10] la ecuación a emplear sería la siguiente:

𝑖𝐿 2
𝐹𝑧 = 𝐾𝑚 2 (2.2)
𝑧

Para pequeñas distancias se aprecia que la fuerza es varios órdenes de magnitud


mayor en el caso de levitación de imanes, motivo por el cual se ha elegido la primera
configuración.

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.

2.2 Modelado en espacio de estado

El control por realimentación de estado surgió a finales de los años 60 como


respuesta a la necesidad de controles más potentes. Para obtener el mejor
comportamiento del sistema se ha optado por uno de estos controles, por lo tanto
se precisa un modelo del sistema en espacio de estado. La representación de
estado de un sistema es el conjunto de ecuaciones que permiten entender el
comportamiento del sistema, es decir, que salidas obtendremos para determinadas
entradas.

El vector de estado es el que contiene la información del sistema y permite


calcular la salida para una entrada dada. Este vector lo componen una serie de
variables de estado, que se pueden escoger de infinitas maneras, siendo la más
natural escoger las variables relacionadas con el almacenamiento de energía. En el
caso del levitador el vector de estado es el siguiente:

12
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

𝑖𝐿 (𝑡)
𝑋(𝑡) = ( 𝑧(𝑡) )
𝑉𝑧(𝑡)

La bobina almacena energía en forma de campo magnético a través de su


corriente, la posición almacena energía potencial y la velocidad energía cinética.

La salida es la variable que queremos controlar y en el levitador magnético


queremos controlar la posición 𝑧(𝑡) :

𝑌(𝑡) = (𝑧(𝑡))

La entrada es la variable sobre la que tenemos un control directo, en nuestro


caso es la tensión de la bobina:

𝑈(𝑡) = 𝑉𝑖𝑛 (𝑡) (2.3)

El modelado en espacio de estados del sistema debe satisfacer las siguientes


ecuaciones:

𝑑𝑋(𝑡)
= 𝐹(𝑋(𝑡), 𝑈(𝑡))
{ 𝑑𝑡 (2.4)
𝑌(𝑡) = 𝐺(𝑋(𝑡), 𝑈(𝑡))
Para:

𝑓1 (𝑋, 𝑈)
𝐹(𝑋, 𝑈) = ( 2 (𝑋, 𝑈) )
𝑓 𝑦 𝐺(𝑋, 𝑈) = (𝑔1 (𝑋, 𝑈))
𝑓3 (𝑋, 𝑈)

Siendo el modelo eléctrico de la planta acorde con el siguiente esquema podemos


deducir las primeras ecuaciones de estado.

Fig. 2.2 Esquema eléctrico de la planta

𝑑𝑖
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:

𝑑𝑥1 (𝑡) 𝑑𝑖𝐿 1


= = (𝑉𝑖𝑛 − 𝑅𝑖𝐿 ) = 𝑓1 (𝑋, 𝑈)
𝑑𝑡 𝑑𝑡 𝐿

A partir del diagrama del cuerpo libre de la carga que se desea levitar podemos
obtener las siguientes ecuaciones:

𝑖𝐿 𝑑2 𝑧
∑ 𝐹 = 𝐾𝑚 − 𝑚𝑔 = 𝑚 (2.6)
𝑧4 𝑑𝑡 2

Fig. 2.3 Diagrama del cuerpo libre

Teniendo en cuenta la relación entre velocidad y posición podemos deducir las


siguientes ecuaciones:

𝑑𝑧 𝑑𝑥2 𝑑𝑉𝑧 𝑑𝑥3 1 𝑖𝐿


= = 𝑉𝑧 = 𝑓2 (𝑋, 𝑈) = = (𝐾𝑚 4 − 𝑚𝑔) = 𝑓3 (𝑋, 𝑈)
𝑑𝑡 𝑑𝑡 𝑑𝑡 𝑑𝑡 𝑚 𝑧

Si tenemos en cuenta que 𝑦 = 𝑥2 entonces 𝑔1 (𝑋, 𝑈) = 𝑓3 (𝑋, 𝑈). Es importante


destacar que para obtener la ecuación (2.6) se ha supuesto el origen de coordenadas
en el centro de gravedad del electroimán con sentido positivo de z en dirección
contraria a la gravedad, por lo que la carga se moverá en el rango negativo de valores
de z(t).

14
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

2.3 Función de transferencia de la planta

La función de trasferencia se define como la relación entre la entrada y la salida de


un sistema lineal e invariante en el tiempo. El problema que se nos presenta es que
el modelado en espacio de estados del levitador magnético contiene ecuaciones no
lineales, por lo tanto tenemos que linealizar [11] el sistema. Para ello se define un
punto de operación 𝑋0 , 𝑈0 de la siguiente manera:

𝑑𝑋0
= 𝐹(𝑋0 , 𝑈0 ) = 0 𝑌0 = 𝐺(𝑋0 , 𝑈0 )
𝑑𝑡

Se aprecia que la derivada del estado en un punto de operación determinado es


nula, de forma que el control tendrá como objetivo mantener dicho punto de
operación. Para hallar el punto de operación con Matlab se emplea el comando trim
de la siguiente manera:

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 𝑚⁄𝑠

A un sistema MIMO (multiple input multiple output) lineal le corresponde una


representación de estado de la siguiente forma:

𝑑𝑋(𝑡)
= 𝐴𝑋(𝑡) + 𝐵𝑈(𝑡)
{ 𝑑𝑡 (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:

𝜕𝐹(𝑋, 𝑈) 𝜕𝐹(𝑋, 𝑈) 𝜕𝐺(𝑋, 𝑈) 𝜕𝐺(𝑋, 𝑈)


𝐴= 𝐵= 𝐶= 𝐷=
𝜕𝑋 𝜕𝑈 𝜕𝑋 𝜕𝑈

De todas estas matrices la más importante es la matriz A, llamada matriz de estado


del sistema, cuyos autovalores se corresponden con los polos de la dinámica del
sistema [12].

15
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Para calcular la función de transferencia a través de Matlab es necesario un modelo


de Simulink del sistema con sus inputs y outputs especificados. Las ecuaciones no
lineales que definen al sistema se introducen como relaciones entre las entradas y
salidas de una función de Matlab, que permite introducir en un diagrama de
Simulink un script de Matlab.

Fig. 2.4 Modelo de la planta en Simulink

Teniendo un modelo de Simulink de la planta y el punto de operación de ésta el


comando linmod de Matlab devuelve las matrices del sistema de la siguiente manera:

Obteniendo así la representación de estado linealizada en el punto de operación:

𝑅
− 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 ]

Se aprecia que las matrices C y D son respectivamente la identidad y el elemento


neutro. Esto se debe a que en modelo hemos establecido que salida sea igual al
estado.

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

salida 𝑖. Para obtener esta matriz de transferencia aplicamos la transformada de


Laplace en las ecuaciones de estado del sistema:

𝑠𝑋(𝑠) = 𝐴𝑋(𝑠) + 𝐵𝑈(𝑠)


{ (2.8)
𝑌(𝑠) = 𝐶𝑋(𝑠) + 𝐷𝑈(𝑠)

Operando las matrices:

𝑌(𝑠) = (𝐶(𝑠𝐼 − 𝐴)−1 𝐵 + 𝐷)𝑈(𝑠) = 𝐹(𝑠)𝑈(𝑠)

Como queremos conocer la función de transferencia entre la tensión del


electroimán y la posición de la carga buscamos el elemento (2,1), obteniendo la
siguiente función:

𝐾𝑚 𝑥2 0
𝑃(𝑠) = (2.9)
(𝑅 + 𝐿𝑠)(𝑚𝑥25 0 𝑠 2 + 4𝐾𝑚 𝑥1 0 )

2. 4 Obtención de los parámetros característicos


Para obtener la función de transferencia de la planta es necesario conocer el valor
de los parámetros que caracterizan la planta, como pueden ser 𝑅, 𝐿 y 𝐾𝑚 . Estos
valores se podrían calcular de forma teórica conociendo el tipo de material [13] del
que está hecho el núcleo, los cables del arrollamiento y otros parámetros físicos,
pero este planteamiento tiene dos problemas: el primero es la imposibilidad de
conocer con absoluta precisión parámetros como el dipolo magnético de la carga o
la permeabilidad del núcleo del electroimán. El segundo es la diferencia que hay
entre el plano teórico y los sistemas reales.

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

• Ensayo de fuerza magnética

El objetivo de este primer ensayo es obtener 𝐾𝑚 y 𝑅. Para ello se monta un banco


de pruebas sobre el cual situamos al electroimán y un medidor de fuerza como se
aprecia en la siguiente imagen (el elemento azul es el medidor):

17
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 2.5 Ensayo de fuerza

La realización del ensayo consiste en alimentar el electroimán a una tensión


constante, esperar a que se alcance un régimen permanente e ir tomando una serie
de medidas de la fuerza sufrida por el imán conjuntamente con la distancia a la que
se encuentra del centro de gravedad del núcleo [14]. En el ensayo se encapsuló el
imán en el elemento de color negro para alinearlo correctamente con el eje del
núcleo. El resultado de este ensayo se puede ver desglosado en el Anexo 2, que
contiene todos los puntos que se tomaron.

Además de la medida de la constante de fuerza magnética, como la fuente de


tensión utilizada proporcionaba medidas de tensión e intensidad se pudo realizar
también el cálculo de resistencia del arrollamiento:

𝑅 = 3.6082 𝛺

Una observación interesante de este ensayo es la dependencia tanto de la


constante de fuerza magnética como de la resistencia, de la temperatura, que
aumenta bruscamente al poco tiempo de aplicar tensión [15].

Los resultados del ensayo se muestran en la siguiente gráfica. El eje X representa


la fuerza en N y el eje Y representa 𝑖⁄𝑧 4 en 𝐴⁄𝑚4, de forma que la constante de
proporcionalidad entre ambos debería ser 𝐾𝑚 .

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)

Fig. 2.6 Resultados del ensayo de fuerza

Se aprecia de forma bastante clara la linealidad que habíamos supuesto para el


modelo, y esta linealidad la confirma el coeficiente de determinación 𝑅 2 . Para
obtener el valor de 𝐾𝑚 se realiza un ajuste por mínimos cuadrados obteniendo el
siguiente valor:

−5
𝑁𝑚4
𝐾𝑚 = 2.4367 × 10 ( )
𝐴

• Ensayo eléctrico

El objetivo de este ensayo es determinar la inductancia del electroimán. Para ello


se montó un circuito eléctrico con una resistencia de valor conocido en serie con el
electroimán.

Fig. 2.7 Ensayo eléctrico

Para obtener el valor de L se procedió a introducir una señal senoidal en la entrada,


se midió la salida con osciloscopio y a partir de la respuesta en frecuencia del
circuito se despejó el valor de L. El módulo de dicha respuesta en frecuencia a una
determinada 𝜔𝑒 es el siguiente:

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:

Fig. 2.8 Resultados del ensayo eléctrico (entrada= CH2)

Ahora despejamos el valor de L de la ecuación 2.9:

𝐿 = 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

3.1 Control PID

El control PID es el control de uso más generalizado en la industria por su sencilla


implantación. Su estructura general está basada en aplicar acciones proporcional,
integral y diferencial al error 𝑒(𝑡) definido como la diferencia entre la salida 𝑦(𝑡) y
el valor de consigna o referencia 𝑟(𝑡). El mando 𝑢(𝑡) es la variable de entrada de la
planta o actuador y se obtendría aplicando una combinación de las acciones
anteriormente mencionadas al error:

1 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾 (𝑒(𝑡) + ∫ 𝑒(𝑡)𝑑𝑡 + 𝑇𝑑 ) (3.1)
𝑇𝑖 𝑑𝑡

Diseñar el control, por tanto, consiste en calcular los parámetros 𝐾, 𝑇𝑖 y 𝑇𝑑 para


obtener la mejor respuesta temporal del sistema en lazo cerrado posible atendiendo
a criterios de rapidez, robustez y error en régimen permanente. Para realizar este
diseño normalmente se emplea una variante del criterio de estabilidad de Nyquist,
el criterio del reverso, que consiste en analizar la respuesta en frecuencia del lazo
abierto del sistema.

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.

Fig. 3.1 Diagrama de Black de un sistema estable

21
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

El diseño por respuesta en frecuencia consiste por lo tanto es especificar un


margen de fase o de ganancia, obteniendo los parámetros a implementar para
obtener dicha estabilidad. El problema que presentan algunas plantas con retardos
o demasiado horizontales es la imposibilidad de estabilizar el sistema siguiendo este
método de diseño. La planta del levitador magnético presenta un problema para
diseñar el control PID por métodos de respuesta en frecuencia, y es que se trata de
una planta oscilante, al tener dos polos complejos puros conjugados.

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:

Fig. 3.2 diagrama de Black de la planta del levitador

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

Al no poder diseñar un PID por respuesta en frecuencia se realizará el diseño de


forma analítica ajustando los parámetros de la respuesta temporal del sistema en
lazo cerrado, con el objetivo de minimizar la función de coste. No obstante se partirá
de un diseño inicial basado en un control por realimentación de estado.

22
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

3.2 Control por realimentación de estado

El control por realimentación de estado presenta una serie de ventajas con


respecto al PID. Por una parte permite controlar sistemas MIMO (multiple input
multiple output), a diferencia del PID que sólo permitía controlar sistemas SISO.
Otra ventaja importante de este tipo de controles es que tienen en cuenta la
información proporcionada por las variables de estado del sistema, por lo que la
acción de control en muchos casos será más completa. Por último cabe destacar
que teóricamente este tipo de control permite fijar todos los polos del sistema en
lazo cerrado, es decir, la dinámica del sistema.

La estructura general del control se muestra a continuación:

Fig. 3.3 Control por realimentación de estado digital

Como el control del levitador magnético se implantará con un microprocesador


(como se detalla en capítulos posteriores), el diseño se realizará teniendo en cuenta
esta digitalización. La principal diferencia radica en el análisis en tiempo discreto en
vez de tiempo continuo, por lo que las señales 𝑦[𝑘] tienen valores sólo en
determinadas muestras k.

Las ecuaciones que rigen el comportamiento de la planta en el espacio de estados


pasarían a ser las siguientes:

𝑋[𝑘 + 1] = 𝐴𝑑 𝑋[𝑘] + 𝐵𝑑 𝑈[𝑘]


{ (3.2)
𝑌[𝑘] = 𝐶𝑑 𝑋[𝑘] + 𝐷𝑑 𝑈[𝑘]

El planteamiento general del control es mantener un punto de operación


determinado en el que las derivadas de las variables de estado se anulan. Esto se

23
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

consigue multiplicando el estado 𝑋(𝑡) por una matriz de ganancias K, obteniendo


así el mando 𝑈(𝑡).

La ley de control es, por tanto: 𝑈(𝑡) = −𝐾𝑋(𝑡), obteniendo la siguiente dinámica
del estado:

𝑋[𝑘 + 1] = (𝐴𝑑 − 𝐵𝑑 𝐾)𝑋[𝑘] = 𝑀𝑋[𝑘] (3.3)

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.

De esta forma teóricamente se obtendría la dinámica deseada, pero muchas veces


en la implantación real del control los sensores proporcionan medidas poco fiables,
o los errores de calibración de estos proporcionan una salida no deseada en régimen
permanente. Para resolver este problema se debe incluir un integrador después del
cálculo del error para que este se anule, pero al añadir un integrador estamos
añadiendo también una variable de estado que hay que tener en cuenta en el diseño
del control. Además de anular el error esta nueva configuración también nos
permite cambiar el punto de operación y seguir una referencia externa. El esquema
del control es el siguiente:

Fig. 3.4 Control por realimentación de estado digital con integrador

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

Siendo 𝐴𝑑 y 𝐵𝑑 las matrices que gobiernan el estado en tiempo discreto.

El problema del control por realimentación de estado es que su implantación no


es tan intuitiva como la del PID, además de que sus parámetros no se pueden ajustar
de forma independiente. Para no renunciar a la potencia del control por
realimentación de estado, y tratar de explotar la sencillez del PID se procede a
implementar el control por realimentación de estado a través de un control en
cascada.

3.3 Control en cascada

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:

Fig. 3.5 Control digital en cascada

La ventaja de este control es que podemos implantar la dinámica calculada por el


control por realimentación de estado con dos PID. En el caso concreto del levitador,
como queremos sustituir al control por realimentación de estado la implementación
final debería proporcionar el siguiente mando:

𝑢(𝑡) = 𝐾(1)𝑖(𝑡) + 𝐾(2)𝑧(𝑡) + 𝐾(3)𝑉𝑧 (𝑡) + 𝐾𝑖 ∫ 𝑒(𝑡)𝑑𝑡 (3.4)

Siendo 𝐾(𝑖) el elemento 𝑖 del vector 𝐾 de ganancias.

25
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Para obtener un mando equivalente con un control en cascada sería necesaria la


siguiente configuración:

Fig. 3.6 Control en cascada para el levitador magnético

En este caso obtendríamos el siguiente mando en función de los parámetros del


control:

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:

𝐾(2) −𝐾(2) 𝐾(3)


𝐾1 = 𝐾2 = 𝐾(1) 𝑇𝑖 = 𝑇𝑑 = 𝑏=0
𝐾(1) 𝐾𝑖 𝐾(2)

3.4 Estimador de estado

La implantación del control descrita previamente requiere una medición de las


variables de estado del sistema. Dicha medición se realiza a través de una serie de
sensores, que poseen una fiabilidad limitada en sus medidas, otorgando un cierto
grado de incertidumbre al proceso de realimentación.

Otra fuente de errores destacable que puede empeorar el funcionamiento del


control es el modelado de la planta, ya que los parámetros característicos medidos
del sistema se estimaron con una precisión finita, además de que estos pueden
cambiar de valor con la temperatura.

26
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Para mitigar el efecto de estas fuentes de incertidumbre en la práctica se emplea


un estimador de estado, cuya función es corregir el valor de las medidas de los
sensores y en algunos casos estimar el valor de algunas variables de estado que no
se miden directamente. Para estimar el estado se utilizan como fuentes de
información las medidas de los sensores y el valor de la entrada, que resulta de gran
utilidad de forma conjunta con el modelado de la planta. Las principales de ventajas
del estimador son una mayor fiabilidad en las medidas de las variables del sistema
y un menor coste en el caso de estimar variables no medidas. En función de la
confianza que tengamos en el modelo de la planta o en las medidas de los sensores
podemos configurar el estimador para que tenga más en cuenta una cosa u otra.

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 estimador de estado empleado en este proyecto se denomina filtro de Kalman,


que presenta la peculiaridad de incluir criterios estadísticos en su diseño. La
estructura general se muestra a continuación:

Fig. 3.6 Esquema general del filtro de Kalman

Como se aprecia en la figura el estimador presenta 2 etapas: predicción y


corrección. La etapa de predicción usa la información del modelado para predecir el
estado futuro y la etapa de corrección emplea las medidas de los sensores para
calcular errores de estimación.

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

𝑋[𝑘] = 𝐴𝑑 𝑋[𝑘 − 1] + 𝐵𝑑 𝑈[𝑘] + 𝜔[𝑘 − 1] (3.6)

𝑍[𝑘] = 𝐻𝑋[𝑘] + 𝑣[𝑘] (3.7)

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 𝑷[𝑘]:

̂ [𝑘] = 𝐴𝑑 𝑋̂[𝑘 − 1] + 𝐵𝑑 𝑈[𝑘]


𝑿

𝑷[𝑘] = 𝐴𝑑 𝑃[𝑘 − 1]𝐴𝐻


𝑑 +𝑄

La parte de corrección incluye la información de los errores de estimación previos


para calcular la estimación del estado a posteriori 𝑋̂[𝑘] de la siguiente manera:

𝑋̂[𝑘] = 𝑿
̂ [𝑘] + 𝐾[𝑘](𝑧[𝑘] − 𝐻𝑿[𝑘])

Además de corregir el estado se corrige la matriz de covarianza del estado estimado:

𝑃[𝑘] = (𝐼 − 𝐾[𝑘]𝐻)𝑷[𝑘]

La matriz K se denomina ganancia de Kalman y es el factor que multiplica al error.


Su diseño el tal que minimiza la matriz de correlación del error 𝑃[𝑘]. El diseño
matemático de la ganancia de Kalman garantiza que, si los ruidos son gaussianos, el
estado seguirá también una distribución normal con media 𝑋̂[𝑘] y varianza 𝑃[𝑘].

El caso concreto del levitador magnético, al ser la planta de carácter no lineal, es


preciso emplear un filtro de Kalman extendido, que presenta como particularidad la
linealización de las ecuaciones del sistema en cada muestra k, de forma que:

𝜕𝑓(𝑋̂[𝑘 − 1], 𝑈[𝑘], 0) 𝜕ℎ


𝐴𝑑 [𝑘] = 𝐻[𝑘] = ̂ [𝑘], 0)
(𝑿
𝜕𝑋 𝜕𝑥

Siendo: 𝑋[𝑘] = 𝑓(𝑋[𝑘 − 1], 𝑈[𝑘], 𝜔) y 𝑧[𝑘] = ℎ(𝑋[𝑘], 𝑣)

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

El objetivo de la simulación es ajustar los parámetros del control para asegurar el


mejor comportamiento posible del sistema real en lazo cerrado. Podríamos decir
que la simulación tiene un doble objetivo: por una parte reducir al máximo el error
teórico en la respuesta temporal del sistema, que se logra cambiando la localización
de los polos; y por otra parte asegurar que las variables del sistema no superan los
límites físicos de los componentes del sistema, en el caso del levitador es
especialmente importante no superar los límites de tensión máxima de mando y de
corriente máxima de actuador.

Para simular el comportamiento del sistema se ha empleado el entorno de Matlab/


Simulink, anteriormente mencionado. En este entorno se ha creado un modelo
similar al de la figura 2.4, con un bloque de gráficas para visualizar la respuesta
temporal así como los bloques necesarios para gestionar las distintas señales de
control y salidas del sistema. Estas señales son gestionadas por una red de buses,
que se explica con más detalle en el capítulo 4. Una vez diseñado el bloque de
Simulink es necesario diseñar el control con una localización de polos determinada.

El primer factor a tener en cuenta es el número de polos. En el caso del levitador


la matriz de estado del sistema (𝐴𝑑 ) tiene 4 filas y 4 columnas, por lo tanto tiene 4
autovalores, de forma que tenemos que localizar 4 polos para el lazo cerrado. Cabe
decir también que todos los polos del sistema deben encontrarse en el semiplano
izquierdo del plano complejo para que se dé la condición de estabilidad.

Una configuración habitual para colocar 4 polos es localizar 3 de ellos en


configuración Butterworth [17] y el polo restante en la recta real a una distancia
significativa (lo bastante lejos del 0) para mitigar su efecto:

Fig. 3.7 Localización de los polos en lazo cerrado

29
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

En esta configuración los 3 polos Butterworth se sitúan en una circunferencia de


radio 𝜔𝑛 , presentando los 2 polos complejos un amortiguamiento 𝜉 = 0,5. La 𝜔𝑛 se
debe elegir teniendo en cuenta la frecuencia más significativa de la planta, que en el
caso del levitador es la frecuencia de oscilación 𝜔𝑢 = 21,1 𝑟𝑎𝑑⁄𝑠. El parámetro a
variar, por tanto, es esta frecuencia natural que determinará la velocidad de la
respuesta temporal.

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 ⁄𝑠

De esta forma se simula una situación de perturbación en la que la diferencia entre


la referencia y la salida es de 1 cm, con una cierta corriente inicial y en parado. La
respuesta del sistema en estas condiciones es la siguiente (eje horizontal en
segundos):

Fig. 3.8 Salida de posición para 𝜔𝑛 = 0,787𝜔𝑢

30
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 3.9 Señal de corriente para 𝜔𝑛 = 0,787𝜔𝑢

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.

Después de varias iteraciones buscando una respuesta temporal que no superase


los rangos de operación del hardware, se llegó a un diseño con 𝜔𝑛 = 0,45𝜔𝑢 =
9,49 𝑟𝑎𝑑⁄𝑠 , obteniendo la siguiente respuesta del sistema:

Fig. 3.10 Señal de corriente para 𝜔𝑛 = 0,45𝜔𝑢

31
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 3.11 Señal de posición para 𝜔𝑛 = 0,45𝜔𝑢

Fig. 3.12 Señal de velocidad para 𝜔𝑛 = 0,45𝜔𝑢

32
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 3.13 Señal de tensión para 𝜔𝑛 = 0,45𝜔𝑢

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.

• Simulación con ruido y filtro de Kalman

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:

Fig. 3.14 Salida de corriente con ruido y estimador de estado

33
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 3.15 Salida de posición con estimador de estado y ruido

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

El actuador del sistema es el electroimán, que genera un campo magnético


proporcional a su corriente. Dicho electroimán está constituido por un núcleo de
transformador de los que ofrece la empresa RS Components. A continuación se
detallan las características técnicas más importantes:

Fig. 4.1 Características técnicas del núcleo del electroimán

Alrededor de este núcleo se procedió a realizar un bobinado de 438 vueltas con


hilo de cobre de 0,6 mm de diámetro, obteniendo así el electroimán final. Cabe
destacar de este elemento la gran dependencia existente entre su permeabilidad
magnética y su temperatura. Presentando una resistencia de 3,6 Ohmios a una
corriente nominal de alrededor de 2 Amperios la potencia disipada puede ascender
hasta 14.4 W, lo cual produce grandes incrementos de temperatura del núcleo.

La saturación magnética es un problema habitual que surge en elementos


magnéticos y consiste en la pérdida de linealidad de la característica de
magnetización del material en cuestión. Normalmente es un efecto no deseado, ya
que introduce no linealidades en el modelo, además de suponer un límite físico para
la intensidad del campo creado, ya que después de darse la saturación es imposible
aumentar este. En el caso del electroimán para el levitador magnético no se
observaron fenómenos de saturación en el rango de operación habitual (2
Amperios).

35
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

La tensión de entrada del electroimán se obtiene con un generador de PWM


compatible con la Click Shield: el DC Motor 3 Click de MikroE. El rango de operación
de este generador de PWM es de 0 a 30 V de tensión de salida y de 0 a 3.5 A de
corriente de salida, por lo que supera el rango de funcionamiento de diseño del
levitador.

Fig. 4.2 Generador de PWM

4.2 Carga

La carga es elemento que se pretende levitar. Como se mencionó en el capítulo 2


se ha preferido que esta carga sea un imán para aumentar la fuerza en el punto de
trabajo y poder obtener un mayor rango de posiciones donde el regulador es capaz
de mantener la carga. Para este proyecto se emplean dos tipos de cargas distintas,
de cara a observar los resultados obtenidos en cada una. El primer tipo de carga es
un imán esférico de ferrita, con 24 gramos de masa, y el segundo un disco de
neodimio, con 72 gramos de masa.

Fig. 4.3 Imán de neodimio Fig. 4.4 Imanes de ferrita


.

36
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Cabe destacar como observación que en el proceso de medida de la constante 𝐾𝑚


el valor obtenido con el imán de neodimio es del orden de 10 veces mayor que el
obtenido con el imán de ferrita. Esto se debe a que el neodimio [18] presenta un
mayor rango de saturación magnética que la ferrita, motivo por el cual se emplea
más en aplicaciones industriales específicas.

4.3 Microcontrolador

El microprocesador elegido inicialmente fue el STM-32 F407. El motivo por el cual


se eligió este microprocesador radica en su potencia de cálculo, así como en la
facilidad para implementar sensores y actuadores junto con la Discovery Shield. Más
tarde se procedió a utilizar una Raspberry Pi 3, con su correspondiente Pi 3 Click
Shield, que se diferencia del STM por presentar una mayor velocidad de cálculo, así
como un sistema operativo en tiempo real. Este sistema operativo permite realizar
tareas a distintos tiempos de muestreo.

Fig. 4.5 Microcontrolador Raspberry Pi 3 Modelo B

Fig. 4.6 Pi 3 Click Shield

37
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

4.4 Sensores

• Sensor de corriente

Para medir la corriente se ha optó inicialmente por un conversor AD de 12 bits,


pero finalmente se decidió emplear un Arduino nano, que tiene un conversor AD
integrado y a través de comunicación UART transmite la información
correspondiente a la Raspberry Pi. El problema que se encontró en la práctica fue la
enorme cantidad de ruido que incorporaba en las medidas, lo cual obligó a incluir
un filtro digital para mitigarlo.

Fig. 4.7 Arduino nano para el sensado de la corriente

• Sensor de posición

Para medir la posición se optó inicialmente por la utilización de un sensor de efecto


Hall, cuya salida es (en tensión) proporcional a la intensidad del campo magnético
incidente. La tensión de salida del sensor de efecto Hall se mide posteriormente con
el conversor A/D. Con una calibración de tensión de salida- posición se puede
obtener una medida fiable, el problema es que el rango de medida de estos sensores
es pequeño y en la práctica habría que situarlo en una posición muy cercana al punto
de operación del imá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

Fig. 4.8 Sensor óptico de posición

Fig. 4.9 Sensor de efecto Hall

4.5 Etapa de potencia

El objetivo de estos componentes es proporcionar una tensión continua al


generador de PWM del actuador. Esta etapa está formada por un convertidor AC/DC
y un convertidor DC/DC. El primer convertidor tiene como entrada la tensión de red
de un enchufe doméstico y como salida una tensión continua de 12 V, con una
corriente máxima de 6 A. El segundo convertidor tiene como entrada la salida del
anterior y a la salida una tensión continua de 24 V, con una corriente máxima de 3
amperios.

Fig. 4.10 Convertidor AC/DC LRS-75-12

39
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 4.11 Convertidor DC/DC KREE-12-24

4.6 Estructura física

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.

Fig. 4.12 Estructura física del levitador

40
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

4.7 Software

Como se ha mencionado previamente, la implantación software del proyecto se


realiza a través del entorno Matlab/ Simulink, concretamente la versión 2018a.
Simulink es una herramienta de Matlab basada en bloques, cuya utilidad reside en
las simulaciones de sistemas de control (entre otras aplicaciones). En este proyecto
Simulink además de ser la herramienta de simulación del control también se utiliza
para implementar el programa principal que precisa para su funcionamiento de
varios scripts (códigos) de Matlab.

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:

Fig. 4. 13 Nivel superior del programa principal

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

El motivo por el cual se ha organizado el programa de esta manera está en la


facilidad de cargar el programa en el microcontrolador comentando únicamente el
bloque de simulación y manteniendo el bloque de control; así como de realizar
simulaciones comentando el bloque de hardware. El bloque de control se mantiene
siempre descomentado, de forma que la respuesta obtenida en simulación es la
misma que se obtendría en la implantación para las mismas entradas,
proporcionando mayor cercanía con la realidad física.

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

Fig. 4.14 Bloque de función de Matlab

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

Fig. 4.15 Bloque I2C de Simulink

42
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Fig. 4.16 Bloque SPI de Simulink

Fig. 4.17 Bloque PWM de Simulink

• Máquina de estados:

Una máquina de estados en un programa encargado de realizar una serie de tareas


de forma secuencial. En el caso del levitador magnético es necesario contar con una
máquina de estados para implementar distintos modos de funcionamiento. Estos
modos de funcionamiento tienen como objetivo que el usuario pueda inicializar el
sistema, colocar la carga y una vez el EKF tenga medidas satisfactorias activar el
control de posición. La secuencia de estados se muestra a continuación.

Fig. 4.18 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

Los resultados de este proyecto se pueden resumir brevemente:

• Se ha construido satisfactoriamente un prototipo físico funcional, fácil de


programar y empleable para implementar controles en el futuro.

• Se ha diseñado satisfactoriamente una simulación en el entorno de Matlab /


Simulink plenamente funcional, que incorpora elementos como ruidos,
estimación con EKF y no linealidades en la planta, así como saturaciones de
mandos. Estos elementos hacen de la simulación una herramienta muy útil
para diseñar controles.

• Se ha realizado un modelado de la planta, que junto con los respectivos


ensayos supone un mayor entendimiento sobre el fenómeno de la levitación
magnética, así como la planta concreta del levitador.

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

Las principales aportaciones de este proyecto son las siguientes:

• El diseño de un modelo propio, lo que conlleva un enfoque único y una forma


propia de enfrentarse a la problemática del levitador magnético. Esto implica
la utilización de sensores, actuadores, microcontroladores y demás
componentes diferentes a los presentes en los dispositivos ya existentes.

• Un modelo más desarrollado de la planta. Como se mencionó previamente en


el capítulo 2 la mayor parte de los proyectos de levitadores magnéticos
dedican muy poca importancia al modelado, limitándose a explicar la
ecuación fundamental que rige la fuerza magnética (Ec. 2.1). En este trabajo,
al llegar a esta ecuación a partir de las ecuaciones fundamentales del
electromagnetismo, se puede analizar la influencia de los distintos
parámetros en la constante de fuerza magnética. De esta manera se puede
realizar un diseño para adaptar los parámetros del levitador a una carga
determinada.

6.2 Futuros desarrollos

El hecho de que la levitación magnética sea un campo de estudio relativamente


emergente permite que exista una gran variedad de posibles futuros diseños que
incorporen mejoras con respecto a las prestaciones actuales de este proyecto. Las
principales limitaciones que se han encontrado en la práctica durante la
construcción del levitador han sido: la limitación de rango debida a corriente
máxima y saturación del núcleo, la imposibilidad de realizar un control
tridimensional de la posición y la limitación impuesta por la sensorización de la
posición (no puede haber elementos interfiriendo entre el sensor de posición y la
carga).

En este sentido un posible diseño incluiría un material en el núcleo del electroimán


con mayor rango de saturación, una mayor limitación de corriente máxima (tal vez
con etapas de potencia mayores) y en general un dimensionado de los componentes
menos restrictivo en términos de potencia.

Otro posible diseño consistiría en incluir electroimanes adicionales en los ejes X e


Y para controlar la posición de la carga en un cierto rango tridimensional. También
podría ser factible un diseño similar al de este proyecto donde exista un sistema
para mover físicamente el electroimán en el plano perpendicular al eje z (similar al
mecanismo de un plotter, o una impresora 3D).

46
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Una mejora de la medida de la posición puede venir de la utilización de cámaras o


sensores de efecto Hall de mayor rango, así como la combinación de varios métodos
distintos para mejorar la estimación de la posición.

Una línea de diseño interesante y poco explotada dentro de la levitación magnética


consiste en utilizar la estabilidad que proporciona la conservación del momento de
inercia de una carga que está girando. Este principio fue usado por Roy Harrigan en
el diseño de su Levitron [19] en 1995, aunque desde entonces no se ha presentado
ningún nuevo diseño con relativo interés a nivel industrial que lo emplee.

Fig. 6.1 Esquema de levitación de elemento rotativo

47
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Anexo 1: Modelado de la planta

Índice

1. Dipolo magnético del electroimán

2. Campo producido por un dipolo

3. Fuerza de un campo sobre un dipolo

4. Expresión de fuerza magnética sobra la carga

1. Expresión del dipolo magnético del electroimán


Para calcular el momento magnético del electroimán trabajaremos con la hipótesis
de linealidad del material, es decir que el campo que aparece en el material
magnético es proporcional al campo 𝐻⃗ que se le aplica. Este campo 𝐻
⃗ es el campo
magnético producido por las corrientes del bobinado que rodea el núcleo
magnético.

Fig. 7.1 Electroimán. En azul el bobinado exterior, en negro el núcleo magnético

Si consideramos el campo producido por las corrientes del bobinado tenemos que:

𝐵𝑐 = 𝐻𝑐 𝜇𝑜 (7.1)

Al tener en cuenta sólo las corrientes exteriores la relación entre H y B es la


permeabilidad magnética del vacío. Buscamos pues este campo Hc y para ello
calcularemos Bc. Para calcular Bc realizaremos una aproximación: supondremos que
el núcleo del electroimán es un cilindro en vez de un prisma rectangular. El motivo
de esta aproximación está en la enorme dificultad de calcular el campo en cualquier
punto del espacio producido por una espira rectangular.

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:

Fig. 7.2 Campo de una espira circular en su eje (a=re) [20]

Siendo i la corriente de la espira, dl el elemento diferencial de corriente, y r el vector


que va desde el elemento diferencial hasta el punto de interés, tenemos la ley de
Ampere:

𝜇𝑜 ⃗⃗⃗
𝑑𝑙 × 𝑢
⃗⃗⃗⃗𝑟
⃗⃗⃗⃗⃗ =
𝑑𝐵 𝑖 (7.3)
4𝜋 |𝑟| 2

Operando el producto vectorial y desarrollando el módulo:

⃗⃗⃗⃗ ×𝑟
𝑑𝑙
|𝑟|2 = 𝑟𝑒2 + 𝑧 2 (7.4) ⃗⃗⃗
𝑑𝑙 × ⃗⃗⃗⃗
𝑢𝑟 = |𝑟| (7.5)

Sustituyendo las ecuaciones 7.4 y 7.5 en la 7.3 obtenemos el elemento diferencial de


campo magnético (7.6).

𝜇𝑜 ⃗⃗⃗
𝑑𝑙 × 𝑟
⃗⃗⃗⃗⃗
𝑑𝐵 = 𝑖 (7.6)
4𝜋 3
(𝑟𝑒2 + 𝑧 2 )2

Desarrollando el producto vectorial de 7.6 e integrando la contribución de un


elemento diferencial de corriente obtenemos el campo total:

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.

Fig. 7.3 Cálculo del campo magnético de un solenoide

Si tenemos que la distribución de espiras a lo largo del bobinado es lo bastante


continua podemos asumir que tenemos una corriente que circula por la superficie
exterior del cilindro. Integrando el campo producido por cada elemento diferencial
de corriente, esta vez superficial, a lo largo del eje obtendremos la expresión final
del campo magnético total.

𝜇𝑜 𝑛𝑖 𝜃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

Si representamos esta función de campo en función de z obtenemos la siguiente


gráfica:

Fig. 7.4 Distribución de campo en un solenoide [21]

Se aprecia claramente como el campo es prácticamente constante en torno al eje,


por lo que podemos hacer la aproximación de que efectivamente es constante (en
caso de no querer aproximar habría que multiplicar por un factor de devanado a
obtener experimentalmente). Evaluando 𝐵𝑧 (𝑧) en 𝑧 = 0:

𝐿
(cos𝜃1 − cos𝜃2 ) = =𝜉 (7.9)
2
√𝐿 + 𝑟𝑒2
4

1
𝐵𝑧 (0) = 𝜉𝑖𝑛𝜇𝑜 (7.10)
2

El término obtenido en la ecuación 1.9 es un factor de forma que depende


únicamente de las dimensiones del electroimán. Ahora que tenemos el valor del
campo total en el eje podemos calcular 𝐻𝑧 (𝑧):

𝐵𝑧
𝐻𝑧 =
𝜇𝑜

Ahora que tenemos calculado el campo H podemos calcular cuánto se va a


magnetizar el núcleo de ferrita en función de la corriente externa aplicada. En este
material la característica de magnetización es lineal (hasta que llega a un punto de
saturación) tal y como se muestra en la siguiente ecuación. A la relación entre
magnetización y campo externo aplicado se la llama susceptibilidad magnética (𝛸𝑚 ).

⃗⃗ = 𝛸𝑚 ⃗⃗⃗⃗⃗⃗⃗⃗
𝑀 𝐻𝑒𝑥𝑡 , siendo 𝐻𝑒𝑥𝑡 el campo provocado por las corrientes externas.

Esta susceptibilidad magnética está intrínsecamente relacionada con el parámetro


que más se emplea en la industria para definir la característica de magnetización de

51
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

un material, la permeabilidad magnética (μ). La relación que existe entre ambos


parámetros viene dada por la siguiente expresión:

𝜇𝑟 = 1 + 𝛸𝑚

Siendo 𝜇𝑟 la permeabilidad relativa del medio, es decir, la relación entre el campo


total producido y el campo H que induce a este. Apréciese que para valores elevados
de 𝛸𝑚 ambos parámetros se pueden emplear de forma indistinta.

Tenemos, por tanto que el campo la magnetización a lo largo de eje queda de la


siguiente manera:

1
⃗⃗⃗⃗⃗
𝑀𝑧 = ⃗
𝛸 𝜉𝑛𝑖𝑘 (7.11)
2 𝑚

Cada elemento diferencial del núcleo se magnetiza según la ecuación 7.12:

𝑑𝑚
⃗⃗
= ⃗⃗⃗⃗⃗
𝑀𝑧 (7.12)
𝑑𝑣

Como la superficie del núcleo es constante: 𝑑𝑣 = 𝐴𝑑𝑙 ⃗⃗ = ⃗⃗⃗⃗⃗


𝑑𝑚 𝑀𝑧 𝐴𝑑𝑧,
obteniendo así la expresión del momento magnético del núcleo:
𝐿
2 1
𝑚𝑒 = 𝐴 ∫ ⃗⃗⃗⃗⃗
⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗𝑧 =
𝑀𝑧 𝑑𝑧 = 𝐿𝐴𝑀 ⃗
𝐿𝐴𝛸𝑚 𝜉𝑛𝑖𝑘
−𝐿 2
2

De esta ecuación es importante destacar que el dipolo es directamente


proporcional a la corriente, ya que todos los parámetros que la multiplican son
constantes que dependen de la geometría del núcleo y los arrollamientos.

52
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

2. Campo producido por el dipolo


Partimos de la expresión del vector potencial magnético que produce un dipolo:

𝜇𝑜 ⃗⃗⃗⃗⃗
𝑚𝑒 × 𝑟
𝐴=
4𝜋 𝑟 3

Siendo 𝑟 = 𝑥𝑖 + 𝑦𝑗 + 𝑧𝑘 ⃗ el vector que apunta a cualquier punto del espacio.


Desarrollando el producto vectorial obtenemos la expresión de 𝐴:

𝑖 𝑗 ⃗
𝑘 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|
| = 𝑖− 𝑗+( − ⃗
)𝑘
𝜕 𝜕 𝜕 𝜕𝑧 𝜕𝑧 𝜕𝑦 𝜕𝑥
𝜕𝑥 𝜕𝑦 𝜕𝑧

𝜕𝐴𝑥 𝜇𝑜 𝑚𝑒 (2𝑦 2 − 𝑥 2 − 𝑧 2 ) 𝜕𝐴𝑦 −𝜇𝑜 𝑚𝑒 (2𝑥 2 − 𝑦 2 − 𝑧 2 )


= 5 = 5
𝜕𝑦 𝜕𝑥
4𝜋(𝑦 2 + 𝑥 2 + 𝑧 2 )2 4𝜋(𝑦 2 + 𝑥 2 + 𝑧 2 )2

Como la carga se va a situar en el propio eje z podemos ignorar las coordenadas x


e y, así como las componentes perpendiculares al eje del campo, quedando la
siguiente expresión:

𝜇𝑜 𝑚 𝑒
⃗ (𝑧) = 𝐵𝑧 = −
𝐵 ⃗
𝑘 (7.13)
2𝜋𝑧 3

53
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

3. Fuerza de un campo sobre un dipolo

Ahora que ya tenemos el campo producido por el electroimán tenemos que


calcular la fuerza que ejerce sobre un dipolo magnético (esta vez el dipolo de la
carga, ⃗⃗⃗⃗⃗
𝑚𝑐 no el del núcleo). La expresión general de la fuerza de un campo es la
siguiente:

𝐹 = ⃗⃗⃗⃗⃗
𝑚𝑐 (∇ ⃗ ⊗𝐵
⃗)

Siendo ⊗ el producto tensorial, es decir, el resultado es una matriz de 3x3.


⃗ (𝑧) = 𝐵𝑧 :
Desarrollando la expresión teniendo en cuenta que 𝐵

𝐹𝑧 = ⃗⃗⃗⃗⃗ ⃗ 𝐵𝑧 )
𝑚𝑐 ∘ (∇ (7.14)

54
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

4. Expresión de la fuerza magnética sobre la carga

Continuando la ecuación 7.14:

𝜕 𝜕 𝜕 𝜇𝑜 𝑚𝑒 𝜇𝑜 𝑚𝑒
⃗⃗⃗⃗⃗ ⃗ 𝐵𝑧 ) = 𝑚𝑐
𝑚𝑐 ∘ (∇ (𝐵 ) (𝐵𝑧 ) = (− ) = 3
𝜕𝑧 𝑧 𝜕𝑧 𝜕𝑧 2𝜋𝑧 3 2𝜋𝑧 4

De forma que:

3𝜇𝑜 𝑚𝑐 𝑚𝑒
𝐹𝑧 = (7.15)
2𝜋 𝑧 4

Como sabemos que 𝑚𝑒 = 𝐾𝑖𝐿 y 𝑚𝑐 es constante, podemos reescribir la ecuación


7.15 de la siguiente manera:

𝑖𝐿
𝐹𝑧 = 𝐾𝑚
𝑧4

Se observa una fuerte sensibilidad a la distancia, así como una relación de


proporcionalidad directa para una distancia dada, ya que 𝐾𝑚 es una constante que
depende únicamente de la geometría y material del núcleo, así como del
arrollamiento, y de la geometría y material de imán que hace de carga.

55
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

Anexo 2: EKF en Matlab


function EKF_OUT = EKF(EKF_IN)

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

%% INPUT EKF BUS


EKF_MODE = EKF_IN.EKF_MODE;
if EKF_MODE == uint8(0) % NOT ENABLED
EKF_OUT = EKF_IN;
return
end
T = EKF_IN.PARAM.SAMPLING_TIME;
x = EKF_IN.STATE; % x[k-1|k-1]
u = EKF_IN.INPUT; % u[k]
z = EKF_IN.OUTPUT; % z[k]
P = EKF_IN.COV_MATRIX; % P[k-1|k-1]
Q = EKF_IN.INPUT_NOISE_VAR; % var(w[k])
R = EKF_IN.OUTPUT_NOISE_VAR; % var(v[k])
Nx = length(x);
Nz = length(z);
ind_z = logical([1 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
%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

%% State and covariance matrix update


% Near-optimal Kalman gain
H_aux = H(ind_z,ind_x);
P_aux = Pk(ind_x,ind_x);
PHT = P_aux*H_aux';
K = PHT/(H_aux*PHT + diag(R(ind_z)));
% Updated state estimate
x(ind_x) = f(ind_x) + K*e;
% Updated covariance estimate
KH = K*H_aux;
P(ind_x,ind_x) = (eye(size(KH)) - KH)*P_aux;

%% EKF BUS UPDATE


EKF_OUT = EKF_IN;
EKF_OUT.STATE = x; % x[k|k]
EKF_OUT.COV_MATRIX = P; % P[k|k]

return

58
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

8. Referencias

[1] Gabriel Perren, Estudio de las aplicaciones prácticas de la levitación


magnética, FCEIA, Universidad Nacional del Rosario, 2003

[2] Samuel Earnshaw, Teorema de Earnshaw, Transactions of the Cambridge


Philosophical Society, Vol. 6, 1837

[3] D. Samsonov, Levitation and agglomeration of magnetic grains in a complex


(dusty plasma with magnetic field, Pag. 3, New J. Phys, 2003

[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

[5] T.H. Wong, Design of a Magnetic Levitation Control System: An Undergraduate


Project, IEEE, Nov. 1986, Pag. 196

[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

[8] Enlace del proyecto:


http://web.mit.edu/2.737/www/MagLev/

[9] Enlace del proyecto:


http://romulo.det.uvigo.es/ticai/libros/2010/2010/cap9.pdf

[10] Joan Pau Borrás Marne, Diseño, estudio y construcción de un levitador


magnético con Arduino, Universidad Politécnica de Barcelona, Pág. 21

[11] Universidad de Valladolid, Linealización de modelos. Enlace:


https://alojamientos.uva.es/guia_docente/uploads/2013/512/46642/1/Docume
nto3.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)

[14] Wikipedia, fuerza magnética,


https://es.wikipedia.org/wiki/Fuerza_magn%C3%A9tica

[15] Joan Pau Borrás Marne, Diseño, estudio y construcción de un levitador


magnético con Arduino, Universidad Politécnica de Barcelona, Pág. 37

59
Universidad Pontificia Comillas
Escuela Técnica Superior de Ingeniería ICAI

[16] VH del Valle Muñoz, 1989, Universidad Católica Boliviana, Sistemas de


Control moderno, Capítulo 9, Página 516

[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

[19] Michael V. Berry, Frequent questions about Levitron:


https://web.archive.org/web/19961109065520/http://www.lauralee.com/physi
cs.htm

[20] Imagen de Albert Agraz Sánchez, Santiago Clúa, Detector de movimiento por
inducción magnética. Universidad de Lérida, 2007

[21] Ángel Franco García, Campo magnético producido por un solenoide,


Universidad del País Vasco.

60

También podría gustarte