Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

27/04/2011 #1


Acelerometro y Giroscopio
Hola necesito diseñar un control de tal forma que pueda emular al mando del Wii.
Eh leido los datos que me entrega un acelerometro y un giroscopio y por ahora solo he podido
rotar figuras (usando una interfaz grafica) con respecto al eje X,Y.

Lo que necesito es que al desplazar el control (sin rotarlo) sobre el eje X,Y,Z me de una señal.

Con que dispositivo puedo hacerlo?? se puede hacer con una combinacion entre el acelerometro y el giroscopio?
27/04/2011 #2

Avatar de elbrujo

con acelerometro de 3 ejes tenes las 3 mediciones espaciales
27/04/2011 #3


Pues mira puedes usar los dos con el acelerometro de 3 ejes tienes tres grados de libertad ahora q por si solo el acelerometro es muy sensible a ruidos y te detecta aceleracion estatica tambien si quieres que te responda mejor entonces agregale el gyro para que sea estable al acelerometro le tendrias que poner un filtro pasa bajas digital, al gyro lo tendrias que integrar y despues aplicarle un filtro pasa altas digital y al final solo lo sumas lo que seria el filtro complementario, no se q tanta exactitud y control quieres
29/04/2011 #4


gracias por tu respuesta, entiendo lo que me dices, pero lo que yo necesito es desplazar un dispositivo en linea recta (sin realizar ningun tipo de giro ) y me mande una señal. No he podido hacerlo con el acelerometro tampoco con el giroscopio, pero he leido que el control del wii tiene un acelerometro y si realiza esa funcion. Gracias, saludos
29/04/2011 #5

Avatar de elbrujo

Postea lo que hiciste y donde no pudiste o que no te anduvo
29/04/2011 #6


La imagen A son los movimientos que he podido realizar y eso es util para mi. Pero necesito realizar los movimientos de la imagen B. Se pude lograr con un acelerometeo y giroscopio?? como le hago?? Sino se puede alguien conoce otro dispositivo???

esta es la IMAGEN del los movimientos que necesito
Imágenes Adjuntas
Tipo de Archivo: jpg acel-giro.JPG (34,6 KB (Kilobytes), 135 visitas)
29/04/2011 #7

Avatar de elbrujo

Leiste mi post #2? con un acelerometro podes. El giroscopo te da estabilidad al movimiento como mas aplomado. Para sensar/controlar que cosa estas buscando?
01/05/2011 #8


Hola mauxx5. teóricamente sería complicado medir el desplazamiento con un acelerometro y/o con un giroscopio, ya que el primero mide la variación de velocidad con respecto a una unidad de tiempo, y el segundo se basa en cambios en la velocidad angular.
Si únicamente requieres medir desplazamiento, sin que sea muy preciso, te sugeriría que te bases principalmente en 2 medidas (con un acelerometro), una cuando inicias el movimiento y la otra cuando acaba, lo cual generaría una aceleración "positiva" y otra "negativa", en la positiva miras cual fue la magnitud e inicias un contador y de acuerdo a esta calculas una velocidad, cuando detectes una aceleracion negativa paras el contador, ya teniendo velocidad y tiempo puedes calcular una distancia aproximada.
Espero sea de ayuda. Saludos
02/05/2011 #9

Avatar de Sebastian1989

Yo pude hacer un medidor de distancia y velocidad con un acelerometro. Lo unico que tienes que hacer es una interrupción cada un tiemto t constante, dentro de la interrupción haces la lectura del acelerometro y de esta forma puedes calcular la integral de la aceleracion en el tiempo como una integral de Riemann y a si calcular la velocidad y si vuelves a hacer lo mismo con los datos de la velocidad te da el desplazamiento.
Cuantas mas interrupciones por segundo mejor por que de esta manera el valor de t disminuye lo que hace una aproximación mas exacta.
02/05/2011 #10


Gracias, me podrias pasar un ejempplo?? porfavor. Ya comprobe que si se puede realizar lo que yo necesito. gracias
02/05/2011 #11

Avatar de Sebastian1989

Perdí el programa que hice hace un tiempo, tal vez el fin de semana pueda hacerlo de nuevo.
Por lo que recuerdo hice una interrupción cada 1 ms app. y dentro de la interrupción leía el valor del acelerometro con un ADC de 14 bits y lo transformaba a m/s^2 por que el adsl335 entrega mV/g luego en el programa principal tenia una función para que cuando uno apretara un botón mandara v=0 y d=0 para que la velocidad y distancia inicial sea igual a cero, en la interrupción tenia una variable v += t*a (t=tiempo de la interrupción, a= aceleración) de esta forma calculo el área de la aceleración con respecto al tiempo que es lo mismo que la velocidad y si vuelvo a repetir el mismo procedimiento con la velocidad puedo calcular el desplazamiento.

Espero que se entienda mas la idea, cuando tenga tiempo pongo el programa nuevo.
02/05/2011 #12


muchas gracias de nuevo la idea la entendi voy a comenzar a realizar el programa. Yo tambien tengo el adxl335. De cualquier forma espero puedas subir tu programa.
02/05/2011 #13


acelerometro
aqui tienes un ejemplo de un programa para un acelerometro con un freescale mcf51qe128

espero te sirva
saludos
Archivos Adjuntos
Tipo de Archivo: rar DEMOQE_Accelerometer_Ex_S08.rar (586,1 KB (Kilobytes), 239 visitas)
11/05/2011 #14

Avatar de Sebastian1989

Perdón por no poner el programa el fin de semana pero e estado lleno de pruebas en la U y no e tenido tiempo, yo creo que para el lunes tal ves lo pueda poner.
12/05/2011 #15


Sebastian1989 dijo: Ver Mensaje
Perdón por no poner el programa el fin de semana pero e estado lleno de pruebas en la U y no e tenido tiempo, yo creo que para el lunes tal ves lo pueda poner.
ok gracias, espero me puedas ayudar
14/05/2011 #16

Avatar de Sebastian1989

Con este programa se puede tener una aproximación de la velocidad y distancia recorrida con un acelerómetro.
Es importante que en alguna parte del programa se reinicie la velocidad a 0 para que la distancia no se vea afectada cuando uno está quieto ya que los errores de lectura de la aceleración se van acumulando de forma indefinida en la variable de la velocidad afectando de esta forma a la distancia.
Hay que tener en cuenta que la inclinación del acelerómetro va a afectar la medida de la distancia y velocidad por lo que es ideal compensarla con algún sensor externo ya que cuando se está acelerando en una pendiente es imposible separar la lectura de la gravedad a la de la aceleración del objeto.
Si uno quiere mayor precisión debe poner un operacional al acelerómetro para hacerlo mas sensible a mínimos cambios, aumentar la resolución del adc, poner un sensor externo para compensar la pendiente de por donde se mueva el objeto y sería ideal que el micro tenga una entrada para igualar a 0 la velocidad cuando el objeto este inmóvil.
Archivos Adjuntos
Tipo de Archivo: rar ccc.rar (959 Bytes, 241 visitas)
16/05/2011 #17


hola mauxx,

Si aun estas desarrollando el proyecto, te comento que puedes usar un nunchako de la Wii que tiene un acelerometro de 3 ejes y vale menos de 5€ puesto en casa.

Y el metodo de leer los datos esta mas que implementado en la red, pues se usa para muchas aplicaciones entre ellas los quadricopteros.

Saludos.
25/05/2011 #18


Hola
una pregunta en esta instruccion:

set_adc_channel( 0 );
v=read_adc(); //leo el voltage del acelerometro/2


dices que lees el voltaje del acelerometro. Físicamente cual seria esa entrada? o que pin del acelerometro es el que va a la AN0 del microcontrolador???

GRACIAS

hola una pregunta en esta instruccion:

set_adc_channel( 0 );
v=read_adc(); //leo el voltage del acelerometro/2


dices que lees el voltaje del acelerometro. Físicamente cual seria esa entrada? o que pin del acelerometro es el que va a la AN0 del microcontrolador???

GRACIAS



Sebastian1989 dijo: Ver Mensaje
Con este programa se puede tener una aproximación de la velocidad y distancia recorrida con un acelerómetro.
Es importante que en alguna parte del programa se reinicie la velocidad a 0 para que la distancia no se vea afectada cuando uno está quieto ya que los errores de lectura de la aceleración se van acumulando de forma indefinida en la variable de la velocidad afectando de esta forma a la distancia.
Hay que tener en cuenta que la inclinación del acelerómetro va a afectar la medida de la distancia y velocidad por lo que es ideal compensarla con algún sensor externo ya que cuando se está acelerando en una pendiente es imposible separar la lectura de la gravedad a la de la aceleración del objeto.
Si uno quiere mayor precisión debe poner un operacional al acelerómetro para hacerlo mas sensible a mínimos cambios, aumentar la resolución del adc, poner un sensor externo para compensar la pendiente de por donde se mueva el objeto y sería ideal que el micro tenga una entrada para igualar a 0 la velocidad cuando el objeto este inmóvil.
30/05/2011 #19

Avatar de Sebastian1989

El canal 0 del ADC va conectado a un divisor de tensión formado por dos resistencias iguales de precisión que van conectadas entre Vcc y Gnd, de esta forma puedo saber con qué voltaje exactamente se está alimentando el acelerómetro, esto es muy importante ya que el acelerómetro entrega un voltaje a la salida de Vo= Vcc/2+Vcc*G/10.

Perdón por tardar con la respuesta pero no me había dado cuenta de tu pregunta.
31/05/2011 #20


Los aceerometros son muy "nerviosos" por lo que es recomendale ponerles a la salida un amplificador operacional configurado como seguidor de linea para estabilizarlo un poco, tambien es interesante que la misma alimentacion del acelerometro este conectada con el voltaje de referencia del ADC ya que generalmente los acelerometros son radiometricos. Como te han comentado antes para obtener el desplaamiento del acelerometro has de resolver la integral doble de la aceleracion respecto el tiempo. Pero has de saber que ademas de registrar la aceleracion del movimiento tambien esta sometido a la aceleracion de la gravedad, por lo que todas las medidas obtenidas se ven desvirtauadas por este efecto.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.