Vous êtes sur la page 1sur 4

Laboratorio 5.

Sensor acelerómetro
José German Mora Santos - 20141007004
Brayan Stiven Angulo Cepeda - 20142007169
David Augusto Duarte Cobos - 20142007093
Edgar Felipe Avila - 20131007082
Juan Carlos Plata - 20131007097

Abstract— Herein a type of sensor that measures Los acelerómetros son dispositivos que permiten medir la
acceleration having a body to which this trailer is exposed, it aceleración que es la tasa de cambio en la velocidad de un objeto la
can sense the acceleration to which it is subjected in three cual se mide en metros por segundo al cuadrado (m/s^2) o
axes, assembly and necessary elements present to determine dependiendo el caso en fuerzas de gravedad o fuerzas G (g), la
and display movement counting primarily with a fuerza gravitatoria que en nuestro planeta se experimenta es de
microcontroller monitoring data on an LCD screen, computer 9.8 (m/s^2) la cual puede tener pequeñas variaciones en ciertos
or other devices as you scope and limitations presented by the lugares del planeta según su altura, y esta también es diferente
laboratory. para diferentes planetas debido al cambio de su fuerza
gravitatoria por la masa del planeta cantidad y composición,
Resumen: En el presente documento se expondrá un tipo de densidad entre otros aspectos.
sensor que permite medir la aceleración que presenta un
cuerpo al que este acoplado, este puede sensar la aceleración
a la que se le someta en tres ejes, se presentara el montaje y II. OBJETIVO GENERAL
elementos necesarios para determinar y visualizar el Adquirir y procesar los datos de un sensor de aceleración pre
movimiento contando primordialmente con un calibrado (MMA7361) y visualizar la información procesada en
microcontrolador monitoreando los datos en una pantalla la pantalla de una LCD o en el computador
LCD, computador u otros dispositivos según los alcances y
limitaciones que presente el laboratorio. .

Índice de Términos—Sensor, acelerómetro, LCD, III. OBJETIVOS ESPECÍFICOS


Microcontrolador, montaje, monitoreo.
A continuación se presentan los objetivos puntuales los
cuales al darles cumplimiento se lograra realizar la práctica de
I. INTRODUCCIÓN laboratorio satisfactoriamente y con los resultados deseados.

E l acelerómetro es un dispositivo que tiene múltiples


aplicaciones en la actualidad, está presente en sistemas  Adquirir el sensor MMA7361 y estudiar sus
de navegación tan complejos como los de transbordadores características.
espaciales, aviones maquinarias en la industria ya que no solo
sirven para medir la tasa de cambio en la velocidad si no para  Definir el montaje necesario para la utilización del
también sensar oscilaciones en piezas y así ejercer alguna clase sensor.
de control o acción necesaria según se requiera, y más cerca de
las personas del común ya que los teléfonos inteligentes o  Construir el código para el microcontrolador para
smartphones en su gran mayoría los emplean para con ellos obtener y procesar los datos obtenidos.
tener aplicaciones como la brújula o simplemente navegar por
servicios de mapas satelitales proporcionando el movimiento y  Construir el código en Matlab para la visualización
la dirección en ellos. grafica de los datos.

 Pruebas y validación.

Figura 1. Tarjeta con el sensor MMA7361L


IV. MARCO REFERENCIAL
El sensor MMA7361 [1] es de energía baja, con
acondicionamiento de señal, un filtro de paso bajo de 1
En este apartado se presentara los contenidos necesarios polo, compensación de temperatura, prueba automática
para entender de una mejor manera el desarrollo del (self test), detecta gravedad 0 – caída libre, y g – select que
laboratorio y de las herramientas con las que se cuentan permite la selección entre 2 sensibilidades. Desplazamiento
para su realización, en otro apartado se presentan en forma de gravedad cero y la sensibilidad se ajustan de fábrica y no
de listado los materiales necesarios, aquí los presentan de requieren dispositivos externos, además incluye un modo
manera descriptiva. de reposo (sleep), que lo hace ideal para dispositivos
electrónicos portátiles alimentados por baterías.

A. Sensor MMA7361 Este sensor además cuanta con 10 pines dentro de los
cuales los más importantes son como no podría ser de otro
Los acelerómetros figura 1, pueden medir la aceleración en modo los pines de salida marcados como X, Y y Z junto
uno, dos o tres ejes. Los de tres ejes son más comunes con dos pines de alimentación, uno a 5 voltios y otro de 3.3
conforme los costos de producción de los mismos se voltios, la tarjeta MMA7361lL [2] trabaja con tan solo 3.3
reducen. voltios y si se le conecta 5 voltios esta cuanta con un
regulador para ajustarse al voltaje de trabajo, y también
Generalmente los acelerómetros contienen placas cuanta con el infaltable pin del GND o como se le conoce
capacitivas internamente, algunos de estos son fijos, más comúnmente como el tierra, los demás son para
mientras que otros están unidos a resortes minúsculos que funciones especiales que no son de relevancia para el
se mueven internamente con forme la fuerza de la laboratorio.
aceleración actúan sobre en sensor, como estas palcas se
mueven en relación el uno al otro, la capacitancia entre
ellos cambia. A partir de estos cambios en la capacitancia la B. Arduino
aceleración se puede determinar, en la figura 2 se puede
observar el sistema descrito para uno de los ejes. Es una plataforma de electrónica abierta para la creación de
prototipos basada en software y hardware flexibles y fáciles
de usar. Se creó para artistas, diseñadores, aficionados y
cualquiera interesado en crear entornos u objetos
interactivos.

Arduino puede tomar información del entorno a través de


sus pines de entrada de toda una gama de sensores y puede
afectar aquello que le rodea controlando luces, motores y
otros actuadores. El micro-controlador en la placa Arduino
se programa mediante el lenguaje de programación Arduino
y el entorno de desarrollo Arduino. Los proyectos hechos
con Arduino pueden ejecutarse sin necesidad de conectar a
un ordenador, si bien tienen la posibilidad de hacerlo y
comunicar con diferentes tipos de software.

Figura 2. Sistema – electromecánico para la aceleración de


un eje.

Otros acelerómetros se pueden centrar en torno a materiales


piezoeléctricos, esta pequeña carga eléctrica de salida de las
estructuras cristalinas se coloca bajo tensión mecánica Figura 3. Arduino.
como ejemplo la aceleración.
El microcontrolador que se puede ver en la placa Arduino Materiales:
UNO al lado inferior derecho figura 3 es el modelo
ATmega328P de la marca Atmel. La “P” del final significa  Tarjeta MMA7361L (sensor de tres ejes).
que este chip incorpora la tecnología “Picopower”  Placa Arduino.
(propietaria de Atmel), la cual permite un consumo  Protoboard.
eléctrico sensiblemente menor comparándolo con el modelo  Jumpers (macho-macho).
equivalente sin “Picopower”, el Atmega328 (sin la “P”). De
todas formas, aunque el ATmega328P pueda trabajar a un VI. RESULTADOS Y ANÁLISIS
voltaje menor y consumir menos corriente que el
Atmega328 (especialmente en los modos de hibernación), Este circuito es capaz de funcionar con 5V, sin embargo
ambos modelos son funcionalmente idénticos. internamente funciona con 3.3V lo cual utilizaremos como
referencia para el convertidor Análogo->Digital. Esto nos
C. Matlab permitirá tener mayor precisión a la hora de leer.
Gran parte de los ingenieros y científicos de todo el mundo 1 #include <math.h>
utilizan esta gran herramienta para realizar análisis y 2
diseños de mas y productos que desarrollan para mejorar la 3 void setup() {
calidad de vida de nuestro mundo, Matlab [4] ha sido 4 analogReference(EXTERNAL);
utilizada para diseñar dispositivos de seguridad de 5 Serial.begin(9600);
automóviles, procesos en naves espaciales, en dispositivos 6 }
de monitoreo de la salud, las redes eléctricas redes de
celulares en tecnología LTE etc. Se utiliza para el Definimos algunas variables para almacenar los valores de
aprendizaje didáctico, procesamiento de señales los componentes de las fuerzas en cada uno de los ejes del
procesamiento de imágenes, diseño de control robótica y acelerómetro.
muchos más es decir es una herramienta muy versátil y
poderosa que podemos utilizar para este caso realizar int xVal = 0;
cálculos complejos como lo son las fuerzas y campos 1
int yVal = 0;
magnéticos producidos por los electroimanes a utilizar para 2
int zVal = 0;
este proyecto, su lenguaje de programación es vasado en 3
C+ de muy fácil comprensión si se tienen conceptos básicos Un par de variables de tipo flotante doble van a almacenar
previos a la utilizaciones programa. el ángulo en el que se encuentra el acelerómetro.
Los códigos que se utilizaran para este laboratorio se verán
sometidos a cambios según la práctica lo requiera, y se 1 double angleYZ = 0;
presentaran como anexo en el documento final. 2 double angleXZ = 0;

Vamos a utilizar el puerto serial para escribir los valores.


V. MATERIALES Y HERRAMIENTAS Luego, en el loop principal tenemos que leer los valores
análogos y hacer un pequeño ajuste utilizando la
función map(). El problema es que el convertidor análogo-
En el montaje a utilizar se cuenta con pocos elementos ya digital tiene un rango que va desde 0 a 1023, si utilizáramos
que la tarjeta MMA7361L que contiene el acelerómetro, la función arco tangente utilizando estos valores nos
trae una adecuación de la señal y regulación de su propio mentiría ya que los componentes de la fuerza solo tendrían
voltaje de entrada y así mismo las señales entregadas en valores positivos y por lo tanto valores erróneos.
forma digital no necesitan de ninguna adecuación. Para corregir este problema utilizamos la
Tampoco se requiere de fuentes de alimentación para el función “map()” que nos permitirá que nuestro rango varíe
sistema como fuentes DC ya que la tarjeta Arduino entre valores positivos y negativos como se muestra en la
proporciona la energía necesaria para que el dispositivo siguiente tabla:
trabaje en óptimas condiciones, se emplea una proboard
para interconectar la placa Arduino y la tarjeta
MMA7361L.
void loop() { VII. CONCLUSIONES
1
Como pueden ver en el código lo primero que hacemos es  Para analizar el comportamiento del sensor se
leer los valores que se encuentran en las entradas análogas mueve de un lado a otro dependiendo las
coordenadas se marcara los grados en la que se
1 xVal = analogRead(0); movió el sensor ya sea en xz o yz. Con la ayuda
2 yVal = analogRead(1); del puerto serial se pudo observar los datos
3 zVal = analogRead(2); obtenidos del sensor en movimiento.

Luego utilizamos la función map para generar un rango más  Los acelerómetros, como el sensor MMA7361 son
adecuado para los valores de entrada. capaces de medir la aceleración en 3 dimensiones,
llamados ejes X, Y, Z. Todo cuerpo posee un
1 xVal = map(xVal, 0, 1023, -500, 500); centro de masa que es el lugar donde se equilibran
2 yVal = map(yVal, 0, 1023, -500, 500); todas sus fuerzas. Si aplicamos una fuerza en un
3 zVal = map(zVal, 0, 1023, -500, 500); centro de masa, el cuerpo no va a rotar, pero si se
aplica desplazado de su centro experimentara un
Por último aplicamos las sencillas funciones momento de fuerza que lo hará rotar.
trigonométricas para calcular el ángulo correspondiente.

1 angleYZ = atan((double)yVal / (double)zVal);


2 angleYZ = angleYZ*(57.2958);
3
4 angleXZ = atan((double)xVal / (double)zVal);
5 angleXZ = angleXZ*(57.2958);

Una vez calculados los ángulos simplemente los


imprimimos en el puerto serial para poder leerlos desde la
computadora.

01 Serial.write("yz:");
02 Serial.print(angleYZ);
03 Serial.write("\n");
04
05 Serial.write("xz:");
06 Serial.print(angleXZ);
07 Serial.write("\n");
08
09 delay(100);
10 }

Si revisan la salida del puerto serial notarán que los valores


varían “bastante”, esto sucede ya que siempre hay algo de
“ruido” o interferencias en la señal y es completamente
normal.

Hasta este punto simplemente compilamos nuestro


programa y lo guardamos en nuestro Arduino.

Vous aimerez peut-être aussi