construcción y diseño del sistema de control de posición de una

Anuncio
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
CONSTRUCCIÓN Y DISEÑO DEL SISTEMA
DE CONTROL DE POSICIÓN DE UNA
ESFERA SOBRE UNA PLATAFORMA MÓVIL
Autor: D. Pedro de Otaola Arca
Director: Dr. Juan Luis Zamora Macho
Madrid
Junio 2015
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Resumen
En los últimos tiempos, la automatización de procesos está cobrando gran interés
tanto en el mundo industrial, aumentando la eficiencia y la seguridad, como en el
ámbito doméstico, haciendo la vida más cómoda al consumidor. Una automatización
efectiva y eficiente depende de varios factores, siendo uno de los principales su sistema
de control. De ahí deviene la creciente importancia del estudio de sistemas y estrategias
de control en el ámbito de la ingeniería.
Uno de los casos típicos en la enseñanza de control es el sistema bola balancín.
Este sistema tiene una versión más didáctica y también compleja, que consiste en su
extensión a las dos dimensiones, formando el sistema bola plataforma [1]; en él se
controla la posición de una bola en un plano sobre el que se actúa para cambiar sus
ángulos de inclinación.
Figura 1: Esquemático del sistema bola plataforma
La estructura necesaria para el estudio de este sistema es compleja de montar,
razón por la cual existen escasos ejemplos de su uso en las aulas. Los pocos sistemas
comerciales disponibles son cerrados –algunos incluso usan software propio para su
manejo- y por sus montajes concretos son más complicados de manejar de lo que viene
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
implícito por el tipo de sistema. Analizando los sistemas que se encuentran en el ámbito
universitario se comprueba que cada uno está construido de una forma distinta en
función de los materiales disponibles, es decir, no siguen unas pautas concretas, siendo
difícil sacarle partido a lo ya existente.
El problema anterior motiva el principal objetivo de este proyecto, la construcción
y control de una estructura [2] para el estudio del sistema bola plataforma basada en
LEGO Technic, usando como controlador central una unidad NXT. Se ha elegido esa
plataforma de desarrollo por ser la usada en los montajes de las prácticas de las
asignaturas del área de control en la Universidad Pontificia Comillas, así como en
muchas otras, de manera que se cree un prototipo válido y cómodo para la enseñanza.
Además, todo el control se ha hecho usando los programas Matlab y Simulink, de uso
muy extendido en el ámbito universitario.
Durante el montaje se han experimentado problemas estructurales relacionados
con la flexibilidad de las piezas de plástico. Dichos problemas se han solucionado con el
diseño e implementación de una serie de medidas de refuerzo y limitación de
movimiento en los ejes afectados.
Figura 2: Estructura del proyecto
Respecto a las medidas de las variables a controlar se han usado sensores también
de LEGO además de una pantalla táctil, cuya señal se procesa a través de un circuito
diseñado en KiCad y un Arduino. KiCad es un software libre de diseño de PCBs y
Arduino es una plataforma de hardware libre muy común en la enseñanza de electrónica
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
y control; con ambos se sigue en la línea de crear un sistema abierto y reutilizable en las
aulas.
Para la comunicación entre Arduino y NXT se ha implementado un programa –en
el primero- que usa la comunicación I2C para enviar los datos adaptándolos de tal forma
que el NXT los reciba a través de un bloque de matlab preparado para usar un
acelerómetro. Con la adaptación de las señales desde el arduino se consigue aprovechar
el bloque de Matlab existente, y así simplificar las cosas no necesitando hacer un bloque
específico.
En el modelado del sistema se ha incluido el modelo de un motor eléctrico
conectado a un sistema mecánico genérico [3], y por último, las reacciones del par
aplicado a la plataforma en su relación con las dinámicas de la bola [4].
Figura 3: Motor y sistema mecánico
Figura 4: Par sobre plataforma
La obtención de los parámetros del modelo se ha hecho a través de ensayos. Un
primer ensayo en movimiento, sin la bola en el sistema, dando tensión a los motores
según una señal PRBS y un segundo ensayo estático con la bola sobre la plataforma.
El modelado como un sistema genérico del que se extraen los parámetros por
ensayos tiene interés en tanto que simplifica el diseño del control y resalta la
importancia de entender por qué el sistema responde de una determinada forma. No es
un modelo perfecto sobre el que se diseña un control siguiendo una receta y se
implementa sin más, sino que se diseña un control que da una buena situación de partida
y sobre él, se estudia la respuesta del sistema y se aplican correcciones
fundamentándose en la teoría y el análisis.
En lo que respecta al control se ha planteado una configuración de PID en cascada
[5]. La razón de esta elección es su justa complicación, por una parte es suficientemente
compleja como para poder estabilizar el sistema, pero por otra es lo suficientemente
simple como para encuadrarse en las prácticas de las asignaturas del grado. A lo largo
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
de este proyecto se ha estudiado una manera adecuada de controlar el sistema. Partiendo
de las conclusiones obtenidas y sabiendo qué se busca, los alumnos no deberían tener
problemas para manejar el sistema durante las prácticas de una asignatura.
El control en cascada consta de 3 lazos resultantes de la división del sistema
general (entre la tensión del motor y la posición de la bola) en tres subsistemas. El
primero abarca desde la aplicación de la tensión al motor hasta el ángulo girado por su
eje. El segundo toma como entrada el ángulo de giro del eje del motor y como salida el
ángulo de giro de la plataforma sobre la que se apoya a bola. El último de los tres tiene
como entrada el ángulo de giro de la plataforma y como salida la posición de la bola en
la misma.
Figura 5: Control PID en cascada
El diseño de los controles se ha hecho lazo a lazo, teniendo en cuenta el anterior a
la hora de diseñar el actual. Se ha diseñado y optimizado cada uno de ellos
secuencialmente, y una vez llegado al último se han hecho correcciones en todos como
sistema completo. Tras toda la labor de diseño y optimización se ha demostrado que el
sistema es controlable, logrando que sea capaz de estabilizar la bola, que la mantenga en
una posición y reaccione ante las perturbaciones devolviéndola a su sitio, y por último,
que siga una trayectoria de referencia [6].
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 6: Seguimiento de trayectoria (tiempo: 23.2s)
La pantalla táctil resistiva usada ha presentado algunas dificultades por no ser
perfectamente lisa, dichas dificultades se han solventado lo máximo posible a través de
la mejor optimización del control. Cara a futuros desarrollos se recomienda, para evitar
complejidad en el control, sustituir la pantalla por una capacitiva o por un sistema de
posicionamiento con imágenes.
También se anima a futuros alumnos a provechar el potencial de la plataforma
mediante el estudio de estrategias de control distintas a la usada. Tanto el uso de
controles de lógica borrosa como predictivos podrían arrojar resultados muy positivos, y
teniendo en cuenta las dificultades de modelado, se justificaría mejorar este último a
predictivo adaptativo.
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Abstract
In recent times, the process automation is gaining great interest both in the industrial
world, increasing efficiency and security, and in the domestic sphere, making the
consumer’s life more comfortable. The effectiveness and efficiency of the automation
depends on several factors, being the control system one of the most important. Hence
the growing importance of the study of control systems and strategies in the field of
engineering.
One of the typical cases in teaching control system is the ball and beam. This system
has a more didactic and complex version, which is its extension to two dimensions. The
two dimension one is called the ball and plate system, in which the position of a ball on
a plane is controlled by actuating to change the plane’s angles.
Figure 1: Schematic ball and plate system
The mechanical structure required for the analysis of the system is complex and
difficult to build and that is the reason why there is very few examples of its use for
academic purposes. There are few commercial systems available, most of them restricted
–and even use proprietary software for its control- and because of the complex structures
used, they tend to be more complex to control than other alternatives where we can focus
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
on the ideal problem instead of the implementation. The devices used for academic
purposes seem to have been built depending on the available materials without following
specifications or using standard parts that could be used in this project.
The previous problem is the main reason for carrying out this assignment, the
construction and control of a LEGO Technic structure [2] for the study of the ball and
plate system based on a NXT central unit. The materials were chosen because of their
availability and its wide use in the Pontifical University Comillas among others, thus
creating an affordable and simple prototype for educational purposes. On top of that, all
the control and programming has been done using Matlab and Simulink, widely extended
tools in education.
During the build process structural issues related to plastic parts flexibility have
been faced. This problems have been solved by reinforcing and limiting movement in the
affected axis.
Figure 2: Project’s structure
Measurements for the controlled variables are taken with Lego sensors and a
resistive touch panel whose signal is processed by a small circuit designed with KiCad
and an Arduino. KiCad is a free open source program used for printed circuit boards
design and Arduino is a well know open hardware platform used in electronics and control
education. By using the mentioned tools it is ensured that the results of the project remain
open in order to be used in education.
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
The communication between the Arduino and the NXT controller is done by I2C in
such a way that the Arduino is able to send data that the main unit can receive through an
accelerometer Simulink block, avoiding the need to create new Matlab blocks for the
NXT device and simplifying the problem.
The system has been modeled as the combination of an electric motor, a generic
mechanical system and [3], finally, the torque applied by the ball on the surface of the
plate [4].
Figure 3: Motor and mechanic system
Figure 4: Torque on the plate
The parameters of the model have been obtained experimentally. Firstly a dynamic
test was carried out. By using pseudo random binary signals as stimulation, the position
of the plate was measured without the ball in order to reduce disturbances. A second
experiment was needed in order to obtain all the parameters. A static test to measure
plate’s movement because of the ball weight was done.
This modeling of the system is important because it greatly simplifies the task of
control design and it helps to understand how the system behaves and reacts to external
effects. This is not an exact model that can be used for control design using a step list, but
a good approximation that enables the design of a basic control that can be used as a start
point for improvement with the help of control theory and response analysis.
The chosen configuration was cascade PID controllers [5]. The reason behind this
election is that, on one hand, the configuration is complex enough to ensure system
stability, but on the other hand, is simple enough for its use in practical examples of a
degree subject on any university. Based on the results of the project we can conclude that
this configuration should fit the need of the students that may use the ball and plate
mechanism described in the project.
The chosen control configuration is made up of three loops result of the splitting of
the system in three subsystems. The first subsystem input is the voltage and outputs the
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
angle rotated by the motor. The second takes the angle rotated by the motor and outputs
the angle rotated by the plate where the ball lays. Finally, the third one takes the angle of
the platform and its output is the position of the ball in the plane of the touch panel.
Figure 5: Cascade PID controllers
The design of the controls has been made individually, loop by loop. This includes
the design of every control taking into account the effects of the controls inside the loop
to be controlled. After the individual design and optimization of every control it was
necessary to adjust them as part of a whole system in order to improve the overall
performance. After all this work, the research has shown that the system is controllable
and that the ball can be stabilized in the platform. Demonstrations of disturbance rejection
have been made, firstly with a fixed set-point for the ball position and secondly for ball
trajectories [6].
Figure 6: Trajectory tracking (time: 23.2s)
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
The touch panel used in the project presented some issues because it was not
perfectly smooth. Those issues were solved by improving the controls of the system but
it is recommended to avoid the problem in future developments of the project by using
capacitive touch panels or positioning by image recognition.
It is also recommended for future students to try other control techniques in the
platform in order to improve the performance of the system. It is encouraged the use of
fuzzy logic controllers and predictive controllers because of the expected improvements,
although the use of predictive-adaptive controllers is highly justified because of the
difficulties found when modeling the platform mechanism.
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Documento 1
MEMORIA
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
22
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Contenido
Documento 1 .................................................................................................................. 21
MEMORIA ..................................................................................................................... 21
I.
Memoria ................................................................................................................. 27
1.
Estado del arte .................................................................................................... 29
1.1.
Estructura mecánica ..................................................................................... 29
1.2.
Determinación de la posición ....................................................................... 32
1.3.
Sistema de control ........................................................................................ 33
1.3.1.
Control PID ........................................................................................... 33
1.3.2.
Control por realimentación de estado ................................................... 34
1.3.3.
Controles por lógica difusa (fuzzy control) .......................................... 35
1.3.4.
Ejemplos ............................................................................................... 36
2.
Motivación .......................................................................................................... 39
3.
Objetivos............................................................................................................. 41
4.
Metodología de trabajo ....................................................................................... 43
5.
Recursos empleados ........................................................................................... 45
6.
Construcción ....................................................................................................... 47
6.1.
Construcción de la estructura ....................................................................... 47
6.2.
Obtención de medidas .................................................................................. 54
6.2.1.
Medida de posición angular de los ejes de los motores ........................ 54
6.2.2.
Medida de la posición y velocidad angulares del plano ....................... 55
6.2.3.
Medida de la posición de la bola en el plano ........................................ 58
6.2.3.1. Lectura de coordenadas desde el Arduino ...................................... 58
6.2.3.2. Comunicación con la unidad NXT ................................................. 61
6.2.3.3. Filtrado de medida en el NXT ........................................................ 63
7.
8.
Modelado ............................................................................................................ 67
7.1.
Modelado del sistema ................................................................................... 67
7.2.
Simplificaciones ........................................................................................... 71
7.3.
Obtención de parámetros .............................................................................. 75
Funcionamiento .................................................................................................. 79
8.1.
Puesta en marcha .......................................................................................... 79
8.2.
Generación de la referencia .......................................................................... 82
8.3.
Control.......................................................................................................... 83
8.3.1.
Elección del sistema de control ............................................................ 84
8.3.2.
Control PID en cascada ......................................................................... 85
23
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
8.3.2.1. Lazo 1: PD Motor ........................................................................... 86
8.3.2.2. Lazo 2: PI Sistema mecánico .......................................................... 89
8.3.2.3. Lazo 3: PID Posición ...................................................................... 92
9.
Conclusiones y futuros desarrollos ..................................................................... 97
10.
II.
Bibliografía ..................................................................................................... 99
Anexo A: Diagramas Simulink............................................................................. 101
III.
Anexo B: Código fuente Matlab ....................................................................... 113
IV.
Anexo C: Código fuente Arduino ..................................................................... 121
24
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Índice de figuras
Figura 1 Mecanismo bola balancín .....................................................................................................29
Figura 2 Mecanismo bola plataforma .................................................................................................29
Figura 3 Estructura proyecto [MOAR08] ...........................................................................................31
Figura 4 Estructura proyecto [KNUP00] ............................................................................................31
Figura 5 Estructura proyecto [ELIN14] ..............................................................................................31
Figura 6 Estructura Feedback-instruments .........................................................................................31
Figura 7 Hexapod de Quanser.............................................................................................................32
Figura 8 Ejemplo control PID .............................................................................................................34
Figura 9 Ejemplo control por realimentación de estado .....................................................................35
Figura 10 Ejemplo control difuso .......................................................................................................36
Figura 11 Sistema cremallera-apoyo...................................................................................................48
Figura 12 Planta general .....................................................................................................................49
Figura 13 Mov. ejes: Posición inicial..................................................................................................50
Figura 14 Mov. ejes: Rotación en Y ...................................................................................................50
Figura 15 Mov. ejes: Rotación en X ...................................................................................................50
Figura 16 Boceto de ejes de la plataforma ..........................................................................................51
Figura 17 Detalle del cruce de ejes .....................................................................................................51
Figura 18 Unión rotante: esquemático (izq) y real (der) .....................................................................52
Figura 19 Refuerzos en eje X (der) e Y (izq) ......................................................................................52
Figura 20 Ejemplos de limitación del giro en Z..................................................................................53
Figura 21 Engranajes eje X (der) e Y (izq) .........................................................................................53
Figura 22 Disposición de sensores en plataforma. Acelerómetro (arriba) y dos giroscopios .............55
Figura 23 Filtro complementario giroscopio-acelerómetro ................................................................57
Figura 24 Medida acelerómetro (filtrada por paso bajo).....................................................................57
Figura 25 Medida giroscopio (sin filtrar) ............................................................................................57
Figura 26 Angulo tras filtro complementario .....................................................................................58
Figura 27 Velocidad angular tras filtro complementario ....................................................................58
Figura 28 Capas del panel resistivo ....................................................................................................59
Figura 29 Determinación de coordenada Y ........................................................................................60
Figura 30 Circuito de adaptación del panel táctil. Esquema (izq) representación 3D (der) ................60
Figura 31 Diagrama de bloques de los filtros aplicados a la medida de la posición ...........................64
Figura 32 Medida de posición sin filtrar .............................................................................................65
Figura 33 Medida de posición tras filtro lógico de valor máximo ......................................................65
Figura 34 Medida de posición tras filtro lógico por diferencia de valores..........................................65
Figura 35 Medida de posición tras filtro Butterworth de 3º orden......................................................65
Figura 36 Comparación retardo de medida tras filtro de Butterworth ................................................65
Figura 37 Modelado del motor y del sistema mecánico .....................................................................67
Figura 38 Modelado sistema de posición............................................................................................68
Figura 39 Proyecciones de la aceleración de la gravedad ...................................................................68
Figura 40 Diagrama de bloques del motor ..........................................................................................69
Figura 41 Sistemas mecánico y de posición .......................................................................................70
Figura 42 Diagrama de bloques de los sistemas mecánico y de posición simplificados ....................74
Figura 43 Sistemas genéricos: primer orden + integrador + segundo orden .......................................75
Figura 44 Equivalencia entre sistema genérico y sistema modelado ..................................................76
Figura 45 Máquina de estados ............................................................................................................80
Figura 46 Offset giroscopio ................................................................................................................81
Figura 47 Generación de referencia ....................................................................................................82
Figura 48 Referencias X e Y respecto al tiempo.................................................................................83
Figura 49 Referencia X respecto a Y ..................................................................................................83
Figura 50 Control en cascada ..............................................................................................................85
25
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 51 Sistema motor: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a
escalón en referencia (abajo) de los ejes X (izq) e Y (der) .................................................................87
Figura 52 Sistema motor: Respuesta a escalón (arriba) y respuesta en funcionamiento en conjunto
con seguimiento a referencia rectangular (abajo) para ejes X (izq) e Y (der).....................................88
Figura 53 Sistema mecánico: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a
escalón en referencia (abajo) de los ejes X (izq) e Y (der) .................................................................91
Figura 54 Sistema mecánico: Respuesta en funcionamiento en conjunto con seguimiento a referencia
rectangular para ejes X (izq) e Y (der)................................................................................................92
Figura 55 Sistema de posición: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a
escalón en referencia (abajo) de los ejes X (izq) e Y (der) .................................................................94
Figura 56 Sistema posición: Respuesta en funcionamiento con seguimiento a referencia rectangular
para ejes X (izq) e Y (der)...................................................................................................................95
Figura 57 Respuesta del sistema al describir un rectángulo ...............................................................95
26
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
I. Memoria
27
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
28
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
1. Estado del arte
El mecanismo de bola y balancín [1] es un problema clásico de control sobre un
sistema no lineal. En él se controla la posición de una bola sobre una barra rígida,
actuando únicamente sobre ésta última. El mecanismo bola plataforma [2] en el que se
centra el desarrollo de este proyecto es la ampliación, en una dimensión, del sistema
anterior. Se actúa sobre los grados de libertad de la plataforma a través del control del
movimiento sobre sus dos ejes. Los diferentes problemas que se pueden plantear en
dicho sistema son fundamentalmente tres: la estabilización de la bola, la estabilización
de la bola en un punto deseado y que la bola siga una trayectoria marcada.
Figura 2 Mecanismo bola plataforma
Figura 1 Mecanismo bola balancín
1.1. Estructura mecánica
Así como el sistema de bola y balancín ha sido muy estudiado en el ámbito del
control, el sistema de bola plataforma, aun siendo más didáctico por su mayor
29
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
envergadura, goza de una bibliografía mucho menor –sin ser escasa-, en parte por la
mayor dificultad del control, pero sobre todo, por lo complejo de la estructura mecánica
necesaria para su estudio.
Entre las estructuras existentes, podemos dividirlas en dos grupos, aquellas en las
que el giro de los motores es lineal con el cambio de ángulo del plano, y aquellas que no
son lineales o directamente no usan motores.
Aquellas en las que el ángulo de giro del motor es lineal con el giro de la
plataforma, lo más común es que la plataforma tenga una unión fija a su centro, y para
provocar el giro, el motor tiene unos brazos de apoyo sobre los ejes cartesianos de la
plataforma. Con esos apoyos la actuación de cada motor es independiente de la
actuación del otro.
Partiendo de ese concepto, las estructuras pueden ser más o menos robustas. Por
ejemplo, en [2] la plataforma está sujeta solo por los laterales y no en el centro, por
tanto, si no es todo perfectamente rígido podría desplazarse verticalmente en caso de
que los brazos cedan. Por contra, en [3] sí existe un apoyo físico en el centro de la
plataforma, para asegurar que ese punto mantenga su posición, dicho apoyo permite los
giros pero anula los desplazamientos en las 3 dimensiones. Este apoyo central viene
dado por la necesidad de complementar los mecanismos de barras que usa para
transmitir el giro de los motores a la plataforma. Al no tener los ejes de los motores
alineados con los ejes del plano en su posición horizontal, para transmitirle el
movimiento tiene que usar mecanismos con rótulas, y de no haber apoyo central, el
punto se desplazaría en el espacio de forma natural, sin necesidad de que cedieran las
barras.
30
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 3 Estructura proyecto [MOAR08]
Figura 4 Estructura proyecto [KNUP00]
Pasando a las estructuras que no tiene una relación de giro lineal entre motor y
plataforma, existen ejemplos como [5] donde se mueve la plataforma a través de
actuadores electromagnéticos, conectados a los centros de los lados del plano superior.
El punto de apoyo tiene una localización similar a los sistemas ya comentados, pero el
movimiento vertical viene determinado por el sistema electromagnético, y a las posibles
no linealidades, se le suma la conversión del movimiento vertical del plano a su
movimiento angular. Feedback-instruments tiene un sistema comercial [6] (Ball and
Plate Control System 33-052) que basa su funcionamiento en el mismo fundamento.
Ambos sistemas tiene puntos de anclaje al centro del plano, pero idealmente, podían
soltarse, y con ello ganar un grado de libertad con el posible control del desplazamiento
vertical del centro.
Figura 5 Estructura proyecto [ELIN14]
Figura 6 Estructura Feedback-instruments
Otro ejemplo es el Hexapod [7] comercializado por Quanser. Dicha estructura
tiene 3 puntos de apoyo sobre el plano. El ángulo del plano se controla a través de la
elevación de los tres puntos de apoyo, que a su vez dependen del desplazamiento
31
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
horizontal de sus bases. Además, esta estructura sí amplia los grados de libertad del
sistema
bola
plataforma
convencional,
siendo
capaz
de
realizar
pequeños
desplazamientos verticales y horizontales.
Figura 7 Hexapod de Quanser
1.2. Determinación de la posición
Para la determinación de la posición de la bola hay 3 opciones claras, desde el
plano en el que se apoya, desde la propia bola, o desde un sistema externo.
Desde el plano sobre el que se apoya se puede determinar la posición de la bola
con paneles táctiles, ya sean capacitivos o resistivos. En [AWTA02][NOKH11] se
pueden ver ejemplos de uso de paneles táctiles.
Para la determinación de la posición desde un sistema externo es muy común el
uso de cámaras de video situadas encima de la plataforma. Con de software
de
reconocimiento de imagen se calcula la posición de la bola en la plataforma. Se pueden
ver ejemplos de este tipo en los trabajos [GALV13][MOAR08][KNUP00][WANG07].
Para el cálculo de posición desde la propia bola, podrían usarse sistemas de
radiofrecuencia que siguieran los mismos principios que el GPS.
La correcta y rápida determinación de la posición es clave para el correcto
funcionamiento del sistema. El uso de software de reconocimiento de imágenes conlleva
una gran carga computacional, y además, debe tener en cuenta la inclinación del plano
para el cálculo correcto de la posición relativa a éste con su giro, y no al horizontal de la
captura. La interpretación de los datos a partir de un panel táctil es más trivial, pues el
panel da como resultado la posición en el plano, si necesidad de sabes la posición del
32
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
plano en sí mismo. Además, el procesado es menos pesado para el micro, y por tanto,
más rápido. Por su parte, debido a las pequeñas distancias, la implementación de un
sistema de tipo GPS sería desmesuradamente más costoso que las otras dos
posibilidades, y para acabar consiguiendo una precisión probablemente inferior.
1.3. Sistema de control
Entre los controles más usados para este tipo de planta, están los controles PID,
los controles de lógica difusa y los controles por realimentación de estado –aunque
menos comunes que los anteriores-. A continuación, una breve explicación del
funcionamiento de cada uno, sus principales ventajas y desventajas, y algunos ejemplos
donde se han usado en otros trabajos.
1.3.1. Control PID
Los controladores PID [8] son controles por realimentación muy comunes en gran
variedad de sistemas. A partir de una referencia dada, se calcula el error que tiene la
respuesta medida, y se actúa para corregirlo. Hay tres tipos de acciónes diferenciadas, la
parte proporcional, que actúa sobre el error actual entre referencia y salida, la parte
integral que actúa en base al histórico (integral) del error, y la acción diferencial que
actúa en base a lo que se supone va a ocurrirle al sistema en un futuro. La suma de la
respuesta de estas tres acciones determina el mando a aplicar a la variable de control del
sistema. Entre sus desventajas se encuentran la necesidad de calcular derivadas e
integrales en el controlador, cosas que en ocasiones dan problemas de ruido y de
aproximación en tiempo discreto.
33
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 8 Ejemplo control PID
Su principal ventaja, y razón por la cual es muy usado, es que es relativamente
fácil implementarlo cuándo se desconoce el funcionamiento del sistema. Su principal
característica, desventaja o ventaja según el caso es su simpleza. Este tipo de control es
fácil de usar porque solo tiene en cuenta la referencia y la salida, y a su vez puede no ser
suficiente para estabilizar un sistema precisamente por eso, porque no tienen en cuenta
el resto de variables que determinan el sistema.
Una alternativa dentro de los reguladores PID es el poner varios reguladores en
cascada. Esto es, en vez de aplicar un solo control al sistema entero, se aplican varios
controles por partes, para tener controladas variables intermedias. Esa alternativa tiene
la ventaja de que se tiene un mayor control del sistema, y es la única alternativa para el
uso de PIDs en ciertos casos no tan simples. Se debe tener en cuenta que cuando se
ponen varios controles en cascada, cada lazo de control debe ser más lento que el lazo
anterior, pues es imposible controlar correctamente una variable partiendo de otra que
responde más lenta.
1.3.2. Control por realimentación de estado
Las variables de estado son aquellas con las que el sistema queda completamente
determinado en un momento dado. La representación de estados es el modelo
matemático de un sistema físico determinado por sus entradas, salidas y variables de
estado. Las entradas salidas y variables de estados, están relacionadas por ecuaciones
diferenciales, y juntas se agrupan en una matriz de estados.
34
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Para el control por realimentación de estados [9], se estudia la respuesta del
sistema, se decide el lugar que deben tener los polos de lazo cerrado, y se calcula el
vector de ganancias que debe aplicársele a las variables de estado para que el sistema
acabe con los polos donde se ha diseñado.
Figura 9 Ejemplo control por realimentación de estado
Entre las ventajas de este tipo de control se encuentra el hecho de que se está
actuando sobre todas las variables que determinan al sistema, y por tanto, sobre toda la
información posible. Además, la manera de controlar es a través de constantes
proporcionales, y no a través de derivadas o integrales, a veces difíciles de calcular. En
lo que respecta a la velocidad, este tipo de control, actúa sobre todo el sistema de forma
simultánea, no primero sobre una parte y después sobre otra, logrando velocidades
superiores al control PID en cascada. Como todo, también tiene sus desventajas, la más
notoria es su dependencia de un correcto modelado de la planta a controlar. Debido a
que este método se basa en el cálculo de las ganancias para llevar los polos del sistema a
donde se ha decidido que es conveniente, si el modelado no es muy bueno, los
resultados obtenidos pueden estar llevando el sistema a cualquier sitio. Con este sistema
no es nada intuitivo como corregir y ajustar el control en base a respuestas de ensayos
1.3.3. Controles por lógica difusa (fuzzy control)
El funcionamiento de este tipo de control es parecido al comportamiento de un
humano. Se definen una serie de zona de funcionamiento del sistema, como cerca o
lejos. Para cada una de esas zonas se plantea un control, por ejemplo, si está en la zona
de cerca, que la variable de mando sea proporcional a la posición, y si está en la zona de
lejos, que la variable de mando sea proporcional al cuadrado de la posición. El control,
comprobará en que zona esta y aplicará ese control, pero las zonas no son tipo “todo o
35
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
nada”, sino que están solapadas. Por ejemplo, cerca es entre 0 y 10, y lejos entre 5 y 15,
de manera que si está en 7.5, estará mitad en cerca y mitad en lejos, así que la respuesta
del control será la suma de las acciones del control de cerca y de lejos dividida por dos.
Por ejemplo, en [10] se muestran las gráficas de estados y de respuesta de un
sistema de una turbina de vapor. Además de los estados para entradas y salidas faltarían
las reglas que relacionan unos con otros y la actuación en cada estado de salida.
Figura 10 Ejemplo control difuso
Este control tiene una ventaja conceptual, y es que la manera de funcionar se
parece a la manera de razonar de los humanos. Otra ventaja es la no necesidad de un
modelo del sistema, no es necesario saber cómo funciona, simplemente con saber dónde
está, y ver las zonas que se han definido se puede actuar. Además tienen una respuesta
rápida, y son más robustos a perturbaciones que los reguladores PID. Su principal
desventaja viene dada por la complejidad del sistema, para un sistema más preciso se
requiere diseñar muchos más estados y reglas, y esto a su vez aumenta la cantidad de
cálculos necesarios. Un buen diseño es muy laborioso, requiere mucha simulación, y
una vez puesto en funcionamiento, es complejo cambiar parámetros concretos, teniendo
que prestar atención al correcto funcionamiento de todo el sistema tras el cambio.
1.3.4. Ejemplos
A continuación se comentan brevemente la forma en la que se controla el mismo
sistema que en este proyecto, en otros trabajaos ya existentes.
En [GALV13] se usa un control tipo PID –pero sin acción integral- con un
compensador exacto para la parte no lineal, para el que se obtienen las ecuaciones a
partir del análisis de estabilidad por el método de Lyapunov. Dicho método está
relacionado con la estabilidad asintótica, básicamente se basa en que un punto de
36
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
equilibrio es estable si todas las soluciones de su ecuación diferencial homogénea se
mantienen cerca de ese punto para todo tiempo posterior.
En [AWTA02] implementan un control PID en cascada, con un lazo interior y
otro exterior, mientras que en [MOAR08]
parten del mismo control, y después
demuestran que su velocidad y sobrepaso mejoran al añadirle un supervisor difuso que
cambie las ganancias del PID en tiempo real. Usar controles PID como controles de los
estados de un control difuso es algo no muy habitual, en su lugar, es más común usar
una look-up table para alternar entre PIDs.
En [WANG07] también usan un sistema de control tipo cascada con dos lazos. En
el lazo externo utilizan un control de lógica difusa con prioridad dinámica y en el
interno demuestran que un servo controlador de conmutación reduce significativamente
el error frente a un proporcional derivativo convencional.
A pesar de que son varios los trabajos que usan reguladores tipo PID con sus tres
acciones, en [KNUP00] sin embargo, tras el estudio de su planta llegan a la conclusión
de que este tipo de control no es adecuado. El control añadiría un polo más al sistema y
haría empeorar su estabilidad; para resolverlo se decantan por un PID sin acción
integral, se puede justificar la no necesidad de añadir acción integral en el control, pues
la integración del propio sistema llevará a alcanzar el régimen permanente.
37
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
38
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
2. Motivación
La motivación de este proyecto es de carácter educativo. Por ese motivo lo que se
pretende es el desarrollo de uno de los problemas clásicos de control usando LEGO. El
interés en el uso de dicha plataforma se debe a que prácticamente la totalidad de las
prácticas del área de control de la Universidad Pontificia Comillas, ICAI, están
desarrolladas en ella. Como complemento se usará además un Arduino, plataforma de
hardware libre también muy extendida en el ámbito de la enseñanza, y presente en
numerosos proyectos de la universidad.
Su objetivo último sería el de servir de ejemplo y demostración de funcionamiento
del sistema, tras una posible inclusión en el programa docente de alguna de las
asignaturas del área de control.
39
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
40
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
3. Objetivos
El proyecto consiste en dos objetivos principales, sin la consecución de los cuales no
podrá darse por satisfactorio.
1- Desarrollo de una estructura, basada en LEGO technic, mecánicamente
adecuada para el funcionamiento del sistema bola plataforma.
2- Desarrollo e implementación de un sistema de control que permita
estabilizar la bola en una posición de la plataforma.
Una vez estudiada la naturaleza del problema y diseñada la manera de resolverlo,
se han planteado una serie de objetivos intermedios. A pesar de que no todos son
imprescindibles para la consecución de los objetivos principales, si facilitarán
enormemente su realización.
1- Mejora y diseño en KiCad del circuito necesario para la adaptación de las
señales de la pantalla táctil a un microcontrolador.
2- Desarrollo de un programa para Arduino cuyo objetivo es el
hacer
accesibles las coordenadas de la pantalla táctil, a la unidad de control
principal NXT.
3- Implementación del resto de sensores necesarios, y modelado de la planta,
teniendo en cuenta las medidas disponibles.
4- Desarrollo e implementación de la puesta en marcha del sistema.
Por último, como objetivo extra se ha propuesto el hacer que el control no solo
estabilice la bola, sino que además sea capaz de hacer que esta siga una trayectoria
prefijada.
41
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
42
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
4. Metodología de trabajo
Se ha construido una estructura con LEGO technic, en la que se han dispuesto dos
motores para el movimiento de la plataforma en cada uno de sus ejes, y una unidad
NXT para la implementación del sistema de control.
Para la medición de las variables de estado (posición de la bola sobre el plano,
ángulo del eje del motor y ángulo y velocidad angulares del plano) se han dispuesto en
el plano, un acelerómetro y dos giroscopios en su parte inferior y una pantalla táctil en
la superior. La elección de dicha pantalla táctil como un panel resistivo se explica en la
sección 6.2.3 (capítulo de montaje). Para conocer los ángulos de giro de los ejes de los
motores se han usado los encoders propios de los motores.
En lo que a la gestión del panel resistivo se refiere, se ha dispuesto un circuito de
adaptación y un Arduino que transmite la posición de la bola al NXT, y es desde este
desde donde se ejecuta el control de estabilidad.
La programación del Arduino se ha realizado mediante su propio IDE mientras
que para todo lo referente al control de la plataforma se han usado Matlab y Simulink.
Tras la construcción y modelado de la planta, se han estudiado las posibilidades
de los controles por realimentación de tipo proporcional, integral y derivativo en sus
diversas configuraciones.
Los controles mencionados en una configuración en cascada, han conseguido su función
de estabilizar la bola, por tanto no ha sido necesario recurrir a otras alternativas de
control.
43
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
44
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
5. Recursos empleados
Para el desempeño de este proyecto han requerido de los siguientes componentes
de hardware: piezas de montaje LEGO technic, unidad de control NXT, dos motores
de 9V con encoders incluidos, un acelerómetro y dos giroscopios, todo ello de LEGO.
Una pantalla táctil resistiva, componentes electrónicos básicos (pines de conexión,
condensadores, resistencias, amplificadores operacionales y transistores) para su
circuito de adaptación, y una tarjeta de desarrollo Arduino (Arduino Mega2560).
Además, en lo referente a software, han sido necesarios la IDE de Arduino,
Matlab y Simulink. El primero, programa open-source descargable desde la propia web
de Arduino, y los dos últimos, programas muy extendidos en el ámbito universitario.
45
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
46
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
6. Construcción
En este capítulo se explican los aspectos más importantes de la construcción del
sistema. Tanto de la construcción de la estructura como de los sensores para la
obtención de medidas.
6.1. Construcción de la estructura
Como ya se ha mencionado, el principal objetivo del proyecto es el desarrollo de
la estructura usando el material usado en las prácticas de las asignaturas de control, por
tanto, se construirá con piezas de LEGO technic.
No se pretende hacer una descripción exhaustiva del montaje pieza a pieza, pero si
se comentar las ideas principales para su montaje y los problemas que han surgido
durante el proceso.
Al comienzo de este proyecto se disponía de un prototipo sin terminar de
construir, que presentaba algún fallo mecánico que desequilibraba la estructura en
ciertas posiciones. En esencia, la estructura constaba de un plano apoyado sobre una
bola que actuaba de rotula, con apoyos que le impedían el desplazamiento. En [11] se
ilustra como la trasmisión de movimiento del sistema consistía en unas cremalleras
verticales, con salientes que empujaban el plano. Mientras que para ángulos pequeños
funcionaba bien, con ángulos un poco mayores, había momentos en los que el plano se
levantaba y perdía contacto con la bola sobre la que rotaba. Otro problema era que el
plano, en su movimiento, subía empujado pero bajaba por su peso; de tal forma que si
47
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
con la bola encima esta hacía fuerza por el lado contrario a los apoyos de la cremallera
la plataforma perdería el contacto con estos.
Si bien era posible hacer que esa estructura funcionara, poniéndole muelles a la
base desde los lados de la cremallera, para asegurar que siempre hubiera apoyo; y
haciendo unas pequeñas modificaciones –a pesar de ser pequeños cambios en cuanto a
diseño, implicaban desmontar gran parte de la estructura- para hacer que no se
despegara de la bola, se optó por cambiar por completo el sistema por la relación de
ángulos entre plataforma y motor.
Figura 11 Sistema cremallera-apoyo
Con el sistema de cremallera [11] la transmisión de ángulo entre plataforma y
motor era no lineal, y la plataforma tenía una elevación considerable sobre el eje de
giro. Como se ve, dicho eje de giro estaba en el centro de la bola de apoyo.
En el nuevo sistema construido [12] la elevación sobre el eje de giro es mínima,
de manera que se desprecia, y la transmisión de ángulo entre eje de motor y plataforma
es lineal, con una ganancia función de las relaciones de transmisión de los engranajes
dispuestos.
48
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 12 Planta general
Si un plano rota en el eje X, todos los puntos del eje X permanecerán en la misma
posición espacial. Exactamente lo mismo le sucede con el eje Y. Por tanto, si el motor
que provoca el giro en X tiene sus puntos de apoyo sobre el plano en la línea del eje Y,
cuando provoque rotación en X, no moverá los puntos de dicho eje. El otro motor, el
que provoca el giro sobre el eje Y debe tener sus apoyos en el eje X. De esta forma,
cuando un motor gire, moverá toda la plataforma excepto al línea en la que el otro
motor tiene sus apoyos, con lo que se consigue que los ángulos de giro, no se afecten el
uno al otro.
El eje X puede girar en Y y el eje Y puede girar en X, pero no pueden ni girar en
Z ni desplazarse en el espacio.
Es intuitivo que la trasmisión del giro es directa, ya que se realiza a través de un
mecanismo de 4 barras, que no se pueden salir de su plano, y tienen fijos a ejes los
centros de dos de sus lados opuestos.
En la secuencia se observa como partiendo de la posición inicial [13] se gira
primero sobre en eje [14] y luego sobre el otro [15]. En el primer movimiento solo 2 de
los 4 apoyos se mueven, y al ejecutar el giro en el otro, se mueven solo los otros dos.
49
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 13 Mov. ejes: Posición inicial
Figura 14 Mov. ejes: Rotación en Y
Figura 15 Mov. ejes: Rotación en X
En [16] se puede ver una simplificación del montaje. Los motores se conectan a
reductoras y éstas engranarían en los ejes azules. El eje azul debería ir conectado
solamente al mecanismo de 3 barras y pantalla, pero debido a la longitud del eje se
retuerce sobre sí mismo. Para minimizar esa flexibilidad de las piezas de LEGO, se ha
dispuesto un rectángulo rígido que agarra al eje antes y después de su conexión con el
mecanismo de trasmisión.
50
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 16 Boceto de ejes de la plataforma
La transmisión del movimiento debe hacerse sobre las líneas de los ejes para
independizar un movimiento del otro, por tanto, hay un punto por el que deben pasar
uno de los ejes y la barra vertical de trasmisión del otro. Para solucionar esa
concurrencia, se deja pasar el eje y se divide la trasmisión vertical en dos barras a su
alrededor, pero teniendo en cuenta que deben volver a unirse para que solo un punto
apoye en la pantalla, y lo haga en el centro. En [17] se muestra una simplificación del
cruce de ejes.
Figura 17 Detalle del cruce de ejes
Idealmente la rotación en Z no debería darse, pero debido a la flexibilidad de las
piezas y a las holguras de las uniones eso no es del todo cierto. Los rectángulos para dar
rigidez al eje también pueden doblarse por los pares ejercidos. Para evitar esos giros, en
vez de lo mostrado en [17], donde se veía que las rotulas que permitían un giro eran dos
51
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
barras simples, los ejes del mecanismo de barras son en realidad como el mostrado en
[18].
Figura 18 Unión rotante: esquemático (izq) y real (der)
[18 izq] es un conjunto de barras rígidas unidas entre sí (fuera de la figura) que se
enganchan con un pasador a otro conjunto de barras también unidas entre sí, para evitar
en la medida de lo posible cualquier movimiento que no sea el esperado.
En [19] se aprecia como adicionalmente se han reforzado los contornos de los
rectángulos que agarran a los ejes azules para que sigan formando un plano, y no se
doblen de forma irregular.
Figura 19 Refuerzos en eje X (der) e Y (izq)
Para dar más solidez a la estructura, en todo el espacio existente entre las partes
móviles mostradas, existe una estructura rígida fija a la base. Dicha estructura
proporciona un punto de apoyo con una rótula que permite los 3 giros e impide los
desplazamientos espaciales, que se engancha con el centro del plano superior. Además
52
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
de ese apoyo redundante, la función principal de esa estructura es servir de sujeción
para los ejes que vienen de los engranajes, sobre todo en el centro, y limitar el
movimiento horizontal de las barras que empujan la plataforma al girar.
En [20] se observa que la estructura solo permite los movimientos verticales
deslizándose entre ella, y limita al máximo los giros sobre Z y desplazamientos
horizontales.
Figura 20 Ejemplos de limitación del giro en Z
Por último, un punto crítico es la conexión del motor con el eje de transmisión
[21]. Para que el eje no se retuerza entre el motor y la rueda dentada, se han dispuesto
ruedas dentadas en ambos lados del motor. Con el objetivo de evitar al máximo el
movimiento de los ejes, además de poner ruedas dentadas a ambos lados, en alguno de
ellos se ha puesto más de una, y se ha limitado el movimiento espacial de los mismo
haciéndolos pasar a través de piezas fijas a la base.
Figura 21 Engranajes eje X (der) e Y (izq)
53
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
6.2. Obtención de medidas
A continuación se explican los distintos sensores mediante los cuales se mide el
ángulo de giro de los ejes de los motores, el ángulo y velocidad angular del plano, y la
posición de la bola en el mismo.
6.2.1. Medida de posición angular de los ejes de
los motores
Los ejes de los motores están conectados a engranajes reductores con una relación
5:1. La razón de esta reducción es aumentar la precisión. El motor de LEGO tiene un
encoder con una resolución de 1º, al ponerle una reducción de 5:1 se consigue una
resolución de 0,2º de giro en el eje de transmisión a la plataforma.
Inicialmente se construyó con dos relaciones consecutivas, unos engranajes 5:1
seguidos de otros 3:1, con lo que se conseguía una resolución de 0.066º. Parece lógico
pensar que dicha solución era mejor por el aumento de precisión, sin embargo, también
tenía consecuencias negativas. La mayor relación que era posible establecer en un solo
par de engranajes era 5:1, así que era inevitable dividirlo en dos pasos; por tanto el
primer problema es que las ruedas dentadas tienen juego al engranar, y al haber dos
pasos, aumentaba la holgura entre ellas. El segundo problema, y decisivo para el cambio
de relación de 15:1 a 5:1, es que la reducción del ángulo girado implica una reducción
de la velocidad de giro, y la máxima velocidad de giro del motor dividida entre 15 no
aportaba suficiente velocidad al sistema para poder alcanzar la estabilidad.
Otra alternativa que se planteó fue conectar directamente el eje de transmisión de
la plataforma al eje del motor. Para solucionar el problema de resolución del encoder se
conectarían engranajes multiplicadores en el otro extremo, y a su salida se colocaría un
encoder externo. El primer problema que se podría encontrar con esta idea era la forma
de transmitir la información de ese encoder al NXT, pues no había más puertos de
54
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
entrada de sensores. Por tanto habría que cortar los cables de control del motor
correspondientes al encoder, dejar al aire los del lado del motor, y empalmar los del
encoder externo a los del lado del NXT.
El segundo problema y razón por la que se descartó la idea es la diferencia entre el
rozamiento dinámico y rozamiento estático. El rozamiento estático es mayor que el
dinámico, por lo que una vez el motor venciera la fuerza para empezar el movimiento,
la requerida para mantenerlo sería menor, lo que haría difícil obtener movimientos
precisos para ángulos pequeños.
En conclusión, se conseguiría un sistema con una resolución muy fina, pero
incapaz de mover ángulos pequeños.
6.2.2. Medida de la posición y velocidad
angulares del plano
Para las medidas de las magnitudes angulares del plano se han dispuesto un
acelerómetro de tres ejes y un par de giroscopios, fijos al plano como se muestra en
[22].
Figura 22 Disposición de sensores en plataforma. Acelerómetro (arriba) y dos giroscopios
El acelerómetro nos proporciona la aceleración absoluta que hay en cada eje. Con
la plataforma estática, se puede relacionar la aceleración de cada eje con la aceleración
de la gravedad, calcular la posición angular del acelerómetro y con ello la de la
55
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
plataforma. El acelerómetro funciona bien a baja frecuencia, cuando las aceleraciones
de la plataforma son muy pequeñas, pero cuando las aceleraciones aumentan su relación
con la aceleración de la gravedad se hace difícil estimar el ángulo, siendo una medida
muy ruidosa.
Los giroscopios miden la velocidad angular, que una vez integrada permite
conocer la variación del ángulo. Además, funcionan bien a altas frecuencias pero el
error de integración se puede acumular con el tiempo.
En resumen, el acelerómetro funciona a baja frecuencia y proporciona medidas
absolutas, mientras que los giroscopios funcionan a altas frecuencias y dan medidas
relativas.
La mejor solución es hacer una puesta en marcha muy lenta, valiéndose
exclusivamente del acelerómetro, y a partir de entonces usar un filtro complementario
con las medidas de acelerómetro y giroscopios.
El giroscopio devuelve la velocidad angular en grados/s del eje en el que se haya
colocado.
El acelerómetro devuelve la aceleración de cada uno de los tres ejes. El ángulo de
cada eje se saca de las siguientes ecuaciones.
ángulo de giro en X =
180
accel medica eje X
atan2 (
)
π
accel medida eje Z
ángulo de giro en Y =
180
accel medica eje Y
atan2 (
)
π
accel medida eje Z
Siendo atan2 una función arcotangente, pero que devuelve el ángulo en el
cuadrante correcto, teniendo en cuenta los signos de las aceleraciones de ambos ejes.
El filtro complementario, entre la velocidad angular del giroscopio y la posición
angula del acelerómetro, se hace con el diagrama de bloques de [23].
56
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 23 Filtro complementario giroscopio-acelerómetro
Wfc tiene un valor de 0.95, con lo que se le da más peso a la medida del
giroscopio. La mayor importancia del giroscopio en el filtro complementario viene dada
por su mejor estimación a altas frecuencias, mientras que la importancia del
acelerómetro, es menor, pero sirve para que con el paso del tiempo, en régimen
permanente, vaya corrigiendo los errores acumulados del giroscopio con la medida
absoluta.
El acelerómetro es el más ruidoso de los dos, pero ambas medidas pasan antes por
un filtro digital paso bajo para eliminar parte del ruido.
A continuación se muestran las medidas del acelerómetro [24] y giroscopio [25],
así como su resultado tras el paso por el filtro [26][27].
Figura 25 Medida giroscopio (sin filtrar)
Figura 24 Medida acelerómetro (filtrada por paso bajo)
57
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 27 Velocidad angular tras filtro complementario
Figura 26 Angulo tras filtro complementario
La medida del acelerómetro [24] ya había pasado por un filtro discreto paso bajo
para quitarle parte del ruido, con lo que a la vista de las gráficas, resulta evidente la
mejoría del filtro complementario en la estimación del ángulo.
La estimación de la velocidad angular se hace solo con el giroscopio. La
diferencia entre la señal de entrada [25] y salida [27] es el paso por un filtro discreto
paso bajo, igual que el usado para acelerómetro, y la ganancia para pasar la medida de
grados a radianes.
6.2.3. Medida de la posición de la bola en el plano
La medida de la posición de la bola en el plano es la más compleja de todas. Para
ella se usan una pantalla resistiva, un circuito de adaptación y un Arduino.
6.2.3.1. Lectura de coordenadas desde el
Arduino
Para saber la posición de la bola se usa una pantalla táctil, a continuación se
presenta una breve explicación de las diferencias entre las dos tecnologías más
extendidas, y la explicación de porqué se eligió la resistiva.
Pantallas resistivas: son paneles simples en su manejo, detectan la una pulsación
de un solo objeto siempre que tenga el peso suficiente. Son más resistentes pero algo
más lentas. Existen pantallas resistivas que detectan más de un punto de pulsación, pero
58
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
no son habituales, por lo que si el multipunto es requisito se recomienda el uso de
capacitivas.
Pantallas capacitivas: son paneles más complejos de manejar, pueden detectar
pulsaciones en distintos sitios simultáneamente, el objeto no tiene que pesar pero tiene
que tener capacidad, con lo que solo ciertos materiales harán que reaccione; son más
transparentes, de manera que se tiene mejor visibilidad en caso de tener un LCD detrás;
y son más caras y delicadas que las resistivas.
Ciertas ventajas de los paneles capacitivos, como son su transparencia o el soporte
multitáctil, son irrelevantes para este proyecto. Sin embargo, la facilidad de control, la
resistencia y la independencia del material usado hacen que la pantalla resistiva sea más
atractiva, y por lo tanto, la elegida.
La estructura interna de la pantalla resistiva [28] son dos paneles resistivos
superpuestos ortogonalmente. En las caras internas de dichos paneles hay resistencia (no
mayor que 1kohm en general) entre dos lados opuestos donde hay un cable conectado.
Figura 28 Capas del panel resistivo
Una vez el objeto está sobre la pantalla, las dos capas se tocan, y la determinación
de las coordenadas de ese punto ha de hacerse de forma alternativa. La coordenada se
obtiene a partir del divisor de tensión provocado por la resistencia que hay de lado a
lado, y el punto de presión. Para la coordenada Y por ejemplo, se alimenta con tensión
positiva uno de los lados de la capa correspondiente, y se pone a tierra el otro. La otra
capa se conecta al conversor A/D del micro para usarla para leer la tensión del punto de
contacto.
En [29] se muestra como se pone a tensión y a tierra una línea y se usa la otra para
medir.
59
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 29 Determinación de coordenada Y
Una vez leída la coordenada Y se alimenta la capa X de la misma manera y se usa
la capa Y para leer la coordenada X como en el caso anterior. Estos dos pasos deben
ejecutarse alternativamente de forma continuada.
Para este proyecto se ha dispuesto un Arduino Mega2560 para el control de la
pantalla, que se conecta a esta a través del siguiente circuito controlador [30]. El diseño
de la PCB para el circuito se ha hecho con la herramienta libre KiCad.
Figura 30 Circuito de adaptación del panel táctil. Esquema (izq) representación 3D (der)
La programación del Arduino se ha hecho directamente a través de su IDE.
El código completo se encuentra disponible en el Anexo C, a continuación se
explica de forma resumida las bases de su funcionamiento.
En cada ejecución del programa, se pone DRIVEA a tensión Vcc, DRIVEB a
tierra, y tras un pequeño delay para que se estabilice el circuito, se lee la coordenada X.
A continuación se repite el mismo proceso invirtiendo tensión y tierra en DRIVEA y
60
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
DRIVEB y midiendo la coordenada Y. Las medidas de las coordenadas son
almacenadas a la espera de ser enviadas a la unidad de control principal NXT.
6.2.3.2.
Comunicación con la unidad NXT
El envío al NXT de las medidas de los dos ejes se puede hacer por varios
métodos.
En un primer montaje, las coordenadas se enviaban con valores analógicos, a
través de una señal PWM de salida del Arduino. Dicha salida se filtraba con una
configuración RC paso bajo y un buffer, y se conectaba a una entrada analógica en el
NXT (se usaba el bloque de matlab correspondiente a un sensor de luz para leer la
entrada analógica). Para mejorar el envío de esos datos se modificaron los registros
correspondientes a la frecuencia de los timers, que se usan en las librerías de las
funciones “analogWrite” (PWM) del Arduino, aumentando su frecuencia de los 490Hz
por defecto a 31KHz. Con ese aumento de frecuencia del PWM quedaba mucho más
margen para poner un filtro a más de una década por debajo y mantener velocidad de
respuesta a cambios de medida.
La sincronización de la unidad NXT y el Arduino para enviar alternativamente las
medidas de las coordenadas X e Y por un solo canal se hacía compleja. Se necesitaría
otra línea de comunicación para sincronizarse ya que en caso de no tenerla, por no ser
perfectos los relojes de ambos micros o por una mala puesta en marcha, podrían
desfasarse e invertirse él envió de coordenadas a mitad de ejecución. Por tanto, se
dispuso usar dos líneas, una por coordenada, y estar enviando siempre el último dato del
que se disponía.
Inicialmente pensaba determinarse el ángulo de la plataforma valiéndose del
acelerómetro de tres ejes y los encoders de los motores. Más tarde se decidió que, por la
elasticidad de los ejes de LEGO, los encoders no eran válidos para la determinación de
las magnitudes angulares del plano, y por tanto era necesario añadir otros dos
giroscopios como complemento al acelerómetro. Al tener un acelerómetro y dos
giroscopios, quedaban ocupadas tres de los cuatro puertos de entrada de sensores del
NXT. De esta forma, la comunicación entre Arduino y NXT debía limitarse a una sola
61
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
línea, así que se descartó la opción de enviar las medidas de manera analógica como se
ha explicado.
La forma de usar un solo canal es usando el protocolo I2C. La recepción de la
medida, por parte del NXT, se implementó en matlab con el bloque de manejo del
acelerómetro. Dicho bloque cuando solicita medidas espera recibir 3 datos,
correspondientes a las aceleraciones de los 3 ejes. En este caso el Arduino envía los dos
datos de las coordenadas seguidas de un 0 para completar los tres valores que espera el
bloque de acelerómetro. Ya se ha explicado como el Arduino obtiene las medidas y las
almacena en un buffer a la espera de ser solicitadas, cuando recibe la solicitud del NXT
usa la función “write” de la librería “wire” para enviar los 3 datos solicitados.
A las medidas que toma el Arduino, con “analogRead”, se les hacen una serie de
correcciones, en el propio Arduino, antes de enviarlas. Primero se divide el número
entre 4 para pasar la resolución de 1024 a 256. Después se invierten los signos,
sumándole 128 a los números por debajo del 128 y restándoselo a los que estén por
encima de 127. Una vez recibidas en el NXT se le resta 3 a la medida. Con esto, se
adaptan las medidas de la pantalla a las medidas que esperaría de un acelerómetro, de tal
forma que los signos se correspondan con la parte positiva y negativa de los ejes del
plano.
Aquí conviene tener en cuenta las velocidades de los micros. En la lectura de
coordenadas que hace el arduino cada coordenada tiene un delay de 5ms, con lo que
tendrá el par completo cada 10ms más el tiempo que tarda el micro en ejecutar todas sus
instrucciones. El tiempo de ejecución del programa en sí es mínimo, pero es algo, de
manera que se puede decir que tardara 10+𝜀 ms.
Suponiendo una situación inicial con los micros sincronizados y empezando a
medir por la coordenada X, se daría la situación siguiente
Tiempo
envío
medidas
Tiempo medida
coordenada X
Tiempo medida coordenada
Y
Retraso
medida Y
Retraso
máximo
medida
𝜀
2
-
-
Retraso
medida X
10
5+
𝜀
2
No hay medida
5−
20
15 +
3𝜀
2
10 + 𝜀
5−
3𝜀
2
10 − 𝜀
10 − 𝜀
30
25 +
5𝜀
2
10 + 2𝜀
5−
5𝜀
2
10 − 2𝜀
10 − 2𝜀
62
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Con el paso del tiempo, las medidas se van haciendo cada vez más tarde, respecto
al tiempo de envío, y tienen menos retraso de media en el siguiente tiempo de envío.
Tras un número n de periodos de muestreo se llegara a la situación mostrada.
Tiempo
envío
medidas
Tiempo medida
coordenada X
10(n-2)
10(𝑛 − 2) −
10(n-1)
10(𝑛 − 1) −
10n
10𝑛 −
𝜀
2
Tiempo medida coordenada
Y
Retraso
medida X
Retraso
medida Y
Retraso
máximo
medida
𝜀
2
10(𝑛 − 2) − (5 + 3𝜀)
5𝜀
2
5 + 3𝜀
5 + 3𝜀
3𝜀
2
10(𝑛 − 1) − (5 + 2𝜀)
3𝜀
2
5 + 3𝜀
5 + 3𝜀
10𝑛 − (5 + 𝜀)
𝜀
2
5+𝜀
5+𝜀
Al continuar se repetirá la situación pero con los tiempos para las coordenadas
invertidas.
El retraso entre la medida y el envío es como mínimo de 5ms y como máximo
10ms. Además, el protocolo I2C que se usa para transmitirlas tiene una velocidad de
100kbps. En cada envío manda 3 bytes que con los bits de dirección, start, stop y
acknowledge se quedan en menos de 40 bits. Por tanto la comunicación añade otro
retraso de 0,4ms.
Con todo esto se sabe que el retraso desde que se mide dónde está la bola hasta
que lo recibe el NXT, para poder usarlo en el control, está entre 1 y 2 periodos de
muestreo, y va variando con el tiempo. En el ensayo en que se le da una trayectoria
rectangular como referencia a seguir, en recorrer el lado pequeño del rectángulo (menos
de media pantalla) tarda 4.4 segundos, o lo que es lo mismo, 440 periodos de muestreo,
por tanto, el retraso de medida es tolerable.
6.2.3.3.
Filtrado de medida en el NXT
Tras estas modificaciones el número que se consigue en el NXT ya se
corresponde con la posición de la bola en pantalla. Sin embargo, la medida no es
perfecta. Hay ciertos puntos de la pantalla (como una matriz) en los que no hay medida,
esto se debe a que entre las dos capas de la pantalla hay separadores para que solo
63
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
cuando se presione se toquen, y por tanto, si el punto de apoyo es justamente ese
separador, no se tocan a pesar de que la bola este encima.
Para eliminar el problema se han implementado un par de filtros lógicos, y un
filtro Butterworth de tercer orden, como en la configuración mostrada en [31].
Figura 31 Diagrama de bloques de los filtros aplicados a la medida de la posición
El primer filtro lógico compara la media con el valor que da cuando no hay punto
de apoyo, y si detecta que no hay apoyo toma como valor el anterior valor bueno. El
segundo filtro lógico compara la diferencia de la medida actual con la medida anterior,
y si es excesivamente grande la descarta tomando el anterior valor bueno; estas medidas
que no son verdad se producen por un fenómeno parecido al anterior, pero en el que la
medida no llega al valor extremo y por tanto no se puede descartar por valor fijo, pero si
por diferencia excesiva. El tercer filtro es para eliminar el posible ruido y los posibles
picos de error, pero de tamaño inferior a cambios realmente posibles, que no se pueden
eliminar con un filtro lógico.
A continuación se muestra cómo evoluciona la señal desde la medida sin filtrar
[32], su paso por el primer filtro lógico [33], su paso por el segundo filtro lógico [34], y
su paso por el filtro de Butterworth [35].
64
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 32 Medida de posición sin filtrar
Figura 33 Medida de posición tras filtro lógico de valor máximo
Figura 34 Medida de posición tras filtro lógico por diferencia de valores
Figura 35 Medida de posición tras filtro Butterworth de 3º orden
Es importante tener en cuenta que los filtros lógicos no retrasan la señal, pero el
filtro de Butterworth si lo hace. En [36] se muestra dicho retraso con la superposición
de la señal antes y después del filtro.
Figura 36 Comparación retardo de medida tras filtro de Butterworth
65
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
66
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
7. Modelado
En este capítulo se explicará el modelado del sistema, las simplificaciones
adoptadas, y la obtención de los parámetros correspondientes a los modelos.
7.1. Modelado del sistema
El modelado del sistema se ha hecho desacoplando los sistemas de cada uno de
los ejes.
El modelado de cada eje se compone de un modelo de un motor eléctrico, seguido
de un modelo de un sistema mecánico genérico [37]. Y por último la relación entre el
par del eje [38] y las aceleraciones de la bola [39].
Figura 37 Modelado del motor y del sistema mecánico
67
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 38 Modelado sistema de posición
Figura 39 Proyecciones de la aceleración de la
gravedad
La primera parte del sistema, entre la tensión aplicada en el motor (u) y el ángulo
(thr) de su eje, se modela con las siguientes ecuaciones.
Cuando la corriente (i) circula en el rotor, se ejerce un par (Tm) que es
directamente proporcional a la corriente. Kt es la constante de par que incluye el campo
magnético (supuesto constante) del estator.
Tm = Kt ∗ i
El giro del rotor, induce un flujo magnético oscilante que induce una fuerza
contraelectromotriz (e) proporcional a la velocidad de giro (wr). Ke es la constante
electromotriz.
e = Ke ∗ wr
Despreciando las perdidas, al igualar potencia eléctrica y mecánica, se obtiene la
relación entre las constantes de par y electromotriz.
e ∗ i = Tm ∗ wr = Kt ∗ i
e
Ke
Kt
=1
Ke
La ecuación eléctrica del motor, incluyendo su resistencia (R) e inductancia (L).
u=R∗i+L
68
di
+e
dt
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
El sistema de rotación entre par y velocidad de giro es como sigue. Jm es la
inercia del motor y Dm es su fricción viscosa.
Tm = Jm
dwr
+ Dm ∗ wr
dt
Por último, el ángulo de giro es la integral de la velocidad de giro.
thr =
dwr
dt
Las ecuaciones se muestran en forma de diagrama de bloques en [40].
Figura 40 Diagrama de bloques del motor
La función de transferencia, entre tensión y el ángulo, obtenida es un sistema de
segundo orden y una integración.
th 180
=
u
pi
Kt
1
Dm ∗ R + Kt ∗ Ke
Jm ∗ L
Jm ∗ R + Dm ∗ L
s
2
Dm ∗ R + Kt ∗ Ke s + Dm ∗ R + Kt ∗ Ke s + 1
Tras obtener el valor de los parámetros ensayando el motor se comprueba que de
las constantes de tiempo existentes, una es despreciable frente a la otra. Por tanto, se
desprecia la autoinducción (L=0) y se modela el sistema como un primer orden y una
integración.
th
K 1
=
u Ts + 1 s
Para la segunda parte del sistema, entre el eje del motor y el plano donde se apoya
la bola, se ha modelado un sistema mecánico genérico, después de unos engranajes de
69
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
reducción 5:1. En dicho sistema se han incluido una inercia (Jb), una fricción viscosa
(Db) y una constante elástica (Kb).
−Tb = Jb
dwb
thr
+ Db ∗ wb + Kb (thb −
)
dt
5
Tb es el par entre plano y bola, lo que nos lleva a la tercera parte del sistema, el
plano sobre el que se apoya la bola a controlar.
La ecuación de fuerzas y aceleraciones entre plano y bola.
Tb = L2
dwb
m + L ∗ cos(thb) ∗ g ∗ m
dt
Siendo m el peso de la bola, g aceleración de la gravedad y L la distancia de la
bola al centro del plano.
Ecuación de aceleración de la bola en el plano.
a = −g ∗ sen(thb) + wb2 ∗ L
En [41] expresado en forma de diagrama de bloques.
Figura 41 Sistemas mecánico y de posición
70
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
7.2. Simplificaciones
En el modelo resultante está justificado despreciar ciertas partes usando
simplificaciones habituales y otras particularizadas para los valores de este sistema en
concreto.
Simplificaciones comunes para cuando se trabaja con ángulos pequeños (θ<10º):
cos(θ) ≈ 1
sen(θ) ≈ θ
El Angulo θ debe estar en radianes para poder aplicar la segunda simplificación.
El punto de donde sale la aceleración de la bola es el resultado de una suma de
dos términos. A continuación se comprueba si el termino no lineal ((velocidad angular)2
* posición) es despreciable frente al termino lineal (ángulo * gravedad, tras aplicarle la
simplificación del seno).
Los motores de 9V usados tienen una velocidad máxima de 164rpm. En este
sistema los motores están alimentados con una batería NiHM
de 7.2V de valor
nominal, que llega a cargarse hasta 8.2V. El cargador ha permanecido conectado
durante todos los ensayos por lo que se puede asumir que el voltaje era constante a
8.2V. Por tanto, la velocidad máxima de los motores seria de 148rpm.
Pasando las rpm a rad/s y aplicando la reducción de 5:1 debida a los engranajes, la
velocidad máxima sin carga es:
vel max = 148rpm
1 1 min 2π
= 3.07 rad/s
5 60s 1 rev
Con el análisis de la velocidad máxima sin carga el resultado obtenido no es
despreciable, por lo que tendremos que analizar el comportamiento del motor con la
carga del sistema.
Se ha ensayado la planta marcándole escalones de referencia al ángulo del plano.
De los datos del ensayo se ha seleccionado un escalón, durante el tiempo en el que el
mando saturaba al máximo, para analizar el comportamiento límite del sistema. En
dicho escalón el plano cambiaba su posición angular de -15º a 5º en 0.055s
71
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Como la tensión del motor es máxima, la aceleración es constante y máxima, por
tanto:
accel max =
5º − (−15º) 1 π rad
= 23 rad/s 2
(0.055s)2 5 180º
vel max = 23
rad
0.055s = 1.26rad/s
s2
Ahora repetiremos las cuentas anteriores, pero en vez de sacar los valores de un
ensayo en el que se aplica la tensión máxima, los sacaremos de ensayos reales en los
que se controla la posición de la bola sobre el plano.
Pasa de 26º a 6º en 0.2s por tanto:
accel max =
26º − 6º 1 π rad
= 1.74 rad/s2
(0.2s)2 5 180º
vel max = 1.74
rad
0.2s = 0.348rad/s
s2
En el funcionamiento normal de la plataforma las variaciones de ángulo de la misma no
exceden los 10º (0.175 rad), y las coordenadas de la posición en pantalla no superan los
15cm (0.15m).
Valores máximos del motor sin carga:
(vel max)2 ∗ Lmax = 3.072 ∗ 0.15 = 1.41
Valores máximos en el sistema:
(vel max)2 ∗ Lmax = 1.262 ∗ 0.15 = 0.24
Valores máximos en funcionamiento normal del sistema:
(vel max)2 ∗ Lmax = 0.3482 ∗ 0.15 = 0.018
El ángulo multiplicado por la gravedad oscila entre 0 y:
10º π rad
∗ 9.8 = 0.85
2 180º
72
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Las unidades de la formula anterior no son congruentes, pues se está usando la
simplificación de que el seno del ángulo en ángulos pequeños es el propio ángulo.
Simplemente se ponen las unidades para hacer ver que el ángulo debe estar expresado
en radianes.
Comparando los resultados se tiene que la velocidad máxima del motor en vacío
no sería despreciable frente al otro término de la suma (siendo 1.41/0.85=1.66 veces
mayor), por lo que en términos generales no sería despreciable. Sin embargo, al analizar
el comportamiento del motor en el sistema, se tiene que la velocidad máxima que puede
dar hace que el término tenga poca importancia (siendo 0.85/0.24=3.54 veces menor).
Esta importancia se vuelve completamente despreciable cuando analizamos no solo el
motor en el sistema, sino con valores de funcionamiento normal en vez de máximos
(siendo 0.018/0.85=47 veces menor). En consecuencia está justificada la aplicación de
la siguiente simplificación:
dθ 2
( ) L ≪ θ ∗ g → eliminar esa rama del diagrama
dt
El punto de donde sale el par aplicado al eje, viene de la multiplicación de la masa
por una suma de dos términos. Igual que se ha hecho en el caso anterior, se comprobará
si el termino no lineal (aceleración angular * (posición)2) es despreciable frente al
termino lineal (posición * gravedad, tras aplicarle la simplificación del coseno).
Partiendo de los valores de aceleración obtenido como parte del proceso para el
cálculo de los valores de velocidades se tiene:
Valores máximos en el sistema:
accel ∗ (Lmax)2 = 23 ∗ 0.152 = 0.520
Valores máximos en funcionamiento normal del sistema:
accel ∗ (Lmax)2 = 1.74 ∗ 0.152 = 0.039
La posición multiplicada por la gravedad oscila entre 0 y:
0.15 ∗ 9.8 = 1.47
Comparando los resultados se comprueba que el término que incluye a la
aceleración angular es menor para el funcionamiento máximo del sistema (siendo
73
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
1.47/0.52=2.8 veces menor), y justificadamente despreciable en lo que respecta a los
valores normales de funcionamiento (siendo 1.47/0.039=37.7 veces menor). Por tanto
para este sistema es de aplicación la siguiente simplificación:
dθ2 2
( 2 ) L ≪ L ∗ g → eliminar esa rama del diagrama
d t
A continuación se reescriben las ecuaciones simplificadas.
Tb = L ∗ g ∗ m
a = −g ∗ thb
Cuyo diagrama de bloques correspondiente es [42].
Figura 42 Diagrama de bloques de los sistemas mecánico y de posición simplificados
Como se puede observar, el modelo de la segunda y tercera parte consta de un
sistema de segundo orden seguido de un sistema con una doble integración y una
perturbación lineal en el sistema de segundo orden.
De las cuatro simplificaciones usadas, las dos primeras eran de justificada
aplicación por ser un sistema con variaciones de ángulo pequeñas. Sin embargo las dos
últimas, no son simplificaciones comunes aplicables en general, se hicieron a priori,
pero siempre estando condicionadas a su comprobación con los resultados reales
obtenidos. Con los resultados obtenidos del funcionamiento normal, se comprobó que
efectivamente eran simplificaciones aplicables al sistema, como se ha demostrado.
74
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
7.3. Obtención de parámetros
Una vez modelado el sistema, sabiendo lo que se busca, es el momento de obtener
los valores numéricos de los parámetros.
Como ya se comentó en la sección 1 de este capítulo, el motor se ensayó y se
obtuvieron sus parámetros, con ello se justificaba su simplificación. Sin embargo, se
volverá a ensayar con el resto del conjunto, para que así, las posibles perturbaciones de
un sistema sobre otro queden ya incluidas en el modelado, y las plantas obtenidas
representen la realidad de la manera más fiel posible.
Una señal PRBS (PseudoRandom Binary Sequence) es un tipo de señal
aparentemente aleatoria que barre el espectro de frecuencia, con lo que al aplicarla
como señal de entrada a un sistema, registrando la salida, se puede obtener de manera
empírica la respuesta en frecuencia del mismo.
Se ha ensayado la planta, sin bola, aplicando una señal PRBS a la tensión de los
motores.
Al no haber bola la variable m se hace 0, el modelado de la perturbación
desaparece del sistema, y por tanto queda solo la parte correspondiente al motor y al
sistema mecánico de transmisión de giro.
Para la identificación de los sistemas se han registrado las medidas de tensión de
motor, encoder del motor, acelerómetro y giroscopios.
Con estos datos y usando la toolbox de matlab “System Identification”, se han
estimado los parámetros de los sistemas de primer orden más integrador y de segundo
orden [43].
Figura 43 Sistemas genéricos: primer orden + integrador + segundo orden
75
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
En el sistema del motor no es interesante la correspondencia entre los parámetros
obtenidos y sus magnitudes físicas homólogas usados en el modelado, pues solo interesa
la salida para una respuesta dada. Por el contrario, en el sistema mecánico si interesa la
correspondencia entre los valores de los parámetros obtenidos y los de modelado. De
esa forma, se conocerá con mayor exactitud la posición de las ganancias. Por tanto,
cuando el sistema esté funcionando con la bola encima, en caso de querer tener en
cuenta la perturbación ocasionada por el peso de la misma, se podrá modelar
adecuadamente teniendo en cuenta las unidades.
Por tanto, los diagramas mostrados en [44] son equivalentes:
Figura 44 Equivalencia entre sistema genérico y sistema modelado
En forma de ecuaciones
1
K2
K2
5
=
=
(T1s + 1) ∗ (T2s + 1) T1T2s2 + (T1 + T2)s + 1 Jb 2 Db
s +
s+1
kb
Kb
Dividiendo la ecuación anterior en 3.
K2 = 1/5
T1T2 =
Jb
Kb
T1 + T2 =
76
Db
Kb
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
En las anteriores tres ecuaciones hay 2 valores extraídos del ensayo, y 3
incógnitas, con lo que el sistema no se puede resolver a menos que se haga algún otro
ensayo.
Para resolver ese exceso de incógnitas, se eligió hacer un ensayo en estático
poniendo un peso en la plataforma y usando la diferencia de ángulos medidos en el eje
de la plataforma con y sin el peso:
Kb (∆thb
π
)=m∗g∗L
180
Los valores obtenidos tras los ensayos son los siguientes:
Ensayo PRBS
Eje X
K1 =
5.524
T =
K2 =
0.01858
0.1632
T1 =
T2 =
0.07043
0.07039
Eje Y
K =
1
T =
K =
2
T1 =
T2 =
7.527
0.02977
0.1677
0.03353
0.03353
Ensayo estático
Eje X
thb
=1
thb
=2
L=
5.4
0.5
0.120
Eje Y
thb1 = 3.8
thb2 = 0.75
L
= 0.085
La masa m de la bola es 0.11kg y se toma como aceleración de la gravedad
9.8m/s2
K2 debería valer 1/5=0.2 y sin embargo, según el ensayo su valor es 0.16. Un
20% de error debido a que el sistema real no responde de manera ideal. El juego de los
engranajes, las dinámicas y al resolución de los sensores, son la causa principal de dicha
discrepancia.
Los valores de los parámetros de modelado del sistema mecánico son, por tanto:
Eje X
Kb = 1.513
Db = 0.2130
Jb = 0.007499
Eje Y
Kb = 1.721
Db = 0.1154
Jb = 0.001935
77
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Todos los parámetros están expresados en unidades del sistema internacional
Ecuación del motor:
thrx (grados)
5.5239
=
Ux (v)
0.018583s + 1
thry (grados)
7.5270
=
Uy (v)
0.029769s + 1
Ecuación del sistema mecánico:
thbx (grados)
0.16317
=
thrx (grados) 0.0049577s 2 + 0.14082s + 1
thby (grados)
0.16317
=
thry (grados) 0.0011241s2 + 0.067055s + 1
Ecuación de posición de la bola:
Ly (m)
Lx (m)
π g
=
=−
thbx (grados) thby (grados)
180 s2
78
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
8. Funcionamiento
En este capítulo se explicará el funcionamiento del sistema desde el encendido
hasta la estabilización de la bola. Hay una primera parte de puesta en marcha en la que
se calibran sensores, y una segunda parte donde actúa el propio control.
8.1. Puesta en marcha
La tarea fundamental durante la puesta en marcha es situar el plano en posición
completamente horizontal y hacer que las medidas angulares tomen esa posición como
referencia 0.
Una de las partes más importantes del funcionamiento es la máquina de estados,
aunque es muy simple, es la que permite un correcto control de los pasos de
inicialización y entrada en funcionamiento del control.
La máquina de estados [45] consta de 6 estados. Sin embargo, en la figura se
puede apreciar que la variable “Estado” va avanzando de 1 a 5, y en el estado 5 de la
máquina de estados, la variable estado no se ve alterada. La razón de esto es que el
sistema solo necesita 5 estados para funcionar. El resto del programa no lee en qué
estado está la máquina de estados propiamente dicha, sino que solo recibe las variables
de salida de la misma, por tanto como solo necesita 5 estados para funcionar, la variable
estado solo llega hasta el 5 y no hasta el 6 como cabría esperar. En lo que sigue y para
evitar confusiones, se numerara cada estado por el valor que le asigna a la variable de
mismo nombre, y al restante se le citara como “estado auxiliar”.
79
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 45 Máquina de estados
Los estados 1 y 2 tienen como función poner la plataforma en horizontal. Arranca
en el estado 1, y avanza al estado 2 cuando error es menor que 3, en caso de que el error
sea mayor que 3 vuelve al estado 1. Si permanece en 2 (con un error inferior a 3)
durante cinco segundos, avanza al estado 3. La variable error es el valor absoluto del
mando de tensión enviado a los motores. Dicho valor de mando puede tomar valores
entre 0 y 100, por esto, se ha elegido poner como valor aceptable un mando menor que
3, pues es prácticamente 0, pero sin necesidad de esperar por un mando 0 ideal, que
sería prácticamente imposible de alcanzar.
El mando enviado a los motores es el resultado de aplicar un control integral muy
lento, que usa exclusivamente el acelerómetro para medir el ángulo del plano. La razón
de usar solo el acelerómetro es el hecho de que proporciona medidas angulares
absolutas. La necesidad de que el control sea muy lento es también el hecho de que se
esté usando solo el acelerómetro, pues este sensor funciona bien a bajas frecuencias y a
altas necesita ser complementado por otros sensores como pueden ser los giroscopios.
La obtención de medidas angulares a partir de los datos proporcionados por el
acelerómetro está debidamente explicada en la sección 6.2.2 (Capítulo de
80
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Construcción). Para quitarle el offset al acelerómetro se ha colocado la plataforma en
horizontal valiéndose de un nivel de burbuja y se ha medido el valor que proporcionaba
el sensor, para así, durante el funcionamiento normal, restarle ese valor a la medida.
Los giroscopios son sensores muy dependientes de la temperatura, por ello no es
posible quitarle el offset a su medida de una forma tan cómoda como al acelerómetro,
pues entre un ensayo y otro variaría. Lo que hay que hacer es calcular el offset al
principio de cada prueba, y eso es justo lo que se hace en el transcurso del segundo que
dura el estado 3. En el diagrama [46] se muestra cómo se puede hacer esto.
Figura 46 Offset giroscopio
Hasta el estado 3, el cálculo delo offset está recibiendo un 0 como entrada y es
durante el estado 3 cuando recibe la medida real. Durante este estado, se calcula la
media multiplicando la medida por una constante, y sumándoselo a la medida
acumulada multiplicada por otra constante. Ambos constantes deben sumar 1 para que
la ganancia sea unitaria, y el valor obtenido sea el valor medio de las medidas durante
ese tiempo. Una vez terminado el tiempo de ese estado, la salida del bloque de cálculo
del offset será siempre el último valor que tuvo la media durante ese tiempo.
La determinación de la constante fog se hace de tal forma que situé el polo en
discreto en 8 periodos de muestreo.
Ya se ha comentado como poner a 0 el acelerómetro y el giroscopio, el único
sensor angular restante es el encoder del motor. Para ello, hasta el estado 3, mientras la
plataforma se movía, su señal de reseteo estaba activada, y es a partir del estado 3,
estando en horizontal, cuando deja de resetearse y queda establecido el 0.
Durante el estado 4 se espera a la detección de la bola sobre la plataforma. La
condición de posición menor que 480, es porque a la máquina de estados se le pasa la
medida de posición tal cual, sin ganancia ni filtrado, y mientras la bola no está en
contacto, el Arduino envía un valor cercano a 500.
81
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Una vez detectada la bola, se pasa al estado auxiliar, y se espera en él 100
milisegundos antes de pasar al estado 5, en el que se activa el control de la bola. Esa
pequeña espera es para evitar que el control entre en funcionamiento inmediatamente
cuando aún no se ha soltado la bola.
8.2. Generación de la referencia
Durante el funcionamiento del control se le manda una referencia de posición,
dicha referencia puede ser un punto o una trayectoria. El cambio de referencia se hace
de manera manual, con el programa en curso, según los bloques mostrados en [47].
Figura 47 Generación de referencia
Como se puede ver en [47], inicialmente se manda una referencia puntual (-0.068,
0.048) y valiéndose del switch manual al que le llegan las constantes 0 y 1, se activa el
bloque de generación de referencia para la trayectoria del rectángulo, y se da la
condición de cambio de los switch para que pasen de enviar como referencia el valor
puntual y envíen la referencia del rectángulo.
En el bloque de generación de referencia del rectángulo simplemente hay dos
bloques –uno por coordenada– a los que se le suministra un vector de posiciones y un
vector de tiempo para esas posiciones.
82
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Para la generación de esos vectores se usa el siguiente código
%generacion de referencia temporal
v=0:57;
vectortiempo=v*ts*40;
%generacion de referencia para X
v=[-6:6,(0:15)*0+6,(-6:6)*-1,(0:15)*0-6];
vecorposicionX=(v*0.06+0.08)/6;
%generacion de referencia para Y
v=[(0:17)*0+5,(-5:5)*-1,(0:17)*0-5,-5:5];
vecorposicionY=(v*0.048-0.0015)/5;
Se generan vectores de 58 posiciones. La duración de cada punto de referencia es
0.4 segundos. Se invierte 6.4 segundos en la referencia del lado mayor y 4.4 en el lado
menor; además entre lado y lado se dejan 0.8 segundos para asegurarse de que llega a la
esquina y evitar hacer cuadriláteros con vértices redondeados.
En [48] se muestran las referencias para X e Y frente al tiempo y en [49] se
muestra una coordenada respecto a la otra.
Figura 48 Referencias X e Y respecto al tiempo
Figura 49 Referencia X respecto a Y
8.3. Control
Esta parte del capítulo de funcionamiento es el núcleo del capítulo, el sistema de
control para la estabilización de la bola en la plataforma. En primer lugar se explicará
el porqué del sistema de control elegido y después se pasará a explicar el
funcionamiento del mismo.
83
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
8.3.1. Elección del sistema de control
Los sistemas de control valorados para su implementación han sido el control por
realimentación de estado y el control PID en cascada. El control de lógica difusa se ha
descartado por su complejidad de diseño.
El control por realimentación de estado es, en líneas generales, mejor que el
control PID. El problema del control por realimentación de estado, es que es menos
robusto, depende mucho más del correcto modelado de la planta, y de la buena
estimación y/o medida de las variables de estado.
El control PID por su parte es más simple y robusto, razón por la cual está muy
extendido en la industria. Ante pequeñas variaciones en la planta o medidas no tan
buenas de las variables, su respuesta se ve empeorada sustancialmente menos que en un
control por realimentación de estado. Además, supuesto el caso de que se detecte por
medio de ensayos que la respuesta no se corresponde con la simulación como debería, y
que por tanto la planta no se corresponde con el modelo ideal, los parámetros del control
PID son mucho más intuitivos de corregir y adaptar que las ganancias del control por
realimentación de estado. En el PID se modifican parámetros de las acciones
proporcional, integral y derivativa, por tanto, después de un primer modelado, se puede
adaptar el control, justificando en base a la teoría, que acción debe potenciarse frente a
las otras para mejorar la respuesta. Al contrario, con realimentación de estado lo que se
fijan son unas serie de ganancias con las que se sitúan los polos, de manera que en caso
de un modelo matemático que se aleje de la realidad, cambiar las ganancias en base a
ensayos se parecerá más a jugar a la lotería que a teoría de control.
Como se ha visto en la sección 7.3 (Capítulo de modelado), la planta de la
estructura mecánica se ha obtenido a partir de ensayos. En los resultados se apreciaba
que había ciertas discrepancias entre modelado y realidad, por tanto se ha decidido que
el modelado de la planta no es tan perfecto como requiere un control por realimentación
de estado, así que es más adecuado usar un control PID.
Analizando la configuración de la planta modelada, ésta es la concatenación de un
sistema de primer orden con un integrador seguido de un sistema de segundo orden y
84
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
una doble integración al final. Las medidas disponibles están después de la primera
integración, del sistema de segundo orden y de la doble integración. En base a ello, la
configuración de control PID más adecuada es un control cascada en tres pasos como el
mostrado en [50]. Cada uno de los sistemas a controlar se toma entre los puntos de
medias disponibles. El sistema más típico a controlar con un PID es un sistema de
segundo orden, en este caso, una de las partes del sistema lo es, y las otras dos, aunque
teniendo integradores en vez de polos, también son de segundo orden, por tanto la
configuración elegida es la correcta.
Figura 50 Control en cascada
8.3.2. Control PID en cascada
Para el diseño de los controles PID se ha usado el modelo analógico modificado,
que consiste en añadirle a la planta un retardo de medio periodo de muestreo (e-0.5ts).
Este retardo viene motivado porque el control se va a ejecutar no en continuo sino en
discreto, y con él la respuesta se aproxima más a la realidad. Además, los controles se
han diseñado por su respuesta en frecuencia, debe tenerse en cuenta que para controlar
una planta que es una doble integración solo se puede diseñar el control por respuesta en
frecuencia y no por respuesta temporal.
85
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
El periodo de muestreo usado en el control es ts=0.01s. Inicialmente no se fijó un
periodo de muestreo menor, para que coincidiera con la velocidad a la que se leen las
coordenadas de posición de la bola en la pantalla. Posteriormente, según se fue
implementando la puesta en marcha, los filtros, y los controles se comprobó que ese
tiempo de muestreo, aun independientemente de la velocidad de lectura de coordenadas,
no podría ser mucho menor debido a la carga de cálculo que le supone al micro.
Cuando hay filtros de medida, como en este caso, estos se incluyen en la
realimentación de la sálica al control. Es una estrategia típica en el diseño de controles
no tener en cuenta los filtros inicialmente, y si no se es capaz de conseguir una buena
respuesta, incluirlos en el sistema. Con esto se consigue mantener un modelo más
simple y por tanto un control más sencillo que supone menos procesado para el micro.
En el caso de estudio, los controles se han diseñado para las plantas realimentadas sin
tener en cuenta los filtros. Analizando la respuesta de los mismos, los retrasos eran muy
pequeños, así que las simplificaciones están justificadas, y además, esto se corrobora
cuando el sistema es controlado de manera satisfactoria.
8.3.2.1.
Lazo 1: PD Motor
El motor es un sistema de primer orden más una integración. Con un Control P
sería suficiente para controlarlo, sin embargo se ha elegido un control PD para que sea
lo más rápido posible.
Cada uno de los sistemas de la planta tiene que ser más lento que el anterior.
Como el motor es el primer sistema tiene que ser el más rápido de todos, de ahí deriva
la preferencia del control PD frente al P. El poner un control P en vez de un PD no
supondría problemas al controlar el ángulo del eje ni el ángulo de la plataforma,
simplemente se vería que la respuesta es más lenta; sin embargo, a la hora de controlar
la posición de la bola sobre el plano, la velocidad de respuesta es más crítica para
posibilitar la estabilización del sistema, y podría no ser suficiente.
El control se diseñó para un margen de fase de 65º, una omega de 1,6 veces las
omega que tendría un control P y un filtrado en la acción diferencial de 0.1
86
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Se ensayó la planta poniendo escalones de 30º (-15º a +15º) como referencia para
el ángulo del eje del motor. En función de los resultados obtenidos al ensayar se decidió
aumentar la acción diferencial. Tras varios ensayos probando diferentes controles,
aumentando la acción diferencial, se llegó a la conclusión de que los parámetros
óptimos (configuración en paralelo) son los que siguen:
K
Td
N
Eje X
= 11.2
= 0.0250
= 8.99
K
Td
N
Eje Y
= 10.9
= 0.0253
= 8.99
𝐶 = 𝐾 (1 +
𝑇𝑑 ∗ 𝑠
)
𝑇𝑑 ∗ 𝑠
1+ 𝑁
Usando los parámetros anteriores se puede observar en los diagramas de Black de
[51] que el control ha hecho la planta mucho más rápida y con gran estabilidad.
Figura 51 Sistema motor: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a escalón en referencia (abajo)
de los ejes X (izq) e Y (der)
87
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
En [52] se muestran los resultados de dicho control, ante el mismo ensayo de
escalones de referencia y en funcionamiento real (con todos los sistemas funcionando)
haciendo que la bola describiera una trayectoria rectangular.
Figura 52 Sistema motor: Respuesta a escalón (arriba) y respuesta en funcionamiento en conjunto con seguimiento a
referencia rectangular (abajo) para ejes X (izq) e Y (der)
Es importante ver que en la respuesta al escalón de [52] está muy ampliada en
escala temporal. En un principio parece que hay mucho tiempo entre el cambio en la
referencia y la respuesta. Analizándolo detalladamente, sabiendo que el periodo de
muestreo es 10ms, se comprueba que desde que la referencia cambia de valor hasta que
la medida angular le sigue solo hay dos periodos de muestreo, el primero es el que tarda
en actualizarse la referencia y el segundo el que tarda el control en usar la nueva
referencia.
Al analizar la respuesta a escalón en el funcionamiento real y en la simulación
puede distinguir un pequeño error de modelado, el sistema real tiene algo de sobrepaso
mientras que según simulación no hay sobrepaso.
88
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
8.3.2.2.
Lazo 2: PI Sistema mecánico
Una estrategia típica en un control en cascada es suponer, para la primera
aproximación, que el control aplicado y la planta son ideales, de tal forma que la
referencia aplicada y la respuesta obtenida son iguales. Con este método se simplifica el
diseño del siguiente control a la vez que se usa una planta menos cercana a la realidad.
En caso de que el sistema no funcione bien usando la simplificación se pasa a diseñar
usando la planta real, multiplicando la planta del sistema del lazo anterior, con su
control realimentado, por la planta del sistema del lazo actual.
𝑃𝑠𝑖𝑚𝑝𝑙𝑖𝑓𝑖𝑐𝑎𝑑𝑎 𝑝𝑎𝑟𝑎 𝑑𝑖𝑠𝑒ñ𝑜 𝑐𝑜𝑛𝑡𝑟𝑜𝑙 𝑛 = 𝑃𝑛
𝑃𝑟𝑒𝑎𝑙 𝑝𝑎𝑟𝑎 𝑑𝑖𝑠𝑒ñ𝑜 𝑐𝑜𝑛𝑡𝑟𝑜𝑙 𝑛 =
𝐶𝑛−1 ∗ 𝑃𝑛−1
∗𝑃
1 + 𝐶𝑛−1 ∗ 𝑃𝑛−1 𝑛
El control para el sistema mecánico ha sido el más conflictivo. Inicialmente se
probó a diseñar sobre la planta simplificada, y se comparó con el diseño sobre la planta
real. En la fase de simulación se comprobó que entre usar la planta simplificada y la
real, había poca diferencia, pues la planta del lazo anterior era buena y el control rápido.
Sin embargo, al pasar a la fase de ensayo real, se vio que el modelado de este sistema
tenía errores de cierto calibre, por ello se decidió, para minimizar el error de modelado,
no usar la planta simplificada. De esta forma toda discrepancia entre modelo y realidad
se limitaría a los errores provenientes del modelo del sistema mecánico y no a
simplificaciones realizadas sobre el modelo anterior.
Para el tipo de control a usar se propusieron un control P o un PD, pero el error en
régimen permanente de ambos controles era intolerablemente alto. No solo había error
en régimen permanente sino que dicho error era asimétrico, no comportándose de la
misma manera ante escalones positivos y negativos. Para solucionarlo se optó por
cambiar a un control integral. La integración del control, a pesar de que no era muy
rápida, y en funcionamiento real presumiblemente se cambiaría la referencia antes de
alcanzarla, sí que es cierto que tenía una respuesta mucho mejor. Con el cambio al
integral se consiguió que en un tiempo parecido al de los otros controles la respuesta se
89
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
acercara sustancialmente más a la referencia, y salvando pequeñas diferencias, la
respuesta en ambos sentidos era similar, ya no existía una asimetría tan marcada.
Con el mismo proceso de ajuste por ensayo usado en el lazo anterior (escalones de
referencia al ángulo de la plataforma y sin incluir la bola), se optimizó el control para
máxima velocidad, llevando el sistema al límite de la oscilación. Tras ese diseño se pasó
al lazo siguiente y se vio que era demasiado lento para alcanzar la estabilidad. Lo que
estaba pasando es lo que ya se explicó en la justificación de la elección del PD frente al
P para el primar lazo, el ultimo lazo dependía de este, y por tanto, el problema de
velocidad era irresoluble en el paso final. Para poder estabilizar el sistema era necesario
aumentar la velocidad de este lazo, y eso era un problema porque el control ya se había
optimizado al límite de la estabilidad.
Que el control estaba ajustado al límite no es del todo cierto, y es gracias a ello
que el sistema resultó ser estabilizable. El control se ajustó al límite de la oscilación
para el funcionamiento sin la bola, al ponérsela encima afecta como una perturbación, y
por tanto cambia su funcionamiento. Al introducir la bola en el sistema aumenta su
peso, con ello su inercia, y en consecuencia se amortiguan las oscilaciones. Por tanto, se
pudo aumentar la velocidad del control del lazo por encima del límite que se había
alcanzado antes, de manera que se obtuvo un control que resultaba estable en el
funcionamiento con la bola, pero que en los ensayos realizados de manera
independiente era oscilante.
La configuración del control y el valor de los parámetros del control funcional son
los siguientes.
Eje X
K = 2.30
Ti = 0.06
K
Ti
Eje Y
= 2.35
= 0.06
𝐶 = 𝐾 (1 +
1
)
𝑇𝑖 ∗ 𝑠
El parámetro Ti correspondiente a la acción integral tiene un valor relativamente
bajo, de esa forma que tiene gran influencia en el control, aportándole velocidad de
respuesta. Hablar de parámetros de diseño en base a márgenes de estabilidad no tiene
sentido porque justamente se ha desestabilizado el sistema y se ha diseñado en base a su
respuesta real en ensayos.
90
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Igual que en el lazo anterior, en [53] se muestran los diagramas de Black de las
plantas y las funciones de lazo abierto, así como su respuesta ante un escalón unitario en
al referencia.
Figura 53 Sistema mecánico: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a escalón en referencia
(abajo) de los ejes X (izq) e Y (der)
Los errores de modelado de este sistema resultaron notables. Diseñar el control
para la planta obtenida a partir del ensayo PRBS y el ensayo estático proporcionó un
buen control de partida, pero alcanzar un control funcional requirió una labor de ensayo
y análisis de respuesta bastante importante. Por ello los resultados mostrados en las
gráficas de [53] no aportan nada más que una verificación de los evidentes problemas de
modelado. En ellas se puede ver como el sistema es estable, sin embargo, se comprobó
que no lo es a menos que se introduzca la bola en el sistema.
Las gráficas mostradas en [54] corresponden a un funcionamiento en seguimiento
a referencia donde la bola describía rectángulos. La inestabilidad del sistema sin la bola
es la razón de que no se muestren graficas de ensayos de respuesta a escalón de
referencia.
91
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 54 Sistema mecánico: Respuesta en funcionamiento en conjunto con seguimiento a referencia rectangular para
ejes X (izq) e Y (der)
En la ilustración se observa que el control es capaz de seguir la referencia pero no
con mucha rapidez. Es importante que la respuesta sea veloz, y se consiguió que lo
fuera suficientemente, pero el tiempo de establecimiento en sí, como ya se anticipó, no
es crucial, pues la referencia cambia antes de ser alcanzada. El ajuste final es realizado
por el ultimo lazo de control, que es el que le manda la referencia a este, por tanto para
este sistema es más importante aproximarse rápido a la referencia que establecerse en
ella.
8.3.2.3.
Lazo 3: PID Posición
A raíz de lo comprobado en el diseño anterior, también para este se ha descartado
la opción de diseñar el control partiendo de la simplificación de que los lazos anteriores
son ideales. Se ha tenido en cuenta que la planta a diseñar es la combinación de la planta
de este sistema multiplicada por la planta del lazo anterior con su respectivo control.
Respecto al tipo de control escogido, se eligió que tuviera acción diferencial con
el fin de aumentar la velocidad lo máximo posible, siguiendo en la línea de lo que se ha
tratado de hacer con los otros dos. Dado que la planta tiene acción integral propia, en
principio se planteó que con ella se alcanzaría la referencia en régimen permanente sin
necesidad de incluir integración en el control. Sin embargo, dicha integración no
lograba alcanzar el régimen permanente, esto podría deberse por ejemplo, a que en la
planta, antes de la integración, hubiera alguna perturbación no tenida en cuenta, que
92
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
impedía que funcionara. Para solucionarlo se decidió añadir acción integral al control,
por tanto, el control aplicado al último lazo fue un PID.
El control se ha diseñado para un margen de fase de 34º, una frecuencia del doble
de la que tendría con un control proporcional, un retraso de fase para la parte integral de
dos grados, y un filtrado a la derivada de 0.1. Los valores de los parámetros y la
configuración del control es la que sigue.
K
Ti
Td
N
Eje X
= 9.9
= 15.2
= 1.30
= 8.99
Eje Y
K
= 10.3
Ti = 14.5
Td = 1.33
N
= 8.99
𝐶 = 𝐾 (1 +
1
𝑇𝑑 ∗ 𝑠
+
)
𝑇𝑖 ∗ 𝑠 1 + 𝑇𝑑 ∗ 𝑠
𝑁
La integración incluida en el control es lenta ya que el retraso de fase es pequeño,
tan solo 2º, en comparación con valores típicos de 5º o 10º. Dicha lentitud de la
integración se puede ver en [55] con las gráficas de respuesta a escalón en referencia. La
frecuencia y el margen de fase son alto y bajo respectivamente, lo que le da velocidad al
control a costa de excesiva sensibilidad. Con ello el control tiene velocidad suficiente
para alcanzar la estabilidad, pero se vuelve susceptible a las perturbaciones y si estas no
son pequeñas se desestabilizará con facilidad.
En las gráficas de Black de [55] se aprecia que con los parámetros ajustados en
ensayo, el margen de fase es todavía menor, aunque no por mucho, que el margen de
fase del diseño inicial. Por ello, el sistema es funcional, pero tienen riesgo de volverse
inestable ante fuertes perturbaciones.
93
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Figura 55 Sistema de posición: Diagramas de Black de planta y lazo abierto (arriba) y respuestas a escalón en referencia
(abajo) de los ejes X (izq) e Y (der)
Estudiando los resultados obtenidos durante el funcionamiento del sistema
completo, se comprobó que éste responde sin problemas ante perturbaciones sobre la
bola, sin embargo, donde se vuelve inestable con más facilidad es ante las
perturbaciones sobre la propia plataforma. Se ajustó el control para que pudiera manejar
la bola a lo largo de la plataforma, de tal forma que si se le da un punto de referencia y
una vez situada en él, se perturba la bola lanzándola al otro extremo, es capaz de
devolverla a su sitio sin desestabilizarse ante dicha perturbación. Sin embargo,
precisamente porque se optimizó para el manejo de la bola, y para ello se requieren
ángulos muy pequeños, si se golpea verticalmente el plano, una perturbación que
visualmente puede parecer pequeña, resultará ser un valor angular de magnitud varias
veces el máximo usado durante el funcionamiento normal, e inevitablemente el sistema
se volverá inestable.
En [56] se muestran las respuestas de los ejes X e Y. El sistema de posición X es
el sistema cuyo motor gira el eje X, por tanto la coordenada que se está representando
94
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
en ese sistema es la coordenada Y. En las imágenes que representan posición frente a
tiempo, en sistema X se representa la posición Y y el sistema Y representa la posición
X. En la representación en ejes X e Y de [57] si se corresponden ejes con coordenadas.
Figura 56 Sistema posición: Respuesta en funcionamiento con seguimiento a referencia rectangular para ejes X (izq) e Y
(der)
Figura 57 Respuesta del sistema al describir un rectángulo
Uno de los mayores problemas es, como ya se ha explicado en la sección 6.2.3
(Capítulo de construcción), el hecho de que la pantalla no es completamente plana sino
que entre las dos capas del panel resistivo hay unos separadores, y en la superficie se
aprecia una matriz de puntos. Dicha matriz de puntos sobresalientes hace físicamente
imposible el describir una línea recta al cruzarse con ellos, la apariencia algo errática del
control es resultado de intentar corregir esas perturbaciones que van sucediéndose, por
lo que el funcionamiento es el correcto.
95
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
96
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
9. Conclusiones y futuros
desarrollos
Lo primero y más importante a resaltar es que los objetivos propuestos se han
cumplido de manera satisfactoria. La plataforma construida con LEGO es
mecánicamente funcional y se ha demostrado consiguiendo estabilizar la bola mediante
el control propuesto.
Respecto al montaje de la estructura, se han experimentado numerosos problemas
derivados de la flexibilidad de las piezas de LEGO. El principal problema ha surgido
por la necesidad de usar ejes largos, las piezas no tenían tal tamaño, así que a su propia
torsión se añadía la holgura de las uniones. En este proyecto se ha puesto gran esfuerzo
en paliar estos problemas con refuerzos en la estructura. A pesar de que si se ha
conseguido una rigidez suficiente para el correcto funcionamiento, sería muy positivo
fabricar unas piezas similares a los ejes de LEGO pero de un material más rígido, por
ejemplo de acero. Las piezas de metal fabricadas en taller no tendrían las mismas
tolerancias que las piezas de LEGO, sin embargo, a menos que esas desviaciones fueran
muy acusadas, seguirían aportando más beneficios que desventajas.
Otro de los problemas que se ha tenido que afrontar está relacionado con el panel
táctil resistivo. Por una parte es muy cómodo de manejar, con el circuito usado y el
código de Arduino, que hacen de interfaz para el controlador central. Por otra parte, el
hecho de que no sea completamente plana hace que las perturbaciones a la bola sean
constantes y aumenta la dificultad de diseño del control, que debe reducir su impacto al
mínimo posible. Como alternativa para futuras versiones se propone, o cambiar el panel
actual por otro de mejor calidad, o cambiar el sistema de posicionamiento a un sistema
de reconocimiento de imagen. La primera de las opciones, cambiarlo por otro panel
97
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
mejor, simplemente mejoraría la estructura en general, mientras que con las segunda
opción, se abriría una nueva línea de desarrollo en cuanto a los sistemas usados.
Uno de los temas más importantes a la hora de hacer un control es el modelado de
la planta que se desea controlar. La planta de este sistema consta de 3 partes, una de
ellas se ha modelado de manera teórica y para las otras dos se han sacado los parámetros
correspondientes a la parte teórica a través de ensayos. El modelo del motor extraído de
los ensayos tiene una gran correspondencia con su respuesta real, sin embargo, en el
modelado de sistema mecánico se aprecian diferencias más notables. En conclusión, se
tiene que controlar una planta formada por tres subsistemas de los que dos de ellos se
conocen bien, y un tercero del que se sabe que el modelo no es bueno. Esto aporta un
sistema muy realista a ser controlado por el alumno, por una parte tendrá la oportunidad
de aplicar control a dos sistemas y experimentar con ellos de manera parecida a la ideal,
y por otra tendrá que enfrentarse a la realidad, en la que muchas veces se tiene que
controlar sistemas de los que no se conocen todos los detalles.
La elección de un control PID es justamente por eso, porque es un tipo de control
válido para plantas que se conocen perfectamente pero también da muy buenos
resultados con plantas que no se conocen tan bien. Otro tipo de control más sofisticado,
como puede ser el control por realimentación de estados, hubiera fallado o hubiera
resultado extremadamente difícil conseguir que funcionase, pues son controles que solo
funcionan si el modelo es muy cercano a la realidad. Para desarrollo futuro se podría
aprovechar el potencial de la plataforma para el estudio de estrategias de control
distintas a la usada. Tanto el uso de controles de lógica borrosa como controles
repetitivos o predictivo-adaptativos podrían arrojar resultados muy positivos. Estos
controles son los más orientados a plantas de las que no se sabe mucho, por lo tanto
darían buenas respuestas en el subsistema conflictivo, y en los otros dos, funcionarían
también sin problemas. La sugerencia de estos tres controles, es debida a que los
controles de lógica borrosa son adecuados para el control de plantas no lineales; los
controles repetitivos funcionan muy bien para señales periódicas, como podría ser el
trazado de trayectorias en la pantalla; y los controles predictivo-adaptativos dan muy
buenos resultados al ajustarse a cambios en la planta derivados de la diferencia entre
modelado y realidad.
98
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
10. Bibliografía
[KNUP00] Modeling and Control design for the ball and plate system.
Andrej Knuplei, Amor Chowdhury, Rajko SveEko. University of Maribor,
Faculty of Electrical Engineering and Computer Science. Smetanova 17, SI-2000
Maribor, Slovenia
[AWTA02] Mechatronic design of a ball on plate balancing system.
Shorya Awtar, C. Bernard, N. Boklund, A. Master, D. Ueda, Kevin Craig.
Department
of
Mechanical
Engineering,
Aeronautical
Engineering
and
Mechanics, Rensselaer Polytechnic Institute, Troy, NY 12180, USA.
[WANG07] Tracking Control of Ball and Plate System with a Double Feedback Loop
Structure.
Hongrui Wang, Yantao Tian#, Zhen Sui, Xuefei Zhang and Ce Ding. Institute of
Automation,
College
of
Communication
Engineering,
Jilin
University.
Changchun, 130025, JiLin Province, China.
[MOAR08] Mechatronic Design and Position Control of a Novel Ball and Plate System.
Miad Moarref, Mohsen Saadat, and Gholamreza Vossoughi, Member, IEEE
[NOKH11] Modelling and Control of Ball-Plate System.
Mohammad Nokhbeh and Daniel Khashabi, under the supervision of
Dr.H.A.Talebi. Amirkabir University of Technology, 2011.
[GALV13] Control Dual PD con compensador no-lineal para el sistema mesa esfera.
99
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Tesis de M. en C. Sergio Galván Colmenares. Dr. Marco Antonio Moreno
Armendáriz y Dr. Floriberto Ortiz Rodríguez como directores de tesis. Instituto
Politécnico Nacional, Centro de Investigación en Computación, México D.F.
[ELIN14] Image Fuzzy Control on Magnetic Suspension Ball and Plate System.
Chin E. Lin, Meng-Che Liou, Chun-Mo Lee. Department of Aeronautics and
Astronautics, National Cheng Kung University. No.1, University Road, Tainan
701, Taiwan.
100
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
II.Anexo A:
Diagramas
Simulink
101
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
102
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
General
Referencia
103
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Rectángulo
104
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Sensores
105
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Calculo offset X
Filtro complementario
Resetear encoders
106
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Pantalla
Puesta en marcha
Integral discreta con regla trapezoidal retrasada
107
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Máquina de estados
108
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Control
“PID gp”, “PI eg” y “PD me” tienen la misma mascara. “PI eg” y “PD me” son iguales.
PID gp
109
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
PI egx y PD mex
s=tfs=tf('s');
z=tf('z',ts);
% Metodo de discretizacion
switch(tipo_disc)
case 1
% Derivada en retraso
a=(1-z^-1)/ts;
case 2
% Derivada en adelanto
a=(1-z^-1)/z^-1/ts;
case 3
% Regla trapezoidal
a=(1-z^-1)/(1+z^-1)*2/ts;
end
%
Accion
diferencial
en
tiempo
discreto
AD=Td*a/(Td/N*a+1);
% Accion integral en tiempo discreto
AI=1/a;
110
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Mando
Motores
111
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
112
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
III. Anexo B:
Código fuente
Matlab
113
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
114
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
clc;
clear;
%% tiempo de muestreo
ts=0.01;
s=tf('s');
%% PUESTA EN MARCHA
%ganancia eje X
kx_pm=2;
%ganancia eje Y
ky_pm=2;
%ganancia integral eje X
kix_pm=0.5;
%ganancia integral eje Y
kiy_pm=0.5;
%% CALIBRADO DE SENSORES
%offset del acelerometro en eje X
refx_pm=4.3;
%offset del acelerometro en eje Y
refy_pm=-2.6;
%filtro ofset giroscopio
fog=exp(-ts/(8*ts));
%Parametros filtro complementario
%Ponderacion
Wfc=0.95;
%filtro gisroscopo
alfa1=0.8;
%filtro acelerometro
alfa2=0.2;
%filtro posicion pantalla
w=50;
fpantalla=minreal(c2d(1/((s^2/w^2+2*.5*s/w+1)*(s/w+1)),ts));
%K para pasar el 0-100 de la pantlla a metros
kpantx=18/845;
ofsetpantx=30;
kpanty=14/485;
ofsetpanty=53.9;
%% SEÑALES PRBS USADAS PARA ENSAYAR LA PLANTA
prbs1=idinput([100 2],'prbs',[0 1],[-30,40]);
prbs2=idinput([100 2],'prbs',[0 1],[-37,32]);
%% PARAMETROS GENERALES
%aceleracion de la gravedad
g=9.8;
%masa de la bola
m=0.11;
%% MODELADO
%modelado se ha hecho aprtiendo de los datos guardados en
%ensayonuevosengranajes.mat
%MODELADO SIN BOLA
%Encoder es el angulo de giro en grados del eje del motor, Giro es el
%angulo en grados de la plataforma
115
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
%EJE X
%mando VS angulo encoder(tension voltios a angulo grados)
Kp_mex=5.5239;
Tp_mex=0.018583;
MandoEncoder_x=Kp_mex/((1+Tp_mex*s)*s);
%encoder VS giro (angulo grados a angulo grados)
Kp_egx=0.16317;
Tp1_egx=0.070433;
Tp2_egx=0.07039;
EncoderGiro_x=Kp_egx/((1+Tp1_egx*s)*(1+Tp2_egx*s));
%giro VS posicion (angulo en grados a posicion en metros)
%EL GIRO ES EL DEL EJE X , PERO LA POSICION EN LA DEL EJEY------IMPORTANTE
GiroPosicion_x=-g/(s^2)*pi/180;
%EJE Y
%mando VS angulo encoder(tension voltios a angulo grados)
Kp_mey=7.527;
Tp_mey=0.029769;
MandoEncoder_y=Kp_mey/((1+Tp_mey*s)*s);
%encoder VS giro (angulo grados a angulo grados)
Kp_egy=0.16776;
Tp1_egy=0.033527;
Tp2_egy=0.033528;
EncoderGiro_y=Kp_egy/((1+Tp1_egy*s)*(1+Tp2_egy*s));
%giro VS posicion (angulo en grados a posicion en metros)
%EL GIRO ES EL DEL EJE Y , PERO LA POSICION EN LA DEL EJEX------IMPORTANTE
GiroPosicion_y=-g/(s^2)*pi/180;
%% CONTROLES
%Los controles se han diseñado usando "GUI_control_digital.m". Se ha
usado
%el modelo analogico modificado. Los controles s han diseñado con los
%aprametros indicados en cada caso, y posteriormente se ha ajustado de
%manera mas fina los parametros maneualmente
%en todos los controles se definen todos los parametros de un PID
generico,
%porque luego se cargan en un bloque generico, y si falta un parametro
da
%error.
%Debido a falta de memoria en el NXT, a pesar de que en simulink los
%bloques tienen la misma mascara y las mismas entradas, no todos
tienen
%todas las funciones en su interior, una vez decidido que tipo de
control
%iba a haber en cada uno, se limpiaron por dentro las cosas que no se
%usaban
%% controles PD para el primer sistema (tension motor a angulo de su
eje)
% se ha elegido un PD para conseguir la maxima velocidad posible
%limites altos para que no entren nunca en funcionamiento
mando_minME=-1000;
mando_maxME=1000;
116
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
%MANDO-ENCODER X voltios-grados
%Parametros iniciales de diseño por margen de fase
%fm=55
%w=1.5*wp
%f=0.1
K_mex=11;
Ti_mex=1;
Td_mex=0.025;
N_mex=8.99;
b_mex=1;
C1x=minreal(K_mex*(1+(Td_mex*s)/(1+(Td_mex*s)/N_mex)));
%la derivada se aplica a la salida
Cr1x=K_mex;
G1x=minreal(C1x*MandoEncoder_x);
F1x=minreal(Cr1x*MandoEncoder_x/(1+G1x));
%MANDO-ENCODER Y voltios-grados
%Parametros iniciales de diseño por margen de fase
%fm=55
%w=1.5*wp
%f=0.1
K_mey=11;
Ti_mey=1;
Td_mey=0.025;
N_mey=8.99;
b_mey=1;
C1y=minreal(K_mey*(1+(Td_mey*s)/(1+(Td_mey*s)/N_mey)));
%la derivada se aplica a la salida
Cr1y=K_mey;
G1y=minreal(C1y*MandoEncoder_y);
F1y=minreal(Cr1y*MandoEncoder_y/(1+G1y));
%% controles PI para el segundo sistema (angulo eje motor a angulo
plataforma)
%Tanto con un P como con un PD el regimen permanente estaba en torno a
la
%mitad de la referencia pedida, y era asimetrico en escalones de
bajada y
%subida. Se ha optado por un PI porque de estar forma, a pesar de que
la
%integracion fuera lenta, y alcanzara el regimen eprmanete a largo
plazo,
%en el momento inicial se aproximaba mucho ams a lareferencia que con
als
%otras dos posibilidades estudiadas
%limites altos para que no entren nunca en funcionamiento
mando_minEG=-10000;
mando_maxEG=10000;
%ENCODER-GIRO X grados-grados
%Parametros iniciales de diseño por margen de ganancia
%gm=20db
%w=0.95wp
K_egx=1.9;
Ti_egx=0.16;
Td_egx=0.1;
N_egx=4;
b_egx=1;
117
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
%Como planta no uso EncoderGiro_x sino, funcionx1
funcion1x=minreal(F1x*EncoderGiro_x);
C2x=minreal(K_egx*(1+1/(Ti_egx*s)));
G2x=minreal(C2x*funcion1x);
F2x=minreal(C2x*funcion1x/(1+G2x));
%ENCODER-GIRO Y grados-grados
%Parametros iniciales de diseño por margen de ganancia
%gm=20db
%w=0.9wp
K_egy=2.3;
Ti_egy=0.117;
Td_egy=0.13;
N_egy=3.36;
b_egy=1;
%Como planta no uso EncoderGiro_y sino, funciony1
funcion1y=minreal(F1y*EncoderGiro_y);
C2y=minreal(K_egy*(1+1/(Ti_egy*s)));
G2y=minreal(C2y*funcion1y);
F2y=minreal(C2y*funcion1y/(1+G2y));
%% controles PI para el segundo sistema (angulo eje motor a angulo
plataforma)
%El sistema se habia diseñado segun lo indicado anteriormente. Al
diseñar
% el ultimo lazo del contorl en casacada se comprobo que el control no
% aportada la velocidad necesaria apra la estabilizacion de la bola.
% partiendod e la idea de que al poner la bola en la pantalla su peso
% amortiguaria las oscilaciones, se cambiaron los parametros de
control del
% segundo lazo, a unos, cuyo resultado es oscilante sin la boa, pero
que
% con ella no oscila, y si garantiza la velocidad necesria.
% Los siguientes parametros se se obtuvierond e manera empirica tras
una
% serie de ensayos.
%ENCODER-GIRO X grados-grados
K_egx=2.3;
Ti_egx=0.06;
Td_egx=0.1;
N_egx=4;
b_egx=1;
%Como planta no uso EncoderGiro_x sino, funcionx1
funcion1x=minreal(F1x*EncoderGiro_x);
C2x=minreal(K_egx*(1+1/(Ti_egx*s)));
G2x=minreal(C2x*funcion1x);
F2x=minreal(C2x*funcion1x/(1+G2x));
%ENCODER-GIRO Y grados-grados
K_egy=2.3;
Ti_egy=0.06;
Td_egy=0.13;
N_egy=3.36;
b_egy=1;
%Como planta no uso EncoderGiro_y sino, funciony1
funcion1y=minreal(F1y*EncoderGiro_y);
C2y=minreal(K_egy*(1+1/(Ti_egy*s)));
G2y=minreal(C2y*funcion1y);
F2y=minreal(C2y*funcion1y/(1+G2y));
118
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
%% controles PID para el tercer sistema (angulo plataforma a posicion
bola)
% La plata es una ganancia negativa con una doble integracion. Por ser
una
% doble integracion, parece evidente que lo ideal es un PD,
sinembargo, se
% ha puesto un PID porque las integraciones de la planta parecian
responder
% demasiado lento. Respecto a la ganancia negativa, se diseño con la
planta
% multiplicada por -1, y se tuvo en cuenta el cambio de signo a la
hora de
% montar los diagramas de simulink
%limites altos para que no entren nunca en funcionamiento
mando_minGP=-1000;
mando_maxGP=1000;
%GIRO-POSICION X grados-metros
%fm=34
%w=2wp
%retraso fase=2
%f=0.1
K_gpx=10;
Td_gpx=1.3;
N_gpx=8.99;
b_gpx=1;
Ti_gpx=15;
%Como planta no uso -GiroPosicion_x sino, funcionx2
funcion2x=minreal(F2x*(-GiroPosicion_x));
C3x=minreal(K_gpx*(1+1/(Ti_gpx*s)+Td_gpx*s/(1+Td_gpx*s/N_gpx)));
%la derivada se aplica a la salida
Cr3x=minreal(K_gpx*(1+1/(Ti_gpx*s)));
G3x=minreal(C3x*funcion2x);
F3x=minreal(Cr3x*funcion2x/(1+C3x*funcion2x));
%GIRO-POSICION X grados-metros
%fm=34
%w=2wp
%retraso fase=2
%f=0.1
K_gpy=K_gpx;
Td_gpy=Td_gpx;
N_gpy=N_gpx;
b_gpy=b_gpx;
Ti_gpy=Ti_gpx;
%Como planta no uso -GiroPosicion_y sino, funciony2
funcion2y=minreal(F2y*-GiroPosicion_y);
C3y=minreal(K_gpy*(1+1/(Ti_gpy*s)+Td_gpy*s/(1+Td_gpy*s/N_gpy)));
%la derivada se aplica a la salida
Cr3y=minreal(K_gpy*(1+1/(Ti_gpy*s)));
G3y=minreal(C3y*funcion2y);
F3y=minreal(Cr3y*funcion2y/(1+C3y*funcion2y));
%% GENERACION DE REFERENCIA PARA HACER UN RECTANGULO
%generacion de referencia temporal
119
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
v=0:57;
vectortiempo=v*ts*40;
%generacion de referencia para X
v=[-6:6,(0:15)*0+6,(-6:6)*-1,(0:15)*0-6];
vecorposicionX=(v*0.06+0.08)/6;
%generacion de referencia para Y
v=[(0:17)*0+5,(-5:5)*-1,(0:17)*0-5,-5:5];
vecorposicionY=(v*0.048-0.0015)/5;
%vectores para comprobar con un plot que estan bien puestos. En el
bloque
%de simulink hay que poner a cada uno el del tiempo y el de su
coordenada,
%en un bloque de repeating secuence
x=[vectortiempo;vecorposicionX];
y=[vectortiempo;vecorposicionY];
120
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
IV. Anexo C:
Código fuente
Arduino
121
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
122
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
/*Programa para leer las coordenadas de una pantalla tactil y
enviarlas de forma adecuada para ser interpretadas por el bloque
de acelerometro de lego en simulink*/
#include <Wire.h>
int READ_X=A1;
int READ_Y=A2;
int DRIVE_A=7;
int DRIVE_B=8;
int X=11;
int Y=12;
unsigned char valX;
unsigned char valY;
void setup() {
pinMode(READ_X,INPUT);
pinMode(READ_Y,INPUT);
pinMode(DRIVE_A,OUTPUT);
pinMode(DRIVE_B,OUTPUT);
pinMode(X,OUTPUT);
pinMode(Y,OUTPUT);
Wire.begin(1);
Wire.onRequest(requestEvent);
}
/*funcion para enviar los 3 datos requeridos por el bloque
de acelerometro, las dos coordenadas y un 0 para rellenar*/
void requestEvent(){
unsigned char buff[3] = {valX, valY, 0};
Wire.write(buff, 3);
}
/*Lectura de la coordenada X*/
123
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
unsigned int GetX() {
digitalWrite(DRIVE_A,HIGH);
digitalWrite(DRIVE_B,LOW);
delay(5);//tiempo de estabilizacion del circuito
return analogRead(READ_X);
}
/*Lectura de la coordenada X*/
unsigned int GetY() {
digitalWrite(DRIVE_A,LOW);
digitalWrite(DRIVE_B,HIGH);
delay(5);//tiempo de estabilizacion del circuito
return analogRead(READ_Y);
}
/*funcion principal, leer las coordenadas, y actualizar
el valor, a la espera de ser requerido*/
void loop() {
valX=GetX()/4;//pasar de resolucion 1024 a 255
if(valX>127){
valX=valX-128;
}else{
valX=valX+128;
}
valY=GetY()/4;
if(valY>127){
valY=valY-128;
}else{
valY=valY+128;
}
}
124
Documento 2
PLANOS
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
126
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
Circuito de adaptación del
panel táctil
127
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
128
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
1. Esquema de componentes
129
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
2. Diseño sobre placa
130
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
3. Circuito en perspectiva
131
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
4. Plano de pistas
132
Documento 3
PRESUPUESTO
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
134
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
1. Mediciones
En este capítulo se exponen los aspectos del proyecto que implican una aportación
económica y la cantidad en la que han sido necesarios.
1.1. Material
1.1.1. Hardware
Material
Pack educativo LEGO MINDSTORMS Education NXT
Set de expansión de piezas LEGO MINDSTORM Education NXT
Circuito Impreso
Arduino Mega2560
Cantidad
1
1
1
1
1.1.2. Software
Material
Licencia Matlab para uso académico
Licencia Simulink para uso académico
Microsoft Office Word 2013
Microsoft Office PowerPoint 2013
Cantidad
1
1
1
1
135
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
1.2. Ingeniería
1.2.1. Investigación
Tarea
Búsqueda de información
Horas
15
1.2.2. Construcción
Tarea
Construcción de la versión inicial de la estructura
Construcción de la versión final de la estructura
Ajuste final dela estructura
Horas
15
120
6
1.2.3. Modelado
Tarea
Modelado de la planta
Ensayos de la planta
Obtención de parámetros
Horas
20
15
10
1.2.4. Diseño de controles
Tarea
Diseño del control del motor
Diseño del control del sistema mecánico
Diseño del control de la posición
Horas
15
30
20
1.2.5. Escritura de documentación
Documento
Horas
10
55
3
3
ANEXO B
MEMORIA
RESUMEN
PRESENTACIÓN
136
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
2. Precios unitarios
En este capítulo se muestran los precios unitarios de los materiales y las horas
dedicadas a las tareas expuestas en el apartado anterior.
2.1. Material
2.1.1. Hardware
Material
Pack educativo LEGO MINDSTORMS Education NXT
Set de expansión de piezas LEGO MINDSTORM Education NXT
Circuito Impreso
Arduino Mega2560
Precio unitario €
439
120
10
35
2.1.2. Software
Precio unitario €
500
500
135
135
Material
Licencia Matlab para uso académico
Licencia Simulink para uso académico
Microsoft Office Word 2013
Microsoft Office PowerPoint 2013
137
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
2.2. Ingeniería
2.2.1. Investigación
Precio unitario €
30
Tarea
Búsqueda de información
2.2.2. Construcción
Tarea
Construcción de la versión inicial de la estructura
Construcción de la versión final de la estructura
Ajuste final dela estructura
Precio unitario €
30
30
30
2.2.3. Modelado
Precio unitario €
40
30
30
Tarea
Modelado de la planta
Ensayos de la planta
Obtención de parámetros
2.2.4. Diseño de controles
Precio unitario €
40
40
40
Tarea
Diseño del control del motor
Diseño del control del sistema mecánico
Diseño del control de la posición
2.2.5. Escritura de documentación
Precio unitario €
30
30
30
30
Documento
ANEXO B
MEMORIA
RESUMEN
PRESENTACIÓN
138
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
3. Sumas parciales
En esta apartado se multiplican los precios unitarios por las cantidades con el fin de
obtener los presupuestos parciales de cada sección.
3.1. Material
3.1.1. Hardware
Material
Cantidad
Pack educativo LEGO MINDSTORMS
Education NXT
Set de expansión de piezas LEGO
MINDSTORM Education NXT
Circuito Impreso
Arduino Mega2560
Total
1
Precio
unitario €
439
1
120
120
1
1
10
35
10
35
Cantidad
Precio
unitario €
500
500
135
135
Total
439
Total: 604€
3.1.2. Software
Material
Licencia Matlab para uso académico
Licencia Simulink para uso académico
Microsoft Office Word 2013
Microsoft Office PowerPoint 2013
1
1
1
1
Total: 1270€
139
500
500
135
135
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
3.2. Ingeniería
3.2.1. Investigación
Tarea
Horas
Búsqueda de información
Precio
unitario €
30
Total
Total
15
Precio
unitario €
30
120
6
30
30
3600
180
Horas
Precio
unitario €
40
30
30
Total
Precio
unitario €
40
40
40
Total
15
450
Total: 450 €
3.2.2. Construcción
Tarea
Horas
Construcción de la versión inicial de la
estructura
Construcción de la versión final de la estructura
Ajuste final dela estructura
450
Total: 4230 €
3.2.3. Modelado
Tarea
Modelado de la planta
Ensayos de la planta
Obtención de parámetros
20
15
10
800
450
300
Total: 1550 €
3.2.4. Diseño de controles
Tarea
Horas
Diseño del control del motor
Diseño del control del sistema mecánico
Diseño del control de la posición
15
30
20
Total: 2600 €
140
600
1200
800
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
3.2.5. Escritura de documentación
Documento
Horas
ANEXO B
MEMORIA
RESUMEN
PRESENTACIÓN
10
55
3
3
Total: 2130 €
141
Precio
unitario €
30
30
30
30
Total
300
1650
90
90
UNIVERSIDAD PONTIFICIA COMILLAS
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)
GRADUADO EN INGENIERÍA ELECTROMECÁNICA
4. Suma total
En esta apartado se multiplican los precios unitarios por las cantidades con el fin de
obtener los presupuestos parciales de cada sección.
Material
604,00 €
1270,00 €
Hardware
Software
Ingeniería
Investigación
Construcción
Modelado
Diseño de controles
Escritura de documentos
450,00 €
4230,00 €
1550,00 €
2600,00 €
2130,00 €
Gastos generales (6%)
Beneficio (20%)
IVA (16%)
770,04 €
2566,80 €
2587,33 €
Total
142
18758,17 €
Descargar