Diferencia entre revisiones de «Acelerómetro - DEMOQE128»
(→Funcionamiento y Características) |
|||
Línea 67: | Línea 67: | ||
Para seleccionar por ejemplo el rango de 6g se tendria que seleccionar los bits 1 y 2 del registro PTGDD, análogamente se procede si se requiere seleccionar las otras modalidades de rango. Es necesario activar los pull-ups por seguridad antes de escribir en los puertos, en este caso el mas relevante seria el puerto G. Veamos el siguiente ejemplo: | Para seleccionar por ejemplo el rango de 6g se tendria que seleccionar los bits 1 y 2 del registro PTGDD, análogamente se procede si se requiere seleccionar las otras modalidades de rango. Es necesario activar los pull-ups por seguridad antes de escribir en los puertos, en este caso el mas relevante seria el puerto G. Veamos el siguiente ejemplo: | ||
+ | ----------------------------------------------------------------------------------------------------------------------------- | ||
+ | //*En Lenguaje C | ||
/* Habilitamos pullups en todos los puertos del módulo principal | /* Habilitamos pullups en todos los puertos del módulo principal | ||
PTAPE = PTBPE = PTCPE = PTDPE = PTEPE = PTFPE = PTGPE = PTHPE = PTJPE = 0xFF; | PTAPE = PTBPE = PTCPE = PTDPE = PTEPE = PTFPE = PTGPE = PTHPE = PTJPE = 0xFF; | ||
Línea 74: | Línea 76: | ||
PTGD = 0x00; // Puerto G inicialmente como salida | PTGD = 0x00; // Puerto G inicialmente como salida | ||
PTGDD = 0x06; // Cargar este valor para usar los bits 1 y 2 para trabajar a 6g como se indica en el cuadro. | PTGDD = 0x06; // Cargar este valor para usar los bits 1 y 2 para trabajar a 6g como se indica en el cuadro. | ||
− | + | --------------------------------------------------------------------------------------------------------------------------------- | |
− | + | //*En Assemnbler | |
+ | |||
+ | /* Habilitamos pullups en todos los puertos del módulo principal | ||
+ | mov #$ff,PTAPE | ||
+ | mov #$ff,PTBPE | ||
+ | mov #$ff,PTCPE | ||
+ | mov #$ff,PTDPE | ||
+ | mov #$ff,PTEPE | ||
+ | mov #$ff,PTFPE | ||
+ | mov #$ff,PTGPE | ||
+ | mov #$ff,PTHPE | ||
+ | mov #$ff,PTJPE | ||
+ | |||
+ | /* Configuramos la sensibilidad con la que va a trabajar el acelerometro | ||
+ | mov #$00,PTGD // Puerto G inicialmente como salida | ||
+ | mov #$06,PTGDD // Cargar este valor para usar los bits 1 y 2 para trabajar a 6g como se indica en el cuadro | ||
+ | ------------------------------------------------------------------------------------------------------------------------------ | ||
===Simulación=== | ===Simulación=== | ||
[[Archivo:interfaz.png|450px|right|thumb|La interfaz compone las herramientas fundamentales de visualización para verificar el comportamiento del acelerómetro.]] | [[Archivo:interfaz.png|450px|right|thumb|La interfaz compone las herramientas fundamentales de visualización para verificar el comportamiento del acelerómetro.]] | ||
Luego de realizar las configuraciones y realizar un programa básico para su correcto funcionamiento, el usuario puede utilizar una aplicación adicional denominada [[DEMOQE Accelerometer Demo application]] en la que puede observar gráficamente el comportamiento del acelerómetro mientras el usuario interactua con el dispositivo. | Luego de realizar las configuraciones y realizar un programa básico para su correcto funcionamiento, el usuario puede utilizar una aplicación adicional denominada [[DEMOQE Accelerometer Demo application]] en la que puede observar gráficamente el comportamiento del acelerómetro mientras el usuario interactua con el dispositivo. | ||
+ | |||
+ | La aplicación lee la información que hay en los ejes X, Y, y Z del acelerómetro de 3-ejes utilizando el convertidor analógico/digital. Los datos trazados incluye la magnitud de los ejes X, Y, Z y las señales del acelerómetro, así como la carga del procesador actual. Estos datos procesados es un promedio de los datos totales del acelerometro en sí (datos en bruto), o una versión filtrada de los datos totales del mismo, dependiendo del modo seleccionado. | ||
La interfáz de este programa se describe básicamente en tres secciones: | La interfáz de este programa se describe básicamente en tres secciones: | ||
− | *Terminal Windows: | + | *Terminal Windows: Normalmente nos muestra los ciclos que hay en el bus durante cada interacción del dispositivo, es similar a la aplicación hyperterminal de Windows. Permite ver los caracteres que se transmiten y se reciben mientras el acelerometro experimenta interaciones. |
+ | |||
+ | *Data Snapshot: Esta interfaz nos permite ver en porcentaje que tanto se ha movido el eje (x,y,z) del dispositivo respecto a la referencia teniendo en cuenta que tan sensible es, como se había mencionado antes para cada dato trazado de la señal tambien hay un indicador que muestra la carga del procesador en ese momento, las varianzas de la gráfica dependerán de la sensibiliad del acelerómetro en cada caso. | ||
− | * | + | *Scope: Muestra el trazado de las señales que van cambiando en el acelerómetro a medida que experimenta variaciones de posición, si el movimiento es brusco, los valores de muestra seran altos y viceversa si sucede lo contrario, el graficador toma el trazado de todos los ejes al mismo tiempo. |
− | + | [[Archivo:scope.png|300px|center|thumb|Las interacciones que experimenta el acelerometro es trazada en cada eje al mismo tiempo.]] | |
− | Para inicializar es necesario indicarle al programa a cuanto se desea transmitir la opción dependerá del usuario sin embargo el estandar es 115000, y el puerto por lo general es el usb, sín embargo pueden usarse puertos de comunicaciones (COM1:COM5)si el usuario asi lo desea. Verificar previamente la correcta configuración de los [[jumpers]] y mantener apagado el [[DEMOQE]] | + | Para inicializar es necesario indicarle al programa a cuanto se desea transmitir la opción dependerá del usuario sin embargo el estandar es 115000, y el puerto por lo general es el usb, sín embargo pueden usarse puertos de comunicaciones (COM1:COM5)si el usuario asi lo desea. Verificar previamente la correcta configuración de los [[JUMPER SETTINGS|jumpers]] y mantener apagado el [[DEMOQE]] |
==Ficha técnica== | ==Ficha técnica== |
Revisión del 13:27 15 nov 2012
El acelerómetro es una herramienta que dispone el módulo DEMOQE128 para detectar el movimiento o giro que resulta mediante la acción de una fuerza (gravedad o fuerza resultante por movimientos continuos).
Contenido
Tipos
En este módulo hay x tipos de acelerómetros:
- Acelerómetro Analógico: En el acelerómetro analógico tenemos las coordenadas x,y,z y cuyos voltajes serán proporcionales a la aceleración a la que se someta el dispositivo.
Funcionamiento y Características
El acelerómetro del Demoqe es mucho mas versátil que el de otros micros pues dispone en su interior la configuración a 3 ejes, lo que nos permite ademas de detectar movimientos lineales, saber si el dispositivo gira alrededor de su entorno. Funciona con el reloj interno del DEMOQE debidamente configurado
Configuración
Este dispositivo cuenta con una gama variada para su sensibilidad respecto al movimiento que se le aplica, se puede utilizar 1,5g 2 y 4g según se le especifique mediante la configuracion de los jumpers, especificamente la línea de jumpers J14 J15 y J16 segun convenga, para cada valor del rango se tiene otro valor de sensibilidad que es inversamente proporcional al primero.
PTG1 | PTG2 | Rango (g) | Sensibilidad (mV/g) |
---|---|---|---|
0 | 0 | 1.5 | 800 |
0 | 1 | 2.0 | 600 |
1 | 0 | 4.0 | 300 |
1 | 1 | 6.0 | 200 |
Para configurar este periférico según la sensibilidad que se desea aplicar, es necesario ralizar también una indicación mediante instrucciones al puerto G especificamente los puertos PTGD2/PTGD3 y siguiendo las especificaciones de la tabla anteiror. Para ello observemos momentaneamente el puerto PTGDD:
7 6 5 4 ¦ 3 2 1 0 |
PTGDD7 | PTGDD6 | PTGDD5 | PTGDD4 | PTGDD3 | PTGDD2 | PTGDD1 | PTGDD0 |
---|
0 0 0 0 ¦ 0 0 0 0 |
Para seleccionar por ejemplo el rango de 6g se tendria que seleccionar los bits 1 y 2 del registro PTGDD, análogamente se procede si se requiere seleccionar las otras modalidades de rango. Es necesario activar los pull-ups por seguridad antes de escribir en los puertos, en este caso el mas relevante seria el puerto G. Veamos el siguiente ejemplo:
//*En Lenguaje C /* Habilitamos pullups en todos los puertos del módulo principal PTAPE = PTBPE = PTCPE = PTDPE = PTEPE = PTFPE = PTGPE = PTHPE = PTJPE = 0xFF; /* Configuramos la sensibilidad con la que va a trabajar el acelerometro PTGD = 0x00; // Puerto G inicialmente como salida PTGDD = 0x06; // Cargar este valor para usar los bits 1 y 2 para trabajar a 6g como se indica en el cuadro.
//*En Assemnbler /* Habilitamos pullups en todos los puertos del módulo principal mov #$ff,PTAPE mov #$ff,PTBPE mov #$ff,PTCPE mov #$ff,PTDPE mov #$ff,PTEPE mov #$ff,PTFPE mov #$ff,PTGPE mov #$ff,PTHPE mov #$ff,PTJPE /* Configuramos la sensibilidad con la que va a trabajar el acelerometro mov #$00,PTGD // Puerto G inicialmente como salida mov #$06,PTGDD // Cargar este valor para usar los bits 1 y 2 para trabajar a 6g como se indica en el cuadro
Simulación
Luego de realizar las configuraciones y realizar un programa básico para su correcto funcionamiento, el usuario puede utilizar una aplicación adicional denominada DEMOQE Accelerometer Demo application en la que puede observar gráficamente el comportamiento del acelerómetro mientras el usuario interactua con el dispositivo.
La aplicación lee la información que hay en los ejes X, Y, y Z del acelerómetro de 3-ejes utilizando el convertidor analógico/digital. Los datos trazados incluye la magnitud de los ejes X, Y, Z y las señales del acelerómetro, así como la carga del procesador actual. Estos datos procesados es un promedio de los datos totales del acelerometro en sí (datos en bruto), o una versión filtrada de los datos totales del mismo, dependiendo del modo seleccionado.
La interfáz de este programa se describe básicamente en tres secciones:
- Terminal Windows: Normalmente nos muestra los ciclos que hay en el bus durante cada interacción del dispositivo, es similar a la aplicación hyperterminal de Windows. Permite ver los caracteres que se transmiten y se reciben mientras el acelerometro experimenta interaciones.
- Data Snapshot: Esta interfaz nos permite ver en porcentaje que tanto se ha movido el eje (x,y,z) del dispositivo respecto a la referencia teniendo en cuenta que tan sensible es, como se había mencionado antes para cada dato trazado de la señal tambien hay un indicador que muestra la carga del procesador en ese momento, las varianzas de la gráfica dependerán de la sensibiliad del acelerómetro en cada caso.
- Scope: Muestra el trazado de las señales que van cambiando en el acelerómetro a medida que experimenta variaciones de posición, si el movimiento es brusco, los valores de muestra seran altos y viceversa si sucede lo contrario, el graficador toma el trazado de todos los ejes al mismo tiempo.
Para inicializar es necesario indicarle al programa a cuanto se desea transmitir la opción dependerá del usuario sin embargo el estandar es 115000, y el puerto por lo general es el usb, sín embargo pueden usarse puertos de comunicaciones (COM1:COM5)si el usuario asi lo desea. Verificar previamente la correcta configuración de los jumpers y mantener apagado el DEMOQE
Ficha técnica
El acelerómetro que dispone el DEMOQE128 es el MMA7260Q y tiene las siguientes especificaciones técnicas:
- Consumo promedio en corriente de 500μA
- Sensibilidad seleccionable (1.5, 2, 4 y 6g)
- Modalidad de espera de 3μA
- Dimensiones de 6mm x 6mm x 1.45mm QFN
- Alta sensibilidad en niveles de voltajes (800mV/g g@1.5)
- Acondicionamiento de señales integrado con un filtro pasabajo trabajando conjuntamente con el dispositivo.
- Capacidad para operar a baja tensión (2,2v a 3,6v)