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



1 comentario: