Capacimetro

33
  Capacímetro Digital Autorrango Autorrange Digital Capacitance Meter Autor: Mauricio J. Moretto Cátedra: Tecnología Electrónica Ing.: Ivano Bonamici

Transcript of Capacimetro

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 1/33

Capacímetro Digital Autorrango

Autorrange Digital Capacitance Meter

Autor: Mauricio J. Moretto

Cátedra: Tecnología ElectrónicaIng.: Ivano Bonamici

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 2/33

Contenido

Resumen 3

Summary 3

Introducción 3

Algunos métodos de medición convencionales 4

Método de medición por respuesta transitoria 5

Soluciones con temporizador 555 7

El circuito 8

Limitaciones del rango de medida en medición de pequeñas capacidades 9

Limitaciones del rango de medida en medición de grandes capacidades 10

La medida de frecuencia en el microcontrolador 11

La división en el microcontrolador 12

La medida de periodo en el microcontrolador 14

La escala automática 15

La visualización 16

Conclusiones 17

MATERIAL ANEXO 18

El puente de “Wien” 18El puente de “Schering” 19Aplicaciones de los instrumentos de medida basados en microcontrolador 20

Información general sobre sensores inteligentes 20Criterios para la disminución del error en la medida y en la transmisión 20Generalidades sobre sistemas de comunicación para sensores e instrumentos digitales 21Telemedida por corriente 21Diagrama de flujo de partida para la programación del capacímetro 22Código de programa del capacímetro versión prototipo 23

Bibliografía, sitios web utilizados y envío de material 33

2

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 3/33

Capacímetro Digital Autorrango

Autorrange Digital Capacitance Meter

Resumen

En este informe se exponen los lineamientos principales de instrumentación electrónica para construir un medidor de capacitancia digital de amplio alcance (100pF a 999nF autorrango – 1µF a 9990µF au-torrango) basando su funcionamiento en la medición de respuesta transitoria de una red R-C. Se pre-sentan los aspectos claves de diseño para aumentar la exactitud en la obtención de la lectura y evitar errores en caso de adquisición remota.

Summary

In this report the main features of electronic instrumentation are exposed to build a digital capacitancemeter of wide range (100pF to 999nF autorrange - 1µF a 9990µF autorrange) basing their operation onthe measure of trasient response of a R-C network. They show up the key aspects of design to increasethe accuracy in the obtaining of the reading and to avoid errors in the event of remote acquisition.

Introducción

El estado de la tecnología electrónica actual provee a los diseñadores una gran diversidad de elementosque posibilitan la implementación de instrumentación electrónica que logra alta exactitud. Los micro-controladores fácilmente programables, sumados a los amplificadores operacionales y las temporiza-ciones exactas dadas por los cristales de cuarzo permiten la implementación de instrumentos de manode bajo consumo y también dan origen a los llamados sensores inteligentes; en los cuales se necesita“hardware” mínimo por cuestiones de tamaño, consumo y costos.Con estas herramientas se plantea el diseño y la puesta en marcha de un medidor de capacitancia digi-

tal, el cual es un instrumento de mano basado mayormente en un microcontrolador y unos pocos com- ponentes accesorios que, gracias a la lógica de control y capacidad de cálculo permite obtener caracte-rísticas como la de rango automático, solucionando por programa (microcódigo) problemas que en una

primera instancia hubiesen requerido tanto de “hardware” adicional (considérese una llave selectora)como de una intervención del usuario al sistema (debería ser el operador quien debiera seleccionar laescala adecuada de medida).El proyecto se encara desde un marco teórico levemente más general que el correspondiente al medi-dor de capacidad a construir de modo que estén sentadas las bases para la construcción de dispositivossimilares como detectores y sensores inteligentes y se den los criterios correspondientes para diseñar una adquisición remota de las medidas y los datos que ellos producen sin incurrir en errores (consultar el material anexo).

3

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 4/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Algunos métodos de medición convencionales*

En las medidas electrónicas nos encontramos con que hay varias formas de determinar la capacidad deun elemento. Algunos métodos se basan en un puente de impedancias (los llamados puente de “Wien”y de “Schering”, explicados en el material anexo), los cuales son utilizados preferentemente para de-terminar el factor de pérdidas en capacitores (D). Su implementación y puesta a punto es algo compli-cada y el acercamiento a la medida debe realizarse en forma manual por el operador (el proceso seasemeja a una sintonización), lo que lo hace un método poco práctico para adquirir una medida enforma automática.

Otra técnica es la del detector sincrónico, el cual utiliza un oscilador de una frecuencia senoidal cono-cida y muy exacta que se aplica a una resistencia R s que esta en serie con el capacitor a medir Cx. Latensión sobre R s estará en fase con la corriente que pasa por el capacitor, un detector sincrónico elimi-

na la parte real de la tensión sobre R s, lo que permite obtener una tensión de salida que, salvo por unfactor, es proporcional a la capacidad.

Los multímetros digitales convencionales miden la capacitancia administrando corriente constante alcapacitor durante un intervalo fijo de tiempo, midiendo el voltaje resultante y luego calculando la ca-

pacitancia. La lectura es lenta, demorando alrededor de un segundo. Como la carga se hace usando latensión interna, la tensión del capacitor puede ser de solamente alrededor de algunos voltios.

La principal desventaja de los métodos nombrados anteriormente es la de necesitar un conversor ana-lógico-digital para leer un valor de tensión, lo que puede sumarnos “hardware” adicional si el mismono se encuentra integrado al circuito integrado que tenemos en uso, encarecer el circuito, etc.

*Se amplían al final en “anexos”

4

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 5/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Método de medición por respuesta transitoria

Este método se denomina también de integración, ya que el modelo matemático de un capacitor nosdice que la tensión en sus bornes VC es función de la integral de la corriente de carga:

VC(t) = 1/C ∫ iC(t) dt

El transitorio ocurre cuando en un circuito R-C serie el capacitor se carga a una tensión constante E.

Cuando la llave de la figura se abre, el capacitor C comenzará a cargarse a través de la resistencia R yel voltaje VC se incrementará en función del tiempo transcurrido desde la conmutación de la llave.Este proceso se denomina transitorio de carga.

Manteniendo a E y R constantes, la tensión VC será función del tiempo en el cual el capacitor se man-tuvo en carga, lo cual se expresa en la siguiente fórmula:

VC = E [1 – e – t / ( R C )

]

En donde las unidades corresponden a t [Segundo], R[Ohm], C[Faradio] y “e” se denomina númerode neper (2,72 aproximadamente), el cual es adimensional.Manteniendo las condiciones anteriores, si nos interesa el valor del tiempo transcurrido para que elcapacitor alcance una tensión VC1:

t1 = - RC ln [1 – VC1 / E ]

Esto significa que t1 es proporcional a C. Por lo tanto t1, si bien está afectado por un factor constante,nos indica el valor de la capacitancia.En el caso de tener un capacitor previamente cargado en una red R-C serie, podemos producir un tran-sitorio de descarga, el cual tiene un circuito y una ecuación que le corresponde:

t2 = RC ln [E / VC2]

5

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 6/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Por lo anteriormente expuesto, podríamos en principio obtener el valor de la capacitancia en base a lamedición del tiempo de carga o de descarga de un capacitor en una red R-C serie, para lo cual necesi-tamos un voltaje de referencia dado por un comparador de voltaje que nos indique cuando VC alcanzala tensión de carga VC1 o se descarga hasta una VC2. Si bien de acuerdo a los fundamentos dados, lamedición del tiempo de carga se podría realizar con un solo voltaje de referencia. Esto se dificulta enla práctica por las siguientes razones:

En realidad el voltaje no cae a 0 voltios en la descarga ni alcanza la tensión máxima E en la car-

ga: Tenemos que matemáticamente la curvas de tensión de VC son asíntotas que no adquieren los va-lores extremos, si bien se llega a valores tan cercanos que pueden ser considerados como tales, estoaumenta el intervalo de medición. Fenómenos como el de absorción dieléctrica (reaparición de tensiónen terminales de un capacitor luego de haberse descargado) y la caída de tensión en la llave de descar-ga acentúan este efecto.

Habrá un tiempo transcurrido entre el comienzo de la carga y el cronometraje: Esto causa un pequeño error de medición que generalmente puede ser ignorado.

Corrientes de fuga en las entradas analógicas: Causan errores de medida en valores cercanos a cerovoltios.

6

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 7/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Soluciones con temporizador 555

En vista de la necesidad de evitar los valores extremos, debemos tener dos comparadores de tensiónque indicarán si se produjo la carga o la descarga. El valor que indica la carga debe ser menor a E (ten-sión de alimentación de la red R-C) y el valor que indica la descarga debe ser mayor a cero Voltios.Estos requisitos fueron tomados en el diseño del temporizador 555, el cual tiene un comparador deventana que acepta como valor mínimo VC=1/3E para interpretar que se produjo la descarga y comovalor máximo VC=2/3E para asumir que se produjo la carga.

Frecuencia de oscilación de esta configuración: F = 1,44 / [ (R A + 2R B) CX ]

Además, por razones que se harán evidentes conforme se avance en el diseño (Por ejemplo, la posibi-lidad de obtener la medida de la capacidad partiendo de una frecuencia) necesitamos que la carga ydescarga no sea un acontecimiento único, sino que se repita periódicamente. El temporizador 555

permite esta posibilidad, llamándose esta configuración modo astable.

En este modo se actúa sobre la red R-C, produciendo un transitorio de carga cuando VC<2/3E paraluego cambiar el circuito (cuando VC = 2/3E) mediante la acción de un transistor que produce un tran-sitorio de descarga hasta que VC = 1/3E, punto en el cual comienza el transitorio de carga nuevamente.

Se debe tener una memoria que permita mantener la topología de la red (O sea que mantenga la confi-guración de las conexiones eléctricas que llevan a cabo el transitorio de carga o descarga según co-rresponda) hasta que se logre efectivamente la carga o descarga. Para este motivo el 555 incorpora unamemoria de 1bit o biestable, el cual memoriza el nivel alto de tensión que se produce en el comparador conectado a “Set” cuando VC = 2/3E (Comienza transitorio de descarga). Esta memorización se man-tiene hasta que VC = 1/3E, tensión en la cual se genera un nivel alto a la salida del comparador conec-tado a “Reset”, que hace memorizar un nivel bajo al biestable (Se produce nuevamente el transitoriode carga).

Una entrada adicional de “Reset” permite poner a nivel bajo el biestable con una señal externa, lo cualnos permite inhabilitar el temporizador 555 para que no oscile, lo cual es útil si trabajamos con más de

un circuito temporizador, ya que nos permite habilitar solamente el que realice mejor la medición.

7

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 8/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

El circuito

Se logra una gran simplicidad de diseño al implementar la mayor cantidad de características posiblesmediante el desarrollo de “software”, por ejemplo la característica de la escala automática, la cual seexplicará posteriormente en este informe.Las patas R A0 y R A1 del puerto A cumplen una doble función, por un lado exploran y habilitan los cir-cuitos temporizadores alternadamente en busca de un capacitor a ser medido (Un procedimiento de laautoescala) y por otro lado, una vez realizada la medición, participan en la multiplexación de los “dis-

plays” de salida para la lectura; ya que en la visualización se enciende de a un número por vez (El

puerto RB proporciona el número y el puerto RA habilita solamente el display que corresponde a esenúmero), a una velocidad tal que da la sensación al ojo de que todos los números están encendidossimultáneamente. De no realizar la multiplexación necesitaríamos cuatro puertos similares al RB, uno

por cada “display”.

En esta instancia surge la pregunta de qué ocurre con los circuitos de tiempo cuando R A0 y R A1 parti-cipan en la multiplexación, ya que siguen conectadas al microcontrolador las habilitaciones de los cir-

cuitos de tiempo. En un primer momento se puede pensar que se producirá una lectura errónea de lacapacidad, ya que la habilitación en los mencionados circuitos de tiempo se producirá por causa del programa de multiplexación y no por el programa de autoescala, que es el único que les corresponde.Lo que en realidad se hizo fue implementar una solución de este problema en el mismo “software”,esto es, cuando visualizamos; R A0 y R A1 variarán y producirán señales en los osciladores que no co-rresponden a las lecturas y simplemente el “software” invalida esta información. Adoptar esta soluciónhace que el instrumento no ejecute el multiplexado mientras está realizando la medición y que no midamientras se presenta la visualización del valor de la capacidad (ya que la visualización utiliza el multi-

plexado).

8

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 9/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Limitaciones del rango de medida en medición de pequeñas capacidades

Los límites de frecuencia del “hardware” digital combinados con las restricciones propias al tempori-zador imponen las siguientes limitaciones en el rango de medida:

Máxima frecuencia del temporizador: (NE555) 1,1MHZ; no obstante (TLC555) 2,4MHZ Operaremos con Fmax=1MHZ, suponiendo que la menor capacidad será de 1pF tenemos

F = 1,44 / [ (R A + 2R B) CX ] por lo tanto (R A + 2R B) = 1,44 / ( F CX ) y

(R A + 2R B) = 1,44 / ( 1MHZ 1pF ) = 1,44MΩ

Máxima resistencia a colocar red R-C: (E=5V) R A+R B = 3,4M Ω Limitación impuesta por el consumo de corriente en la entrada de los comparadores que conforman eltemporizador 555; Ima x= 2,5µA (corriente de umbral ). El punto anterior nos muestra que estamos enun valor permitido.

Mínimo período a medir con resolución del 0.1%(1000 valores distintos): 10msEsta limitación proviene de haber elegido un cristal de 4MHZ para el microcontrolador, con lo cualtenemos instrucciones en 1 / 1MHZ = 1µs (Las instrucciones en el microcontrolador se ejecutan aFcristal / 4), ahora bien, si queremos una resolución del 0.1% debemos hacer que el incremento sea el

mínimo período de la señal a medir dividido 1000, con lo cual los incrementos serán de 10ms / 1000 =10µs y debido a que el “software” que se utiliza para contar período necesita un mínimo de 8 instruc-ciones por incremento de cuenta (8µs), la cuenta puede ser realizable a partir de un período de 10msen adelante y no se permite un período menor.

Máxima frecuencia a medir por el microcontrolador: El uso del TIMER0, un contador que posee elmicrocontrolador PIC16F84, independiente del cristal oscilador, permite medir frecuencias mayores a1MHZ, que es el límite tomado para el temporizador 555, con lo cual este parámetro no es una limita-ción en el diseño.

Mínima capacidad a colocar en la red R-C: 95pF

Se toma como límite práctico, debajo de este valor los efectos de la capacitancia son tan pequeños que pueden verse enmascarados hasta volverse imperceptibles, limitando la exactitud y la repetibilidad(precisión) de las lecturas. No obstante; en una escala de 100pF – 999pF, con una resolución del 0,1%,tendremos que el incremento mínimo será de 1pF. Este es un punto importante también para los senso-res ya que nos establece que no es aconsejable realizar las mediciones en base a una capacidad mínimade alrededor de 100pF.

9

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 10/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Limitaciones del rango de medida en medición de grandes capacidades

Mínima resistencia a colocar red R-C: (E=5V) R A+R B = 1K Ω Limitación impuesta por el consumo de corriente que provoca la red resistiva. Para valores menores deresistencia, el transistor de descarga se protege al verse exigido y el conjunto no oscila. Si bien es po-sible el funcionamiento con resistencias menores a 1K Ω, tendremos un consumo excesivo de la red yun funcionamiento no garantizado.

Máximo período a medir: Según la aplicación (En este trabajo se toma a modo ilustrativo 10s).En este punto no hay una limitación propia del instrumento, pero se considera como una medida no

práctica aquella que supere el tiempo de medición requerido en una aplicación o proceso industrial(Considérese un control de calidad en la fabricación de capacitores), ya que se torna una lectura exce-sivamente lenta para el operario o para el proceso en el cual se utilice este instrumento. Con las res-tricciones impuestas y aceptando R A+2R B = 1,44K Ω para que el período medido coincida numérica-mente con la lectura de capacidad, el mayor valor que puede medir el instrumento es de:

F = 1 / T = 1/10s = 0,1hz en donde T es el período

F = 1,44 / [ (R A + 2R B) CX ] por lo tanto CX = 1,44 / [ F (R A + 2R B) ] y

CX = 1,44 / [ 0,1s (1,44K Ω) ] =10.000µF

No obstante podría ser útil en alguna medición fortuita de capacitores de mayor valor al citado, ya queno se necesita “hardware” adicional, a ejemplo ilustrativo tenemos:

Medición de un capacitor de valor 100.000µF

T = [ (1,44K Ω) 100.000µF] /1,44 = 100 segundos = 1minuto con 20 segundos

Medición de un capacitor de valor 1Faradio

T = [ (1,44K Ω) 1Faradio] /1,44 = 1000 segundos = 16 minutos con 40 segundos

Para que las medidas de grandes capacidades demanden tiempos menores a los obtenidos se debe redi-señar el “hardware” con una filosofía que, si bien trate de limitar el consumo, provea las lecturas entiempos menores.

10

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 11/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

La medida de frecuencia en el microcontrolador

La forma más simple de medir una frecuencia FX , es mediante un contador que registre el número deciclos de la señal de entrada N durante un lapso de tiempo fijo T0, que se denomina puerta (tambiénllamado ventana). Al contar durante un intervalo de tiempo T0, obtenido a partir de un reloj de refe-rencia, se obtendrá N = FX T0

Dado que la señal de entrada y el reloj no son síncronas, puede suceder que la puerta de tiempo se aca-

be justo cuando llega otro impulso de entrada, o que se encuentra una transición que llega justo antesde acabar el tiempo T0. Por lo tanto, hay una indeterminación de 1 cuenta, que se representa diciendoque el resultado es N±1 cuenta.

La resolución en la medida de frecuencia es 1/N. Para obtener una buena resolución, N debe ser alta.Pero esto implica un tiempo de medida tanto más largo cuando más pequeña sea Fx. Si por ejemplo, sedesea medir una frecuencia de 10K HZ con un error inferior al 0.1%, hay que contar por lo menos 1000impulsos, y como el tiempo entre impulsos de entrada es de 1/10K HZ = 100µs, la medida durará100ms.

11

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 12/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Para medir frecuencias con un microcontrolador, hacen falta dos contadores programables, uno quegenere la ventana de tiempo y el otro que registre los impulsos de la señal de entrada.Sabiendo que la frecuencia será el número de pulsos contados en una ventana de tiempo determinada ,

F = N / T0, además se necesita que N (cuenta de pulsos) tome los valores desde 100 a 999, ya que unacuenta menor a 100 nos hace perder resolución, lo cual indica que se debe cambiar la escala. Eligiendoa T0 convenientemente tenemos:

Para T0 = 1ms FMIN = 100K HZ FMAX = 999K HZ

Para T0 = 10ms FMIN = 10,0K HZ FMAX = 99,9K HZ

Para T0 = 100ms FMIN = 1,00K HZ FMAX = 9,99K HZ

Entonces, tomando las ventanas múltiplo de 1ms, obtenemos la frecuencia en K HZ.

Los pulsos son generados por el temporizador 555 y son registrados por un contador interno al micro-controlador (“TIMER0”), hacemos coincidir el inicio y fin de cuenta con el comienzo y finalizaciónde la ventana para que la cuenta sea directamente el valor de la frecuencia en K HZ. Debido a que el “TIMER0” es un contador de 8 bits solamente, la máxima cuenta posible que puederealizar es de 28 = 256 valores distintos, lo cual es insuficiente para nuestro propósito. Mediante la

programación de una interrupción por desborde de “TIMER0”, incrementamos un registro de 8 bitscada vez que se produzca un desborde en el contador, con lo cual ahora disponemos de un contador de

16 bits (216 = 65536 valores) del cual sólo utilizaremos 10 bits para llegar hasta 999 (210 =1024).

Regresando a la fórmula CX = 1,44 / [ F (R A + 2R B) ] notamos que, a diferencia del período, la capa-cidad CX es inversamente proporcional a la frecuencia y no basta tomar la resistencia como múltiplode 1,44 para hacer que la medida arroje directamente el valor de la capacidad. En este caso hay quehacer un cálculo matemático (división) el cual es llevado a cabo por el microcontrolador.

La división en el microcontrolador

Si tuviésemos que calcular la capacidad en base a la frecuencia por nuestros medios tomaríamos la

fórmula anterior y la resolveríamos manualmente o con un aparato calculador. En este proceso de re-solución notaríamos que las cantidades involucradas necesitan de una notación científica, ya que F semide en [K HZ] y las unidades de la resistencia son [K Ω] o [MΩ]. Además el valor de la capacidad esmuy pequeño pF[10

-12] nF[10

-9]

µF[10

-6] .

Este procedimiento no se puede llevar a cabo directamente en el microcontrolador y son necesarioscomplejos algoritmos para realizar la multiplicación, división, trabajar con números que tienen comaflotante.

No obstante hay una solución para trabajar simplemente con números enteros e implementar única-mente un algoritmo de división y es la siguiente:

Tomar las resistencias del temporizador R A + 2R B =1,44K Ω o 1,44MΩ. Esto hace que el factor

1,44 sea anulado de la ecuación.

12

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 13/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Suprimir los factores múltiplos de 1000. Serán suprimidos los K HZ, K Ω o MΩ, ya que afectan sóloen un factor de escala. La ecuación en este punto es CX = 1 / N, en donde el resultado sigue siendoun número decimal.

Hacer del valor de CX un número entero (100 – 999). En este caso se afecta la ecuación de un fac-tor, tal que:

CX = 100.000 / N

Activar las banderas correspondientes para que en la visualización el número se muestre como unnúmero con coma flotante y notación de ingeniería. Si bien el microcontrolador sólo realizará la ope-ración matemática:

CX = 100.000 / N

Únicamente se trabaja con enteros, utilizando como banderas en qué ventana fue medida la frecuenciay cuál fue la red resistiva que se utilizó, podemos poner en la visualización, lo que en realidad es unnúmero entero será visualizado por el usuario del instrumento afectado por una coma y un factor deescala pF, nF, µF.

En cuanto a la operación de división en formato binario, 100.000 está contenido en 17 bits, mientrasque N lo está en 10 bits. El algoritmo que utilizado aquí pertenece a la familia “CORDIC”, el cual

realiza la división de dos números de 16 bits. Para poder utilizar como dividendo la constante de 17 bits se realizó una pequeña modificación al citado algoritmo.Los rangos que en lugar de medir frecuencia se basen en medir período no necesitarán realizar la divi-sión para obtener el valor de capacidad CX.A modo de ejemplo realicemos la medición hipotética de un capacitor de 5nF:La frecuencia generada por el capacitor colocado en el circuito de tiempo con R A + 2R B =1,44MΩ es:

F = 1,44 / [ (R A + 2R B) CB X ] = 1,44 / [ (1,44MΩ) 500nF ] = 200HZ

Para la cual la autoescala elegirá automáticamente la ventana de 1s dando una cuenta de:

N = 200HZ x 1s = 200 pulsos contados. Aquí el microcontrolador aplica la fórmula:

CX = 100.000 / N = 100.000 / 200 = 500

Tomando como información la red resistiva utilizada y la ventana de cuenta de pulsos se almacena enun registro la información de la ubicación del punto y qué factor de escala corresponde (informaciónutilizada por el programa de visualización) lo cual hace que el valor 500 (que no brinda información alusuario) se visualice con un punto que hace ver la valor 500 como 5 unidades y dos decimales (queson cero en este caso) seguidos de un factor de escala que indica la medida en nanofaradios:

Obteniendo por este método una correcta y completa lectura final.

13

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 14/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

La medida de periodo en el microcontrolador

Para bajas frecuencias y para márgenes de frecuencia de medida pequeña, es preferible medir el perio-do de la señal. Para medir el periodo se cuentan los impulsos de una señal de reloj conocida interna al

microcontrolador durante un intervalo de tiempo dinámico determinado a partir de la entrada (el mis-mo período de la señal a medir).

El tiempo de medida es TX. La cuenta comienza con un flanco descendente de la señal proveniente del555 y se detiene con el próximo, lo que delimita el período de la señal. Se toman las consideracionesnecesarias detalladas en el punto anterior para que la medida del período nos de directamente la lecturaCX sin tener que realizar operaciones matemáticas con el microcontrolador.

14

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 15/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

La escala automática

Para que el operador del instrumento no deba intervenir seleccionando la escala que mejor se ajusta ala medida y además el resultado provea de una interpretación directa se dota al instrumento de unaescala automática, en la cual un programa se encarga de comenzar por el menor de los rangos la medi-ción, si se obtiene un N menor a 100 (lectura mayor a 999) se procede al rango siguiente hasta centrar la lectura en los límites dispuestos.

Rango Frecuenciaoperación(HZ)

Metodo lectura Duración ven-tana

Error asociado(discriminación)

RA+2RB

100 a 999 pF 1K a 10K Frecuencia 100ms +-1pF 1,44MΩ

1,00 a 9,99 nF 100 a 1K Período TMAX=10ms +-10pF 1,44MΩ

10,0 a 99,9 nF 10 a 100 Período TMAX=100ms +-0,1nF 1,44MΩ

100 a 999 nF 1 a 10 Período TMAX=1s +-1nF 1,44MΩ

1,00 a 9,99 µF 100 a 1K Período TMAX=10ms +-10nF 1,44KΩ

10,0 a 99,9 µF 10 a 100 Período TMAX=100ms +-0,1µF 1,44KΩ

100 a 999 µF 1 a 10 Período TMAX=1s +-1µF 1,44KΩ

1000 a 9990µF

0,1 a 1 Período TMAX=10s +-10µF 1,44KΩ

Debido a que en este diseño la medición de capacitores a partir de 1µF requiere un cambio en la red

R A+2R B de 1.44MΩ a 1,44K Ω, en realidad se utilizan dos integrados temporizadores 555, uno pararangos menores a 1µF y el otros para rangos mayores al mencionado, que hace tener una disposicióncircuital en la cual los capacitores de hasta 999nF son medidos en un par de terminales y los que supe-ran este valor en otro par distinto, esta es una limitación de esta escala automática, ya que es quienopera el instrumento quien debe decidir en qué contactos debe realizar la medición. No obstante laexploración para detectar si se colocó un capacitor en alguna de las dos redes es automática, lo quehace que el capacímetro sólo presente un botón de encendido, eliminando en el proceso diseño toda

botonera o llave selectora adicional.

15

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 16/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

La visualización

Debido a que todo el proceso que se realizó hasta el momento se encuentra en formato binario natural,debemos implementar un algoritmo que transforme el resultado a un número decimal que pueda ser visualizado en bloques de display de 7 segmentos, esta forma de visualización se corresponde con lacodificación “BCD” (decimal codificado en binario). El algoritmo utilizado puede convertir un máxi-mo de 16 bits en binario a cuatro dígitos en decimal, del cual usamos solo 10 bits para representar tresdígitos.Con respecto a la visualización de la coma se eligió un método simple, tomamos un registro en el cual

se almacena la escala utilizada y eso nos dice directamente en que lugar colocar la coma en el momen-to de mostrar la lectura, ya que dentro de una misma escala la coma (si la hubiese) no cambia de lugar.

En lugar de utilizar notación científica se utiliza notación de ingeniería, en la cual se adopta un cuarto bloque de 7 segmentos que permite visualizar p(pico) [ 10

-12 ], n(nano) [ 10-9

], o µ(micro) [ 10-6

].Al encender el instrumento se muestra una C que indica el funcionamiento.

En el caso de valores mayores a 999µF no se puede visualizar el número y la escala simultáneamente, por lo tanto primero se visualiza la escala [µ] y luego la lectura numérica 1000 a 9990.

16

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 17/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Conclusiones

La flexibilidad, simplicidad circuital, velocidad y facilidad de programación de los microcotroladores permiten realizar diseños que años atrás hubiesen requerido de gran cantidad de circuitos integradosdigitales, con simplicidad y a menores costos.

Debido a las características especiales que presenta este instrumento de elevada precisión, gran espec-tro de medición y rango automático, combinado con un costo bajo, hace que tenga un lugar propio enlo que se refiere a capacímetros digitales de mano (Portátiles).

Se encontraron dificultades en la medición de períodos menores a 10ms con el microconrolador (capa-cidad mínima 1nF) y debido a la intención de medir capacidades más bajas se implementó una medi-ción de frecuencia, la cual extendió el rango mínimo de medición a 100pF al precio de tener que im-

plementar una división de números del orden de 16 a 17 bits en el microcontrolador.

En cuanto a las operaciones matemáticas que se debieron implementar se buscó realizar la mayor can-tidad de simplificaciones posibles, como por ejemplo evitar trabajar con decimales en los registrosinternos al microcontrolador y realizar la reducción al máximo de las expresiones matemáticas, lo cualdisminuyó en gran medida los recursos utilizados para realizar el programa.

Se orientó la resolución de problemas pensando las soluciones como un conjunto “hardware-

software”, pero haciendo hincapié en un “hardware” mínimo. Los problemas que se presentaron en eldiseño del capacímetro (Rango limitado a 100pF-9990µF) no escaparon a la teoría de las MedidasElectrónicas y a la implementación de componentes de uso común. No obstante, se encontró a medidaque se realizó el diseño que la medición de capacidades más pequeñas que 100pF no se puede llevar acabo simplemente con un temporizador 555 y se debe pensar en una configuración de amplificadoresoperacionales con elevado rechazo al ruido en la entrada (red R-C) y una alta impedancia de entrada.

También se llegó a la conclusión de que si se deben medir grandes capacidades (10.000µF – 10F) en periodos de tiempo breves ( del orden de 1 a 10 segundos) para aplicaciones que así lo requieran (encaso contrario se puede utilizar el mismo “hardware” tal cual como está, pero se debe ampliar el“software”), si bien no es crítico el reemplazo del temporizador 555, por lo menos se debe dotar a estede circuitos auxiliares de potencia ligeramente mayor y además comienza a cobrar importancia el con-sumo del instrumento que, si bien sigue siendo portátil, cabe la posibilidad de carecer de autonomíasuficiente (duración de la batería) para considerarse instrumento de mano.

Desde el punto de vista profesional, el proceso de diseño y construcción de este aparato planteó desa-fíos a cada momento ya sea matemáticos, físicos y de automatización. Estos desafíos llevaron a la

búsqueda de información y a la aplicación del diseño, lo que proporcionó experiencia y puesta a prue- ba de la habilidad. A medida que se llegó a su conclusión se notó cómo se fue forjando una forma detrabajar ordenada y sistemática a lo largo de todo el proyecto.

17

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 18/33

MATERIAL ANEXO

El puente de “Wien”

El puente de “Wien” se destina en principio a la medición de la capacidad de capacitores cuyas pérdi-das son apreciables y pueden considerarse como resistencia paralelo; por ejemplo el ensayo y medi-ción de cables de dos conductores (envainados para energía eléctrica o coaxiles para RF), y capacito-res electrolíticos de gran capacidad.En la figura siguiente se muestra el esquema de un puente de “Wien” típico, los resistores R1, R2 yR3 son de precisión y no inductivos, el resistor Rx representa la pérdidas del capacitor bajo ensayo.

E

RxCx

C3

R3 R1

R2

D

Las impedancias de cada una de las ramas del puente son respectivamente:

Recordando que en el equilibrio los productos de las ramas opuestas son iguales resulta:

Zx =Rx

1 + j w Rx Cx

Z3 = R3 + 1 j w C3

Rx =R2 R3

R11 + (w R3 C3)2

(w R3 C3)

2Cx =

C3R1R2

1 + (w R3 C3)2

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Z2 = R2

Z1 = R1

18

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 19/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Conseguir la condición de equilibrio del puente y obtener los valores de Cx y Rx es bastante engorro-so, como puede verse en las ecuaciones anteriores, y puede lograrse variando R3, R1 y además la fre-cuencia del generador utilizado para exitarlo. Claro que si lo que se desea medir es el factor de pérdi-das (D), la operación se simplifica, ya que el valor de D es:

D = w R3 C3

El puente de “Schering”

Cuando se desea medir capacidad y factor de pérdidas de capacitores y otros elementos que tienencapacidad asociada, tales como cables armados para alta tensión, aisladores, transformadores de po-tencia para uso industrial (Que utilizan aceite como refrigerante, y en los cuales se desea determinar

las características del mismo como dieléctrico); todos los elementos que puedan considerarse comocapacitores en serie con una resistencia de bajo valor; se prefiere utilizar el puente de “Schering”, queen estas circunstancias y a diferencia del anterior, es un poco más fácil de equilibrar.La figura siguiente muestra el esquema básico de un puente de “Schering”. Los capacitores C4 y C3son patrones regulables en décadas, entanto que R3 y R2 son los elementos de ajuste que permitenequilibrar el puente.

E

Rx

Cx

C4

R2

D

R3C3

En la condición de equilibrio se obtiene:

Rx =R3 C2 Cx = R3 C4

R2C4

Sin embargo, como el puente de “Schering” se usa sobre todo para materiales aislantes, no interesatanto la resistencia Rx, sino el factor de pérdidas, que es: D = w C3 R3 La operación más fácil para obtener el equilibrio se consigue manteniendo constantes los valores deR3 y C4, y regulando R2 y C3. En este caso se consigue la lectura independiente, pues C3 no entra en

la fórmula de Cx e interviene directamente en la determinación de D. En cambio R2 entra solamenteen el cálculo de Cx.

19

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 20/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Aplicaciones de los instrumentos de medida basados en microcontrolador

Información general sobre sensores inteligentes

Un sensor inteligente es aquel que combina la función de detección y alguna de las funciones de pro-cesamiento de la señal y comunicación. Dado que estas funciones adicionales suele realizarlas un mi-croprocesador, cualquier combinación de sensor y microprocesador se denomina sensor inteligente.Aunque no tiene que ser un elemento monolítico, se sobreentiende que un sensor inteligente está basa-

do, total o parcialmente en elementos miniaturizados, y con un encapsulado común. Un sensor inteli-gente es inevitablemente más costoso que un sensor convencional. Pero si además del costo de comprase consideran el mantenimiento, fiabilidad, etc; el costo total de un sensor convencional puede ser mu-cho mayor.El nivel de complejidad de un sensor inteligente puede variar. Además de la detección o traducción

puede incluir acondicionamiento de señal, correcciones de cero, ganancia y linealidad, compensaciónambiental, escala de conversión de unidades, comunicación digital, autodiagnóstico, decisión e inclusoactivación sobre el sistema donde se conecta.De esta manera los sensores inteligentes incluyen, además del sensor primario, cuando menos algúnalgoritmo de control, memoria y capacidad de comunicación digital.La repercusión inmediata de los sensores inteligentes en un sistema de medida y control es que redu-

cen la carga sobre los controladores lógicos programables (PLC).

Criterios para la disminución del error en la medida y en la transmisión

La medición, sobretodo en valores pequeños de capacidad, puede verse modificada por la presencia decapacidades parásitas, interferencias y ruido eléctrico, por lo cual se aconseja una cercanía entre elcapacitor a medir y el circuito, en caso de utilizar cables, deben ser blindados y de longitud limitada,también debemos dotar de un blindaje eléctrico al circuito comprometido. Debemos utilizar la menor cantidad de conexiones de contacto óhmico.

En el caso de necesitar medir capacidades muy pequeñas con gran exactitud y precisión debemos re-chazar (ya que no se puede minimizar mas aún) el ruido que se induce en la red R-C ya que produceuna alteración en la curva del transitorio carga-descarga del capacitor. Esto se realiza sustituyendo altemporizador 555 por un arreglo de amplificadores operacionales, en una configuración que tengaelevado rechazo al ruido de entrada.

20

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 21/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Generalidades sobre sistemas de comunicación para sensores e instrumentos digitales

Las señales obtenidas con los sensores, una vez acondicionadas, hay que comunicarlas a un receptor odispositivo de presentación, cercano o remoto. Cuando el receptor y el emisor no están muy lejos, sesuele emplear transmisión por hilos (Cables conductores). También se emplea transmisión por hilos eninstalaciones extensas que incluyan un diseño adecuado.Para distancias muy grandes se emplea telemedida (Transmisión remota de la medida) vía radio. Paradistancias cortas se utilizan también radiación infrarroja o fibras ópticas sobre todo cuando estamos en

presencia de interferencias electromagnéticas fuertes, ya que la luz no se ve afectada (Por lo menosapreciablemente) por las interferencias de carácter electromagnético.Cualquiera sea el medio de comunicación empleado, es necesario acondicionar las señales de los sen-sores para adaptarlas a las características de aquél.Este proceso puede necesitar más de una etapa. En

primer lugar, la señal del sensor, una vez acondicionada mediante un circuito inmediato a él, se modu-la (si su salida es analógica) o codifica (si su salida es digital), para poder ser combinadas con otrasque vayan a compartir el mismo medio, o simplemente para hacerla compatible con el modulador detransmisión.En algunos casos puede suceder que se disponga de una línea propia, transmitiéndose por ella directa-mente un nivel de tensión, corriente o una frecuencia procedente de este codificador o modulador.Si la información se transmite en forma de tensión continua proporcional a la magnitud medida, la

distancia cubierta debe ser pequeña porque, en un entorno industrial, las tensiones parásitas inducidasen el bucle formado por los conductores puede falsear totalmente la medida (debemos utilizar cablesapantallados). La telemedida por frecuencia tiene mayor inmunidad a las interferencias, pero no haynormas que permitan utilizar en un mismo sistema transmisores de distintos fabricantes. Además, lasseñales de frecuencia transmitidas pueden ser fuente de interferencia en circuitos próximos. La tele-medida por corriente supera estos problemas.

Telemedida por corriente

En la telemedida por corriente la magnitud medida se convierte en una corriente continua proporcio-

nal, que se envía por la línea y es detectada en el extremo receptor midiendo la caída de tensión en unaresistencia de valor ómhico conocido. Los valores de corriente normalizados son: (4-20, 0-5, 0-20, 10-50, 1-5, 2-10) mA. Los termopares parásitos y las caídas de tensión en los hilos de conexión tampocoafectan, siempre y cuando el emisor sea capaz de imponer el valor de la corriente en el circuito. Esto

permite utilizar un hilo más fino y por lo tanto menos costoso. Otra ventaja es que un mismo receptor pueda explorar varios canales (en donde hay colocados sensores) con distinta longitud de cable si queésta afecte a la exactitud. El valor de corriente habitual es 4-20 mA.

21

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 22/33

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Diagrama de flujo de partida para la programación del capacímetro

Inicio

Medir con escala inicial Cambio de red

¿Últimaescala

¿Fuera deescala?

Pasar a escala si-guiente

Almacenamiento lugar coma,

unidad de medida yti o de medición

Frecuencia?

Realizar la división

Convertir dígitos BCDa 7 segmentos

Convertir número bina-rio

en tres dígitos BCD

Mostrar número, coma

y unidad de medida

22

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 23/33

Código de programa del capacímetro versión prototipo

La versión prototipo desarrollada para placa experimental produce lecturas confiables desde 1nF a9990µF. Esta versión de código de programa fue realizada en “assembler”, es de notar que la versióndel código detallada a continuación está actualizada y se logró realizar todas las medidas en base a lamedición de período, por lo cual no se utiliza el algoritmo de división.

A continuación se detalla el código de programa utilizado:

;CUIDADO LOS ARCHIVOS .ASM DEBEN TENER UN NOMBRE CORTO PARA QUE MPASMGENERE EL .HEX;este programa funciona;los caracteres responden a display anodo comun con el punto apagado;se tomaron las resistencias multiplo de 1.44;las temporizaciones de las ventanas que miden frecuencia son multiplo de 1ms

LIST p=16F84 ; PIC16F844 is the target processor

#include "P16F84.INC" ; Include header file

cblock 0x10 ; Temporary storage registers (entre cblock y endc declaro variables)PDel0 ;sirve para temporizacionPDel1 ;sirve para temporizacionPDel2timer16 ; junto a TMR0 hace que la cuenta sea un numero de 16 bits como

maximoescala ;indica escala pico nano micro mili

punto ;coloca punto si lo hubiesenumh ; numh y numl contienen el resultado en formato binario de 16 bitsnumlunidadmilcentenadecenaunidadaux ;auxiliar cont ;contador auxiliar

endc

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

23

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 24/33

org 0x00 ;indica al ENSAMBLADOR la direccion de memoria de programa donde seguardara la instruccion que vaya a continuacion

goto prin ;cuidado, el programa no se debe traslapar el programa de interrupcion que co-

***************************************************

************

rin bsf STATUS,RP0 ;Debido a que OPTION se encuentra en banco1

bsf OPTION_REG,T0SE ;Configura incremento del timer0 cada flanco descendente

t enable cuando se desborde saltara a 0x04;Configura a timer0 para que cuente pulsos por RA4

clrf TRISA

estan en banco0

ovwf PORTA

*******Visualizacion*************************************

: g f e d c b a -5 4 3 2 1 0

f |__| b; e | | c

--; d;;Tabla de numeros decimales adaptados a 7 Segmentos para encender los segmentos con un;;0 (cero) lógico ya que el puerto puede drenar mas corriente que la que puede suministrar

m entrada del sensor

addwf PCL ; -fedcbapretlw b'10000001' ;0

mienza en 0x04

;*****************; Test Program;********************************************************* org 0x07

p

bsf INTCON,GIE ;Global interrupt enable bsf INTCON,T0IE ;Timer0 interrupbsf OPTION_REG,T0CS

clrf TRISB bsf TRISA,4 bcf STATUS,RP0 ;debido a que tmr0 y port

movlw 0xFFmmovwf PORTB

bcf PORTA,0 ;red R=1.44Mgoto vedin2

;*********************************; Codificaci¢n --> Segmento

; RB 7 6;; a

; --;

;

;;Los display deben estar conectados a la Puerta B, y deben ser anodo comun;;dejo sin usar el RB0/Int ya que lo uso co o

Tabla

24

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 25/33

retlw b'11110011' ;1retlw b'01001001' ;2

b'00110011' ;4 b'00100101' ;5

retlw b'00000101' ;6

7 segmentos el contenindo de CENTENA, DECENA, UNIDAD

bilita transistores poniendoles un 1 a cada salida

specíficoecodificar

ón del dato;Dato decodificado a puerto

;Habilita Q unidaddo de dígito

nhabilita Q unidad

to 2 por un tiempo específico

m

cf PORTA,2 ;Habilita Q decenall ret2.5 ;Retardo de dígitoilita Q decena

mpo específico

ec a,W odificar bla del datocw '11111 punto si lo hubiese

ificado a puerto

RT ,1 ntenat2.5

retlw b'01100001' ;3retlwretlw

retlw b'11110001' ;7retlw b'00000001' ;8retlw b'00100001' ;9

retlw b'01010111' ;n 10retlw b'11000111' ;u 11

;vis muestra por 4 displays deESCALA.

vismovlw 0x0F ;inha

movwf PORTAmovlw .255 ;valor de repeticion visualizacionmovwf aux

LoopDisp;;Sacar al puerto el Dato 1 por un tiempo emovf escala,W ;Dato para dcall Tabla ;Decodificacimovwf PORTB

bcf PORTA,3call ret2.5 ;Retar bsf PORTA,3 ;I

;Sacar al puerto el Da;movf unidad,W ;Dato para decodificar call Tabla ;Decodificación del dato

ovwf PORTB ;Dato decodificado a puerto

bcabsf PORTA,2 ;Inhab

;Sacar al puerto el Dato 3 por un tie;movf d en ;Dato para deccall Ta ;Decodificación

btfs punto,1andl b 110' ;colocamos

movwf PORTB ;Dato decod

bcf PO A ;Habilita Q cecall re ;Retardo de dígito

25

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 26/33

bsf PORTA,1 ;Inhabilita Q centena

;Sacar al puerto el Dato 4 por un tiempo específico;m

bla ;Decodificación del dato btfsc punto,0andlw b'11111110' ;colocamos punto si lo hubiese

ilita Q centena

0 ;Inhabilita Q centena

aux,F ;Decrementa aux, elude sig. sí ceroto LoopDisp ;Repite ciclo

vemos a empezar con 1.44M

max 10ms (max=999hz min=100hz);10us

110'

movwf puntoe capacidad

btfsc STATUS,Z ;si hay desborde en numl incrementamos numh

nop

1024 y se sale

umple un periodo de tmr0 se sale

era igual o menor a 1023goto menor9

movlw .24 ;sumo el cmp2 de .232 porque subwf no me esta activando bande-

negativo el nro es menor a 1000

ivo C=0

ovf centena,W ;Dato para decodificar

call Ta

movwf PORTB ;Dato decodificado a puerto bcf PORTA,0 ;Habcall ret2.5 ;Retardo de dígito

bsf PORTA,

decfszgo

movlw b'1110' ;luego de mostrar el nro vol

movwf PORTAgoto vedin2

;*******************1era ventana es dinamica periodo;para contar 999 los incrementos deberan ser de;1023=b'11 11111111' y 1000=b'11 11101;si no hay cuenta salimos con el perro guardianvedin1

movlw b'1'

clrf numh ;contienen la cuenta dclrf numlclrf TMR0

sincro1 btfss TMR0,0goto sincro1

incr1 incf numl

incf numh

nop btfsc numh,2 ;cuenta hastagoto vedin2

btfss TMR0,1 ;para tmr0=1cuando se cgoto incr1movlw .253 ;resto 00000011addwf numh,W

btfss STATUS,C ;si C=0 el numero s

finved1ras

addwf numl,w ;si la resta dabtfss STATUS,C

goto convbcd ;cuando la resta da negat

26

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 27/33

;*******************2da ventana es dinamica periodo max 100ms (max=99.9hz 10.0hz minimo);er de 100us

etardo de visualizacion

i R=1.44K

ovlw b'10'

;lo usamos para escapar si se coloca una frec alta

;1era pasada tmr0=1 2da 11

;en el enganche tmr0=10

lTUS,Z ;si hay desborde en numl incrementamos numh

;cuenta hasta 1024 y se sale

o repentinamente aumenta frec

ovlwaddlw .1

,Z

ndo se cumple un periodo de tmr0 se salegoto incr2movlw .253 ;resto 00000011 (.768) 1023-768=255 nro de 8bits

;i numh menor a 768 C=0, entonces vemos si es menor a 100

;para contar 999 los incrementos deberan s

vedin2 movlw 0x4F

movwf PORTBmovlw .50movwf cont ;r movlw .10movwf escala ;mide en nanomovlw .11

btfss PORTA,1 ;mide en u smovwf escalammovwf puntoclrf timer16

clrf TMR0sincro2clrf numh

clrf numlincf TMR0

incr2 movlw .254addwf TMR0,Wbtfsc STATUS,Zgoto sincro2incf numbtfsc STAincf numh

btfsc numh,2goto vedin3

movlw .255 ;sale de la ventana cuandaddwf timer16,w

btfsc STATUS,Cgoto vedin1

m .235 ;produce una demora para que los pasos sean de 100usret2

btfss STATUSgoto ret2

btfss TMR0,2 ;para tmr0=100cua

addwf numh,W btfss STATUS,C ;sgoto escvent

;si no el numero sera igual o menor a 1023

27

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 28/33

finved2 movlw .24 ;1023=b'11 11111111' y 1000=b'11 11101110' 1000=768+232 ,do en 8bits

resente entonces podemos saber si el nro2;sumo el cmp2 de .232 porque subwf no me esta activando banderas

;cuando la resta da negativo C=0

** ***3era es ventana dinamica periodo max 1s (max=9.99hz min=1.00)*******s

rdo de visualizacion

;1era pasada tmr0=1 2da 11cr3 movlw .254

;si hay desborde en numl incrementamos numh

,2 ;cuenta hasta 1024 y se sale

vlw ;sale de la ventana cuando repentinamente aumenta frecaddwf timer16,w

btfsc STATUS,Cgoto vedin2

tmr0=100cuando se cumple un periodo de tmr0 se saleoto cr3

0

,C

;si la resta da negativo el nro es menor a 1000;sumo el cmp2 de .232 porque subwf no me esta activando banderas

en donde 232 esta conteniaddwf numl,w ;tenemos que 768 esta p

es menor a 1000 restando 23

btfss STATUS,Cgoto convbcd

;********* ******;para contar 999 los incrementos deberan ser de 1m;1023=b'11 11111111' y 1000=b'11 11101110'

vedin3 movlw .128movwf cont ;retaclrf puntoclrf timer16

clrf TMR0sincro3clrf numh

clrf numlincf TMR0

inaddwf TMR0,W ;en el enganche tmr0=10

btfsc STATUS,Zgoto sincro3incf numl

btfsc STATUS,Zincf numhbtfsc numhgoto finved3mo .255

movlw .10ret3 addlw .1

btfss STATUS,Zgoto ret3

btfss TMR0,2 ;parag inmovlw .253 ;resto 0000011addwf numh,W

btfss STATUSgoto convbcd

;el numero sera igual o menor a 1023movlw .24 ;.24addwf numl,w

btfss STATUS,C ;cuando la resta da negativo C=0goto convbcd

28

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 29/33

finved3 btfss PORTA,1 ;si estabamos en la red 1.44K y no encontramos el valor e c

4 ;vamos a la ventana dinamica 4

;si estamos en la red 1.44M,A ;hay que cambiar a la de 1.44K

*******4ta ventana es dinamica periodo max 10s (max=0.999hz

entos deberan ser de 10ms=b'11 11101110'

edin4

;mostramos u

retardo de visualizacion

;1era pasada tmr0=1 2da 11

wf 0,W ;en el enganche tmr0=10 btfsc STATUS,Z

l incrementamos numh

;cuenta hasta 1024 y se sale

entana cuando repentinamente aumenta frec

tfsc

cumple un periodo de tmr0 se sale

;resto 00000011

;el numero sera igual o menor a 1023

dgoto vedin

setesc movlw b'1101' btfss PORTA,0movwf PORTgoto vedin2

;*****************min=0.10)********

;para contar 999 los increm;1023=b'11 11111111' y 1000 v movlw 0xC7

movwf PORTBmovlw .255movwf cont ;clrf escalaclrf timer16clrf TMR0

sincro4clrf numhclrf numlincf TMR0

incr4 movlw .254add TMR

goto sincro4incf numl

btfsc STATUS,Z ;si hay desborde en numincf numh

btfsc numh,2goto finved4

movlw .255 ;sale de la vaddwf timer16,w

b STATUS,Cgoto vedin2

call retven4

btfss TMR0,2 ;para tmr0=100cuando segoto incr4movlw .253addwf numh,W

btfss STATUS,Cgoto convbcd

movlw .24 ;.24

29

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 30/33

addwf numl,w ;si la resta da negativo el nro es menor a 1000;sumo el cmp2 de .232 porque subwf no me esta activando banderas

nved4 movlw b'1110' ;debido a que solo entramos en ventana 3 con 1.44K

A ;empezamos de nuevo con 1.44M

*******************

0

,f

m

addwf unidad,f

andlw 0x0F

rlf unid d,f

man lw 0 F

m

movlw 0x0A

btfss STATUS,C ;cuando la resta da negativo C=0goto convbcd

fi

movwf PORTgoto vedin2

;****************Conversion a BCD****************** convbcd swapf numh,w

andlw 0x0Faddlw xF0movwf unidadmiladdwf unidadmiladdlw 0xE2

movwf centenaaddlw 0x32movwf unidad

ovf numh,wandlw 0x0Faddwf centena,f addwf centena,f

addlw 0xE9movwf decenaaddwf decena,f addwf decena,f

swapf numl,w

addwf decena,f addwf unidad,f

rlf decena,f rlf unidad,f

comf unidad,f a

ovf numl,wd x0

addwf unidad,f rlf unidadmil

ovlw 0x07movwf aux

30

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 31/33

Lb1:addwf unidaddecf decena

btfss 3,0goto Lb1

Lb2:addwf decenadecf centena

goto Lb2

a,

il

goto Lb4

***********escoge ventana***************************h

btfss STATUS,Z ;si numh distinto de 0 el nro sera mayor a 100cd

,W;sumo el complemento a 2 de 100 (resto 100)

US,C ;si carry=0 el nro era menor a 100, salto a otra ventanagoto convbcd

*cambio de red si no hay capacitor**************h

S,Zgoto convbcd ;si Z=0 entonces numh distinto de cero

;complemento de 9 (resto 9)l,W

btfss STATUS,Cetesc

**********retardo de 1s**********************

0.72

el18 movlw .247

el2,1op9

btfss 3,0

Lb3:addwf centendecf unidadmil

btfss 3,0goto Lb3

Lb4:

addwf unidadmdecf aux,f

btfss 3,0

goto vis;******************escvent movf num

goto convbmovf numladdlw .156

btfsc STAT

goto vedin1;***************menor9 movf num

btfss STATU

movlw .247addwf num

goto sgoto finved1

;****ret1s movlw .14

movwf PDelPLoop7 movlw

movwf PDPLoop

movwf PDel2PLoop9 clrwdt

decfsz PDgoto PLo

31

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 32/33

decfsz PDel1,1

oop7

*******retardo 2.5ms****************************7

Del0.88

movwf PDel1

re

ardo de la ventana 4*****************

m

jecucion de la interrupcion***********************;indica al ENSAMBLADOR que el pc salta aqui cuando hay una inte-

0IF ;T0IF indica desbordamiento,lo ponemos a cero nuevamente;Incrementa timer16 en uno y almacena el resulado en timer16

goto PLoop8decfsz PDel0,1goto PL

return

;*******************ret2.5 movlw .

movwf PPLoop3 movlw

PLoop4 clrwdtdecfsz PDel1, 1goto PLoop4decfsz PDel0, 1goto PLoop3

PDelL4 goto PDelL5PDelL5 clrwdt

turn

;*********************retretven4 movlw .12 ; 9.989ms

movwf PDel0PLoop1 movlw .207

ovwf PDel1PLoop2 clrwdt

decfsz PDel1, 1goto PLoop2decfsz PDel0, 1goto PLoop1return

;********************eorg 0x04

rrupcion bcf INTCON,Tincf timer16,Fretfie

END

32

5/10/2018 Capacimetro - slidepdf.com

http://slidepdf.com/reader/full/capacimetro-55a0c47b43dd0 33/33

liografía, sitios web consultados y envío de material

puntes de Cátedra Medidas Electrónicas 1 Universidad Tecnológica Nacional Facultad Regional

as Electrónicas 1 Universidad Tecnológica Nacional Facultad Regional

e Un Capacitómetro Utilizando el CPLDValeriano, C. Ojeda, G. Calva AM. Laboratorio de Electrónica.

adores PIC, Editorial Paraninfo

teli s e Instru

Bib

A

Villa María

Apuntes de Cátedra Medid

Mendoza

Diseño e Implantación D

EPM7128SLC84-15. J.Centro de Instrumentos UN

M. Angulo Microcontrol

A 555 Timer IC Tutorial © by Tony van Roon

Sensores In gente mentación Digital

Hoja de datos del microcontrolador PIC16F84A: http://www.microchip.com

Instrumentos digitales: http://elm-chan.org/

Operaciones matemáticas para microcontroladores:

ttp://www.restena.lu/convict/Jeunes/Math/Fast_operations.htmh

Tanto para obtener este informe en formato digital mo para solicitar el envío del código fuente (as-

sembler) para el PIC16F84A, o simplemente ponerse en contacto, enviar un mensaje de correo elec-

trónico con la correspondiente solicitud a la siguiente dirección:

[email protected]

co

33