Helicopteros Radio Control - RC - Radiocontrol

OTROS APARATOS VOLADORES => MULTICOPTEROS => Mensaje iniciado por: xanon en 01 de Abril de 2012, 21:42:26 pm

Título: Nuevo Firmware Multiwii 2.0
Publicado por: xanon en 01 de Abril de 2012, 21:42:26 pm
Hola a todos, Alex y compañia han sacado la version final 2.0 para multiwii. Ya se que quedamos pocos seguidores del sistema multiwii, pero este fin de semana he actualizado el quad a la 2.0 y se ha vuelto loco, hasta me ha pegado con una hélice!

A parte de las supuestas mejoras en cuanto a estabilización, GPS, control de altura, etc., que creo que es donde estan trabajando, alguien sabe si hay alguna modificación de motores, orientación de sensores, no se, yo he revisado el código y no he sido capaz de ver ningún cambio tan drástico para que el bicho se vuelva loco.

En el GUI lo único que he visto es que me ha cambiado el PITC por el ROLL y no se porque!

Aguien ha probado esta versión?

Saludos
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 01 de Abril de 2012, 21:52:14 pm
La he probado con mi QUAD y mi HEXA y funciona correctamente, pero ojo, usando sensores individuales (no una placa que contenga varios) hay que cambiar las orientaciones.
Por ejemplo si usas el WMP y BMA180, tienes que cambiar los ajustes del acelerómetro.

Código: [Select]
//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  -X; accADC[PITCH]  = -Y; accADC[YAW]  = Z;}
//#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;} original
//#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: CAYESA en 02 de Abril de 2012, 08:06:14 am
Pocos pero fieles... La probaré estas vacaciones en el avatar-copter a ver si realmente tiene mejoras de estabilización.

Un saludo
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: xanon en 02 de Abril de 2012, 10:29:25 am
OK gracias, revisare la orientación. Yo llevo el WMP, el BMA180 y el HCM5083 orientados tal como marca en la serigrafia de la placa, pero claro puede ser que esten todos girados. Lo mirare y ya os comento.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 02 de Abril de 2012, 17:29:40 pm
Con lo que comentas seguro que tienmes que cambiar la orientación, para WMP y BMA180 pon lo que he pasado en el post anterior y verifica el funcionamiento en el GUI, para el magnetometro tendras que hace pruebas con este criterio en los valores que tre marca el GUI.

How should be the sensor axis directionsTILT the MULTI to the RIGHT (left side up):
TILT the MULTI forward (tail up):
Rotating the copter clockwise (YAW):
The copter stays level:
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: xanon en 02 de Abril de 2012, 20:53:37 pm
Bueno, a falta de prueba de vuelo, en el GUI ya veo que ahora funciona bien. Ha quedado asi:

//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  X; accADC[PITCH]  = Y; accADC[YAW]  = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] =  -X; gyroADC[YAW] = -Z;}
//#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}

Otra cosa que he visto y no se su significado es el PASSTRHU y el HEADFREE  (http://www.helicopterosrc.net/richedit/smileys/YahooIM/39.gif) 

Mañana intentare hacer alguna prueba de vuelo. Gracias por la ayuda.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 02 de Abril de 2012, 23:02:58 pm
Bueno, a falta de prueba de vuelo, en el GUI ya veo que ahora funciona bien. Ha quedado asi:

//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  X; accADC[PITCH]  = Y; accADC[YAW]  = Z;}
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = Y; gyroADC[PITCH] =  -X; gyroADC[YAW] = -Z;}
//#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}

Otra cosa que he visto y no se su significado es el PASSTRHU y el HEADFREE  (http://www.helicopterosrc.net/richedit/smileys/YahooIM/39.gif) 

Mañana intentare hacer alguna prueba de vuelo. Gracias por la ayuda.

PASSTRHU es para si lo usas con aviones "bypassear" el HW y que las ordenes de la radio vayan directas a los servos (PASAR A TRAVES)
HEADFREE es la opción que usando magnetometro te permite que una vez activada (y con el magnetometro bien calibrado) indepedientemente de hacia donde mire el multicoptero se mantenga en la emisora la funcion de adelante-atras-izquierda-derecha de la misma manera que cuando la has activado. Es decir si adelante era alejarse de ti, segira siendo lo mismo independiente de haciadonde mire el bicho, lo que facilita su manejo ya no tienes que invertir los mandos cuando el morro te mira a ti. En otros SW creo se llama CAREFREE.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 22 de Abril de 2012, 16:52:32 pm
La he probado con mi QUAD y mi HEXA y funciona correctamente, pero ojo, usando sensores individuales (no una placa que contenga varios) hay que cambiar las orientaciones.
Por ejemplo si usas el WMP y BMA180, tienes que cambiar los ajustes del acelerómetro.

Código: [Select]
//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  -X; accADC[PITCH]  = -Y; accADC[YAW]  = Z;}
//#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;} original
//#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}


Yo tengo el WMP (chino, pero siempre fue bien) y el bma180. Activé el BMA en la parte donde correspondiente, pero no me queda claro el tema de la orientación. He añadido esa línea a las 3 que había, dejándolo tal que así:

//if you want to change to orientation of individual sensor
#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  -X; accADC[PITCH]  = -Y; accADC[YAW]  = Z;}
//#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;}
//#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] =  X; gyroADC[YAW] = Z;}
//#define MAG_ORIENTATION(X, Y, Z)  {magADC[ROLL]  = X; magADC[PITCH]  = Y; magADC[YAW]  = Z;}

Pero en el GUI se me vuelve loco, después se estabiliza, después vuelve a írsele la olla...descarto sensores ya que acabo de meterle la 1.9 y vuela perfect.

¿Alguien sabe qué pasa?

Saludos
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 22 de Abril de 2012, 20:32:44 pm
¿Has calibrado los acelerometros despues de cambiar de versión?
 
Es muy importante en cada cambio de version antes de probar calibrar ACC y MAG (si existen)
 
Espero resuelva tu problema.
 
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: xanon en 22 de Abril de 2012, 20:55:41 pm
Siento no haber dado señales de vida antes , la prueba de vuelo fue casi perfecta (he de bajar algunos valores porque "aletea" un poco.

Yo tenia el mismo problema de BITMAN, no se porque en esta versión han cambiado la orientación de los sensores, siguiendo los consejos del experto MGROS, cambie la configuració en las lineas que me dijo y despues de un rato haciendo pruebas conseguí que funcionara correctamente. BITMAN te recomiendo que empieces por los giros y luego los acelerómetros o al reves, porque si los vas cambiando todos a la vez te vas a vover loco (es lo que me paso a mi).

Con el barómetro y el control de altura no lo tengo muy claro, creo entender (aunque no se si es asi) que cuando se activa desde la radio el BMA, este memoriza la altura y deberia mantenerla dentro de unos límites??? La cosa es, que subo el quad a una cierta altura y se muestra super estable, pero si le quito motor baja. No se si me explico, no actua como un bloqueo de cola como tal y no se si debe ser asi.

En mi humilde opinión, creo que esta versión ha mejorado bastante el comportamiento del quad y es muy estable. La funcion del HEADFREE es una pasada cuando pierdes la orientación, aunque para volar normalmente no sea muy recomendable.

Saludos
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 23 de Abril de 2012, 14:07:45 pm
Hola,

Pero donde se cambia la config de los gyros? solo toqué el acelerómetro añadiendo la línea que puse arriba.

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  -X; accADC[PITCH]  = -Y; accADC[YAW]  = Z;}

Lo de calibrar siempre lo hago desde el GUI cuando hago cualquier cambio (calibrate ACC) y como digo, se mantiene estable, pero al cabo del rato empieza como a girar solo sin control...

Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 23 de Abril de 2012, 16:55:05 pm
Hola,

Pero donde se cambia la config de los gyros? solo toqué el acelerómetro añadiendo la línea que puse arriba.

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  -X; accADC[PITCH]  = -Y; accADC[YAW]  = Z;}

Lo de calibrar siempre lo hago desde el GUI cuando hago cualquier cambio (calibrate ACC) y como digo, se mantiene estable, pero al cabo del rato empieza como a girar solo sin control...

Saludos.

los giros se cambian con la línea //#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] = X; gyroADC[YAW] = Z;}
para ello debes seguir estos criterios:

How should be the sensor axis directions
TILT the MULTI to the RIGHT (left side up):

TILT the MULTI forward (tail up):

Rotating the copter clockwise (YAW):

The copter stays level:

No obstante no es normal que en GUI empiece estable y de pronto empiece a hacer giros, comprueba que tienes todo correctamente configurado, que no tienes errores I2C, que estas usando el GUI adecuado con la versión.

Pon un video con lo que te sale el GUI para ver que podria ser.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 23 de Abril de 2012, 20:42:51 pm
Hola, te voy a poner los cambios que hice en el código:

#define QUADP => vuela en + y no en x.
#define BMA180 => tengo este acelerómetro.
#define MOTOR_STOP => para que no me arranque las manos cuando estoy haciendo pruebecillas en mi casa.

#define ACC_ORIENTATION(X, Y, Z)  {accADC[ROLL]  =  Y; accADC[PITCH]  = -X; accADC[YAW]  = Z;} => orientación acelerómetro
#define GYRO_ORIENTATION(X, Y, Z) {gyroADC[ROLL] = -Y; gyroADC[PITCH] = X; gyroADC[YAW] = Z;} => orientación gyro.

Y aquí el vídeo que acabo de hacer. Como ves le doy 2 veces al acc calibrate y esta vez incluso sucede más rápido que la anterior vez (antes eran varios segundos, ahora es casi al momento).


http://www.youtube.com/watch?v=br3-SZr3uBE (http://www.youtube.com/watch?v=br3-SZr3uBE)


No tiene sentido que fueran de sensores, con la 1.9 se mantiene estable y bien...tiene que ser algo de configuración, pero no tengo ni idea.

Gracias! Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: xanon en 23 de Abril de 2012, 20:59:18 pm
Yo veo que no te lee el gyro, lo tienes desactivado? Podria ser que el arduino estubiera esperando datos del gyro y al no tenerlos haga eso No se, es solo una idea.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 23 de Abril de 2012, 21:05:01 pm
Si pero como lo habilito? que yo sepa hasta ahora no tuve que habilitarlo en el código, ya que lo cogía "por defecto". Si muevo el quad si que se mueve, pero claro no como debería porque desborda, aunque si para el lado correcto,
EDITO: Vale, parece que el gyro no recibe puesto que está a 0,0,0 pero es que no muevo el quad...si lo muevo si que varían esos valores.

Gracias, Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 23 de Abril de 2012, 23:00:06 pm
Esta claro que los valores que esta leyendo del acelerometro son malos, deberian estar con el QUAD quieto totalmente estables, ROLL casi 0 PITCH tambien casi 0 y YAW cerca de 256 y quieto.
 
¿que valores te da con la 1.9?
 
Revisa concienzudamente los ficheros config.h entre ambas versiones 2.0 y 1.9.
 
Y si no empieza con una 2.0 recien descargada a configurarlo.
 
¿Que placa con el BMA180 tienes instalado?
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 24 de Abril de 2012, 07:48:08 am
Con la 1.9 me da aproximadamente los que dices, valores cercanos al 0 y 256 en yaw...

Lo de los ficheros ya lo revisé y las únicas modificaciones que hice fue las que te describí en el post anterior, solo temas de activar el bma, lo del motorstop...

Lo de la 2.0 recién descargada ya lo hice, porque me dio errores de compilación (tened cuidado de tener varios ficheros que se llamen igual) e idem.

La placa es una PARIS 4.0, bma180 original y WMP.

Gracias!, Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 24 de Abril de 2012, 20:12:38 pm
He buscado por internet y veo que alguien mas tiene problemas con esa configuración.

Aunque en I2c no veo que tengas errores prueba a jugar con los PULL UP en config.h

//enable internal I2C pull ups
#define INTERNAL_I2C_PULLUPS


Activalos si no los tienes o al contrario, ya nos contaras.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 24 de Abril de 2012, 21:21:29 pm
Hola,

Acabo de probar con los pullups desactivándolos (estaban activados):

//enable internal I2C pull ups
//#define INTERNAL_I2C_PULLUPS


Y sucede igual...he calibrado previamente varias veces incluso. El quad no me deja arrancarlo porque no detecta poca variación del ACC.

He estado buscando pero no encuentro nada parecido a lo mío, ¿podrías poner el link?

A mi lo que me sigue escamando es que en 1.9 vaya bien....

Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 24 de Abril de 2012, 23:59:42 pm
He encontrado varios relacionados con PARI WMP y BMA180:
http://www.rcgroups.com/forums/showthread.php?t=1576785 (http://www.rcgroups.com/forums/showthread.php?t=1576785) pero no es el mismo problema
http://www.multiwii.com/forum/viewtopic.php?f=8&t=1463&start=70#p12754 (http://www.multiwii.com/forum/viewtopic.php?f=8&t=1463&start=70#p12754) Exactamente el mismo JeJeJe (http://www.helicopterosrc.net/richedit/smileys/YahooIM/103.gif)
http://www.multiwii.com/forum/viewtopic.php?f=15&t=367 (http://www.multiwii.com/forum/viewtopic.php?f=15&t=367) con Paris V3 y problemas de pull up
 
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 25 de Abril de 2012, 07:29:10 am
Si, lo he posteado allí también para ver si alguien me sabe decir...

jeje, pues nada, si tengo que volar lo seguiré con la 1.9.

Gracias, Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 08 de Mayo de 2012, 14:38:52 pm
Pues nada, todo sigue igual y nadie parece saber qué pasa.....nadie? :P
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 08 de Mayo de 2012, 17:01:34 pm
Han preparado una nueva versión de desarrollo en http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_dev_20120504.zip&can=2&q= (http://code.google.com/p/multiwii/downloads/detail?name=MultiWii_dev_20120504.zip&can=2&q=)

yo la he probado y va muy bien.

Prueba con esta a ver si hay suerte.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 12 de Mayo de 2012, 11:19:03 am
Pues nada, acabo de probar esa versión e idem.

Y en el foro oficial alex no contesta...:( en fin, tendré que conformarme con la 1.9

Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 13 de Mayo de 2012, 12:02:24 pm
Acabo de probar con un WMP más BMA180 y me funcion correctamente, valores perfectos en GUI con un MEGA.

Lo que te pasa es extraño, por ir descartando coosas, y aunque seguro que lo tienes correcto, mandame exctamente todos los ficheros que cargas en el arduino.

Te mando un PM con mi dirección de correo electrónico.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: mgros en 13 de Mayo de 2012, 12:34:41 pm
Queda descartado el código, aparte de los problemas de orientación, tengo las placas sueltas por encima de la mesa, funciona correctamente.
 
Todo apunta a un fallo en la electronica que solo se manifiesta con la 2.0
 
Supongo que habras verificado la dirección I2C de tu BMA180 existen dos posibilidades
 
#define BMA180_ADDRESS 0x80
#define BMA180_ADDRESS 0x82
 
Tanto en 1.9 como en 2.0 se define como estandar 0x80 (asi esta en el codigo que me has mandado), pero no se si lo has cambiado en 1.9
 
Lo puedes comprobar sobre la línea 21 del fichero Sensors.pde (verifica que este igual em 1.9 y en 2.0)
 
Yo para descartar problemas de compatibilidad a nivel de tensiones uso un LLC, http://www.sparkfun.com/products/8745 (http://www.sparkfun.com/products/8745) entre el arduino y los sensores.
 
Revisa toda la electrónica, ya nos contaras.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: bitman en 16 de Mayo de 2012, 08:36:41 am
La revisaré, pero sigo pensando que debe estar OK, puesto que en 1.9 no tengo ningún problema.

Gracias, Saludos.
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: Spare en 08 de Abril de 2013, 13:25:00 pm
hola a todos,
Hace tiempo hice puebas con un tricoptero y la version 1.9, volaba, pero el otro dia cargué la version 2.0, y en principio va bien, pero al volar, de repente uno de los motores se para y porrazo que te crió.
Sigo teniendo los mismos ESC mystery sin flashear y el  MINTHROTTLE que antes, pero antes no me hacia esto.
¿Alguien ha visto esto antes?
Gracias
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: CAYESA en 08 de Abril de 2013, 13:28:45 pm
Instala la 2.2. Yo la llevo en mi tricóptero desde hace más de 40 lipos y ni un fallo, y el multi es super estable hasta en transiciones a alta velocidad, descensos rápidos y giros a cuchillo.

Un saludo
Título: Re: Nuevo Firmware Multiwii 2.0
Publicado por: Spare en 08 de Abril de 2013, 17:46:47 pm
Gracias CAYESA por la info. Ya os contaré si se soluciona