miércoles, 19 de noviembre de 2014

Nuestro primer proyecto (1ra. Parte)


Este diseño comenzará con las placas GY-80 adquiridas en DealExtreme por muy poco dinero.
Vista Superior
Vista inferior

Como centro de control voy a utilizar una de estas dos placas:

Freaduino UNO
Freaduino puede trabajar tanto con 3,3V como con 5V

Arduino Nano
Por cuestiones de espacio, seguramente me decante por la Nano.

Lo primero que tenemos que tener en cuenta es que la placa GY-80 trabaja con 3,3V, lo cual no sería un problema si utilizo la Freaduino porque esta placa tiene un switch que permite trabajar con 5V o 3V3, pero al guardar compatibilidad con nuestros 10 grados de libertad de la GY-80, nos quedamos sin entender los datos que vienen del receptor de radio o le estaremos enviando mal los datos a los ESC para que manejen las velocidades de los motores.

La GY-80 se comunica con Arduino mediante una conexión I2C (o IIC). I2C es un bus de comunicaciones en serie. Su nombre viene de Inter-Integrated Circuit. La versión 1.0 data del año 1992 y la versión 2.1 del año 2000, su diseñador es Philips. La velocidad es de 100 kbit/s en el modo estándar, aunque también permite velocidades de 3.4 Mbit/s.

Llegados a este punto hay que hacer notar que la placa GY-80 tiene un regulador de tensión que la baja de 5V a 3V3, pero no es todo lo que necesitamos, puesto que los pines de la Arduino, SDA y SCL, van a venir con los 5V de la alimentación de la Arduino.

Si no saben donde encontrar las señales SDA y SCL no se hagan problema, acá tenemos un imagen que nos dice donde encontrarlas en todos los modelos de Arduino, si tienen un modelo que no figura acá, ubíquenla con los pines de la UNO.

Donde encontramos los contactos SDA y SCL
Dicho de otra manera, tenemos una placa trabajando a 3V3 y los datos que se intercambian con la Arduino vienen en 5V. No hay problema, porque para esto también hay solución. Esto se soluciona con la inclusión de dos resistencias de 2,2K, una entre SDA y +5V y la otra desde SCL y +5V.

Como conectar la GY-80 a una Arduino UNO

A esta altura ya estamos en condiciones de conectar todo, faltaría conectar nuestro receptor de R/C a esta placa. Como sabemos, Arduino tiene pines digitales y pines analógicos. Los 6 canales de nuestro receptor se conectan así:

CH1 = D2
CH2 = D4
CH3 = D5
CH4 = D6
CH5 = D7
CH6 = D12

Sólo un canal puede ser conectado completo, con sus 3 contactos (preferentemente el CH1), estos 3 contactos representan +V, GND y Señal, el contacto que corresponde a +V siempre es el central, sea cual fuere la marca o tipo de nuestra radio.

Más adelante les cuento como se conectarían los motores (a través de los ESC) a la placa Arduino.

Acá termina la primera parte, en unos pocos días escribo la 2da. Parte. Tengan en cuenta que reunir o tomar fotografías lleva tiempo.

Abrazos!


jueves, 6 de noviembre de 2014

Off Topic - Que no ocurra con otra especie

Yo se que esto es irse por las ramas, no tiene nada que ver con el tema del Blog, pero al verlo no pude resistir la tentación de compartirlo con todo el mundo y este es el único medio que tengo.

Este tema ya está terminado, se llegó al final, el animal está extinguido y ya no hay nada que hacer pero, por favor, que no ocurra con otra especie en peligro de extinción.

miércoles, 5 de noviembre de 2014

Otro cuadricoptero casero en videos

Hola amigos/as!

He encontrado otra recopilación completa de armado de un cuadricóptero. Discúlpenme porque está en inglés. Si alguien sabe de una recopilación que esté tan bien hecha, pero en castellano, por favor que me avise y lo ponemos para consulta de todos.












viernes, 24 de octubre de 2014

Novedades en MegaPirateNG

Hola mis amigos.

Visitando la página de MPNG para escribir mi próxima entrada que iba a ser acerca de la placa Cirrus con el firmware de MegaPirateNG me acabo de enterar que la última versión del MPNG es la 3.1.5R2 y seguirá siendo la última indefinidamente. Este es el mensaje de los autores:

I have some bad news and good news:
First is good news. Since there is no a lot of bad reports about 3.1.5R2 version it will be Final version.
Now some bad news. I’m decide to finish my work on MPNG for 8bit controllers. There is no future in 8bit world. We continuously fighting with CPU performance. Main difference with original APM boards is I2C bus. All Multiwii boards uses I2C bus for sensors and it’s very slow. So fresh MPNG versions has performance issues on these boards. You know, we now have 32bit controller and we will continue work on it. Hope you understand, we cannot support old boards forever.

Para los que no se llevan bien con el inglés, como yo, le voy a pasar el traductor. Queda así:

Tengo malas noticias y buenas noticias:
En primer lugar es una buena noticia. Puesto que no es un montón de malos informes sobre 3.1.5R2 versión será la versión final.
Ahora una mala noticia. He decidido terminar mi trabajo en MPNG para los controladores de 8 bits. No hay futuro en el mundo de 8 bits. Estamos continuamente luchando con el rendimiento de la CPU. La principal diferencia con las tarjetas originales de APM es bus I2C. Todas las tarjetas MultiWii utiliza bus I2C para sensores y es muy lento. Así versiones nuevas de MPNG tienen problemas de rendimiento en estas placas. Sabes, ahora tenemos controlador de 32 bits y continuaremos trabajando en él. Espero que lo entiendas, no podemos apoyar placas viejas siempre.

Y si, esto es lo que van a terminar haciendo todos los desarrolladores de firmware para placas controladoras de vuelo.

Hasta hoy, la única placa que conozco con microcontrolador de 32 bits, es la OpenPilot, más concretamente en su versión CC3D ya que el modelo Revolution no lo conozco.

Reconozco que a la CC3D le faltaría (para mi gusto) un sensor de presión. También le agregaría un conector especial para GPS y listo, a cargarle el firm y volar nuestros multicópteros.

MPNG ya tiene su placa de 32bits y la nombran como F4BY de la que aún hay sólo 4 prototipos. Se calcula que para fines de este año (2014) ya se podrán comercializar.


Por el lado del software, esta placa está soportada mediante el programa FlashTool 1.1r2 que por ahora viene para Mac y para Windows.

Quien sabe cuánto tendremos que esperar los usuarios de Linux.

jueves, 23 de octubre de 2014

El Sketch Firmware de MultiWii

Multiwii es un software de propósito general para el control de modelos multirrotores de radio control.

En el estado actual del proyecto se pueden usar varios sensores pero inicialmente fue concebido para soportar giróscopos y acelerómetros de la consola Nintendo Wii.

Estos sensores los podemos encontrar  en las extensiones de la Nintendo WiiMote: Wii Motion Plus y Wii Nunchuk.

Este proyecto le dio, al autor, la oportunidad de desarrollar su propio software en una plataforma Arduino.

La estabilidad lograda es excelente para vuelos FPV y permite cualquier tipo de acrobacias.

El software es, por el momento, capaz de controlar un tricóptero, un cuadricóptero o un hexacóptero.

De hecho, la primer nave en la que se probó fue un tricóptero que el mismo autor construyó.

Lo que sigue es una traducción libre de la página principal del sitio
Sitio de Multiwii


Componentes de Wii

Wii Motion Plus


Un controlador de juegos de Wii se compone de tres acelerómetros para determinar una posición angular, y medir aceleraciones laterales.
Es suficiente para la mayoría de los juegos, pero un acelerómetro no es muy preciso para medir las pequeñas variaciones.
Para los juegos más exigentes, Nintendo desarrolló el movimiento de Wii Plus (WMP) de extensión que utiliza tres giróscopos y se conecta en el extremo del dispositivo de juego.
Estos tres giróscopos, junto con tres acelerómetros puede determinar con mayor precisión la actitud del controlador.
Existe una amplia información sobre todas las extensiones aquí:
http://wiibrew.org/wiki/Wiimote/Extension_Controllers

En un multicóptero, el uso de los acelerómetros es una ventaja, pero no es necesario si usted no desea mantener estrictamente su posición angular en el espacio.
La medición de la velocidad angular es suficiente para asegurar una buena estabilidad.
La extensión Wii Motion Plus tiene numerosas ventajas en comparación con otros sensores de giróscopo:


Su costo

Invensense es un fabricante de componentes electrónicos, en especial giróscopos.
Por lo general, estos componentes se distribuyen de forma independiente y son relativamente caros.

Invensense fabrica (al menos 1 de 2) giróscopos de la Wii Motion Plus:. IDG600 o IDG650. Ellos parecen haber sido diseñado específicamente con un precio al por mayor, probablemente muy bajo nos beneficiamos directamente de esta situación en el costo de la ampliación, sobre todo porque hay muchas copias chinas que se pueden encontrar por U$S 10 o U$S 15


Sus dimensiones

La extensión Wii Motion Plus se compone de dos pares de giróscopos 2 ejes, (sólo uno de los ejes se utiliza en una giróscopo).
Finalmente, una vez que el PCB se extrae de la caja de WMP, hay un conjunto de giróscopos de 3 ejes en un pequeño espacio.

Más importante aún, van montados sobre una superficie plana y sin PCB adicional.
Copias no todos son iguales, pero las dimensiones son las mismas.


Su ADC integrado

Cuando queremos interpretar el valor de los sensores, se utiliza una entrada analógica y después convertirlo a un formato digital utilizable por un programa. Extensión Wii Motion Plus incluye un convertidor analógico-digital de 14 bits.


Su protocolo de comunicación

Esta extensión se comunica con el controlador en un bus I2C en modo rápido a 400kbit/s.
Es interesante porque este autobús junto a la ADC integrado permite realizar la conversión que no se abordará más adelante por el microcontrolador.
Además este bus utiliza sólo 2 datos cables.


Su desempeño

A ese precio, sus prestaciones no son los mejores entre el giróscopo moderna existente. Ruido (señales espurias en la ausencia de movimiento) es importante, pero podemos encontrar sensores MEMS 3 que superan los giróscopos piezoeléctricos que todavía se encuentran en muchos giróscopos RC.
correctamente filtrada, la señal es bastante exacto.


Nunchuk

El Nunchuk (NK) es una extensión de un WiiMote que está compuesto de tres acelerómetros para determinar una posición angular, y medir aceleraciones laterales.
En un multicóptero, el uso de acelerómetros permite conocer con precisión la posición angular del modelo.
Con cálculos matemáticos se asocian sensores giroscópicos (DCM, Kalman o similares), es posible determinar muy rápidamente un lanzamiento y un ángulo de balanceo.
Esta característica se utiliza para tener un modo estable automático que mantiene el modelo en posición horizontal.
Al igual que el movimiento de Wii Además, el Nunchuk tiene también numerosas ventajas:


Su costo

Es incluso más barato que una extensión de Wii Motion Plus. Podemos encontrar la extensión NK por alrededor de U$S 10 en eBay.


Sus dimensiones

El tamaño de PCB de un Nunchuk es un poco más importante que una Wii Motion Plus. Pero el componente se montan todavía es una posición plana.
En algunas versiones (genuinos por ejemplo), también es posible cortar el circuito de botón (no utilizada para este proyecto).


Su protocolo de comunicaciones

Cuando un Wii Motion Plus ya está conectado a un WiiMote, el Nunchuk se puede conectar directamente a la Wii Motion Plus en un "modo de desviación media".
También se comunica con WMP través de un bus I2C.
De este modo, los tiradores de movimiento Wii Plus los valores de los sensores de comunicación y de abastecimiento (de giróscopos y acelerómetros de) en una forma alternativa de entrelazado.
Uno de los beneficios: el Arduino tiene que manejar sólo una extensión, el Wii Motion Plus.
Sería posible recuperar directamente los datos de un lado a otro WMP y NK con el mismo bus I2C.
Debido a que comparten las mismas direcciones I2C, sería necesario algún PIN adicional para seleccionar los cables.


Arduino

Arduino Pro Mini
Es una versión muy reducida de la conocida clásica Arduino Duemilanove.
Sin embargo, todas las posibilidades siguen siendo las mismas.
Ahora integra un Atmel 328p y existe en varias versiones de 3.3V o de 5V y de 8MHz o 16MHz.

Elegí la versión más conveniente y potente: 5V / 16MHz

Se hecha de menos la conexión USB para la inyección de un programa, pero siempre es posible programar con un pequeño adaptador USB-serie que se vende por separado.

Este tablero es el corazón del multicóptero. Usa el software e interactúa con todo: sensores RC, CES, etc. Tenga en cuenta que también es posible utilizar otras tarjetas Arduino si incluyen un Atmel 328p funcionando a 16MHz: Arduino Nano, Arduino Pro, Arduino Duemilanove. Al día de hoy, podemos agregar a la lista, Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Nano, Arduino Micro, etc.


Placas Arduino Mega

Agregan mayor funcionalidad y tienen más pines de Entrada/Salida, MultiWii fue portado en los tablones de Arduino Mega.


Tablero completo

Recientemente, podemos encontrar placas totalmente integrados, con FTDI + Acelerómetro + Giróscopo + GPS (algunas marcas) en la misma placa.


Integración de terceros

La visualización en pantalla
Algunos OSDs ahora son compatibles con código MultiWii y puede mostrar horizonte artificial basada en el cálculo del ángulo MultiWii + muchas más características.

http://www.rcgroups.com/forums/showthread.php?t=1393857



viernes, 17 de octubre de 2014

Sobre motores y ESCs

Antes que nada, debo aclarar que los motores que se usan para estos multicópteros, además de ser eléctricos, son brushless (sin escobillas), estos tienen menos superficies de rozamiento, sólo se mueven por campos eléctricos y sobre rulemanes.

Entre sus características técnicas nos vamos a encontrar con un valor que nada tiene que ver con el consumo eléctrico ni con la potencia ni con la tensión, el KV.

¿Qué significa este KV?

Es la cantidad de vueltas que da el motor por cada voltio aplicado, supongamos que estamos alimentando nuestro drone con una batería de 3 celdas, cada celda entrega 3,7 voltios, eso nos da una batería con un total de 11,1V y ahora supongamos que nuestro motor tiene un KV de 1.000. Esto significa que ese motor va a entregar una velocidad de hasta 11.100 revoluciones por minuto. Sólo debemos tener en cuenta que a mayor velocidad obtendremos más vibraciones, porque estos motores distan mucho de ser óptimos y más si le agregamos hélices de mediana (o mala) calidad.

Dicho de otra manera:

KV = RPM/V

Este es un tema muy complejo porque tendremos que hacer muchas concesiones a la hora de adquirir nuestro par motor/hélice.

Aparte hay que tener en cuenta el consumo de nuestro/s motor/es. Si ponemos una hélice muy grande, consume más. Si usamos motores de 2500KV consumen más (y vibran más). Yo no aconsejo usar motores más rápidos de 1000KV o 1200KV. Aunque, si el proyecto lo amerita, sería preferible usar motores más bajos en revoluciones, del orden de los 850KV. Hay cuadricópteros que los utilizan, pero estos son muy livianos.

Otra característica que pocos vendedores publican (pero los fabricantes si), es la fuerza que entrega el motor con determinadas hélices. Suponiendo que estamos haciendo un cuadricóptero y que este tiene un peso final, con baterías incluidas, de 1Kg. Si cada motor tiene una fuerza de 300g lo multiplicamos por 4 (las cantidad de motores) y todo el conjunto tiene una fuerza 1,2Kg. O sea que alcanza para levantar vuelo.

En base al consumo en Ampres de cada motor, será el ESC que deberemos colocar, calcular siempre un 10% más de lo que dice el fabricante, no porque mienta, sino por razones de seguridad.

Un ESC de 20 amperes, por ejemplo, soporta picos de 30A.


miércoles, 15 de octubre de 2014

Videos que muestran construcción de un Quad


Ver este video y admirar a este señor es todo uno.

Que lo disfruten!


Todo un curso completo:

1ra. Parte:


2da. Parte:

3ra. Parte:

4ta. Parte:

Y final:




De los marcos para un cuadricóptero

Este es un tema que por lo general no se le da la importancia que se merece. Si lo vamos a comprar, algunos prefieren el más económico, otros el más oneroso. Pero es muy probable que ambos estén equivocados.

Bueno, el que compra el más caro tiene menos posibilidades de comprar mal.

Un buen marco (o frame) tiene que ser ligero y a la vez robusto, ultimamente se suelen utilizar mucho los materiales sintéticos derivados del carbono, comunmente se dice que son marcos de carbono. Pero como nuestro objetivo es hacer todo en nuestra casa, gastando lo menos posible, nos vamos a dedicar a mostrar algunos cuadros comerciales y a dar ideas acerca de que podemos hacer nosotros mismos.




El tipo de frame que compremos dependerá de lo que querramos hacer, con el primero podremos hacer fotografía y video aéreos, con el segundo también, pero es más apto para vuelos recreativos, mientras que con el tercero podemos correr carreras, para eso es ideal. También depende de lo que querramos hacer con el cuadri, lo que vayamos a ponerle dentro.

Como digo desde el principio, lo indispensable para comenzar es tener una controladora con acelerómetro y giróscopo, eso ayuda muchísimo en la estabilidad del vuelo. Para tomar fotos o hacer videos, deberíamos agregarle barómetro para saber a que altitud estamos y así poder decidir si disparar la cámara o esperar a estar un poco más cerca o algo más lejos.

En los vuelos recreativos se impone, también, la presencia de un módulo GPS, sobretodo necesitaremos la función RTH (Return To Home) o volver a casa, del inglés. Esa función se activa desde el transmisor o directamente apagándolo. El drone, al no detectar señal en el receptor, directamente vuelve al lugar de donde despegó.

Todas estas funciones requieren ser programadas en el sketch correspondiente de la Arduino. Pero a no asustarse, existen auténticos códigos de programas (sketch) que tienen esto implementado. Sólo hay que cargar este sketch mediante el IDE de Arduino. Sobre esto vamos a volver más adelante.

Con respecto a los cuadros caseros, en mi opinión personal me gusta más utilizar caños de electricidad de material plástico, con una caja octogonal en el centro, también de plástico, algunos conectores para conectar los caños a la caja (por supuesto que también de plástico) y algunas grapas de las que se usan para amurar los caños por sobre las paredes.

Entre los "hechos en casa" podemos usar plástico o aluminio, hay quienes aún utilizan madera y no los critico, pueden volar muy bien, incluso pueden pesar menos que los de aluminio.







lunes, 13 de octubre de 2014

Más placas de control electrónico

Como todo en la vida, para gustos están los colores, lo mismo ocurre con las placas controladoras.
Salvo algunas placas de producción comercial, de marcas reconocidas por sus productos voladores como DJI, por ejemplo, todas derivan de agregarle sensores a una Arduino.
La oferta se divide entre agregar una Arduino o traerla incorporada. Un ejemplo del primer género es la famosa adaptación de los productos de Nintendo Wii. Tomamos un mando llamado Motion Plus, lo canibalizamos y usamos su acelerómetro con plaquita y todo. Tomamos un mando Nunchuck y hacemos algo similar. No me voy a explayar mucho en esto porque en toda la red sobra información al respecto y de como se hace.

Eso fué el puntapié inicial para que un grupo de entusiastas y con conocimientos de electrónica digital y programación Arduino, generaran el proyecto Multiwii. Según su página oficial http://www.multiwii.com/


MultiWii es un software de propósito general para controlar un modelo multirotor RC. Ahora puede usar varios sensores, pero fue desarrollado inicialmente para apoyar giroscopios y acelerómetros de la consola Nintendo Wii. Podemos encontrar estos sensores en las extensiones de la Nintendo WiiMote: Wii Motion Plus y Wii Nunchuk. Este proyecto fue una oportunidad para desarrollar mi propio software en una plataforma Arduino. La estabilidad lograda es excelente para FPV y permite cualquier tipo de acrobacias.
Configurando con MultiWii


Una placa compatible con este soft (a modo de ejemplo) es la GY-80, también se puede usar la Crius y muchas otras más:

Ardupilot

GY-80

CC3D de Open Pilot
Crius - WMC





Ardupilot

Sitio oficial

APM 3.0



Es un proyecto de hardware y firmware, las últimas versiones se denominan APM (ArduPilot Mega) por tener dentro una placa Arduino MEGA y sus correspondientes sensores. El firmware es fácilmente actualizable y se puede cargar lo que necesitemos, para auto, para avión, para barco, para multi rotores y para helicópteros.

El proyecto también ofrece un software que no sólo sirve para calibrar la placa con nuestra nave, también hay soft para crear una misión, aunque yo prefiero decirle programador del piloto automático, aunque seguramente sea algo más que eso.

Se le pueden marcar varios puntos por donde queremos que el multicóptero pase, o se quede, o ascienda, o descienda, que vuelva al punto de partida y todo lo que se nos pueda imaginar, por supuesto, para hacer uso de esta opción hay que conectar un módulo GPS a la APM.

Generador de Plan de Vuelo


domingo, 12 de octubre de 2014

Otros controladores de vuelo

Otros controladores de vuelo

Acá voy a mencionar sólo algunos, los más conocidos.

El CC3D de OpenPilot

De este controlador hablé en el tema anterior, pero muy por arriba.

Resulta que esta plaquita tiene lo mínimo indispensable para levantar vuelo y mantener recta a la nave. Lo mismo para hacer un estacionario.

Tiene acelerómetro, giróscopo y el microprocesador que es compatible con ARM de 32 bits. Desde mi punto de vista es una placa demasiado potente para que no tenga barómetro ni la posibilidad de conectarle un módulo de GPS. Justamente, por su potencia y velocidad de cálculo es mi favorita, pero sólo si los vuelos serán en tercera persona, lo veo poco apto para vuelos FPV (visión en primera persona).


Ardupilot

Esta es una placa controladora de vuelo más completa  que la anterior, tiene acelerómetro, giróscopo, sensor de presión, magnetómetro, conversor analógico-digital con una resolución de 12 bits y posibilidades de expansión, se le puede agregar GPS. Tal como la CC3D tiene conexión directa por puerto USB para cargar nuestro propio programa o el programa original de la placa que viene en varias versiones, hay quienes dicen que luego de la versión 2.5 no funciona tan bien, por eso vuelven a instalar esta versión.

Por supuesto, al ser más completa su valor también es más alto.



sábado, 11 de octubre de 2014

Lo más difícil

Hola amigos, quiero comenzar este blog comentando que es lo más difícil de conseguir en un vuelo con multicóptero (tricóptero, cuadricóptero, hexacóptero, etc).

La estabilidad
Y es acá donde entra en juego una placa Arduino, hay quienes usaron una PRO con ATmega328P, los que usaron una NANO, los que usaron una LEONARDO y los que usaron una MEGA256 (muchos de estos dicen que no se puede hacer sin ella y pueden tener razón, no digo que no) pero una placa Arduino solamente no hace la diferencia, esta necesita sensores para saber en donde está parada y de que forma.

Los sensores mínimos que se necesitan son dos, acelerómetro y giróscopo. Con estos sensores debidamente conectados a una placa Arduino más la salida del receptor de radio o de bluetooth, más el programa que maneje todo eso, podremos lograr un vuelo estacionario casi perfecto.

Ahora bien. ¿De donde se puede sacar un giróscopo y un acelerómetro? 
Mínimamente de un control Motion Plus del tipo de los que se usan en las consolas Nintendo Wii y del control llamado Nunchuck de la misma consola.


También existen placas del tipo de las GY-80 que tienen lo mismo en una sola plaqueta de circuito impreso y que nos dan la misma estabilidad que, como dije anteriormente, nos permiten tener un vuelo estacionario casi perfecto y digo casi porque siempre va a tener un corrimiento por mínimo que sea, para lograr que se quede fijo, siempre vertical a un mismo punto, se le debe agregar un GPS para que el programa también memorice las coordenadas y dejarlo allí, quietito. Del módulo del GPS voy a hablar más adelante.