Blog

April 26, 2015

Herramienta para estimar la máxima tasa de muestreo de un conversor ADC en microcontroladores PIC de 8 bits

Aunque la mayoría de aplicaciones que involucran los conversores analógico a digital (ADC) en microcontroladores procesan información de sensores o transductores electrónicos cuyas variables físicas varían lentamente en el tiempo (por ejemplo temperatura, presión, deformación, etc.) ocasionalmente se presenta la necesidad de digitalizar señales de audio, video, o señales provenientes de la red de alimentación eléctrica (50 o 60 Hz, cuyos componentes armónicos de interés pueden contener frecuencias en KHz).  En estos casos se deben  emplear algoritmos modificados en los ADC para obtener el mayor número de muestras por segundo, dentro de ciertos parámetros de error admitidos según la aplicación, y para ello es necesario conocer muy bien las características de estos módulos analógicos suministradas por el fabricante.

(Tomado de: http://www.microchip.com/pagehandler/en-us/press-release/microchip-introduces-first-pic.html)

En este post se presentan en detalle los conceptos básicos involucrados en la estimación de la máxima tasa de muestreo continuo de conversores ADC en microcontroladores PIC de 8 bits y se comparan los resultados teóricos derivados de la información suministrada por el fabricante Microchip en las hojas de datos para tres familias de dispositivos:  16F87x (p. e. 16F877A), 18Fx55x (p.e. 18F2550) y 18Fx5Kxx (p.e. 18F25K50).

Como resultado de una ponencia en el X Congreso Internacional De Electrónica Control y Telecomunicaciones (Bogotá, D.C., Noviembre 14 de 2014) en la Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas, comparto aquí algunos aportes del artículo sobre la investigación realizada.  El tema fue también desarrollado como material de clase del curso de Microcontroladores (hoy denominado Diseño Digital con Microcontroladores) hace algunos semestres.   Este antecedente puede consultarse aquí y está en permanente actualización.

Slide1

La versión PDF de la presentación power point utilizada en la ponencia está disponible AQUI

La versión PDF del artículo derivado de la investigación o paper está disponible AQUI

Los subsistemas conversores analógico a digital (analog to digital converter ADC) del tipo Registro de Aproximaciones Sucesivas (SAR), que por relación costo/beneficio están disponibles en la mayoría de los microcontroladores de propósito general (microcontroller unit, MCU) de 8 bits modernos, poseen características que frecuentemente son tanto subutilizadas como sobreestimadas por la falta de conocimiento y comprensión del proceso que se lleva acabo al interior de estos dispositivos, así como de sus características, ventajas y limitaciones.   Aspectos del ADC como su resolución, tasa de muestreo, errores de cuantificación o linealidad,  así como el número de señales analógicas que pueden ser adquiridas, pueden llegar incluso a ser criterios determinantes para seleccionar un dispositivo MCU para un diseño particular, además de otras típicas consideraciones de ingeniería para sistemas empotrados (embedded systems) como  son: el costo, la velocidad, el consumo de energía, la conectividad, los tipos de herramientas de desarrollo, repositorios de código y soporte disponibles.

Se desarrolló un conjunto de cálculos en una hoja electrónica, luego de una revisión detallada de  las principales consideraciones teóricas y prácticas  detrás del diseño de la tasa óptima de muestreo de un sistema de adquisición de datos con MCU para señales analógicas que cambian rápidamente en el tiempo (p.e. audio), a partir del estudio de caso  del módulo ADC de las MCU avanzadas de 8 bits, PIC18F de Microchip Technnology.  Se caracterizan los parámetros importantes del sistema de muestreo y retención S/H. Se pueden contrastar los resultados con las MCU de generación anterior, PIC16F87x, ya que se cuenta con una hoja electrónica para cada una de las familias de PIC micros.

Figura3HerrWebColor

La hoja electrónica googledocs puede accederse  en línea haciendo clic AQUI.   Para poder editar los valores debe realizar una copia del documento y guardarla en su propio repositorio google drive.

También puede descargar la herramienta en formato XLS haciendo clic aquí: CalculoTsampleAD, para ser utilizada sin conexión a Internet con LibreOffice o MS Office.

Luego de revisar el material técnico y académico disponible y de utilizar la herramienta para estimar las tasas de muestreo comparativas de los PIC16F87XA, 18Fx55x y 18(L)F2X/45K50 se encuentran conclusiones interesantes en el paper de investigación (disponible arriba) que se transcriben aquí:

La configuración por defecto de un módulo ADC de las MCU de 8 bits de gamas medias o avanzadas de Microchip permite cómodamente el muestreo y captura de señales de voltaje cuya máxima componente de frecuencia oscile aproximadamente entre 1.5 y 4.8 kHz (según gama y dispositivo), con un factor de sobre muestreo de 8 (hasta 16 muestras por período) (Kester, 2008).  Incluso para análisis de calidad de la red de suministro de potencia eléctrica (amplitud y fase), la resolución del ADC y la tasa de muestreo son compromisos para asegurar la precisión de los instrumentos de medición (Kuhlmann y otros, 2007).Dado que estas MCU no poseen arquitectura ni conjunto de instrucciones orientados a DSP, el procesamiento que pueden realizar sobre los datos capturados en tiempo real puede ser limitado, sin embargo, debido a la disponibilidad de un módulo de comunicación USB 2.0 en algunos de estos dispositivos,  los datos adquiridos pueden ser transmitidos eficientemente a una computadora para realizar todo tipo de análisis posteriores.  El estudiar y optimizar el proceso de adquisición de datos en los módulos ADC de estas MCU permitió predecir aumentos en las tasas de muestreo entre el 10% y 90%, según la gama de MCU, las especificaciones técnicas suministradas por Microchip y las condiciones de operación de los dispositivos.  El análisis de los datos estimados teóricamente revela algunas marcadas diferencias entre especificaciones técnicas del sistema de muestreo y retención S/H de las MCU más recientes y las de generación inmediatamente anterior, que desfavorece apreciablemente a las más modernas y obliga a preguntarse si el costo inferior de los dispositivos modernos necesariamente está asociado con desempeños inferiores en algunos de sus módulos, o si existen errores en la transcripción de los parámetros en el manual técnico de estos nuevos dispositivos que ameritan su verificación en pruebas estrictas de laboratorio.  Aumentar la velocidad de operación de la MCU no necesariamente  aumenta la tasa de muestreo e incluso bajo ciertas circunstancias puede  reducirla.   El poder determinar si la aplicación requiere menos bits significativos en los resultados () que los que posee como resolución el ADC (n) permite ajustar los algoritmos del proceso para aumentar la tasa de muestreo reajustando tanto el tiempo de conversión como de adquisición. La correcta implementación de la optimización de la tasa de muestreo finalmente depende de un adecuado proceso de codificación  o programación que se fundamenta tanto en el conocimiento de los datos técnicos que el fabricante suministra en los manuales para sus MCU, como en la destreza para producir un algoritmo preciso que represente todas las recomendaciones, condiciones y secuencias que suministra Microchip sobre el uso correcto de dichos datos.  Por lo tanto el programador debe conocer las debilidades y oportunidades que posee cada MCU de acuerdo a las especificaciones técnicas de cada uno de los módulos que ayuden a resolver algún problema particular de la ingeniería, manejando siempre las mejores relaciones de conveniencia entre los diferentes conjuntos de variables del problema.

 

Aprende, Tutoriales Básicos
About Francisco Zamora

Leave a Reply

Your email address will not be published. Required fields are marked *