<img src="https://queue.simpleanalyticscdn.com/noscript.gif?collect-dnt=true" alt="" referrerpolicy="-when-downgrade"> Medidor de tensión con PIC12F675
NeoTeo
Ariel Palazzesi

Medidor de tensión con PIC12F675

Medidor de tensión con PIC12F675

Descubre cómo un pequeño microcontrolador puede transformar datos analógicos en información vital para monitorear baterías. ¡Atrévete a conocer este ingenioso proyecto!

Encaramos en este artículo la construcción de una herramienta que nos permitirá determinar la tensión presente en los bornes de una pila o batería, indicando su estado mediante tres diodos LEDs. Al estar basado en un microcontrolador, es posible modificar su comportamiento a gusto del .

Medidor de tensión con PIC12F675
Este es el microcontrolador elegido.

Muchas veces queremos determinar cual es la tensión presente en los bornes de una batería o pila, antes de proceder a recargarla o descartarla definitivamente. No hace mucho habíamos desarrollado un circuito que era capaz de efectuar esta tarea, pero solo funcionaba con baterías de un determinado voltaje.

El circuito que hoy les proponemos incluye un pequeño y muy económico microcontrolador que contiene en su interior un conversor analógico digital, capaz de transformar el valor de la tensión presente en uno de sus pines en un valor numérico que puede ser evaluado. Esto significa que, si somos capaces, podemos construir un programa que en base a ese valor se produzca algún tipo de señal que nos indique cual es el estado de la batería 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 analógico digital y hasta 6 pines de entrada/salida.

Ya habíamos abordado este problema antes. Pero en este caso, el tener un microcontrolador a cargo del circuito, este proyecto es mucho más interesante. Veámoslo.

Medidor de tensión con PIC12F675
El PCB sólo mide unos 6x3 cm.
Medidor de tensión con PIC12F675
El diseño es muy simple.
Medidor de tensión con PIC12F675
Aspecto del PCB ya terminado.

El conversor analógico digital Un conversor analógico digital o DAC (ADC, por Analogue to Digital Converter, en inglés) es un dispositivo que permite convertir datos analógicos (básicamente señales de corriente o de tensión) en valores digitales capaces de ser procesados por un ordenador o un microcontrolador.

Si bien existen circuitos integrados específicos 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 diseño de los circuitos a la vez que se disminuye el costo y tamaño final de los mismos. Uno de los más pequeños que cae dentro de esta categoría es el PIC12F675.

Este microcontrolador puede convertir una tensión de entre 0 y 5V presente en su entrada en un valor de 0 a 1023. Eso significa que nuestro programa, analizando este valor numérico, puede ser capaz de saber cual es la tensión digitalizada. Si dicha tensión proviene de la pila o batería que estamos ensayando, tenemos el problema prácticamente resuelto.

Cuando la entrada del ADC está a 0V, el valor entregado por el conversor analógico digital es 0. Cuando en la entrada se encuentran presentes 5V, el valor devuelto es 1023. Para los valores de tensión intermedios el conversor entrega valores numéricos proporcionales, por lo que resulta muy simple determinar mediante una regla de tres simple el voltaje medido.

Si realizamos la división de 5V entre los 1024 pasos del conversor ADC, tenemos que cada paso de este equivale a poco más de 4.88 milésimos de Volt. Si la tensión presente en la entrada del ADC es de 3.5V, la salida será 3.5V/ 0,0048828125 = 716.8. Como solo se trabaja con números enteros, el valor leído será de 716. ¿Sencillo, verdad?

Con todo esto en mente, analicemos el proyecto.

Medidor de tensión con PIC12F675
Circuito de nuestro medidor de tensión.
Medidor de tensión con PIC12F675
Debemos construir un PCB como éste.
Medidor de tensión con PIC12F675
Posición de los componentes sobre el PCB.

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, así que no profundizaremos en su análisis.

El PIC12F675 tiene la entrada correspondiente al conversor analógico digital conectada a uno de los bornes (el positivo) de la bornera en la que se debe conectar la pila o batería a medir. El otro borne está unido al negativo. Es muy importante no conectar la pila o batería al revés, ya que hay una buena posibilidad de que esto termine con la vida del PIC. Tal como está diseñado el circuito, solo pueden medirse tensiones entre 0 y 5V.

Tres de las salidas del microcontrolador se encargan de controlar tres LEDs, que serán nuestra indicación del estado de la tensión 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 esté sobre los 3.5V, el amarillo cuando se encuentre entre 2.5V y 3.5V, y el rojo encenderá cuando la tensión presente en la entrada del ADC sea menor a 2.5V. Estos valores son totalmente arbitrarios, y el 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 cerámicos de 0.1 microfaradios.
  • 1 Condensador electrolítico de 470 microfaradios/16Volt.
  • 1 Resistor de 10K.
  • 3 Resistores de 220 ohms.
  • 1 Microcontrolador PIC12F675 con su zócalo.
  • 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 página siguiente puedes ver el programa sugerido.

    Medidor de tensión con PIC12F675
    Podemos comprobar pilas y baterías de hasta 5V.

    Este programa se ha confeccionado utilizando el BASIC del PIC SIMULATOR IDE, elegido como siempre por su excelente desempeño, bajo costo y la disponibilidad de una versión demo que puede descargarse desde la Web del autor.

    No hay mucho para agregar al listado que proporcionamos, ya que está completamente comentado como para que se pueda entender su funcionamiento. Te recordamos que en nuestro Tutorial sobre programación 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 tensión con 12F675
    'Versión 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
    Medidor de tensión con PIC12F675
    Utilizamos el PIC SIMULATOR IDE.
    Medidor de tensión con PIC12F675
    El listado del programa, en BASIC.

Etiquetas

#Tutoriales
avatar

hace poco ingrese a esta pagina la veo interesante

avatar
avatar

Tengo 2 de estos desde hace 3 años jojojo voy a ver si les puedo dar un uso util ;)

avatar
avatar

hola me parece muy interesante

avatar
avatar

Hola, quiero comprar el PIC por internet, pero me salen varias clases de ese modelo, cual de todos estos es el que necesito:

PIC12F675-E/MD
PIC12F675-E/MF
PIC12F675-E/P
PIC12F675-E/SN
PIC12F675-I/MD
PIC12F675-I/MF
PIC12F675-I/P
PIC12F675-I/SN
PIC12F675T-E/MF 8
PIC12F675T-E/SN 8
PIC12F675T-I/MF 8
PIC12F675T-I/SN

Gracias.

avatar
avatar

Bueno he encontrado otra tienda, donde solo tienen dos clases para ese modelo, cual de estos dos es el que me vale para este circuito?


PIC12F675-E/P
PIC12F675-I/P


Gracias.

avatar
avatar

y para medir de 0 a 12v?

avatar
avatar

Podrías poner el programa en assembler ?

avatar

Debes iniciar sesión para publicar un comentario.