Está en la página 1de 83

Trabajo Fin de Grado

Grado en Ingeniería Aeroespacial


Intensificación en Navegación Aérea

DISEÑO Y CONSTRUCCIÓN DE UN
PROTOTIPO DE SISTEMA MOTOR-HÉLICE-
BALANCÍN

Autor: Eduardo Cordero Mallado


Tutor: Manuel Gil Ortega Linares

Equation Chapter 1 Section 1

Dep. de Ingeniería de Sistemas y Automática


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2016
Trabajo Fin de Grado
Grado en Ingeniería de Aeroespacial
Intensificación en Navegación Aérea

DISEÑO Y CONSTRUCCIÓN DE UN
PROTOTIPO DE SISTEMA MOTOR-HÉLICE-
BALANCÍN

Autor:
Eduardo Cordero Mallado

Tutor:
Manuel Gil Ortega Linares
Profesor titular

Departamento de Ingeniería de Sistemas de Automática


Escuela Técnica Superior de Ingeniería
Universidad de Sevilla
Sevilla, 2016

iii
Trabajo Fin de Grado:
DISEÑO Y CONSTRUCCIÓN DE UN PROTOTIPO DE SISTEMA MOTOR-HÉLICE-BALANCÍN

Autor: Eduardo Cordero Mallado

Tutor: Manuel Gil Ortega Linares

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificación de:

v
Sevilla, 2016

El Secretario del Tribunal


A mi familia, a mis padres, a mis
hermanos y a mi tata. Sin ellos no
sería quien soy, no tendría lo que
tengo y no habría llegado hasta
donde he llegado. Este título les
pertenece tanto como a mí.
A mis amigos, mi segunda
familia, los que me han apoyado y
respetado en cada momento.
A mis compañeros, sin duda lo
mejor que me llevo de estos años.
Muchas horas juntos, amigos que
durarán toda la vida, personas a
las que admiro.

vii
Resumen

En el presente proyecto se lleva a cabo el diseño de un prototipo de un sistema motor-hélice-balancín. Esto


incluye la elección de componentes, construcción, integración de los mismos y el control del sistema conjunto.
Un sistema motor-hélice-balancín consiste en una barra que tiene como grado de libertad el giro alrededor de
un eje horizontal, con un movimiento contenido en el plano vertical. El movimiento lo produce la fuerza de
empuje que origina el giro de una hélice, acoplada a un motor, que se encuentra en el extremo de la barra. La
variación de la velocidad de giro de la hélice permite controlar la fuerza de empuje de la misma, consiguiendo
así mover la barra hacia una posición determinada. Dicha posición se determina a través de la medida del
ángulo que forma la barra respecto de la vertical. Se plantea dos sensores para la medida del ángulo o posición:
una unidad de medidas inerciales (IMU, Inertial Measurement Unit), y un potenciómetro.
Por otro lado, la integración de los datos y el control del sistema se realizan en el entorno Simulink de
MatLab, el cual permite, con un ordenador, controlar la velocidad de giro del motor y utilizar la medida del
ángulo para controlar el sistema. Se ha utilizado un dispositivo Arduino como interfaz entre sistema y
ordenador.

ix
Índice

Resumen ix
Índice x
Índice de Tablas xii
Índice de Figuras xiii
Notación i
1 Estado del arte y objeto 1
2 Introducción 3
2.1. Introducción 3
2.2. Contenido 3
3 Componentes del Sistema 5
3.1 Descripción detallada de la Planta 6
3.2 Motor Brushless 8
3.2.1 Características 9
3.2.2 Funcionamiento 9
3.2.3 Motor utilizado: Motor del Parrot AR.Drone 1.0 10
3.3 Variador electrónico o ESC 11
3.3.1 ESC utilizado: ESC YGE 30 i 12
3.4 Unidad de Medidas Inerciales, IMU 13
3.4.1 Unidad de medidas inerciales utilizada: MPU 6050 13
3.5 Potenciómetro 13
3.5.1 Potenciómetro utilizado: Potenciómetro lineal giratorio de 10K 14
3.6 Arduino 15
3.6.1 Arduino utilizado: Arduino Mega 2560 15
3.7 Entorno Simulink de MatLab 16
3.7.1 Versión de Matlab utilizada 16
3.7.2 Modelo Simulink 17
3.8 Fuente de Alimentación 17
3.8.1 Fuente de alimentación utilizada: EP-920 de Silver Electronics 17
4 Comportamiento del Sistema 19
4.1 Estudio del Movimiento 19
4.1.1 Fuerzas que intervienen 19
4.1.2 Zonas de estabilidad e inestabilidad 21
4.2 Modelo Matemático 22
4.2.1 Momento cinético 22
4.2.2 Ecuación del movimiento 24
4.2.3 Linealización de la función de transferencia 25
5 Modelo de Simulink 27
5.1 Características del modelo en Simulink 27
5.1.1 Características de la comunicación entre componentes 28
5.1.2 Simulink Support package for Arduino Hardware 29
5.1.3 Simulación en Tiempo Real. Modo External 31
5.2 Preparación de parámetros del modelo Simulink 32
5.3 Modelo de envío de señal PWM: Control del motor 34
5.3.1 Arranque del motor 35
5.4 Modelo de recepción de datos del potenciómetro giratorio 36
5.5 Modelo de recepción de datos del sensor IMU 37
6 Elección del sensor de posición 39
6.1 Medición del ángulo con sensor inercial MPU6050 39
6.1.1 Pruebas experimentales con IMU 40
6.2 Medición del ángulo con sensor potenciómetro giratorio 42
6.2.1 Pruebas experimentales con potenciómetro 42
7 Control del Sistema 47
7.1 Identificación de Parámetros 47
7.1.1 Característica estática 47
7.1.2 Identificación del sistema. Función de transferencia 54
7.2 Control sobre el sistema 60
7.2.1 Modelo de Simulink 62
7.2.2 Simulación con control 63
Bibliografía 65

xi
ÍNDICE DE TABLAS

Tabla 7-1. Medida experimental de la fuerza generada por la hélice en función de la señal de control 52
ÍNDICE DE FIGURAS

Figura 1. Representación de la planta formada por la estructura móvil (rodeada en verde) y la estructura de
soporte fija 6
Figura 2. Rodamiento de bolas 6
Figura 3. Estructura fija 7
Figura 4. Parte móvil del sistema: barra, soporte, motor y hélice 7
Figura 5. Conexión entre motor-ESC-Arduino-Ordenador 8
Figura 6. Esquema de motor de corriente continua con y sin escobillas (http://marylandev.org/wp-
content/uploads/2015/07/brushed-brushless.jpg) 9
Figura 7. Comparación de posición de imanes permanentes de un motor brushless inrunner y outrunner 10
Figura 8. Motor del Parrot AR.Drone 1.0 junto con el controlador de fábrica (store.parrot.com) 11
Figura 9. Estructura de soporte que acopla el motor con la hélice 11
Figura 10. Forma de una señal PWM para diferentes valores del Duty Cycle 12
Figura 11. Variador utilizado: ESC YGE 30 i 12
Figura 12. Unidad de medidas inerciales MPU 6050. 13
Figura 13. Esquema de potenciómetro rotatorio. 14
Figura 14. Potenciómetro lineal rotatorio de 10K utilizado. 14
Figura 15. Placa Arduino MEGA 2506 (izquierda) y software de programación de Arduino (derecha) 15
Figura 16. Entorno Simulink de Matlab R2013b. Librería de bloques (izquierda) y ejemplo de modelo
(derecha) 16
Figura 17. Fuente de alimentación utilizada 18
Figura 18. Esquema del conjunto del sistema a analizar 19
Figura 19. Fuerzas que actúan sobre la estructura móvil en equilibrio. 20
Figura 20. Cuadrantes del plano vertical en los que se mueve el sistema. Posición controlada (zona verde, 1 y
2) y no controlada (zona roja, 3 y 4) 21
Figura 21. Definición de ejes y sistemas de referencia 22
Figura 22. Entrada y salida de la función de transferencia G(s) que representa el sistema 25
Figura 23. Esquema del flujo de información entre Ordenador-Arduino-Sistema 27
Figura 24. Pines de señal PWM, entrada y salida analógica y de comunicación I2C del Arduino Mega 2560
28
Figura 25. Librería de bloques ‘Simulink Support Package for Arduino Hardware’ 29
Figura 26. Lista de paquetes disponibles para Matlab donde hay que seleccionar Arduino 31
Figura 27. Selección del modo de simulación External en el entorno Simulink 31
Figura 28. Formar de iniciar Simulink: escribir simulink (izquierda) o pulsar en Simulink Library (derecha)
32
Figura 29. Crear nuevo modelo en Simulink 32
Figura 30. Preparación del modelo para funcionar en Arduino Mega 33

xiii
Figura 31. Selección del Hardware Arduino Mega 2560 33
Figura 32. Selección del puerto USB al que está conectado el Arduino 33
Figura 33. Configuración de parámetros del apartado Solver 34
Figura 34. Deploy to Hardware 34
Figura 35. Modelo sencillo de envío de señal PWM (izquierda) y ventana de parámetros del bloque PWM
(derecha) 35
Figura 36. Modelo básico de recepción de señal analógica (izquierda) y ventana de parámetros del bloque
Analog Input (derecha) 36
Figura 37. Bloque S-Function que permite la comunicación I2C con el sensor MPU6050 37
Figura 38. Posición de la IMU respecto de la gravedad 39
Figura 39. Señal analógica proporcionada por el acelerómetro durante una simulación con el motor apagado y
encendido 41
Figura 40. Señal analógica proporcionada por el acelerómetro durante una simulación con el motor apagado y
encendido 41
Figura 41. Señal analógica proporcionada por el potenciómetro durante una simulación 42
Figura 42. Límites del valor de la señal analógica del potenciómetro: 0 y 1023 43
Figura 43. Relación entre ángulo girado en el potenciómetro y señal analógica 44
Figura 44. Bloque para implementar la ecuación que relaciona la señal del potenciómetro con el valor en
ángulos de su posición 44
Figura 45. Señal antes y después de encender el motor 45
Figura 46. Entrada y salida del sistema a controlar 47
Figura 47. Entradas y salidas de cada subsistema 47
Figura 48. Peso utilizado para medir la fuerza de empuje que genera la hélice 48
Figura 49. Medición experimental de la fuerza generada por el giro de la hélice 49
Figura 50. Modelo de Simulink utilizado para enviar la señal de control al motor 50
Figura 51. Medición inicial del peso con el motor apagado 51
Figura 52. Fuerza generada por la hélice en función de la señal de control 52
Figura 53. Ventana de ajuste de la opción Basic Fitting que aparece al abrir el menú Tools>Basic Fitting
53
Figura 54. Función que aproxima la curva de la señal de control frente a la fuerza generada por la hélice 54
Figura 55. Bloque del modelo de Simulink que se encarga de pasar de valor de Fuerza a Señal de Control
54
Figura 56. Ejemplo gráfico de sobreoscilación y tiempo de pico 55
Figura 57. Respuesta del sistema ante una entrada escalón de subida de 0.5 Newtons. La figura superior es la
respuesta de la salida del sistema (señal azul) producida por la señal de entrada (señal roja) 56
Figura 58. Respuesta del sistema ante una entrada escalón de bajada de 0.5 Newtons 58
Figura 59. Respuesta real del Sistema (señal azul) junto a respuesta de la función de transferencia (señal roja)
ante la misma entrada escalón 59
Figura 60. Modelo utilizado para simular la entrada escalón con la función de transferencia 60
Figura 61. Diagrama de bloques del sistema con control por realimentación 60
Figura 62. Diagrama de bloques del sistema con control por realimentación 62
Figura 63. Resultados de la simulación con control 64
xv
Notación

sen Función seno


cos Función coseno
tg Función tangente
arctg Función arco tangente
∂y ∂x Derivada parcial de y respecto
x◦ Notación de grado, x grados.
: Tal que
< Menor o igual
> Mayor o igual
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

1 ESTADO DEL ARTE Y OBJETO

El diseño de un sistema como el que aquí se realiza se encuentra normalmente ligado al entorno académico.
Son varios los proyectos ya realizados en diferentes universidades que están relacionados, en mayor o menor
medida, con lo que aquí se lleva a cabo. Resulta de interés académico ya que requiere aplicar el conocimiento
sobre diversas materias, como puede ser desde la conexión física de dispositivos electrónicos, hasta el
tratamiento de señales, programación de dispositivos, o diseño de sistemas de control.
Una de las primeras cosas en la que pueden variar los proyectos realizados es en los componentes físicos que
lo componen, entre ellos el tipo de motor utilizado y el dispositivo para medir la posición. Respecto al tipo de
motor, la mayoría de los proyectos utilizan un motor tipo brushless (sin escobillas), aunque también hay casos
en los que se utiliza motores de corriente continua con escobillas. La principal razón de utilizar motores
brushless es que presenta muy buenas prestaciones y ventajas respecto de uno con escobillas, estando su uso
muy generalizado en el mundo del aeromodelismo con una gran variedad de motores en el mercado. En
general, de ambos motores se ha recibido un comportamiento correcto ante la señal de control y el uso de
cualquiera de los dos tipos es válido para este tipo de proyectos.
Por otro lado, para la medición de la posición se suele usar un potenciómetro giratorio como sensor. Éste se
coloca en el eje de giro del sistema, de tal forma que el eje de giro del sistema es solidario al eje de giro del
potenciómetro, moviéndose ambos a la vez. El funcionamiento del potenciómetro se basa, principalmente, en
una resistencia variable que traduce la posición del potenciómetro en una señal analógica con un determinado
voltaje. De forma experimental se puede relacionar la medida de voltaje proporcionada con el ángulo o
posición del sistema, permitiendo medir el ángulo que forma el sistema respecto de una referencia. En los
diferentes casos en los que se ha utilizado se han obtenido datos suficientemente precisos y fiables. Otro tipo
de sensor que puede ser utilizado para la medición de la posición del sistema es la unidad de medidas
inerciales, o IMU (Inertial Measurement Unit), que se basa en otros procedimientos para determinar la
posición del sistema y que, debido a su uso en gran variedad de dispositivos, resulta de gran interés.

El objetivo de este proyecto es el diseño y construcción de un prototipo de un sistema tipo balancín desde cero,
cuyo movimiento será proporcionado por la fuerza generada por el giro de una hélice acoplada a un motor y
situada en su extremo. Principalmente se centra en el diseño y selección de componentes, así como su
construcción e integración para su posterior control. Todo ello teniendo en cuenta que el prototipo debe estar
diseñado para ser utilizado como futuro equipo de prácticas en la Universidad de Sevilla.
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

2 INTRODUCCIÓN

En este capítulo se introduce el proyecto a realizar y la forma en que se ha estructurado este documento. El
objetivo de este apartado es aportar una visión global del proyecto de forma que queden claros los conceptos
principales de cada parte.

2.1. Introducción
El conjunto motor-hélice-balancín propone un problema de control de interés debido a su naturaleza inestable.
Esto supone que si se quiere alcanzar un punto de equilibrio del sistema se ha de implementar algún tipo de
control sobre el mismo. A nivel académico resulta interesante ya que para obtener el modelo de control se
utilizan conocimientos tanto de física como de control, así como de programación. Lo interesante es aplicar
diferentes tipos de control con el fin de compararlos, pudiendo implementarlos directamente y visualizarlos en
tiempo real en la realidad, aunque el principal objetivo de este proyecto no es el control del sistema, sino la
construcción del mismo.

2.2. Contenido
En el presente proyecto se empieza en el Capítulo 3 por definir en detalle los componentes del sistema, tanto
hardware como software. Se explica su funcionamiento y características más significativas para tener un
conocimiento de lo que hace falta para crear el sistema.
Posteriormente en el Capítulo 4 se realiza un estudio del comportamiento del sistema con el objetico de
obtener la ecuación de movimiento del sistema y su modelo matemático. Se pretende llegar a la función de
transferencia que define el sistema para después poder controlarlo.
Una vez se define el comportamiento del sistema se detalla en el Capítulo 5 las características del modelo de
Simulink, tanto los bloques que lo forman como la configuración de parámetros de simulación. Se intenta
explicar la función de cada bloque según las necesidades del modelo.
Una vez se conoce como debe ser el modelo para poder hacer funcionar el sistema, se compara en el Capítulo
6 los dos sensores que se han escogido como medida de la posición del sistema. Se realizan pruebas
experimentales con Simulink y se analizan los resultados.
Finalmente, en el Capítulo 7 se obtiene una función de transferencia alternativa a la obtenida en el Capítulo 4
haciendo pruebas experimentales con señales de entrada de escalón y se crea un controlador básico para
realizan una simulación con control sobre el sistema.
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

3 COMPONENTES DEL SISTEMA

Este capítulo se centra en los componentes principales que constituyen el sistema motor-hélice-balancín, tanto
los componentes de la estructura como el software y hardware. Comienza por describir detalladamente la
planta y su funcionamiento, para posteriormente describir las características y el funcionamiento general de
cada componente, así como el modelo específico que ha sido utilizado para este proyecto.
Hay que tener en cuenta que la elección de los componentes se ha hecho de tal forma que fuera posible
reutilizar dispositivos de los que se disponía en el laboratorio y teniendo en cuenta la posible producción futura
de varios equipos, basándose éste como prototipo. Por ello, se ha intentado en la medida de lo posible utilizar
componentes comerciales, de fácil acceso y uso, económicos, y que puedan ser adquiridos en un futuro sin
dificultad.
6 Componentes del Sistema

3.1 Descripción detallada de la Planta


Se dispone de un sistema formado por una estructura compuesta por dos partes que se unen entre sí a través de
un rodamiento que permite el giro de una de ellas. Habrá pues una parte fija, que hace de estructura de soporte,
y una parte móvil anclada a la fija que gira en el plano vertical en torno a un eje horizontal, de forma parecida
a un balancín.

EJE DE GIRO

PARTE MÓVIL

MOTOR + HÉLICE
θ

PARTE FIJA

Figura 1. Representación de la planta formada por la estructura móvil (rodeada en verde) y la estructura de
soporte fija
La parte fija está formada por barra metálica de sección rectangular, colocada verticalmente y sujeta por la
parte inferior a una base de madera. En la parte superior de esta barra se encuentra atornillado un soporte cuya
función es sujetar o bien un potenciómetro giratorio o un rodamiento de bolas como el que se muestra en la
Figura 2. Sujetando el rodamiento por la parte externa, la parte interna gira de forma libre, y es aquí donde se
acopla la parte móvil permitiendo el giro. En el caso del potenciómetro, dispone de un eje giratorio alargado al
que se puede fijar la estructura.

PARTE EXTERNA (FIJA)

PARTE INTERNA (MÓVIL)

Figura 2. Rodamiento de bolas

En la Figura 3 se muestra la parte fija del sistema:


Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
7
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

Figura 3. Estructura fija de soporte

El conjunto móvil está compuesto por una barra de sección cuadrada de aluminio, un motor, una hélice, un
soporte que une el conjunto motor-hélice con la barra y un lastre que permite aumentar el peso del conjunto.
En un extremo de la barra se encuentra situado el soporte que permite, por un lado, el acople del motor con la
hélice y, por otro, la sujeción del conjunto hélice-motor con la barra. El soporte utiliza un sistema de
engranajes para transmitir la velocidad de giro del motor a la hélice, de tal forma que la velocidad de giro de la
hélice sea inferior a la del motor. El otro extremo de la barra está sujeto al eje de giro, el cual es perpendicular
al eje longitudinal de la barra, permitiendo el giro de la barra en el plano vertical. Se ha usado un lastre anclado
a la barra móvil ya que el conjunto es relativamente ligero y la fuerza mínima que genera la hélice supera con
creces la fuerza necesaria para mover el conjunto.

Figura 4. Parte móvil del sistema: barra, soporte, motor y hélice

A parte de los componentes estructurales, es necesario el uso de diferentes dispositivos electrónicos. Una de
las características del control de un motor brushless es que requiere de un circuito electrónico que lo haga
funcionar. Este circuito electrónico se conoce como variador o ESC (Electronic Speed Controller), al cual se le
envía una señal de información de tipo modulación por ancho de pulso, o PWM (Pulse Width Modulation),
para controlar la velocidad de giro del motor. El ESC se conecta por un lado al motor a través de tres cables, y
por otro a la fuente de alimentación y al dispositivo que le suministra la señal de información PWM de
velocidad de motor deseada (en este caso, el dispositivo que genera la señal PWM es un Arduino). Al ser un
motor brushless, la fuente de alimentación va conectada al ESC y no directamente al motor, como ocurre en
motores de corriente continua, de forma que el ESC es el encargado de proporcionar la potencia necesaria al
motor, en función de la señal de control que recibe.
8 Componentes del Sistema

Figura 5. Conexión entre motor-ESC-Arduino-Ordenador

El control de la velocidad de giro del motor permite controlar la fuerza de empuje que ejerce la hélice y, con
ello, la posición de la barra. Si se quiere llegar a una determinada posición, habrá que variar la velocidad de la
hélice en función de la posición en la que se encuentre la barra, por lo que habrá que determinar dicha posición
de alguna forma. En este caso la posición la define el ángulo que forma la barra respecto de una referencia
(bien puede ser la vertical u horizontal). Se necesita pues un sensor capaz de medir dicho ángulo de forma
precisa y en tiempo real. En este caso, para medir la posición se va a probar con dos sensores diferentes: una
unidad de medidas inerciales (IMU, Inertial Measurement Unit) y un potenciómetro giratorio.
La unidad de medidas inerciales o IMU está compuesta con un acelerómetro y un giróscopo. Su
funcionamiento se basa en que operando con los datos proporcionados por el acelerómetro y giróscopo se
puede calcular el ángulo que forman los ejes de la IMU respecto de un sistema de referencia. Entonces,
bastaría hacer coincidir el eje de la barra con uno de los ejes de la IMU para poder medir el ángulo que forma
la barra respecto de un eje de referencia, es decir, permite medir su posición.
Por otro lado, un potenciómetro giratorio es un componente electrónico que proporciona una salida analógica
que varía de valor según la posición del eje giratorio del potenciómetro. La idea es que dicho eje giratorio se
mueva solidariamente con la barra, siendo la posición del potenciómetro igual al de la barra.
El control del sistema se va a realizar desde un ordenador con el programa MatLab, concretamente en el
entorno Simulink de MatLab. Desde el ordenador, usando dicho programa, se interactúa con el sistema de tal
forma que se recibe la señal procedente del sensor que mide el ángulo y se envía la señal de información que
mueve el motor a una determinada velocidad.
Se necesita pues un dispositivo que permita la conexión entre el sistema y el ordenador. Para realizar dicha
función se ha escogido el dispositivo Arduino. Se trata de una placa electrónica que cuenta con su propio
microcontrolador, con diferentes pines de entrada y salida para conectarse a todo tipo de dispositivos y
sensores. Arduino cuenta también con una conexión USB tipo B para conectar la placa a un ordenador. Esto
permite visualizar y manejar los datos de control desde un ordenador y trabajar con ellos. Se ha escogido el
entorno Simulink del programa MatLab como interfaz entre sistema y usuario, ya que permite trabajar con la
información de manera fácil e intuitiva desde el ordenador.

La descripción detallada de cada componente y el modelo escogido se detalla a continuación.

3.2 Motor Brushless


Uno de los primeros componentes que hay que definir es el tipo de motor que moverá la hélice, ya que
dependiendo del tipo de motor habrá que utilizar unos componentes determinados u otros. Se ha escogido un
motor tipo brushless debido a sus buenas prestaciones y características.
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
9
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

Figura 6. Esquema de motor de corriente continua con y sin escobillas


(http://marylandev.org/wp-content/uploads/2015/07/brushed-brushless.jpg)

La elección de los demás componentes está condicionada por el tipo de motor escogido, por lo que es
importante conocer bien sus características y funcionamiento.

3.2.1 Características

La principal característica del motor brushless o motor sin escobillas es que es un motor eléctrico de corriente
continua que, como su propio nombre indica, no utiliza escobillas para el cambio de polaridad, sino que
emplea un circuito electrónico externo conocido como variador electrónico o ESC (Electronic Speed
Controller). En este tipo de motores, los imanes permanentes se encuentran en la parte móvil o rotor, mientras
que el bobinado se encuentra en la parte fija o estator, justo al contrario a como ocurre en los motores de
corriente continua con escobillas.
El hecho de no usar escobillas hace que no sea necesario el rozamiento entre el rotor y la parte fija del motor,
de tal forma que aumenta la eficiencia ya que se produce menor pérdida de calor, aumentando con ello el
rendimiento con un menor consumo de potencia, y permite un rango de velocidad elevado al no tener
limitaciones mecánicas. La ausencia de escobillas disminuye también el mantenimiento, así como el ruido
electrónico (menor interferencia en otros circuitos).
Como desventaja se tiene un mayor costo de construcción, así como la necesidad para su funcionamiento y
control del ESC, un circuito caro y complejo, aumentando el precio del conjunto.
Al ser un tipo de motor muy común en el mundo del radiocontrol y el aeromodelismo, se dispone de una gran
variedad tanto de motores brushless como de ESC en el mercado, con diferentes características y precios, lo
que supone encontrar fácilmente un motor que cumpla con las condiciones necesarias para el proyecto.

3.2.2 Funcionamiento

Para entender el funcionamiento de los motores brushless es necesario conocer su estructura y componentes
internos. Principalmente, están compuestos por dos partes diferenciables, la parte móvil que gira, conocida
como rotor, compuesta por imanes permanentes, y una parte fija, denominada estator, donde se encuentran las
bobinas de hilo conductor por el que circula la electricidad. Dependiendo de la posición relativa entre estator y
rotor puede haber dos tipos de motores brushless: inrunner o outrunner. En los outrunner la parte que gira o
rotor es la parte exterior del motor, la cual porta los imanes permanentes, y es en la zona interior donde se
encuentran las bobinas conductoras fijas formando el estator. En el caso de los inrunner ocurre al contrario, el
bobinado fijo se encuentra en la parte externa del motor rodeando al rotor, que se encuentra en la parte interna
junto con los imanes.
10 Componentes del Sistema

Figura 7. Comparación de posición de imanes permanentes de un motor brushless inrunner y outrunner

El funcionamiento del motor brushless se basa en que la corriente eléctrica que pasa por el bobinado del
estator genera un campo magnético que interacciona con el campo magnético de los imanes permanentes del
rotor, y con ello se produce el movimiento de giro de éste. El bobinado está formado por tres bobinas
colocadas en un desfase en la posición de 120 grados. La corriente eléctrica que le llega al motor procede del
variador electrónico o ESC y le llega a través de tres cables que conectan con las tres bobinas, de tal forma que
se aplica tensiones en cada bobina con polaridades desfasadas 120 grados de forma secuencial, haciendo girar
el motor a la velocidad que genera el variador. Es decir, el ESC aplica voltajes secuencialmente sobre las
bobinas y los imanes del rotor siguen el campo magnético que generan las bobinas. La velocidad de la
secuencia se denomina frecuencia y se mide en Hz, de tal forma que a mayor frecuencia, mayor velocidad de
giro del rotor.

3.2.3 Motor utilizado: Motor del Parrot AR.Drone 1.0

Al comienzo del proyecto se fijaron dos condiciones que debía cumplir el motor a utilizar:
 Ser motor brushless
 Tener un consumo máximo de 3 Amperios
Esto es debido a que el presente proyecto pretende ser un prototipo para la realización de futuras prácticas en
la universidad, por lo que se necesita un motor pequeño con un consumo bajo, pues las fuentes de
alimentación que se disponen en el laboratorio de prácticas son fuentes de corriente continua de 3 Amperios.
Por las buenas prestaciones que tiene y su uso cada vez más generalizado se escogió el motor tipo brushless
como motor a utilizar.
La razón de utilizar este motor en concreto es que se disponía en el laboratorio de trabajo un quadrotor “Parrot
AR.Drone 1.0” del que se podían reutilizar dos de sus cuatro motores ya que sus controladores habían dejado
de ser utilizables (no funcionaban). El Parrot AR.Drone 1.0 es un quadrotor comercial de pequeño tamaño. Se
barajaron diferentes posibilidades respecto a adquirir un motor nuevo pero finalmente se optó por utilizar uno
de estos motores, separándolo del controlador original estropeado y utilizando un controlador propio. El motor
original que utiliza el Parrot es el que se muestra en la Figura 8, donde aparece con su propio controlador
integrado que viene al adquirirlo. Lo que se ha hecho en este caso es separar los tres cables que salen del motor
(negro, blanco y verde) al controlador original y conectarlos a un controlador universal de motores brushless
(un ESC).
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
11
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

Figura 8. Motor del Parrot AR.Drone 1.0 junto con el controlador de fábrica
(store.parrot.com)

Se trata de un motor brushless “inrunner” cuyas prestaciones son más que suficientes para lo que aquí se
necesita. Tiene un consumo máximo que no supera 3 amperios, se alimenta con 11 Voltios y su tamaño y peso
es reducido.
Por otro lado, una de las ventajas de utilizar el motor del AR.Drone es que dispone de una estructura soporte
específicamente diseñada para este motor. Este soporte sirve de unión entre el motor y la barra a la que tiene
que ir unido, y por otro lado actúa de unión entre la hélice y el motor de tal forma que se acopla la hélice al
motor a través de un sistema de engranajes que permite proporcionar a la hélice una velocidad de giro inferior
a la que realmente gira el motor, haciendo de reductora. En la Figura 9 se puede ver la estructura junto con el
motor y la hélice.

Engranaje Soporte

Motor

Figura 9. Estructura de soporte que acopla el motor con la hélice

3.3 Variador electrónico o ESC


Como se ha comentado en los apartados anteriores, los motores brushless requieren de una electrónica de
control que les proporcione la señal de potencia. Esta electrónica de control se conoce como variador
electrónico o ESC, que transforma la corriente continua en una tensión alterna y es el encargado de aplicar al
motor la señal necesaria para ajustar las revoluciones del motor, es decir, permite controlar la velocidad del
motor.
Un ESC suele contar con siete conexiones necesarias para el correcto funcionamiento del motor: tres cables de
salida que van conectados directamente al motor y son los que le proporcionan la señal de control, dos cables
de alimentación usados para conectar la fuente de alimentación o batería (positivo y negativo), un cable de
señal de información por donde recibe la señal PWM de control de velocidad del motor, y otro cable para la
toma de tierra.
12 Componentes del Sistema

Sin entrar en el funcionamiento de las señales de control tipo PWM, se indica que la señal que debe recibir el
ESC para que se produzca movimiento del motor se caracteriza por tener un pulso de duración que puede
variar entre 1 y 2 milisegundos y una amplitud de 0 o 5 Voltios. La variación de la longitud del ancho de pulso
dentro de este rango es lo que controla la velocidad del motor, trasmitiéndole más o menos potencia. Cuando
la duración del ancho de pulso es menor o igual a 1ms el motor permanece inmóvil ya que corresponde a la
velocidad mínima del motor, y conforme aumenta la duración del pulso aumenta la velocidad de giro del
motor, hasta un máximo cuando alcanza los 2 ms. Esta señal PWM la genera la placa de Arduino y tiene una
forma parecida a la que se muestra en la Figura 10.

Figura 10. Forma de una señal PWM para diferentes valores del Duty Cycle

Recordar que esta señal es la que recibe el ESC y no el motor. La señal de potencia que recibe el motor tiene
unas características diferentes y dependerá de la señal PWM y del voltaje de la fuente de alimentación o
batería que se conecte al ESC.
En definitiva, el variador o ESC es el dispositivo electrónico que se encarga de suministrar la señal de potencia
necesaria al motor en función de la señal PWM recibida y de la potencia que le suministra la fuente de
alimentación, haciendo que éste gire con mayor o menor velocidad.

3.3.1 ESC utilizado: ESC YGE 30 i

La elección del ESC está directamente relacionada con la potencia de consumo que requiere el motor. Los
ESC suelen estar limitados por el amperaje máximo que transmiten, y ya que se dispone de un motor que
consume un máximo de no más de 3 Amperios, el ESC debe ser capaz de proporcionar al menos esta corriente
al motor. Se suele utilizar un ESC con capacidad un poco superior a la que requiere el motor para asegurarse
que siempre pueda suministrar la potencia que necesita. Por ello es recomendable utilizar un ESC de más de 5
o 6 amperios para este motor, como mínimo.
Se dispone de un ESC de 30 Amperios en el laboratorio que, aunque supera con creces las necesidades del
motor a utilizar, funciona perfectamente. Se trata del dispositivo “ESC YGE 30 i” que se muestra en la Figura
11. Podría utilizarse uno de menor capacidad, siempre y cuando supere la del motor en un 20-30%.

Figura 11. Variador utilizado: ESC YGE 30 i


Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
13
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

3.4 Unidad de Medidas Inerciales, IMU


Una unidad de medidas inerciales es un dispositivo electrónico que aporta datos de velocidad, orientación y
fuerza gravitacional a partir de datos de aceleración y velocidad angular, medidos por un conjunto de
acelerómetros y giróscopos. Algunas IMUs también incluyen un magnetómetro.
La IMU no mide ángulos directamente, sino que realiza cálculos con los datos medidos de aceleración y
velocidad angular para obtener la orientación y velocidad. Para ello, el acelerómetro aporta datos de
aceleración en tres ejes perpendiculares entres sí, así como el giróscopo mide la velocidad angular en tres ejes
perpendiculares entre sí. Existen diferentes métodos de integrar estas medidas que permiten obtener la
posición del dispositivo respecto de un sistema de referencia.
Una de las características de la IMU es que no necesita información externa para aproximar su posición, es
decir, es un dispositivo autónomo. El inconveniente es que, debido a que integra los valores de la posición y
velocidad constantemente, aparece un error acumulativo que crece con el tiempo. También aparece un error en
la medida del ángulo debido a que el acelerómetro, aparte de medir los valores de la gravedad, mide cualquier
tipo de aceleración, a veces no deseables, como son las vibraciones, conocido como ruido. Por ello suele ser
necesario aplicar algún tipo de filtro a las medidas que se obtienen de la IMU antes de utilizarlas para poder
obtener datos fiables y precisos.

3.4.1 Unidad de medidas inerciales utilizada: MPU 6050

La unidad de medidas inerciales escogida para realizar el proyecto ha sido el dispositivo MPU 6050. Se trata
de una IMU de pequeño tamaño, con buenas prestaciones, precisa y de bajo consumo y coste. Se dispone de
una pequeña placa como la que se muestra en la Figura 12 en la que se puede acceder fácilmente a todos los
pines del MPU 6050 y conectarlos a un microcontrolador para comunicarse con el dispositivo, en este caso a
un Arduino.

Figura 12. Unidad de medidas inerciales MPU 6050

El MPU 6050 es un dispositivo de 6 ejes, el cual contiene un giróscopo y un acelerómetro de 3 ejes cada uno.
Una de las consideraciones que hay que tener en cuenta a la hora de conectarlo con Arduino es que el
protocolo de comunicación es I 2 C y que requiere una alimentación de 3.3 V. Las conexiones se realizan a
través de 4 pins: dos para la comunicación I 2 C y otros dos para la alimentación (3.3 V y GND).

3.5 Potenciómetro
Un potenciómetro es un dispositivo electrónico compuesto por una resistencia variable en la que se puede
cambiar su valor de forma manual. El valor de la resistencia irá variando en función de la posición del
potenciómetro.
Se trata de un componente sencillo y robusto, que proporciona una señal de precisión en función de la calidad
del potenciómetro que se tenga. Dispone de tres terminales: A, B y C. Los terminales A y C se conectan a una
fuente de tensión (terminales positivo y neutro) mientras que el tercer terminal B está conectado a una
resistencia. El terminal B es el que controla el usuario y le permite ajustar la posición del mismo a lo largo de
14 Componentes del Sistema

la resistencia, proporcionando una tensión variable en función del valor de la resistencia.


Hay varios tipos de potenciómetros en función de su forma y método de variación de la resistencia, entre ellos
están:
 Potenciómetros deslizantes. La resistencia está formada por una pista resistiva recta, por lo que el
cursos para variar su valor también.
 Potenciómetros rotatorios. La resistencia en este caso es una pista resistiva circular, siendo el cursor
un eje que varía el valor de la resistencia al girar.

A C
B
Figura 13. Esquema de potenciómetro rotatorio

También se diferencian según la ley de variación de la resistencia, pudiendo ser lineal, logarítmica o senoidal.
En definitiva, un sensor potenciómetro es una resistencia variable que aporta una señal analógica variable,
capaz de ser medida y obtener así una relación directa de su posición, que en el caso del potenciómetro
giratorio es el ángulo de giro de su eje.
Otra ventaja del potenciómetro es que proporciona una señal analógica, la cual es relativamente sencillo de
medir, evitando comunicaciones complejas como es el caso de la IMU.

3.5.1 Potenciómetro utilizado: Potenciómetro lineal giratorio de 10K

Se ha escogido un potenciómetro giratorio lineal como sensor para medir la posición de nuestro sistema. Ya
que lo que se necesita es medir el ángulo que forma una barra que gira respecto a un eje, el eje del
potenciómetro giratorio podría situarse en dicho eje de giro y medir la variación de la posición.
El valor de los potenciómetros viene expresado en ohmios, al igual que las resistencias, e indica el valor
máximo de la resistencia que puede llegar a tener. En este caso, se trata de un potenciómetro de 10KΩ, por lo
que puede tener una resistencia variable con valores entre 0Ω y 10.000Ω.
En la Figura 14 se muestra el potenciómetro utilizado, en el que se puede apreciar el eje que sobresale y que al
girarlo varía el valor de la señal de salida.

Figura 14. Potenciómetro lineal rotatorio de 10K utilizado


Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
15
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

3.6 Arduino
Arduino es una plataforma electrónica de código abierto basada en un hardware y software de fácil uso
destinado a la realización de proyectos interactivos. Se trata de una placa provista de un microcontrolador con
entradas y salidas y de un entorno de desarrollo con su propio lenguaje de programación, pudiendo conectarse
al ordenador y programarse desde él de una forma sencilla. El software de Arduino está disponible para
descarga gratuita desde su página web.
Arduino permite de una forma rápida y económica desarrollar un proyecto con un microcontrolador ya que la
placa está totalmente montada, con un bootloader listo para conectar por USB al ordenador. También están
disponibles en internet una gran cantidad de librerías para trabajar con Arduino, lo cual ayuda a que no sea
necesario un gran conocimiento previo de programación para poder utilizarlo. Debido a su popularidad y gran
uso, es fácil encontrar diferentes placas de Arduino de todos los precios, lo que lo hace un dispositivo de fácil
acceso para cualquier persona.
En definitiva, Arduino permite la comunicación entre sensores y dispositivos electrónicos y el ordenador de
forma sencilla y económica, siendo idóneo para proyectos como el que aquí se presenta.

3.6.1 Arduino utilizado: Arduino Mega 2560

Hay multitud de diferentes tipos de placas Arduino, cada una con sus características. En este proyecto se ha
usado el Arduino Mega 2560, una placa Arduino que consta de 54 pines que puede configurarse como entrada
o salida digital de entre 0 y 5V (de los cuales se pueden usar 6 como salida PWM), y 16 pines de entrada
analógica, entre otros. También cuenta con conexión USB, conexión de alimentación, un botón de reset, etc.
La placa cuenta con todo lo necesario para hacer funcionar el microcontrolador con sólo conectarla a un
ordenador o a la corriente eléctrica.

Figura 15. Placa Arduino MEGA 2560 (izquierda) y software de programación de Arduino (derecha)
[www.arduino.cc]

También dispone de pines de entrada y salida especiales, como dos de los pines analógicos que pueden
configurarse para la comunicación I 2 C con otros dispositivos, algo necesario para comunicarse con la IMU
que se utiliza.
16 Componentes del Sistema

Se ha escogido la placa Arduino Mega 2560 principalmente por los siguientes motivos:
 Dispone de pines de salida de señal PWM, que es el tipo de señal de control que se necesita enviar al
ESC para controlar el motor.
 Dispone de pines de comunicación I 2 C, necesarios para la comunicación con la IMU.
 Es capaz de recibir señales analógicas, lo que permite medir el valor que proporciona el
potenciómetro.
 Permite utilizar el programa Simulink en modo external. Este es el motivo principal por el que se ha
escogido el modelo Arduino Mega, ya que no todos los modelos de placas de Arduino lo permiten.
Se explicará más adelante en que consiste el modo external de Simulink, pero básicamente hay que
saber que permite ejecutar el modelo en tiempo real, algo necesario para el control del sistema.

3.7 Entorno Simulink de MatLab


MatLab es un entorno de cálculo numérico y visualización con su propio lenguaje de programación de alto
nivel. Permite la visualización y procesado de señales de forma sencilla, así como implementación de sistemas
de control o simulación e identificación de sistemas dinámicos.
El programa Matlab incluye, entre otros, un paquete de herramientas llamado Simulink (plataforma de
simulación multidominio). Simulink consiste en un entorno de simulación de diagramas de bloque usado para
modelar, simular y analizar sistemas dinámicos. Permite la creación de modelos en el cual se pueden introducir
diferentes tipos de bloques para trabajar con sistemas lineales o no, en tiempo continuo o discreto. Todo ello a
través de una interfaz gráfica y diagramas de bloques haciendo su uso sencillo e intuitivo. También permite la
simulación de sistemas en tiempo real, muy útil para representar gráficamente la evolución de las diferentes
variables del sistema y realizar control sobre el mismo. También permite exportar resultados de la simulación
a Matlab para trabajar con ellos en cualquier momento.

3.7.1 Versión de Matlab utilizada

Toda la parte de Simulink se ha realizado con la versión MATLAB R2013b. En la Figura 16 se muestra el
entorno Simulink de Matlab de dicha versión, en la que aparece a la izquierda la librería de bloques y a la
derecha un ejemplo de un modelo de Simulink.

Figura 16. Entorno Simulink de Matlab R2013b. Librería de bloques (izquierda) y ejemplo de modelo (derecha)
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
17
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
3.7.2 Modelo Simulink

Como se ha comentado, el entorno Simulink de Matlab permite crear modelos dinámicos usando los diferentes
bloques disponibles en la librería. En concreto, en este proyecto se necesita de una comunicación entre el
sistema real y el entorno de Simulink en tiempo real, que permita interactuar con él y poder tanto enviar como
recibir datos. Gracias a la placa de Arduino es posible dicha comunicación.
La placa de Arduino va conectada al ordenador a través de un cable USB. El entorno de Simulink dispone de
bloques que permiten el envío y recepción de datos por comunicación serial, siendo posible enviar y recibir
información entre el ordenador y el Arduino. También existe una librería exclusiva para Arduino que, aunque
no viene instalada en la versión de serie de Matlab, se puede descargar e instalar gratuitamente desde el propio
Simulink. Esta librería permite programar ciertas funciones en el dispositivo Arduino directamente desde el
entorno Simulink, sin necesidad de programarlo a mano ni de escribir ningún código de programación.
A lo largo de la realización de proyecto se han creado varios modelos, evolucionando según las necesidades
que iban surgiendo hasta llegar a un modelo definitivo el cual se explicará de forma detallada en los próximos
capítulos. El modelo definitivo permite la comunicación con Arduino en modo external, un tipo de simulación
que hace que la comunicación entre ordenador y Arduino sea en tiempo real, es decir, que el tiempo de
simulación de Simulink se corresponda con el tiempo real. Esto es necesario para poder realizar el control
sobre el sistema.

3.8 Fuente de Alimentación


Para suministrar al motor la potencia eléctrica necesaria se necesita una batería o fuente de corriente continua
que irá conectada al ESC.
Ya que el sistema se va a utilizar en un lugar con acceso a la corriente eléctrica, lo más lógico es utilizar una
fuente de corriente continua en vez de una batería lipo o similar. Además, la fuente de corriente tiene como
ventaja que proporciona una corriente continua estable y constante durante todo el tiempo, pudiendo regular el
voltaje que se le suministra al ESC a través de un interruptor, algo que no ocurre en el caso de las baterías ya
que éstas pueden perder potencia conforme se van descargando. Es por ello que se ha escogido como
alimentación del motor una fuente de corriente continua, que irá conectada al ESC a través de dos cables,
positivo y negativo.
El fabricante del motor recomienda proporcionar una alimentación de 11.1 Voltios de corriente continua. Es
necesario pues una fuente de alimentación con capacidad para producir una tensión de aproximadamente al
menos 11.1 Voltios y una intensidad de corriente mayor o igual a 3 Amperios.

3.8.1 Fuente de alimentación utilizada: EP-920 de Silver Electronics

La fuente de tensión utilizada es la que se dispone en el área de trabajo que cumple con los requisitos de
potencia que se han comentado en el apartado anterior. Se trata del modelo EP-920 de la marca Silver
Electronics con las siguientes características:

 INPUT: 230Vac / 50Hz ~


 OUTPUT: 3 -15Vdc / 18A CONT.

Como se puede apreciar en la Figura 17, en la esquina superior derecha dispone de un botón giratorio para
seleccionar el voltaje de salida deseado, valor en Voltios que aparecerá indicado en el indicador de aguja arriba
a la izquierda. Abajo a la izquierda dispone de dos conexiones tipo banana, entre las que se proporciona la
tensión de salida indicada previamente con el botón giratorio. En estos dos conectores es donde se conectarán
los cables de alimentación del ESC, a una tensión de 10V (se recomienda 11.1V pero finalmente se ha
escogido una tensión de entrada de 10V). La fuente dispone de un interruptor ON/OFF (esquina inferior
derecha, botón POWER), que permite apagar en cualquier momento el dispositivo. El tener un botón de
18 Componentes del Sistema

apagado y encendido es otra ventaja respecto a usar una batería portátil, ya que te permite detener el motor en
caso de fallo del sistema.

Figura 17. Fuente de alimentación utilizada


Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

4 COMPORTAMIENTO DEL SISTEMA

MOTOR θ

Figura 18. Esquema del conjunto del sistema a analizar

Para abordar el control de un sistema hay que conocer su comportamiento dinámico. Este capítulo se centra en
el estudio del movimiento y en la representación matemática del comportamiento del sistema, es decir, en la
obtención de una ecuación que defina la posición del sistema en cada instante. Un modelo matemático permite
predecir la evolución del sistema, analizar su el comportamiento, analizar el efecto de la variación de
parámetros sobre la evolución y estudiar el efecto de las entradas sobre la evolución del sistema.

4.1 Estudio del Movimiento


Para comenzar, se tiene que el sistema completo está compuesto por una estructura fija y otra móvil que gira
respecto a la anterior en el plano vertical. La estructura fija actúa como soporte inmóvil, por lo que no requiere
de estudio dinámico. Interesa pues conocer las características de la estructura que gira y de las fuerzas que
actúan sobre ella para así obtener un modelo matemático de su movimiento.
Sobre la estructura móvil actúan diferentes fuerzas que son las que originan el movimiento de la misma.
Dichas fuerzas se indican a continuación.

4.1.1 Fuerzas que intervienen

Las fuerzas que actúan sobre la estructura móvil cuando ésta se encuentra en equilibrio se muestran en la
Figura 19. En ella se pueden diferenciar tres fuerzas resultantes:
20
Comportamiento del Sistema

⃗⃗⃗⃗h ),
1. la fuerza de empuje de la hélice (F
⃗⃗⃗⃗p ) aplicada en su centro de gravedad,
2. la fuerza del peso del conjunto debido a la gravedad (F
⃗ ) que impide el desplazamiento en ese punto y que
3. y la fuerza de reacción que aparece en el rodamiento (R
tendrá la dirección y valor que le corresponda.

𝑧0
𝑧1
𝑦1

RODAMIENTO 𝑦0
⃗⃗⃗⃗
0
𝐅𝐡
CENTRO DE ⃗𝐑

GRAVEDAD

MOTOR

⃗⃗⃗⃗
𝐅𝐩

Figura 19. Fuerzas que actúan sobre la estructura móvil en equilibrio.

Ya que se produce un movimiento relativo entre la restuctura móvil y la fija, se ha de definir un sistema de
referencia donde expresar las diferentes fuerzas para poder trabajar con ellas. En la Figura 19 se han definido
los ejes correspondientes a los sistemas de referencia 0 y 1. El sistema de referencia 0 es un Sistema Inercial y
queda definido por ser el eje OZ0 paralelo a la dirección de la gravedad y sentido opuesto, mientras que el
sistema de referencia 1 está ligado la estructura móvil, de tal forma que el eje OY1 coincide con el eje
longitudinal de la barra. En adelante se representarán las fuerzas en uno u otros ejes, según convenga.
La fuerza que produce la gravedad sobre cada componente de la estructura se puede expresar como la fuerza
resultante de aplicar la masa total en el centro de gravedad del conjunto. La fuerza producida por el peso será
pues una fuerza Fp aplicada en su centro de gravedad (cuya posición es, a priori, desconocida), en la dirección
del eje 𝑂𝑍0 y sentido el de la gravedad. La fuerza que genera el giro de la hélice tiene como resultante una
fuerza con dirección la del eje de giro de la hélice (paralelo al eje 𝑂𝑍1 ) y sentido el que proceda según la forma
y movimiento de la hélice. Por otro lado, se tiene que la unión entre la estructura fija y la móvil se hace, en el
caso de usar la IMU a través de un rodamiento con rozamiento mínimo, mientras que con el potenciómetro
aparece un rozamiento mucho mayor, pero en ambos casos permite solamente el giro de la estructura en el
plano vertical. Dado que en ese punto la estructura puede girar pero no desplazarse, aparece una fuerza de
reacción que se opone al desplazamiento pero no al giro, con dirección y sentido opuesto al que ejerce la
resultante de las demás fuerzas sobre la estructura móvil (suma de la fuerza del peso y de la hélice).
Las fuerzas que permiten definir la posición θ serán pues la fuerza del peso (constante) y la que genera la
hélice (variable), que se puede expresar en los ejes 0 o 1 según convenga:

- ⃗⃗⃗⃗
Fp = −Fp ⃗⃗⃗
z0 = −Fp cos θ ⃗⃗⃗
y1 − Fp sen θ ⃗⃗⃗
z1 con Fp = mg = cte (m=masa total, (4–1)
g=gravedad).

- ⃗⃗⃗⃗
Fh = −Fh cos θ ⃗⃗⃗⃗
y0 + Fh sen θ ⃗⃗⃗
z0 = Fh ⃗⃗⃗
z1 donde Fh es la fuerza de empuje que ejerce la (4–2)

20
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
21
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
hélice.

- ⃗R = R y0 ⃗⃗⃗⃗
y0 + R 𝑧0 sen θ ⃗⃗⃗
z0 = R y1 ⃗⃗⃗
y1 + R 𝑧1 ⃗⃗⃗
z1 donde 𝑅y0 , 𝑅z0 , 𝑅y1 𝑦 𝑅z1 serán los valores (4–3)
de la proyección del vector ⃗R en sus respectivos ejes (valores desconocidos).

También influye la posición del centro de gravedad del conjunto.


Al ser la fuerza del peso una constante, lo que permite variar la posición de la estructura es la variación de la
fuerza que genera la hélice controlando la velocidad de giro del motor. Hay que tener en cuenta que al variar la
fuerza de empuje también varía la dirección de la fuerza debido al cambio de posición, mientras que dirección
de la fuerza del peso es siempre la misma (si se observa desde el sistema de referencia inercial). Esto afecta a
la estabilidad del sistema, siendo diferente según la posición del mismo.

4.1.2 Zonas de estabilidad e inestabilidad

Se sabe que el movimiento del sistema está contenido en el plano vertical, teniendo solo un grado de libertad:
el giro en torno a un eje. Por las características que presenta la estructura se puede deducir que el control de la
posición del conjunto está acotado a la mitad del plano vertical, zona en la que la fuerza de empuje de la hélice
apunta hacia arriba y es capaz de contrarrestar la fuerza de la gravedad. Es más, se puede deducir también que
dentro de la zona acotada del movimiento controlado existirá una zona estable y otra inestable. Se razona a
continuación sin entrar en la ecuación del movimiento, que se hará más adelante.
Si se divide el plano vertical en los cuatro cuadrantes que se muestran en la Figura 20, se tiene que los
cuadrantes 1 y 2 son los que pueden contener un movimiento controlado del sistema (zona verde), mientras
que en los cuadrantes 3 y 4 la posición del sistema no es controlable (zona roja), pues la componente vertical
de la fuerza que produce la hélice es incapaz de contrarrestar la fuerza de la gravedad ya que la componente
vertical tiene el mismo sentido. Según las características del conjunto, el equilibrio de las fuerzas que
intervienen se puede alcanzar sólo y exclusivamente en el cuadrante 1. Para alcanzar el equilibrio en el
cuadrante 2 hace falta implantar algún tipo de control sobre el conjunto.

Zona de movimiento
controlado

2 3
q

1 4
q q

Figura 20. Cuadrantes del plano vertical en los que se mueve el sistema.
Posición controlada (zona verde, 1 y 2) y no controlada (zona roja, 3 y 4)
22
Comportamiento del Sistema

4.2 Modelo Matemático


Una vez identificado cómo es el movimiento del sistema y las fuerzas que intervienen en él, se necesita una
ecuación de movimiento que relacione dichas fuerzas con la posición. La variable que se puede controlar en
todo momento es la fuerza de empuje de la hélice a través del giro del motor, por lo que, si la intención es
controlar la posición del sistema, en la ecuación deberá aparecer necesariamente el ángulo θ y la fuerza de
empuje de la hélice, entre otros.
La teoría de mecánica estudia el movimiento de los cuerpos bajo la acción de fuerzas, así como su evolución
en el tiempo. En concreto, se va a utilizar teoría de mecánica del sólido rígido indeformable, modelo
matemático útil para llegar a una ecuación de movimiento válida. Para ello, se aplica al sistema la ley de
conservación del momento cinético, la cual permite obtener una ecuación de movimiento que relaciona la
posición de la barra (ángulo θ) con las fuerzas que intervienen en el sistema, estando entre ellas la fuerza que
genera la hélice.

4.2.1 Momento cinético

En este apartado se va a utilizar la definición del momento cinético y el Teorema del Momento Cinético con el
objetivo de llegar a una expresión que relacione la posición del sistema con la fuerza que genera la hélice.
Según la Teoría de Mecánica, en el caso de un sistema indeformable como éste, el momento cinético en un
punto cualquiera es:

⃗⃗⃗
Γ0 = I0 ⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ∧ v⃗⃗⃗⃗⃗⃗
ω21 + MOG O
21
(4–4)

Donde ⃗⃗⃗⃗⃗⃗⃗
ω21 es la velocidad angular alrededor del eje de giro O, I0 es el momento de inercia del conjunto
respecto del punto O y se trata de una constante del sistema ya que la masa del mismo no varía, M es la masa
⃗⃗⃗⃗⃗ es el vector de posición del centro de gravedad y v⃗⃗⃗⃗⃗⃗
total del sistema, OG O
21 la velocidad del punto O respecto
del sistema de referencia inercial “1”. Al ser variables vectoriales y para poder operar entre ellas, se han de
definir el sistema de referencia al que van ligadas. En la siguiente figura se han definido los dos sistemas de
referencia necesarios para describir el movimiento. El movimiento se produce en el plano vertical OYZ,
estando las fuerzas contenidas en el mismo. Se definen pues dos sistemas de referencia: el sistema de
referencia inercial (0) y el que gira respecto a éste (1). Ambos sistemas comparten el mismo centro de
referencia O y los ejes OX 0 y OX1 coinciden. En la siguiente Figura 21 se muestran ambos sistemas de
referencia:

𝑧0
𝑧1
𝑦1
1

O
0 𝑦0
𝑥0 ≡ 𝑥1

Figura 21. Definición de ejes


22 y sistemas de referencia
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
23
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
Según los ejes escogidos y las características del movimiento del sistema contenido en el plano vertical OYZ,

se deduce que la velocidad angular tiene únicamente componente en el eje OX, siendo entonces ω ⃗⃗⃗⃗⃗0 = dt 𝑥 .
Por tratarse de un sistema indeformable y ser el punto O fijo, v⃗⃗⃗⃗⃗⃗
O
= 0, por lo que la expresión del momento
21
cinético en (4-4) para el sistema que se está analizando queda de la siguiente forma:

⃗⃗⃗
Γ0 = I0 ⃗⃗⃗⃗⃗⃗⃗ ⃗⃗⃗⃗⃗ ∧ v⃗⃗⃗⃗⃗⃗
ω21 + MOG O
21  ⃗⃗⃗
Γ0 = I0 ⃗⃗⃗⃗⃗

ω0 = IO dt 𝑥
Al derivar la expresión anterior del momento cinético con respecto al tiempo se obtiene:

⃗⃗⃗⃗O
dΓ dω
⃗⃗⃗⃗⃗O d2 θ
= IO = IO 2 𝑥
dt dt dt (4–5)

Por otro lado, del Teorema del momento cinético se sabe que:
N
⃗⃗⃗0

rn ∧ ⃗⃗⃗⃗
= ∑ ⃗⃗⃗ ⃗ ∧ ⃗⃗⃗⃗
Fn + C vO
dt (4–6)
n=1

Donde N es el número de fuerzas que intervienen en el sistema, 𝑟⃗⃗⃗𝑛 es el vector que une el punto O con el punto
donde se aplica la fuerza n y ⃗⃗⃗⃗
Fn las n fuerzas. En este caso, al ser O un punto fijo, la velocidad ⃗⃗⃗⃗
vO del punto O
es nula, quedando la ecuación anterior del Teorema del momento cinético (4-6) de la siguiente forma:
N
⃗⃗⃗0
dΓ (4–7)
rn ∧ ⃗⃗⃗⃗
= ∑ ⃗⃗⃗ Fn
dt
n=1

A partir de las ecuaciones (4-65 y (4-7) se llega a la siguiente relación:


N
d2 θ
rn ∧ ⃗⃗⃗⃗
I0 2 = ∑ ⃗⃗⃗ Fn
dt (4–8.1)
n=1

La ecuación (4-8.1) representa la ecuación ideal del movimiento del sistema a analizar. En la realidad se añade
un término más que representa el momento que genera la fuerza de rozamiento existente en el eje de giro del
sistema real, ya que el giro lo permite un rodamiento con un rozamiento finito. Dicho término va ligado a la
velocidad angular θ̇ y se representa como la velocidad angular por una constante B, conocida como constante
de rozamiento. En notación simple la ecuación queda de la siguiente forma:

Iθ̈ = ∑ r ∧ F
⃗ − Bθ̇ (4–8.2)

O, lo que es lo mismo:

Iθ̈ + Bθ̇ − ∑ r ∧ F
⃗ =0 (4–8.3)

Donde I es el momento de inercia del sistema, ∑ r ∧ F ⃗ es el sumatorio del producto vectorial de la posición
donde se aplica la fuerza respecto del eje de giro por la fuerza aplicada, y B es el coeficiente de rozamiento que
existe en el eje de giro de la estructura (rozamiento en el rodamiento en el caso de uso de la IMU o del
potenciómetro giratorio en caso contrario).
24
Comportamiento del Sistema

4.2.1.1 Fuerzas que intervienen en el momento cinético

En el apartado anterior se han comentado las fuerzas que actúan sobre la estructura móvil. En este apartado se
tienen en cuenta las fuerzas que intervienen en el momento cinético, que son las que crean un momento
alrededor del eje de giro O de la estructura y las necesarias para poder utilizar la ecuación (4-8.3). Dichas
fuerzas serán todas las fuerzas que actúan sobre el conjunto y que no pasen por el eje de giro, es decir, las que
generan momento:
⃗⃗⃗⃗𝐡 : Fuerza generada por giro de la hélice, aplicada en el eje de giro de la hélice y en dirección
- 𝐅
perpendicular a la barra.
⃗⃗⃗⃗𝐩 : Fuerza debido al peso total del conjunto barra-motor-soporte-hélice, aplicada en el centro de masas
- 𝐅
del conjunto.

La fuerza de empuje generada por la hélice coincide en todo momento con el eje OZ1 del sistema de referencia
(1) de la Figura 21. Por el contrario, la fuerza debida al peso coincide con el eje OZ0 . Para poder operar entre
ellas en la ecuación (4-8.3) hay que expresarlas en el mismo sistema de referencia.
Pasando las fuerzas al sistema de referencia (1) quedan de la siguiente forma:

⃗⃗⃗⃗
Fh = Fh ⃗⃗⃗
z1

⃗⃗⃗⃗
Fp = −mt g(cos θ ⃗⃗⃗
y1 + sen θ ⃗⃗⃗
z1 )

Donde 𝑚𝑡 es la masa total del sistema compuesto por la barra, el conjunto soporte-motor-hélice y el lastre, y 𝑔
es la gravedad.

4.2.2 Ecuación del movimiento

Por las características del sistema, se trata de un sistema no lineal cuyo comportamiento está representado por
la siguiente ecuación diferencial de segundo orden, obtenida sustituyendo el sumatorio por cada fuerza y
posición en la ecuación del movimiento (4-4.3):

d2 θ dθ (4–9.1)
I 2
+ B + mt g dc sen θ − dh Fh = 0
dt dt

O, lo que es lo mismo:

I θ̈(t) + B θ̇(t) + mt g dc sen θ(t) = dh Fh (t) (4–9.2)

Ecuación que relaciona la fuerza de empuje que ejerce la hélice (entrada del sistema, Fh (𝑡)), con el ángulo que
forma la barra con la horizontal (salida del sistema, 𝜃(𝑡)), permitiendo conocer su posición en todo instante
de tiempo. En la ecuación (4-9) se ha llamado 𝑑𝑐 a la distancia desde el eje de giro O al centro de gravedad del
conjunto, y 𝑑ℎ a la distancia del eje de giro de la hélice al eje de giro O del sistema.

La ecuación (4-9) es una ecuación diferencial de segundo orden no lineal. Para poder obtener la función de
transferencia que relacione la entrada con la salida habrá que linealizar la ecuación anterior en torno a un punto
de equilibrio. Se pretende encontrar la función de transferencia G(s) que represente el comportamiento del
sistema tal que:

24
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
25
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

Fh θ
G(s)

Figura 22. Entrada y salida de la función de transferencia G(s) que representa el sistema

4.2.3 Linealización de la función de transferencia

Con el fin de linealizar la ecuación (4-9), se considera la función 𝑓(𝜃̈ , 𝜃̇ , 𝜃, 𝐹ℎ ) de la forma:

𝑓(θ̈, θ̇, θ, Fh ) = I θ̈ + B θ̇ + mt g dc senθ − dH Fh = 0

Se define un punto de equilibrio conocido (𝜃̈0 = 0, 𝜃̇0 = 0, 𝜃 = 𝜃0 , 𝐹ℎ = 𝐹ℎ 0 ) tal que:

𝑓(0,0, θ0 , Fh 0 ) = mt g dc senθ0 − dH Fh 0 = 0 (4–10)

Se definen las variables incrementales 𝛼(𝑡) y 𝛽(𝑡), que dependen del punto de equilibrio:
α(t) = θ(t) − θ0 , α̇ (t) = θ̇(t) , α̈ (t) = θ̈(t)
β(t) = Fh (t) − Fh 0
Y se realiza el desarrollo en series de Taylor de la función f en torno al punto de equilibrio (𝜃̈0 = 0, 𝜃̇0 =
0, 𝜃 = 𝜃0 , 𝐹ℎ = 𝐹ℎ 0 ):
∂f ∂f ∂f ∂f
𝑓(θ̈, θ̇, θ, Fh ) ⋍ 𝑓(0,0, θ0 , Fh 0 ) + ] α̈ + ] α̇ + ] α+ ] β + ℴ(α2 , β2 ) = 0
∂θ̈ θ̈=0 ∂θ̇ θ̇=0 ∂θ θ=θ0 ∂Fh F =F
h h 0

2 2
Donde 𝑓(0,0, 𝜃0 , 𝐹ℎ 0 ) y ℴ(𝛼 , 𝛽 ) se pueden considerar nulos. Realizando las derivadas correspondiente en
(4-11.1) se obtiene a la ecuación ya linealizada en (4-11.2):

∂f ∂f ∂f ∂f (4–11.1)
] α̈ + ] α̇ + ] α+ ] β=0
∂θ̈ θ̈=0 ∂θ̇ θ̇=0 ∂θ θ=θ0 ∂Fh F =F
h h 0

I α̈ (t) + B α̇ (t) + mt g dc cosθ0 α(t) − dH Fh 0 β(t) = 0 (4–11.2)

A la ecuación (4-11) si se puede aplicar la transformada de Laplace, con el fin de obtener la función de
α(s)
transferencia G(s) = β(s). Usando la propiedad de la transformada de Laplace de la derivada se llega a:
26
Comportamiento del Sistema

I [s 2 α(s) − sα(0) − α̇ (0)] + B [sα(s) − α(0)] + mt g dc cosθ0 α(s) − dH Fh 0 β(s) = 0 (4–12)

Considerando las condiciones iniciales nulas y despejando, se obtiene la siguiente función de transferencia
aproximada del sistema, con entrada la fuerza que genera el giro de la hélice y salida el ángulo que forma la
barra con la vertical:

θ(s) α(s) dH Fh 0 (4–13)


G(s) = ≃ = 2
Fe (s) β(s) Is + Bs + mt g dc cos θ0

4.2.3.1 Momento de Inercia y coeficiente de rozamiento

En la ecuación (4-13) se tiene como dato conocido los valores de la fuerza, la posición en el punto de
equilibrio (ángulo), la masa total del sistema, el valor de la gravedad y la distancia del eje de giro de la hélice
al eje de giro de la barra. Sin embargo, tanto la posición del centro de gravedad como la inercia o el coeficiente
de rozamiento son incógnitas del problema y difíciles de calcular teóricamente:

Incógnitas
dH Fh 0
G(s) = Fh 0 , θ0 , mt , g, dH Conocido
Is 2 + Bs + mt g dc cos θ0
I, B, dc Desconocido

El momento de inercia de un sistema se puede calcular de forma teórica aplicando la definición de momento
de inercia. Lo que se suele hacer para estructuras complejas es dividirlas en partes con formas geométricas
simples para calcular el momento de inercia de cada parte por separado y sumarlas posteriormente, obteniendo
el momento de inercia total. Sin embargo, solo es útil cuando la estructura está formada por elementos con una
geometría simple (cuadrado, rectángulo, circunferencia, etc.) cuyo momento de inercia se puede calcular
fácilmente. Este no es el caso, por lo que el momento de inercia se pretende obtener a partir de diferentes
pruebas experimentales que permiten una aproximación del valor.
Lo mismo ocurre con el coeficiente de rozamiento. No es un parámetro fácil de obtener o medir, por lo que se
obtendría una aproximación a través de pruebas experimentales.
La posición del centro de gravedad se obtiene directamente de la ecuación (4-10) en un punto de equilibrio
conocido, aunque para ello se ha de conocer antes los valores de la fuerza de empuje.
Estas pruebas experimentales se detallan más adelante en el Capítulo 7.

26
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

5 MODELO DE SIMULINK

Este capítulo se centra en las características del modelo de Simulink creado así como los diferentes bloques
que intervienen en él.
Se comienza por una introducción a las necesidades que debe satisfacer el modelo, para posteriormente
centrarse en los diferentes bloques utilizados y en el modelo definitivo.

5.1 Características del modelo en Simulink


En el proyecto que se realiza intervienen tanto señales de control como de información, utilizadas para
intercambiar datos entre un ordenador y un sistema con dispositivos electrónicos. Se ha escogido una placa
Arduino como dispositivo que permite la conexión entre el sistema y el ordenador, de tal modo que se conecta
al ordenador a través de una conexión USB y a los dispositivos electrónicos a través de los pines de salida y
entrada. Surge pues la necesidad de algún tipo de software capaz de interactuar con la placa Arduino desde el
ordenador, es decir, enviar y recibir señales con el Arduino. Como se ha comentado anteriormente, el software
utilizado en el ordenador para trabajar con dicha información es el entorno Simulink de Matlab, y para ello se
ha de crear un modelo que realice las funciones necesarias que permitan el control del sistema.
El modelo se puede dividir en dos partes principalmente:
 una que se encarga del envió de la señal de control PWM que va desde el Arduino hacia el ESC y
que actúa sobre la velocidad de giro del motor, y
 otra parte encargada de la recepción de los datos del sensor que mide el ángulo.

Habrá que utilizar bloques de envío y recepción de información, y éstos dependerán del tipo de señales y de
comunicación de los sensores.
Se parte del siguiente esquema:

ORDENADOR ARDUINO SISTEMA

Senal de
control del
motor Senal PWN
Bloques de envío

Conexion Conexion
USB por θ
Pines

Bloques de recepción
Comunicacion
Datos IMU
I2 C
Datos
MODELO SIMULINK Senal analogica SISTEMA FISICO
Potenciometro

Figura 23. Esquema del flujo de información entre Ordenador-Arduino-Sistema


28
Modelo de Simulink

Hay que crear dos modelos diferentes dependiendo de si se usa la IMU o el potenciómetro como sensor de
medida del ángulo.

5.1.1 Características de la comunicación entre componentes

Por un lado, la comunicación entre el Arduino y el variador del motor o ESC consiste en una señal modulada
por ancho de pulso (PWM), que se envía desde el Arduino hacia el ESC por uno de sus pines. Ya que el
Arduino dispone de pines de salida digital que pueden usarse como salida de señal PWM, sólo hay que
configurar uno de esos pines como salida PWM y enviar la señal por éste. Esto se puede hacer desde Simulink
con un paquete de bloques especial para Arduino disponible para descargar de forma gratuita desde la página
web de Matlab y que contiene un bloque específico para realizar el envío de señales PWM por el pin que se
desee del Arduino. Se comentará este paquete más adelante.

Pines PWM Comunicación I 2 C

Alimentación Pines entrada/salida analógica


Figura 24. Pines de señal PWM, entrada y salida analógica y de comunicación I 2 C del Arduino Mega 2560

Por otro lado se tiene que realizar la comunicación entre Arduino e IMU o Arduino y potenciómetro.
La comunicación entre el sensor inercial IMU y el Arduino es comunicación tipo I 2 C. No se va a entrar en
detalle en que consiste la comunicación I 2 C, pero si se ha de saber que el bus I 2 C consta de dos líneas
conocidas como SDA y SCL, línea de datos y de reloj, respectivamente. Arduino Mega dispone de dos pines
que permiten realizar este tipo de comunicación: 20 y 21. Para transmitir la información se conectan los pines
SDA y SCL de la IMU con los pines 20 (SDA) y 21 (SCL) del Arduino Mega, a parte de los pines de
alimentación y de masa. Existen librerías disponibles en internet para programar Arduino de tal forma que
permita la adquisición de los datos enviados a través de estos pines por comunicación I 2 C.
En el caso del potenciómetro no se requiere de una comunicación compleja. Se trata de un sensor activo que
proporciona en todo momento una señal analógica por uno de sus pines, por lo que alimentando el sensor y
conectando este pin a un pin entrada analógica del Arduino es suficiente para obtener la medida del
potenciómetro.
El modelo en Simulink para el caso de la IMU debe ser capaz de:
 Enviar señales PWM a través de Arduino.
 Recibir a través de Arduino información por comunicación I 2 C.
El modelo en Simulink para el caso del potenciómetro debe ser capaz de:
 Enviar señales PWM a través de Arduino.
 Recibir y medir a través de Arduino la señal analógica que proporciona el potenciómetro giratorio.

28
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
29
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
5.1.2 Simulink Support package for Arduino Hardware

Una vez se conocen el tipo de señales con las que hay que trabajar, hay que plantearse cómo se va a configurar
el Arduino para tratar dichas señales y que tipo de bloques hacen falta utilizar en Simulink. Como se ha
comentado, Arduino dispone de su propio Software y código de programación (Cap. 3, Figura 15), a través
del cual se puede programar el dispositivo para que realice infinidad de funciones. Ya que Arduino y
Ordenador se conectan por USB con comunicación serial, y Simulink dispone de bloques que permiten enviar
y recibir información por comunicación serial a través del puerto USB, se observa que una opción es
programar el Arduino para que reciba la señal de control del motor desde el ordenador por el USB, haga las
conversiones necesarias y la transmita por un pin PWM hacia el ESC. De igual forma, se podría programar
para que reciba la señal de información de la IMU a través de los pines de comunicación I 2 C o la señal del
potenciómetro por los pines analógicos y enviar esa información hacia el ordenador en el entorno de Simulink
por comunicación serial. Este método fue el usado inicialmente para las primeras conexiones entre Arduino y
Simulink y que, aunque permite controlar el motor y recibir los datos, presenta dos inconvenientes
importantes:
 Se necesita programar Arduino con un código que realice la comunicación serial con el
ordenador, así como generar la señal PWM y comunicación con la IMU o potenciómetro.
 El modelo utilizado en Simulink usando los bloques de comunicación serial no permite la
simulación en modo External, es decir, no permite la simulación en tiempo real, algo necesario
para realizar el control.

Una vez sabido esto, se plantea el objetivo de que la programación del Arduino se haga desde Simulink y que
el modelo pueda simularse en tiempo real. Es decir, que sólo sea necesario crear un modelo en Simulink sin
tener que programar el Arduino escribiendo en código, y que la programación se haga de forma directa desde
Simulink. Para ello Matlab pone a disposición del usuario un paquete especial de Arduino para Simulink, la
librería Simulink Support Package for Arduino Hardware, la cual se muestra en la Figura 25.

Figura 25. Librería de bloques ‘Simulink Support Package for Arduino Hardware’
30
Modelo de Simulink

En la Figura 25 se muestran los diferentes bloques disponibles para Arduino que permiten:
 Configurar un pin como pin de entrada o salida digital y recibir o enviar datos a través de él.
 Configurar un pin como pin de entrada o salida analógica y recibir o enviar datos a través de él.
 Configurar un pin para enviar por él señales PWM.
 Enviar o recibir información por Comunicación Serial.
 Envío y recepción de señales tipo servo.

El uso de esta librería permite al usuario evitar tener que programar en código arduino ya que, una vez creado
el modelo, éste se carga en la placa Arduino desde Simulink, programándose de forma automática.
Por las características de los dos modelos que se necesitan se van a utilizar dos bloques de esta librería:
 El bloque “PWM” que permite configurar un pin para enviar una señal tipo PWM desde el Arduino
con el valor que se indique en Simulink.
 El bloque “Analog Input” que permite configurar un pin como entrada de señal analógica.
Para la comunicación I 2 C que necesita la IMU, al no disponer de un bloque específico para ello, se utilizará
otro método que se explica en un apartado más adelante.

5.1.2.1 Instalación del paquete Arduino en Simulink

Para instalar el paquete Simulink Support Package for Arduino Hardware en el entorno de Matlab hay que
seguir los siguientes pasos:
1. Iniciar el instalador desde la ventana de comandos de Matlab escribiendo lo siguiente:

2. Al pulsa Intro aparece la ventada siguiente donde se da la opción de seleccionar el origen del paquete
a instalar. Si se dispone de conexión a internet, seleccionar Install from Internet y pulsar en Next >.

3. A continuación se debe seleccionar el paquete a instalar de la lista que aparece, que en este caso será
Arduino. En la Figura 26 se muestra la ventana que aparece, a la izquierda se puede ver la lista de
paquetes disponibles, se selecciona Arduino y la derecha debería aparecer Install (en este caso aparece
Reinstall porque ya ha sido instalado), seleccionar, pulsar en Next > y seguir los pasos de instalación.

30
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
31
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

Figura 26. Lista de paquetes disponibles para Matlab donde hay que seleccionar Arduino

Para la instalación es necesario tener una cuenta activada de Matlab, la cual se puede obtener de forma gratuita
en su página web http://es.mathworks.com/.
Una vez instalado el paquete, debería aparecer en la librería de bloques de Simulink tal y como se muestra en
la Figura 25.

5.1.3 Simulación en Tiempo Real. Modo External

Se ha hecho referencia anteriormente a la necesidad de simular el modelo de Simulink en tiempo real. Al


tratarse de un modelo que interactúa en todo momento con componentes físicos externos (Arduino, IMU,
motor, potenciómetro,…) es necesario que la simulación sea en tiempo real con el fin de verificar las
interacciones del mismo, ya que están diseñados para un funcionamiento exclusivamente en tiempo real. De
igual modo, si se quiere realizar un control sobre el sistema, al ser éste un sistema real con respuesta en tiempo
real ante cambios es necesario una simulación en tiempo real que responda a las exigencias del sistema.
En la Figura 27 se muestra el desplegable que aparece para seleccionar entre los diferentes modos de
simulación de Simulink. El modo Normal es el modo más flexible pero tiene el inconveniente de que es el más
lento, siendo en ocasiones el tiempo de simulación muy diferente al tiempo real. Los modos Accelerator y
Rapid Accelerator permiten una simulación más rápida que el modo normal pero limita las características del
modelo y sigue sin garantizar una simulación en tiempo real. Software in the Loop y Processor in the Loop se
suelen utilizar para funciones de pruebas de software del modelo o el código. El modo que interesa en este
caso es el modo External.

Figura 27. Selección del modo de simulación External en el entorno Simulink


32
Modelo de Simulink

El modo External permite modificar los parámetros y visualizar los datos del modelo de Simulink mientras se
está ejecutando en el hardware Arduino en tiempo real. Esto permite un ajuste de parámetros más cómodo y
rápido, ya que se puede visualizar en tiempo real cómo reacciona el sistema antes cambios de las variables
durante la simulación.
El uso del modo externo conlleva algunas limitaciones del modelo:
 No se pueden configurar bloques de envío y recepción por el puerto serie 0 debido a que el
modo externo utiliza dicho puerto. En su lugar, permite utilizar bloques de comunicación serie
con conexión Wi-Fi o el modo externo de TCP / IP.
 No se puede utilizar los siguientes bloques servo para Arduino: Standard Servo Read, Standard
Servo Write y Continuous Servo Write.
Estas limitaciones no afectan a nuestro modelo ya que el bloque que se va a utilizar es el envío de señal PWM
y entrada de señal analógica.

5.2 Preparación de parámetros del modelo Simulink


Antes de empezar a crear el modelo se han de ajustar los parámetros según las necesidades. Para ello, abrir un
nuevo modelo siguiendo los siguientes pasos:
1. Para abrir la librería de Simulink basta con escribir en la ventana principal de Matlab la palabra
simulink o pulsar en la pestaña que aparece en la barra de herramientas de Matlab en la que pone
“Simulink Library”.

Figura 28. Formar de iniciar Simulink: escribir simulink (izquierda) o pulsar en Simulink Library (derecha)

2. Una vez aparece la librería de Simulink, hacer click en la ventana “New Model” que aparece en la
parte superior izquierda para abrir un nuevo modelo:

Figura 29. Crear nuevo modelo en Simulink

3. En el modelo nuevo que aparece, ir a la barra de herramientas y hacer seleccionar la pestaña “Tools”
”Run on Target Hardware”  “Prepare to Run…” para configurar los parámetros correspondientes
del modelo para que funcione con el Arduino Mega.

32
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
33
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

3.1
3.3

3.2

Figura 30. Preparación del modelo para funcionar en Arduino Mega

4. Aparece entonces una nueva ventana (Configuration Parameters), en la cual en el apartado Run on
Target Hardware hay que indicar el “Target Hardware” en el que se va a simular el modelo, que en
este caso será el Arduino Mega 2560:

4.2
4.1

Figura 31. Selección del Hardware Arduino Mega 2560

Al seleccionar el Arduino Mega 2560 aparecen diferentes opciones de configuración. Lo único que
hay modificar es el tipo de conexión del puerto USB al que se conecta el Arduino para pasar de
“Automatically” a “Manually” (de selección automática a manualmente) e indicar el puerto al que se
conecta el dispositivo1:

4.3

4.4

Figura 32. Selección del puerto USB al que está conectado el Arduino

5. Una vez seleccionado el Arduino Mega como Hardware y el puerto al que está conectado, se procede
a configurar aspectos relacionados con el tipo Solver. Para ello, dentro del apartado Solver se realizan

1Se puede ver el número de puerto COM que corresponde al Arduino desde el Administrador de dispositivos de Windows (para que
aparezca debe estar conectado el Arduino).
34
Modelo de Simulink

los siguientes cambios y pulsar Apply:


5.1. Simulation Time  Stop Time: inf
5.2. Solver Options  Type: Fixed-step  Solver: discrete (no continuous states)
Fixed-step size (fundamental sample time): 0.05

5.1 5.2
5.3 5.4

5.5

Figura 33. Configuración de parámetros del apartado Solver

Con estos cambios lo que se está indicando es que el tiempo de simulación es ilimitado y se detendrá
cuando el usuario lo decida y que los bloques se ejecutarán en tiempo discreto y con paso fijo de 0.05
segundos.
Tras modificar los parámetros de configuración del modelo, se ha de seleccionar el modo External (Figura 27)
y, una vez creado el modelo que se quiere utilizar y antes de comenzar la simulación, pulsar en “Deploy to
Hardware” para cargarlo y programar el Arduino (asegurar que está conectado al puerto USB indicado en la
configuración de parámetros).

Figura 34. Deploy to Hardware

Aunque es recomendable realizar la configuración de parámetros al comienzo de la creación del modelo,


también se puede modificar una vez creado pero antes de comenzar la simulación. Una vez guardado el
modelo no es necesario volver a configurarlo.
Una vez hecho esto el modelo ya está listo para incluir bloques y realizar simulaciones. Para comenzar o parar
la simulación basta con pulsar los botones Run o Stop según corresponda.

5.3 Modelo de envío de señal PWM: Control del motor


En este apartado se detallan las características que debe tener la parte del modelo de Simulink que se encarga
de enviar la señal que aporta el movimiento de giro del motor. Gracias al bloque PWM que viene en la librería
de bloques de Arduino se puede enviar por el pin que se indique del Arduino la señal de información tipo
PWM que debe recibir el ESC para hacer girar el motor.
En la Figura 35 se muestra un modelo básico con los bloques necesarios para hacer girar el motor desde
Simulink. Se trata de un modelo bastante sencillo y que, como se puede ver en la ventana que aparece al hacer
doble click sobre el bloque PWM (a la derecha de la Figura 35), genera una señal PWM cuyo duty cycle2
depende del valor de entrada al bloque, que debe estar comprendido entre 0 y 255. Es decir, el bloque PWM
necesita una señal de entrada con valor entre 0 y 255 donde 0 corresponde a duty cycle de 0% y 255 a un duty

2 El duty cycle de una señal suele expresarse como el porcentaje de tiempo que se encuentra la señal activa dentro de un mismo periodo. En
la Figura 10 se puede ver un ejemplo de cómo varía el duty cycle de una señal PWM.

34
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
35
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
cycle del 100%. El porqué de que el valor máximo sea 255 es porque al Arduino se le transmite 1 byte (8 bits),
cuyo valor máximo en decimal es 255.
También hay que indicar en el bloque PWM el pin de salida analógica del Arduino que se va a utilizar, que en
este caso por ser Arduino Mega deberá ser uno de los pines de entre el 2 y el 13. Una vez hecho esto, bastará
con conectar el cable correspondiente del ESC al pin seleccionado.

Constant Slider Manual PWM


Gain Switch

Figura 35. Modelo sencillo de envío de señal PWM (izquierda) y ventana de


parámetros del bloque PWM (derecha)

El modelo está formado por varios tipos de bloques disponibles en la librería de Simulink:
 Bloques Constant que proporcionan un valor constante fijado por el usuario. El valor se puede
cambiar haciendo doble click sobre el bloque y escribiendo uno nuevo, y gracias al modo external se
puede cambiar tanto antes de la simulación como mientras se está simulando el modelo.
 Bloque Slider Gain que consiste en una ganancia variable cuyo valor se puede cambiar con un botón
deslizante entre el máximo y mínimo que se indique. Este bloque no es necesario pero aporta
comodidad a la hora de variar la el valor de la señal, ya que si se coloca como entrada al bloque una
constante de valor 1, la salida de la ganancia deslizante será el valor que indique la ganancia, lo cual
es más rápido que ir modificando el valor de la constante para cada cambio.
 Bloque Manual Switch que permite elegir de entre dos entradas posibles de forma manual. Se ha
utilizado para poder apagar el motor de forma rápida en caso de que sea necesario, colocando como
una de sus entradas una constante de valor cero.
 Bloque PWM que hace que el Arduino proporcione una señal de salida PWM por el pin que se
indique y con el duty cycle que corresponda al valor de entrada al bloque.
Con un bloque que proporcione una constante y el bloque PWM sería suficiente para crear la señal PWM, pero
el Switch y el Slider Gain aportan seguridad y comodidad durante la simulación (no olvidar que se está
moviendo una hélice a gran velocidad).

5.3.1 Arranque del motor

Antes de comenzar a simular y encender el motor hay que tener en cuenta varios aspectos. Lo primero es que
hay que armar el ESC antes de arrancar el motor. Para ello, se alimenta el ESC con la fuente de alimentación y
se le envía desde Ardunio una señal PWM con valor igual a 100 en Simulink, si suena un pitido es que el ESC
36
Modelo de Simulink

se ha armado correctamente. Una vez listo el ESC hay que ir aumentando progresivamente el valor de la señal
hasta que el motor comience a funcionar. Cuando el ESC se ha armado no hace falta volver a armarlo hasta
que no se desconecte la fuente de alimentación.
Cada motor arranca con un valor diferente. En este caso el motor utilizado comienza a moverse a partir del
valor de señal igual 150 desde Simulink, estando el ESC alimentado con una fuente a 10V. Antes de aplicar el
valor de 150, al empezar la simulación se debe enviar una señal con valor cero, posteriormente valor 100 para
armar el ESC, tras escuchar el pitido aumentar hasta el valor a 130 y esperar unos segundos para ya poder
enviar el valor de 150. Es posible que una vez haya arrancado, se pueda disminuir el valor de la señal por
debajo de 150 sin que se apague el motor.

5.4 Modelo de recepción de datos del potenciómetro giratorio


En caso de que se use un potenciómetro giratorio como sensor de medición del ángulo, el modelo a debe
incluir determinados bloques dedicados a la recepción de la información que aporta el potenciómetro. Como se
ha comentado anteriormente el potenciómetro aporta una señal analógica por uno de sus terminales cuyo valor
varía según la posición del potenciómetro. El valor de esta señal analógica puede ser medido desde uno de los
pines de entrada analógica de la placa Arduino. Para ello se ha de configurar el pin correspondiente como
entrada y visualizar el valor en Simulink. Todo ello se puede hacer usando los bloques disponibles en la
librería sin tener que escribir ningún código en Arduino.
En la Figura 36 se muestra un modelo sencillo que recibe la señal analógica y la muestra tanto en un display
como en una gráfica.

Scope

Analog Data Type Display


Input Conversion

Figura 36. Modelo básico de recepción de señal analógica (izquierda) y ventana de parámetros del
bloque Analog Input (derecha)

El modelo está formado por varios tipos de bloques disponibles en la librería de Simulink:
 Bloque Analog Input: proporciona la señal recibida por el Arduino desde el potenciómetro. Hay que
indicar el pin que se va utilizar como entrada haciendo doble click sobre el bloque e indicándolo en el
apartado Pin number.
 Bloque Data Type Conversion: convierte una señal de entrada de cualquier tipo de dato al tipo que se
le indique. Se utiliza para cambiar el tipo de dato de la señal a tipo double para evitar problemas al
utilizar la señal con otros bloques operacionales.
 Bloque Display: muestra el valor de la señal en cada instante. Es un bloque que permite ver de forma
rápida como varía la señal y el valor de la misma de forma visual.
 Bloque Scope: representa gráficamente la señal de entrada en el tiempo. Muy útil para ver su
evolución.

36
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
37
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
Como se puede ver, el modelo de recepción de datos del potenciómetro es sencillo y no requiere de una
comunicación compleja. La señal que se recibe esta en unidades de voltaje, por lo que en el modelo del
sistema habrá que incluir bloques que permitan obtener el valor en ángulo, que no es más que obtener la
relación entre voltaje-ángulo. Al ser un potenciómetro lineal esta relación se obtiene fácilmente.

5.5 Modelo de recepción de datos del sensor IMU


Ya se ha comentado en este mismo capítulo que la comunicación del sensor IMU utilizado (MPU 6050) con
Arduino es del tipo I 2 C. La librería de bloques específica para Arduino es limitada y no dispone de ningún
bloque que permita este tipo de comunicación, por lo que surge la necesidad de crear uno propio. Esto es
posible gracias al bloque S-Function de Simulink.
Los bloques S-Function están disponibles en la librería de Simulink. Permiten armar bloques programados en
lenguaje C y que funcionen en tiempo real. En [1] se encuentra disponible una guía muy completa de cómo
crear bloques S-Function para realizar funciones que no están disponibles en Simulink, aunque aquí se
utilizará un bloque ya creado.
El código que permite la comunicación I 2 C entre Arduino y el sensor MPU6050 es algo complejo y requiere
de conocimientos previos de programación. En internet hay disponible diferentes códigos que permiten esta
comunicación, algunos de ellos ya adaptados a la IMU que se utiliza. Es por ello por lo que se ha utilizado un
bloque S-Function disponible para descargar de forma gratuita desde [2] que realiza la recepción en Simulink
de los datos del acelerómetro y el giróscopo para el caso del sensor MPU6050 y proporciona como salida sus
valores en tiempo real.
En la Figura 37 se muestra el bloque S-Function descargado de internet (sf_MPU6050_Driver) el cual aporta
los datos de aceleración y velocidad angular en tres ejes perpendiculares entre sí (6 salidas).

Figura 37. Bloque S-Function que permite la comunicación I 2 C con el sensor MPU6050

Observando el datasheet [3] del sensor MPU 6050 se llega a que es necesario aplicar un factor de escala a los
valores en bruto que aporta el sensor para tener los datos de aceleración y velocidad angular en unidades de
gravedad y grados por segundo, respectivamente. Este factor de escala se puede aplicar en el código dentro del
propio bloque para que aporte los datos con las unidades directamente, o se puede hacer en Simulink a través
de bloques de ganancia. El factor de escala para pasar los datos del giróscopo a unidades de grados/segundo es
131, mientras que para pasar los datos del acelerómetro a unidades de gravedad (g) el factor de escala es de
16.384.
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

6 ELECCIÓN DEL SENSOR DE POSICIÓN

Hasta ahora se han detallado los componentes que forman el sistema, así como sus características principales y
funcionamiento. Se ha estudiado su comportamiento y se ha obtenido un modelo matemático del movimiento.
Se ha explicado el modelo de Simulink con los bloques que lo forman y cómo realizar la simulación. Pero
todavía no se ha comentado nada acerca de los resultados al aplicar toda la teoría a la práctica. Como se verá
en este capítulo, se encuentran limitaciones a la hora de llevar lo aprendido a la práctica, en concreto con los
resultados obtenidos del sensor IMU para medir la posición, siendo necesario estudiar los resultados
experimentales y elegir entre este sensor o el potenciómetro como medidor del ángulo.

6.1 Medición del ángulo con sensor inercial MPU6050


En Capítulos anteriores se han indicado las características de los sensores de medidas inerciales o IMU. Estos
proporcionan medidas de aceleración y velocidad angular medidos por un conjunto de acelerómetros y
giróscopos. Tanto el acelerómetro como el giróscopo miden los datos en tres ejes perpendiculares entre sí.
Como ya se comentó anteriormente, el inconveniente es que, debido a que integra los valores de la posición y
velocidad constantemente, aparece un error acumulativo que crece con el tiempo. También aparece un error en
la medida del ángulo debido a que el acelerómetro mide cualquier tipo de aceleración que a veces no son
deseables, como son las vibraciones que produce el motor al estar encendido. Por ello suele ser necesario
aplicar algún tipo de filtro a las medidas que se obtienen de la IMU antes de utilizarlas para poder obtener
datos fiables y precisos.
Suponiendo que la única aceleración que actúa sobre la IMU es la de la gravedad se puede calcular, con los
datos del acelerómetro, la posición respecto de la vertical. Para ello se coloca uno de los ejes del acelerómetro,
por ejemplo el eje X, paralelo a la horizontal en todo momento de modo que la IMU solo puede girar en el eje
X. Entonces, si la IMU se encuentra como paralela al suelo como en la posición A de la Figura 38, el valor
medido por el acelerómetro en el eje Z es igual a la gravedad. Si la IMU gira respecto del eje X como se
representa en la posición B, entonces la dirección de la gravedad forma un ángulo con los ejes Y y Z que se
puede medir.

Y
IMU
IMU

θ
⃗⃗
𝒈 ⃗⃗
𝒈
(A) (B)

Figura 38. Posición de la IMU respecto de la gravedad


40
Elección del sensor de posición

Una de las formas de medir la posición es llamando ac_z y ac_y al valor medido por el acelerómetro en el eje
Z e Y respectivamente, y aplicando la siguiente relación que define el ángulo con la vertical:

𝑎𝑐_𝑥 𝑎𝑐_𝑧
tg θ = 𝑎𝑐_𝑦  𝜃𝑎𝑐𝑒𝑙 = arctg(𝑎𝑐_𝑦) (6–1)

La ecuación (6-1) permite obtener el valor del ángulo girado con los datos que proporciona el acelerómetro.
Pero también se puede calcular la posición con los datos del giróscopo. Al proporcionar la velocidad angular
en cada eje, que no es más que la derivada de la posición, se puede integrar se obtiene la posición.
Si se conoce el ángulo inicial de la IMU, se puede sumar el valor que marca el giroscopio para obtener el
ángulo en cada momento. Llamando vel_x a la velocidad angular medida por el acelerómetro en el eje X y 𝑡𝑚
el tiempo de muestreo de la señal, se tiene la ecuación siguiente:

𝜃𝑔𝑖𝑟𝑜 (𝑡) = 𝜃(𝑡 − 1) +vel_x·𝑡𝑚 (6–2)

𝜃(𝑡) representa el ángulo actual y 𝜃(𝑡 − 1) el ángulo correspondiente a la medición anterior.

Las ecuaciones (6-1) y (6-2) salen de aplicar la teoría, pero al aplicarlas a la realidad se obtiene resultados
diferentes. El ruido y los errores afectan constantemente a las mediciones que realiza la IMU, por lo que puede
que la posición obtenida con estas ecuaciones no sea la real.
En estos casos se suele aplicar algún tipo de filtro que combine los datos de aceleración y velocidad angular,
eliminando el ruido que aparece en el acelerómetro y la desviación del giróscopo. Hay diferentes filtros que se
utilizan para este tipo de señales, como el filtro de Kalman o el filtro complementario. Por la complejidad del
filtro de Kalman se ha escogido el filtro complementario para calcular una aproximación del ángulo.
El filtro de paso bajo consiste en una fusión de dos filtros: uno de paso alto para el giróscopo y otro de paso
bajo para el acelerómetro. El filtro de paso alto deja pasar los valores por encima de un cierto límite, mientras
que el de paso bajo solo permite los que están por debajo. La ecuación del filtro complementario tiene la
siguiente forma:

𝜃 = 0.98 ∗ (𝜃 + 𝜃𝑔𝑖𝑟𝑜 · 𝑡𝑚 ) + 0.02 ∗ 𝜃𝑎𝑐𝑒𝑙 (6–3)

Donde 𝜃𝑔𝑖𝑟𝑜 es el ángulo calculado con la ecuación (6-2) y 𝜃𝑎𝑐𝑒𝑙 el obtenido con la ecuación (6-1).

6.1.1 Pruebas experimentales con IMU

Se van a realizar algunas pruebas experimentales para ver la precisión de resultados que se obtienen. Para ello
se utiliza un modelo parecido al que se muestra en la Figura 37 del capítulo anterior.
Lo primero es ver cómo responde la señal con el motor encendido y apagado. En la Figura 39 se muestra un
ejemplo de la señal de salida en bruto (sin aplicar el factor de escala) de uno de los ejes del acelerómetro. Se
puede ver cómo mientras el motor está apagado la señal es sensible a pequeñas variaciones, pero es al
encender el motor cuando los datos del acelerómetro se ven completamente afectadas por el ruido que produce
el motor debido a las vibraciones.

40
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
41
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

MOTOR MOTOR ENCENDIDO


APAGADO

Figura 39. Señal proporcionada por el acelerómetro durante una simulación con el motor
apagado y encendido

Se va a probar en una simulación a aplicar el filtro complementario a la señal para ver la medida del ángulo
que aporta. En la Figura 40 se han representado los resultados de la respuesta del sistema ante un escalón de
entrada. Se ve que la señal no es muy precisa y que, estando el sistema en equilibrio, los valores del ángulo que
se mide oscilan en torno a diez grados alrededor del ángulo real.

Figura 40. Ángulo medido desde Simulink aplicando el filtro complementario a los datos de la IMU
42
Elección del sensor de posición

6.2 Medición del ángulo con sensor potenciómetro giratorio


La medición de la posición usando un potenciómetro giratorio es relativamente sencilla y su precisión
dependerá de la precisión y calidad del mismo. Como se ha explicado anteriormente, un potenciómetro
proporciona una señal analógica variable que mide un voltaje y que varía según la posición del botón giratorio.
La gran ventaja respecto a la IMU es que no se ve afectado en gran medida por las vibraciones que introduce
el movimiento del motor y permite obtener valores de posición más que fiables.
Al tratarse de un potenciómetro lineal y con rotación limitada de 300º aproximadamente, proporciona una
señal lineal que varía entre dos valores, máximo y mínimo. Sabiendo esto se puede encontrar de forma directa
la relación entre el valor de señal analógica y valor en ángulos de la forma Á𝑛𝑔𝑢𝑙𝑜 = 𝑓(𝑆𝑒ñ𝑎𝑙_𝑎𝑛𝑎𝑙𝑜𝑔).
Para ello basta con resolver una ecuación lineal de la forma 𝑦 = 𝐴𝑥 + 𝐵, donde la variable dependiente ‘y’
sea el ángulo o posición y la variable independiente ‘x’ el valor de la señal analógica que proporciona el
potenciómetro. Las constantes A y B se obtienen de forma experimental midiendo las variables x e y en dos
puntos diferentes.

6.2.1 Pruebas experimentales con potenciómetro

Las pruebas se realizan con el modelo de Simulink similar al de la Figura 36 que recibe la señal analógica del
potenciómetro desde arduino y permite visualizar y operar con los datos.
En la siguiente gráfica (Figura 41) se muestra el valor bruto que proporciona el potenciómetro en una
simulación del sistema. En la gráfica se muestra una zona en la que el motor está apagado y el valor del
potenciómetro es constante, hasta el momento en el que se enciende alrededor del segundo 25 y varía su valor
al cambiar de posición el sistema.

MOTOR APAGADO

MOTOR ENCENDIDO

Figura 41. Señal analógica proporcionada por el potenciómetro durante una


simulación con el motor encendido y apagado

Si se observa la señal mientras el motor está apagado se aprecia que la señal es estable y que apenas hay ruido.
El potenciómetro se encuentra inmóvil en equilibrio y así lo refleja la señal. En el momento en el que se

42
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
43
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
enciende el motor, el sistema se mueve, el ángulo de la barra varía y el botón giratorio del potenciómetro
cambia de posición como se ve en la Figura 41. Tras uno o dos segundos de oscilación, la barra alcanza de
nuevo el equilibrio a una determinada posición y el potenciómetro vuelve a proporcionar una señal constante
aunque con variaciones puntuales, producidas por el ruido que proporciona el movimiento del motor.
Comparándolo con el caso de la IMU se puede ver como la señal del potenciómetro presenta mucho menos
ruido una vez el motor está encendido y que los datos son mucho más fiables y precisos.

Hay que tener en cuenta que el valor de la señal no se ha cambiado aún a unidades de grados. Para obtener el
valor en grados habrá que obtener la aproximación lineal comentada al inicio de este apartado.
Se tiene la siguiente ecuación lineal
𝑦 = 𝐴𝑥 + 𝐵
Donde la variable y representa el valor en ángulos de la variable x. Se va a obtener el valor de las constantes A
y B para el caso en el que el valor mínimo del potenciómetro se corresponde con 0º. Para ello se coloca la
posición del potenciómetro en uno de sus extremos y se mide el valor de la señal. Con ayuda de un
transportador de ángulos se gira el potenciómetro 90º y se vuelve a medir el valor de la señal. Teniendo estos
dos puntos (x0,y0) y (x1,y1) se obtiene la ecuación buscada.

Figura 42. Límites del valor de la señal analógica del potenciómetro: 0 y 1023

El valor de la señal analógica que proporciona el potenciómetro varía entre 0 y 1023 como se puede ver en la
Figura 42. Para sacar la relación entre el valor de esta señal y el ángulo que forma, se asigna al valor 1023 el
valor en ángulo de 0 grados. Si ahora se gira 90º tenemos que el valor correspondiente a 90º es 693, es decir:
𝑦0 = 0ᵒ → 𝑥0 = 1023
𝑦1 = 90ᵒ → 𝑥1 = 693
Haciendo cálculos sencillos se llega a la ecuación antes planteada que relaciona el ángulo con la señal
analógica:
𝑦 = 𝐴𝑥 + 𝐵 = −0.273𝑥 + 279
44
Elección del sensor de posición

Figura 43. Relación entre ángulo girado en el potenciómetro y señal analógica

Al ser una ecuación sencilla, se puede implementar en Simulink utilizando ganancias y sumadores:

Figura 44. Bloque para implementar la ecuación que relaciona la señal del potenciómetro con el
valor en ángulos de su posición

Ya que la posición de 0º de la barra no coincide con la posición de 0º del potenciómetro, se puede ajustar el
valor de la constante Constant de la Figura 44 con la intención de que la salida en ángulos sea el ángulo real
del sistema y no el del potenciómetro. Simplemente colocando el sistema en la posición de 0º de forma visual,
se anota el valor que se obtiene en grados en Simulink y se resta o suma al valor de la constante para que el
valor en Simulink también sea 0º.
Una vez se tiene el valor en ángulos del giro del potenciómetro se vuelve a medir para el caso en el que el
motor está encendido para comprobar cómo afecta el ruido procedente de las vibraciones que aparecen. En la
Figura 45 se muestra la señal del ángulo antes y después de encender el motor frente al tiempo. Hasta los 15
segundos aproximadamente el motor se encuentra apagado y la posición del sistema es de alrededor de -4.5º,
siendo la señal estable y con variaciones mínimas. A partir del segundo 15 se enciende el motor y la posición
cambia varios grados hasta colocarse en 0º aproximadamente. En este caso la señal es en general estable pero
aparecen ciertos picos de ruido debido a las vibraciones que produce el motor. Aún presentado estos picos de
44
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
45
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
ruido se puede considerar que aporta valores fiables de la posición del sistema.

Ruido

Encendido del
motor

Figura 45. Señal de ángulo antes y después de encender el motor

Tras los resultados obtenidos para ambos sensores se ha escogido finalmente el potenciómetro giratorio como
sensor de medida del ángulo, ya que aporta una medida más precisa y fiable que en el caso de la IMU.
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

7 CONTROL DEL SISTEMA

7.1 Identificación de Parámetros

7.1.1 Característica estática

La característica estática de un sistema es la relación entre la entrada y la salida en régimen permanente.


En este proyecto se tiene que la entrada al sistema es la fuerza que genera la hélice, mientras que la salida es la
posición del sistema, expresada a través de un ángulo θ.
El esquema general es el siguiente:

Fh Sistema θ
G(s)
Figura 46. Entrada y salida del sistema a controlar

Se tiene que la entrada que se le da al sistema es la fuerza que se desea que genere la hélice para que se alcance
una determinada posición. A priori, lo único que se conoce es el rango del valor de la señal de control que hay
que introducir en el sistema para que se mueva el motor, pero no la fuerza que genera el movimiento de la
hélice. Esta fuerza depende de la forma de la hélice, velocidad de giro o densidad del aire, que son datos
complicado de medir. Para obtener el valor de la fuerza se calcula la característica estática de la fuerza
generada por la hélice en función de la señal de control, y obtener así una relación entre la fuerza y la señal de
control.
De esta forma, se puede representar el sistema de la Figura 46 dividido en dos subsistemas, de tal forma que:

Fe Relación
Señal de
Control
θ
Sistema
Fe -SC

Figura 47. Entradas y salidas de cada subsistema


48
Control del Sistema

Una vez se conoce la relación entre la fuerza generada por la hélice y su valor correspondiente de la señal de
control se puede obtener la característica estática del sistema completo, que tiene como entrada la fuerza de
empuje generada por la hélice, y salida la posición del sistema.

7.1.1.1 Característica estática de la fuerza generada por la hélice en función de la señal de control
La necesidad de conocer el valor de la fuerza que genera la hélice (en Newtons) lleva a obtener la
característica estática de ésta frente a la señal de control, de forma que quede definido el valor de la fuerza en
función del valor de la señal de control. Esto permite que la entrada del sistema se de en valores de Fuerza o
Newtons.
La característica estática se obtiene de manera experimental como se comenta a continuación. Se considera
como señal de entrada la señal de control, que se envía desde Simulink, y señal de salida a la fuerza de empuje
que genera el giro de la hélice. El objetivo es definir el valor de la fuerza para cada valor de la señal de control.

Por teoría de mecánica de fluidos se sabe que la fuerza de sustentación que genera un perfil aerodinámico que
se desplaza dentro de un fluido viene definido por la siguiente expresión:

1 (7–1)
L = ρV 2 SCL
2
Dónde L es la sustentación del perfil (Lift en inglés), ρ es la densidad del fluido, V es la velocidad relativa del
fluido respecto al perfil, S es la superficie del perfil y 𝐶𝐿 es el coeficiente de sustentación del perfil.
Dicha ecuación podría aplicarse al caso que nos ocupa, ya que una hélice no es más que un perfil
aerodinámico que se mueve de forma giratoria, es decir, que tiene una velocidad respecto del aire, por lo que
produce sustentación o empuje. Pero por otra parte, el coeficiente de sustentación 𝐶𝐿 no es una variable fácil
de medir ya que depende de la forma del perfil de la hélice. Es por ello por lo que medir de forma teórica la
sustentación o fuerza que produce la hélice no es posible con los instrumentos que se disponen en el área de
trabajo. Pero hay otros métodos experimentales que permiten obtenerla, como el que se va a aplicar a
continuación.

Para medir la fuerza que ejerce la hélice se ha recurrido a un método experimental en el que se mide
directamente la fuerza que ejerce la hélice en movimiento a través de un peso. El peso utilizado tiene precisión
de un gramo y es el que se muestra en la Figura 48.

Figura 48. Peso utilizado para medir la fuerza de empuje que genera la hélice

Para realizar la medición se ha modificado la estructura, cambiando la barra que se utiliza por una de mayor
48
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
49
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
longitud para poder apoyar el extremo opuesto al motor sobre el peso como se muestra en la Figura 49.

𝑙𝐻 𝑙𝑃

FH Fp

PESO

Figura 49. Medición experimental de la fuerza generada por el giro de la hélice

Se ha colocado el sistema de tal forma que, estando el motor apagado, la barra se encuentra en equilibrio y
apoyada sobre el peso. De esta forma, al ser un sistema indeformable, toda fuerza que se genere hacia arriba en
el extremo de la barra donde se encuentra la hélice es medida hacia abajo en el extremo opuesto con el peso.
Dicha medida se obtiene con precisión de un gramo, por lo que habrá que pasarla a Newtons. Ya que el
sistema está en equilibrio, el momento generado por la fuerza que genera la hélice se compensa por el
momento generado por la fuerza de reacción que produce el peso, de tal forma que hay equilibrio de
momentos e igualando la relación fuerza por distancia se obtiene que:

𝐹𝐻 𝑙𝐻 = 𝐹𝑃 𝑙𝑃 (7–2)

Donde 𝐹𝐻 es la fuerza generada por la hélice, 𝑙𝐻 la distancia del eje de giro del sistema al eje de giro de la
hélice, 𝐹𝑃 es la fuerza medida por el peso (obtenida en gramos) y 𝑙𝑃 la distancia del peso al eje de giro del
sistema. En la ecuación (7-2) la única incógnita es 𝐹𝐻 , la cual se puede despejar directamente, quedando:

𝑙𝑃 (7–3)
𝐹𝐻 = 𝐹
𝑙𝐻 𝑃

Con lo que, conociendo las respectivas distancias al eje y el valor medido por el peso se puede obtener una
medición aproximada del valor de la fuerza que genera la hélice. Ya que el valor de fuerza que proporciona el
peso está en gramos, habrá que pasar la fuerza a Newtons, usando la siguiente relación:

m 1 kilogramo (7–4)
F[Newtons] = F[gramos] ∗ gravedad [ 2 ] ∗
s 1000 gramos
50
Control del Sistema

𝑚
Considerando el valor de la gravedad igual a 9.81 𝑠2 , la ecuación (7-4) queda de la siguiente forma:

F[Newtons] = 9.81 ∗ 10−3 ∗ F[gramos] (7–5)

La medición de la característica estática se ha realizado siguiendo estos pasos:

1. Se coloca el sistema como se muestra en la Figura 49, de tal forma que la barra queda apoyada en el
peso estando el motor apagado. Se anota el valor que marca el peso antes de encender el motor.
2. Se activa el motor con el valor mínimo de la señal de control que produce movimiento, y se anota el
valor medido por el peso en régimen permanente, es decir, una vez alcanzado el equilibrio.
3. Se aumenta la señal de control de 5 en 5 unidades hasta llegar a 255, anotando el valor medido por el
peso en régimen permanente correspondiente a cada valor de entrada.

En este caso se ha utilizado un modelo de Simulink simplificado, en el que solo se necesita un bloque que se
encarga de enviar la señal de control PWM desde el Arduino al ESC. En la Figura 50 se muestra el modelo
utilizado.

Figura 50. Modelo de Simulink utilizado para enviar la señal de control al motor

Una vez realizadas las mediciones para todo el rango de funcionamiento del motor, se desea conocer la fuerza
generada por la hélice. Para ello, se toman las mediciones obtenidas anteriormente por el peso y se les resta el
valor inicial del peso medido antes de encender el motor. De esta forma se obtiene el incremente de fuerza
entre la fuerza inicial con el motor apagado y la fuerza medida una vez encendido. Este incremento de fuerza
es la fuerza generada por la hélice, ya que no interviene ninguna otra fuerza en el proceso. La fuerza generada
50
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
51
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
por la hélice medida en gramos se pasa a Newtons con la fórmula (7-5).

Los datos iniciales de la prueba realizada son los siguientes:


- Fuerza en gramos que mide el peso inicialmente con el motor apagado: Fp0 = 33 gramos
- Distancia desde el eje de la hélice al eje de giro de la barra: 𝑙H = 0.2 m
- Distancia desde el eje de giro de la barra al punto de apoyo en el peso: 𝑙P = 0.252 m

Figura 51. Medición inicial del peso con el motor apagado

En la Tabla 7-1 se muestran los resultados obtenidos tras la medición. Se han presentado tres columnas con los
datos correspondientes a la señal de control de entrada, el valor medido por el peso para cada entrada y el valor
correspondiente a la fuerza de empuje que genera la hélice. Para obtener la última columna se ha procedido
como se ha comentado anteriormente, restando al valor medido en gramos el valor inicial medido con el motor
apagado 𝐹𝑃0 y aplicando la fórmula (7-3) y (7-4), que con los datos que se tienen queda de la siguiente forma:

lP 0.252 (7–6)
FH = FP = ∗ 9.81 ∗ 10−3 ∗ (FP [gramos] − Fp0 ) = 0.0124 ∗ (FP [gramos] − Fp0 )
lH 0.200

Siendo 𝐹𝐻 la fuerza generada por la hélice ya en Newtons, 𝐹𝑃 [𝑔𝑟𝑎𝑚𝑜𝑠] los gramos que marca el peso con el
motor encendido y 𝐹𝑝0 los gramos que marca el peso antes de encender el motor.
También se han representado los datos obtenidos gráficamente en la Figura 52.
52
Control del Sistema

Tabla 7-1. Medida experimental de la fuerza generada por la hélice en función de la señal de control
Medición del
Señal de control Fuerza hélice, 𝐹𝐻
peso, 𝐹𝑃
[0-255] [Newtons]
[gramos]
0 0 0
149 0 0
150 44 0.14
155 56 0.28
160 66 0.41
165 76 0.53
170 86 0.66
175 96 0.78
180 106 0.90
185 115 1.01
190 125 1.14
195 140 1.32
200 147 1.41
205 153 1.48
210 161 1.58
215 170 1.69
220 191 1.95
225 192 1.97
230 192 1.97
235 192 1.97
240 192 1.97
245 192 1.97
250 192 1.97
255 192 1.97

Figura 52. Fuerza generada por la hélice en función de la señal de control

52
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
53
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
Se puede observar que se alcanza un valor máximo de la fuerza a partir del cual, aun aumentando el valor de la
señal de control, la fuerza se mantiene constante. Se tiene entonces un rango de valores de la señal de control
dentro del cual al variar la señal de control varia el valor de la fuerza generada, y fuera de ese rango la fuerza
no varía. Dicho rango es el que interesa y es el comprendido entre los valores [150-225] de la señal de control.
Dentro de dicho rango, la relación entre el valor de la señal de control y la fuerza que genera la hélice se puede
aproximar por una ecuación.
Volviendo a la Figura 48, recordamos que se necesita una ecuación que relacione la fuerza generada por la
hélice con la señal de control correspondiente de forma que
𝑆𝑒ñ𝑎𝑙 𝑑𝑒 𝐶𝑜𝑛𝑡𝑟𝑜𝑙 = 𝑓(𝐹𝑒 )
La opción Basic Fitting de Matlab permite obtener una ecuación que relacione dos variables entre sí a partir de
una curva con datos de dichas variables. Esto permite obtener una función en la que la variable dependiente es
la señal de control, y la variable independiente la fuerza que genera la hélice. Esta opción se encuentra en el
menú Tools de la barra de herramientas de la ventana que se abre al representar gráficamente una curva en
Matlab, y da la posibilidad de elegir entre varios tipos de aproximación: por el interpolante tipo spline, por el
interpolante que preserva la forma, o por aproximación polinómica de grado 1 hasta 10. En la Figura 53 se
muestra dónde se encuentra la opción Basic Fitting en la barra de herramientas y la ventana que aparece,
dónde se debe seleccionar el tipo de aproximación.

Figura 53. Ventana de ajuste de la opción Basic Fitting que aparece al abrir el menú Tools>Basic Fitting

Según lo comentado anteriormente, para obtener la ecuación buscada se representa gráficamente en Matlab la
señal de control en función de la fuerza generada por la hélice y se aplica la opción Basic Fitting a la curva
obtenida. En la Figura 54 se ha representado gráficamente la aproximación cuadrática obtenida a partir de la
curva representada. Se ha indicado que se muestre la ecuación de la curva de aproximación cuadrática y ésta
será la utilizada en el bloque creado en Simulink encargado de pasar de fuerza a señal de control (Figura 55),
que tiene como entrada la fuerza que genera la hélice y salida la señal de control correspondiente.
54
Control del Sistema

Figura 54. Función que aproxima la curva de la señal de control frente a la fuerza generada por la hélice

Figura 55. Bloque del modelo de Simulink que se encarga de pasar de valor de Fuerza a Señal de Control

7.1.2 Identificación del sistema. Función de transferencia

Para crear un controlador que actúe sobre el control del sistema se necesita definir la función de transferencia
que aproxime el movimiento del mismo.
Se trata de un sistema de segundo orden. Si llamamos 𝒚 a la salida y 𝒖 a la entrada del sistema, la ecuación del

54
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
55
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
movimiento tiene la siguiente forma

d2 y dy (7–7)
+ a 1 + a2 y = b1 u
dt 2 dt
Ya en el Capítulo 4 se obtuvo la ecuación diferencial linealizada (4-11.2) que define el movimiento del
sistema:

d2 θ dθ
I + B + mt g dc cosθ0 θ(t) = dH Fh 0 Fh (t)
dt 2 dt

Como se comentó, la ecuación (4-11.2) no se está identificada por completo debido a que hay incógnitas por
definir: la inercia, el coeficiente de rozamiento y distancia al centro de gravedad. Sin embargo, cuando 𝑎2 > 0
en la ecuación (7-7) se recurre a la parametrización habitual y se utiliza la siguiente ecuación:

d2 y dy (7–8)
2
+ 2δωn + ωn 2 y = Kωn 2 u
dt dt

Donde los parámetros se pueden obtener fácilmente de forma experimental:


 K: ganancia estática
 𝛿 : Coeficiente de amortiguación
 𝜔𝑛 : frecuencia natural

Esta parametrización se puede aplicar a la ecuación (4-11.2) que ya que en este caso 𝑎2 es un múltiplo de
𝑐𝑜𝑠𝜃, que en los primeros 90º es positivo. La ecuación diferencial de segundo orden que define el movimiento
del sistema quedaría entonces, con la parametrización, de la siguiente forma:

d2 θ dθ (7–9)
2
+ 2δωn + ωn 2 θ = Kωn 2 Fh
dt dt
Al igual que el Capítulo 4, aplicando la transformada de Laplace a la ecuación (7-9) queda la función siguiente
función de transferencia:

θ(s) Kωn 2 (7–10)


G(s) = = 2
Fh (s) s + 2δωn s + ωn 2

En este caso las incógnitas son los parámetros K, 𝛿 y 𝜔𝑛 los cuales están definidos y se pueden obtener
experimentalmente a través de la relación de las especificaciones de la respuesta temporal con ellos.
Para ello se analiza la respuesta temporal del sistema frente a una entrada de escalón, de donde se
obtienen los valores de la sobreoscilación y del tiempo de pico, a partir de los cuales se puede calcular el
coeficiente de amortiguación y la frecuencia natural:
 Sobreoscilación, S.O.:
y(tp )−yeq
SOpu = yeq −y(t0 )
(Sobreoscilación por unidad)

−𝛿𝜋
ln2 (SOpu )
𝑆𝑂(%) = 100 · 𝑒 √1−𝛿2  δ =√
π2 +ln2 (SOpu )

 Tiempo de pico, 𝑡𝑝 :
t p = t primer pico − t entrada_escalón

Figura 56. Ejemplo gráfico de sobreoscilación y tiempo de pico


[Control Automático, Dpto. Ing. de Sistemas y Automática US]
56
Control del Sistema

π π
tp =  ωn =
√1−δ2 ωn √1−δ2 tp

Para obtener el valor de la ganancia estática se aplica la definición:


∆Salida ∆θ
K= =
∆Entrada ∆F

Una vez se ha indicado como calcular los parámetros se procede a realizar las pruebas experimentales para
obtener una aproximación del sistema con datos reales.

7.1.2.1 Respuesta del sistema ante un escalón de subida como entrada


En este caso se realiza una prueba experimental en la que se tiene como señal de entrada un escalón de subida
de 0.5 Newtons (de 1.2 a 1.7 Newtons). El resultado en la salida se muestra en la Figura 57, donde se ha
representado gráficamente en el tiempo tanto la señal de entrada de la fuerza en Newtons (Figura 57 inferior,
señal roja) como la respuesta de la señal de salida del ángulo en grados (Figura 57 superior, señal azul).

Figura 57. Respuesta del sistema ante una entrada escalón de subida de 0.5 Newtons. La figura superior es la
respuesta de la salida del sistema (señal azul) producida por la señal de entrada (señal roja)

Se han marcado los puntos necesarios con los valores para obtener los parámetros de la función de
transferencia del escalón de subida Gup (s).

56
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
57
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
K up ωn u 2
Gup (s) = 2
s + 2δu ωn u s + ωn u 2
Utilizando los valores de los puntos mostrados en la Figura 57 se calcula el valor de cada constante:
 Tiempo de pico de subida
t p = 180.7 − 180.1 = 0.6 s
u

 Ganancia estática de subida


∆θ 48.5−32.12
K up = ∆F = 1.7−1.2
= 32.76 ᵒ/N

 Sobreoscilación de subida
y(tp )−𝑦𝑒𝑞 62.43−48.5
up u
SOpu up = = = 0.85 → SO(%)up = SOpu uo · 100 = 85%
𝑦𝑒𝑞 −y(t0 ) 48.5−32.12
u

 Coeficiente de amortiguación de subida


ln2 (SOpu )
d ln2 (0.85)
δu = √π2 +ln2 (SOpu )
= √π2 +ln2 (0.85) = 0.0517  Sistema Subamortiguado (0 < 𝛿 < 1)
d

 Frecuencia natural de subida


π π
ωn u = = = 5.245 rad/s
√1−0.0592 ·0.6
√1−δu 2 ·tp
u

Se tiene pues que la función de transferencia del sistema en caso de calcular las constantes a partir de la
respuesta ante un escalón de subida como entrada es:
K up ωn u 2 32.76 · 5.2452
Gup (s) = =
s 2 + 2δu ωn u s + ωn u 2 s 2 + 2 · 0.0517 · 5.245 s + 5.2452

7.1.2.2 Respuesta del sistema ante un escalón de bajada como entrada


Al contrario que en el caso anterior, se realiza una prueba experimental en la que se tiene como señal de
entrada un escalón de bajada de 1.7 a 1.2 Newtons. El resultado en la salida se muestra en la Figura 58, donde
se ha representado gráficamente en el tiempo tanto la respuesta de la señal de salida del ángulo en grados
(Figura 58 superior, señal azul) como la señal de entrada de la fuerza en Newtons (Figura 58 inferior, señal
roja).
La función de transferencia Gdown tiene la misma forma que en el caso anterior pero ahora se utilizan los
datos correspondientes a la prueba experimental con la entrada escalón de bajada (down).
𝐾𝑑𝑜𝑤𝑛 𝜔𝑛 𝑑 2
𝐺𝑑𝑜𝑤𝑛 (𝑠) =
𝑠 2 + 2𝛿𝑑 𝜔𝑛 𝑑 𝑠 + 𝜔𝑛 𝑑 2
El valor de los parámetros de obtienen a continuación a partir de los datos representados en la Figura 58:
 Tiempo de pico de bajada
𝑡𝑝 𝑑𝑜𝑤𝑛 = 173.9 − 173.4 = 0.5 𝑠

 Ganancia estática de bajada


∆𝜃 32.12−49.6
𝐾𝑑𝑜𝑤𝑛 = ∆𝐹 = 1.2−1.7
= 34.96 ᵒ/N

 Sobreoscilación de bajada
58
Control del Sistema

𝑦 (𝑡𝑝 𝑑𝑜𝑤𝑛 ) − 𝑦𝑒𝑞 19.57 − 32.12


𝑆𝑂𝑝𝑢 𝑑𝑜𝑤𝑛 = = = 0.718 → 𝑆𝑂(%)𝑑𝑜𝑤𝑛 = 𝑆𝑂𝑝𝑢 𝑑𝑜𝑤𝑛 · 100
𝑦𝑒𝑞 − 𝑦(𝑡0 ) 32.12 − 49.6
= 71.8%
 Coeficiente de amortiguación de bajada
𝑙𝑛2 (𝑆𝑂𝑝𝑢 )
𝑑 𝑙𝑛2 (0.718)
𝛿𝑑 = √𝜋2 +𝑙𝑛2 (𝑆𝑂𝑝𝑢 = √𝜋2 +𝑙𝑛2 (0.718) = 0.105  Sistema Subamortiguado (0 < 𝛿 < 1)
𝑑)

 Frecuencia natural de bajada


𝜋 𝜋
𝜔𝑛 𝑑 = = = 6.318 𝑟𝑎𝑑/𝑠
2 √1−0.1052 0.5
√1−𝛿𝑑 ·𝑡𝑝
𝑑𝑜𝑤𝑛

Figura 58. Respuesta del sistema ante una entrada escalón de bajada de 0.5 Newtons

Una vez se obtenidos los valores de 𝐾𝑑𝑜𝑤𝑛 , 𝛿𝑑 y 𝜔𝑛 𝑑 se puede definir la función de transferencia del sistema
aproximada por el caso experimental de una entrada escalón de bajada:

𝐾𝑑𝑜𝑤𝑛 𝜔𝑛 𝑑 2 34.96 · 6.3182


𝐺𝑑𝑜𝑤𝑛 (𝑠) = =
𝑠 2 + 2𝛿𝑑 𝜔𝑛 𝑑 𝑠 + 𝜔𝑛 𝑑 2 𝑠 2 + 2 · 0.105 · 6.318 𝑠 + 6.3182

58
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
59
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
7.1.2.3 Simulación de la función de transferencia
En este apartado se va a realizar una simulación utilizando la función de transferencia obtenida en el apartado
anterior para el caso del escalón de bajada, 𝐺𝑑𝑜𝑤𝑛 (𝑠). La simulación consiste repetir la situación descrita en la
prueba experimental, introduciendo como entrada un escalón de bajada de 0.5 Newtons. Una vez terminada la
simulación se compara la respuesta obtenida con la obtenida en el sistema real para ver si se ha aproximado
correctamente el comportamiento del sistema.
En la Figura 59 se ha representado gráficamente la respuesta ante el escalón de entrada para el sistema real
(señal azul) y para la función de transferencia (señal roja). La salida de la función de transferencia presenta
mayor oscilación que el caso real por lo que podría ajustarse aún más el valor de los parámetros. Aun así, los
resultados son aceptables y se da por válida la aproximación obtenida, por lo que se utilizará esta función de
transferencia para crear el controlador en el apartado siguiente.

Figura 59. Respuesta real del Sistema (señal azul) junto a respuesta de la función de transferencia (señal roja)
ante la misma entrada escalón

Para realizar la simulación utilizando la función de transferencia se ha creado un modelo en Simulink como el
que se muestra en la Figura 60. En él se utilizan bloques como Step, Transfer Fcn, To Workspace o Clock. El
bloque Step produce una señal escalón con la amplitud y en el momento que se le indique. En este caso la
amplitud es -0.5 y se aplica en un “Step Time” a los 173.4 segundos (al igual que en el caso real de la Figura
58). En el bloque Transfer Fcn se introducen los datos de la función de transferencia que se muestra a la
derecha en la Figura 60. Gracias al bloque To Workspace se pueden guardar los datos de la señal de salida
para posteriormente trabajar con ellas y representarla gráficamente frente al tiempo desde Matlab.
60
Control del Sistema

Figura 60. Modelo utilizado para simular la entrada escalón con la función de transferencia

7.2 Control sobre el sistema


Se va a realizar un control bastante simple para ver cómo responde el sistema. Se aplica un control por
realimentación en el que se realimenta el sistema con la salida del mismo, que en este caso es el ángulo. La
realimentación permite comprar esta salida con la referencia que se le indique y obtener el comportamiento
deseado. El diagrama de bloque del sistema realimentado quedaría de la siguiente forma:
Actuador

Referencia Error Fuerza Ángulo


Sensor

Controlador SISTEMA
C(s)
Ángulo

Figura 61. Diagrama de bloques del sistema con control por realimentación

Se propone un controlador de la siguiente forma:


𝐾𝑐 1 1
𝐶(𝑠) = · ·
𝑠 𝐺(𝑠) (𝜏𝑎𝑓 𝑠 + 1)
Donde la función de transferencia G(s) es la obtenida apartados anteriores como Gdown (s). Las constantes 𝐾𝑐
y 𝜏𝑎𝑓 se obtienen a continuación:
3
𝑡𝑠 𝐵𝐶 ≃ 1𝑠  𝐾𝑐 ≃ ≃ 3 𝑁/𝑔𝑟𝑎𝑑𝑜
𝑡𝑠 𝐵𝐶

𝑡𝑠 𝐵𝐶 1
𝜏𝑎𝑓 ≃ = = 0.04
25 25

Hay que tener cuidado ya que el tiempo de muestro que se utiliza en el modelo de Simulink es 𝑇𝑚 =0.05 s. Al
ser 𝜏𝑎𝑓 < 𝑇𝑚 se ha decidido utiliza un valor de 𝜏𝑎𝑓 = 0.1 para realizar el control.

60
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
61
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
La función del controlador C(s) queda de la siguiente forma:

Kc 1 1 3 s 2 + 2 · 0.105 · 6.318 s + 6.3182 1


C(s) = · · = · 2
·
s G(s) (τaf s + 1) s 34.96 · 6.318 0.1 s + 1

Recordando lo indicado en el Capítulo 5 acerca del modelo de Simulink en tiempo real se decía que en la
configuración de los parámetros se escoge la simulación en tiempo discreto. Si se desea implementar la
función de transferencia del controlador C(s) en el modelo hay que discretizarla para obtener C(z). Para ello
Matlab dispone de la función c2d que convierte un sistema dinámico en tiempo continuo en un sistema en
tiempo discreto. Aplicando la función c2d a la función del controlador en tiempo continuo se obtiene la
función en tiempo discreto:
1. Primero se definen el numerador y denominador de la función en tiempo continuo, para después crear
la función C(s) con la función tf de Matlab. Se escribe en la ventana de comandos de Matlab:
>> nu_c=3*[1 2*0.105*6.318 6.318^2];
>> de_c=34.96*6.318^2*conv([1 0],[0.1 1]);
>> C=tf(nuc,dec)

C=
3 s^2 + 3.98 s + 119.8
------------------------------
139.6 s^2 + 1396 s
Continuous-time transfer function.

2. Una vez que se tiene la función C(s), para pasar a tiempo discreto se aplica directamente sobre ella la
función c2d:
>> Cd=c2d(C, 0.05, 'matched')

Cd =

0.01763 z^2 - 0.03244 z + 0.0165


----------------------------------------------
z^2 - 1.607 z + 0.6065

Sample time: 0.05 seconds


Discrete-time transfer function.

Esta última es la función del controlador que se utiliza en el modelo de Simulink con el bloque Discrete
Trasnfer Fcn.
62
Control del Sistema

7.2.1 Modelo de Simulink

Para implementar el control sobre el sistema hay que adaptar el modelo de Simulink incluyendo la
realimentación y la función de transferencia del controlador.
En la Figura 62 se muestra el modelo en Simulink definitivo, en el que se recibe la posición de sistema y se
controla la velocidad del motor. Se parte de los modelos descritos en el Capítulo 5 de recepción de datos desde
el potenciómetro y envío de señal del control del motor, y se añaden los bloques obtenidos en este capítulo que
permite realizar el control.

Figura 62. Diagrama de bloques del sistema con control por realimentación

En la parte superior de la figura se encuentran los bloques del modelo dedicados a la recepción de la señal del
potenciómetro y su traducción a la posición en ángulos, que ya está detallado en el Capítulo 5. Se ha añadido
el bloque Goto a la salida del ángulo para realizar la realimentación.
Por otro lado, en la zona inferior del modelo se encuentran los bloques que se encargan de generar la señal de
control y enviarla al motor. La parte del envío de la señal PWM hacia Arduino ya se ha comentado en el
Capítulo 5, pero no con la señal de control en valores de fuerza. Para realizar el control se han utilizado los
siguientes bloques:
 Para pasar los valores de fuerza a señal de control del motor se ha colocado el bloque MATLAB Function
obtenido en este Capítulo y representado en la Figura 55. Este bloque aplica la ecuación que relaciona la
señal de control con la fuerza que genera la hélice corresponde.
 El bloque Discrete Transfer Fcn contiene la función de transferencia del Controlador en tiempo discreto,
C(𝑧), obtenida en el apartado anterior.
 Como se puede ver en el diagrama de la Figura 61, la entrada al controlador es la diferencia (error) entre
la posición deseada (referencia) y la posición real. El bloque REF grados hace de referencia y se aplica
como una constante con un bloque Constant, y para el valor de la posición real medida se utiliza el
bloque From, que recibe la señal del bloque Goto (se produce la realimentación). Al valor del ángulo de
referencia se le resta el valor del ángulo real con un bloque Add y el resultado es la entrada al controlador.
Al ser una constante, la referencia se puede cambiar durante la simulación y ver cómo responde el

62
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
63
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín
sistema.
 A la señal de salida del controlador se le suma un valor de fuerza que se sabe que, si la salida del
controlador es cero, el sistema está en equilibrio. Es el bloque Fuerza eq y no es más que un bloque
Constant cuyo valor lo elige el usuario.
A parte de los bloques anteriormente descritos, se han incluido otros que permiten guardar los valores de las
señales para su posterior estudio y bloques de seguridad:
 To Workspace: con este tipo de bloque se guarda en Matlab los datos de la señal de entrada.
 Bloques de seguridad: Se han colocado dos bloques Manual Switch, que permiten elegir entre dos
entradas. Uno se utiliza para anular la acción del Controlador y otro para anular la señal de control del
motor en caso que sea necesario. También se ha utilizado el bloque Saturation que limita la señal de
entrada entre un límite inferior y superior, esto permite que el motor nunca se apague y que tampoco
reciba valores muy altos de control que hagan perder el control.

El ajuste de parámetros del modelo es el que se indicó en el Capítulo 5, que se caracteriza por un tiempo de
muestro de 0.05 segundos, simulación en modo External y cargado en el Arduino Mega.

7.2.2 Simulación con control

Una vez creado el modelo se va a realizar una simulación para comprobar que funciona correctamente y que el
control actúa sobre el sistema.
La simulación se ha basado principalmente en aplicar el controlador y dar valores a la referencia para ver la
respuesta del sistema. En la Figura 63 se muestran los resultados de la simulación. La gráfica superior
representa el valor del ángulo del sistema en cada instante medido por el potenciómetro (señal azul) junto con
el valor de referencia indicado en Simulink (señal roja). La gráfica inferior representa el valor de la señal de
control que le llega al motor en valores de fuerza. Se ha representado a partir del segundo 200 porque hasta ese
instante no hay información de interés.
Lo que se ha hecho es, antes de activar el control, colocar el sistema en una posición de aproximadamente 50º
aplicando una fuerza constante de 1.7 N. Es decir, una vez encendido el motor se indica el valor de 1.7 N en el
bloque Fuerza eq del modelo (Figura 62). El interruptor que hay a la entrada del controlador se encuentra
colocado hacia la constante de valor cero para anularlo, ya que si la entrada al controlador es cero su salida
también lo es. Con la intención de que en el instante inicial cuando se aplique el controlador no se produzca un
cambio brusco de la posición, se pone una referencia de 50º y posteriormente se activa el control cambiando la
entrada en el interruptor Manual Switch1 que hay antes del controlador. Esto activa el controlador (segundo
215 en la Figura 63 inferior) pero, al ser la referencia casi igual que la posición el sistema, el sistema no
cambia de posición. A partir del segundo 227 se empieza a cambiar los valores de la referencia y se puede ver
como en la Figura 63 la señal de la posición sigue a la señal de referencia. Primero se dan referencias
inferiores y después se comienza a aumentar la referencia. Recordando que el controlador solo es válido para
los primeros 90º, al llegar a una referencia de 60º el sistema pierde el control y no es capaz de permanecer en
equilibrio, por lo que hay que parar la simulación. Para controlar el sistema en esta zona habría que aplicar otro
tipo de control y dicho trabajo se deja para un proyecto futuro dedicado únicamente al control del sistema.
64
Control del Sistema

Comienzo
del control
Figura 63. Resultados de la simulación con control

64
Grado en Ingeniería Aeroespacial
Eduardo Cordero Mallado
Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

BIBLIOGRAFÍA

[1] MathWorks, «Device Drivers,». Available:


http://www.mathworks.com/matlabcentral/fileexchange/39354-device-drivers

[2] «Reading accelerometer and gyroscope data from MPU6050 with I2C,». Disponible:
http://minseg.webs.com/arduino-downloads

[3] http://datasheet.octopart.com/MPU-6050-InvenSense-datasheet-14421344.pdf

Información sobre Motor brushless:


http://housecomputer.ru/rest/hobby/rc_models/brushless_device/brushless02/brushless02.html
https://es.wikipedia.org/wiki/Motor_el%C3%A9ctrico_sin_escobillas
http://www.quadruino.com/guia-2/materiales-necesarios-1/motores-brushless
http://www.motorbrushless.es/
http://www.asifunciona.com/electrotecnia/af_motor_cd/af_motor_cd_8.htm
https://1mecanizadoelarenal.files.wordpress.com/2013/11/motores-brushless.pdf
http://www.electrosector.com/wp-content/ftp/descargas/brushless.pdf?64b304
Información sobre Variado o ESC:
http://tallerdedalo.es/web/ESC
http://abottravel.blogspot.com.es/2011/12/how-to-drive-brushless-motor-with.html
http://www.quadruino.com/guia-2/materiales-necesarios-1/esc
Información sobre IMU:
http://robologs.net/2014/10/15/tutorial-de-arduino-y-mpu-6050/
https://es.wikipedia.org/wiki/Unidad_de_medici%C3%B3n_inercial
http://smartdreams.cl/unidad-de-medicion-inercial-imu/
Información sobre Arduino:
http://www3.gobiernodecanarias.org/medusa/ecoblog/ralvgon/files/2013/05/Caracter%C3%ADsticas-
Arduino.pdf
http://www.menosmedia.org/spip.php?article43
https://www.arduino.cc/
Información sobre Potenciómetro:
https://curiosoando.com/que-es-un-potenciometro
http://panamahitek.com/que-es-y-como-funciona-un-potenciometro/
http://www.areatecnologia.com/electronica/potenciometro.html
https://www.youtube.com/watch?v=xpxzSrV6CTU

También podría gustarte