Professional Documents
Culture Documents
Los acelermetros son dispositivos que miden la aceleracin, que es la tasa de cambio de la velocidad de un
objeto. Esto se mide en metros por segundo al cuadrado (m/s) o en las fuerzas G (g). La sola fuerza de la
gravedad para nosotros aqu en el planeta Tierra es equivalente a 9,8 m/s, pero esto vara ligeramente con la
altitud (y ser un valor diferente en diferentes planetas, debido a las variaciones de la atraccin gravitatoria).
Los acelermetros son tiles para detectar las vibraciones en los sistemas o para aplicaciones de orientacin.
Los acelermetros pueden medir la aceleracin en uno, dos o tres ejes. Los de tres ejes son ms
comunes conforme los costos de produccin de los mismos baja.
Generalmente, los acelermetros contienen placas capacitivas internamente. Algunos de estos son fijos,
mientras que otros estn unidos a resortes minsculos que se mueven internamente conforme las fuerzas de
aceleracin actan sobre el sensor. Como estas placas se mueven en relacin el uno al otro, la capacitancia
entre ellos cambia. A partir de estos cambios en la capacitancia, la aceleracin se puede determinar.
1.4 Potencia
Los acelermetros son generalmente dispositivos de baja potencia . La corriente requerida cae tpicamente en
la gama de micro ( ) o mili amperios , con una tensin de alimentacin de 5 V o menos . El consumo de
corriente puede variar dependiendo de la configuracin (por ejemplo , el modo de ahorro de energa en
comparacin con el modo de funcionamiento estndar). Estos modos diferentes pueden hacer a los
acelermetros muy adecuado para aplicaciones que funcionan con batera .
Asegrese de que los niveles lgicos tanto del acelermetro como del microcontrolador correspondan y ms
en los digitales; ya que si esto no es as puede daar el sensor.
2.1 Alcance
La mayora de los acelermetros tendr un rango seleccionable de las fuerzas que pueden medir. Estos
intervalos pueden variar de 1g hasta 250g. Tpicamente, el ms pequeo de la gama, es el ms sensible.
Por ejemplo, para medir pequeas vibraciones sobre una mesa , utilizando un acelermetro de gama pequea
proporcionar datos ms detallados que el uso de uno de 250 g (que es ms adecuado para cohetes ) .
Este acelermetro puede ser configurado para realizar mediciones entre 1.5g y 6g entre otras
caractersticas especiales.
3.1.1 Rango
Los lmites superior e inferior de lo que el acelermetro puede medir tambin se conoce como su gama. En la
mayora de los casos, un rango menor a gran escala significa una salida ms sensible, as que usted puede
obtener una lectura ms precisa de un acelermetro con un rango de baja escala.
Usted debe seleccionar un rango de deteccin que mejor se adapte a su proyecto, si el proyecto slo ser
sometido a aceleraciones entre 2g y -2g, un acelermetro oscilado 24 no le va a dar mucha precisin.
Contamos con un buen surtido de acelermetros, con alcances mximos se extiende desde 1.5 g hasta
24g. La mayora de nuestros acelermetros se establecen en un rango mnimo / mximo duro, sin embargo
casi todos de los acelermetros que tenemos disponen de rangos seleccionables .
3.1.2 Interfaz
- Esta es otra de las caractersticas ms importantes. Los acelermetros tendrn ya sea una interfaz Anloga,
Digital (I2C o SPI) o por Modulacin de Ancho de Pulso (PWM). Actualmente solo disponemos sensores con
las dos primeras interfaces.
Acelermetros con una salida analgica producirn una tensin que es directamente proporcional a la
aceleracin detectada. En 0g, la salida analgica ser residir generalmente en alrededor de la mitad de la
tensin de alimentacin ( por ejemplo, 1,65 V para un sensor de 3,3 V ). En general, esta interfaz es el ms
fcil de trabajar, usando solo un convertidor analgico a digital (ADC) presente en la mayora de los
microcontroladores.
Acelermetros con una interfaz de PWM producirn una onda cuadrada con una frecuencia fija , pero el ciclo
de trabajo del pulso variar con la aceleracin detectada. Estos son bastante raro; por lo que no contamos
con ningn modelo pero siempre es bueno saber cmo funcionan.
Acelermetros digitales por lo general cuentan con una interfaz serial sea SPI o I C. Dependiendo de su
experiencia, estos pueden ser los ms difciles de integrar con su microcontrolador. Dicho esto, los
acelermetros digitales son populares debido a que por lo general tienen ms caractersticas, y son menos
susceptibles al ruido que sus homlogos analgicos.
Nmero de ejes medidos Este est muy claro: de los tres ejes posibles ( x , y, z ) , cuntos tiene sentido
medir? Acelermetros de tres ejes suelen ser el camino a seguir, sino que son los ms comunes, as que aqu
no hay mucho que pensarle.
Consumo de energa Si el proyecto funciona con pilas, es posible que desee considerar la cantidad de
energa que consumir el acelermetro. El consumo de corriente se requiere por lo general ser en el rango
de los 100s A. Algunos sensores tambin disponen de la funcionalidad de reposo para ahorrar energa
cuando no se necesita el acelermetro.
Rango
Interfaz
Ejes
Requerimientos de
energa
Caractersticas especiales
MMA7361
1.5 g
y 6g
Analgica
2.2 a 3.6VDC,400A
Sensibilidad
seleccionable.
Deteccin 0g
Modo de reposo
SELF-TEST
SELF-TEST
ADXL335
3g
Analgica
1.8 a 3.6VDC.350uA
MMA8452
2g ,
4 g,
8g
Digital I2C
ADXL345
16g
DigitalSPI
/I2C
Compensacin de
temperatura
Dos pines de
interrupcin
Sensibilidad
seleccionable
SEFL-TEST
Etc.
Deteccin de doble
golpe
Deteccin cada
libre
LIS331
MMA7455
MMA7660
6g ,
12g,
24g
DigitalSPI/
I2C
2g,
4g,
8g
Digital
SPI/I2C
1.5g
Digital
I2C.
Dos pines de
interrupcin
Dos pines de
interrupcin
Dodo de reposo
SEFL-TEST
Dos pines de
interrupcin
Deteccin (golpe,
vibracin y cada libre)
Deteccin de
orientacin
Deteccin de golpe
y sacudida
Todo sabemos que el acelermetro mide el cambio de velocidad, pero cuando este se encuentra esttico la
nica aceleracin que detecta es la gravedad que tira hacia abajo de este.
Usando esta aceleracin (gravedad) podemos calcular el ngulo de inclinacin del sensor con respecto al eje
vectorial de la gravedad. !Ahora un poco de matemticas!.
Cmo vemos en la imagen cuando el acelermetro est en reposo, solamente la fuerza de gravedad acta
sobre el sensor y solo sobre el eje Z. Entonces :
x=0g
y=0g
z=1g
Pero una vez que inclinamos en sensor la fuerza de gravedad genera componentes vectoriales en los ejes
x,y,z. son estos componentes los que ocupamos para poder estimar el ngulo de inclinacin que tiene el
sensor con respecto a la fuerza de gravedad g y estos valores los voltajes que genera cada uno de los ejes al
ser cometidos a la aceleracin, los cuales mediremos con nuestro cdigo que haremos en arduino .
Definimos los pines analgicos en los que estn cada uno de los ejes.
#define xPin A4 // eje x en el pin analgico 4
#define yPin A3
#define zPin A2
#define ST 2 //pin de activacin del sensor ADXL335
Creamos tres variables tipo double para almacenar los ngulos en cada eje.
double x;
double y;
double z;
En el setup pondremos.
void setup ( ) {
pinMode(ST,OUTPUT);
digitalWrite(ST,LOW);
Serial.begin(9600);
}
Convertimos las lecturas en valores proporcionales en el rango de -100 a 100. Esto lo usamos
ms que nada para poder darle sentido a la inclinacin 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);
En la imagen se muestra el diagrama de cuerpo libre de los vectores que genera cada eje y aplicndole la
tangente inversa a dichos vectores podremos calcular el ngulo en el que se encuentra el objeto.
Como por ejemplo para calcular el valor del ngulo en el eje x con respecto al vector de gravedad sera :
El comando antan2 Regresa el ngulo en radianes por lo que debemos convertirlo a grados. Tambin
este comando est definido para cuando uno de los vectores sea 0; arroja un 0 o un 1 dependiendo del
vector nulo.
y = RAD_TO_DEG * (atan2(-yAng, -zAng) + PI);
x = RAD_TO_DEG * (atan2(-xAng, -zAng) + PI);
z = RAD_TO_DEG * (atan2(-yAng, -xAng) + PI);
Definimos las direcciones de los registros que usaremos del sensor; estas vienen especificadas en la
hoja de datos del fabricante.
#define DEVICE (0x9D) // Direccin del dispositivo como se especifica en la hoja de datos
char POWER_CTL = 0x2D; //Registro de Control de Potencia
char DATA_FORMAT = 031;
char DATAX0 = 032; //Dato Eje X 0
char DATAX1 = 033; //Dato Eje X 1
Definimos los mximos y mnimos arrojados por cada eje, en el eje X y Y los valores son los mismos,
pero en el eje Z no; as usaremos estos valores para despus escalarlos a los valores de los otros ejes,
tambin definimos las variables donde se almacenaran los ngulos.
byte _buff[6];
int minVal = -142;
int maxVal = 112;
double X;
double Y;
double Z;
Serial.println(Y);
delay(100);
Imgen que muestra los ngulos en grados en los ejes X y Y con respecto al vector de gravedad.