UNIDAD 6 RE

Anuncio
Unidad VI LA FUNCIÓN DE CONVERCIÓN DIGITAL / ANALOGICO (DAC) Y ANALÓGICO
/ DIGITAL (ADC) CON MICROCONTROLADORES DE USO DEDICADO.
6.1 INTRODUCCIÓN
Las señales analógicas también son llamadas señales del mundo real, debido a que muchas señales
físicas son analógicas por naturaleza. Actualmente gran cantidad de aplicaciones para computadoras y
otros sistemas digitales, requieren de señales de entrada del mundo real, tales como temperatura,
presión, flujo, nivel. Incluso señales que pueden incluir imágenes y voz.
Actualmente los sistemas digitales están siendo usados para controlar o manipular señales en el
mundo real, ya sea, en la industria, en autotransportes o en electrodomésticos entre otros.
6.1.1Señales analógicas y digitales
Una señal analógica es aquella que tiene valores continuos sobre un rango dado, en contraste al
número determinado de valores discretos que presentaría una señal digital para el mismo rango.
Ejemplo 6 - 1
Tengamos en cuenta una fuente variable de voltaje, que tiene un voltaje de salida en un rango de
escala de 0 a 12 Volts, ajustable con un potenciómetro. Luego entonces será posible tener un voltaje de
salida con un número infinito de valores continuos. Una fuente de voltaje digital con el mismo rango
de escala pero con valores específicos de salida 0, 5, 10, y 12 V tendrá solamente 4 valores discretos.
Ejemplo 6 - 2
Consideremos la grafica de una señal analógica de entre 0 y 5 volts y veamos la diferencia con la
misma señal pero con una representación digital de 4 bits. Se puede observar que en la grafica
analógica la curva tiene un numero infinito de valores entre 0 y 5 Volts tanto en el eje vertical como en
el horizontal que representa el tiempo en segundos. Mientras que en la representación digital
solamente se tienen 16 valores diferentes para mostrar el eje vertical y 36 instantes de toma de
lectura o medición lo que da como resultado solamente algunos puntos discretos sobre la curva
analógica obviamente si se usara una representación digital de mas Bits, digamos 8 , se tendría en el
eje vertical hasta 256 valores diferente , es decir , el numero de valores depende directamente del
numero de n bits que se usen.
Numero de valores diferentes = 2n
Figura 6-1 Representación de una señal analógica
Figura 6-2. Representación de una señal Digital
6.1.2 Interfase con el mundo real
Para poder realizar la interfase entre el mundo analógico y el digital se requiere de dos procesos
básicos. La conversión analógica / digital ADC (por sus siglas en ingles Analog Digital Converter) y
la conversión digital / analógica DAC (Digital Analog Converter).
Ejemplo 6 - 3.
Termostato digital para el control de la temperatura en un cuarto de habitación.
Figura 6-3 Diagrama a bloques de un termostato para el control de temperatura que usa un ADC.
La temperatura del cuarto produce en un sensor de termopar un voltaje que es proporcional a la
temperatura del cuarto, este voltaje es acondicionado por un amplificador operacional y aplicado a la
entrada de un ADC, donde es convertida a una señal digital y periódicamente muestreada por un
microprocesador . Por ejemplo supongamos que la temperatura del cuarto es de 17 ° C . Un voltaje
especifico a esta temperatura aparece a la entrada del convertidor ADC de 8 bits y en su salida el
convertidor da una señal digital correspondiente digamos de 01000011 en código binario de 8 bits.
Internamente, el microprocesador compara este numero binario con un numero, también binario, que
representa la temperatura deseada supóngase 01001000 para 23 ° C, Que es el valor deseado de
temperatura que previamente se ha introducido a través de un teclado y almacenado en un registro.
Como resultado de la comparación, en que para este ejemplo el
el cuarto tiene una temperatura actual menor que el valor deseado, el microprocesador comanda a la
unidad de control a que se encienda el dispositivo calentador del cuarto. Como el microprocesador
continuara monitoreando la temperatura del cuarto vía el convertidor ADC , cuando la temperatura del
cuarto iguale ó exceda la temperatura deseada el microcontrolador apagará el dispositivo calentador.
Ejemplo 6 - 4
Grabadora / Reproductora Digital de Audio (GDA)
En este ejemplo se usan ambos convertidores DAC y ADC, con un diagrama muy elemental
explicaremos este ejemplo.
Figura 6-4 Diagrama a bloques de una Grabadora / Reproductora Digital de Audio (GDA)
Una señal de audio, es desde luego una señal analógica. Cuando se está en el modo de grabación esta
señal de audio que puede provenir de un micrófono ó algún otro dispositivo, se acondiciona con
amplificadores operacionales y se pasa a través del ADC con lo cual se produce una señal digital
susceptible de ser grabada en una cinta digital. En el modo de reproducción cuando la señal proviene
de una cinta de grabación digital, la señal es procesada con un microcontrolador, convertida con un
DAC y finalmente amplificada para ser enviada al sistema de bocinas de reproducción del audio.
6.2 Convertidores Digital / Analógico DAC.
En esta sección examinaremos las características básicas de los convertidores DAC que es, el
dispositivo que transduce información digital a una cantidad continua, es decir un ADC acepta una
palabra digital y entrega una cantidad proporcional al valor numérico representado por la palabra.
6.2.1 El ADC básico.
En la figura 6-5 se muestra el diagrama simplificado de un DAC básico. Este dispositivo convierte en
una corriente cada bit de su entrada de datos digitales cuyo valor binario sea 1, y suma tales corrientes
en ISUM como su salida analógica la cual puede ser aprovechada a través de RSALIDA en VSUM que será
un voltaje proporcional al valor de la palabra digital de entrada. Cada conmutador, S, controla una
fuente de corriente, I, cuando un conmutador esta en 1, su fuente contribuye a la corriente de salida I
SUM, que de esta forma se vuelve proporcional a la entrada en paralelo de la palabra de datos
digitales.
Figura 6-5 Diagrama simplificado de un convertidor básico Digital / Analógico con 4 bits.Las
entradas de datos digitales del bit 1 al bit 4 controlan los estados de los conmutadores
S1 a S4.
Las entradas de datos digitales del bit 1 al bit 4 controlan los estados de los conmutadores S1 a S4.
En la figura 6-6 se muestra un diagrama de bloques simplificado de un DAC completo. El registro de
entrada o BUFFER asegura que los bits de entrada estén presentes en forma simultánea y que se
mantengan durante la conversión. Con la señal de intermitencia o STROBE, se controla que los
registros de entrada se transfieran simultáneamente a la salida de los registros de salida, las cuales se
conectan a las entradas del convertidor de digital a analógico. El voltaje de referencia V REF es una
fuente de voltaje estable que suministra las corrientes a las fuentes de corriente. El amplificador
operacional convierte la salida de corriente del convertidor en un voltaje de salida proporcional,
VSALIDA .
Figura 6-6. Diagrama de bloques simplificado de un sistema DAC completo.
6.2.2 DAC de resistencia binaria ponderada.
Este convertidor consta de los cuatro elementos siguientes:
1).- Una red de resistencia ponderada en la cual los valores de la resistencia se incrementan en un
factor de 2 para cada bit, el valor para la resistencia en la posición del digito más significativo ó bMs
es
R bMs = R x 20
En las posiciónes siguientes al bMs, el valor es
Rx 21 , Rx 22, …. Rx 2n-1
Siendo el último termino el valor de la resistencia para el bit menos significativo bms
2).- Un total de n conmutadores, uno para cada bit aplicado al DAC.
3).- Un voltaje de referencia estable, VREF.
4).- Un elemento sumador, el cual debe sumar las corrientes que fluyan de la red resistiva.
Luego entonces la corriente debida a al bit 1 ( bMs) en el 1 lógico es, VREF / 1 R; la corriente debida
al bit 2 en el 1 lógico es VREF / 2 R, etc.; la corriente más pequeña se debe
al bit bms y es:
I bms = VREF / 2n-1 x R
Y la corriente I SUM es la suma de todas las aportaciones de corriente por cada bit.
Ejemplo 6 – 5.
En la figura 7-7 se muestra un ADC con entradas de resistencia binaria ponderada con un amplificador
operacional como elemento sumador. Cada una de las resistencias de entrada tienen o no corriente
dependiendo del valor de entrada ya se valor ALTO ( 1 lógico) o Bajo (0 lógico). Si la entrada es el
binario 1, la cantidad de corriente que entra al circuito depende del valor del resistor colocado a su
entrada, que de acuerdo a los valores mostrados cada uno difiere de otro en un valor de 2n, como se
muestra en la figura. Puesto que prácticamente no entra corriente al amplificador operacional por su
entrada inversora, toda la corriente pasara a través de RF por lo que el VSALIDA será = IFRF.
Figura 7-7 6-ADC con entradas de resistencia binaria ponderada con un amplificador operacional
como elemento sumador
Una desventaja de este tipo de convertidor es la gran cantidad de resistores con valor diferente que se
requieren, además que su estabilidad y rango de tolerancia deberá ser mejor del 0.5 %.
Ejemplo 6 – 6.
Determinar el voltaje de salida para el DAC mostrado en la figura 6-8(a) Si se aplica ,a las entradas
una secuencia de números binarios de 4 bits representados con las formas de onda mostradas en la
figura 6-8(b).
Figura 6-8 (a) ejemplo 6-6
Figura 6-8(b) formas de onda para el ejemplo 6-6
Solución.
Primero determinamos el valor de la corriente por cada una de las entradas de resistencia ponderada.
Dado que la entrada (-) del amplificador operacional (amop) es 0 V ( tierra virtual ). Y el binario 1
corresponde a +5V , aplicando ley de ohm tenemos:
I0 = 5 V / 40 Kohm = 0.125 mA
I1 = 5 V / 20 Kohm = 0.25 mA
I2 = 5 V / 10 Kohm = 0.5 mA
I 3 = 5 V / 5 Kohm = 1.0 mA
Asumiendo que no fluye corriente por el amplificador operacional debido a su muy alta impedancia y
que entonces toda la corriente fluye a través de RF . Y dado que un extremo de esta resistencia tiene un
voltaje de 0 V (tierra virtual), y por el otro deberá tener un voltaje igual al voltaje de salida y que será
negativo respecto a la tierra virtual tenemos:
VSALIDA (D0) = ( 1 k ohm) ( - 0.125 mA ) = - 0.125 V
VSALIDA (D1) = ( 1 k ohm) ( - 0.25 mA ) = - 0.25 V
VSALIDA (D2) = ( 1 k ohm) ( - 0.5 mA ) = - 0.5 V
VSALIDA (D3) = ( 1 k ohm) ( - 1.0 mA ) = - 1.0 V
En la figura 6-8 (b) Podemos observar que el primer código binario de entrada es 0000 que produce
un voltaje de salida de 0 V, El siguiente código es 0001 que produce un voltaje de salida de -0.125 V.
El siguiente código es 0010 que produce un voltaje de salida de -0.25 V, El siguiente código es 0011
que produce un voltaje de salida de -0.125 V + -0.25 V = -0.375 V. Cada código binario sucesivo
incrementa el Voltaje en -0.125 V, la salida de voltaje tiene para este ejemplo una forma de onda de
escalera invertida que va de 0 V a -1.875 V en pasos de -0.125 V su grafica se muestra en la figura 6-9.
Figura 6-9. Grafica del voltaje de salida para el circuito del ejemplo 6-6 ---.
6.2.3 Características de comportamiento para los convertidores D/A.
6.2.3.1 Factor de Multiplicación
Como la salida de un DAC es directamente proporcional al VREF Para obtener un voltaje de salida
preciso entre V SALIDA y la entrada digital se requiere que el VREF sea fijo y estable. Sin embargo
supóngase que VREF es una fuente de voltaje analógica cambiante. En tal caso el voltaje de salida del
DAC es proporcional al producto de una entrada analógica y una entrada digital. Por lo tanto se puede
usar el DAC como un amplificador o atenuador controlado digitalmente, en el cual la ganancia será
determinada por la entrada digital. En la referencia bibliográfica (revista UPIICSA de tecnología) se
publica una aplicación muy interesante de esta cualidad de los DAC en el diseño de un sistema en el
que el dispositivo se usa como modulador de amplitud para transmitir de señales.
6.2.3.1
Resolución
La resolución de un DAC es el reciproco del número máximo de pasos discretos que se pueden tener a
la salida del DAC, es igual a 2n- 1, donde n es el numero de bits de entrada. Obviamente la resolución
depende del número de los bits de entrada.
Ejemplo 6-7
Determinar la resolución de un DAC de 4 bits de entrada.
Solución
Resolución = 1 / (24 - 1 ) = 1 / 15 que también puede ser expresada en porcentaje
de resolución = (1/15)100 = 6.67%
como
%
6.2.3.2 Exactitud.
La exactitud es la comparación de la salida real de DAC con la salida esperadas expresa como un
porcentaje del voltaje de salida a escala completa, o máximo voltaje de salida. Por ejemplo si el
convertidor tiene un voltaje de salida a escala completa de 10 V y la exactitud es de 0.1 %, entonces el
máximo error de cualquier voltaje de salida es igual a (10 V)(0.001) = 10 mV. Idealmente, la
exactitud deberá ser, a lo más, + o - ½ del bit menos significativo bms. Para un DAC de 8 bits , 1 bms
es 1/256 = 0.0039 (0.39 %de la escala completa ) . La exactitud debiera ser de + o – 0.2 %.
6.2.3.3 Linealidad
El error por linealidad o mas propiamente por la no linealidad, es una medida de cómo la linealidad de
la salida analógica se relaciona con la entrada digital en todo el intervalo de operación. Es la
desviación de la recta esperada, como se muestra en la figura pag. 447 fig 15 – 12 libro copias.
Figura 6-10 (a) No linealidad de 1 bms con la ganancia ajustada para un error cero en la escala
completa.
Figura 6-10 (b) No linealidad de + o – ½ bms con la ganancia ajustada a un mínimo error pico.
6.2.3.4 Linealidad diferencial
La no linealidad diferencial es una medida del cambio en la salida analógica por cada cambio de 1 bit
en la entrada digital. Idealmente, cada paso debe ser de la misma magnitud en todo el intervalo de la
operación, pero debido a las imperfecciones del circuito, los cambios reales no son iguales, lo que se
ilustra en la figura 6-11.
Figura 6-11 No linealidad diferencial
6.2.3.5 Tiempo de estabilización.
El tiempo de estabilización (settling time) o conocida también como la velocidad a la que opera, el es
el tiempo que toma el DAC en alcanzar la estabilidad dentro de + o – ½ bms de su valor final cuando
un cambio ocurre en el código de entrada. Los valores típicos se settling time se encuentran en el rango
de 10 uS a 50 nS
6.2.3.6 Monotoneidad.
Un DAC es monótono cuando la salida aumenta( o permanece constante) dada una entrada creciente.
En la figura 6-11se muestra un DAC no monótono, en la que se muestra un deterioro en el
funcionamiento del DAC.
Figura 6-11. Grafica de salida para un DAC no monótono
6.2.3.7 Voltaje de desajuste (Offset)
Teóricamente la salida de un DAC debiera ser cero cuando todas las entradas binarias son ceros. Sin
embargo en la práctica esto no ocurre ya que siempre existen pequeños voltajes de salida . Esto se
conoce como error de desajuste (offset), el cual deberá reajustarse por medios externos en caso de así
requerirse.
6.3 Diseño del DAC con microcontroladores
El diseño de un sistema con microcontroladores que requiera de la conversión de señal con código
digital a señal analógica es muy simple de implementar pues los DAC requieren solamente la señal de
código digital de entrada y dos o solamente una señal de control.
Primero se mostrara como se conecta un DAC cuando se requieren dos señales de control C S y WR.
En la figura 6-12.
figura 6-12 Diagrama a bloque de un convertidor D/A .
En la figura 6-12 se muestran los detalles de operación de un convertidor digital a analógico con
entrada almacenada en registro de 8 bits. La entrada de 8 bits se pone en un registro interno hasta que
concluya la siguiente conversión. Los datos se guardan en el registro cuando la ACTIVACION CS es
alta; se dice que el almacén al registro es transparente cuando la señal de ACTIVACIÓN CS es baja.
El registro mantiene la señal hasta que llegue otra que la reemplace. Cuando un CAD tiene un registro
de entrada de datos se puede conectar en forma directa con el bus de datos de un microprocesador y
este los considerará como una señal digital para la entrada de datos al CAD. Un CAD sin registro de
almacén de datos se debe de conectar a través de un adaptador de interfase periférico
Figura 6-13 conexión de un DAC con un Microcontrolador en operación unipolar.
En la figura 6-13 se muestra como se debe de conectar un DAC con un microcontrolador cuando es
necesario que la salida sea un voltaje que varié entre cero y el voltaje de referencia VREF , lo cual se
denomina operación unipolar. Si VREF = 5 v el voltaje de salida de + 5 V cuando R1 es de 8 kohm y
R2 = 8 Kohm; el rango es de +10V cuando R1 = 16 Kohm y R2 = 5.33 Kohm.
En la figura 6-14 se muestra el DAC AD7524 que es fabricado por Analog Devices y que es
compatible con microprocesadores de 8 bits tales como 6800, 8085, z 80 y con microcontroladores
como 68hc11, PIC 16c84, Intel 8051. a través del uso de las señales de control CS y WR. Los modos
de operación que se pueden tener se presentan en la tabla de la figura pag 63 ramakan.
Figura 6-14 diagrama del DAC AD7524 fabricado por Analog Devices
Un DAC multiplicador es un DAC diseñado para operar no solamente con un voltaje fijo de referencia
VREF sino también con una entrada analógica Vi en lugar de la entrada fija de VREF; El CAD
AD7524 puede ser configurado como se muestra en la figura 6-14. Cambiando el circuito externo. La
salida del DAC Multiplicador estará representada por Vo = Vi X donde Vi es la señal de entrada y X
es la fracción asociada con la entrada digital. Si se sume que tanto Vi como X pueden tener polaridad,
a esta forma de operación se le llama de cuarto cuadrante. En contraste cuando Vi = Vref. es decir un
Voltaje fijo se llama operación en segundo cuadrante.
6.4 Un DAC práctico
El CAD de Nacional Semiconductors AD0808.
El AD0808 es un convertidor digital a analógico de 8 bits el cual muestra dentro de sus características
principales un tiempo de asentamiento (settling time) de 150 nS con una presición de +0.19 %.. Este
convertidor es de tipo DIP y posee 16 pines que se distribuyen de la siguiente manera
Figura 6-15 Descripción de pines del DAC 0808
Figura 6-16 Pines del DAC 0808
Figura 6-17 Características eléctricas del DAC 0808
Este dispositivo AD0808 es muy sencillo de operar pues únicamente se debe de tener cuidado en dos
cosas; primero que los valores de entrada VIH y VIL para el “1” y “0” lógicos estén dentro de los
valores especificados, y segundo que el voltaje de salida Vo este debidamente acoplado en su
impedancia de salida.
En la figura se muestra como se puede conectar un AD0808 de Nacional Semiconductors
Figura 6-18 Diagrama eléctrico de la conexión del AD 0808
Descripción del circuito
La salida de datos D0 a D7 del microprocesador o microcontrolador según sea el caso, se acopla
directamente a las entradas A1 a A8 pines 5 a 12 del DAC 0808, conectando el pin 20 Vcc a +5V y
los Pines 1 DIR y 19 OE de acuerdo al modo de operación que se desee La salida del DAC pin 4 se
acopla en impedancia a través del AmOp LM 741, en este circuito se usa una configuración de
amplificador inversor con ganancia ajustable, El +VREF pin 14 se conecta a +5 V a través de una
resistencia de 4.7 kohms y el –VREF pin 15 a tierra a través también de una resistencia de 4.7 kohms,
el -VEE pin 3 a -12 V y finalmente la COMP pin 16 a través de un capacitor de 0.1 uf a +5 V
Programa de control para el circuito
El programa de control únicamente requiere de poner en el puerto de salida D0 a D7 del
microcontrolador el código de datos que se desea convertir a analógico.
6.5 Otros tipos de DACs
Otro tipo de DAC que se fabrica más comúnmente es el que se llama de redes escalonadas resistivas
R/2R. En la figura 6-19 se muestra un DAC de resistencia ponderada binaria con 6 bits y amplificador
operacional como elemento sumador de corriente. Los conmutadores muestran una entrada binaria de
101010. En este ejemplo el valor de la resistencia para el bit bMs es de 5 k, mientras que el del bit bms
es de 160 k. Debido a que el valor de las resistencias cambia en un factor de 2 para cada bit, un DAC
de alta resolución tendría una gran gama de diferentes valores de resistencias para el bMs y el bms. En
tal DAC se presentarían algunas dificultades. En primer lugar, sería difícil fabricar un conjunto de
resistencias de tan amplio intervalo de resistencias que no obstante, contara con razones exactas y que
no alteren su valor con los cambios de temperatura. Segundo, las corrientes en las posiciones cercanas
al bms serían muy bajas debido a las altas resistencias. Tales corrientes bajas Hacen muy sensible al
DAC a corrientes de ruido que pudieran ser de la misma magnitud.
Figura 6-19 Diagrama de un DAC de resistencia ponderada binaria con 6 bits de resolución
Figura 6-20 DAC en escalera R/2R
Otro método para realizar la conversión D/A es utilizar la red escalonada R/2R, como se muestra en la
Figura 6-20 para el caso de 4 bits, este método resuelve uno de los problemas del DAC con
ponderación binaria pues solo requiere dos valores de resistencias. Asumiendo que la entrada D, esta a
nivel alto (+5V) y las demás a nivel BAJO (tierra, 0 V) esta condición representa el código binario
1000 y haciendo un análisis del circuito se puede observar que cada entrada de menor peso sucesiva
produce una tensión de salida que es la mitad de la anterior, por lo que la tensión de salida es
proporcional al peso binario de los bits de entrada. El DAC AD 0808 mostrado en el punto anterior es
un ejemplo de un DAC en escalera R/2R .
6.6 Convertidor Analógico / Digital ADC.
La conversión analógica a digital es el proceso por el cual una señal analógica se convierte a código
digital. La conversión A/D es necesaria cuando se requiere expresar una magnitud analógica producto
de una medición en un código digital para poder ser procesada en una computadora, presentarla en un
display o almacenarla en un archivo digital.
A continuación se analizaran varios tipos de convertidores analógico / digitales
6.7 Parámetros de rendimiento del ADC
Entre las características de los convertidores A/D destacan las siguientes:
6.7.1 Resolución
La resolución de un ADC es el más pequeño paso digital con el cual es posible aproximar el voltaje
analógico de entrada.
Ejemplo 6-8
El voltaje de entrada de escala completa de un ADC de 8 bits es +5 V. Calcular el menor paso de
voltaje analógico que puede reconocer el convertidor.
Solución . Ocho bits representan 28= 256 pasos. Un paso en un voltaje de entrada de escala completa
de 5 V representa 5 / 256 V = 19.53 mV
6.7.2 Tiempo de Conversión
La conversión de un valor sobre una forma de onda analógica a una cantidad digital, no es instantánea,
esta requiere de un tiempo de conversión que va de algunos uS para las conversiones más rápidas a mS
para los dispositivos más lentos. Este concepto se ilustra en la figura 6-21
Figura 6-21 tiempo de conversión A / D
6.8 Circuitos componentes de los ADC.
En esta sección se analizaran dos circuitos analógicos que se usan frecuentemente en los ADC. El
comparador de voltaje y el circuito de muestreo y retención.
6.8.1 Circuito comparador de voltaje
Los comparadores de voltaje analógicos son circuitos que comparan dos señales VA y VB de manera
que si VA > VB entonces la salida es BAJO o de 0 V y para el caso de que VA < VB entonces la
salida es ALTO o mayor de +3V. El tiempo de respuesta de un comparador de voltaje analógico es el
tiempo entre la aplicación de un voltaje de entrada y el instante en que el voltaje de salida cruza el
voltaje critico lógico.
Fig. comparador de voltaje analógico
Fig. tiempos de respuesta de circuitos comparadores de voltaje
Figura 6-22. Comparador de voltaje analógico
(a) Símbolo eléctrico
(b) Voltaje de salida como función del voltaje de entrada
(c) Voltaje de salida como función del voltaje de entrada con histéresis
6.8.2 Circuitos de muestreo y retención (Sample and Hold).
En los ADC estos circuitos se utilizan para muestrear durante un breve intervalo de el valor
dependiente del tiempo de un voltaje analógico de entrada y luego retener constante el valor
muestreado durante la conversión. En la figura se muestra un diagrama simplificado de un circuito de
muestreo y retención. La necesidad de muestrear una señal analógica surge del tiempo de conversión
diferente de cero de un ADC; si durante la conversión la señal de entrada analógica ,cambia más que la
resolución del ADC , la salida digital de este pudiera no ser representativa de su entrada analógica.
Figura 6-23. Diagrama simplificado de un circuito de muestreo y retención
6.9 Tipos de convertidores Analógico / Digitales.
6.9.1 Convertidor Analógico/Digital Flash o Paralelo
El método flash utiliza comparadores que comparan una serie de tensiones de referencia con la tensión
de entrada analógica. Cuando la tensión analógica sobrepasa a la tensión de referencia de un
comparador determinado, se genera un nivel Altota figura 6-24
Figura 6-24 Convertidor A/D tipo Flash de 8 bits que usa 7 convertidores
La figura 6-24 muestra un convertidor de 8 bits que usa 7 convertidores, no se requiere convertidor para el
caso en que todas las comparaciones sean cero En general se requieren 2n-1 comparadores para la conversión
a un código binario de n bits. La salida de cada convertidor se aplica un circuito codificador de prioridad, en
el cual el código binario queda determinado por la entrada de mayor orden que se encuentre a nivel alto.
Referencia bibliografica . floyd Su principal ventaja de este comparador es su alta velocidad de muestreo
que se puede alcanzar, aunque presenta la desventaja de que se necesitan muchos comparadores para un ADC
de un número binario de tamaño razonable. La velocidad de muestreo determina la precisión con la que la
secuencia de códigos digitales representa la entrada analógica del ADC. Cuando más muestras se toman en
una unidad de tiempo, más precisa es la señal digital que representa a la señal analógica.
Aquí cabe una pregunta: ¿Con que velocidad se debe muestrear una señal analógica, es decir cuantas veces
por unidad de tiempo es lo mínimo con que se requiere muestrear una señal analógica ? La teoría propuesta
por Nyquist Referencia bibliografica Operational Amplifiers Floyd establece que una señal de entrada
variante con el tiempo puede reproducirse con fidelidad si la velocidad de muestreo es por lo menos dos veces
tan alta como la mayor componente de la frecuencia de la señal.
Ejemplo 6 – 10 Ilustración de varios muestreos por ciclo
La mayor componente de la frecuencia de una señal analógica es de 3500 Hz. Determina la mínima
velocidad de muestreo.
Solución: La mínima velocidad de muestreo requerida es 2 X 3500 = 7000 muestras por segundo.
6.9.2
ADC de aproximaciones sucesivas.
Este tipo de convertidor es el que sigue en menor tiempo de conversión al convertidor con método
Flash. La figura 6-25 muestra el diagrama a bloques básico de un convertidor ADC por
aproximaciones sucesivas de 4 bits
Figura 6-25 Diagrama a bloques básico de un convertidor ADC por aproximaciones sucesivas de 4 bits
Descripción del circuito
Esta formado por un DAC, un registro de aproximaciones sucesivas (SAR, successive-aproximation
r+egister) y un comparador. Los bits de entrada al DAC se habilitan a ALTO, de uno en uno
sucesivamente. Comenzando por el bit más significativo (bMs). Cada vez que se habilita un bit, el
comparador produce una salida que indica si la tensión analógica de entrada es mayor o menor que la
salida del DAC. Si la salida del DAC es mayor que la entrada analógica, la salida del comparador esta
a nivel BAJO, haciendo que el bit en el registro pase a cero. Si la salida es menor que la entrada
analógica el bit 1 se mantiene en el registro. El sistema realizara esta operación primero con em bMs,
luego con el siguiente bit más significativo, después con el siguiente, y así sucesivamente. Después de
que todos los bits del DAC hayan sido aplicados, el ciclo de conversión esta completo. Referencia
floyd.
6.9.3 ADC de contador de rampa en escalera.
El método de rampa en escalera para la conversión A/D se conoce también como método de Rampa
digital o método contador. Se emplea un DAC y un contador binario para generar el valor digital
correspondiente a una entrada analógica. La figura 6-26 presenta un diagrama de este tipo de
convertidor.
.
Figura 6-26 Convertidor A/D tipo rampa de 8 bits
El método de rampa en escalera es más lento que el método flash porque, en caso de entrada máxima,
el contador debe pasar a través del número máximo de estados antes de realizar la conversión. Para
una conversión de 8 bits, esto significa un máximo de 256 estados y cado estado consume un cierto
tiempo La figura 6-27 ilustra una secuencia de conversión con 4 bits. Obsérvese que, para cada
muestra, el contador debe contar desde cero hasta el escalón en el que la tensión de referencia alcanza
a la tensión de entrada analógica. El tiempo de conversión es variable, en función de la tensión
analógica.
La figura 6-27 ilustra una secuencia de conversión con 4 bits
6.9.4 ADC de rastreo o seguimiento
El método de seguimiento utiliza un contador ascendente / descendente y es más rápido que el método
de rampa digital, porque el contador no se pone a cero después de cada muestreo sino que sigue a la
entrada analógica La figura 6-28 muestra un típico ADC de seguimiento de 8 bits.
figura 6-28 Típico ADC de seguimiento de 8 bits.
La salida del comparador se aplica al modo del control del contador, cuando esta BAJO ( 0 lógico),
hace que el contador cuente progresivamente, y , recíprocamente, cuando esta ALTO (1 lógico), hace
que el contador cuente en forma descendente. En la figura 6-29 se muestra que cuando el ADC de
rastreo a alcanzado el intervalo idóneo, entonces el convertidor puede seguir de forma continua el
voltaje analógico. La rapidez de rastreo no es ningún problema a medida que las variaciones de la
entrada sean relativamente lentas.
A fin de reducir el error inicial de las primeras conversiones suele fijarse el contador a media escala, es
decir, en 100…000.
Figura 6-29 ADC de seguimiento
6.9.5. ADC de pendiente simple
A diferencia de los métodos de rampa en escalera y seguimiento, el convertidor de pendiente simple
no requiere un DAC. Se utiliza un generador de rampa lineal para generar una tensión de referencia de
pendiente constante. En la figura 6-30 se muestra el diagrama del ADC de pendiente simple. Al
comienzo del ciclo de conversión, el contador esta en estado RESET y la salida del generador de
rampa es 0 V. En esta situación, la entrada analógica es mayor que la tensión de referencia y, por
tanto , se produce un nivel ALTO en la salida del comparador. Este nivel alto habilita la señal del reloj
para el contador y arranca el generador de rampa
Figura 6-30 Diagrama del ADC de pendiente simple
6.9.6 ADC de doble pendiente
El funcionamiento del ADC de doble pendiente es similar al de pendiente simple, excepto en que se
utiliza una rampa de pendiente variable y otra de pendiente fija. Este tipo de convertidor se utiliza
comúnmente en voltímetros digitales y otros tipos de instrumentos de medida.
Se utiliza un generador de rampa (integrador), A1, para generar las característica de pendiente doble.
En la figura 6-31 se presenta el esquema de un ADC de pendiente doble como referencia.
Figura 6-31 Esquema de un ADC de pendiente doble como referencia.
6.10 Un ADC práctico.
6.10.1 En la figura 6-32 se presenta el diagrama de conexión del DAC TSC 7116 de Teledyne
Semiconductors, en el que ya están todas sus componentes integradas para hacer la conversión A/D y
proporcionar la salida de datos en código de 7 segmentos para operar directamente un display de 3 ½
LEDs, que es muy utilizado en aplicaciones de instrumentos que requieren exhibir datos en un display
tales como medidores de RPM, corriente de armadura, medidores de voltaje, es decir cualquier entrada
analógica.
figura 6-32 Diagrama de conexión del DAC TSC 7116
6.10.2 El ADC 0804 es un ejemplo de A/D por aproximaciones sucesivas. En la Figura 6-32 se
presenta el diagrama a bloques este dispositivo funciona con una alimentación de +5 V y tiene una
resolución de 8 bits, con un tiempo de conversión de 100 uS también garantiza la característica de
monotonicidad y dispone de un generador de reloj interno. La salida de datos triestado sirven para
realizar las comunicaciones internas con el sistema de buses de un microprocesador.
Figura 6-32 Convertidor analógico digital ADC0804
6-10.3
El ADC 0809
Este convertidor es un dispositivo monolítico de tecnología CMOS con un multiplexor de 8 canales,
un convertidor A/D de 8 bits y un control lógico compatible con microprocesador. El multiplexor de 8
canales se controla por medio de un decodificador de direcciones de 3 bits para poder seleccionar
cualquiera de los 8 canales de manera individual conectando de manera directa al convertidor A/D el
canal deseado.
Este tipo de convertidor se caracteriza por poseer un divisor de voltaje de 256 R con un bloque de
conmutadores analógicos y un registro de aproximaciones sucesivas. La versatilidad de este
dispositivo hace que se elimine la necesidad de utilizar arreglos de circuitos para ajustar el cero
externo y la escala completa. Ofrece alta velocidad, alta precisión, dependencia mínima a los cambios
de temperatura así como un mínimo consumo de potencia.
El encapsulado es tipo DIP y tiene 28 pines que se describen en la siguiente figura 6-33
Figura 6-33 Descripción de pines del ADC0809
En la figura 6-34 se muestra en diagrama como se pude conectar el ADC 0809 a un microprocesador
a través de una Interfase Periférica Programable PPI (por sus siglas en ingles), de Intel 8255 .
Figura 6-34 Diagrama de conexión del adc0809 a un bus de PC
Descripción del circuito
El circuito consta de un Tranceptor de bus de 8 canales el 74LS245, el cual se usa como buffer para el
PPI 8255, el que a su ves se usa como interfase y proporciona una salida multiplexada de 3 puertos de
I/O entre el bus de de la PC y el Convertidor ADC 0809. El circuito 74lS138 se utiliza como
decodificador de direcciones. El ADC se conecta al puerto A del PPI y sus señales de control al puerto
C. En la siguiente unidad VII se da un ejemplo de cómo puede ser el programa para la operación de
una tarjeta de conversión A/D diseñada y construida en base a este diagrama.
6.11 Diseño de un ADC con microcontroladores.
El termino Microcontrolador se usa para describir un sistema encapsulado en un chip de silicón que
incluye un mínimo de partes para su funcionamiento autónomo. Como pueden ser , la unidad de
procesamiento central CPU, la unidad de control CU, memoria de programa, memoria de datos, y
puertos de entrada/salida I/O. algunos microcontroladores incluyen en forma adicional componentes
tales como atemorizadores, contadores, convertidores analógico/digitales .
En esta sección vamos a considerar los microcontroladores que incluyen convertidores A/D.
6.11.1 Arquitectura de microcontroladores.
Básicamente, existen dos tipos de arquitecturas en microcontroladores( referencia bibliografica
microcontroladores PIC): Arquitectura de Von Neumann y Arquitectura Hardvard. La arquitectura de
de Von Neumann se caracteriza porque la CPU se conecta con una memoria única, donde existen
datos e instrucciones, se comunica a través de un sistema de buses ver figura 6-35.
Figura 6-35 Esquema de la arquitectura de << Von Neuman >>
En la arquitectura Harvard son independientes la memoria de instrucciones y la memoria de datos y
cada una dispone de su propio sistema de buses ver figura 6-36. Esta dualidad además de propiciar el
paralelismo, permite la adecuación del tamaño de las palabras y los buses a los requerimientos
específicos de las instrucciones y de los datos. También la capacidad de cada memoria puede ser
diferente. Actualmente se alcanza un alto rendimiento y elevada velocidad, en los actuales
procesadores debido a la conjunción de tres tecnicas : Arquitectura Harvard. Arquitectura RISC, y
Segmentación o pipe line. Los microcontroladores PIC son un buen ejemplo de estos procesadores.
Figura 6-36 Esquema de la arquitectura << Hardvard >>
6.11.3 Microcontroladores PIC.
En el mercado existen varios tipos de microcontroladores y con características diferentes que
dependen principalmente de los fabricantes como son entre otros: Motorola, Intel, Nacional, Texas
Instruyen, Microchip.
Las familias de microcontroladores PIC es desarrollada por Microchip Technology Inc.
( http://www.microchip.com)Y tiene ventas de estas familias de PIC del orden de 120 millones de
dispositivos al año.
Entre todos estos fabricantes es muy difícil escoger el “mejor” microcontrolador. En realidad no existe,
porque en cada aplicación son sus características especificas las que determinan el más conveniente.
La popularidad de los PICs se debe entre otras razones a su sencillez de manejo, buena información
disponible, precio, buen promedio de parámetros entre otros, velocidad, consumo de potencia,
alimentación código compacto, etc. Así como herramientas de desarrollo fáciles y baratas además de
permitir un diseño rápido.
Básicamente todos los PICs ofrecen las siguientes características

Conjunto con alrededor de 35 de instrucciones RISC.

Puertos digitales I/O

Circuito de reloj

Temporizadores

Perro guardián (watchdog)

Sistema de protección ante fallos de la alimentación.

Estado de reposo.

Reinicio (Reset)

Modos de dirección, directo indirecto y relativo.

Interfase para reloj externa

Memoria de datos RAM

Memoria de programa EPROM

Canales de entrada analógica

Comparadores analógicos
Microchip dispone de cuatro familias de microcontroladores PIC.
Familia pequeña PIC12C(F)XXX
Son de bajo costo, La letra C designa memoria de programa EPROM, La letra F designa memoria de
programa tipo FLASH, encapsulado de 8 pines, trabajan a 2.5 a 5 V y 4 MHz. Tienen un repertorio de
32 a 35 instrucciones. En la figura 6-37 se muestra un diagrama de este PIC.
Figura 6-37 digrama de conexiones de los PIC12CXXX
Y en la figura 6-38 Una tabla con las principales características de esta familia
Figura 6-38 Una tabla con las principales características de la familia PIC12CXXX
Familia baja o Básica PIC16C(F)XXX.
Es una familia de bajo costo pero con prestaciones limitadas, en encapsulado con 18 a 28 pines.
En la figura 2.4 FED se muestra un PIC ejemplo de esta familia
Figura 6-37 Diagrama de conexiones de los PIC16CXXX
Figura 6-39 Tabla con las principales características de la familia PIC16CXXX
Familia media PIC16C8F9XXX
Es la familia más variada y completa de PICs. Abarca modelos con 18 hasta 64 pines, esta el más
popular de los PIC el 16C(F)84
En la figura 6-40 se muestra el diagrama del PIC16C74
Figura 6-40 Esquema del PIC16C74
En la figura 6-41 se Muestra una tabla con las principales características de la familia media.
Figura 6-41 Tabla con las principales características de la familia PIC16CXXX
Familia alta PIC17CXXX
Se alcanzan las 58 instrucciones, y quizás la característica más destaca es la posibilidad de ampliar el
microcontrolador con elementos externos, pues este microcontrolador saca por sus pines las líneas de
los buses de datos, direcciones y control, a las que se conectan memorias o controladores de
periféricos. Figura 6-42 se Muestra una tabla con las principales características de la familia alta
Figura 6-42 Tabla con las principales características de la familia PIC17Cxxx.
6.11.4 Herramientas para el desarrollo de proyectos.
El desarrollo de proyectos con PIC requiere de varias herramientas que dependen del tipo de
aplicación y microcontrolador a usar. En general las siguientes herramientas son apropiadas:

Un lenguaje ensamblador o un lenguaje de alto nivel específicos

Un dispositivo programador de PIC, existen muchos en el mercado uno de ellos vende
directamente la empresa Microchip (www.microchip.com) que es económico y muy completo en lo
que a información se refiere.

Un borrador de EPROM

Una PC para el desarrollo de los programas, La velocidad del CPU no es importante para su
empleo en este propósito

Una tablilla para conexiones

Y dependiendo de la aplicación, resistores, capacitares, LEDs, displays, y otros componentes.
Si bien es cierto, usar lenguaje ensamblador para la programación de PICs, representa un considerable
ahorro de código en la confección de los programas, lo que es muy importante dada la estricta
limitación de la capacidad de la memoria de instrucciones. Y que los programas bien realizados en
lenguaje ensamblador optimizan el tamaño de la memoria que ocupan y su ejecución es muy rápida.
Pero su principal desventaja es que cada microcontrolador tiene su propio ensamblador y hacer
programas en este lenguaje es muy complejo y frecuentemente difícil de darles mantenimiento.
Existen en el mercado Lenguajes de alto nivel desarrollados específicamente para la programación de
las familias de PICs. En esta sección se usara uno de los compiladores en C desarrollados para este
propósito, el compilador conocido como FED C; desarrollado por Forest Electronic Developments
(www.fored.co.uk y con e-mail: [email protected]).
Compilador FED C
Algunas de las razones para escoger este compilador son

El compilador FED C es dedicado y muy eficiente para desarrollar programas de todas las
series PIC 16XXX y 12XXX.

Editor integrado con ayudas para corregir sintaxis.

Incluye un simulador.

Un gran numero de funciones de librería.

Soporta aritmética de punto flotante.

Disponibilidad de un gran numero de funciones matemáticas.

Soporte directo para LCD.

Información y tutórales muy completos en la pagina web.

Y sobre todo está fácilmente disponible y a bajo costo.
El ciclo de desarrollo de programas para PICs es relativamente sencillo. Los programas se editan con
una PC. El código puede ser simulado y corregido antes de ser cargado en la memoria del PIC que
dependerá del tipo de memoria, ya sea Flash o EPROM, que tenga el microcontrolador a usar. Las
variables, instrucciones, etc. se usan en forma similar a los lenguajes de programación tradicionales
como Turbo C o Microsoft C. Se recomienda estudiar detalladamente el tutorial Learn to Use C Whit
the Forest Electronic Developments PIC C Compiler que se puede obtener en forma gratuita en la
dirección http://www.fored.co.uk
Estructura de un programa basado en el compilador FED C para microcontroladores.
La estructura de un programa desarrollado con este compilador es básicamente la misma estructura de
un programa C estándar, con algunos cambios menores. La estructura típica para el programa de un
microcontrolador PIC se muestra a continuación.
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
PROYECTO:
Darle nombré al proyecto
*
ARCHIVO:
Darle nombre al archivo con la extensión .C
*
FECHA:
Indicar la fecha
*
PROCESADOR:
Indicar el tipo de PIC a usar
*
COMPILADOR:
Compilador a usar
*
*
*
Describir lo que el programa hace …
*
*
****************************************************
#include <P16f84.h>
#include…………..
int i , j , ……….
char x, …..
void func( )
{
// comentarios ……
…………………
………………….
}
void main ( )
{
// comentarios….
………………
……………..
……………..
}
// incluir enunciados
// variables globales
// uso de funciones
// programa principal
Ejemplo 6 - 11
Escribir un programa con FED C que prenda y apague un LED conectado al bit 0 del puerto B de un
PIC16F84 . Deberá mantenerse un segundo en cada estado de salida.
Solucion.
El diagrama del circuito para este ejemplo se muestra en la figura 6-43. El reloj se genera usando un
cristal de 4Mhz. Un LED se conecta al bit 0 del puerto B a través de una resistencia de 470 ohm,
como limitadora de corriente.
Figura 6-43 Diagrama para el ejemplo 6-11
Los pines del puerto B se configuran como salida con la instrucción TRIB 0 0.Un loop sin final es
formada con el enunciado de control while y el LED es apagado y encendido dentro de este loop . El
enunciado de espera wait se usa para generar un tiempo de espera de un segundo entre cada salida. El
listado del programa se muestra a continuación:
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
PROYECTO:
Proyecto 1
*
ARCHIVO:
proye1.C
*
FECHA:
enero 2003
*
PROCESADOR:
PIC16F84
*
COMPILADOR:
FED C
*
*
*
Este programa enciende (ON) y apaga (OFF) un LED conectado al bit 0 del puerto B del
microcontrolador. Un retrazo de 1 S es insertado entre cada salida.
*
*
****************************************************
#include <P16f84.h>
#include <delays.h>…………..
void main ( )
{
TRISB=0;
while(1)
{
PB.B0=0 ;
Wait(1000) ;
PB.B0=1;
Wait(1000) ;
}
}
// programa principal
//pone los pines del puerto B como salida
// loop sin fin
// pone el bit 0 del puerto B OFF
//retrazo de 1000 mS
// pone el bit 0 del puerto B ON
// retrazo 1000 mS
Los microcontroladores tipo PIC pueden ser directamente conectados a través de sus puertos de
salida ya sea con una PC ó con algún display LCD según se requiera; ya sea almacenar los datos
adquiridos para su posterior análisis y procesamiento, y/o exhibir el resultado directamente en un
display LCD. Para este propósito se puede usar un diseño basado en el siguiente diagrama de bloques,
en el que se muestra un sistema para la medición de temperatura con termopar tipo K .
Figura 6- 44 diagrama de bloques, en el
medición de temperatura con termopar tipo K .
que se muestra un sistema para la
Los display LCD son muy empleados en los proyectos con PICs para exhibir inmediatamente los
resultados obtenidos por el microcontrolador en el ejemplo 6-12. Siguente se ilustra como se puede
hacer una interface simple entre el PIC y el display LCD
Ejemplo 6 -12
Asumir que se usará un PIC 16F84 como base de un proyecto, y que se desea enviar mensajes
tipo texto a un display marca HITACHI modelo HD44780 tipo LCD. Conectar el display al puerto B
del microcontrolador y desarrollar un programa en C para enviar el mensaje “PIC LCD” a la línea 1
del LCD.
Solución.
El diagrama del circuito para este proyecto se muestra en la figura 6-46, el LCD se conecta al PIC de
acuerdo con su configuración que se muestra en la tabla de la figura 6-45. El reloj se proporciona con
un cristal de cuarzo de 4 MHz . Un potenciometro de 20 k se usa para ajustar el contraste en el LCD.
Figura 6-45 Tabla de configuración del modulo LCD HD44780
Figura 6-48 Diagrama eléctrico para el ejemplo 6-12
En la siguiente descripción del programa (DDP), se describe la s funciones que se realizaran
BEGIN
Inicializa LCD
Limpia LCD pone cursor en posición home
Se envia el texto “PIC LCD” al LCD
END
Listado del programa para el ejemplo 6-12, elaborado con el compilador FED C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
PROYECTO:
Proyecto 2
*
ARCHIVO:
proye2.C
*
FECHA:
enero 2003
*
PROCESADOR:
PIC16F84
*
COMPILADOR:
FED C
*
*
*
Este programa envía el mensaje de texto “PIC LCD” a la linea 1 de un display *LCD
conectado al puerto B de un PIC16F84.
*
*
*************************************************
#include <P16f84.h>
#include <displays.h>…………..
const int LCDPORT=&PORTB;
void main ( )
{
LCD(-1) ;
LCD(257) ;
LCDString (*PIC LCD*) ;
while(1)
{
}
//define el puerto B como puerto LCD
// programa principal
//Inicializa LCD en línea 1
//Limpia cursor y lo manda a home
//Envia texto a LCD
// loop sin fin, espera por siempre
}
El encabezado “P16F84.h” define los registros y puertos del PIC16F84 . El encabezado
“displays.h”define los parámetros para la configuración del LCD. El programa define que el LCD esta
conectado al puerto B del micro. El LCD es inicializado, limpiado el display y el cursor posiciónado
en home en la línea 1. El mensaje de texto “PIC LCD” es enviado al LCD usndo el comando
LCDString. Finalmente, un loop sin fin hace que el programa espere permanentemente.
EJEMPLO 6 – 12 PROYECTO
Como una muestra de la potencialidad y comodidad de uso del compilador FED C se presenta el
siguiente proyecto:
Diseñar un sistema completo para medir temperatura usando un termistor como sensor . Hacer los
cálculos para determinar la temperatura en ° Celsius y presentar los resultados en un display LCD
cada 1 segundo.
Especificaciones para el sistema
Temperatura de medición
Error de auto calentamiento
Tipo de display
Formato del display
Frecuencia de lectura en el Display
Sistema
Diseño del sistema
0° C a +100° C
menor que 0.5° C
LCD
“nn.m C”
1 lectura cada segundo
Basado en Microcontrolador
Existen en el mercado muchos termistores que puden ser seleccionados que satisfacen las
especificaciones. El termistor que se determino para este diseño es el KED103BY, fabricado por
Bbowthorpe thermistors. Este dispositivo es tipo miniatura y tiene las siguientes características
R25° = 10 K
B = 4400
dTH = 9 mW /°C
Figura 6-49 grafica temperatura – resistencia para el termistor KED103BY
Se asume que se usa una fuente constante de voltaje para el circuito del termistor.
De la grafica de relación temperatura – resistencia de este termistor se obtiene
A 0° C la resistencia de RT = 40 K
A 100° C La RT = 500 ohm
Disipación por autocalentamiento
Si se asume que un máximo de 100uA circulan por el termistor, la máxima potencia de disipación
dentro del rango de operación será:
P = I2R
esto es
P = (100 x 10-6 )2 x 40 x 103 = 0.4 mW
Con una constante de disipación de 9 mW / °C, el máximo autocalentamiento estará alrededor de 0.4/9
= 0.04 °C que esta dentro de lo que se pide en las especificaciones.
A =°C el votaje a través del termistor es:
100 x 10-6 x 40 x 103 = 4V
entonces el valor de RS = ( 5 – 4) / (100 x 10-6) = 10K
a 100 °C, RT = 500 ohm y asumiendo una fuente constante de voltaje de +5, el voltaje a traves del
termistor es:
VT = VS ( RT / ( RS + RT) )
voltaje a través del termistor.
esto es, VT = 5 ( (0.5 / (0.5 +40) ) = 0.0617 que es el mínimo
Si se usa un convertidor A / D de 8 bit con una fuente de 5 V entonces un 1 mbs = 5000 / 256 =
19.6mV. que supera fácilmente el voltaje mínimo requerido por el termistor.
Diagrama del circuito propuesto:
El diagrama a bloque del circuito propuesto para este proyecto se muestra en la figura 6-50 . Se usara
un microcontrolador PIC 16f877.
Figura 6-50 Diagrama a bloques de un medidor de temperatura con termistor
5.11 FED
En la figura 6.50 se muestra el diagrama completo del circuito. El termistor se conecta a una fuente de
voltaje constante y su salida directamente a la entrada AN 0 del PIC. Al puerto B se conecta e l LCD
en el que se mostrara la temperatura cada segundo en °C
Figura 6-51 Diagrama eléctrico de un medidor de temperatura con termistor
Descripción de la operación del circuito
El voltaje a través del termistor es convertido a código digital y la resistencia del termistor (RT)| en
función de de VT y VS es:
RT = (VT x RS) / (VS – VT) donde VT es el voltaje a través del termistor , VS = 5 V, y RS = 10K.
Entonces:
RT = (104 x VT) / (5 – VT) ohm
La temperatura del termistor en función de B es:
TT = 1 / (1/B Ln(RT/R25) +1/T25
Donde TT es la temperatura medida en (°K), RT es la resistencia del termistor (ohm), B = 4400, T25 =
298.15 °K, y R25 es 10 K.
Entonces:
TT = 1 / (1/4400 Ln(RT/10 000) + 1/298.15) esta temperatura expresada en °C es :
TT = 1 /(2.272 x 10-4)Ln(0.0001RT) + 3.354 x10-3 ) – 273.15
Esta ecuación se pude usar para calcular TT, puesto que RT esta determinada en función de VT.
En la siguiente DDP se describe la operación del programa:
BEGIN
Inicializa el LCD
Inicializa el microcontrolador
DO FOREVER
READ el voltaje del termistor y convierte a código digital
Calcula la resistencia RT
Calcula la temperatura TT
Muestra la temperatura en °C en LCD
Espera por 1 segundo
ENDDO
END
Listado del programa
El listado completo del programa se muestra en seguida. Se usan las variables de punto flotante tv y tr
para el voltaje del termistor y su resistencia respectivamente. Después de inicializar el LCD y el
microcontrolador, para que en todo momento se lleve a cabo la converción A/D para la medición de la
temperatura se forma un LOOP sin fin. El convertidor es de 10 bit . Los 2 bit superiores de la
conversión son almacenados en el PIC en el registro ADRESH. Los restantes 8 bit en el registro
ADRESHLL. El voltaje del termistor tv se calcula multiplicando ADRESHH por 256 y sumándole
ADRESHL. El voltaje se convertido a milivolts multiplicandolo por el factor de escala 5000/1054
( 5000 mV a escala completa en 10 bit). La resistencia del termistor trse calcula con la ecuación
anteriormente definida para RT. Finalmente la temperatura medida se calcula usando la ecuación
también definida anteriormente para TT almacenando el resultado en la variable temp que es de punto
flotante. Esta variable se configura con dos y un dígitos para antes y después del punto decimal (nn.m)
y se convierte a una cadena callada temperatura. El carácter “C” es adicionado al final de la cadena,
mostrándose en el LCD el resultado final obtenido de temperatura cada segundo.
Listado completo para el medidor de temperatura con termistor
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*
*
*
PROYECTO:
Proyecto 3
*
ARCHIVO:
proye3.C
*
FECHA:
enero 2003
*
PROCESADOR:
PIC16F877
*
COMPILADOR:
FED C
*
*
*
En este proyecto se mide la temperatura con un termistor y se muestra en un LCD cada *
segundo con el formato “nn . m C”.
*
*
*************************************************
#include <P16f877.h>
#include <displays.h>
#include <delays.h>
#include <strings.h>
#include <maths.h>
const int LCDPORT=&PORTB;
const float LSB = 5000/1024;
//define el puerto B como puerto LCD
// LSB en mV
void main ( )
{
float tv, tr, temp, y;
int msd, lsd;
char temperatura[6];
/* Inicializando el LCD
// programa principal
LCD(-1) ;
LCD(257) ;
/*
*/
//Inicializa LCD en línea 1
//Limpia cursor y lo manda a home
Inicializando el microcontrolador */
ADCON1 = 0x80 ;
ADCON0 = 0 ;
ADCON0 = 0x41 ;
while(1)
//pone los 6 bMs a cero
// se selecciona a AN0 como entrada
//habilita el oscilador del A/D
//DO FOREVER
{
/* Inicia la conversión A/D */
ADCON0 = 0x45 ;
// inicia la conversión A/D
while(ADCON0 & 1 == 0) ;
// espera la conversión
tv = 256*ADRESH + ADRESHL ; // Captura el voltaje del termistor
tv=tv*LSB ;
// escala del voltaje del termistor
/* Calculo de la resistencia del termistor tr */
tr = 5.0*tv*10000.0/(5.0-tv) ;
/* calculo de la temperatura temp */
y = log (0.0001*tr) ;
y = 3.354*1e-3+y*2.272*1e-4 ;
temp = 1.0/y ;
/* Formato para el display LCD */
LCD(257) ;
//Limpia LCD y pone cursor en “home”
msd=temp ;
//digito msd
lsd=10.0*(temp-lsd) ;
// digito lsd
iPrtSring(temperatura,msd) ;
//msd
/*
Inserta “.” , digito lsd, y el character “C” */
temperatura[2] = ‘.’ ;
cPrtString(temperatura+3) ;
temperatura[4] = ‘ ’ ;
temperatura[5] = ‘C’ ;
/* Muestra la temperatura como “nn.m C” */
LCDString(temperatura) ;
/* Una segunda espera de un segundo */
wait(1000) ;
}
//ENDDO
}
Ejercicios
1.- Explicar las diferencias entre un microprocesador y un microcontrolador
2.-explique la diferencia entre memoria EPROM y memoria Flash EEPROM
. Que memoria recomienda para almacenar datos no-volatiles
3.-Escriba un programa en C para un microcontrolador PIC 16F84 que lea el bit 2 del puerto By envie
este dato a un led conetado en el bit 0 del mismo puerto.
4.- ( LEDs se conectan al puerto B del microcontrolador PIC16F84, con sus resistencias limitadoras
apropiadas. Escriba un programa que cuente en binario desde 0 a 255 y que la cuenta se muestre en los
LEDs. Inserte un retraso de 500ms entre cada cuenta de salida.
5.-Un display de cristal liquido LCD modelo HD44780 de Hitachi tipo conección paralelo
se conecta a un microcontrolador PIC16F84. Escriba un programa que cuente de 0 a 255 y que envie
la cuenta al display LCD. Incerte un retrazo de 800ms entre cada cuenta.
6.- Lleve a cabo el proyecto presentado en el ejemplo 6 -12 para medir temperatura con un sensor de
thermistor, Microcontrolador PIC16f84 y el display LCD.
BIBLIOGRAFIA
1.-MICROCONTROLLER BASED TEMPERATURE MONITORING AND CONTROL Dogan Ibrain
Editorial Newnes 2002
2.- ANALOG AND DIGITAL CONTROL SYSTEMS Gayakwod, Ramakant editorial Prentice Hall 1988
2.- BASIC OPERATIONAL AMPLIFIERS AN LINEAR INTEGRATED CIRCUITS Floyd, Thomas L.
Editorial Merrill – Mc Millan 1994
3 DATA ADQUISITION AND PROCESS CONTROL WITH THE M68HC.11 Driscoll, Frederick F.editorial
Merrill Mc Millan 1994
Descargar