Professional Documents
Culture Documents
Contenido Resumen Summary Introduccin Algunos mtodos de medicin convencionales Mtodo de medicin por respuesta transitoria Soluciones con temporizador 555 El circuito Limitaciones del rango de medida en medicin de pequeas capacidades Limitaciones del rango de medida en medicin de grandes capacidades La medida de frecuencia en el microcontrolador La divisin en el microcontrolador La medida de periodo en el microcontrolador La escala automtica La visualizacin Conclusiones MATERIAL ANEXO El puente de Wien El puente de Schering Aplicaciones de los instrumentos de medida basados en microcontrolador Informacin general sobre sensores inteligentes Criterios para la disminucin del error en la medida y en la transmisin Generalidades sobre sistemas de comunicacin para sensores e instrumentos digitales Telemedida por corriente Diagrama de flujo de partida para la programacin del capacmetro Cdigo de programa del capacmetro versin prototipo Bibliografa, sitios web utilizados y envo de material 3 3 3 4 5 7 8 9 10 11 12 14 15 16 17 18 18 19 20 20 20 21 21 22 23 33
Summary
In this report the main features of electronic instrumentation are exposed to build a digital capacitance meter of wide range (100pF to 999nF autorrange - 1F a 9990F autorrange) basing their operation on the measure of trasient response of a R-C network. They show up the key aspects of design to increase the accuracy in the obtaining of the reading and to avoid errors in the event of remote acquisition.
Introduccin
El estado de la tecnologa electrnica actual provee a los diseadores una gran diversidad de elementos que posibilitan la implementacin de instrumentacin electrnica que logra alta exactitud. Los microcontroladores fcilmente programables, sumados a los amplificadores operacionales y las temporizaciones exactas dadas por los cristales de cuarzo permiten la implementacin de instrumentos de mano de bajo consumo y tambin dan origen a los llamados sensores inteligentes; en los cuales se necesita hardware mnimo por cuestiones de tamao, consumo y costos. Con estas herramientas se plantea el diseo y la puesta en marcha de un medidor de capacitancia digital, el cual es un instrumento de mano basado mayormente en un microcontrolador y unos pocos componentes accesorios que, gracias a la lgica de control y capacidad de clculo permite obtener caractersticas como la de rango automtico, solucionando por programa (microcdigo) problemas que en una primera instancia hubiesen requerido tanto de hardware adicional (considrese una llave selectora) como de una intervencin del usuario al sistema (debera ser el operador quien debiera seleccionar la escala adecuada de medida). El proyecto se encara desde un marco terico levemente ms general que el correspondiente al medidor de capacidad a construir de modo que estn sentadas las bases para la construccin de dispositivos similares como detectores y sensores inteligentes y se den los criterios correspondientes para disear una adquisicin remota de las medidas y los datos que ellos producen sin incurrir en errores (consultar el material anexo).
En las medidas electrnicas nos encontramos con que hay varias formas de determinar la capacidad de un elemento. Algunos mtodos 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 determinar el factor de prdidas en capacitores (D). Su implementacin y puesta a punto es algo complicada y el acercamiento a la medida debe realizarse en forma manual por el operador (el proceso se asemeja a una sintonizacin), lo que lo hace un mtodo poco prctico para adquirir una medida en forma automtica. Otra tcnica es la del detector sincrnico, el cual utiliza un oscilador de una frecuencia senoidal conocida y muy exacta que se aplica a una resistencia Rs que esta en serie con el capacitor a medir Cx. La tensin sobre Rs estar en fase con la corriente que pasa por el capacitor, un detector sincrnico elimina la parte real de la tensin sobre Rs, lo que permite obtener una tensin de salida que, salvo por un factor, es proporcional a la capacidad. Los multmetros digitales convencionales miden la capacitancia administrando corriente constante al capacitor durante un intervalo fijo de tiempo, midiendo el voltaje resultante y luego calculando la capacitancia. La lectura es lenta, demorando alrededor de un segundo. Como la carga se hace usando la tensin interna, la tensin del capacitor puede ser de solamente alrededor de algunos voltios.
La principal desventaja de los mtodos nombrados anteriormente es la de necesitar un conversor analgico-digital para leer un valor de tensin, lo que puede sumarnos hardware adicional si el mismo no se encuentra integrado al circuito integrado que tenemos en uso, encarecer el circuito, etc.
Manteniendo a E y R constantes, la tensin VC ser funcin del tiempo en el cual el capacitor se mantuvo en carga, lo cual se expresa en la siguiente frmula: VC = E [1 e t / ( R C )] En donde las unidades corresponden a t [Segundo], R[Ohm], C[Faradio] y e se denomina nmero de neper (2,72 aproximadamente), el cual es adimensional. Manteniendo las condiciones anteriores, si nos interesa el valor del tiempo transcurrido para que el capacitor alcance una tensin 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 transitorio de descarga, el cual tiene un circuito y una ecuacin que le corresponde:
t2 = RC ln [E / VC2] 5
Por lo anteriormente expuesto, podramos en principio obtener el valor de la capacitancia en base a la medicin del tiempo de carga o de descarga de un capacitor en una red R-C serie, para lo cual necesitamos un voltaje de referencia dado por un comparador de voltaje que nos indique cuando VC alcanza la tensin de carga VC1 o se descarga hasta una VC2. Si bien de acuerdo a los fundamentos dados, la medicin del tiempo de carga se podra realizar con un solo voltaje de referencia. Esto se dificulta en la prctica por las siguientes razones: En realidad el voltaje no cae a 0 voltios en la descarga ni alcanza la tensin mxima E en la carga: Tenemos que matemticamente la curvas de tensin de VC son asntotas que no adquieren los valores extremos, si bien se llega a valores tan cercanos que pueden ser considerados como tales, esto aumenta el intervalo de medicin. Fenmenos como el de absorcin dielctrica (reaparicin de tensin en terminales de un capacitor luego de haberse descargado) y la cada de tensin en la llave de descarga acentan este efecto. Habr un tiempo transcurrido entre el comienzo de la carga y el cronometraje: Esto causa un pequeo error de medicin que generalmente puede ser ignorado. Corrientes de fuga en las entradas analgicas: Causan errores de medida en valores cercanos a cero voltios.
Frecuencia de oscilacin de esta configuracin: F = 1,44 / [ (RA + 2RB) CX ] Adems, por razones que se harn evidentes conforme se avance en el diseo (Por ejemplo, la posibilidad de obtener la medida de la capacidad partiendo de una frecuencia) necesitamos que la carga y descarga no sea un acontecimiento nico, sino que se repita peridicamente. El temporizador 555 permite esta posibilidad, llamndose esta configuracin modo astable. En este modo se acta sobre la red R-C, produciendo un transitorio de carga cuando VC<2/3E para luego cambiar el circuito (cuando VC = 2/3E) mediante la accin de un transistor que produce un transitorio 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 topologa de la red (O sea que mantenga la configuracin de las conexiones elctricas que llevan a cabo el transitorio de carga o descarga segn corresponda) hasta que se logre efectivamente la carga o descarga. Para este motivo el 555 incorpora una memoria de 1bit o biestable, el cual memoriza el nivel alto de tensin que se produce en el comparador conectado a Set cuando VC = 2/3E (Comienza transitorio de descarga). Esta memorizacin se mantiene hasta que VC = 1/3E, tensin en la cual se genera un nivel alto a la salida del comparador conectado a Reset, que hace memorizar un nivel bajo al biestable (Se produce nuevamente el transitorio de carga). Una entrada adicional de Reset permite poner a nivel bajo el biestable con una seal externa, lo cual nos permite inhabilitar el temporizador 555 para que no oscile, lo cual es til si trabajamos con ms de un circuito temporizador, ya que nos permite habilitar solamente el que realice mejor la medicin.
El circuito
Se logra una gran simplicidad de diseo al implementar la mayor cantidad de caractersticas posibles mediante el desarrollo de software, por ejemplo la caracterstica de la escala automtica, la cual se explicar posteriormente en este informe. Las patas RA0 y RA1 del puerto A cumplen una doble funcin, por un lado exploran y habilitan los circuitos temporizadores alternadamente en busca de un capacitor a ser medido (Un procedimiento de la autoescala) y por otro lado, una vez realizada la medicin, participan en la multiplexacin de los displays de salida para la lectura; ya que en la visualizacin se enciende de a un nmero por vez (El puerto RB proporciona el nmero y el puerto RA habilita solamente el display que corresponde a ese nmero), a una velocidad tal que da la sensacin al ojo de que todos los nmeros estn encendidos simultneamente. De no realizar la multiplexacin necesitaramos cuatro puertos similares al RB, uno por cada display.
En esta instancia surge la pregunta de qu ocurre con los circuitos de tiempo cuando RA0 y RA1 participan en la multiplexacin, ya que siguen conectadas al microcontrolador las habilitaciones de los circuitos de tiempo. En un primer momento se puede pensar que se producir una lectura errnea de la capacidad, ya que la habilitacin en los mencionados circuitos de tiempo se producir por causa del programa de multiplexacin y no por el programa de autoescala, que es el nico que les corresponde. Lo que en realidad se hizo fue implementar una solucin de este problema en el mismo software, esto es, cuando visualizamos; RA0 y RA1 variarn y producirn seales en los osciladores que no corresponden a las lecturas y simplemente el software invalida esta informacin. Adoptar esta solucin hace que el instrumento no ejecute el multiplexado mientras est realizando la medicin y que no mida mientras se presenta la visualizacin del valor de la capacidad (ya que la visualizacin utiliza el multiplexado).
(RA + 2RB) = 1,44 / ( 1MHZ 1pF ) = 1,44M Mxima resistencia a colocar red R-C: (E=5V) RA+RB = 3,4M Limitacin impuesta por el consumo de corriente en la entrada de los comparadores que conforman el temporizador 555; Ima x= 2,5A (corriente de umbral ). El punto anterior nos muestra que estamos en un valor permitido. Mnimo perodo a medir con resolucin del 0.1%(1000 valores distintos): 10ms Esta limitacin proviene de haber elegido un cristal de 4MHZ para el microcontrolador, con lo cual tenemos instrucciones en 1 / 1MHZ = 1s (Las instrucciones en el microcontrolador se ejecutan a Fcristal / 4), ahora bien, si queremos una resolucin del 0.1% debemos hacer que el incremento sea el mnimo perodo de la seal a medir dividido 1000, con lo cual los incrementos sern de 10ms / 1000 = 10s y debido a que el software que se utiliza para contar perodo necesita un mnimo de 8 instrucciones por incremento de cuenta (8s), la cuenta puede ser realizable a partir de un perodo de 10ms en adelante y no se permite un perodo menor. Mxima frecuencia a medir por el microcontrolador: El uso del TIMER0, un contador que posee el microcontrolador PIC16F84, independiente del cristal oscilador, permite medir frecuencias mayores a 1MHZ, que es el lmite tomado para el temporizador 555, con lo cual este parmetro no es una limitacin en el diseo. Mnima capacidad a colocar en la red R-C: 95pF Se toma como lmite prctico, debajo de este valor los efectos de la capacitancia son tan pequeos que pueden verse enmascarados hasta volverse imperceptibles, limitando la exactitud y la repetibilidad (precisin) de las lecturas. No obstante; en una escala de 100pF 999pF, con una resolucin del 0,1%, tendremos que el incremento mnimo ser de 1pF. Este es un punto importante tambin para los sensores ya que nos establece que no es aconsejable realizar las mediciones en base a una capacidad mnima de alrededor de 100pF.
CX = 1,44 / [ 0,1s (1,44K) ] =10.000F No obstante podra ser til en alguna medicin fortuita de capacitores de mayor valor al citado, ya que no se necesita hardware adicional, a ejemplo ilustrativo tenemos: Medicin de un capacitor de valor 100.000F T = [ (1,44K ) 100.000F] /1,44 = 100 segundos = 1minuto con 20 segundos Medicin 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 redisear el hardware con una filosofa que, si bien trate de limitar el consumo, provea las lecturas en tiempos menores.
10
11
Para medir frecuencias con un microcontrolador, hacen falta dos contadores programables, uno que genere la ventana de tiempo y el otro que registre los impulsos de la seal de entrada. Sabiendo que la frecuencia ser el nmero de pulsos contados en una ventana de tiempo determinada, F = N / T0, adems se necesita que N (cuenta de pulsos) tome los valores desde 100 a 999, ya que una cuenta menor a 100 nos hace perder resolucin, lo cual indica que se debe cambiar la escala. Eligiendo a T0 convenientemente tenemos:
Para Para Para T0 = 1ms T0 = 10ms T0 = 100ms FMIN = 100KHZ FMIN = 10,0KHZ FMIN = 1,00KHZ FMAX = 999KHZ FMAX = 99,9KHZ FMAX = 9,99KHZ
Entonces, tomando las ventanas mltiplo de 1ms, obtenemos la frecuencia en KHZ. Los pulsos son generados por el temporizador 555 y son registrados por un contador interno al microcontrolador (TIMER0), hacemos coincidir el inicio y fin de cuenta con el comienzo y finalizacin de la ventana para que la cuenta sea directamente el valor de la frecuencia en KHZ. Debido a que el TIMER0 es un contador de 8 bits solamente, la mxima cuenta posible que puede realizar es de 28 = 256 valores distintos, lo cual es insuficiente para nuestro propsito. Mediante la programacin de una interrupcin por desborde de TIMER0, incrementamos un registro de 8 bits cada 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 slo utilizaremos 10 bits para llegar hasta 999 (210 =1024). Regresando a la frmula CX = 1,44 / [ F (RA + 2RB) ] notamos que, a diferencia del perodo, la capacidad CX es inversamente proporcional a la frecuencia y no basta tomar la resistencia como mltiplo de 1,44 para hacer que la medida arroje directamente el valor de la capacidad. En este caso hay que hacer un clculo matemtico (divisin) el cual es llevado a cabo por el microcontrolador.
La divisin en el microcontrolador
Si tuvisemos que calcular la capacidad en base a la frecuencia por nuestros medios tomaramos la frmula anterior y la resolveramos manualmente o con un aparato calculador. En este proceso de resolucin notaramos que las cantidades involucradas necesitan de una notacin cientfica, ya que F se mide en [KHZ] y las unidades de la resistencia son [K] o [M]. Adems el valor de la capacidad es muy pequeo pF[10-12] nF[10-9] F[10-6] . Este procedimiento no se puede llevar a cabo directamente en el microcontrolador y son necesarios complejos algoritmos para realizar la multiplicacin, divisin, trabajar con nmeros que tienen coma flotante. No obstante hay una solucin para trabajar simplemente con nmeros enteros e implementar nicamente un algoritmo de divisin y es la siguiente: Tomar las resistencias del temporizador RA + 2RB =1,44K o 1,44M. Esto hace que el factor 1,44 sea anulado de la ecuacin.
12
Suprimir los factores mltiplos de 1000. Sern suprimidos los KHZ, K o M, ya que afectan slo en un factor de escala. La ecuacin en este punto es CX = 1 / N, en donde el resultado sigue siendo un nmero decimal. Hacer del valor de CX un nmero entero (100 999). En este caso se afecta la ecuacin de un factor, tal que: CX = 100.000 / N Activar las banderas correspondientes para que en la visualizacin el nmero se muestre como un nmero con coma flotante y notacin de ingeniera. Si bien el microcontrolador slo realizar la operacin matemtica: CX = 100.000 / N nicamente se trabaja con enteros, utilizando como banderas en qu ventana fue medida la frecuencia y cul fue la red resistiva que se utiliz, podemos poner en la visualizacin, lo que en realidad es un nmero entero ser visualizado por el usuario del instrumento afectado por una coma y un factor de escala pF, nF, F. En cuanto a la operacin de divisin en formato binario, 100.000 est contenido en 17 bits, mientras que N lo est en 10 bits. El algoritmo que utilizado aqu pertenece a la familia CORDIC, el cual realiza la divisin de dos nmeros de 16 bits. Para poder utilizar como dividendo la constante de 17 bits se realiz una pequea modificacin al citado algoritmo. Los rangos que en lugar de medir frecuencia se basen en medir perodo no necesitarn realizar la divisin para obtener el valor de capacidad CX. A modo de ejemplo realicemos la medicin hipottica de un capacitor de 5nF: La frecuencia generada por el capacitor colocado en el circuito de tiempo con RA + 2RB =1,44M es:
F = 1,44 / [ (RA + 2RB) CX ] = 1,44 / [ (1,44M) 500nF ] = 200HZ
B
Para la cual la autoescala elegir automticamente la ventana de 1s dando una cuenta de: N = 200HZ x 1s = 200 pulsos contados. Aqu el microcontrolador aplica la frmula: CX = 100.000 / N = 100.000 / 200 = 500 Tomando como informacin la red resistiva utilizada y la ventana de cuenta de pulsos se almacena en un registro la informacin de la ubicacin del punto y qu factor de escala corresponde (informacin utilizada por el programa de visualizacin) lo cual hace que el valor 500 (que no brinda informacin al usuario) se visualice con un punto que hace ver la valor 500 como 5 unidades y dos decimales (que son cero en este caso) seguidos de un factor de escala que indica la medida en nanofaradios:
Para bajas frecuencias y para mrgenes de frecuencia de medida pequea, es preferible medir el periodo de la seal. Para medir el periodo se cuentan los impulsos de una seal de reloj conocida interna al microcontrolador durante un intervalo de tiempo dinmico determinado a partir de la entrada (el mismo perodo de la seal a medir). El tiempo de medida es TX. La cuenta comienza con un flanco descendente de la seal proveniente del 555 y se detiene con el prximo, lo que delimita el perodo de la seal. Se toman las consideraciones necesarias detalladas en el punto anterior para que la medida del perodo nos de directamente la lectura CX sin tener que realizar operaciones matemticas con el microcontrolador.
14
La escala automtica
Para que el operador del instrumento no deba intervenir seleccionando la escala que mejor se ajusta a la medida y adems el resultado provea de una interpretacin directa se dota al instrumento de una escala automtica, en la cual un programa se encarga de comenzar por el menor de los rangos la medicin, si se obtiene un N menor a 100 (lectura mayor a 999) se procede al rango siguiente hasta centrar la lectura en los lmites dispuestos.
Rango 100 a 999 pF 1,00 a 9,99 nF 10,0 a 99,9 nF 100 a 999 nF 1,00 a 9,99 F 10,0 a 99,9 F 100 a 999 F 1000 a 9990 F
Metodo lectura Frecuencia Perodo Perodo Perodo Perodo Perodo Perodo Perodo
Duracin ventana 100ms TMAX=10ms TMAX=100ms TMAX=1s TMAX=10ms TMAX=100ms TMAX=1s TMAX=10s
Debido a que en este diseo la medicin de capacitores a partir de 1F requiere un cambio en la red RA+2RB de 1.44M a 1,44K, en realidad se utilizan dos integrados temporizadores 555, uno para rangos menores a 1F y el otros para rangos mayores al mencionado, que hace tener una disposicin circuital en la cual los capacitores de hasta 999nF son medidos en un par de terminales y los que superan este valor en otro par distinto, esta es una limitacin de esta escala automtica, ya que es quien opera el instrumento quien debe decidir en qu contactos debe realizar la medicin. No obstante la exploracin para detectar si se coloc un capacitor en alguna de las dos redes es automtica, lo que hace que el capacmetro slo presente un botn de encendido, eliminando en el proceso diseo toda botonera o llave selectora adicional.
15
La visualizacin
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 nmero decimal que pueda ser visualizado en bloques de display de 7 segmentos, esta forma de visualizacin se corresponde con la codificacin BCD (decimal codificado en binario). El algoritmo utilizado puede convertir un mximo de 16 bits en binario a cuatro dgitos en decimal, del cual usamos solo 10 bits para representar tres dgitos. Con respecto a la visualizacin de la coma se eligi un mtodo 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 momento de mostrar la lectura, ya que dentro de una misma escala la coma (si la hubiese) no cambia de lugar. En lugar de utilizar notacin cientfica se utiliza notacin de ingeniera, 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 999F no se puede visualizar el nmero y la escala simultneamente, por lo tanto primero se visualiza la escala [] y luego la lectura numrica 1000 a 9990.
16
Conclusiones
La flexibilidad, simplicidad circuital, velocidad y facilidad de programacin de los microcotroladores permiten realizar diseos que aos atrs hubiesen requerido de gran cantidad de circuitos integrados digitales, con simplicidad y a menores costos. Debido a las caractersticas especiales que presenta este instrumento de elevada precisin, gran espectro de medicin y rango automtico, combinado con un costo bajo, hace que tenga un lugar propio en lo que se refiere a capacmetros digitales de mano (Porttiles). Se encontraron dificultades en la medicin de perodos menores a 10ms con el microconrolador (capacidad mnima 1nF) y debido a la intencin de medir capacidades ms bajas se implement una medicin de frecuencia, la cual extendi el rango mnimo de medicin a 100pF al precio de tener que implementar una divisin de nmeros del orden de 16 a 17 bits en el microcontrolador. En cuanto a las operaciones matemticas que se debieron implementar se busc realizar la mayor cantidad de simplificaciones posibles, como por ejemplo evitar trabajar con decimales en los registros internos al microcontrolador y realizar la reduccin al mximo de las expresiones matemticas, lo cual disminuy en gran medida los recursos utilizados para realizar el programa. Se orient la resolucin de problemas pensando las soluciones como un conjunto hardwaresoftware, pero haciendo hincapi en un hardware mnimo. Los problemas que se presentaron en el diseo del capacmetro (Rango limitado a 100pF-9990F) no escaparon a la teora de las Medidas Electrnicas y a la implementacin de componentes de uso comn. No obstante, se encontr a medida que se realiz el diseo que la medicin de capacidades ms pequeas que 100pF no se puede llevar a cabo simplemente con un temporizador 555 y se debe pensar en una configuracin de amplificadores operacionales con elevado rechazo al ruido en la entrada (red R-C) y una alta impedancia de entrada. Tambin se lleg a la conclusin de que si se deben medir grandes capacidades (10.000F 10F) en periodos de tiempo breves ( del orden de 1 a 10 segundos) para aplicaciones que as lo requieran (en caso contrario se puede utilizar el mismo hardware tal cual como est, pero se debe ampliar el software), si bien no es crtico el reemplazo del temporizador 555, por lo menos se debe dotar a este de circuitos auxiliares de potencia ligeramente mayor y adems comienza a cobrar importancia el consumo del instrumento que, si bien sigue siendo porttil, cabe la posibilidad de carecer de autonoma suficiente (duracin de la batera) para considerarse instrumento de mano. Desde el punto de vista profesional, el proceso de diseo y construccin de este aparato plante desafos a cada momento ya sea matemticos, fsicos y de automatizacin. Estos desafos llevaron a la bsqueda de informacin y a la aplicacin del diseo, lo que proporcion experiencia y puesta a prueba de la habilidad. A medida que se lleg a su conclusin se not cmo se fue forjando una forma de trabajar ordenada y sistemtica a lo largo de todo el proyecto.
17
MATERIAL ANEXO
El puente de Wien El puente de Wien se destina en principio a la medicin de la capacidad de capacitores cuyas prdidas son apreciables y pueden considerarse como resistencia paralelo; por ejemplo el ensayo y medicin de cables de dos conductores (envainados para energa elctrica o coaxiles para RF), y capacitores electrolticos de gran capacidad. En la figura siguiente se muestra el esquema de un puente de Wien tpico, los resistores R1, R2 y R3 son de precisin y no inductivos, el resistor Rx representa la prdidas del capacitor bajo ensayo.
Cx
Rx
R2
C3
R3
R1
E Las impedancias de cada una de las ramas del puente son respectivamente: Zx = Rx 1 + j w Rx Cx Z2 = R2
1 Z1 = R1 j w C3 Recordando que en el equilibrio los productos de las ramas opuestas son iguales resulta: Z3 = R3 + R2 R3 Rx = R1 1 + (w R3 C3) 2 (w R3 C3) 2 R1 Cx = R2 C3 1 + (w R3 C3)
18
Conseguir la condicin de equilibrio del puente y obtener los valores de Cx y Rx es bastante engorroso, como puede verse en las ecuaciones anteriores, y puede lograrse variando R3, R1 y adems la frecuencia del generador utilizado para exitarlo. Claro que si lo que se desea medir es el factor de prdidas (D), la operacin 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 prdidas de capacitores y otros elementos que tienen capacidad asociada, tales como cables armados para alta tensin, aisladores, transformadores de potencia para uso industrial (Que utilizan aceite como refrigerante, y en los cuales se desea determinar las caractersticas del mismo como dielctrico); todos los elementos que puedan considerarse como capacitores en serie con una resistencia de bajo valor; se prefiere utilizar el puente de Schering, que en estas circunstancias y a diferencia del anterior, es un poco ms fcil de equilibrar. La figura siguiente muestra el esquema bsico de un puente de Schering. Los capacitores C4 y C3 son patrones regulables en dcadas, entanto que R3 y R2 son los elementos de ajuste que permiten equilibrar el puente. Rx Cx D C3 C4 R2
R3
E En la condicin de equilibrio se obtiene: R3 C2 Cx = R3 C4 Rx = C4 R2 Sin embargo, como el puente de Schering se usa sobre todo para materiales aislantes, no interesa tanto la resistencia Rx, sino el factor de prdidas, que es: D = w C3 R3 La operacin ms fcil para obtener el equilibrio se consigue manteniendo constantes los valores de R3 y C4, y regulando R2 y C3. En este caso se consigue la lectura independiente, pues C3 no entra en la frmula de Cx e interviene directamente en la determinacin de D. En cambio R2 entra solamente en el clculo de Cx.
19
Criterios para la disminucin del error en la medida y en la transmisin La medicin, sobretodo en valores pequeos de capacidad, puede verse modificada por la presencia de capacidades parsitas, interferencias y ruido elctrico, por lo cual se aconseja una cercana entre el capacitor a medir y el circuito, en caso de utilizar cables, deben ser blindados y de longitud limitada, tambin debemos dotar de un blindaje elctrico al circuito comprometido. Debemos utilizar la menor cantidad de conexiones de contacto hmico. En el caso de necesitar medir capacidades muy pequeas con gran exactitud y precisin debemos rechazar (ya que no se puede minimizar mas an) el ruido que se induce en la red R-C ya que produce una alteracin en la curva del transitorio carga-descarga del capacitor. Esto se realiza sustituyendo al temporizador 555 por un arreglo de amplificadores operacionales, en una configuracin que tenga elevado rechazo al ruido de entrada.
20
Generalidades sobre sistemas de comunicacin para sensores e instrumentos digitales Las seales obtenidas con los sensores, una vez acondicionadas, hay que comunicarlas a un receptor o dispositivo de presentacin, cercano o remoto. Cuando el receptor y el emisor no estn muy lejos, se suele emplear transmisin por hilos (Cables conductores). Tambin se emplea transmisin por hilos en instalaciones extensas que incluyan un diseo adecuado. Para distancias muy grandes se emplea telemedida (Transmisin remota de la medida) va radio. Para distancias cortas se utilizan tambin radiacin infrarroja o fibras pticas sobre todo cuando estamos en presencia de interferencias electromagnticas fuertes, ya que la luz no se ve afectada (Por lo menos apreciablemente) por las interferencias de carcter electromagntico. Cualquiera sea el medio de comunicacin empleado, es necesario acondicionar las seales de los sensores para adaptarlas a las caractersticas de aqul.Este proceso puede necesitar ms de una etapa. En primer lugar, la seal del sensor, una vez acondicionada mediante un circuito inmediato a l, se modula (si su salida es analgica) o codifica (si su salida es digital), para poder ser combinadas con otras que vayan a compartir el mismo medio, o simplemente para hacerla compatible con el modulador de transmisin. En algunos casos puede suceder que se disponga de una lnea propia, transmitindose por ella directamente un nivel de tensin, corriente o una frecuencia procedente de este codificador o modulador. Si la informacin se transmite en forma de tensin continua proporcional a la magnitud medida, la distancia cubierta debe ser pequea porque, en un entorno industrial, las tensiones parsitas inducidas en el bucle formado por los conductores puede falsear totalmente la medida (debemos utilizar cables apantallados). La telemedida por frecuencia tiene mayor inmunidad a las interferencias, pero no hay normas que permitan utilizar en un mismo sistema transmisores de distintos fabricantes. Adems, las seales de frecuencia transmitidas pueden ser fuente de interferencia en circuitos prximos. La telemedida por corriente supera estos problemas. Telemedida por corriente En la telemedida por corriente la magnitud medida se convierte en una corriente continua proporcional, que se enva por la lnea y es detectada en el extremo receptor midiendo la cada de tensin en una resistencia de valor mhico conocido. Los valores de corriente normalizados son: (4-20, 0-5, 0-20, 1050, 1-5, 2-10) mA. Los termopares parsitos y las cadas de tensin en los hilos de conexin tampoco afectan, siempre y cuando el emisor sea capaz de imponer el valor de la corriente en el circuito. Esto permite utilizar un hilo ms 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
Inicio
Cambio de red
ltima escala
Fuera de escala?
Frecuen cia?
Realizar la divisin
22
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 temporizacion PDel1 ;sirve para temporizacion PDel2 timer16 ; junto a TMR0 hace que la cuenta sea un numero de 16 bits como maximo escala ;indica escala pico nano micro mili punto ;coloca punto si lo hubiese numh ; numh y numl contienen el resultado en formato binario de 16 bits numl unidadmil centena decena unidad aux ;auxiliar cont ;contador auxiliar endc
23
org 0x00 ;indica al ENSAMBLADOR la direccion de memoria de programa donde se guardara la instruccion que vaya a continuacion goto prin ;cuidado, el programa no se debe traslapar el programa de interrupcion que comienza en 0x04 ;******************************************************************** ; Test Program ;********************************************************************* org prin 0x07 bsf bsf bsf bsf bsf clrf clrf bsf bcf STATUS,RP0 ;Debido a que OPTION se encuentra en banco1 OPTION_REG,T0SE ;Configura incremento del timer0 cada flanco descendente INTCON,GIE ;Global interrupt enable INTCON,T0IE ;Timer0 interrupt enable cuando se desborde saltara a 0x04 OPTION_REG,T0CS ;Configura a timer0 para que cuente pulsos por RA4 TRISA TRISB TRISA,4 STATUS,RP0 ;debido a que tmr0 y port estan en banco0
movlw 0xFF movwf PORTA movwf PORTB bcf PORTA,0 goto vedin2
;red R=1.44M
;*********************************Visualizacion************************************* ******* ; Codificacin --> Segmento : g f e d c b a ; RB 7 6 5 4 3 2 1 0 ; ; a ; -f |__| b ; ; e| |c -; ; d ;;Tabla de numeros decimales adaptados a 7 Segmentos para encender los segmentos con un ;;0 (cero) lgico ya que el puerto puede drenar mas corriente que la que puede suministrar ;;Los display deben estar conectados a la Puerta B, y deben ser anodo comun ;;dejo sin usar el RB0/Int ya que lo uso como entrada del sensor Tabla addwf PCL retlw ; -fedcbap b'10000001'
;0
24
retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw
b'11110011' b'01001001' b'01100001' b'00110011' b'00100101' b'00000101' b'11110001' b'00000001' b'00100001' b'01010111' b'11000111'
;1 ;2 ;3 ;4 ;5 ;6 ;7 ;8 ;9 ;n 10 ;u 11
;vis muestra por 4 displays de 7 segmentos el contenindo de CENTENA, DECENA, UNIDAD ESCALA. vis movlw 0x0F movwf PORTA movlw .255 movwf aux ;inhabilita transistores poniendoles un 1 a cada salida ;valor de repeticion visualizacion
LoopDisp ; ;Sacar al puerto el Dato 1 por un tiempo especfico movf escala,W ;Dato para decodificar call Tabla ;Decodificacin del dato ;Dato decodificado a puerto movwf PORTB ;Habilita Q unidad bcf PORTA,3 call ret2.5 ;Retardo de dgito bsf PORTA,3 ;Inhabilita Q unidad ;Sacar al puerto el Dato 2 por un tiempo especfico ; movf unidad,W ;Dato para decodificar call Tabla ;Decodificacin del dato movwf PORTB ;Dato decodificado a puerto ;Habilita Q decena bcf PORTA,2 ;Retardo de dgito call ret2.5 bsf PORTA,2 ;Inhabilita Q decena ;Sacar al puerto el Dato 3 por un tiempo especfico ; movf decena,W ;Dato para decodificar call Tabla ;Decodificacin del dato btfsc punto,1 andlw b'11111110' ;colocamos punto si lo hubiese movwf PORTB ;Dato decodificado a puerto bcf PORTA,1 ;Habilita Q centena call ret2.5 ;Retardo de dgito
25
bsf PORTA,1
;Inhabilita Q centena
;Sacar al puerto el Dato 4 por un tiempo especfico ; movf centena,W ;Dato para decodificar call Tabla ;Decodificacin del dato btfsc punto,0 andlw b'11111110' ;colocamos punto si lo hubiese movwf PORTB ;Dato decodificado a puerto bcf PORTA,0 ;Habilita Q centena call ret2.5 ;Retardo de dgito bsf PORTA,0 ;Inhabilita Q centena decfsz aux,F ;Decrementa aux, elude sig. s cero goto LoopDisp ;Repite ciclo movlw b'1110' ;luego de mostrar el nro volvemos a empezar con 1.44M movwf PORTA goto vedin2 ;*******************1era ventana es dinamica periodo max 10ms (max=999hz min=100hz); ;para contar 999 los incrementos deberan ser de 10us ;1023=b'11 11111111' y 1000=b'11 11101110' ;si no hay cuenta salimos con el perro guardian vedin1 movlw b'1' movwf punto clrf numh ;contienen la cuenta de capacidad clrf numl clrf TMR0 sincro1btfss TMR0,0 goto sincro1 incr1 incf numl btfsc STATUS,Z ;si hay desborde en numl incrementamos numh incf numh nop nop btfsc numh,2 ;cuenta hasta 1024 y se sale goto vedin2 btfss TMR0,1 ;para tmr0=1cuando se cumple un periodo de tmr0 se sale goto incr1 movlw .253 ;resto 00000011 addwf numh,W btfss STATUS,C ;si C=0 el numero sera igual o menor a 1023 goto menor9 finved1 ras addwf btfss goto movlw .24 numl,w STATUS,C convbcd ;sumo el cmp2 de .232 porque subwf no me esta activando bande;si la resta da negativo el nro es menor a 1000 ;cuando la resta da negativo C=0
26
;*******************2da ventana es dinamica periodo max 100ms (max=99.9hz 10.0hz minimo); ;para contar 999 los incrementos deberan ser de 100us vedin2 movlw 0x4F movwf PORTB movlw .50 movwf cont movlw .10 movwf escala movlw .11 btfss PORTA,1 movwf escala movlw b'10' movwf punto clrf timer16 clrf TMR0 sincro2clrf numh clrf numl incf TMR0 incr2 movlw .254 addwf TMR0,W btfsc STATUS,Z goto sincro2 incf numl btfsc STATUS,Z incf numh btfsc numh,2 goto vedin3 movlw .255 addwf timer16,w btfsc STATUS,C goto vedin1 ret2 movlw .235 addlw .1 btfss STATUS,Z goto ret2
;si hay desborde en numl incrementamos numh ;cuenta hasta 1024 y se sale ;sale de la ventana cuando repentinamente aumenta frec
btfss TMR0,2 goto incr2 movlw .253 addwf numh,W btfss STATUS,C goto escvent
;para tmr0=100cuando se cumple un periodo de tmr0 se sale ;resto 00000011 (.768) 1023-768=255 nro de 8bits ; ;si numh menor a 768 C=0, entonces vemos si es menor a 100 ;si no el numero sera igual o menor a 1023
27
finved2 movlw .24 ;1023=b'11 11111111' y 1000=b'11 11101110' 1000=768+232 , en donde 232 esta contenido en 8bits addwf numl,w ;tenemos que 768 esta presente entonces podemos saber si el nro es menor a 1000 restando 232 ;sumo el cmp2 de .232 porque subwf no me esta activando banderas btfss STATUS,C ;cuando la resta da negativo C=0 goto convbcd ;********************3era es ventana dinamica periodo max 1s (max=9.99hz min=1.00)******* ;para contar 999 los incrementos deberan ser de 1ms ;1023=b'11 11111111' y 1000=b'11 11101110' vedin3 movlw .128 movwf cont clrf punto clrf timer16 clrf TMR0 sincro3clrf numh clrf numl incf TMR0 incr3 movlw .254 addwf TMR0,W btfsc STATUS,Z goto sincro3 incf numl btfsc STATUS,Z incf numh btfsc numh,2 goto finved3 movlw .255 addwf timer16,w btfsc STATUS,C goto vedin2 movlw .10 ret3 addlw .1 btfss STATUS,Z goto ret3 btfss TMR0,2 goto incr3 movlw .253 addwf numh,W btfss STATUS,C goto convbcd movlw .24 addwf numl,w btfss goto STATUS,C convbcd ;retardo de visualizacion
;si hay desborde en numl incrementamos numh ;cuenta hasta 1024 y se sale ;sale de la ventana cuando repentinamente aumenta frec
;el numero sera igual o menor a 1023 ;.24 ;si la resta da negativo el nro es menor a 1000 ;sumo el cmp2 de .232 porque subwf no me esta activando banderas ;cuando la resta da negativo C=0
28
finved3 de c goto
btfss vedin4
PORTA,1
;************************4ta ventana es dinamica periodo max 10s (max=0.999hz min=0.10)******** ;para contar 999 los incrementos deberan ser de 10ms ;1023=b'11 11111111' y 1000=b'11 11101110' vedin4 movlw 0xC7 movwf PORTB movlw .255 movwf cont clrf escala clrf timer16 clrf TMR0 sincro4clrf numh clrf numl incf TMR0 incr4 movlw .254 addwf TMR0,W btfsc STATUS,Z goto sincro4 incf numl btfsc STATUS,Z incf numh btfsc numh,2 goto finved4 movlw .255 addwf timer16,w btfsc STATUS,C goto vedin2 call retven4 ;para tmr0=100cuando se cumple un periodo de tmr0 se sale ;resto 00000011 ;mostramos u ;retardo de visualizacion
;si hay desborde en numl incrementamos numh ;cuenta hasta 1024 y se sale ;sale de la ventana cuando repentinamente aumenta frec
btfss TMR0,2 goto incr4 movlw .253 addwf numh,W btfss STATUS,C goto convbcd movlw .24
29
addwf numl,w btfss STATUS,C goto convbcd finved4 movlw b'1110' movwf PORTA goto vedin2
;si la resta da negativo el nro es menor a 1000 ;sumo el cmp2 de .232 porque subwf no me esta activando banderas ;cuando la resta da negativo C=0 ;debido a que solo entramos en ventana 3 con 1.44K ;empezamos de nuevo con 1.44M
;****************Conversion a BCD************************************* convbcd swapf numh,w andlw 0x0F addlw 0xF0 movwf unidadmil addwf unidadmil,f addlw 0xE2 movwf centena addlw 0x32 movwf unidad movf numh,w andlw 0x0F addwf centena,f addwf centena,f addwf unidad,f addlw 0xE9 movwf decena addwf decena,f addwf decena,f swapf andlw addwf addwf numl,w 0x0F decena,f unidad,f
rlf decena,f rlf unidad,f comf unidad,f rlf unidad,f movf numl,w andlw 0x0F addwf unidad,f rlf unidadmil movlw 0x07 movwf aux movlw 0x0A
30
Lb1: addwf unidad decf decena btfss 3,0 goto Lb1 Lb2: addwf decena decf centena btfss 3,0 goto Lb2 Lb3: addwf centena, decf unidadmil btfss 3,0 goto Lb3 Lb4: addwf unidadmil decf aux,f btfss 3,0 goto Lb4 goto vis ;*****************************escoge ventana*************************** escvent movf numh btfss STATUS,Z ;si numh distinto de 0 el nro sera mayor a 100 goto convbcd movf numl,W addlw .156 ;sumo el complemento a 2 de 100 (resto 100) ;si carry=0 el nro era menor a 100, salto a otra ventana btfsc STATUS,C goto convbcd goto vedin1 ;****************cambio de red si no hay capacitor************** menor9 movf numh btfss STATUS,Z goto convbcd ;si Z=0 entonces numh distinto de cero movlw .247 ;complemento de 9 (resto 9) addwf numl,W btfss STATUS,C goto setesc goto finved1 ;**************retardo de 1s********************** ret1s movlw .14 movwf PDel0 PLoop7 movlw .72 movwf PDel1 PLoop8 movlw .247 movwf PDel2 PLoop9 clrwdt decfsz PDel2,1 goto PLoop9
31
decfsz PDel1,1 goto PLoop8 decfsz PDel0,1 goto PLoop7 return ;**************************retardo 2.5ms**************************** ret2.5 movlw .7 movwf PDel0 PLoop3 movlw .88 movwf PDel1 PLoop4 clrwdt decfsz PDel1, 1 goto PLoop4 decfsz PDel0, 1 goto PLoop3 PDelL4 goto PDelL5 PDelL5 clrwdt return ;*********************retardo de la ventana 4***************** retven4 movlw .12 ; 9.989ms movwf PDel0 PLoop1 movlw .207 movwf PDel1 PLoop2 clrwdt decfsz PDel1, 1 goto PLoop2 decfsz PDel0, 1 goto PLoop1 return ;********************ejecucion de la interrupcion*********************** ;indica al ENSAMBLADOR que el pc salta aqui cuando hay una inteorg 0x04 rrupcion ;T0IF indica desbordamiento,lo ponemos a cero nuevamente bcf INTCON,T0IF ;Incrementa timer16 en uno y almacena el resulado en timer16 incf timer16,F retfie END
32
Apuntes de Ctedra Medidas Electrnicas 1 Universidad Tecnolgica Nacional Facultad Regional Villa Mara Apuntes de Ctedra Medidas Electrnicas 1 Universidad Tecnolgica Nacional Facultad Regional Mendoza Diseo e Implantacin De Un Capacitmetro Utilizando el CPLD EPM7128SLC84-15. J. Valeriano, C. Ojeda, G. Calva
Centro de Instrumentos UNAM. Laboratorio de Electrnica.
M. Angulo Microcontroladores PIC, Editorial Paraninfo A 555 Timer IC Tutorial by Tony van Roon Sensores Inteligentes e Instrumentacin Digital Hoja de datos del microcontrolador PIC16F84A: http://www.microchip.com Instrumentos digitales: http://elm-chan.org/ Operaciones matemticas para microcontroladores: http://www.restena.lu/convict/Jeunes/Math/Fast_operations.htm Tanto para obtener este informe en formato digital como para solicitar el envo del cdigo fuente (assembler) para el PIC16F84A, o simplemente ponerse en contacto, enviar un mensaje de correo electrnico con la correspondiente solicitud a la siguiente direccin: mauriciomoretto@hotmail.com
33