Mostrando entradas con la etiqueta digital. Mostrar todas las entradas
Mostrando entradas con la etiqueta digital. Mostrar todas las entradas

Prueba del acelerómetro BMA180 con PIC y PyQwt

En este ejemplo se tomarán como base los ejemplos anteriores. Así que, tendremos tres gráficas indicando las aceleraciones en tiempo real con su respectivo valor numérico, pero además, un indicador de interrupción y un termómetro.
Comenzaremos con la breakout board de Sparkfun. Esta placa tiene todos los pines del BMA180 separados y dos capacitores como filtros.

Descripción de los pines

VDD: Alimentación del sensor.
GND: Conexión a tierra.
INT: Salida Digital. Indica si un evento de interrupción ha ocurrido. Lógica positiva.
CS: Entrada digital.Chip select. Corresponde al pin CSB. Cuando este pin esta a 0V, se activa la funcionalidad SPI.
SCK: Entrada digital. Entrada de la señal de reloj.
SDO: Entrada/salida digital. Salida SPI o configuración de la dirección I2C.
SDI: Entrada/salida digital. Entrada SPI o datos seriales I2C.
VIO: Entrada de alimentación digital. Corresponde al pin VDDIO. La interfaz serial con el microcontrolador puede manejar voltajes diferentes que la alimentación del sensor. Por ejemplo, el sensor pude ser alimentado a 2.0V y la interfaz serie puede trabajar a 3.6V.

El acelerómetro digital BMA180

El acelerómetro digital de tres ejes BMA180 es producido por Bosch y se puede conseguir en Sparkfun. Puede medir aceleraciones tanto dinámicas como estáticas con una gran precisión. Debido a sus tres ejes perpendiculares da la posición absoluta en un campo de gravedad. Este sensor es un arreglo de dos chips. Un ASIC evalúa los tres canales de salida del elemento sensor micromecánico que funciona de acuerdo al principio de capacitancia diferencial.
El BMA180 proporciona una salida digital completa de 14 bits por medio de la interfaz SPI o I2C. Con el comando apropiado se puede elegir entre el rango completo de aceleraciones que va de 1g hasta 16g. Un filtro de segundo orden Butterworth que va desde los 10Hz hasta los 600Hz es incluido, que proporciona un pre-acondicionamiento de la señal medida. La resolución típica a 2g es de 0.5mg y una precisión por debajo de los 0.25° en aplicaciones de medida de la inclinación.  El consumo de corriente típico es de 650μA a 2.4V en el modo estándar. Además, el sensor puede ser puesto en modo de bajo consumo, donde informa al sistema hosts de un cambio en la aceleración por medio del pin de interrupción. Esta función puede ser utilizada para despertar (wake-up) al sistema host, del modo sleep.

El conversor Serial-USB con chip FTDI232

Para comunicar una computadora con un microcontrolador, utilizaba el puerto serie del microcontrolador y un max232, asi obtenia una comuncacion serial sincrona.

Sin embargo, en los ultimos años, los puertos seriales de las PC han ido desapareciendo, y en las computadoras portatiles es practicamente imposible encontrarlos. Por esta razon busqué otras formas de comunicacion entre la PC y el microcontrolador, encontrando que el estandar USB, es el mas utilizado, relativamente facil de implementar y economico.

Existen dos formas de añadir esta funcionalidad a los microcontroladores:
  1. Chips convertidores de Serial a USB.
  2. Con microcontroladores con el estandar USB integrado.
En esta ocasion elegí el chip de FTDI por que necesitaba una plataforma que me permita un desarrollo rapido de los proyectos, ademas de que lo puedo conseguir en México, es utilizado en muchos proyectos tanto amateurs como profesionales, es barato, y existen muchas variantes de circuitos convertidores ya hechos que se venden comercialmente, como lo es el que esta a la venta en la pagina de Sparkfun.
La placa FTDI Basic Breakout de Sparkfun incluye los pines DTR, RX, TX, CTS y GND del estandar RS232. Se conecta a la computadora por medio de un cable con conector mini USB. El microcontrolador solo necesita los pines RX yTX de la placa, ademas de la conexion a tierra. Una vez hechas todas las conexiones solo hace falta instalar el driver de la pagina de FTDI y listo, las comunicaciones se pueden hacer por medio del Hyper terminal de Windows.