Control de Servomotores
Para controlar los servomotores utilizamos una señal PWM a través de una libreria en MBED, asignándoles un periodo de 20 ms y el movimiento se realizaba a través del ancho de pulso, dependiendo de la aceleración en cada eje en que se moviera el microcontrolador se realizaba un cambio gradual en el servomotor.
En el programa creamos un variable en donde se leia la aceleración y mediante un factor de conversión se lo asignabamos al ancho de pulso para poder observar el movimiento gradual.
Single y Double Tap
Para poder realizar el Single Tap fue necesario considerar tres parámetros:
1. Tiempo de ventana: para estar por encima o debajo del umbral deseado (PULSE_TMLT).
2. Valor del umbral para activar el evento (PULSE_THSX, PULSE_THSY, PULSE_THSZ).
3.Tiempo de latencia (PULSE_LTCY).
El evento single tap es detectado cuando el valor de la aceleración es más grande que el valor en los registros (PULSE_THSX, PULSE_THSY, PULSE_THSZ). Además, el periodo de tiempo deberá ser menor que el tiempo puesto en el registro PULSE_TMLT.
Se utilizó una frecuencia de 400 Hz, el umbral fue de 3G para el eje X,Y y de 5G para el eje Z.
Si se activa la interrupción del Single Tap, encendía un led verde.
FreeFall Detection
Para esta etapa fue necesario configurar los siguientes registros:
1. Registro FF/MT Config- Configuración de caida libre.
2. Registro FF_MT_THS- Configuración de umbral.
3. Registro FF_MT_COUNT- Configuración de contador de rebotes.
4. Registro FF_MT_SRC- Fuente de detección de caida libre.
Se configuró la frecuencia en 50 Hz, el umbral menor a 0.2 G, para eliminar las falsas lecturas del contador de rebotes fue requerido configurar el timer en 120 ms.
Para detectar la caida libre se encendía un led rojo.
No hay comentarios:
Publicar un comentario