jueves, 8 de agosto de 2013

Funcionamiento del Acelerómetro ADLX345



En este post mostrare un ejemplo de como poner en funcionamiento el acelerómetro digital de 3 ejes ADLX345.
Este acelerómetro cuenta con una resolución de 13 bits, y puede medir hasta ±16 g. La salida digital es de 16 bits en complemento a dos y puede ser obtenida mediante los protocolos SPI ó I2C.
ADXL345
Al ADLX345 se puede encontrar en aplicaciones móviles. Este puede medir la aceleración estática de la gravedad para medir indirectamente inclinaciones, también se puede medir la aceleración dinámica producto de un movimiento o choque. Su alta resolución (3.9mg/LSB) permite medir cambios en inclinación menores a 1.0°.
ADXL345_image

El ejemplo es desarrollado usando C++ en el ATMEL STUDIO 6.1. Se usa el protocolo I2C con dirección de esclavo 0x53 (pin ALT ADDRESS a GND).
Para configurar el ADLX345 hay que realizar tres operaciones básicas en tres de sus registros.
1.- En el registro 0x31—DATA_FORMAT— se debe configurar la resolución de bits y el rango de medición.
2.- En el registro 0x2C—BW_RATE— se debe configurar el ancho de banda y la velocidad de salida de los datos.
3.- En los registro 0x1E, 0x1F, 0x20—OFSX, OFSY, OFSZ— se debe setear offset par cada eje.
Antes de realizar estas operaciones ponemos en ADLX345 en standby, y al finalizar volver al modo de medición.
Luego se leerán los registros de datos y se enviaran hacia el computador.

Aquí se muestra un ejemplo del programa.






Los datos pueden ser leídos con cualquier programa que tenga acceso al puerto serie (tal como hyperterminal).

Para recibir los datos y hacer los cálculos de gravedades y ángulos de inclinación desarrolle un programa en visual c#, el que se muestra abajo. Aquí se pueden ver los datos recibidos, la cantidad de gravedad en cada eje, y la inclinación de los tres ejes con respecto a la gravedad.
ADXL345


Los cálculos se realizan como sigue:

image

El Factor depende de la resolución y rango con que se configuro el dispositivo. Por ejemplo para 10 bits de resolución y ±2g de rango el factor es 0.00390625.

image
Las componentes, en gravedades, de cada eje están dadas por las ecuaciones anteriores. Xout, Yout y Zout son los datos, en complemento a dos, obtenidos del ADLX345. Por ejemplo si Xout=44, Yout=200, Zout=161 entonces Gx=0.171875, Gy=0.78125, Gz=0.62890625.
image
La resultante de éstas componentes, usando la ecuación anterior, debe ser 1g. Usando los datos anteriores G=1.017553758.
image
Los respectivos ángulos de inclinación, con respecto a la vertical o a la gravedad, de cada eje son calculados usando las ecuaciones anteriores. Usando los datos anteriores los ángulos de inclinación de cada eje son 9.89°,  51.37° y 38.96°.
COMO CALIBRAR EL ADLX345
El procedimiento de calibración del ADLX345 es muy sencillo, solo debemos colocar el acelerómetro en posición horizontal ( es decir, que toda la gravedad se encuentre sobre el eje Z). En esta posición se debe tomar una cierta cantidad de datos, pueden ser 100 o 200 datos, luego se debe promediar los datos correspondientes a cada eje.
image
El valor que se debe aplicar a los registros de calibración se calculan como sigue:
image
Espero este post los ayude en algo.
Hasta pronto !!!.

No hay comentarios:

Publicar un comentario