Autor Tema: Acelerómetro  (Leído 98372 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #195 en: 06 de Febrero de 2009, 13:37:46 »
Droky, no entendi muy bien tu planteo, decis q a partir de las velocidades ya calculadas podemos saber si esta inclinado? Yo creo q no es necesario entrar mucho en profundidad, el efecto neto de una inclinacion y un desplazamiento (en terminos de aceleracion) es el mismo.
Otra cosa, el algoritmo q nos brinda freescale no contempla la aceleracion debida a la gravedad. Cito del app note q nos mostro Marttyn:
Citar
The algorithm shown in the following pages applies to any sensing axis; therefore, one, two or three dimensional positioning can be determined. When implementing positioning in 3 axes, extra processing is required to null the earth’s gravity effect. The implementation below includes an example for a 2-axis system (i.e. mouse).
Ese parrafo es un poco confuso por q no habla de inclinacion ni de sensores extra, pero por el ejemplo q pone del mouse, supongo q se sobre entiende q no debemos inclinar el dispositivo. Aun q estaria bueno un mouse q responda a la inclinacion :wink:

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Acelerómetro
« Respuesta #196 en: 06 de Febrero de 2009, 15:42:35 »
Bueno, hable un poco por hablar, me refería a que primero, tomamos las velocidades como vectores de 2 componentes que son ( ya calculadas a partir de la integral de las aceleraciones ) y verificamos que la velocidad final que será la suma de las velocidades de cada eje (ya no estoy seguro si como vector o qué) no se anula como consecuencia de la suma de las aceleraciones de los 3 ejes... vaya que me he hecho la picha un lío, que tengo una imagen con un montón de flechas en la cabeza y no soy capaz de explicarme, pero seguro que no tiene ni razón de ser...
No he dicho nada... que me sale humo de la cabeza...

COn respecto al vídeo... es evidente que si el eje Z se mantiene invariable, las aceleraciones medidas no pueden ser por inclinación, sólo por desplazamiento, ya que si inclinamos sin desplazar, obtendríamos una variación en el eje Z ¿no? por lo menos lo he verificado así con el Triax.
Lo del posicionado con 3 ejes en 3D ya no lo tengo muy claro donde restar la fuerza de la gravedad y asegurar que el movimiento es 3D y no una simple rotación que haga variar los datos de l acelerómetro sin llegar a producirse desplazamiento. Hay algo ahí que tendría que anular las aceleraciones o las velocidades entre sí para que el movimiento fuera 0. ¿Qué pensáis vosotros?

Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Acelerómetro
« Respuesta #197 en: 06 de Febrero de 2009, 16:42:32 »
en 3D lo veo muy dificil necesitamos un vector de posiciones y otra matriz con las orientaciones (o bien otro vector de orientaciones por ejemplo: cosenos directores) de un punto del objeto. Con un acelerometro me parece que no vamos a obtener resultados, porque pasa lo que indica gera. pero si tenemos algo que nos indique la posicion del objeto (vector posicion), podemos determinar si esta moviendose, si esta rotando o las ambas....
ahora volviendo al caso de la lapicera, suponiendo que solo tuviera acelerometro..... creo es posible hacerlo, ya que eliminamos la aceleracion en z (no me interesa si la lapicera esta a 1 metro, si esta pata arriba) solo senso el contacto. y sobre los 2 otros ejes registro un rango amplio de aceleraciones varias veces la gravedad y logro sensar cerca de la punta de la lapicera el error causado por la inclinacion debe ser muy chico y creeria que despreciable comparado a la velocidad que escribimos.... eso si, no serviria para personas que escriben con la lapicera inclinada  :mrgreen:
LAS MALVINAS SON ARGENTINAS!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #198 en: 10 de Febrero de 2009, 00:50:26 »
Hola amigos!!! Estuve jugando un rato con el acelerometro y ya logre algo parecido al juego de la bolita de droky :-/ (espero q no te moleste q te haya robado algo de codigo jeje)
La verdad q el CCS da dolores de cabeza con la aritmetica, pero bueh, aqui esta funcionando. Les dejo un video a ver q opinan :wink:


De a poco, se viene el acelerometro con matriz 3D jaja
Saludos!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Acelerómetro
« Respuesta #199 en: 10 de Febrero de 2009, 03:49:31 »
Muy bueno Gera!!! a por el 3D!!!
Molestar?¿?¿? nunca!
Salu2
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Acelerómetro
« Respuesta #200 en: 14 de Marzo de 2009, 18:55:12 »
Hola gente vuelvo con este tema ya que pude arreglar uno de los acelerometros lo desolde y volvi a soldar y recobro vida.
Me quedo como en la siguiente imagen

Ahora he de aqui la cuestion(situacion, maraña o como quieran).....

Lo primero que hice fue poner un lcd y mostrar los 3 ejes......TODO MUY LINDO
 
 aprovecho para agradecer al flaco por la entrenadora es una herramienta muy pero muy util  'CHAS GRACIAS FLACO.....
 y algo asi me dieron los valores (en realidad se me transpapelaron los ejes y el X termino en el Z por esas cosas de la vida :mrgreen:)


 No contento con la hazaña viene la parte USB, el plan fue: comunicacion PROTEUS->MATLAB->MARILOU tres programas muy grosos corriendo al mismo tiempo que la pc sacaba la lengua y se puede apreciar pero muy lento. Entonces monte el hardware nuevamente esperando una velocidad mayor, efectivamente si miro el puerto serie (porque estoy usando USB CDC ya que es mas facil de trabajar en MATLAB) con algun visor (utilice el del CCS) se ven los datos corriendo rapido, pero tengo el problema que la comunicacion con MATLAB me empieza a dar datos que no corresponden cuando comienza a cambiar el dato por ende imagino que estoy haciendo mal la comunicacion. Lo que me llama la atencion es que arme unos bloques con el simulink y anda joya,bueno con un desfasaje de unos 5 segundos entre la variacion del acelerometro y la visualizacion. Esta es una imagen de como varia en un eje

Se nota que es bastante rizado habría que aplicar algun filtro pasabajos(creo que lo mejor seria digital ya que estoy en MATLAB) para suavisar las curvas.
  por esta razon queria saber si alguien tan amable sabe como se configura la comunicacion entre estos muchachos, no me faltaria la configuracion en CCS? y porque funciona correctamente en el visor de puerto?.

Código: [Seleccionar]
//codigo CCS

#include <18F4550.h>
 #device adc=10
 #fuses XTPLL,MCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,NOPBADEN
 #use delay(clock=48000000)
 
 #include <usb_cdc.h>
 
  void main() {
    float a;
    // Un retardo de espera
    delay_ms(1);
    // configurar_AD();
    // Configuración del USB
    setup_adc_ports(VSS_VREF);
    setup_adc(ADC_CLOCK_INTERNAL);
    set_adc_channel(1);
   
    usb_cdc_init();
       
    usb_init();
 
   
    while(!usb_cdc_connected()) {
   
   }
 
    // Dispositivo reconocido
   // Ciclo principal
   
    while(TRUE){
   delay_ms(1);
   
   a=read_adc();   
   printf( usb_cdc_putc,"%g\n\r",a );
       
    }
}


Código: [Seleccionar]
//codigo MATLAB


N_puerto=input('numero de puerto ','s');
s=serial(['COM',N_puerto]);
set(s,'BaudRate',9600,'Parity','none','DataBits',8,'StopBits',1);


fopen(s);

for i=1:250

    datos1=str2num(fscanf(s))
    angulos= [-datos1 0 0];%no interesa si el vector es fila o columna
     calllib('marilou','mover_motores',numero_de_motores,angulos,Nombres,tiempo);
end

fclose(s);


ahora estoy tratando de grabar un video para mostrarles que se mueve como si tuviese parkinson  :x, pero no puedo por que no puedo usar ningun capturador de pantalla(por lo que consume en recursos) y no teng nada para filmar la pantalla  :( ...
Ven algo raro en todo esto que pueda mejorar el funcionamiento?

saludos!
LAS MALVINAS SON ARGENTINAS!

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Acelerómetro
« Respuesta #201 en: 14 de Marzo de 2009, 22:06:03 »
muy bueno cebebro!!! saludos!! y queremos ver los videos!!! vamos!!! vamos!!  8)
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -

Desconectado pignatelli

  • PIC10
  • *
  • Mensajes: 3
Re: Acelerómetro
« Respuesta #202 en: 23 de Marzo de 2009, 08:09:56 »
Hola,

Disculpad si estoy resucitando un post un poco viejo.

Me presento, soy Vicente Lozano, estudiante de ingenieria informatica haciendo su proyecto de fin de carrera (yuhuuu).

Espero que os interesen mis aportaciones, y tranquilos que no vengo aqui para que me hagais el proyecto ;P.

Os comento, estoy desarrollando un sistema de captura de movimiento lo mas barato posible y lo mas flexible posible, esto implica que debe de funcionar tanto en un medio con gravedad, como en un medio sin gravedad o dentro de un vehiculo en movimiento o cualquier combinacion de ellos y que lo optimo seria que funcionara exclusivamente con acelerometros porque si metes 16 acelerometros pues te sale por menos de 50 euros pero si tienes que meter giros te sube el precio un orden de magnitud.

En la primera semana de proyecto me vi obligado a descartar la posibilidad de usar solo acelerometros pues me parece imposible diferenciar las aceleraciones estaticas de las dinamicas pero hoy he pensado una cosa que quizas funcione, tengo que hacer las matematicas y pensar un poco porque se me ha ocurrido hace 10 minutillos mientras me fumaba un cigarrito pero vamos os cuento a ver que os parece:

EL objetivo es aislar dinamicas de estaticas, hay dos timos de aceleraciones estaticas que queremos ignorar y son las aceleraciones del vehiculo respecto al sujeto y las aceleraciones debidas a las diversas fuerzas gravitatorias. Suponiendo que tenemos una fase de calibrado estatica y medianamente estable al comienzo del test, tenemos:

1) Para aislar la aceleracion del vehiculo, posicionar en el mismo un sensor y comunicarlo con los sensores corporales, hacer un calibrado incial y usar las medidas del estatico como referencia.

2) Para aislar la gravedad de las dinamicas he pensado que si cada sensor en lugar de tener un solo acelerometro, tiene 2 o mas situados en una estructura espacial conocida, (distancias y angulos en las tres dimensiones), las inclinaciones y aceleraciones en el centro de la estructura se pueden calcular con los valores de los N acelerometros y como los giros del punto central afectaran de diferente forma a cada acelerometro, quizas podamos detectar que es un giro o un movimiento lo que estamos leyendo, aislar el giro, y eliminar la componente gravitatoria y/o de aceleracion del vehiculo a partir de estos angulos y el sensor estatico.

Voy a ir a comer y pensare un rato sobre esto, que opinais sobre la viabilidad de esta "hipotetica y supuesta" solucion? Lo veis factible?

Bueno espero no tener muy olvidados los calculos vectoriales que esto de ser informatico la fisica se va quedando olvidadilla.

A por cierto, he leido que el filtro kalman es interesante para estabilizar las medidas en este tipo de proyectos, lo habeis usado alguien? Este filtro no forma parte de mi formacion pero estoy leyendo documentos por inet a ver si consigo comprenderlo y usarlo.

Venga, saludos!

Desconectado chachi

  • PIC10
  • *
  • Mensajes: 3
Re: Acelerómetro
« Respuesta #203 en: 23 de Marzo de 2009, 09:47:41 »
Hola Gente:

Quiero agradecer en general a todos por tantos buenos aportes en Acelerómetros.

Estoy encarando un proyecto de Navegacion integrada de un Helicoptero de 2 grados de libertad. Tengo pensado usar un Gyro y un Acelerometro, y como tercer parametro un receptor de GPS. Todo ello controlandolo con LabView (o de ultima Matlab con Windows).

Ayer Pedi en Freescale la muestra de los Alelerometros, pero el correo de la Facu (UNQ) me lo filtra y no puedo confirmar el envio.

Intentaré hacer aportes que pueda ayudar a alquien.

Desconectado chachi

  • PIC10
  • *
  • Mensajes: 3
Re: Acelerómetro
« Respuesta #204 en: 23 de Marzo de 2009, 09:54:05 »
Cerebro: Espectacular lo tuyo!
Espero empezar pronto con el Acelerómetro y Matlab, entonces intercambiamos experiencias.
Estoy haciendo recien el estudio para adquirir el Acelerómetro y Gyro.
Gracias por el aporte!


Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Acelerómetro
« Respuesta #206 en: 23 de Marzo de 2009, 17:29:02 »
Cerebro: Espectacular lo tuyo!
Espero empezar pronto con el Acelerómetro y Matlab, entonces intercambiamos experiencias.
Estoy haciendo recien el estudio para adquirir el Acelerómetro y Gyro.
Gracias por el aporte!


gracias, espero nos cuentes tu experiencia..

Bueno subo 2 videos en el primero me anime a hablar pero muy bajo porque me daba verguenza que me escuche alguien  y pensara que estoy como los locos hablando solo :D  :D. y como me salio tan feo en el otro ya no hable nada  :D.

No se aprecia tanto en el video pero con el filtro digital baje el ruido a la mitad practicamente  :-/



Y en el siguiente lo explico un poco.... Debido a que la comunicacion entre Matlab y Marilou funciona perfectamente si es que no estoy adquiriendo datos por el usb, y por la comunicacion usb recibo datos perfectamente si es que no estoy enviando a Marilou. Decidi adquerir datos mientras no envio y enviar datos mientras no estoy adquiriendo. Los resultados son un  terrible delay de unos 10 o mas segundos (una porqueria  :( ), por lo consiguiente decidi, como no tengo idea que pasa dejar de lado la comunicacion con Marilou hasta encontrar otra forma de comunicar los programas...


 
ahora el desafio es enviar los datos por infrarrojo desde un par de metros  :).
 Saludos!
LAS MALVINAS SON ARGENTINAS!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #207 en: 23 de Marzo de 2009, 19:57:51 »
Muy bueno cerebro, te felicito!! Dos preguntas:
1- Q perfil de USB usas para la transmision de datos?
2- Q tipo de filtro digital implementaste? la verdad q se ve bastante limpia la señal
3- No entiendo bien q es lo q se ve en el segundo video :S
bueno, fueron tres preguntas jeje. Saludos y suerte con la transmision infrarroja!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Acelerómetro
« Respuesta #208 en: 23 de Marzo de 2009, 23:44:11 »
 :) hola gera contesto tus preguntas

1- la comunicacion es USB CDC (comunicacion serial)
2- es un pasabajos de primer orden en 1 Hz de corte y utilice aproximacion de euler s= (1-z^-1)/T, la señal se ve limpia gracias a freescale  :D ademas creo que en la CAD algo tiene que estar filtrando y a la salida del sensor tenemos el otro filtro
3-en el segundo video era para mostrar mi frustacion, supuestamente en la junta de la base del RRR tiene que seguir la inclinacion del acelerometro pero no lo hace muy bien, no?  :(.

Gracias por la suerte la voy a necesitar porque por el momento no anda nada de nada, para colmo creo que murio el sensor :z) no se que le paso  :8} :8} :8} soy un animalito!!. Voy a tener que invertir en otro nuevo :( encima retraso de un dia por el feriado de la presi  :(.

Saludos y voy a tratar de reflexionar en mis acciones para no seguir quemando cosas   :?
LAS MALVINAS SON ARGENTINAS!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Acelerómetro
« Respuesta #209 en: 14 de Mayo de 2009, 13:56:30 »
Buenas cerebro!!!
Una preguntita.. el filtro lo implementaste en el pic o en la pc? te cuento q estoy en un pequeño proyecto con el acelerometro y el unico filtro q tengo hasta ahora es un promedio de 20 valores, y la verdad que queria algo mejor.
saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein