La baja de precios de los acelerómetros, unos pequeños circuitos integrados capaces de determinar hacia donde y como se están acelerando, ha hecho posible algunas maravillas como el mando del Wii. Pero también pueden ser utilizados para llevar a cabo proyectos en casa, como este medidor de fuerza G para coche.
Si buscamos la definición de acelerómetro, encontraremos que se trata de un instrumento destinado a medir aceleraciones. Hay muchas maneras de construir un acelerómetro. Por ejemplo, se puede colocar una masa sobre un material piezoeléctrico que, al ser deformado en mayor o menor medida por los cambios de peso producidos en la masa por la aceleración, se genere una corriente más o menos importante. También los hay basados en tecnología MEMS, y otros que emplean moléculas de gas y una fuente de calor.
En la practica, son pequeños circuitos integrados que entregan en una de sus salidas (pueden disponer de una para cada eje espacial) una serie de pulsos cuya frecuencia depende de la aceleración a la que están sometidos. Un microcontrolador puede leer esos trenes de pulsos y determinar el sentido y la magnitud de la aceleración. Su precisión es tan grande que se los utiliza para medir vibraciones o, como decíamos al principio, para construir mandos de juegos. Muchos móviles o reproductores de medios han comenzado también a incluir acelerómetros.
Los aviones de combate incorporan esta tecnología para mantener informados a los pilotos de la intensidad de las fuerzas G a las que están sometidos durante los virajes y las aceleraciones. Pero gracias al bajo precio y la popularización de pequeños chips como los de la foto, es posible incorporar un medidor similar a nuestro coche.
Hecha esta introducción, podemos pasar a la descripción del proyecto en si.
Se trata de construir un indicador de la aceleración a la que estamos sometidos en el interior de nuestro coche. Para ello, se emplea un acelerómetro, un microcontrolador, una serie de displays LEDs de 7 segmentos y un puñado de componentes adicionales.
El dispositivo tiene un pequeño tamaño, y es capaz de medir la aceleración sobre un eje (por ejemplo, adelante/atrás). La caja que contiene el circuito puede adherirse al parabrisas mediante un par de pequeñas ventosas, de forma que su lectura resulte cómoda.
El uso de tres dígitos LED permiten leer la aceleración de 0 a 9 Gs con dos decimales. Por supuesto, alcanzar valores tan altos dependerá de nuestro coche (y de que el modelo de acelerómetro que usemos permite lecturas tan altas). Recordemos que “1 G” es la fuerza normal a la que nos somete la Tierra (nuestro peso) cuando estamos en reposo. A 2G pesaríamos el doble.
Además de los displays y del acelerómetro se necesita un microcontrolador PIC18F452, que se encargará de interpretar los datos y mostrarlos al conductor. El autor, identificado como “Chris” en la Web que publicó el proyecto, aclara que a pesar de que ha utilizado un cristal de 20MHz para generar los pulsos de reloj del microcontrolador, puede usarse una frecuencia más baja, incluso de solo 4 MHz.
Contrariamente a lo que puede pensarse, el esquema eléctrico del proyecto es muy sencillo. Solo necesitamos unos pocos componentes (y un programa para grabar en el microcontrolador, por supuesto) para emular el funcionamiento de un aparato sofisticado que se usa en un avión de combate.
En el esquema podemos ver como la salida del acelerómetro que corresponde al eje “Y” envía los datos a uno de los conversores analógico/digital del microcontrolador. También se ha incluido una pequeña fuente de alimentación, encargada de convertir los 9V de la batería utilizada en los 5V que necesita el proyecto para funcionar. Emplea un viejo conocido nuestro: el regulador de voltaje LM7805
El manejo de los displays emplea un gran número de pines del microcontrolador, ya que no se han multiplexado. Esto puede resultar llamativo, pero como el PIC elegido tiene recursos de sobra, el autor ha decidido simplificar algo el software “derrochando” pines de entrada/salida. También se ha previsto una llave que permite apagar el aparato para ahorrar batería cuando no lo usamos.
Para montar los componentes se ha utilizado una pequeña placa de circuito impreso para prototipos. Nada impide que diseñemos un PCB especial para este proyecto, pero al tener tan pocos componentes se ha mantenido el nivel de complejidad bajo, y no hace falta construir una plaqueta para él.
Los displays LED, la llave de encendido/apagado y el acelerómetro se montan el exterior de la caja plástica que alberga el circuito y la batería. Como puede verse en las fotos, se han practicado una serie de agujeros para permitir que los pines de los componentes pasen a través y sean accesibles desde el interior.
Utilizando un buen número de cables delgados y flexibles se conectan los componentes del exterior a la placa de circuito impreso. Este proceso exige un poco de paciencia (y prolijidad) pero el resultado es bueno. Una vez que hemos montado todo, batería incluida, se colocan sobre la caja las pequeñas ventosas que servirán para fijar el aparato al parabrisas.
Tampoco el software que controla el comportamiento del circuito es demasiado complejo. El autor ha elegido el compilador C18 de Microchip para realizarlo, y básicamente se trata de una función encargada de leer el estado del conversor analógico/digital, evaluar su contenido, y mostrar el resultado sobre los displays de 7 segmentos.
Este es el trozo de código que se encarga de esas tareas. Puedes descargar el listado completo desde aquí.
while(1){
update_char_display(char_disp); //Update 7-Segs
Delay1KTCYx(250); //Delay A Little While
Delay10TCYx(5); //Redundant Delay For A/D
ConvertADC(); //Do A/D Conversion
while( BusyADC() ); current_result = ReadADC(); temp = current_result – past_result;
//If Only A Slight Change Don’t Update if( temp > 2 || temp < -2 ) { past_result = current_result; g_val = current_result – gravity_ss; g_val = g_val << 5; g_val = g_val / display_divider; if(g_val < 0) g_val = g_val * -1; i = 2; } while(i!= 255) { char_disp[i]=g_val%10; g_val = g_val/10; i–; }
}
Hay que recordar que el circuito propuesto no dispone de conector ICSP (In Circuit Serial Programing), por lo que deberemos grabar el PIC antes de soldarlo a la placa.
Se trata de un buen proyecto para tomar contacto con los acelerómetros. Todo lo necesario para construir el dispositivo está publicado, y es lo suficientemente sencillo e interesante como para que cualquier aficionado pueda encararlo.
Solo se utiliza uno de los ejes del acelerómetro. Quizás el lector se sienta lo suficientemente interesado en el tema como para modificar ligeramente el circuito y el software para medir también las aceleraciones laterales, presentes en los virajes. Eso implicaría el uso de algunos displays LED adicionales, pero le daría al dispositivo mucha mas funcionalidad.
Por lo pronto, si decidimos armarlo tal como está, en unas pocas horas de trabajo tendrás listo un novedoso gadget con el que impresionar a tus amigos.