La mayor parte de los microcontroladores tienen un conversor analógico-digital (analog to digital converter, ADC en inglés) para permitirnos convertir una tensión analógica de variación continua, a la que se suele definir como señal (por ejemplo la temperatura de una habitación) en un valor digital dentro de un rango definido a una velocidad de captura concreta, llamada frecuencia de muestreo. En el ejemplo de la temperatura de nuestra habitación, sería las veces que nuestro microcontrolador mide la señal, o dicho de otro modo, la cantidad de veces por segundo que nuestro Arduino mide cuál es la temperatura de nuestro cuarto.
Así dicho no parece un parámetro importante, a fin de cuentas la temperatura no suele cambiar demasiado rápidamente a lo largo del día. Es verdad, pero si en lugar de medir la temperatura estuviéramos midiendo la deformación de un vehículo durante su impacto contra un muro, probablemente ahí todo fuera diferente, la carrocería se deforma muy rápidamente y capturar la deformación mecánica de ciertas partes del coche, antes de que se convierta en chatarra, podría hacer que los ingenieros pudieran mejorar la seguridad del mismo. Es por ello por lo que tan importante es saber identificar no solo la naturaleza y magnitud de la señal, sino como la frecuencia a la que vamos a necesitar digitalizarla: frecuencia de muestreo. Ver detalles en la entrada Conversión analógica digital - ADC - Muestreo.
El tiempo que transcurre entre una muestra y la siguiente se denomina periodo de muestreo, y es el inverso de la frecuencia de muestreo.
pero no solo es importante ver cuanto de rápido cambia la señal que quiero analizar para escoger bien la frecuencia de muestreo apropiada, también es importante saber de forma anticipada en qué rango de trabajo vamos a trabajar. No es lo mismo que queramos medir la fiebre de una persona, que a fin de cuentas sabemos que estará en el rango de 36-43 ºC, que intentar medir la variación de temperatura de un litro de agua mientras que lo voy calentando, que posiblemente esté en el rango de 0-100ºC.
En nuestro Arduino, los rangos de tensión que podemos manejar varían de una placa a otra, y en unos casos, como es el caso del Arduino UNO, la entradas analógicas permiten medir tensiones en el rango de 0 a 5 voltios, siendo, en caso de requerir medir tensiones superiores, necesario implementar soluciones del tipo divisores de tensión.
Conocer de forma anticipada el rango de trabajo en el que vamos a trabajar nos va a evitar muchos problemas graves y quizás darnos muchas alegrías, como veremos más adelante en la entrada donde explicamos como mejorar la resolución de nuestra placa.
Y es este el siguiente punto importante a tener en cuenta cuanto vamos a hacer mediciones analógicas, la resolución de la medida. Es importante definir con antelación cuál es la resolución requerida cuando vayamos a analizar una señal, no es lo requieres la misma resolución para medir la longitud de un puente, que para medir el tamaño de un pelo. En el primer caso, con una resolución de metros será suficiente, por ejemplo 136 metros, y en el segundo caso necesitarás que sea del orden de 0.01 milímetros, a fin de cuentas, el diámetro medio de un cabello en un joven es 0.1mm y en una persona anciana la mitad, por lo que si usamos como unidad de medida el metro, parecerá que todos estamos calvos, porque nos saldría 0 metros (0,00001m). Ver detalles en la entrada resolución de la medida del ADC.
Por lo que podemos resumir que, en general, hay tres cosas que nos interés para medir una señal:
- Cuántas veces por segundo vamos a requerir hacer la medida: frecuencia.
- Cuál es la resolución de la medida que vamos a requerir.
- Cuál es el rango de trabajo de la señal que queremos medir.
En la siguiente entrada vamos a repasar uno a uno estos conceptos, para luego poder saltar a presentar el ADC (conversor analógico digital en inglés) que el microcontrolador de nuestra placa Arduino usa, así como sus ventajas y sus inconvenientes.
No hay comentarios:
Publicar un comentario