viernes, 23 de noviembre de 2012

Conversión Analógico-Digital.

La conversion Analogico-Digital... mmmm.... que será eso?

Analógico es una medida que dan, por ejemplo los multimetros de aguja, como el que puedes encontrar descrito aqui.
Digital es una medida que dan los multimetros digitales :)

No es una buena aproximacion, pero sirve para irnos dando una idea, lo digital es procesado numéricamente, como el sonido en un  disco compacto. Los discos de vinilo grababan analógicamente: en el disco había un surco en espiral desde el borde externo hasta el centro del disco, y en las caras del surco habia como imperfecciones o rugosidades, que hacían vibrar la aguja de lectura, estas vibraciones se amplificaban y se mandaban a la bocina.

 La diferencia en los discos compactos es que en lugar de rugosidades, hay una serie de "pozos", en los que el rayo láser que se usa para leerlos se refleja con un ángulo distinto del ángulo con que se refleja donde no hay "pozos", aquí sólo es posible extraer dos señales: pozo y superficie normal. Y es suficiente, pues asi se representan 1s y 0s, que bastan para procesar digitalmente una señal (en realidad lo que define el cambio de 0 a 1 y viceversa es el borde del pozo). Este tipo de datos se llaman bits, y se encuentran tambien alineados en una espiral, que empieza en el centro del disco compacto y termina en la orilla del disco. Para leerlo, un rayo láser es disparado mientras un sensor registra lo que se refleja. Como el rayo láser es más fino que la aguja de lectura, se pueden poner los "surcos" mucho más juntos y más delgados, posibilitando almacenar mayor cantidad de informacion digital. La serie de unos y ceros obtenida sirve para reconstruir la señal.

En este blog hay fotografias impresionantes.

Bueno, "a lo que truje, Chencha", qué es digitalizar? es representar datos analógicos con números, que los microprocesadores puedan entender. Y se representarán con unos y ceros, que es lo que entienden las máquinas.

Por ejemplo: el LM35 es un sensor de temperatura de tres terminales, encapsulado tipo TO92 (tiene la apariencia de un transistor comun y corriente como el bc547, aunque se puede encontrar en otras presentaciones), que tiene la capacidad de medir temperatura de -55 a +150 grados centigrados.  Su resolución es de 10 mV por grado centígrado, significa que a -55 °C la señal que entregue será de -550mV, a -54 °C entregará -540 mV , a 10 °C entregará 100 mV, a 11 °C entregara 110 mV y a 150 °C entregará 1500 mV:


Bien, ahora se quiere digitalizar la señal que entrega el sensor de temperatura, para guardar los datos en un registro de temeperaturas, digamos, la temperatura de una habitación durante un año (cada hora el sistema tomará una medida y almacenará el dato). Para simplificar también supondremos que en ese cuarto la temperatura jamás va a bajar de cero grados centígrados y nunca va a estar por encima de 40 grados.
Así que nos enfocaremos a convertir en números ese rango de tensiones de 0 a 400 mV.

DECISION CRUCIAL: la resolución que queremos: 8 bits? 10? 12? 16? 32?
Con 8 bits podemos contar de 0 a 255, así que el intervalo de 0 a 400 mV podemos dividirlo en 255 partes, de modo que a un incremento de 1 en el valor binario, corresponda un incremento de 1.568 mV. Lo cual significa que podremos medir la temperatura a intervalos de 0.1568 grados: 0 °C, 0.1568°C, 0.3136°C, 0.4704°C y asi hasta llegar a 40°C.

Con 16 bits podemos contar hasta  65535, waw!  esto quiere decir que el intervalo de 0 a 400 mV podemos divirlo en 65535 partes, y podremos medir la tempreatura en intervalos de 0.00061 grados!

De lo dicho hasta aquí ya podemos deducir una diferencia entre lo analógico y lo digital: el valor analógico da valores para todos los niveles de temperatura, para medios grados, decimas de grado, milésimas de grado, etc. pero en digital, solo se pueden tener representaciones "escalonadas", para observar esto vamos a considerar digitalizar con 4 bits:

Con 4 bits se puede contar hasta 15, así que se puede dividir el rango de temperatura en 15 segmentos y los valores digitales estaran representados en intervalos de 2,6 °C.

En imágenes esto sería así:


Con baja resolución, el intervalo que se esta midiendo se dividio en cuatro partes.

Con mayor resolución, el intervalo que se esta midiendo se dividio en 8 partes.

Con más resolución, el intervalo que se esta midiendo se dividió en 16 partes, aqui se registran más detalles.
Bueno, y si dividimos el intervalo de medición en 64 o en 1000 partes, pues cada vez se pueden registrar más detalles. Imagina una digitalización de tu concierto favorito en un bit: hay sonido o no hay sonido: ta ta ta ta ta ta....mmm, mejor no.
De estas figuras te estarás preguntando: Si, ya entendi lo de dividir la medicion en intervalos cada vez más pequeños en la escala vertical, pero, por qué solo nueve mediciones siempre?
Tienes razón: los numeros que están debajo de las gráficas son los valores digitales de la señal, así pueden guardarse y luego reconstruirse la señal con esa información, sin embargo por muchas divisiones que hagamos en la escala vertical, siempre quedará como una linea quebrada.... lejos de la linea suave y curva original, y es aquí donde hay que mencionar el TEOREMA DE NYQUIST que en esencia dice que hay que tomar muchas muestras de la señal a convertir en dígitos, el doble o más de la frecuencia de la señal original (número de muestras por segundo).

OK. Regresando al sensor de temperatura, en este caso la señal a convertir es la temperatura, un dato (cada hora, habíamos dicho), y si no somos tan exigentes podemos considerar una buena resolución la de 8 bits.
bueno, entonces nuestro intervalo de medición queda dividido así:
Con los correspondientes valores en binario.

Poniendo todo junto:

Como ultima consideración, hay que decir que cualquier intervalo podría ponerse dentro de los valores binarios de 0 a 255, y a cada numero binario le correspondería su valor del intervalo de temperatura.









No hay comentarios:

Publicar un comentario