SEDE RENCA
“Plataforma Estabilizadora, Para Cámara Montada En Un Cuadroptero”
“Trabajo de seminario para optar al título de Ingeniería en Electrónica”
Profesor guía: Sr. Jaime Mutis.
Autores: Matias Berrios G. Simón Novoa. Enrique Caro.
Santiago, Chile - Diciembre de 2013
SEDE RENCA
“Plataforma Estabilizadora, Para Cámara Montada En Un Cuadroptero”
Trabajo de seminario presentado por
Matias Berrios G. Simón Novoa. Enrique Caro.
Como requisito para optar al título de Ingeniería en Electrónica
Profesor Guía Sr. Jaime Mutis Santiago, Chile - Diciembre de 2013
2
SEDE RENCA
“Plataforma Estabilizadora, Para Cámara Montada En Un Cuadroptero”
Trabajo de seminario presentado por
Matias Berrios G. Simón Novoa. Enrique Caro.
Como requisito para optar al título de Ingeniería en Electrónica
Profesor Guía Sr. Jaime Mutis Santiago, Chile - Diciembre de 2013
2
TITULO DEL TRABAJO DE SEMINARIO: SE MINARIO:
“Plataforma Estabilizadora , Para Cámara Montada En Un Cuadroptero”
AUTORES
Matias Berrios G. Simón Novoa. Enrique Caro.
TRABAJO DE SEMINARIO, presentado en cumplimiento parcial de los requisitos para optar al título de Ingeniería en Electrónica de INACAP sede Renca
Derechos de Autor:
3
Dedicatoria Con todo nuestro cariño y amor para las personas que hicieron todo en la vida para que nosotros pudiéramos lograr nuestros sueños, por motivarnos y darnos la mano cuando sentíamos que el camino se terminaba, incluso a aquellos que nos acompañan espiritualmente, a ustedes, por siempre en nuestro corazón.
4
Prólogo La presentación de una memoria para la obtención del título profesional de Ingeniero en Electrónica, es un gran desafío para cualquier estudiante de la carrera. Este trabajo implica incorporar los conocimientos adquiridos durante la los cuatro años de estudio, además de tener que realizar un gran trabajo de investigación y desarrollo. Sin duda, el campo de la electrónica incorpora una variedad muy amplia de materias que se deben estudiar para poder ejercer la profesión. Ejemplo de esto es la malla curricular que incorpora la carrera, la cual incluye física, matemáticas, redes, idiomas y por supuesto talleres prácticos entre otros ramos. Uno de los objetivos para nosotros de realizar esta memoria es poder poner en práctica los conocimientos adquiridos, sumándole algún tipo de conocimiento no adquirido previamente y que cumplan con ser temas novedosos, además debe tener una aplicación práctica en la vida real. Para la electrónica el manejo de actuadores tales como motores es una forma de alterar el medio físico. Estos pueden ser de sencillo control o pueden requerir algún tipo de control más complejo. Durante los últimos años hemos ido progresando en nuestro conocimiento del control de motores y sus distintas tipologías. Siempre es un desafío lograr manejarlos en forma eficiente y precisa. Esta fue la motivación de realizar nuestra memoria incluyendo motores, que permitan realizar una maqueta que pueda mostrar en forma práctica, la aplicación de un sistema electrónico, que permite realizar una tarea de mejor forma que con métodos más tradicionales. Con estas ideas en mente durante el proceso de tomar una decisión sobre el tema de la nuestra memoria, es que nos encontramos con una tecnología relativamente nueva, la cual intenta estabilizar un cámara con motores de corriente continua pero sin escobillas para su conmutación. Durante el desarrolla de la maqueta para nuestro proyecto, fuimos adquiriendo diferentes conocimientos sobre control de este tipo de motores, lo cual se transformó en el principal area de estudio para lograr nuestro objetivo. 5
Esta memoria no tiene como tema el control de motores, es por este motivo que no se profundiza en el tema de los otros métodos de control, a pesar de haber tenido que estudiarlos para poder llegar al control que necesitábamos, pero si se mencionan y explican en forma superficial. Al comienzo de trabajo, se tomó la decisión de no solo construir una maqueta para estabilizar una cámara, sino que también construir una plataforma móvil donde montarla, para así poder graficar de forma clara y sin dudas sobre la ventaja de utilizar este método para estabilizar una cámara. Por supuesto esto implicó un mayor trabajo, lo cual significa dedicarle más tiempo al proyecto y por supuesto una inversión monetaria más alta. Este proyecto fue un lindo desafío, por su dificultad y utilidad. Además de poder trabajar una tecnología nueva y desconocida para nosotros antes de la realización de este proyecto. En esta memoria se explicara todo el funcionamiento de una plataforma estabilizadora con control electrónico. Este control se realiza con un microcontrolador, el cual requiere una programación extensa. Debido a la limitación de tiempo y laboratorios de libre disposición para la realización de nuestra memoria, es que utilizaremos partes de códigos de fuente abierta, de libre uso publico para poder acortar los tiempos de desarrollo de la maqueta. Pero se explica la lógica del programa, para poder entender y aplicar este procedimiento utilizando distintos microcontroladores y lenguajes de programación para futuros desarrollos de esta tecnología.
6
Agradecimientos Nos gustaría que estas líneas sirvieran para expresar nuestro sincero agradecimiento a todas aquellas personas que con su apoyo han colaborado a lo largo de nuestra carrera y más aun en la realización de este proceso, en especial a nuestras familias, a nuestros amigos que fueron de gran ayuda para la realización de nuestro proyecto. Ya que sin el apoyo incondicional de ellos difícilmente podríamos haber llegado a esta instancia a un paso del término. Especial reconocimiento merecen por el interés mostrado y las sugerencias recibidas, a algunos profesores de INACAP tanto en la sede sur como en renca. Quisiera hacer extensiva nuestra gratitud a la gente de pañol que siempre estuvo a disposición con el préstamo de materiales que fueron de gran ayuda para el desarrollo de nuestro trabajo. Y por último, y no menos importante, agradecernos a nosotros mismos el esfuerzo, comprensión y dedicación entregado para que esta aventura llegara a buen puerto y tuviera como resultado este gran proyecto.
7
INDICE RESUMEN ....................................................................................................10 CAPITULO 1. INTRODUCCION ....................................................................12 1.1
MOTIVACION .......................................................................................................
12
1.2
INTRODUCCION .................................................................................................
13
CAPITULO 2. ESTADO DEL ARTE ..............................................................16 2.1 RESEÑA HISTÓRICA .............................................................................................
16
2.2 GLIDECAM ................. ................. .................. ................. .................. ................. ......... 17 2.3 BODYCAM .................................................................................................................
18
2.4 FLIGHTSTICK .................. ................. ................. .................. .................. ................. ... 18 2.5 ESTABILIZACIÓN DE IMAGEN DIGITALMENTE ............................................... 19
CAPITULO3. PLATAFORMA AEREA NO TRIPULADA ................................20 3.1 INTRODUCCION.......................................................................................................
20
3.2 CUADROPTERO.......................................................................................................
23
3.2.1 PLACA CONTROLADORA ..................................................................................
25
3.2.2 MOTORES ..............................................................................................................
26
3.2.3 CONTROLADORES DE VELOCIDAD ELECTRONICOS ...............................
27
CAPITULO 4 SISTEMA ESTABILIZADO PARA CAMARA ........................... 28 4.1
INTRODUCCION .................................................................................................
28
4.2
PRIMERA ETAPA ................................................................................................
29
4.2.1
MOTORES ........................................................................................................
29
4.2.2
SENSOR ...........................................................................................................
32
4.2.3
DRIVER PARA MOTOR. ................................................................................
34
4.2.4
MICROCONTROLADOR. ............................................................................... 36
4.2.5
ESTRUCTURA. ................................................................................................
37
4.3. SEGUNDA PARTE. .................................................................................................
38
4.3.1 CONTROL DE MOTORES. .................. ................. .................. ................. ............ 39 4.3.1.2 TIPOS DE CONMUTACION. ............................................................................
40
4.3.1.2 SENSORES DE POSICION. ............................................................................
45
4.3.2. PROCESAMIENTO DIGITAL DE MOVIMIENTO (DMP). .............................. 46 4.3.3 4.4
COMUNICACIÓN CON EL SENSOR.................. ................. .................. ...... 47 ALGORITMO PARA EL CONTROL................ ................. .................. ............... 49 8
4.4.1 LENGUAJES DE PROGRAMACION. ................................................................
49
4.4.2 LICENCIAS GNU. ..................................................................................................
50
4.4.3
LIBRERIAS UTILIZADAS. ..............................................................................
51
4.4.4
ALGORITMO. ...................................................................................................
51
CAPITULO 5.SISTEMAS DE CONTROL AUTOMÁTICO ............................53 5.1 INTRODUCCION ....................................................................................................
53
5.2 DIFERENTES TIPOS DE CONTROL .................................. .................. .............. 54
CAPITULO 6.CONTROL PID ........................................................................60 6.1 INTRODUCCION ...................................................................................................
60
6.2 FUNCIONAMIENTO DEL CONTROL PID ................................. .................. ...... 61 6.3
INCORPORACIÓN DEL PID ...............................................................................
63
6.4 AJUSTES DEL PID ..................................................................................................
64
6.5
65
PROGRAMA PID ...................................................................................................
CAPITULO 7.CONCLUSION ......................................................................... 66
9
RESUMEN Las nuevas tecnologías de cámaras más pequeñas y de alta performance han permitido que sean montadas en plataformas móviles como vehículos motorizados, cascos, vehículos aéreos tripulados y no tripulados, etc.
La movilidad que proporcionan estas cámaras hace necesario algún tipo de sistema de estabilización de las imágenes. Para lograr tomas que sean agradables al espectador de dichas imágenes. Para lograr dicho objetivo se puede recurrir a sistemas activos o pasivos. Esto también puede lograrse con el procesamiento de la imagen digital adquirida. El objetivo de este proyecto es poder realizar un sistema de estabilización activo, por medio de un sistema de control a lazo cerrado, utilizando un microcontrolador, motores DC sin escobillas y una unidad de medición inercial.
El proyecto involucra un gran porcentaje de investigación sobre el funcionamiento de motores DC y de las distintas formas de controlarlos, para así lograr utilizarlos de forma similar a un motor paso a paso o un servo motor. Además
10
de un conocimiento de lenguajes de programación de microcontroladores y de comunicaciones de bus i2c. Para el control a lazo cerrado del sistema, se investigara sobre control Proporcional, Integrativo y derivativo.
11
CAPITULO 1. INTRODUCCION 1.1
MOTIVACION
La tecnología de motores eléctricos, microcontroladores, baterías y cámaras de video han evolucionado en forma vertiginosa en la última década, permitiendo la creación de vehículos no tripulados para la captura de imágenes de video aéreas, reemplazando tareas que antes eran realizadas por vehículos mucho más costosos y peligrosos para sus operadores como por ejemplo helicópteros o aviones. Tomando en cuenta que los vehículos no tripulados o UAV ya son una realidad y que la demanda por imágenes aéreas es creciente en el mercado publicitario, minero, inmobiliario o agrícola. Por todo esto y debido a que aún es un mercado muy poco desarrollado, es que como parte de un emprendimiento privado de los integrantes de este grupo de trabajo hemos querido desarrollar un sistema de estabilización de cámara para un UAV, específicamente para un cuadroptero. Este estabilizador formara parte de una serie de sistemas de enlaces de video, monitores, radio controles y cámaras para poder realizar esta tarea de adquisición de imágenes de video. El poder lograr una imagen estabilizada, nos dará un producto final de video mucho más profesional y de mejor calidad para los clientes finales.
12
1.2
INTRODUCCION Existen tres formas de estabilizar una imagen:
En forma pasiva, la cual involucra utilizar contrapesos para que la gravedad de la tierra haga el trabajo y la cámara se estabilice.
En forma activa, lo cual significa usar motores para lograr mantener la cámara estabilizada.
Por el procesamiento de la imagen, esto se logra capturando una imagen mayor a la que será utilizada y corrigiendo los movimientos de la cámara ajustando el cuadro dentro de la imagen captura.
Por supuesto cada método tiene sus ventajas y desventajas, las cuales se muestran en el siguiente cuadro. PASIVA
ACTIVA
PROCESAMIENTO
PESO
ALTO
MEDIO
BAJO
COSTO
BAJO
MEDIO
ALTO
ESTABILIDAD
MEDIA
ALTA
BAJA
COMPLEJIDAD
BAJA
MEDIA
ALTO
13
Debido a que el sistema activo nos entrega un alto nivel de estabilidad de la imagen a costos y pesos razonables. Hemos optado por esta forma de estabilización de la imagen. Ahora es necesario elegir los motores a utilizar, la cantidad de ejes a controlar, el tipo de sensor, el método de control de los motores y el tipo de control que aplicaremos al sistema. Para los motores contamos con tres opciones. Motores paso a paso, servo motores o motores DC sin escobillas. Todos estos motores sirven para ser utilizados en el control de posición de un eje. Utilizaremos dos motores para poder controlar dos grados de libertad del sistema, que es lo que necesitamos para que la cámara se mantenga estabilizada cuando el cuadroptero se incline adelante/atrás y derecha/izquierda. Estos motores tienen distintas características de peso, precisión y torque. Los servo motores son muy ligeros y de gran torque, pero con una velocidad baja y además son poco fluidos en sus movimientos, generando vibraciones y posibles oscilaciones. Por otra parte los motores paso a paso son muy precisos, fluidos en sus movimientos y tienen un buen torque, pero tienden a ser pesados y a consumir mucha corriente. Finalmente tenemos los motores DC sin escobillas los cuales existen desde los años 60, pero que requieren una etapa de control más compleja y que solo en los últimos años se han logrado realizar de mejor forma y más económicamente gracias a los microcontroladores. Estos motores dependiendo de su configuración interna, pueden ser para generar altas revoluciones y bajo torque, o alto torque y pocas revoluciones. Esta segunda configuración es ideal para nuestro objetivo. Además como el control se realiza por medio de pulsos de DC, tienen un menor consumo. Esto sumado a su menor peso y a una reducida fricción por la ausencia de escobillas, los hace muy eficientes. Otra característica que los hace una mejor opción es la ausencia de engranajes lo que permite utilizar la inercia del sistema a favor de la estabilización. En el caso que la cámara
este perfectamente
balanceada, el motor no requiere aplicar un torque constante sobre la cámara, eliminando la necesidad de aplicar fuerza extra de control, lo que le permite a la 14
cámara, liberarse de forma más eficiente, de las perturbaciones ocasionadas por la plataforma voladora. Por otra parte no existen golpes ocasionados por los engranajes o correas. El motor DC sin escobillas es más eficiente, suave en sus movimientos y ligero de peso. Por lo que lo hace el candidato ideal para realizar la tarea de estabilizar una cámara. Debido a la complejidad del control de los motores y la necesidad de la lectura de un sensor de posición para realizar algún tipo de control sobre el sistema, es que hemos optado por un microcontrolador para realizar estas tareas. Para esto requerimos de un microcontrolador de gama media o alta, con una velocidad de procesamiento lo suficientemente alta para poder manejar los cálculos del control y el manejo de los motores, además de poder realizar la lectura del sensor. Como sensor utilizaremos una unidad de medición inercial o IMU por sus siglas en ingles, el cual ira montado en la estructura donde este la cámara, para poder saber su posición en relación a dos ejes. El IMU nos entregara una lectura la cual nos indicara la posición del sensor. Para luego ser procesada por el controlador y poder dar los pulsos necesarios para que los motores estabilicen la cámara. Por ultimo requerimos de una fuente de alimentación para nuestro sistema, la cual será proveída por una batería de litio de 3 celdas con un voltaje de 11,1 v y de 800 mah de capacidad de carga. Suficiente para un vuelo de por lo menos 15 min.
15
CAPITULO 2. ESTADO DEL ARTE Es necesaria una fase inicial de análisis para determinar el alcance, objetivo, requisitos del proyecto. En este capítulo se va a abordar la fase previa al desarrollo. Se va a poner la atención en diferentes estabilizadores existentes durante los años que nos ayudaran durante el análisis y desarrollo de nuestra idea. Existen una cantidad razonable de proyectos que afrontan el reto de construir estabilizadores de cámaras montados en vehículos aéreos no tripulados. Dependiendo del enfoque desde donde los miremos, se pueden dividir de varias maneras.
2.1 RESEÑA HISTÓRICA Los primeros estabilizadores de imagen aparecieron a principios de los años 60. Estos sistemas eran capaces de compensar ligeramente la vibración de la cámara fotográfica y los movimientos involuntarios. Estaban basados en mecanismos controlados mediante giroscopios, con los que se podían cancelar los movimientos no deseados cambiando la posición de un lente o un grupo de ellos en un objetivo en dirección opuesta.
16
2.2 GLIDECAM Está pensada para un uso menos profesional que la steadicam, aunque permite obtener una gran calidad. Basa su equilibrio en un simple sistema de contrapesos y un balancín de precisión. Permite hacer tomas panorámicas de 360º e inclinación de más de 270º. Con este tipo de cámaras se consigue suavidad en movimientos tan complicados como correr, ir agachado, andando o cualquier otro método mas complicado para grabar
17
2.3 BODYCAM Como el resto de los soportes de cámara, la Bodycam permite reducir la inestabilidad en movimientos tales como subir escaleras, correr. Además de esto, ofrece la posibilidad de ampliar los puntos de vista, ya que permite mayor movilidad que el dolly (desplazamiento de cámara).
2.4 FLIGHTSTICK Es otro sistema estabilizador similar a los anteriores, pero ha añadido un peso en la parte baja del trípode y un monitor.
18
2.5 ESTABILIZACIÓN DE IMAGEN DIGITALMENTE Hoy en día existen variados software que permiten estabilizar una imagen de video, ya que por la vibraciones que provoca el camarógrafo al momento de filmar estas vibraciones pueden ser corregidas a través de software o también en casos donde la cámara filmadora posee incorporado algún software que trabaja con el óptico de la cámara para lograr una imagen más estabilizada
19
CAPITULO3. PLATAFORMA AEREA NO TRIPULADA
3.1 INTRODUCCION Las plataformas aéreas no tripuladas o UAV por sus siglas en inglés (Unmanned Aerial Vehicle) son vehículos mayoritariamente utilizados por la milicia para reconocimiento y ataques aéreos, sin poner en riesgo una tripulación para controlaros, además de ser reutilizables. Pero existen diversas configuraciones, tamaño, formas y aplicaciones para estos vehículos.
Para nuestros propósitos de uso civil en la captura de imágenes de video aéreas, para uso comercial, tenemos básicamente cuatro opciones para realizar la tarea requerida.
20
1. Aviones, los cuales permiten una carga útil suficiente para nuestros requerimientos, con una capacidad de vuelo prolongada. Pero con la necesidad de un lugar o plataforma para el despegue y aterrizaje, lo cual limita las zonas donde se pueden operar. Por otra parte son incapaces de realizar un vuelo estacionario.
2. Globos o dirigibles inflados con Helio, estas plataformas son muy estables, con una gran capacidad de vuelos prolongados. Son extremadamente seguros, debido a que el Helio es un gas inerte y que ante cualquier falla de los motores o electrónica de vuelo, pueden configurarse para descender suavemente sin riesgo para las personas. Sin embargo el costo del Helio y su reposición permanente lo hace un vehículo muy cara de operar, además de dificultar su transporte y almacenaje.
21
3. Helicópteros, son muy agiles en su vuelo, permitiendo maniobrar por áreas de difícil acceso y realizar seguimiento de acciones en movimientos a altas velocidades. Su mayor desventaja radica en el alto nivel de experiencia que se requiere para operarlos de forma segura y efectiva. La alta velocidad que alcanzan las palas del rotor principal, los transforman en vehículos muy peligrosos para aplicaciones donde existen personas cerca de la zona de vuelo.
4. cuadropteros, son una variación de los helicópteros, pero tienen su propia categoría dentro de los UAV, ya que utilizan cuatro rotores y esto hace que la física del vuelo sea distinta a la de un helicóptero, pero permitiendo el vuelo estacionario. Son más seguros que los helicópteros, debido a que al tener cuatro rotores se requieren hélices más pequeñas y ligeras. Su capacidad de vuelo es algo limitada en cuanto al tiempo de vuelo y la carga útil.
22
Hemos optado por utilizar un cuadroptero como nuestra plataforma aérea por los siguientes motivos:
Costo razonable, cercano a los $200.000 por los componentes para construir uno.
Tiempo razonable requerido para poder aprender a operar y maniobrar.
Su capacidad de vuelo estacionario y maniobrabilidad.
Facilidad para su transporte y almacenaje.
Seguridad para poder volar en zonas pobladas.
Su tiempo de vuelo de 10 a 15 minutos, es suficiente para nuestros requerimientos.
Capacidad de carga útil suficiente para poder llevar una cámara de video de alta definición para deportes extremos.
3.2 CUADROPTERO Los cuadropteros como ya se mencionó anteriormente son UAVs. Se pueden controlar por medio de radio control o por medio de pilotos automáticos. Son plataformas muy estables y seguras en su vuelo. Su aparición en el mundo de los UAVs se origina en el mundo civil y no militar, su desarrollo se inició en Alemania y Estados Unidos por ingenieros electrónicos que lograron controlar los motores por medio de microcontroladores, posibilitando hacer uso de motores que giran en pares pero con sentidos de giro opuestos, en forma sincronizada, para lograr un vuelo sustentado y dirigido solo con la aplicación de potencia controlada a cada motor. Para el operador del cuadroptero el vuelo es un ejercicio transparente, si quiere girar, subir, bajar o rotar el vehículo, solo debe mover los controles del radio control en la dirección deseada. Esto se logra enviando comandos por medio del radio control a un receptor que lo convierte en modulación por anchos de pulsos que usualmente son interpretados por servo motores, pero que en el caso de un cuadroptero estos pulsos son recibidos por un microntrolador que realiza el proceso de aplicar o quitar potencia a los motores necesarios para realizar los movimientos deseados por el operador. 23
Hoy en dia existe un gran mercado de piezas y partes para construir estos vehículos, que incluyen placas controladoras, motores sin escobillas DC, ESC (electronic speed control) y armazones. Nosotros construimos nuestro propio cuadroptero, para ello fabricamos un armazón de aluminio para reducir peso, adquirimos una placa controladora que cuenta con un microcontrolador Atmel MEGA 324pa, cuatro motores sin escobillas, cuatro controladores electrónicos de velocidad para los motores, juegos de hélices en pares del tipo chupa/sopla y todo el cableado necesario.
24
3.2.1 PLACA CONTROLADORA Está compuesta por un microntrolador marca Atmel, modelo mega 324pa, un regulador de voltaje, una pantalla lcd, pulsadores y una interfaz para su parogramacion.
La placa es parte de un desarrollo de fuente abierta que permite crear y modificar su programa de control de vuelo. En nuestro caso hemos optado por descargar una firmware creada por otros desarrolladores, que ya está probada y que permite configurar un control PID de los motores.
Fue necesario grabar la firmware en el microcontrolador, luego configurar la placa por medio de los pulsadores y la pantalla lcd. Esta configuración implica programar los ESC para su funcionamiento con la placa, además de configurar los parámetros PID para lograr un vuelo estable, esto es crucial para nuestro objetivo de tener una cámara estabilizada, ya que si el cuadroptero tiene un vuelo errático o brusco aumenta las perturbaciones que afectan nuestro sistema estabilizador.
25
3.2.2 MOTORES Los motores utilizados para nuestro cuadroptero son del tipo sin escobillas trifásicos y con un control de velocidad por medio de un ESC que entrega los pulsos necesarios a los bobinados del motor para controlar su velocidad de giro.
Están específicamente construidos de forma que sus bobinados generan altas revoluciones por minuto pero sin mucho torque, lo cual es la característica necesaria para motores que mueven hélices a altas velocidades para lograr sustentación en el aire.
26
3.2.3 CONTROLADORES DE VELOCIDAD ELECTRONICOS Conocidos por sus siglas en ingles ESC (electronic speed control), están compuestos por un microntrolador que interpreta la modulación de ancho de pulsos y aplica un voltaje a cada bobina, en una secuencia que permite variar la velocidad del motor al cual está conectado. Esto lo realiza por medio de tres FET, una para cada fase del motor. El control del motor incorpora una técnica para conocer la posición y velocidad de los motores llamada BEMF, por sus siglas en ingles que traducido seria, fuerza electromagnética de retorno. Esta técnica consiste en poder medir el voltaje generado por la bobina que no se encuentra energizada, para poder conocer la posición y velocidad del rotor.
27
CAPITULO 4 SISTEMA ESTABILIZADO PARA CAMARA
4.1
INTRODUCCION
Para lograr estabilizar una cámara en dos ejes, lo cual es nuestro objetivo, requiere la construcción y desarrollo de una estructura con dos grados de libertad que incorpore un sensor de posición en la basa donde estará instalada la cámara para poder tener una retroalimentación, la cual será entregada a un control que dará comandos a un actuador para poder corregir el error generado por las perturbaciones externas del sistema. Ya que el objetivo principal de nuestro proyecto es lograr dicha estabilidad de la cámara mientras se encuentra adosada a nuestra plataforma de vuelo (cuadroptero), debemos tener como objetivos secundarios para tener éxito, el lograr el menor peso posible de nuestra estructura con toda su electrónica, actuadores y sensores. También lograr un consumo de energía bajo, para lograr aportar al bajo peso de sistema, utilizando baterías de tamaño reducido. Otro objetivo secundario es el lograr un movimiento suave y fluido de la cámara mientras se corrige el error. Tomando en cuenta nuestros objetivos para el proyecto, hemos realizado una investigación para lograr elegir los componentes adecuados para la construcción de nuestro sistema de estabilización. Para ellos estudiamos experiencias anteriores de sistemas similares. Definimos que los componentes que estudiaremos para luego elegir los mas adecuados serán, motores, microntroladores, sensores, drivers para los motores elegidos y materiales para la construcción de la estructura donde estarán montados los componentes y cámara. Una vez definidos los componentes debemos integrarlos para poder realizar la segunda parte del proyecto. La cual consiste en realizar un control a lazo cerrado 28
de la planta, que en nuestro caso será la suma de los motores, la estructura con la cámara y componentes electrónicos. Debemos definir el tipo de control que utilzaremos para los motores y para esto se estudiaron las distintas alternativas. Por ultimo tenemos que definir una función de transferencia para poder estudiar el sistema y definir algún tipo de control.PID Como se ha mencionado antes, nuestro proyecto tendrá dos etapas. La primera será lograr construir una estructura con sus motores, drivers, microcontrolador y sensor para poder mover una cámara del tipo GOPRO con dos grados de libertad, y una segunda etapa que consiste en algún tipo de control a lazo cerrado para que la cámara se mantenga estable en una posición a pesar de las perturbaciones que afecten al sistema.
4.2
PRIMERA ETAPA
Una plataforma estabilizadora puede tener distintas características, como por ejemplo su tamaño, capacidad de carga útil, peso del total entre otras. Nuestro proyecto será pequeño en dimensiones, liviano de peso y con la capacidad de operar con una cámara GOPRO. Tomando en cuenta lo anterior y dentro de las posibilidades y disponibilidad de componentes en el mercado. Hemos tratado de integrar diferentes componentes, que al trabajar en conjunto, cumplan el objetivo principal de este proyecto, además de alcanzar los objetivos secundarios.
4.2.1 MOTORES Para esta fase del proyecto es crítico definir los motores a utilizar. Estos deben cumplir con ciertas características deseadas para nuestro objetivo y estas son, un torque suficiente para poder mover la cámara de video montada en la
29
estructura, poder montar la estructura directamente en el rotor. Y por último la capacidad de manejarlo de tal forma que podamos controlar su posición. Un tipo de motor que cumple con estas características son los del tipo de corriente continua, sin escobillas y del tipo inrunner, ósea que los bobinados están en la parte interior y los imanes en la parte exterior, la cual gira en torno a las bobinas las cuales están estáticas. Esta característica de su construcción, tiene varias ventajas:
Ausencia de chispas, por la conmutación.
Mas silencioso
Menos desgaste de piezas móviles.
La temperatura se produce en el estator, que es mas fácil de mantener y reparar.
Las bobinas al estar en el estator fijas, produce una menor inercia. Siendo más fácil partir y parar,
Los motores más comunes del tipo sin escobillas que existen en el mercado son diseñados para el uso de en aviones rc, helicópteros rc , etc. Pero estos motores tienen una configuración interna con respecto a la sección del alambre utilizado y la cantidad de vueltas de los bobinados que está orientado a generar muchas R.P.M. y poco torque, con el objetivo de poder generar empuje por medio de las hélices sujetas al eje del motor. Una opción era rebobinar motores comunes, pero luego de una larga búsqueda encontramos un proveedor que suministraba motores sin escobillas para ser utilizados en el control de posición.
30
Una descripción más profunda de los motores elegidos es la que se entrega a continuación.
El modelo del motor es 2208 kv90 , la nomenclatura para leer esto es que, 2208 se separa en 22-08, el numero 22 nos indica el diámetro del estator en mm y el numero 08 el largo del estator en mm. La etiqueta kv 90 nos informa que el motor puede girar a 90 R.P.M. por cada volt aplicado. Por ejemplo este motor puede girar a 900 R.P.M. si se le aplican 10 volts.
El estator cuenta con 12 espigas con bobinados, de 80 vueltas en cada bobinado con alambre de cobre de un diámetro de 0,16 mm. En el rotor cuenta con 14 polos.
La forma de bobinado de estos motores es en estrella con una organización de las bobinas del tipo DLRK.
El motor tiene una configuración para poder realizar lo que se conoce como “direct drive”, esto significa que no cuenta con un eje que
sobresalga o engranajes para transmitir su potencia. Esto permite montar los motores directamente sobre la estructura que se quiere mover, eliminando las perturbaciones y pérdidas de eficiencia producidas por engranajes, poleas o ejes.
31
4.2.2 SENSOR Generalmente para el control de motores brushless se utilizan encoders, sensores de efecto hall o potenciómetros. La desventaja de esta forma de control de posición es que se requiere de estos sensores en el mismo motor, ocasionando un mayor peso y la necesidad de un cableado para transmitir la información. Para evitar esta situación existen 2 alternativas, la primera es el método de censar la posición del motor midiendo la generación de los pulsos producidos por los imanes en las bobinas del motor que no estén energizadas. Pero este método funciona cuando el motor se encuentra constantemente girando, por lo cual no servirá para nuestro proyecto. La segunda es utilizar un sensor del tipo IMU (siglas en inglés para “unidad de movimiento inercial”) el cual utiliza 3 acelerómetros y 3 giroscopios para determinar movimientos y posición de un objeto. Esto lo realiza en los ejes X,Y y Z. El sensor puede entregar los datos sin procesar de las lecturas de los acelerómetros y giroscopios, para luego realizar un procesamiento de los datos 32
para poder determinar la posición, esto se conoce como procesamiento digital de movimiento. También existen sensores que son capaces de realizar dicho procesamiento dentro de la misma unidad y entregan datos ya procesados con la posición y movimiento calculados del sensor.
Para nuestro proyecto hemos seleccionado el IMU MPU6050, este sensor tiene 3 acelerómetros y 3 giroscopios, puede entregar los datos de lectura sin procesar o entregar la posición ya procesada. Además cuenta con un bus de datos del tipo I2C para comunicarse con un microcontrolador y transmitir los datos de posición. El formato en que entrega los datos sin procesar de los 3 ejes, es con el sistema de cooerdenadas conocido como cuaternios, estos son una extensión de los números reales, similar a la de los números complejos. Mientras que los números complejos son una extensión de los reales por la adición de la unidad imaginaria i, tal que i^2 = -1, los cuaterniones son una extensión generada de manera análoga añadiendo las unidades imaginarias: i, j y k a los números reales y tal que i^2 = j^2 = k^2 = ijk = -1
33
4.2.3 DRIVER PARA MOTOR.
Los motores a utilizar serán motores de tres fases, con una configuración de sus bobinas en estrella. Estos motores pueden ser controlados utilizando un integrado que cuenta con un medio puente H para cada bobina, esto permite poner cada bobina a VCC o a TIERRA. En el mercado existe una placa entrenadora que integra un microcntrolador y dos integrados L6234D, que cuentan con 3 medios puentes H cada uno. Ya que la placa integra estos components en un solo circuito, hemos optado por dicha opción. El integrado L6234D soporta alimentaciones entre 7 y 58 V, puede ser conmutado con señales TTL, generadas por un microntrolador, es capaz de manejar corrientes DC de 4 A con peaks de hasta 5 A, cuenta con protección contra conducción cruzada y una frecuencia de trabajo de hasta 50 khz. Esta frecuencia de trabajo es importante de tener en cuenta, ya que para poder mover el motor se utilizara una modulación de pulsos, la cual podría alcanzar frecuencias entre los 8 khz y 40 khz. Con este integrado (L6234D) podemos poder cada bobina en dos estados. El funcionamiento para cada salida es el siguiente, si en la pata del integrado IN1 se aplica un pulso ALTO, y la pata EN1 se encuentra en estado ALTO. La puerta lógica AND en el interior toma estos dos estados de dichas entradas y además incorpora el estado de la protección termal del integrado, para luego activar el amplificador que activa el transistor DMOS de la parte superior del medio puente H. En el caso que la pata IN1 se encuentre en un estado BAJO, la puerta AND de la parte superior del puente H no puede activar el transistor, pero la puerta AND de la parte inferior del puente H tiene la entrada de IN1 negada por lo que si activa el transistor de la parte inferior del puente H, conectando la bobina a tierra.
34
35
4.2.4 MICROCONTROLADOR.
El microcontrolador es el dispositivo que realizara el control de los motores y la lectura del sensor inercial, además de todos los cálculos. Existen variados fabricantes y modelos, pero como la placa entrenadora que incluye los L6234D ya posee un microcntrolador ATMEL modelo MEGA328P, que corre con un cristal de 16 mhz, decidimos mantener esta configuración.
Este microcontrolador tiene varias ventajas para nuestro proyecto, cuenta con la posibilidad de comunicación por bus I2C, tiene el poder de proceso como para ejecutar nuestro programa a la velocidad suficiente para para poder utilizar PWM a frecuencias de 8khz o más. El otro gran punto a favor es que podemos utilizar el entorno de desarrollo ARDUINO, el cual ya cuenta con varias librerías de libre acceso como por ejemplo, la comunicación I2C, procesamiento de movimiento inercial y tablas para el control de motores trifásicos por medio de PWM.
36
4.2.5 ESTRUCTURA.
Debido a que el peso es uno de los objetivos secundarios a alcanzar para nuestro proyecto y que los componentes que suman la mayor cantidad de peso son los motores y la estructura que los soporta junto a la cámara, y debido a que los motores no pueden alivianarse, es que la estructura debe ser lo más liviana posible. Para lograr este objetivo se pueden tomar varias opciones para la fabricación de la estructura, por supuesto que la elección del material usado es crítico. Puede usarse madera, aluminio, plástico, fibra de vidrio o fibra de carbono en otros. Existen estructuras prefabricadas para el armado de plataformas llamadas pan/tilt, las cuales se diseñan para poder mover una cámara en 2 ejes, a las cuales se les agregan servo motores o motores sin escobillas para poder mover la cámara en los 2 ejes. Son los mismos utilizados para cámaras de seguridad que se desean mover remotamente o automáticamente para barrer una mayor área de vigilancia. También existen estas estructuras para vehículos radio controlados, las cuales están pensadas para tener el menor peso posible.
37
Para nuestra aplicación hemos decidido invertir en una de estas estructuras fabricadas en fibra de carbono y que vienen con sus piezas pre cortadas para ser ensambladas por el usuario final. Esta ya viene con las perforaciones para poder montar los motores y además cuanta con un sistema de amortiguación en su parte superior donde se conecta con el vehículo para eliminar la pequeñas vibraciones ocasionadas por los motores del cuadroptero. La estructura se compone de varias piezas que deben ser ensambladas para dar forma a 3 sub estructuras con forma de L que se conectan entre si por medio de los motores, esto permite que la estructura sea muy liviana, ya que utiliza solo un brazo para sostener cada eje.
4.3. SEGUNDA PARTE. Pues bien, una vez reunidos los componentes necesarios para nuestra plataforma (hardware), y unirlos en una solo unidad es necesario tener un algoritmo para poder mover los motores y con esto la cámara, pero tomando en cuenta la posición por medio del sensor inercial. Los pasos necesarios y sucesivos requeridos para lograr llegar a un estado final deseado que de una solución a nuestro problema, se explican a continuación. Lo primero es poder tomar una posición inicial como referencia para el sistema. Esto se logra poniendo el sensor en la misma ubicación que la cámara y sobre una superficie plana y horizontal. Una vez que el sensor se encuentra en esta ubicación y posición, se realiza una lectura del sensor inercial, los datos adquiridos 38
por el microcontrolador se guardan en memoria, para luego poder ser utilizados en una función del programa que le dará los comandos a los motores para poder mantener la cámara en la posición inicial deseada cuando el cuadroptero se mueva. Con esta información el microcntrolador realizara una rutina para poder leer y comparar el estado actual del sensor versus el estado deseado. Esto operación arrojara un error, que será el resultado de la resta entre ambos valores. Para calcular cuánto debemos mover los motores y en qué sentido, se debe tomar en consideración la configuración interna del motor, ya que va a depender del número de bobina en el estator y el número de polos en el rotor, cuanto se mueva el motor en grados. Además tenemos que tomar como referencia el método de conmutación de un motor DC trifásico por medio de pulso desfasados entre si, para poder generar un torque y mover el motor. Este método consiste en aplicar un pulso a cada bobina en el momento preciso para poder ir generando un campo mangnetico, que mueva el rotor en el sentido deseado.
4.3.1 CONTROL DE MOTORES. Los motores de corriente continua sin escobillas, no operan con la aplicación directa de una fuente de poder con voltaje DC. Pero su principio de operación es muy similar al de un motor de corriente continua. Debido a su configuración, con un rotor de imanes permanentes y un estator con las bobinas, la conmutación debe realizarse de forma electrónica. Típicamente se utilizan sensores del tipo HALL para determinar la posición del motor y realizar la conmutación basándose en esta información.
39
Para cambiar el sentido de giro del motor, solo es necesario modificar el orden en que se conmutan las bobinas. El control de los estos motores, es por medio de un circuito integrado inversor, que produce una señal eléctrica de corriente alterna. Esto no implica una señal del tipo sinusoidal necesariamente, sino que una corriente bidireccional sin restricciones de forma de onda. Los sensores y electrónica utilizada, controlan la amplitud de la corriente, la forma de onda y frecuencia generada por el inversor. Esto permite variar la velocidad y porcentaje de corriente continua.
4.3.1.2 TIPOS DE CONMUTACION. Para poder conmutar el motor y lograr su movimiento, se pueden utilizar distintas técnicas o tipos de control. La forma más sencilla, es la de generar pulsos de corriente en cada fase, en un orden predeterminado por una tabla de 6 pasos. Permitiendo completar los 360° eléctricos.
40
En cada paso siempre hay una fase a VCC, otra a tierra y una en estado off. Para conseguir este tipo de control, es necesario tener la posibilidad de poner cada fase en uno de los tres estados, a VCC, a tierra y off. Esto se logra controlando la parte superior del medio puente H que controla cada fase, independientemente de la parte inferior. Pero este tipo de control es poco fluido y no es capaz de controlar la amplitud de los pulsos. Otra forma de conmutar los motores es por medio del uso de modulación de ancho de pulso o PWM. En este tipo de conmutación, se utiliza el PWM para poder modular la amplitud de la corriente aplicada a cada fase.
41
Dentro de este tipo de conmutación, se puede user PWM solo en la parte superior del medio puente H y mantener la inferior en estado de saturación constante. O usar PWM en la parte superior e inferior. Además con PWM, se puede generar una forma de onda cuadrada o del tipo sinusoidal. Ahora tomando en cuenta estos métodos para conmutar un motor de este tipo, nos daremos cuenta de que por cada 360° eléctricos, tenemos 6 pasos y con una cálculo matemático que incorpore la cantidad de polos y fases, podemos determinar cuantos pasos tendremos que realizar para un revolución completa del motor.
La fórmula nos indica que por cada 360° eléctricos, moveremos el motor 51,42°, y que en cada paso se moverá 8,57°. Si dividimos los 360° de una revolución del motor por los 8,57° de cada paso, obtendremos cuantos pasos se requieren para que el motor gire una vuelta completa, ósea tendremos 42 posiciones distintas del rotor. Esta resolución del motor es buena, pero no suficiente y claramente inferior a la de un típico motor paso a paso. Para nuestra aplicación requerimos de pasos con menos grados de resolución y con un movimiento lo más suave posible. Para lograr pasos más pequeños y un movimiento mas fluido, acudiremos a un método de conmutación de mayor complejo, el cual involucra el uso de PWM aplicado a cada medio puente H, saturando la parte superior, durante el estado ON del PWM y saturando la parte inferior, durante el estado off del PWM.
42
Ahora agregamos una forma de onda sinusoidal con la modulación del ciclo de trabajo del PWM. Al ir aumentándo y disminuyendo su duracion en función de seno, iremos aumentando la amplitud de la corriente, obteniendo la forma deseada.
43
Para que el motor se mueva de una forma muy similar a como lo haría si aplicáramos un voltaje trifásico, pero con pasos generados por la modulación de un PWM, utilizaremos tablas o arreglos de consulta, para que el controlador conmute cada fase de forma de lograr los formas de onda deseadas.
Cada pulso del PWM, nos da la habilidad de poder posicionar el motor en uno de los pasos generados. En nuestro caso utilizaremos 256 pasos por cada 360° eléctricos. Tomando en cuenta el cálculo realizado anteriormente, que nos dice que 360° eléctricos corresponden a 51,42° de movimiento del rotor, y esto lo dividimos en 256 pasos, tenemos 0,2° de resolución para nuestro motor. La realidad es que el límite de los pasos en que podemos sub dividir los 360° eléctricos, está limitado por la frecuencia a la cual pueden operar los inversores y la velocidad de proceso del controlador. La frecuencia del PWM y el ciclo de trabajo, van a determinar la velocidad del motor y la corriente aplicada, esta última se relaciona con el torque que tendrá el motor. 44
En nuestro caso, luego de buscar la mejor combinación de estos parámetros, para poder mover la cámara en forma eficiente, llegamos a los siguientes valores. -
Frecuencia del PWM=32 khz
-
Ciclo de trabajo máximo = 37%
Para llegar a estos valores, utilizamos una fuente de alimentación DC de11.1 volts, y fuimos variando los parámetros del PWM. En este proceso de pruebas, nos dimos cuenta de que la frecuencia del PWM, debía estas fuera del rango audible por el ser humano, para que la conmutación fuera silenciosa y no generara un ruido molesto.
4.3.1.2 SENSORES DE POSICION. Todas las formas de conmutación, requieren de algún tipo de sensor de posición del rotor, esto para poder saber cuándo se realizan los pasos necesarios para mover el motor en el sentido correcto y mantener una velocidad constante, a pesar de las variaciones de carga a la que está expuesto el motor. Sobre todo en las etapas de partida y detención del motor. Solo existe una posibilidad de operar el motor sin sensor de posición, y es cuando el motor se encuentra girando a una velocidad estable y la carga en el motor no varía. En ese caso solo se utiliza la tabla de consulta para generar los pulsos necesarios, sin requerir del sensor. Pues bien, en nuestro proyecto los motores no están girando constantemente, ya que se están utilizando para que se muevan solo una fracción de vuelta. Y como motores de posición y no para generar empuje por medio de hélices o ruedas. Por lo que obligadamente requerimos de algún tipo de sensor de posición. Para esta tarea tenemos varias posibilidades, las más usadas son, potenciómetros, sensores de efecto HALL o encoders. Además existe la técnica de no usar sensores físicos, esto se realiza usando fuerza electro magnética generada por cada bobina, cada bobina genera una fuerza electromagnética que puede ser medida cuando no está energizada y nos entrega un voltaje, el cual podemos medir e interpretar para conocer la posición del rotor. 45
La utilización de sensores físicos, significa motores más complejos, que incorporen estos sensores, además de tener que usar un mayor número de cables, lo cual aumenta el peso y posibilidad de fallas por cables defectuosos. Pero existe una solución a estos problemas. Utilizaremos solo un sensor y nos indicara la posición de ambos motores. Este sensor es un sensor inercial, el cual estará montado en la base donde ira montada la cámara, y nos entregara información de cuantos grados se han desplazado en cualquiera de los dos ejes los motores. Es una solución muy ingeniosa, que tomamos de algunos desarrolladores independientes, que han utilizado este método para generar plataformas estabilizadoras.
4.3.2. PROCESAMIENTO DIGITAL DE MOVIMIENTO (DMP). Los sensores inerciales, generan valores para cada grado de liberta en forma de cuaternios, como ya se explico previamente. Pero para nuestro proceso de control de los motores, es necesario que esa información sea procesada. El procesamiento digital de movimiento realiza esta tarea. En el caso particular de nuestro sensor, existen 6 grados de libertad, que son 3 acelerómetros, mas 3 giroscopios. Al tomar los datos de estas seis magnitudes, que a su vez están asociadas a 3 valores imaginarios, y realizar un procesamiento de movimiento. Obtendremos la posición en el espacio, expresado en grados, por cada eje (X,Y,Z).
46
Para nuestra aplicación solo requerimos de la información de 2 de los ejes. Utilizaremos los ejes X e Y.
4.3.3 COMUNICACIÓN CON EL SENSOR. Bus de comunicación i2c La IMU se comunica con el microcontrolador mediante un bus de comunicaciones en serie llamado I2C. Su nombre viene de Inter-Integrated Circuit (Circuitos Inter-Integrados). La velocidad de transmision es de 100 kbits por segundo. Es un sistema muy usado para comunicar perifericos o (sensores en nuestro caso) con el microcontrolador en un sistema integrado. La principal caracteristica de I2C es que utiliza dos lineas para transmitir la informacion. Una para datos y otra para la senal del reloj. Una tercera linea es necesaria para la masa. El nombre que reciben las lineas son: SDA (datos), SCL (reloj) y GND (ground - tierra). En la parte posterior de la IMU podemos ver efectivamente las senales SDA y SCL y GND. Tendremos que tener cuidado de no darle más de 3.3 V para no quemarlo. 47
Protocolo spi El protocolo SPI proviene de las siglas en inglés “Serial Peripheral Interface”, y es
un estándar de comunicaciones usado principalmente en la transferencia de información entre circuitos integrados en circuitos electrónicos. Se trata de un bus serie de datos para la transferencia síncrona y bidireccional de información. En toda comunicación por SPI deberá haber al menos un dispositivo actuando como maestro, y uno o más actuando como esclavos. Para seleccionar a cada uno de los esclavos existe una línea, denominada “slave select” o “chip select”.
Las señales del protocolo SPI son las siguientes:
SCLK: Es la señal de reloj, impuesta por el dispositivo maestro.
MOSI: Corresponde a las siglas “Master Output – Slave Input”, es decir, el
maestro enviará los datos a través de esta línea y el esclavo los recibirá.
MISO: Corresponde a las siglas “Master Input – Slave Output”, y es la línea
por la que los esclavos enviarán datos al dispositivo maestro.
SS: Es la señal de “Slave Select”, es decir, la línea que el maestro activará
para indicar al esclavo que se va a establecer la comunicación con él.
Al tener preferentemente estos dos buses de comunicación para comunicar nuestro sensor con el microcontrolador elegimos usar el bus de comunicación I2C por el hecho que es una comunicación que viene ya definida en nuestro sensor y posee un código abierto para la programación en nuestro microcontrolador, por ende no hay porque no dejar de usarlo.
48
4.4 ALGORITMO PARA EL CONTROL.
Para poder controlar los motores, es necesario generar un algoritmo con algún tipo de lenguaje de programación compatible con el microcontrolador. Para enfrentar esta tarea nos hemos apoyado en códigos abiertos, además de utilizar librerías existentes que pudieran ayudarnos a reducir los tiempos requeridos para la programación de dicho algoritmo. Lo importante es saber la secuencia y recursos necesarios para realizar el control.
4.4.1 LENGUAJES DE PROGRAMACION. Para la programación de microcontroladores se pueden utilizar lenguajes de nivel alto o nivel bajo. Esto se refiere a que mientras el lenguaje sea mas bajo, mas cerca del lenguaje maquina estaremos y viceversa. Los lenguajes de bajo nivel, son mas complejos de realizar para el programador, pero son mas eficientes en la utilización de la memoria. El lenguaje de programación Assembler es uno de estos, y se puede utilizar para programar tanto microcontroladores de Microchip o Atmel. Los lenguajes basados en c y c++ para microcntroladores, son de más alto nivel, o cercanos lenguaje del programador, haciendo la tarea de generar códigos más sencilla, pero con el costo de utilizar más espacio en la memoria. El lenguaje de programación ARDUINO, está basado en el lenguaje C y C++ y se utiliza en placas entrenadoras con microcontroladores Atmel. Es un lenguaje sencillo de aprender y que cuenta con un gran número de librerías de libre uso. Además es un lenguaje muy popular, lo que permite encontrar partes códigos útiles para nuestro programa, con mayor facilidad
49
Como contamos con una placa entrenadora, que incorpora un procesador Atmega 328p y que cuanta los inversores de conmutación integrados, hemos realizado nuestro programa en ARDUINO. Pero también utilizamos el compilador CCS, basado en lenguaje C, para la programación de otra placa entrenadora, que cuenta con un microcontrolador Microchip, para realizar las primeras etapas de pruebas en nuestro proyecto. Una vez, que fuimos avanzando con el trabajo de desarrollar la plataforma estabilizadora, no pudimos conseguir una placa con un procesador Microchip que contara con los inversores que necesitábamos. Debido a esta situación debimos migrar muestro programa, para poder utilizarlo en la placa ARDUINO. Gracias a que ambos lenguajes se basan en C y C++, no fue una tarea tan compleja.
4.4.2 LICENCIAS GNU. La Licencia Pública General de GNU o más conocida por su nombre en inglés GNU General Public License (o simplemente sus siglas del inglés GNU GPL) es la licencia más ampliamente usada en el mundo del software y garantiza a los usuarios finales (personas, organizaciones, compañías) la libertad de usar, estudiar, compartir (copiar) y modificar el software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios. Todas las librerías y partes de códigos utilizados para generar nuestro programa, están bajo esta modalidad de licencia. Esto nos permitió su utilización sin quebrantar los derechos de autor, que pudiesen haber constituido un delito o plagio.
50
4.4.3 LIBRERIAS UTILIZADAS.
Para las tareas de procesamiento digital de movimiento, comunicación serial, comunicación I2C, manejo de memoria, matemática de 3 dimensiones, y manejo del sensor mpu6050, utilizamos librerías que fueron proporcionadas por el fabricante o que son parte de las librerías para ARDUINO disponibles en su para su descarga. Los archivos header utilizados son los siguientes: -
Serialcommand.h
-
Mpu6050_6axis_dmp.h
-
Mpu6050.h
-
I2cdev.h
-
Helper_3dmath.h
-
EEPROManything.h
4.4.4 ALGORITMO.
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas como deba realizarce dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. Con esta definición en mente generamos un diagrama de flujo para describir nuestro algoritmo o programa para realizar la tarea de controlar la plataforma estabilizadora. 51
52
CAPITULO 5.SISTEMAS DE CONTROL AUTOMÁTICO
5.1 INTRODUCCION El control automático de procesos es una de las disciplinas que se ha desarrollado a una velocidad vertiginosa, dando las bases a lo que hoy algunos autores llaman la segunda revolución industrial. El uso intensivo de las técnicas del control automático de procesos tiene como origen la evolución y tecnificación de las tecnologías de medición y control aplicadas al ambiente industrial. Su estudio y aplicación ha contribuido al reconocimiento universal de sus ventajas y beneficios asociados al ámbito industrial, que es donde tiene una de sus mayores aplicaciones debido a la necesidad de controlar un gran número de variables, sumado esto a la creciente complejidad de los sistemas. El control automático de procesos se usa fundamentalmente porque reduce el costo asociado a la generación de bienes y servicios, incrementa la calidad y volúmenes de producción de una planta industrial entre otros beneficios asociados con su aplicación. La eliminación de errores y un aumento en la seguridad de los procesos es otra contribución del uso y aplicación de esta técnica de control. En este punto es importante destacar que anterior a la aplicación masiva de las técnicas de control automático en la industria, era el hombre el que aplicaba sus capacidades de cálculo e incluso su fuerza física para la ejecución del control de un proceso o máquina asociada a la producción. En la actualidad, gracias al desarrollo y aplicación de las técnicas modernas de control, un gran número de tareas y cálculos asociados a la manipulación de las variables ha sido delegado a computadoras, controladores y accionamientos especializados para el logro de los requerimientos del sistema. El principio de todo sistema de control automático es la aplicación del concepto de realimentación o feedback (medición tomada desde el proceso que entrega información del estado actual de la variable que se desea controlar) cuya característica especial es la de mantener al controlador central informado del estado de las variables para generar acciones correctivas cuando así sea necesario. Este 53
mismo principio se aplica en campos tan diversos como el control de procesos químicos, control de hornos en la fabricación del acero, control de máquinas herramientas, control de variables a nivel médico e incluso en el control de trayectoria de un proyectil militar.
El uso de las computadoras digitales ha posibilitado la aplicación en forma óptima del control automático a sistemas físicos que hace algunos años atrás eran imposibles de analizar o controlar. Uno de estos avances esta dado por la aplicación de las técnicas de control difuso, aplicaciones con redes neuronales, simulación de sistemas de control y sistemas expertos entre otros.
5.2 DIFERENTES TIPOS DE CONTROL En nuestros estudios por obtener un manejo optimizado de nuestro estabilizador de cámara nos ha llevado a buscar distintos tipos de control y compararlos para entender cuál es el más adecuado frente a nuestra problemática Estudiaremos tres tipos de control los cuales son: -Control on/of -Control adaptativo -Control PID
54
SISTEMA DE CONTROL ON-OFF El control ON-OFF, también llamado todo-nada o abierto-cerrado, es la forma más simple de control por realimentación, es un control de dos posiciones en el que el elemento final de control sólo ocupa una de las dos posibles posiciones, en el cual la salida del controlador va de un extremo a otro cuando el valor de la variable controlada se desvía del valor deseado. Este método solo acepta dos posiciones para el actuador: encendido (100%) y apagado (0%). La lógica de funcionamiento es tener un punto de referencia, si la variable es mayor el actuadora sume una posición, y si la variable es menor el actuador a sume la otra posición. Presenta las siguientes características:
Variación cíclica continua de la variable controlada
El controlador no tiene la capacidad para producir un valor exacto en la variable controlada para un valor de referencia.
Funcionamiento optimo en procesos con tiempo de retardo mínimo y velocidad de relación lenta.
Tiene un simple mecanismo de construcción, por eso este tipo de controladores es de amplio uso, y mayormente son utilizados en sistemas de regulación de temperatura.
55
VENTAJAS DEL SISTEMA ON-OFF
Es la forma más simple de control
Bajo precio de instalación
Fácil instalación y mantenimiento
Amplia utilización en procesos de poca precisión.
DESVENTAJAS DEL SISTEMA DE CONTROL ON-OFF
Mínima precisión.
No recomendable para procesos de alto riesgo
SISTEMA DE CONTROL ADAPTATIVO Es un tipo de control basado en PID, el termino adaptativo significa cambiar el comportamiento conforme a nuevas circunstancias. Un regulador adaptativo es un regulador que puede modificar su comportamiento en respuesta a cambios en la dinámica del sistema y a las perturbaciones El
mecanismo de adaptación presenta una solución en tiempo real al
problema de diseño para sistema con parámetros conocidos, hoy en día este tipo de control es implementado uniéndose al control predictivo, esto se debe a que este último control mantiene errores en sus predicciones ya que pueden ser erróneas por ende el control adaptativo se encarga de recibir correctamente la información del interior y exterior de la planta para que no se produzcan errores de control. Este tipo de control adaptativo predictivo lleva años en el mercado pero hoy en día crece para expandirse en el mercado de procesos industriales.
56
VENTAJAS DEL CONTROL ADAPTATIVO
Más avanzado que el control PID
Preciso
Recomendable para procesos industriales
DESVENTAJAS DEL CONTROL ADAPTATIVO
Su lenta incorporación en el mercado por su escasa información
Compleja integración
SISTEMA DE CONTROL PID Un PID es un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso. El algoritmo de cálculo del control PID se da en tres parámetros distintos: el proporcional, el integral, y el derivativo. Proporcional: En el modo proporcional la magnitud de la salida del controlador es proporcional a la magnitud del error, cualquiera que sea el mecanismo real y la forma de operación, el controlador proporcional es, en esencia, un amplificador con una ganancia ajustable. Su problema es la existencia del offset que es la diferencia
57
entre el punto de referencia y el nuevo punto generado por desfase de tiempo de corrección Integrativo: La acción integral es añadida a la acción proporcional para vencer al offset producido por corregir el tamaño del error sin considerar el tiempo; pero el tiempo de duración de la señal de error es tan importante como su magnitud. En efecto, una unidad integral monitorea el error promedio en un período de tiempo. Luego, en el caso de existir un offset, la unidad integral detectará el tiempo del error activando la acción de la unidad proporcional, para corregir el error, o el desfase durante el tiempo necesario. Debido a su habilidad de hacer volver el sistema a su punto de referencia, la acción integral es también conocida como una acción de “reset”
Derivativo: La función de la acción derivativa es mantener el error al mínimo corrigiéndolo proporcionalmente con la misma velocidad que se produce; de esta manera evita que el error se incremente.
VENTAJAS DEL CONTROL PID
La rapidez de su aplicación
Facilidad de comprobar resultados
Rápida corrección de error
Genera sistemas estables
Altamente preciso
58
DESVENTAJAS DEL CONTROL PID
Falta de inmunidad al ruido
Al conocer sobre estos tipos de control se tomo la decisión de trabajar con un control PID ya que su gran manejo con el error ayuda a una mejor estabilización de la plataforma ya que es altamente preciso, además es un sistema rápido y fácil de incorporar a un controlador para programar sus reacciones frente a las variables , a diferencia de un control on-off que por su incapacidad para el manejo de errores lo hace un sistema muy impreciso, y a su vez se desecho la idea de el control adaptativo por su difícil acceso a la información y por su uso de hoy en día en grandes plantas.
59
CAPITULO 6.CONTROL PID 6.1 INTRODUCCION Los controladores PID son suficientes para resolver el problema de control de muchas aplicaciones en la industria, particularmente cuando la dinámica del proceso lo permite (en general procesos que pueden ser descritos por dinámicas de primer y segundo orden), y los requerimientos de desempeño son modestos (generalmente limitados a especificaciones del comportamiento del error en estado estacionario y una rápida respuesta a cambios en la señal de referencia). Los fabricantes proporcionan los controladores PID de variadas formas. Existen sistemas del tipo “stand alone” con capacidad para controlar uno o varios lazos de control. Estos dispositivos son fabricados en el orden de cientos de miles al año. El controlador PID es también un ingrediente importante en los sistemas de control distribuido, ya que proporciona regulación a nivel local de manera eficaz. Por otro lado, pueden también venir empotrados, como parte del equipamiento, en sistemas de control de propósito especial, formando así parte integrante de la aplicación. Su uso extensivo en la industria es tal que el 95% de los lazos de control que existen en las aplicaciones industriales son del tipo PID, de los cuales la mayoría son controladores PI, lo que muestra la preferencia del usuario en el uso de leyes de control muy simples. En general, el usuario no explota todas las características de estos controladores, quizás por falta de una mejor comprensión desde el punto de vista de la teoría de control. En la actualidad, el control PID dispone de una serie de prestaciones, que en el pasado han sido consideradas como secretos de los fabricantes. Un par de ejemplos típicos de este tipo de prestaciones son las técnicas de conmutación de modos de control. Los algoritmos actuales se combinan con funciones lógicas y secuenciales y una serie de mecanismos y funciones adicionales para adecuarse a los requerimientos de los modernos sistemas de control y automatización industrial, lo que da lugar a dispositivos especializados para el control de temperatura, velocidad, 60
distribución de energía, transporte, máquinas-herramientas, reacción química, fermentación, entre otros. Los controladores PID son generalmente usados en el nivel de control más bajo, por debajo de algunos dispositivos de mediano nivel como PLCs, supervisores, y sistemas de monitoreo. Sin embargo, su importancia es tal que se convierte en el “pan de cada día” del ingeniero de control.
6.2 FUNCIONAMIENTO DEL CONTROL PID Para realizar la integración de un control PID en nuestro proyecto, primero hay que entender el funcionamiento de este en un enlace cerrado el cual es el sig:
El cual posee un setpoint, que es el valor que debe tener el estabilizador cuando está en total equilibrio, específicamente cuando esta horizontal frente al plano terrestre. Un controlador el cual será un microcontrolador. El posee un programa en el cual está grabado con el funcionamiento deseado, este se encarga de recibir nueva información de las variables medidas para entregar los nuevos datos con variables deseadas para así producir el movimiento equilibrado de los motores que estabilizaran esta plataforma.
61
El actuador serán los motores, ya que en ellos son los encargados de interactuar directamente sobre la planta para que esta esté en su pleno funcionamiento. La planta es la plataforma en la cual ira montada la cámara, los motores y las placas. El sensor será la IMU
En la siguiente figura ilustramos como es nuestro sistema:
El sensor proporciona una señal al controlador, la cual representa el punto actual en el que se encuentra el proceso o sistema. Este punto actual se denomina el error al cual hay que solucionar. Al ocurrir un movimiento en el eje de coordenadas
el sensor IMU
se encarga de establecer los grados de esta
perturbación la cual es enviada en microcontrolador para que este tome los datos deseados y sean comparados con los datos medidos. En el controlador hay inserto un programa el cual se encarga de el movimiento de los motores, pero al accionarlos los motores producen sobre paso al querer llegar al grado estipulado para corregir el movimiento sensado, por lo cual se le integra un pequeño programa PID el cual ayuda a evitar movimientos bruscos y
62
poco equilibrados, esto se produce sintonizando las ganancias de él proporcional (Kp), integrativo (Ki) y derivativo (Kd). Las 3 indicaciones sumadas, componen la señal de salida que el controlador va a utilizar para gobernar al actuador. La señal resultante de la suma de estas tres se llama variable manipulada y no se aplica directamente sobre el actuador, sino que debe ser transformada para ser compatible con el actuador utilizado. Repitiendo finalmente este ciclo constantemente.
6.3 INCORPORACIÓN DEL PID Para incorporar un sistema PID es necesario obtener las mediciones apropiadas de la plataforma estabilizadora la cual nos dará el ángulo deseado que ocuparemos como setpoint, la IMU se encargara de sensar las perturbaciones (movimientos) que se produzcan, tomando en cuenta que el objetivo es montar el estabilizador sobre un UAV el cual estará afectado tanto por factores externos como movimientos dados por el operador, estos movimientos al ser sensibles o bruscos producen que la plataforma se estabilice mediante un controlador el cual lo apoyaremos con el control PID que hará que exista una precisión en el ajuste del movimiento que deben efectuar los motores. Conocida la formula básica de control PID se incorporara en una rutina dentro del programa grabado en el microcontrolador, esta ecuación es la suma de el control proporcional, control intregrativo y control derivativo
63
Donde: U, es la salida del controlador E, es el error Kp, es la ganancia proporcional Ki, es la ganancia Integral Kd, es la ganancia derivativa dt, es el delta tiempo de, es el delta error
6.4 AJUSTES DEL PID El método de ajuste utilizado consiste en un ajuste manual el cual está basado en pruebas y errores, la forma en la que se actuó fue la siguiente: Establecer primero los valores de I y D a cero. A continuación, se incrementa P hasta obtener una oscilación en los motores. Luego se establece P a aproximadamente la mitad del valor configurado previamente. Después se incrementa I hasta que el proceso se ajuste en el tiempo requerido. Finalmente, se incrementa D, si se necesita, hasta que el lazo sea lo suficientemente rápido para alcanzar su referencia tras una variación brusca de la carga.
64
6.5 PROGRAMA PID El programa cargado al micro es el sig:
/************************/ /* PID Controller
*/
/************************/
// codigo simplificado float ComputePID(float SampleTimeInSecs, float in, float setPoint, float *errorSum, float *errorOld, float Kp, float Ki, float Kd, float maxDegPerSecond) { float error = setPoint - in; // errores *errorSum += error; *errorSum = constrain(*errorSum, -maxDegPerSecond ,maxDegPerSecond); / // limita el valor del errorsum entre -maxDegPerSecond y maxDegPerSecond
/*Compute PID Output*/ float out = (Kp * error + SampleTimeInSecs * Ki * *errorSum + Kd * (error *errorOld) / (SampleTimeInSecs); *errorOld = error; return constrain(out, -maxDegPerSecond ,maxDegPerSecond); }
65