Tengo varias cosas que decir aquí, y algunas de ellas implican estar de acuerdo con pingswept y algunas con penjuin.
cr3000
El muestreo cr3000 a 16 bits y 100 Hz va a tomar muestras un poco lentas para que pueda eliminar fácilmente el ruido de sus datos, pero con una precisión significativamente mayor será utilizable. Dudo que pueda obtener 13 o 14 bits de precisión sin algunos algoritmos de filtrado bastante buenos. Los acelerómetros me han enseñado que la vibración es el demonio, los malditos fonones.
Condensador de salida
Debe asegurarse de hacer lo que dice la hoja de datos y lo que dice la teoría de la señal. Para citar la hoja de datos:
La salida del ADXL103 / ADXL203 tiene un ancho de banda típico de 2.5 kHz. El usuario debe filtrar la señal en este punto para limitar los errores de alias. El ancho de banda analógico no debe ser más de la mitad de la frecuencia de muestreo de analógico a digital para minimizar el alias. El ancho de banda analógico puede reducirse aún más para reducir el ruido y mejorar la resolución.
Esto significa que debe elegir un condensador para mantener su frecuencia por debajo de 50Hz. Si lo coloca sobre esto, puede obtener alias, y el alias hace que el ruido de vibración sea un demonio con el que firmó un acuerdo. Indican cómo calcular los niveles de ruido del dispositivo, y en un ancho de banda de 50Hz, un ruido pico a pico de .006 * La gravedad ni siquiera se notará si tiene esto en un dispositivo con vibraciones.
Interpretando datos
Esto es probablemente lo que más le interesa y es relativamente fácil de hacer. Debe marcar el momento en que el dispositivo está en punto muerto, esto es cuando está plano y lo tiene relativamente quieto. Déle uno o dos segundos en este punto, y luego puede tomar la mediana de estos datos para determinar el voltaje no-G. Luego puede usar esto como un punto con el que compara el dispositivo. Ahora, desde este punto, puedo citar directamente la hoja de datos:
Cuando el acelerómetro es perpendicular a la gravedad, su salida cambia casi 17.5 mg por grado de inclinación .
Por lo tanto, simplemente puede usar esta aproximación si no va a inclinar demasiado, pero necesitará usar la geometría si planea inclinar en ambas direcciones y en ángulos que no son extremadamente pequeños.
Si vas a ir más grande, incluso tienen las ecuaciones enunciadas como:
PASO = ASIN (AX / 1 g)
ROLLO = ASIN (AY / 1 g)
Por lo que puedo decir, su dispositivo da un cambio de 1V por 1G de aceleración colocado en él. Si ha realizado la fase de calibración, entonces debería ser capaz de tomar mediciones, restar el desplazamiento y tener la cantidad de G que se está experimentando.
Deje de leer aquí a menos que tenga problemas o desee obtener más información para mejorar el enfoque.
Agregué un poco más de hablar sobre otros enfoques y métodos para mejorar su enfoque para sistemas que cambian rápidamente o sistemas donde va a programar el dispositivo haciendo las muestras.
Frecuencia de muestreo
Debe tomar muestras significativamente más rápido que la velocidad a la que su dispositivo cambia las direcciones en las que acelera, ya que debe medir la orientación 20-30 veces por segundo. necesita poder medir lo suficientemente rápido como para filtrar el ruido de vibración y la aceleración debido a otros efectos, que he encontrado que son bastante grandes cuando trabajo con un acelerómetro.
Acelerómetro de 3 ejes
En segundo lugar, si tiene un acelerómetro de tres ejes, puede reconocer con bastante facilidad cuándo un eje está perdiendo parte de la aceleración debido a la gravedad (es decir, cuando el eje z tiene una caída de magnitud de 2 m / s ^ 2, sabe que el La ganancia que viste en el otro eje es la gravedad). Esto seguirá siendo complicado, pero en general habrá una adición de aceleración que le dará la velocidad necesaria para cambiar su orientación y luego un cambio en la aceleración debido al cambio de orientación, lo que a menudo le permite reconocer la orientación.
Problemas con 2 ejes
Esto será, como dijo Penjuin, casi imposible con un acelerómetro de 2 ejes y, en el mejor de los casos, incompleto si tiene un sistema que puede tener 20-30 orientaciones diferentes por segundo, o si necesita tener una medida exacta de orientación en todo el tiempo. Estoy seguro de que un estudiante de maestría podría escribir una tesis bastante buena sobre esto, o un Doctorado podría escribir una disertación sobre cómo mejorar este algoritmo.
Ruido de vibración
Para agregar más, si puede colocar su dispositivo encima de algo que lo mantendrá estáticamente bloqueado al movimiento de su dispositivo, pero amortigua la vibración, obtendrá números mucho mejores y no necesitará tanto filtrado de software. Se puede colocar un relleno de espuma simple entre el acelerómetro y su dispositivo, y si es digital, esto no debería aumentar el ruido eléctrico y ayudar a absorber algo de ruido de vibración. Esto solo debe hacerse si ve problemas con el ruido de vibración.
Acelerómetro digital
Sugeriría un acelerómetro digital al que pueda usar SPI para conectarse. Los datos se pueden sincronizar a una velocidad muy muy alta y puede trabajar en segundo plano ya que su SPI realiza el trabajo constante de cargar el siguiente conjunto de valores. Necesitará tener un buen microcontrolador si se va a hacer digitalmente. Si me puede dar mejores detalles sobre lo que quiere hacer, puedo darle mejores comentarios. Si desea una advertencia basada en la detección de inclinación, debería ser muy fácil de hacer con todos los analógicos, pero si desea medir la posición y el ángulo del equipo durante la operación, prepárese para un poco de trabajo.
Avíseme si hay algo que pueda agregar para que esta respuesta sea más clara o aplicable a lo que estaba buscando.