Autor Tema: Relacionar tiempo con dato de ADC  (Leído 1748 veces)

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

Desconectado noral

  • PIC10
  • *
  • Mensajes: 17
Relacionar tiempo con dato de ADC
« en: 26 de Mayo de 2014, 20:46:30 »
Hola a todos de nuevo,

En mi pelea personal con el proyecto que estoy desarrollando (un acelerómetro a un PIC24FJ128GC010 para medir un movimiento lineal) me encuentro en la siguiente situación.

Necesito relacionar cada muestra recogida por el ADC a un tiempo para después poder calcular velocidades y distancias recorridas. El problema es que no sé ni por donde empezar  :8} :8}

La relación que busco seria algo así:

Muestra          Dato ADC        Tiempo
1                       512                0
2                       600                0.125s
...                      ....                 ....
n                        n                   n


Podrían darme alguna idea?

Muchas gracias de antemano!


Editado: se me olvidaba informaros que estoy utilizando CCS como compilador.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Relacionar tiempo con dato de ADC
« Respuesta #1 en: 27 de Mayo de 2014, 00:49:10 »
Hola, primero debes convertir tu lectura del ADC en la aceleración equivalente, esto viene en la hoja de especificaciones de tu acelérometro, con esto debes poder convertir el voltaje leído en un valor de aceleración.

una vez que tienes esto para obtener tus velocidades, debes integrar el valor de tu aceleración, para esto necesitas una condición inicial, por ejemplo

en el tiempo 0, tu velocidad y posición son 0, si tienes tu primer lectura obtienes 1m/s^2, entonces para tu segunda lectura, después de 0.5 s, tu velocidad será

V1=V0+A0*dt = 0 + 1*0.5=0.5

para tu segunda lectura tienes una aceleración de 2m/s^2 y el tiempo de muestreo es el mismo, entonces

V2=V1+A1*dt = 0.5 + 2*0.5=1.5

y asi continuas, en general u velocidad actual será la velocidad anterior mas la aceleración actual por el tiempo entre la muestra anterior y la actual para obtener la posición el método es igual, pero ahora integras la velocidad.

debes considerar que tu aceleración también puede ser negativa, lo que haría que tu velocidad disminuya

La explicación es un poco burda, pero espero te sea de utilidad para empezar, si necesitas una explicación mas detallada puedes preguntar e intentaré ayudarte


Saludos

"Nada es imposible, no si puedes imaginarlo"

Desconectado noral

  • PIC10
  • *
  • Mensajes: 17
Re: Relacionar tiempo con dato de ADC
« Respuesta #2 en: 27 de Mayo de 2014, 18:14:38 »
Gracias por la respuesta Rivale! Aunque creo que no me sirve pues necesito medidas más exactas, por eso lo de querer el tiempo relacionado a la muestra. AGRADEZCO igualmente tu tiempo ;)

Quizás con un timer? O me estoy confundiendo totalmente?

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Relacionar tiempo con dato de ADC
« Respuesta #3 en: 27 de Mayo de 2014, 18:18:29 »
Supongo que lo quieres para odometría.

Las ecuaciones que te puse son como ejemplo, pero el cálculo es el mismo sin importar como generes tu tiempo de muestreo.
lo ideal es usando interrupciones y generando un tiempo fijo, puedes usar un timer para que cada cierto tiempo calcules la velocidad actual, entre menor sea tu tiempo de muestreo mas exacta será tu medición, sin embargo, debes considerar que entre una muestra y otra es necesario que el uC sea capaz de realizar las operaciones necesarias antes de la siguiente muestra
"Nada es imposible, no si puedes imaginarlo"