83
Equation Chapter 1 Section 1 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 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 Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

  • Upload
    lytuyen

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Equation Chapter 1 Section 1

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

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

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2016

Page 2: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 3: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

iii

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

Page 4: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 5: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

v

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:

Page 6: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Sevilla, 2016

El Secretario del Tribunal

Page 7: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

vii

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.

Page 8: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 9: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

ix

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.

Page 10: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Í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

Page 11: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

xi

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

Page 12: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Í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

Page 13: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

xiii

Í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

Page 14: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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

Page 15: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

xv

Page 16: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 17: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Notación

sen

cos

Función seno

Función coseno

tg Función tangente

arctg Función arco tangente

∂y ∂x

x◦

Derivada parcial de y respecto

Notación de grado, x grados.

: Tal que

< Menor o igual

> Mayor o igual

Page 18: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 19: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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.

Page 20: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 21: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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.

Page 22: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 23: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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.

Page 24: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

6

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.

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.

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

Figura 2. Rodamiento de bolas

PARTE EXTERNA (FIJA)

PARTE INTERNA (MÓVIL)

PARTE MÓVIL

Figura 1. Representación de la planta formada por la estructura móvil (rodeada en verde) y la estructura de

soporte fija

θ MOTOR + HÉLICE

PARTE FIJA

EJE DE GIRO

Page 25: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

7

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.

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.

Figura 3. Estructura fija de soporte

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

Page 26: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

8

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.

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

Page 27: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

9

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.

Figura 6. Esquema de motor de corriente continua con y sin escobillas (http://marylandev.org/wp-content/uploads/2015/07/brushed-brushless.jpg)

Page 28: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

10

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

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

Page 29: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

11

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.

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.

Figura 8. Motor del Parrot AR.Drone 1.0 junto con el controlador de fábrica

(store.parrot.com)

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

Engranaje

Motor

Soporte

Page 30: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

12

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.

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 10. Forma de una señal PWM para diferentes valores del Duty Cycle

Figura 11. Variador utilizado: ESC YGE 30 i

Page 31: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

13

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.

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 I2C 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 I2C 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

Figura 12. Unidad de medidas inerciales MPU 6050

Page 32: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

14

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.

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

Figura 13. Esquema de potenciómetro rotatorio

A

B

C

Page 33: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

15

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.

También dispone de pines de entrada y salida especiales, como dos de los pines analógicos que pueden

configurarse para la comunicación I2C con otros dispositivos, algo necesario para comunicarse con la IMU

que se utiliza.

Figura 15. Placa Arduino MEGA 2560 (izquierda) y software de programación de Arduino (derecha)

[www.arduino.cc]

Page 34: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

16

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 I2C, 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)

Page 35: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

17

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

Page 36: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Componentes del Sistema

18

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

Page 37: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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

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:

Figura 18. Esquema del conjunto del sistema a analizar

θ MOTOR

Page 38: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Comportamiento del Sistema

20

20

1. la fuerza de empuje de la hélice (Fh⃗⃗⃗⃗ ),

2. la fuerza del peso del conjunto debido a la gravedad (Fp⃗⃗⃗⃗ ) aplicada en su centro de gravedad,

3. y la fuerza de reacción que aparece en el rodamiento (R⃗⃗ ) que impide el desplazamiento en ese punto y que

tendrá la dirección y valor que le corresponda.

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⃗⃗⃗⃗ = −Fpz0⃗⃗ ⃗ = −Fp cos θ y1⃗⃗ ⃗ − Fp senθ z1⃗⃗ ⃗ con Fp = mg = cte (m=masa total,

g=gravedad).

(4–1)

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

0

𝑦1

𝑧1 𝑧0

𝑦0

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

MOTOR

�⃗⃗� CENTRO DE GRAVEDAD

𝐅𝐡⃗⃗⃗⃗

RODAMIENTO

θ

𝐅𝐩⃗⃗⃗⃗

Page 39: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

21

hélice.

- R⃗⃗ = Ry0y0⃗⃗⃗⃗ + R𝑧0 sen θ z0⃗⃗ ⃗ = Ry1y1⃗⃗ ⃗ + R𝑧1z1⃗⃗ ⃗ donde 𝑅y0, 𝑅z0, 𝑅y1 𝑦 𝑅z1 serán los valores

de la proyección del vector R⃗⃗ en sus respectivos ejes (valores desconocidos).

(4–3)

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

1 q

4 q

3 2 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)

Page 40: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Comportamiento del Sistema

22

22

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ω21⃗⃗ ⃗⃗ ⃗⃗ ⃗ + MOG⃗⃗⃗⃗ ⃗ ∧ v21O⃗⃗⃗⃗⃗⃗ (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

total del sistema, OG⃗⃗⃗⃗ ⃗ es el vector de posición del centro de gravedad y v21O⃗⃗⃗⃗⃗⃗ 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 OX0 y OX1 coinciden. En la siguiente Figura 21 se muestran ambos sistemas de

referencia:

θ

Figura 21. Definición de ejes y sistemas de referencia

O

1

0

𝑦1

𝑧1 𝑧0

𝑦0

𝑥0 ≡ 𝑥1

Page 41: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

23

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⃗⃗⃗⃗ ⃗ =dθ

dt𝑥 .

Por tratarse de un sistema indeformable y ser el punto O fijo, v21O⃗⃗⃗⃗⃗⃗ = 0, por lo que la expresión del momento

cinético en (4-4) para el sistema que se está analizando queda de la siguiente forma:

Γ0⃗⃗ ⃗ = I0ω21⃗⃗ ⃗⃗ ⃗⃗ ⃗ + MOG⃗⃗⃗⃗ ⃗ ∧ v21O⃗⃗⃗⃗⃗⃗ Γ0⃗⃗ ⃗ = I0ω0⃗⃗⃗⃗ ⃗ = IO

dt𝑥

Al derivar la expresión anterior del momento cinético con respecto al tiempo se obtiene:

dΓO⃗⃗⃗⃗

dt= IO

dωO⃗⃗ ⃗⃗ ⃗

dt= IO

d2θ

dt2𝑥

(4–5)

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

dΓ0⃗⃗ ⃗

dt= ∑ rn⃗⃗ ⃗

N

n=1

∧ Fn⃗⃗⃗⃗ + C⃗ ∧ vO⃗⃗ ⃗⃗

(4–6)

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:

dΓ0⃗⃗ ⃗

dt= ∑ rn⃗⃗ ⃗

N

n=1

∧ Fn⃗⃗⃗⃗

(4–7)

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

I0d2θ

dt2= ∑ rn⃗⃗ ⃗

N

n=1

∧ Fn⃗⃗⃗⃗

(4–8.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).

Page 42: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Comportamiento del Sistema

24

24

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⃗⃗⃗⃗ = Fhz1⃗⃗ ⃗

Fp⃗⃗⃗⃗ = −mtg(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):

Id2θ

dt2+ B

dt+ mtg dcsenθ − dhFh = 0

(4–9.1)

O, lo que es lo mismo:

I θ̈(t) + B θ̇(t) + mtg dcsenθ(t) = dhFh(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:

Page 43: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

25

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 θ̇ + mtgdc senθ − dHFh = 0

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

𝑓(0,0, θ0, Fh0) = mtg dc senθ0 − dHFh0 = 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) − Fh0

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

𝑓(θ̈, θ̇, θ, Fh) ⋍ 𝑓(0,0, θ0, Fh0) +∂f

∂θ̈]θ̈=0

α̈ +∂f

∂θ̇]θ̇=0

α̇ +∂f

∂θ]θ=θ0

α +∂f

∂Fh]Fh=Fh0

β + ℴ(α2, β2) = 0

Donde 𝑓(0,0, 𝜃0, 𝐹ℎ0) y ℴ(𝛼2, 𝛽2) 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

∂θ̈]θ̈=0

α̈ +∂f

∂θ̇]θ̇=0

α̇ +∂f

∂θ]θ=θ0

α +∂f

∂Fh]Fh=Fh0

β = 0 (4–11.1)

I α̈(t) + B α̇(t) + mtgdc cosθ0 α(t) − dHFh0β(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

transferencia G(s) =α(s)

β(s). Usando la propiedad de la transformada de Laplace de la derivada se llega a:

Fh G(s)

θ

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

Page 44: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Comportamiento del Sistema

26

26

I [s2α(s) − sα(0) − α̇(0)] + B [sα(s) − α(0)] + mtgdc cosθ0 α(s) − dHFh0β(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:

G(s) =θ(s)

Fe(s)≃

α(s)

β(s)=

dHFh0

Is2 + Bs + mtgdccos θ0

(4–13)

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:

G(s) =dHFh0

Is2 + Bs + mtgdccosθ0

Incógnitas

Fh0, θ0, mt, g, dH Conocido

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.

Page 45: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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:

Bloques de envío

Conexio n USB

Conexio n por Pines

Sen al PWN

MODELO SIMULINK

ARDUINO SISTEMA ORDENADOR

θ

Comunicacio n I2C

Sen al analo gica

Sen al de control del motor

Datos IMU

Datos Potencio metro

Bloques de recepción

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

SISTEMA FI SICO

Page 46: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Modelo de Simulink

28

28

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.

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 I2C. No se va a entrar en

detalle en que consiste la comunicación I2C, pero si se ha de saber que el bus I2C 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 I2C.

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

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.

Pines PWM Comunicación I2C

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

Pines entrada/salida analógica Alimentación

Page 47: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

29

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 I2C 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’

Page 48: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Modelo de Simulink

30

30

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

Page 49: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

31

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 26. Lista de paquetes disponibles para Matlab donde hay que seleccionar Arduino

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

Page 50: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Modelo de Simulink

32

32

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

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:

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.

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

Figura 29. Crear nuevo modelo en Simulink

Page 51: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

33

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:

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:

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

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

3.1

3.2

3.3

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

4.1

4.2

Figura 31. Selección del Hardware Arduino Mega 2560

4.4

4.3

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

Page 52: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Modelo de Simulink

34

34

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

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

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.

5.1 5.2

5.3 5.4

5.5

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

Figura 34. Deploy to Hardware

Page 53: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

35

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.

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

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

parámetros del bloque PWM (derecha)

Constant Slider Gain

Manual Switch

PWM

Page 54: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Modelo de Simulink

36

36

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.

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.

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

bloque Analog Input (derecha)

Analog Input

Data Type Conversion

Display

Scope

Page 55: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

37

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

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.

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

Page 56: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 57: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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.

�⃗⃗�

IMU IMU

Z

Y

�⃗⃗�

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

θ

(A) (B)

Page 58: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Elección del sensor de posición

40

40

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.

Page 59: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

41

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.

MOTOR APAGADO

MOTOR ENCENDIDO

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

apagado y encendido

Figura 40. Ángulo medido desde Simulink aplicando el filtro complementario a los datos de la IMU

Page 60: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Elección del sensor de posición

42

42

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.

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

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

simulación con el motor encendido y apagado

MOTOR APAGADO

MOTOR ENCENDIDO

Page 61: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

43

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.

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

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

Page 62: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Elección del sensor de posición

44

44

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

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

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

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

Page 63: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

45

ruido se puede considerar que aporta valores fiables de la posición del sistema.

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.

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

Encendido del motor

Ruido

Page 64: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular
Page 65: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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:

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:

Fh Sistema

G(s)

θ

Figura 46. Entrada y salida del sistema a controlar

Señal de

Control Fe

Relación

Fe-SC

θ

Figura 47. Entradas y salidas de cada subsistema

Sistema

Page 66: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

48

48

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:

L =1

2ρV2SCL

(7–1)

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.

Para realizar la medición se ha modificado la estructura, cambiando la barra que se utiliza por una de mayor

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

Page 67: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

49

longitud para poder apoyar el extremo opuesto al motor sobre el peso como se muestra en la Figura 49.

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:

F[Newtons] = F[gramos] ∗ gravedad [m

s2] ∗1 kilogramo

1000 gramos

(7–4)

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

𝑙𝐻 𝑙𝑃

PESO

FH Fp

Page 68: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

50

50

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.

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

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

Page 69: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

51

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

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:

FH =lPlH

FP =0.252

0.200∗ 9.81 ∗ 10−3 ∗ (FP[gramos] − Fp0) = 0.0124 ∗ (FP[gramos] − Fp0)

(7–6)

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.

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

Page 70: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

52

52

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

Señal de control [0-255]

Medición del peso, 𝐹𝑃 [gramos]

Fuerza hélice, 𝐹𝐻 [Newtons]

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

Page 71: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

53

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.

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.

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

Page 72: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

54

54

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

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

Page 73: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

55

movimiento tiene la siguiente forma

d2y

dt2+ a1

dy

dt+ a2y = b1u

(7–7)

Ya en el Capítulo 4 se obtuvo la ecuación diferencial linealizada (4-11.2) que define el movimiento del

sistema:

I d2θ

dt2+ B

dt+ mtg dc cosθ0 θ(t) = dHFh0Fh(t)

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:

d2y

dt2+ 2δωn

dy

dt+ ωn

2y = Kωn2u

(7–8)

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θ

dt2+ 2δωn

dt+ ωn

2θ = Kωn2Fh

(7–9)

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:

G(s) =θ(s)

Fh(s)=

Kωn2

s2 + 2δωns + ωn2

(7–10)

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

SOpu =y(tp)−yeq

yeq−y(t0) (Sobreoscilación por unidad)

𝑆𝑂(%) = 100 · 𝑒−𝛿𝜋

√1−𝛿2 δ = √ln2(SOpu)

π2+ln2(SOpu)

Tiempo de pico, 𝑡𝑝:

tp = tprimer pico − tentrada_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]

Page 74: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

56

56

tp =π

√1−δ2ωn ωn =

π

√1−δ2tp

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

K =∆Salida

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

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

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)

Page 75: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

57

Gup(s) =Kupωnu

2

s2 + 2δuωnus + ωnu

2

Utilizando los valores de los puntos mostrados en la Figura 57 se calcula el valor de cada constante:

Tiempo de pico de subida

tpu= 180.7 − 180.1 = 0.6 s

Ganancia estática de subida

Kup =∆θ

∆F=

48.5−32.12

1.7−1.2= 32.76 ᵒ/N

Sobreoscilación de subida

SOpuup =

y(tpup)−𝑦𝑒𝑞u

𝑦𝑒𝑞u−y(t0)

=62.43−48.5

48.5−32.12= 0.85 → SO(%)up = SOpu

uo · 100 = 85%

Coeficiente de amortiguación de subida

δu = √ln2(SOpu

d)

π2+ln2(SOpud)

= √ln2(0.85)

π2+ln2(0.85)= 0.0517 Sistema Subamortiguado (0 < 𝛿 < 1)

Frecuencia natural de subida

ωnu =π

√1−δu2·tpu

√1−0.0592·0.6= 5.245 rad/s

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:

Gup(s) =Kupωnu

2

s2 + 2δuωnu s + ωnu

2=

32.76 · 5.2452

s2 + 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

Page 76: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

58

58

𝑆𝑂𝑝𝑢𝑑𝑜𝑤𝑛 =

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

𝑦𝑒𝑞 − 𝑦(𝑡0)=

19.57 − 32.12

32.12 − 49.6= 0.718 → 𝑆𝑂(%)𝑑𝑜𝑤𝑛 = 𝑆𝑂𝑝𝑢

𝑑𝑜𝑤𝑛 · 100

= 71.8%

Coeficiente de amortiguación de bajada

𝛿𝑑 = √𝑙𝑛2(𝑆𝑂𝑝𝑢

𝑑)

𝜋2+𝑙𝑛2(𝑆𝑂𝑝𝑢𝑑)

= √𝑙𝑛2(0.718)

𝜋2+𝑙𝑛2(0.718)= 0.105 Sistema Subamortiguado (0 < 𝛿 < 1)

Frecuencia natural de bajada

𝜔𝑛𝑑=

𝜋

√1−𝛿𝑑2·𝑡𝑝𝑑𝑜𝑤𝑛

=𝜋

√1−0.10520.5= 6.318 𝑟𝑎𝑑/𝑠

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

𝑠2 + 2𝛿𝑑𝜔𝑛𝑑 𝑠 + 𝜔𝑛𝑑

2=

34.96 · 6.3182

𝑠2 + 2 · 0.105 · 6.318 𝑠 + 6.3182

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

Page 77: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

59

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.

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.

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

Page 78: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

60

60

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:

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:

𝑡𝑠𝐵𝐶 ≃ 1𝑠 𝐾𝑐 ≃

3

𝑡𝑠𝐵𝐶 ≃ 3 𝑁/𝑔𝑟𝑎𝑑𝑜

𝜏𝑎𝑓 ≃𝑡𝑠

𝐵𝐶

25=

1

25= 0.04

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.

Referencia Ángulo Controlador

C(s) SISTEMA

Act

uad

or

Sen

sor

Fuerza

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

Ángulo

Error

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

Page 79: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

61

La función del controlador C(s) queda de la siguiente forma:

C(s) =Kc

1

G(s)·

1

(τaf s + 1)=

3

s·s2 + 2 · 0.105 · 6.318 s + 6.3182

34.96 · 6.3182·

1

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.

Page 80: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

62

62

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.

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

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

Page 81: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Grado en Ingeniería Aeroespacial

Eduardo Cordero Mallado

Diseño y construcción de un prototipo de sistema Motor-Hélice-Balancín

63

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.

Page 82: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

Control del Sistema

64

64

Figura 63. Resultados de la simulación con control

Comienzo

del control

Page 83: Trabajo Fin de Grado Grado en Ingeniería Aeroespacialbibing.us.es/proyectos/abreproy/90718/fichero... · Ventana de ajuste de la opción Basic Fitting ... Modelo utilizado para simular

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