TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: TitoBlade en 07 de Febrero de 2008, 02:53:21

Título: Uso acelerometro como sensor de posicion
Publicado por: TitoBlade en 07 de Febrero de 2008, 02:53:21
Muy buenas la duda que les propongo es la siguiente:
Tengo un proyecto pendiente en el cual tengo que medir la posición de una bicicleta, he decidido usar el acelerometro ADXL202 (usandolo como detector de posicion,con los ejes y demas), tengo ahora que ahora interpretar el ciclo duty con el PIC, el cual estoy viendo que es atraves del PWM. Sin embargo no llego a entender que es lo que tengo que hacer. He buscado en microchip pero no lo entiendo. La duda especificamente es como programo el PIC para que interprete el sensor,tengo pensado hacerlo en lenguaje ensamblador.
No se si la pregunta es muy basica pues he leido en algun post de aqui que se trata de un modulo simple.

Muchas gracias de antemano pues ya he realizado alguna pregunta y me estan sirviendo de gran ayuda para avanzar en la programacion del PIC.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 07 de Febrero de 2008, 07:17:42
Sin embargo no llego a entender que es lo que tengo que hacer. He buscado en microchip pero no lo entiendo. La duda

TitoBlade, si vos no entendes que es lo que tenes que hacer, menos nosotros. No me queda claro que es lo que queres detectar con el acelerometro, la "inclinacion" de la bicicleta, o su posicion dentro de una pista por ejemplo (calculando velocidades).

Seria bueno que agregaras mas datos como que microcontrolador pensas usar, el lenguaje que vas a usar para programar y que postees lo que tenes hecho del programa y vemos entre todos en que te has trabado.

Cual fue el determinante de usar ese acelerometro? Estas seguro que es el mas indicado, por lo que vi en su datasheet varia el ciclo de trabajo respecto a la aceleracion, es del 50% para 0g. Los acelerometros de freescale por ejemplo son mas sencillos de utilizar me parece, te entregan una señal de tension que varia proporcionalmente con la aceleracion y simplemente tomando este valor con el adc del micro ya tenes el dato. Te recomiendo que lo veas y que uses el buscador del foro que hay otros post sobre los dos tipos de acelerometros.

Suerte con tu proyecto y anda posteando tus avances asi podemos ayudarte.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: ESTECA55 en 07 de Febrero de 2008, 11:55:59
podes configurar la interrupcion de la entrada RB0 para que se active por el flanco acendente. A este pin le conectas la señal PWM que te entrega el sensor.

Entonces vos cada ves que se activa la interrupción es cuando empieza el cihlo del PWM, el periodo lo conoces, sino medís el tiempo entre dos interrupciones, con esto solo hace falta medir el tiempo que esta en alto la señal de PWM y calculas el valor del ducty del PWM.

Por ejemplo si vos tenes una interrupción cada 10 mili segundos ( por decir algo), o sea uqe el periodo del pwm es 10 mili seg, entonces si a los 5 mili seg la señal pasa de estar en 1 a estar en cero, queire decir que el ducty esta al 50%, si lo hace a los 2.5 esta el 25% y asi obtendrás el valor del ducty.

Para medir ese tiempo solo vasta utilizar un timer interno del pic, por decir algo el Timer1, vos sabes caca cuanto tiempo se incrementa y en el momento que detectas la interrupción lo pones a cero, y con mirar el valor de este timer en el momento que la señal pasa Low calculas el tiempo.

Ahora a sentarse a programar, es fasil de hacer eso en assembler como vos pensas hacer.

Saludos

Título: Re: Uso acelerometro como sensor de posicion
Publicado por: ESTECA55 en 07 de Febrero de 2008, 11:58:35
Cual fue el determinante de usar ese acelerometro? Estas seguro que es el mas indicado, por lo que vi en su datasheet varia el ciclo de trabajo respecto a la aceleracion, es del 50% para 0g. Los acelerometros de freescale por ejemplo son mas sencillos de utilizar me parece, te entregan una señal de tension que varia proporcionalmente con la aceleracion y simplemente tomando este valor con el adc del micro ya tenes el dato. Te recomiendo que lo veas y que uses el buscador del foro que hay otros post sobre los dos tipos de acelerometros.

Lo bueno de usar ese tipo de sensor en ralación a uno que entrega una tensión analogica es que es ams inmune al ruido, si tenes el sensor un tanto lejos del ADC es mejor utilizar uno de ese tipo.


Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 07 de Febrero de 2008, 12:03:25
Buen punto a tener en cuenta a la hora de seleccionar el acelerometro. Gracias por la acotacion Esteca
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: TitoBlade en 07 de Febrero de 2008, 14:14:44
Muchisimas gracias por contestar,voy a ponerme con lo que me dices Esteca55. Si me surge alguna duda ya os digo.

Título: Re: Uso acelerometro como sensor de posicion
Publicado por: TitoBlade en 10 de Febrero de 2008, 17:30:55
Muy wenas, vuelvo a remitiros a vosotros. He estado leyendo el datsheet de mi sensor ADXL202, entiendo como es la señal perfectmanete. La cosa es la hora de configurar mi PIC 16c74. No entiendo como debo configurar para que reciba el pulso, siento molestaros con algo tan simple, pero si me podeis decir algun simple ejemplo me vendria muy bien.
Lo que entiendo, conecto la salida del sensor a la entrada RB0 del PIC, ahora deberia configurar lso registros necesarios para que se active la interrupción al flanco ascendente, con lo que activaría el temporizador para contar el pulso. Ahora deberia reconfigurar para que detecte el flanco descendente parando el temporizador y asi conociendo la anchura del pulso positivo.

Gracias y un saludo.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfmateos2 en 10 de Febrero de 2008, 17:34:20
¿qué lenguaje de programación quieres utilizar TITO?
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Cryn en 10 de Febrero de 2008, 18:38:18
se puede utilizar el acelerómetro como sensor de posición? y reemplazar calvez a un encoder, en robotica?

Guietre? con el pcb que te hiciste para el acelerometro de freescale, utilizaste el circuito qeu propone para observar las variaciones de los ejes??
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 11 de Febrero de 2008, 00:13:52
Afirmativamente, se puede usar el acelerometro como sensor de posicion, de hecho es uno de los usos que propone el fabricante en la presentacion (http://www.freescale.com/files/sensors/doc/reports_presentations/XYZAXISVIDEO.html?fpsp=1&WT_TYPE=Reports%20or%20Presentations&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=html&WT_ASSET=Documentation) del producto. Por ejemplo lo usan como scroll en las Palm si te fijas en el video de presentación del producto cuando inclinas la palm es como si movieras el scroll.

En este video de las pruebas que hice con el acelerometro se ve como varia la tension al girar el protoboard. No creo que tengas la misma definición que en un encoder pero lo podes usar para detectar posicion perfectamente.  http://www.todopic.com.ar/foros/index.php?topic=19613.20
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfh900 en 11 de Febrero de 2008, 00:28:37
Creo que estáis confundiendo los términos. El acelerómetro lo que puede medir son inclinaciones o movimientos acelerados o desacelerados, pero no movimientos constantes. Por lo tanto no se puede utilizar como un encoder para determinar la posición de un objeto en un espacio tridimensional/bidimensional.

Un saludo
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 11 de Febrero de 2008, 00:40:48
Jesús, creo que si es posible utilizar el acelerometro para detectar la posicion relativa de un objeto, en esta  (http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf?WT_TYPE=Application%20Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation) nota de aplicación del acelerometro, el fabricante presenta un algoritmo de posicionamiento utilizando integrales dobles y simples, aunque el objeto no este en movimiento, la aceleración de la gravedad siempre  esta presente y afectando los tres ejes dependiendo el valor de cada eje podes tener una idea de la posicion relativa del objeto. Pero reitero, no creo que sea como para reemplazar a un encoder.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Cryn en 11 de Febrero de 2008, 00:47:18
 :shock: integrales triples? uuyy y eso con un micro 16f se puede hacer?

dentro aplicaciones en sus hojas de datos, al menos en el de freescale, dice que se lo puede utilizar en robótica, esto puede referirse en cierta forma a la posición?

en movimientos acelerados, la tensión varía y despues veulve a la normal, cierto? y que hay de los movimientos lentos, existe alguna variación?

Guietre, el esquema qeu utilizaste en tus videos, es el qeu propone la hoja de datos??
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 11 de Febrero de 2008, 00:58:11
Perdon, integrales dobles y simples quise poner, ya edito el post anterior. Siguiendo con el tema, la nota de aplicacion dice lo siguiente (intentando traducir al español):

... lo primero para entender este algoritmo es una revisión matemática sobre  la integración. La aceleracion es la rata de cambio de la velocidad de un objeto. Al mismo tiempo, la velocidad es la rata de cambio de la posicion de este mismo objeto. En otras palabras, la velocidad es la derivada de la posicion y la aceleracion es la derivada de la velocidad, entonces: Como la integración es lo opuesto a la derivada, si conocemos la aceleracion de un objeto, podemos obtener su posicion si aplicamos una integral doble (asumiendo condiciones iniciales cero)...

Si Cryn lo único que necesitas para conectarlo son las resistencias en serie y los capacitores en paralelo a la salida de cada eje.
y el algoritmo esta planteado para un micro de 8 bits asi que calculo que se puede hacer sin problemas, tengo que leer toda la nota de aplicación,,, eso va a ser mañana seguramente.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfh900 en 11 de Febrero de 2008, 00:59:13
Jesús, creo que si es posible utilizar el acelerometro para detectar la posicion relativa de un objeto, en esta  (http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf?WT_TYPE=Application%20Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation) nota de aplicación del acelerometro, el fabricante presenta un algoritmo de posicionamiento utilizando integrales dobles y triples, aunque el objeto no este en movimiento, la aceleración de la gravedad siempre  esta presente y afectando los tres ejes dependiendo el valor de cada eje podes tener una idea de la posicion relativa del objeto. Pero reitero, no creo que sea como para reemplazar a un encoder.

Es cierto hasta cierto punto (valga la redundancia), si el objeto alcanza una posición con un movimiento acelerado, si será posible determinar su posición, si conocemos la posición inicial respecto a un sistema de referencia. Aplicando la conocida fórmula:

S=S_{0}+V_{0}*t+1/2*a*t^{2}

Pero si el objeto se mueve con velocidad uniforme no podremos determinar su posición solo con saber la aceleración ya que está es cero.

Por cierto las integrales son simples y dobles para obtener la velocidad y el espacio por integración de la aceleración y de la velocidad respectivamente.

Un saludo

Edito: Te adelantaste con tu post, jejejejejeje
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 11 de Febrero de 2008, 01:21:06
No quiero ser cabeza dura pero por ejemplo si yo pongo el acelerometro quieto sobre la mesa, la salida del eje Z me entrega algo asi como 2.4 [v] lo que refleja que esta midiendo 1[g], es decir la aceleracion de la gravedad que le esta afectando con un ángulo de 0º a ese eje. Ahora si yo inclino el acelerometro, ese valor cambia y si lo pongo boca abajo o a 180º la tensión da algo asi como 0.8[v] y es exactamente 1[g] en el otro sentido. Ahora imagino el acelerometro puesto sobre el eje de un motor girando a velocidad constante y la salida de ese eje también va a ir variando constantemente dependiendo de la inclinación instantanea del eje del motor. Por eso es que me animo a pensar que puede ser posible.... de todas formas mañana con tiempo y menos sueño voy a estudiar bien el caso. Un saludos amigos.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: TitoBlade en 11 de Febrero de 2008, 06:28:59
Le explico que mi intencion es usar un acelerometro biaxial,para medir el angulo de inclinación de una bicicleta.Haciendome uso de la gravedad y habiendo antes colocado el acelerometro paralela al suelo deberia conocer la inclinación de la bicicleta a aprtir de la inclinacion del acelerometro.(dependiendo de en que eje y porporcion actue la fuerza de la gravedad)
Aunque claro ahora pensandolo...el hecho de que la bicicleta pueda tener algun tipo de aceleración en el balanceo afectarian a los calculos...no?

COmo dije antes quiero usar lenguaje ensamblador y mi duda era como configurar el PIC

Gracias y un saludo
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Nocturno en 11 de Febrero de 2008, 07:06:35
No lo podrás hacer sólo con acelerómetros, necesitarás también un giroscopio.

Por cierto, ¿conoces el GyroBike (http://www.thegyrobike.com/)?

Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfh900 en 11 de Febrero de 2008, 08:03:51
No quiero ser cabeza dura pero por ejemplo si yo pongo el acelerometro quieto sobre la mesa, la salida del eje Z me entrega algo asi como 2.4 [v] lo que refleja que esta midiendo 1[g], es decir la aceleracion de la gravedad que le esta afectando con un ángulo de 0º a ese eje. Ahora si yo inclino el acelerometro, ese valor cambia y si lo pongo boca abajo o a 180º la tensión da algo asi como 0.8[v] y es exactamente 1[g] en el otro sentido. Ahora imagino el acelerometro puesto sobre el eje de un motor girando a velocidad constante y la salida de ese eje también va a ir variando constantemente dependiendo de la inclinación instantanea del eje del motor. Por eso es que me animo a pensar que puede ser posible.... de todas formas mañana con tiempo y menos sueño voy a estudiar bien el caso. Un saludos amigos.

Tienes toda la razón respecto a lo que comentas. Pero eso lo que hace es medir inclinación, eso lo realiza perfectamente. El caso es como saber la posición del acelerómetro por ejemplo dentro de una habitación. Si lo muevo desde la puerta  a la ventana, ¿podré hubicarlo?, si y solo sí me he movido con un movimiento acelerado podré detectarlo mediante el acelerómetro, pero si realizo un movimiento constante el acelerómetro ni se enterará.

Un saludo
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfmateos2 en 11 de Febrero de 2008, 08:16:30
Hace cosa de un mes estuve profundizando en este asunto y la conclusión fue la siguiente:

Utilzando sólo un acelerómetro de tres-ejes y conocidas sus condiciones iniciales (posición y velocidad) sería posible, en un mundo ideal, conocer su posición exacta (con dos acelerómetros de 3 ejes podría conocerse también la orientación)  en cualquier instante por integración de las ecuaciones de Newton, logrando así un sistema de navegación inercial sin giróscopo.

Sin embargo, en nuestro mundo real, esto no es posible aún principalmente porque los acelerómetros actuales  (y también los giróscopos) son demasiado inestables, introduciendo en la integración valores erráticos que conducen a fallos de precisión intolerables en la mayoría de las aplicaciones.

Un documento interesante sobre el asunto es éste (http://repositories.cdlib.org/cgi/viewcontent.cgi?article=1563&context=its/path), del que les extraigo sólo una de las conclusiones:

Citar
Since the
data are error-prone, the integration processes lead to errors that grow with
time. So a GF-INS is a rapid diverging system, and indeed its output error
diverges at a rate that is an order faster than that of a conventional gyroscopebased
system. To enhance the performance of a GF-INS, it is thus necessary
to estimate and correct the errors in the INS data by using external reference
data, such as those from the Global Positioning System (GPS). An integrated
GPS/GF-INS system needs to include the error dynamics of the INS data so
that the errors can be estimated, compensated and bounded.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: jfh900 en 11 de Febrero de 2008, 08:33:42
Sigo pensando que se confunde horientación con posición. La horientación se puede conocer, la posición no.

Un saludo
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 11 de Febrero de 2008, 08:55:07
Tito, lamentablemente no puedo ayudarte con el ensamblador.

En la presentacion del acelerometro, en el video muestran que una de las aplicaciones es en dispositivos GPS, muestran una persona caminando con un GPS y en un momento, este se queda sin señal dentro de un edificio y pasa a "modo acelerometro" tomando como posicion inicial las coordenadas actuales provenientes de los satelites y desde ahi las actualiza con el/los acelerometros. Como lo haran (si es que lo hacen) no se.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Nocturno en 11 de Febrero de 2008, 14:50:05
Sabiendo la posición y la velocidad del dispositivo GPS cuando perdió la cobertura, se puede estimar su posición en todo momento sabiendo los cambios que ha sufrido la aceleración por unidad de tiempo.

Lo que yo decía que no se podía hacer, es calcular la inclinación del manillar de la bicicleta con respecto a la vertical con un acelerómetro, si la bicicleta está en movimiento. En estático, conociendo la aceleración de la gravedad, los cambios que se produzcan se pueden relacionar directamente con cambios de inclinación.
Sin embargo, en movimiento estos cambios se producen por dos componentes: inclinación + movimiento. No se pueden separar ambas componentes sin la presencia de otro dispositivo, como el giroscopio que mencionaba.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: TitoBlade en 13 de Febrero de 2008, 17:10:56
Entiendo muchas gracias, es, como dicen efectivamente, imposible con el acelerometro pues esta en movimiento y afecta a la medida de la orientacion (no posicion, siento el error). Es pues he decidido usar un encoder con un pendulo pues al estar bien engrasado el pendulo a este encoder, el movimiento no debria afectar mucho y asi obtener la inclinacion de la bicicleta. Solo me queda saber como programar el encoder.
Conozco que este posee dos canales dependiendo de cual empiece a dar el pulso la bicicleta se movera hacia la izquierda o hacia la derecha y despues se haria opcion de conocer cuantos pulsos.
Sin embargo debido a la naturaleza dinamica de la bicicleta no se muy bien como podria programarlo si me pueden dar una ayuda,bienvenidas sean.

De nuevo gracias por todo de alguien que esta aprendiendo...
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Nocturno en 14 de Febrero de 2008, 07:34:34
Lamento aguarte la fiesta TitoBlade, pero el péndulo te dará exactamente el mismo resultado que el acelerómetro: perfecto en estática, erróneo cuando se mueve. Cuando entres en una curva, la bicicleta adoptará un ángulo sobre el suelo, y él péndulo también, fruto de la inercia.
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: nachox2002 en 14 de Febrero de 2008, 16:45:14
Con un acelerómetro se puede medir la posición de un objeto integrando en el tiempo la señal de los dos ejes. El problema principal que tiene esto es que solo funciona para orientaciones en las cuales el termino de la gravedad se pueda eliminar de la ecuación. Esto es posible de dos formas. Bien si nuestro acelerómetro se situa perpendicular o en el eje de aplicación de la gravedad, con lo cual podríamos eliminar la gravedad de la ecuación e integrar la resultante, o, utilizando un sistema que integra un gíroscopo y un acelerómetro.

Espero haberte servido de ayuda :)
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Cryn en 15 de Febrero de 2008, 17:14:03
hola de vuelta por acá  :mrgreen:

bueno según las experiencias que he tenido, después de haber sufrido mucho con la soldadura :lol: :lol: pues el empaquetado de freescale es diminuto :D :D

he logrado ver que si empiezas en una posición (la hoja de datos tb explica algo, con el pin 1 en la esquina superior izquierda y el integrado parado, es decir la base no apoyada a una superficie, sino un costado lateral apoyado a la superficie, se entendió?) y ves cualquier eje, estos tienen valores de tensión, y si vas rotando el integrado, estos valores cambian, si lo dejas en una posición se queda en un valor de tensión, y así para un giro completo, claro que algunos valores en 180º mas que todo se repiten, peo eso puede verse ya en la programación si ha venido de un valor anterior mayor o menor al actual, y creo que con estos valores se puede lograr obtener una posición de alguna manera, ya que estos valores se repiten a cualquier altura (lo he probado en una planta baja y en el piso de arriba :mrgreen:) podríamos hacer una analogía con un potenciometro qeu variará la tensión en diferentes posiciones, y pues de ahí.. se podría talvez controlar de cierta manera la posición.

aca las imágenes del acelerómetro que se vio en los videos de Guietre en el otro hilo que esta en OFFTOPIC: imágenes que dicen los valores de tensión y que al girar varían de forma analógica, y la posición en la que varían

(http://img201.imageshack.us/img201/8599/01kp8.jpg)

(http://img101.imageshack.us/img101/1697/02ez9.jpg)

Creen que sea correcto? adecuado? o esta descartado :(

un saludo, muchas gracias
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: nachox2002 en 17 de Febrero de 2008, 10:36:45
Tienes toda la razón jfmateos2 que es posible obtener posiciones integrando solamente la información obtenida de los tres ejes de un acelerómetro tri-axial, el principal problema de esto aparte del que ya acertadamente apuntas, respecto al ruido introducido en la medida, es el error introducido por el desacoplo del término de la gravedad necesario para poder discriminar que aceleración es debida. Además del aumento del coste computacional que implica.

Por lo tanto es mucho más sencillo a nivel hardware incorporar unos giróscopos que nos den la posición relativa respecto a los ejes del acelerómetro para poder realizar el cálculo de una forma sencilla.

Uno de los proyectos que llevaba era un sistema de adquisición de acelerometros IMEMS si le quereis echar un vistazo está en una fase beta en :

http://icp.jmcresearch.com/?p=proyectos/adq_v1
Título: algoritmo en matlab para utilizar acelerometro como sensor de posicion
Publicado por: jantoniotk en 24 de Noviembre de 2008, 13:40:13
Buenos amigos, soy nuevo en este foro, acabo de registrarme pues quizas puedan ayudarme con un gran problema que tengo.  Estoy trabajando con una unidad de medida inercial (IMU) el cual esta compuesto por 3 acelerometros y 3 giroscopos para los ejes X,Y,Z y un timer que muestrea los datos cada 0.05 segundos. Este dispositivo me permite capturar los datos de aceleración y velocidad angular que describe el movimiento del elemento en forma relativa. Basicamente necesito desarrollar un algoritmo en matlab, labview, o en algun otro software que me permita interpretar los datos de aceleracion y velocidad angular para determinar la trayectoria que describe el IMU en el espacio con un minimo error y logrando graficarla.  La verdad no soy experto en programacion, pero si alguno de  ustedes halla trabajado con algo similar o si me pueden orientar (variables a considerar, ecuaciones usadas, metodos, etc), les estaria infinitamente agradecido...

Ojala puedan ayudarme....

Graciassssssssssss
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: El_Guitre en 24 de Noviembre de 2008, 19:26:36
Esta es una nota de aplicación de freescale que esta posteada en posts anteriores, podes comenzar por leer sobre eso para los datos del acelerometro, después te seria de mucha ayuda un libro de Física para extraer de ahi las ecuaciones de movimiento.

http://www.freescale.com/files/sensors/doc/app_note/AN3397.pdf?WT_TYPE=Application%20Notes&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=pdf&WT_ASSET=Documentation
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: chachi en 23 de Enero de 2010, 13:36:06
Estimado Jantoniotk
Que bueno que ya tengas una IMU antes de empezar a programar el software para utilizarla.
Yo tuve que realizarla luego de un tiempo de aventurarme en Navegación Inercial.(adjunto las fotos de mi IMU abajo)

Lo que te aconcejo es que empieces a buscar informacion sobre Navegación Inercial, que es lo que vos queres hacer. Se trata de poder determinar parámetros como posición, actitud, velocidad,etc con sensores Inerciales, como lo son los acelerómetros y Giróscopos.
En mi IMU, monté un acelerómetro Triaxial (placa horizonatal de abajo), tres giróscopos posicionados ortogonalmente(solo se muestra uno en la foto, puesto en una de las paredes de la IMU) y un Receptor de GPS marca Parallax( placa horizontal de arriba).
LO que he hecho hasta ahora es poder determinar la Actidud de un helicoptero de 3DOF. pero con esa imu podes determinar mediantes estos algoritomos de navegación todos los parámetros que te nombre antes.

yo realicé primero todas las simulaciones en Matlab  y luego lo aplique en tiempo Real en labview 8.6 y ahora el 2009.

como punto de partida diría que empices leyendo los apuntes que tiene la universidad de BS (la UBA) sobre navegacion inercial.
contame como venis y en que etapa estas.
saludos a todos
Título: Re: Uso acelerometro como sensor de posicion
Publicado por: Jlopez en 02 de Octubre de 2010, 10:20:07
Buenas, soy estudiante de ingeniería técnica de telecomunicaciones y para el proyecto final de carrera voy a tener que usar un sistema de navegación inercial ayudado con un GPS.
Tengo más o menos claro como debería (en teoría) construir la Unidad de Medida Inercial, un acelerometro de 3 ejes (para ahorrar peso y componentes) y 3 giróscopos. El problema es que con las integrales que hay que realizar y los cálculos los errores se acumulan y al cabo de cierto tiempo son inaceptables.

Y aquí viene mi problema: habría que aplicar un filtro kalman que fuese corrigiendo esos errores y luego unirlos a los datos provenientes del GPS.

1.- No tengo ni idea de como implementar un filtro kalman en un microcontrolador. Cuando leo sobre el filtro kalman todo me suena a royo macabeo y solo alcanzo a entender a muy grandes rasgos y por encima que es lo que hace.

2.- Tampoco se como juntarlos con los datos del GPS. El propio GPS tiene errores de medida y no me da los datos con la misma frecuencia que la UMI.

Si tenéis alguna idea al respecto os lo agradecería enormemente. No hace falta que sean instrucciones precisas. Simplemente alguna guía, diagrama de bloques general o algo, estoy más perdido que la dignidad de un político  :(

1Saludo a to2!!
PD. Es la primera vez que posteo en este foro, aunque llevo mucho tiempo leyéndoos. Si este mensaje no esta en el lugar adecuado indíqueme lo por favor y disculpen las molestias.