acelerometro aplicaciones

Cómo se aplican los acelerómetros


Que es un acelerómetro

Los acelerómetros son dispositivos que miden la aceleración, es decir, la velocidad de cambio de un objeto. Esto se mide en metros por segundo al cuadrado (m/s²) o en fuerzas G (g).  La gravedad por sí sola equivale a 9,8 m/s² para nosotros aquí en el planeta Tierra, pero esto varía ligeramente con la altura (y será diferente en los distintos planetas debido a la diferente fuerza gravitatoria). Los acelerómetros son útiles para detectar las vibraciones en los sistemas o para aplicaciones de orientación.


Ejes de medición de un acelerómetro triaxial

 ¿Cómo funciona un acelerómetro?

Los acelerómetros son dispositivos electromecánicos que miden las fuerzas de aceleración estáticas o dinámicas. Las fuerzas estáticas incluyen la gravedad, mientras que las dinámicas pueden incluir la vibración y el movimiento.
Los acelerómetros pueden medir la aceleración en uno, dos o tres ejes.  Los acelerómetros de tres ejes son cada vez más comunes a medida que disminuyen los costos de producción.

 En general, los acelerómetros contienen internamente placas capacitivas. Algunos de ellos son fijos, mientras que otros están unidos a pequeños resortes que se mueven internamente cuando se aplican fuerzas de aceleración al sensor. A medida que estas placas se mueven en relación con las demás, la capacitancia entre ellas cambia. La aceleración puede determinarse a partir de estos cambios de capacidad.



Sistema microelectro-mecánico para la aceleración de un eje


Otros acelerómetros pueden centrarse en materiales piezoeléctricos. Estas pequeñas cargas eléctricas emiten estructuras cristalinas cuando se someten a un esfuerzo mecánico (por ejemplo, la aceleración).


Sistema con carga mecánica.


En la mayoría de los acelerómetros, las conexiones básicas necesarias para su funcionamiento son las líneas de energía y de comunicación. Como siempre, lea la hoja de datos para la conexión correcta.


Cómo conectar un acelerómetro

Para la mayoría de los acelerómetros, las conexiones básicas requeridas para su funcionamiento son las líneas de energía y de comunicación. Como siempre, lea la hoja de datos para la conexión correcta.


Interfaz de comunicación

Los acelerómetros se comunican a través de una interfaz analógica, digital o con modulación de ancho de pulso (pwm).

Los acelerómetros con interfaz analógica proporcionan un voltaje proporcional a la aceleración en cada uno de sus ejes (es uno de 3 ejes), que normalmente varía entre la masa y el valor de suministro de Vcc.  Normalmente son más baratos que los digitales y son mucho más fáciles de usar por el momento, pero veremos por qué.

Los acelerómetros con una interfaz digital pueden comunicarse a través de protocolos de comunicación SPI o I2C. Estos suelen tener más funcionalidad y son menos propensos al ruido que los acelerómetros analógicos.

Los acelerómetros con modulación de ancho de pulso (PWM) emiten sus salidas de onda cuadrada con un período conocido, pero el ciclo de trabajo varía con los cambios en la aceleración.


Poder

Los acelerómetros son generalmente dispositivos de bajo consumo de energía. La corriente requerida típicamente cae en el rango de micro ( μ ) o miliamperios, con un voltaje de suministro de 5 V o menos. El consumo de energía puede variar dependiendo de la configuración (por ejemplo, el modo de ahorro de energía en comparación con el modo de funcionamiento estándar). Estos diferentes modos hacen que los acelerómetros sean muy adecuados para aplicaciones con baterías.

Asegúrate de que los niveles lógicos del acelerómetro y del microcontrolador coinciden, especialmente los digitales, de lo contrario puedes dañar el sensor.


2.CÓMO SELECCIONAR UN ACELERÓMETRO

Antes de decidirnos a utilizar un acelerómetro, debemos considerar varios requisitos, los más importantes de los cuales son el nivel de potencia y el tipo de comunicación discutidos anteriormente (ver nuestros tutoriales sobre el uso de las interfaces digitales . A continuación se enumeran otras características que deben tenerse en cuenta.

Alcance

La mayoría de los acelerómetros tienen un rango seleccionable de fuerzas que pueden medir. Estos rangos pueden variar de ± 1g a ± 250g. En general, cuanto más pequeño es el rango, más sensible es. Por ejemplo, la medición de pequeñas vibraciones en una mesa con un acelerómetro de corto alcance proporciona datos más detallados que el uso de un acelerómetro de 250g (que es más adecuado para los cohetes).

 Características adicionales

Algunos acelerómetros tienen características como la detección de golpes (útil para aplicaciones de baja potencia), la detección de caída libre (para permitir la protección del disco duro), la compensación de temperatura (para aumentar la precisión en situaciones de alto riesgo) y la detección de 0g. La necesidad de esas características en el acelerómetro está determinada por la aplicación en la que se instala el acelerómetro.

Este acelerómetro puede ser configurado para realizar mediciones entre ±1,5g y ±6g, entre otras cosas.

GUÍA DEL COMPRADOR PARA UNO DE NUESTROS ACELERÓMETROS

Acelerómetro.
¿Qué mide un acelerómetro? Bueno, aceleración. Ya sabes... cómo algo rápido se acelera o desacelera. Como puede ver, la aceleración se mide en metros por segundo al cuadrado ( m/s² ) o en fuerza G ( g ), que es aproximadamente 9,8 m/s²; ( el valor exacto depende de su altura y de la masa del planeta en el que se encuentra ).

Los acelerómetros se utilizan para medir tanto la aceleración estática (por ejemplo, la gravedad) como la dinámica (por ejemplo, los arranques y frenazos repentinos). Una de las aplicaciones más comunes de los acelerómetros es la detección de inclinación. Debido a que se ven afectados por la aceleración de la gravedad, un acelerómetro puede decirte cómo te estás orientando en relación con la superficie terrestre. Por ejemplo, el iPhone de Apple, o mejor aún, el lumia 925 de Nokia tiene un acelerómetro que te permite saber si son verticales u horizontales.

También se puede utilizar un acelerómetro para detectar el movimiento; por ejemplo, en el WiiMote de Nintendo, se puede utilizar un acelerómetro para detectar golpes de derecha y de revés imitando los golpes de una raqueta de tenis o el giro de una bola de bolos. Por último, un acelerómetro también puede utilizarse para detectar si un dispositivo está en caída libre. Esta característica se implementa en varios discos duros: Cuando se detecta, envía la señal al disco duro para guardar y bloquear los datos para evitar que el golpe corrompa los datos.

 Selección de las características del acelerómetro.

Ahora que sabes lo que hacen, consideremos qué características debes buscar al seleccionar tu acelerómetro:

 Área
El límite superior e inferior de lo que el acelerómetro puede medir también se llama su rango. En la mayoría de los casos, un rango menor en una escala mayor significa una salida más sensible, por lo que se puede obtener una lectura más precisa de un acelerómetro con un rango bajo.

Deberías elegir el rango de cobertura que mejor se adapte a tu proyecto. Si el proyecto sólo se expone a aceleraciones entre 2g y -2g, un acelerómetro que oscile a ± 24 no proporcionará una gran precisión.

Tenemos un buen rango de acelerómetros con rangos de medición máximos de ± 1,5g a ± 24g. La mayoría de nuestros acelerómetros están ajustados a un rango duro mínimo/máximo, pero para casi todos los acelerómetros tenemos rangos seleccionables.

Interfaz
- Esta es otra de las características más importantes. Los acelerómetros tendrán una interfaz analógica, digital (I2C o SPI) o de modulación de ancho de pulso (PWM). Actualmente sólo tenemos sensores con las dos primeras interfaces.

Los acelerómetros con salida analógica generarán un voltaje directamente proporcional a la aceleración detectada. A 0g la salida analógica suele ser aproximadamente la mitad de la tensión de alimentación (por ejemplo, 1,65 V para un sensor de 3,3 V). En general, esta interfaz es la más fácil de usar porque utiliza un solo convertidor analógico-digital (ADC), que está disponible en la mayoría de los microcontroladores.

Los acelerómetros con interfaz PWM generan una onda cuadrada de frecuencia fija, pero el ciclo de trabajo varía con la aceleración detectada. Estos son bastante raros, por lo que no tenemos modelos, pero siempre es bueno saber cómo funcionan.

Los acelerómetros digitales suelen tener una interfaz SPI o una interfaz I²C en serie. Dependiendo de su experiencia, estos pueden ser los más difíciles de integrar en su microcontrolador. No obstante, los acelerómetros digitales son populares porque generalmente tienen más características y son menos susceptibles al ruido que sus homólogos analógicos.

Número de ejes medidos - Esto está muy claro: De los tres posibles ejes ( x , y, z ), ¿cuántos son útiles de medir?  Los acelerómetros de tres ejes suelen ser la forma correcta, pero son los más utilizados, por lo que no hay mucho que pensar aquí.

Consumo de energía - Si su proyecto funciona con pilas, debería considerar cuánta energía consume el acelerómetro. El consumo de energía suele ser del orden de 100s μA. Algunos sensores también tienen una función de sueño para ahorrar energía cuando no se necesita el acelerómetro.


Características especiales

Los últimos acelerómetros pueden tener algunas características ingeniosas, pero no es suficiente para generar los datos de aceleración. Estos nuevos acelerómetros pueden incluir características como rangos de medición seleccionables, control del sueño, detección de 0g y detección de golpes.


4. CÓMO USAR SU NUEVO ACELERÓMETRO CON ARDUINO

Cuando llegas a este punto, ya tienes un prototipo o al menos en tu mente qué sensor usarás para tu proyecto. Como vimos anteriormente, cada sensor tiene ciertas características que juegan un papel en la decisión de un dispositivo en particular. Pero no se deje engañar por el hecho de que una de las principales aplicaciones que le dará a su sensor es conocer el ángulo que tiene en relación con el vector gravitacional.


 Acelerómetros analógicos.

Empecemos con los que han elegido un acelerómetro analógico, ya sea porque lo tenían antes de la introducción de los acelerómetros digitales, o simplemente porque han leído que son más fáciles de usar (les dije eso).


Todos sabemos que el acelerómetro mide el cambio de velocidad, pero cuando está estático, la única aceleración que mide es la de la gravedad tirando de él hacia abajo.

Con esta aceleración (la gravedad) podemos calcular el ángulo de inclinación del sensor en relación con el eje vectorial de la gravedad. Ahora para algunas matemáticas.


Como podemos ver en la imagen, cuando el acelerómetro está en reposo, sólo la gravedad actúa sobre el sensor y sólo sobre el eje Z.  Entonces :x=0gy=0gz=1g


Pero tan pronto como inclinamos el sensor, la gravedad genera componentes vectoriales en los ejes x,y,z. Estas componentes son las que ocupamos para estimar el ángulo de inclinación del sensor con respecto a la gravedad g, y estos valores son los esfuerzos que cada uno de los ejes genera al someterse a la aceleración que mediremos con nuestro código, lo que haremos en un trabajo minucioso.

 Programación de acelerómetros analógicos.


Una vez que hemos conectado nuestro sensor al Arduino a través de los pines analógicos, empezamos a introducir el código en el IDE: definimos los pines analógicos donde se encuentra cada eje. #Defina el eje xPin A4 // x en la clavija analógica 4
#definir yPin A3 
#definir zPin A2
#definir ST 2 //pin Activación del sensor ADXL335
 Definimos los valores máximo y mínimo del acelerómetro para 1g de aceleración. int minVal = 405; // valores de una prueba anterior
int maxVal = 609;Creamos tres variables de tipo doble para almacenar los ángulos en cada eje.doble x;   
doble y;
doble z;En la configuración lo haremos. configuración de vacío ( ) {
 PinMode(ST,OUTPUT);
 digitalWrite(ST,LOW);
 serial.begin(9600);
 } En el bucle leemos los valores analógicos de cada uno. int xRead = analogRead(xPin);   
 int yRead = analogRead(yPin);
 int zRead = analogRead(zPin);Convertimos los valores medidos en valores proporcionales en el rango de -100 a 100, para detectar sensatamente la inclinación del sensor. int xAng = map(xRead, minVal, maxVal, -100, 100);
 int yAng = map(yRead, minVal, maxVal, -100, 100);
 int zAng = map(zRead, minVal, maxVal, -100, 100)

A partir del diagrama de cuerpo libre de los vectores generados por cada eje y la aplicación de la tangente inversa a estos vectores, podemos calcular el ángulo en el que se encuentra el objeto.

Por ejemplo, la forma de calcular el valor del ángulo en el eje x con respecto al vector gravitacional sería :

El comando antan2 devuelve el ángulo en radianes, así que tenemos que convertirlo en grados.  Este comando también está definido para el caso de que uno de los vectores sea 0; devuelve un 0 o un 1, dependiendo del vector cero. y = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI)
 x = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);
 z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);Imprimimos en forma de lecturas en serie. Serial.print ("x: ");
 Serial.print(x);
 serial.print(" y: ");
 Serial.print(y);
 Serial.print(" z: ");
 Serie.print(z);
                               
 Acelerómetros digitales.

 Antes vimos cómo leer estas lecturas y usarlas para calcular el ángulo de inclinación de un acelerómetro analógico. Ahora queremos ver cómo se pueden lograr los mismos resultados con un acelerómetro digital.

En el caso de los acelerómetros, la interfaz de comunicación puede ser I2C o SPI, cada una con sus propias características (como se explica en los tutoriales de cada dispositivo).

Para este tutorial utilizaremos el sensor ADXL345 a través de la interfaz I2C.



Diagrama de conexión del ADXL345 con el arduino UNO


Debemos tener en cuenta que al utilizar una interfaz digital, los valores lanzados por el acelerómetro ya no son voltajes variables; ahora son paquetes de bytes que leeremos de los pines SDA y SCL en los A4 y A5 del Arduino, pero no se deje engañar, estos pines se utilizan como pines digitales y no analógicos. Una vez que entendamos esto y todo esté bien conectado, continuaremos desarrollando el código.