You are on page 1of 6

Muchas veces queremos determinar cual es la tensin presente en los bornes de una batera o pila, antes de proceder a recargarla

o descartarla definitivamente. No hace mucho habamos desarrollado un circuito que era capaz de efectuar esta tarea, pero solo funcionaba con bateras de un determinado voltaje. El circuito que hoy les proponemos incluye un pequeo y muy econmico microcontrolador que contiene en su interior un conversor analgico digital, capaz de transformar el valor de la tensin presente en uno de sus pines en un valor numrico que puede ser evaluado. Esto significa que, si somos capaces, podemos construir un programa que en base a ese valor se produzca algn tipo de seal que nos indique cual es el estado de la batera o pila bajo prueba. El microcontrolador elegido es un PIC12F675, de Microchip, de solo 8 pines. Este micro cuesta menos de dos euros, y es ideal para este tipo de aplicaciones: tiene conversor analgico digital y hasta 6 pines de entrada/salida. Ya habamos abordado este problema antes. Pero en este caso, el tener un microcontrolador a cargo del circuito, este proyecto es mucho ms interesante. Veamoslo.

El PCB slo mide unos 6x3 cm.

El diseo es muy simple.

El conversor analgico digital Un conversor analgico digital o DAC (ADC, por Analogue to Digital Converter, en ingles) es un dispositivo que permite convertir datos analgicos (bsicamente seales de corriente o de tensin) en valores

digitales capaces de ser procesados por un ordenador o un microcontrolador. Si bien existen circuitos integrados especficos para estas tareas, dada la frecuencia con la que se emplean junto a microcontroladores ha hecho que muchos de estos directamente los incorporen en su interior, de forma que se simplifique el diseo de los circuitos a la vez que se disminuye el costo y tamao final de los mismos. Uno de los ms pequeos que cae dentro de esta categora es el PIC12F675. Este microcontrolador puede convertir una tensin de entre 0 y 5V presente en su entrada en un valor de 0 a 1023. Eso significa que nuestro programa, analizando este valor numrico, puede ser capaz de saber cual es la tensin digitalizada. Si dicha tensin proviene de la pila o batera que estamos ensayando, tenemos el problema prcticamente resuelto. Cuando la entrada del ADC esta a 0V, el valor entregado por el conversor analgico digital es 0. Cuando en la entrada se encuentran presente 5V, el valor devuelto es 1023. Para los valores de tensin intermedios el conversor entrega valores numricos proporcionales, por lo que resulta muy simple determinar mediante una regla de tres simple el voltaje medido. Si realizamos la divisin de 5V entre los 1024 pasos del conversor ADC, tenemos que cada paso de este equivale a poco mas de 4.88 milsimos de Volt. Si la tensin presente en la entrada del ADC es de 3.5V, la salida ser 3.5V/ 0, 0048828125 0048828125 = 716.8. Como solo se trabaja con nmeros enteros, el valor ledo ser de 716. Sencillo, verdad? Con todo esto en mente, analicemos el proyecto.

tensin.

Circuito de nuestro medidor de

Debemos construir un PCB como ste.

El proyecto Como siempre lo hacemos, te proporcionamos todos los datos como para que puedas modificar el proyecto y adecuarlo a tus necesidades. El circuito propuesto consta de una etapa destinada a obtener los 5V perfectamente regulados que necesita el microcontrolador para funcionar. Esta parte ya la hemos analizado antes, asi que no profundizaremos en su anlisis. El PIC12F675 tiene la entrada correspondiente al conversor analgico digital conectada a uno de los bornes (el positivo) de la bornera en la que se debe conectar la pila o batera a medir. El otro borne esta unido al negativo. Es muy importante no conectar la pila o batera al revs, ya que hay una buena posibilidad de que esto termine con la vida del PIC. Tal como est diseado el circuito, solo pueden medirse tensiones entre 0 y 5V. Tres de las salidas del microcontrolador se encargan de controlar tres LEDs, que sern nuestra indicacin del estado de la tensin analizada. Hemos previsto un LED rojo, uno amarillo y uno verde. En el programa que proporcionamos como ejemplo, el LED verde encender cuando la entrada este sobre los 3.5V, el amarillo cuando se encuentre entre 2.5V y 3.5V, y el rojo encender cuando la tensin presente en la entrada del ADC sea menor a 2.5V. Estos valores son totalmente arbitrarios, y el usuario puede elegir los que desee, modificando el programa. La lista de componentes necesaria para este proyecto es la siguiente: 2 Borneras de 2 tornillos para circuito impreso. 2 Condensadores cermicos de 0.1 microfaradios. 1 Condensador electroltico de 470 microfaradios/16Volt. 1 Resistor de 10K. 3 Resistores de 220 ohms. 1 Microcontrolador PIC12F675 con su zcalo. 1 Diodo 1N4007. 1 Diodo LED rojo. 1 Diodo LED verde. 1 Diodo LED amarillo.

1 Regulador de voltaje LM7805 o LM78L05 El circuito impreso es de una sola cara, y puede construirse como ya se ha explicado. En la pgina siguiente puedes ver el programa sugerido.

Este programa se ha confeccionado utilizando el BASIC del PIC SIMULATOR IDE, elegido como siempre por su excelente desempeo, bajo costo y la disponibilidad de una versin demo que puede descargarse desde la Web del autor. No hay mucho para agregar al listado que proporcionamos, ya que esta completamente comentado como para que se pueda entender su funcionamiento. Te recordamos que en nuestro Tutorial sobre programacin de microcontroladores hemos explicado como realizar un programa en BASIC. Simplemente, compilaremos el listado en BASIC y grabaremos el archivo .HEX generado en el PIC12F675. '-------------------------------------------'NEOTEO.COM 'Medidor de tensin con 12F675 'Versin 1.0, Mayo/2008 '-------------------------------------------'Declaro los nombres de los pines de salida Symbol rojo = GPIO.2 Symbol amarillo = GPIO.1 Symbol verde = GPIO.0 'Macro para el ADC Symbol ad_action = ADCON0.GO_DONE 'Configuro puertos y ADC TRISIO = %111000 'GPIO 0,1,2 salidas; 3 y 4 entradas CMCON = 0x07 'comparator off VRCON = 0x00 'vref off ANSEL = %00111000 'GPIO.4 A/D en W/Frc 'Activo VREF, Selecciono canal 0, Justifico a la derecha ADCON0 = %00001111 High ADCON0.ADON

'Variable que contiene el valor del ADC Dim valor As Word GPIO = %110000 'todas las salidas a 0 'Bucle principal loop: Adcin 3, valor 'Si es mayor a 3.5V, enciendo verde If valor > 716 Then rojo = 0 'Apago LED rojo amarillo = 0 'Apago LED amarillo verde = 1 'Enciendo LED verde Endif 'Si es mayor a 2.5V y menor a 3.5V, enciendo amarillo If valor > 512 And valor < 717 Then rojo = 0 'Apago LED rojo amarillo = 1 'Enciendo LED amarillo verde = 0 'Apago LED verde Endif 'Si es menor a 2.5V, enciendo el rojo If valor <= 512 Then rojo = 1 'Enciendo LED rojo amarillo = 0 'Apago LED amarillo verde = 0 'Apago LED verde Endif Goto loop End

Utilizamos el PIC SIMULATOR IDE.

El listado del programa, en BASIC.

You might also like