Los sensores inerciales se utilizan para detectar el movimiento lineal y rotacional de un objeto. Hay dos tipos de sensores inerciales: acelerómetros que detectan aceleración lineal y giroscopios que detectan movimiento de rotación. Los acelerómetros y giroscopios se utilizan ampliamente en una variedad de aplicaciones, incluidas la aeroespacial, militar, automotriz, teléfonos celulares y electrónica de consumo. Por ejemplo, en los teléfonos móviles, los sensores giroscópicos y acelerómetros se utilizan para aplicaciones de rotación de pantalla, juegos, realidad virtual y realidad aumentada. En los automóviles, el acelerómetro y el giroscopio se utilizan para la detección de vuelcos del vehículo, control de liberación de bolsas de aire, ABS, suspensión activa, control de tracción y control de cinturones de seguridad. Muchas aplicaciones militares, como munición inteligente, control de vuelo, etc., también utilizan estos sensores. En aplicaciones aeroespaciales, estos sensores se utilizan para medir la microgravedad y monitorear el movimiento y la rotación de equipos/dispositivos.
Cada aplicación requiere un acelerómetro o giroscopio con especificaciones específicas. Ningún sensor de acelerómetro o giroscopio puede satisfacer todas las aplicaciones. Estos sensores siempre se utilizan en algunos sistemas de control electrónico, ya que los meros valores de aceleración y rotación de un objeto son inútiles.
ADXL345 es un pequeño acelerómetro de 3 ejes con rango dinámico de +/- 16 g con resolución de 13 bits, ancho de banda máximo de 3200 Hz y velocidad máxima de transferencia de datos de 3200 veces por segundo. Es un sensor acelerómetro digital y produce valores de aceleración digitales en tres ejes. El sensor genera datos formateados en complemento a dos de 16 bits a los que se puede acceder a través de interfaces SPI o I2C. Este sensor tiene un consumo de energía ultrabajo y consume solo 23 uA en modo de medición y 0,1 uA en modo de espera.
ADXL345 tiene resolución y rangos de medición seleccionables por el usuario que se pueden seleccionar pasándole comandos en serie. El sensor también admite modos de interrupción flexibles que se pueden asignar a cualquiera de sus dos pines de interrupción. ADXL345 tiene varias funciones de detección integradas que se pueden asignar a los pines de interrupción. Tipo, tiene funciones de detección de caída libre y detección de tacto. El ADXL345 puede detectar la presencia o falta de movimiento comparando los valores de aceleración con umbrales definidos por el usuario.
El ADXL345 mide la aceleración estática debida a la gravedad, así como la aceleración dinámica resultante del movimiento o impacto. Los sensores vienen en un encapsulado LGA de 14 conductores con unas dimensiones de sólo 3 mm x 5 mm x 1 mm. Este sensor se puede utilizar en aplicaciones de dispositivos móviles como teléfonos móviles, teléfonos inteligentes, dispositivos de juegos, dispositivos señaladores, dispositivos de navegación personal, protección de discos duros e instrumentación médica e industrial.
Comprensión de las especificaciones técnicas del ADXL345
El sensor acelerómetro ADXL345 tiene las siguientes especificaciones técnicas:
Rango de medición : el sensor ADXL345 puede medir la aceleración en tres ejes utilizando un rango seleccionable por el usuario de +/-2 g, +/-4 g, +/-8 gy +/-16 g. Cuanto más amplio sea el rango de medición, mayor será la aceleración que podrá detectar un acelerómetro. Con un rango de medición de +/-2 g seleccionado, el ADXL345 puede medir una aceleración de hasta 19,6 m/s 2 (2 * 9,8 m/s) en cualquier dirección a lo largo de cada eje. Con un rango de medición de +/-16 g seleccionado, el ADXL345 puede medir una aceleración de hasta 153,6 m/s 2 (16 * 9,8 m/s) en cualquier dirección a lo largo de cada eje.
Resolución de salida : ADXL345 admite una resolución de salida de 10 bits para un rango de medición de +/- 2 g, 11 bits para +/- 4 g, 12 bits para +/- 8 g y 13 bits para +/- 16 g. La resolución predeterminada es de 10 bits para todos los rangos de medición.
Sensibilidad : con una resolución estándar de 10 bits, el ADXL345 tiene una sensibilidad típica de 3,9 mg/LSB para el rango de medición estándar (es decir, +/- 2 g), 7,8 mg/LSB para +/- 4 g, 15,6 mg/LSB para +/ - 8 gy 31,2 mg/LSB para un rango de medición de +/- 16 g. Esto significa que ADXL345 con la resolución predeterminada de 10 bits seleccionada puede detectar un cambio de aceleración mínimo de 3,822 cm/s 2 (3,9 * 9,8/1000 * 100) para +/- 2 g, 7,64 cm/s 2 para +/- 4 g, 15,28 cm /s 2 para +/- 8 g y 30,57 cm/s 2 para un rango de +/- 16 g.
Velocidad de datos de salida y ancho de banda : la velocidad de datos de salida y el ancho de banda del sensor se pueden seleccionar. La velocidad de datos de salida puede oscilar entre 0,1 Hz (una vez cada 10 segundos) y 3200 Hz (3200 veces por segundo).
Voltaje y corriente de funcionamiento : el sensor requiere un voltaje de funcionamiento de 2,5 V que puede variar de 2,0 V a 3,6 V. Consume aproximadamente 30 uA para velocidades de transferencia de datos inferiores a 10 Hz y aproximadamente 140 uA para velocidades de transferencia de datos superiores a 100 Hz. .
Rango de temperatura de funcionamiento : ADXL345 tiene un rango de temperatura de funcionamiento de -40 ˚C a +85 ˚C.
Clasificaciones máximas : ADXL345 puede tolerar golpes o aceleraciones de hasta 10.000 g (98 km/s 2 ). Puede tolerar voltajes de hasta 3,9 V y soportar temperaturas de hasta +105 ˚C.
Descripción del pin ADXL345
ADXL345 viene en un paquete de 14 conductores con el siguiente diagrama de pines:
El sensor acelerómetro ADXL345 tiene la siguiente descripción de pin:
El sensor puede estar disponible como un módulo donde todos o algunos pines pueden estar disponibles para interconectarse con un circuito. En el módulo de sensor que se muestra a continuación, solo están disponibles para su uso los pines necesarios para interactuar con un circuito (I2C, SPI, interrupciones y fuente de alimentación). Otros pines están conectados al módulo, como resistencias pull-up para líneas I2C.
Cabe señalar que los ejes de aceleración están indicados en el módulo. De lo contrario, los ejes de aceleración se pueden encontrar en relación con la vista superior del sensor, como se muestra a continuación:

Ejemplo de eje del sensor del acelerómetro ADXL345.
El sensor ADXL345 es sensible tanto a la aceleración estática (aceleración debida a la gravedad) como a la aceleración dinámica (aceleración resultante del movimiento o impacto). El sensor tiene la respuesta de salida, como se muestra en la imagen a continuación, en relación con su orientación con respecto a la gravedad.

Respuesta de salida ADXL345 a la orientación de la gravedad.
Características de rendimiento del ADXL345
Las características de rendimiento del ADXL345 están disponibles como gráficos para compensación de gravedad cero, sensibilidad y respuesta de autoprueba. Se proporcionan gráficos para la respuesta del sensor para todos los ejes. Por ejemplo, el siguiente gráfico muestra el desplazamiento de gravedad cero en el eje x 25˚C, 2,5 V.

Características de rendimiento del ADXL345
En el gráfico, el desplazamiento de gravedad cero se indica en mg (0,98 cm/s 2 ) y el porcentaje de población indica el porcentaje de muestras de sensores bajo prueba. De manera similar, la sensibilidad se muestra como el número de LSB por g para cada eje.

Características de rendimiento del ADXL345.
Con la resolución de salida del ADXL345 predeterminada a 10 bits, podemos concluir que el cambio en la aceleración del objeto en el que está montado el ADXL345 debe ser al menos de 3,822 cm/s 2 a +/- 2 g o 7,64 cm/s 2 para +/- 4 g o 15,28 cm/s 2 para +/- 8 g o 30,57 cm/s 2 para +/- 16 g rango de medición para un cambio de 1 bit (LSB) en la respuesta del sensor.
Cómo funciona el sensor ADXL345
ADXL345 es un acelerómetro de 3 ejes que detecta la aceleración estática (debido a la gravedad) y la aceleración dinámica (debido al movimiento o impacto). Por tanto, puede utilizarse como sensor de inclinación o para detectar caída libre. Es un acelerómetro MEMS que consta de una estructura superficial de polisilicio micromecanizada construida sobre una oblea de polisilicio. Es un sensor acelerómetro capacitivo. Resortes de polisilicio suspenden la masa de prueba y se utilizan condensadores diferenciales entre la masa de prueba y la estructura fija para medir la aceleración. Cualquier aceleración a lo largo de un eje desvía la masa de prueba y desequilibra el capacitor diferencial, lo que resulta en una respuesta del sensor que es directamente proporcional a la aceleración. La demodulación sensible a la fase se utiliza para determinar la magnitud y la polaridad de la aceleración.
El sensor se puede conectar a un controlador/computadora integrado mediante la interfaz I2C o SPI. Usando interfaces seriales (I2C/SPI de 4 cables/SPI de 3 cables), un controlador/computadora puede leer y escribir en los registros internos del sensor. ADXL345 tiene el siguiente diagrama de bloques funcional.

Diagrama de bloques funcionales del sensor acelerómetro ADXL345.
El sensor tiene los siguientes registros que un controlador/computadora puede leer/escribir en interfaces seriales:
Al escribir datos en los registradores, el controlador/computadora puede seleccionar el rango de medición, el formato de los datos, la resolución y controlar las interrupciones y las funciones de detección (golpes, caída libre y límites). Un controlador/computadora puede leer la aceleración leyendo valores de los registros 0x32 a 0x37.
Configuración de ADXL345 y lectura de valores de aceleración
A continuación se enumeran algunos pasos sencillos para leer la aceleración del sensor ADXL345.
- Configure el modo de energía y la velocidad de transferencia de datos escribiendo en el registro 0x2C. Este registro tiene los siguientes bits:
Si el bit LOW_POWER se establece en 0, el ADXL345 opera en modo normal, y si se establece en 1, el ADXL345 opera en modos de potencia reducida, en los que hay mayor ruido. Los bits D3 a D0 seleccionan la velocidad de transferencia de datos según la siguiente tabla:
- Configure el formato de datos escribiendo en el registro 0x31. Este registro tiene los siguientes bits:
Si el bit de AUTOPRUEBA se establece en 1, se aplicará una fuerza de autoprueba al sensor, lo que provocará un cambio en los datos de salida. Si se establece en 0, se desactivará la intensidad de la autoprueba. Si el bit SPI se establece en 1, el ADXL345 utilizará el modo SPI de 3 cables; de lo contrario, si se establece en 0, utilizará el modo SPI de 4 cables. Si el bit INT_INVERT se establece en 0, establece las interrupciones en activa alta, y si se establece en 1, establece las interrupciones en activa baja. Si el bit FULL_RES se establece en 1, el sensor genera el valor de resolución completa (10 bits para +/- 2 g; 11 bits para +/- 4 g; 12 bits para +/- 8 g; 13 bits para +/- 16 g). de lo contrario, si se establece en 0, se utilizará el valor predeterminado de 10 bits. Si el bit de justificación se establece en 1, los valores de aceleración en los registros 0x32 a 0x37 están justificados a la izquierda; de lo contrario, si se establece en 0, los valores estarán justificados a la derecha. La siguiente imagen muestra el formato de datos de los registros de valores de datos con justificación izquierda y derecha y la posición de LSB o MSB en consecuencia para diferentes rangos de medición:

Ejemplos de respuesta de salida justificada hacia la izquierda y hacia la derecha del sensor acelerómetro ADXL345.
Los bits de rango D1 y D0 seleccionan el rango de medición de acuerdo con la siguiente tabla:
- Si el bit de enlace se establece en 1, las funciones de actividad e inactividad se vinculan en serie (la función de actividad se retrasa hasta que se detecta la función de inactividad). En caso contrario, si se pone a 0, ambas funciones serán simultáneas. La función inactiva se refiere a una situación en la que la aceleración está por debajo del valor THRESH_INACT (registro 0x25) durante al menos el tiempo indicado por TIME_INACT (registro 0x26). Configure las funciones de ahorro de energía escribiendo en el registro 0x2D. Este registro tiene los siguientes bits:
Si el bit de enlace está configurado y el bit AUTO_SLEEP está establecido en 1, se habilita la funcionalidad de suspensión automática. En este modo, el ADXL345 cambia automáticamente al modo de suspensión si la función de suspensión está habilitada y se detecta inactividad. Si la actividad también está habilitada, el ADXL345 se despierta automáticamente del modo de suspensión al detectar actividad y vuelve a funcionar a la velocidad de datos de salida definida en el registro BW_RATE. Si el bit AUTO_SLEEP se establece en 0, deshabilita el cambio automático al modo de suspensión. Si el bit de enlace no está configurado, la función AUTO_SLEEP está deshabilitada y la configuración del bit AUTO_SLEEP no tendrá ningún impacto en el funcionamiento del dispositivo.
Si el bit de medición se establece en 1, el ADXL345 funcionará en modo de medición. De lo contrario, si se establece en 0, el ADXL345 funciona en modo de espera. Si el bit de suspensión se establece en 1, el ADXL345 funcionará en modo de suspensión; de lo contrario, si se establece en 0, el ADXL345 funcionará en modo normal. El modo de suspensión suprime DATA_READY, detiene la transmisión de datos a FIFO y cambia la frecuencia de muestreo a la especificada por los bits de habilitación. En el modo de suspensión, solo se puede utilizar la función de actividad. Los bits de habilitación controlan la frecuencia de lectura en modo de suspensión según la siguiente tabla:
- Lea la aceleración a lo largo del eje x leyendo los registros 0x32 y 0x33; aceleración a lo largo del eje Y leyendo los registros 0x34 y 0x35; y aceleración a lo largo del eje Z mediante la lectura de los registros 0x36 y 0x37.
Enmascare los valores de registro según el formato de datos seleccionado (registro 0x31) e interprete el valor de aceleración según el rango de medición seleccionado.
Uso de valores de aceleración ADXL345
Los valores de aceleración a lo largo de los ejes X, Y y Z del sensor acelerómetro ADXL345 se pueden utilizar para detectar inclinación, caída libre y movimiento dinámico de un objeto. El sensor debe montarse en el objeto en estudio. Los valores de aceleración se pueden utilizar simplemente para detectar movimiento o incluso para determinar la trayectoria del objeto.
La velocidad a lo largo de cada eje se puede determinar integrando los valores de aceleración. La doble integración de los valores de aceleración puede determinar el desplazamiento del objeto a lo largo de cada eje. Cabe señalar que la integración y doble integración de los valores de aceleración solo se puede realizar utilizando herramientas informáticas científicas como la biblioteca SciPy en scripts de Python. Aun así, debemos considerar los errores, ya que puede haber múltiples fuentes de error, como un muestreo inconsistente de datos, errores en los datos muestreados, errores debidos al cálculo, etc. Generalmente, los valores de desplazamiento o velocidad se pueden predecir con precisión limitada y con un rango limitado en un programa de usuario con el sensor ADXL345.
Sin embargo, los valores de aceleración del sensor ADXL345 se pueden utilizar perfectamente en sistemas de control electrónico donde se utilizan meros valores de aceleración para la toma de decisiones.