Menu
in

Medidor de Resistencias y Capacitores

Las aplicaciones electrónicas son tan diversas que no podrían enumerarse de principio a fin. Siempre habrá una aplicación específica para resolver un desarrollo particular. Es muy raro encontrar una aplicación genérica que resuelva múltiples necesidades. Al igual que con el Voltímetro USB publicado en Neo Teo, con el circuito propuesto hoy no pretendemos construir un medidor universal que sea capaz de reemplazar a los instrumentos de banco que se utilizan para evaluar capacitores y resistencias. Esto es otra cosa. Esto es razonar, esto es aprender. Esto es analizar un abanico de posibilidades para adaptar la mejor solución a nuestro diseño. Y por supuesto, si lo deseas, también lo puedes utilizar para medir capacitores y resistencias.

Estoy convencido de que muchos de ustedes han atravesado momentos durante el desarrollo de un complejo circuito electrónico en los cuales han dicho frases como “Aquí me haría falta un circuito que pueda medir capacidad”. Por ejemplo, cuando han realizado algún oscilador o un filtro pasabandas de audio. Armar un medidor de capacitores (capacímetro) tal vez sea un emprendimiento importante que poco aprovecharemos en el futuro. Y comprarlo sería un gasto que no vale la pena para una aplicación tan pequeña. ¿Qué hacemos entonces cuando nos encontramos con ese frasco lleno de capacitores que no sabemos su valor y al menos desearíamos tener una idea aproximada de él? No lo necesitamos para reparar un marcapasos o para desarrollar un compás electrónico encargado de guiar misiles con ojivas nucleares. Hay situaciones y desarrollos específicos donde las tolerancias no requieren exactitud absoluta. A diario nos enfrentamos a diseños en los que es igual de útil y efectivo un capacitor de 100 nanofaradios que de 94 o 108 nanofaradios.

Lo mismo ocurre con las resistencias (o resistores). “¿El naranja que era?” “¿Dónde habrá quedado esa tabla de colores que…?” Hay que tener mucha experiencia y práctica en el manejo del código de colores de las resistencias para leer su valor e interpretar las bandas de colores con un simple pasaje visual. Por otro lado, dentro del diseño de circuitos complejos que aglutinan muchas secciones de sub-circuitos simples, puede hacer falta un medidor de resistencias. Un control de volumen necesita de un medidor de resistencias. Una fotocélula está acoplada por obligación a un medidor de resistencias. Y aquí nuevamente se hace presente el interrogante de la precisión y la exactitud. Subir un poco el volumen de nuestro flamante amplificador no discrimina entre 10K2, 12K u 8K7. Lo mismo si necesitamos un poco más de luz diurna para que actúe la fotocélula resistiva y se apaguen las luces del patio. No necesitamos 4 decimales. Con sólo saber una medida aproximada, muchas veces es suficiente.

Para estos casos que aparentan ser muy complejos encontramos soluciones fáciles y confiables en los microcontroladores PIC y en especial en el lenguaje de programación BASIC. Utilizando el mismo circuito que empleamos en la construcción del Voltímetro USB y agregándole un display alfanumérico convencional, resolveremos nuestra necesidad de disponer de un instrumento útil para medir capacitores y resistencias. Además, la técnica que hoy veremos nos será útil para muchos circuitos basados en PIC que necesiten dentro de su rutina de trabajo medir resistencias o capacidades aplicadas a algunos de sus pines. Con un poco de habilidad y razonamiento será muy sencillo adaptar estas rutinas y variantes en el circuito para agregarlas al Voltímetro USB NeoTeo y transformarlo en un instrumento múltiple. Si además le sumamos el amperímetro 0-5Amper que publicamos durante 2009, estaríamos muy próximos a delinear nuestro propio multímetro personal. Tal vez no resulte ser el más exacto al final de la construcción, pero estoy seguro que será el mejor del mundo porque lo habremos construido nosotros mismos. Llevará nuestra marca, nuestro sello, el reflejo de nuestra personalidad y eso es algo que no se compra con la tarjeta de los dos globitos.

La instrucción RCIN
En lenguaje de programación BASIC para PIC (en nuestro caso Proton), la instrucción RCIN se utiliza para contar o contabilizar el tiempo en que un pin del PIC permanece en un estado lógico mientras se carga o descarga un capacitor acopado en el circuito conectado al mencionado pin. Este capacitor formará parte de un circuito RC que ofrecerá una curva de carga o descarga cuyo tiempo de ejecución variará de acuerdo a los valores de los componentes asociados al pin del PIC. La sintaxis utilizada en el programa permite partir de un estado de descarga del capacitor y transitar hacia un estado de carga o el procedimiento inverso, es decir, partir de un capacitor cargado y medir el tiempo de descarga del capacitor.

Valor = RCIN PORTC.0 , HIGH

En nuestro caso, y según la sintaxis, hemos elegido el bit 0 del puerto C para conectar el circuito RC. Pondremos en estado alto el pin del PIC para determinar el estado en que finalizará el procedimiento mediante la palabra HIGH al final de la instrucción. Al resultado obtenido lo almacenaremos dentro de la variable Valor. Repasando el procedimiento podemos indicar que la instrucción RCIN medirá el tiempo en el que el capacitor tardará en cargarse hasta un determinado valor ya que la instrucción termina con la palabra HIGH. La otra manera de efectuar la medición sería partiendo de un capacitor cargado con un estado de finalización LOW, es decir bajo, que en nuestro caso significa “descargado”. Gracias a que podemos configurar el circuito de dos maneras diferentes, podremos optar por utilizar uno para el procedimiento de descarga con la instrucción RCIN y el otro para el procedimiento de carga.

Cuando RCIN se ejecuta, se inicia el funcionamiento de un contador. Este contador se detiene en el momento en que el pin asociado al circuito RC cambia de estado lógico. Esto es aproximadamente a 1,5Volts. Si el pin no cambia de estado por no tener acoplado al mismo ningún capacitor o ninguna resistencia, la instrucción cargará en la variable un 1 (uno) ya que necesitará un ciclo de cuenta para descubrir que no existe una constante de tiempo de carga o descarga. Por el contrario, si el pin no cambia de estado luego de 65535 ciclos de cuenta, la instrucción RCIN devolverá un 0 (cero). Por lo tanto, la resolución del procedimiento de medición del tiempo de carga o descarga del capacitor asociado dependerá de la frecuencia de los ciclos de reloj del sistema.

Si utilizamos un cristal de 4Mhz., los incrementos de tiempo se harán cada 10uS. Pero si utilizamos un cristal de 20Mhz, el tiempo ya cae a 2uS permitiendo una mayor resolución gracias a una mayor devolución de conteos cargados en la variable. Para nuestro caso, que empleamos el PLL del PIC 18F2550 para trabajar a 48Mhz, la resolución es mucho mayor. No debemos dejar de mencionar la importancia de la resistencia de 220 Ohms que se conecta a la entrada del pin del PIC. Si la resistencia a medir fuese, por ejemplo, un potenciómetro, al llegar a GND con el cursor central estaríamos colocando a este potencial a un pin que se destruiría mientras pasa por un estado alto. De esta manera, la resistencia nos garantiza una corriente máxima de 23mA, valor encasillado dentro de los márgenes de seguridad de trabajo para un pin de un PIC.

¿Qué obtenemos con la instrucción RCIN?
En cualquier sistema RC donde el capacitor se descarga sobre una resistencia (o resistor), esto se hace según una constante de tiempo conocida como “tau”. Esta constante representa una carga o descarga del valor de tensión entre placas del capacitor a un 63% respecto al estado previo. “Tau” se calcula multiplicando R*C. Y el tiempo que requiere el cambio de estado de una tensión a otra viene dado por la fórmula Tiempo = -“tau” * (ln (Vfinal/Vinicial)). En esta fórmula ln es el logaritmo del cociente de las tensiones. Por lo tanto, si tenemos que  “tau” es igual a R*C (R en Ohms y C en Faradios), partiendo de valores conocidos como 10K para R y 0,1uF para C, “tau” (la constante RC) será igual a 1 milisegundo = 1 * 10e-3. Luego, la fórmula de “Tiempo” quedará del siguiente modo: Tiempo = -1 * 10e-3 * ( ln (5Volts / 1,5Volts)) = 1,204 * 10e-3. Por lo tanto, con este valor de tiempo para valores establecidos de R y C tendremos que, con un cristal de 20Mhz y una unidad de tiempo de 2uS, RCIN nos entregará 602 ciclos de cuenta, mientras que para un oscilador de 48Mhz el valor aproximado será de 1450 ciclos de cuenta.

La fórmula final a resolver será entonces, Unidades de RCIN = 1450 * R (en Kohms) * C (en uFaradios). Despejando los valores de C y/o de R ya podemos armar nuestras rutinas de lectura y visualización en el display de los resultados. De este modo, para valores de R conocidos y seleccionados, podemos armar medidores de capacidades desconocidas que nos entregarán valores en microfaradios. Lo mismo en el proceso inverso. A partir de capacitores de valores conocidos y seleccionados, podremos medir resistencias desconocidas que se expresarán en KOhms. Por lógica, manipulando los valores fijos de R o C obtendremos otras escalas de medición gracias a la obtención de otras constantes de tiempo aplicables en las fórmulas. Dos instrumentos de medición gracias a una única instrucción: RCIN. ¿Te imaginabas que era tan sencillo construir una aplicación donde fuera necesario emplear un medidor de resistencias o uno de capacitores? Leer un potenciómetro o un capacitor variable con un PIC que no posea conversores ADC deja de ser un imposible. Hasta con un elemental 16F84A a 20Mhz. podrás lograrlo. Sólo es cuestión de imaginarlo y aplicar lo visto en este artículo. Tú eres capaz de sorprendernos con eso y mucho más.

Escrito por Mario

Leave a Reply