Tutorial para hacer un Medidor de Capacitancia con Arduino

Condensadores: componentes muy comunes y básicos en cualquier taller de electrónica. Es un componente eléctrico pasivo de dos terminales que puede almacenar energía en forma de un campo eléctrico y vienen en una gran variedad de formas, por lo general tienen etiquetado en su exterior las unidades pero a veces no lo tienen y no podrás saber exactamente el valor, el cual es medido en faradios y las subunidades más comunes de capacitancia son el nanofaradio, microfaradio y el picofaradio.

Si yo pudiera conocer todos los materiales utilizados en la fabricación del condensador como por ejemplo el tipo de dieléctrico, forma y tamaños exactos tal vez podría medir su capacitancia utilizando ciertas ecuaciones matemáticas, pero con los componentes ya fabricados es difícil y necesitarás un medidor de capacitancia, entonces, vamos a ver cómo construir uno usando el arduino.

Materiales

Arduino UNO.

Módulo de LCD I2C.

-Multimetro comercial.

– Resistencia de 10Kohms

Entonces como vamos a medir la capacitancia usando el arduino comencemos definiéndola: la capacitancia es una medida de la capacidad de algo para almacenar carga eléctrica. Nuestro medidor de capacitancia arduino se basa en la misma propiedad básica de los condensadores que se llama constante de tiempo, la cual se define como el tiempo que toma la carga a través del condensador para alcanzar el 63,2% del voltaje que tendría cuando estaría completamente cargada.

 

Los condensadores más grandes tardan más en cargarse y por lo tanto tiene una constante de tiempo mayor. Un arduino puede medir la capacitancia porque el tiempo que tarda en cargarse está directamente relacionado con la capacitancia.

En la siguiente ecuación se puede apreciar que la constante de tiempo en segundos es igual a la resistencia del circuito multiplicada por el valor de la capacitancia entonces, lo que vamos a hacer es cargar el condensador a través de una resistencia usando los pines del arduino, pero tenemos que conocer el valor de esta resistencia.

 

Por lo que la vamos a medir con el multímetro antes de utilizarla. Usando el convertidor analógico a digital del arduino podemos medir el voltaje que alcanza el condensador.

Entonces aplicamos 5 voltios que será el voltaje máximo en este caso y empezamos a contar el tiempo. Cuando el voltaje alcance el 63,2% de la carga completa detenemos el proceso y calculamos la capacitancia. Podemos obtener el valor de capacitancia porque sabemos la resistencia del circuito, el voltaje medido y el tiempo que tardó en alcanzar los 63,2% de la carga completa; eso es todo lo que necesitamos para aplicar la ecuación anterior y obtener la capacitancia Ahora deberíamos estar listos para configurar el medidor de capacitancia y empezar a medir algunos condensadores.

Pero el principal problema de esta configuración es el rango de valores que podemos medir ya que es casi imposible poder medir condensadores de un picofaradio a 100 faradios usando sólo un circuito con el arduino, es por eso que vamos a montar dos circuitos: uno que funciona con rangos de un faradio a 3,9 faradios y otro de 10 picofaradios a 4,7 nanofaradios, con estas dos configuraciones podríamos medir condensadores de 10 picofaradios a casi 4 faradios.

Conexiones

Muy bien electrónicos, vamos a ver el esquema para el primer rango de valores (de un faradio a 4 faradios) entonces, usaremos el pin 13 para cargar el condensador a través de la resistencia de 10 kiloohms, cuando empieza el proceso de carga también iniciamos un contador de tiempo en microsegundos y medimos el voltaje con la entrada analógica de adc.

El adc del arduino tiene 10 bits, entonces 0 voltios serán 0 y 5 voltios serían 1024, entonces el 63,2% de 1024 serían 648. Cuando la lectura analógica alcance ese valor dejamos de cargar el condensador y paramos el contador de tiempo. Ahora podemos obtener el valor de la capacitancia dividiendo el tiempo transcurrido entre el valor de la resistencia utilizado que en este caso es una resistencia de 10 kiloohmios.

 

La otra resistencia de 220 ohms no afectará la ecuación, se coloca solo para dar un pequeño retraso en el proceso de descarga. El pin de descarga es el pin digital 8, el cual configuraremos como entrada cuando se carga para darle una impedancia alta y una salida baja cuando se descarga.

 

Código

Primero que nada, importamos las librerías:

El módulo de la pantalla LCD es I2C, por lo que debemos proporcionarle una librería especial para su correcto funcionamiento.

Descarga la librería de cristal líquido I2C en el siguiente link.

Una vez descargada la librería, abre el IDE del arduino, vamos a Sketch>Include Library>Add .ZIP Library. Selecciona los archivos zip descargados para instalarlos.

Descarga el código en el siguiete link, cópialo y pégalo en el IDE del arduino y vamos a echar un vistazo. como siempre importamos las bibliotecas con las intrucciones de #include. Luego defino la dirección de esclavo de mi pantalla lcd I2C que en este caso de 0x3f en hexadecimal, pero también tenga cuidado compré otro lcd azul y tenía una dirección diferente, por lo que si la pantalla no le sirve, debe verificar que la dirección sea correcta.

 

Muy bien a continuación definimos nuestros pines y definimos el valor del resistor utilizado en mi caso una resistencia de 10k.

Activamos la pantalla lcd en nuestra función setup y luego ponemos en high el pin de carga.

Eso aplicará 5 voltios al condensador a través de una resistencia de 10k. Justo después del método digitalWrite empezamos a contar microsegundos y mientras la lectura analógica del voltaje del condensador está por debajo de 63,2%, esperamos, cuando alcanzamos ese valor detenemos la carga y calculamos los valores de capacitancia.

Ahora sólo tenemos que decidir las unidades e imprimir los valores en la pantalla utilizando la función lcd.print eso es cargamos el código hacemos las conexiones en la placa de pruebas y hacemos la primera prueba

Se recomienda medir las capacitancias primero con un multímetro comercial o también con un osciloscopio para asegurarse de que los valores medidos sean los adecuados. Con este circuito podría medir perfectamente unos condensadores de 0,1 microfaradios a un microfaradio y 100 microfaradios.

Entonces como dije antes, las malas noticias sobre esto es que no podemos medir con alta precisión los valores más bajos de capacitancia usando este circuito, el proceso de carga es demasiado rápido.

Conexiones

Entonces para eso usaremos un circuito totalmente diferente, cuyo circuito es el más simple que jamás verás y tiene una precisión bastante alta es solo el condensador desconocido conectado al arduino utilizaremos el pin analógico A2 para cargar el condensador y A0 para descargarlo, este circuito es bastante simple y sólo se basa en el código, no hay resistencia adicional sólo las resistencias de pull up y pull down internas y también los condensadores internos del microchip del Arduino.

 

Vamos a imaginar el siguiente circuito donde tenemos Cu que es el condensador desconocido y C1 que es el condensador interno del Arduino, sabemos que el valor de la capacitancia interna puede estar entre 20 y 30 pico faradios empezamos con ambos condensadores descargados a 0 voltios.

Ajustamos A2 a un voltaje positivo de 5 voltios. El valor en que A0 se establece es proporcional a la relación del condensador desconocido dividido por la capacidad total de C1.

Estas Son las fórmulas usadas entonces definimos todos estos valores en nuestro código.

Pero los 30 picofaradios de capacitancia parásita que tiene el microcontrolador arduino no será exactamente 30 picofaradios, pero podemos hacer que el código utilice ese valor para empezar, no será muy preciso porque la capacitancia parasita es exactamente 30 picofaradios entonces tenemos que calibrar lo hice esto con un condensador de 100 picofaradios, primero lo he medido con el osciloscopio.

El valor real de esto fue de 103 picofaradios, pero la lectura que obtengo en mi placa de arduino es de 99 picofaradios y el valor de la de ese es de 801 entonces si tenemos en el pin 0 el valor de 801 el valor de A2 máximo que es 1024 y el valor real de ese de 103 picofaradios ponemos estos valores en la segunda ecuación y con esto nos dice que es unos 28,54 picofaradios.

Muy bien tenemos el valor real de C1 por lo tanto deberá cambiar este valor en la variable IN_STRAY_CAP_TO_GND en el código de arduino según el valor encontrado.

Ahora la medida es muy precisa para valores desde un picofaradio o hasta incluso cuatro microfaradios entonces como puede ver aquí medimos el valor del pin de entrada y calculamos la capacitancia aquí utilizando la fórmula anterior. A continuación decidimos la escala e imprimimos los valores, eso es eso es todo lo que necesitas para medir la capacitancia.

Pongamos este circuito en la placa y vamos a probarlo.

 

Como puede ver funciona muy bien y con un circuito tan simple lo que hice fue fusionar estos dos medidores en un solo uno utilizando el siguiente código.

Este es el esquema de la parte final para cambiar de tres escalas podríamos usar un interruptor giratorio o tal vez algunos botones, yo usaré un interruptor giratorio.

 

Cada una de las entradas del interruptor giratorio debe tener una resistencia conectada a tierra.

luego el interruptor estará conectado a 5 voltios.

Ok para rango de valores de alta capacitancia utilizaremos los pines A1 color violeta y A6 color violeta también para cargar y descargar el condensador y el pin analógico A0 naranja para medir el voltaje. Para los valores bajos usaremos A1 violeta y A0 naranja para cargar y descargar el condensador pequeño.

En el código cuando cambiemos la escala tendremos que definir como entradas los pines que no usamos para darles una impedancia infinita para asegurarnos de que no fluirá corriente a través de esos pines si quieres probar este código descárgalo y súbelo a tu arduino.

Muy bien electrónicos aquí termina este tutorial, espero haber podido enseñarte algo sobre los condensadores y que este post te ayudará a mejorar tus habilidades con arduino.

COMMENTS (1)

  1. Pingback: Tutorial para hacer un medidor de potencia casero con arduino – Arduino Peru | Comunidad Maker del Perú

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

15 − seis =