Está en la página 1de 6

IV Congreso Microelectrónica Aplicada (uEA 2013) 22

Instrumento de Medición Múltiple con


Microcontrolador

Murdocca, Roberto Martin; Kiessling Duran, Roberto Anibal


Laboratorio de Electrónica, Investigación y Servicios
Facultad de Ciencias Físico, Matemáticas y Naturales / Universidad Nacional de San Luis
San Luis, Argentina
e-mail: {mmurdocc, rkiessling}@unsl.edu.ar

Resumen - El trabajo consiste en la realización de un instrumento y también permite generar un tren de pulsos de frecuencia
destinado a la medición de magnitudes eléctricas, de bajo costo y predeterminada.
amplia funcionalidad, para uso intensivo en las prácticas de Para determinar el nivel lógico presente en un punto de un
laboratorios de circuitos digitales. El instrumento diseñado circuito se suele utilizar una punta lógica. Esta indica no solo
permite medir tensiones continuas, frecuencia y niveles lógicos.
el estado lógico, sino también si en un pequeño intervalo de
Además permite inyectar señales en circuitos digitales, entre
ellas, trenes de pulsos, caracteres ASCII y pulsos libres de tiempo se produjo un pulso no perceptible en forma directa o
rebotes. Se incorporan algunas funciones para verificar el con un voltímetro.
funcionamiento de ciertos componentes electrónicos. Este También suele ser necesario contar con un voltímetro
instrumento, además de ser una herramienta de trabajo en el digital que permita medir tensiones de CC. Esto, por lo
aula, es también un caso de estudio de codiseño HW/SW de general, se utiliza para verificar que las tensiones de
sistemas embebidos con microcontrolador. alimentación de las distintas etapas del sistema sean las
adecuadas.
Palabras clave - Microcontrolador, instrumentación, sistemas
digitales, Compilador C, Maquina de Estado, portátil, bajo
costo.
Contar con un único instrumento capaz de realizar la casi
totalidad de las medidas necesarias en un sistema digital, con
Microprocesador, Microcontrolador, CPLD, FPGA, etc., es
una gran ayuda para el diseñador de estos sistemas [1].
I. INTRODUCCIÓN
Comercialmente los instrumentos de medición actuales del
mercado Argentino permiten la medición de unos pocos
A la hora de diseñar un sistema digital, el diseñador posee parámetros de los descriptos aquí. Por ejemplo, se pueden
herramientas software que le permiten obtener una simulación hallar multímetros digitales que incorporan algunas de las
del comportamiento de dicho sistema casi de forma real, pero funciones de medida pero con rangos acotados, por ejemplo
aun así algunas situaciones no son factibles de simular, no son los rangos de medida de frecuencia son siempre muy bajos,
visibles, o no se presentan en forma real en un simulador. Los del orden de 2MHz máximo. Por otro lado se pueden
conocimientos y habilidades obtenidos al poner en encontrar instrumentos avanzados que son verdaderos
funcionamiento un circuito real no se pueden adquirir analizadores lógicos portátiles, permitiendo medir muchos
mediante simulaciones. Para desarrollar este tipo de enseñanza parámetros de laboratorio pero su precio es muy elevado.
basada en proyectos, es necesario contar con varios tipos de Cabe aclarar que no se encontró ningún instrumento manual
instrumentos en número suficiente para todos los alumnos. que reúna las características antes mencionadas.
Muchas veces es necesario medir frecuencias para saber si Por otro lado, el desarrollo de un instrumento de bajo costo
una determinada etapa de un circuito recibe la señal correcta o permite equipar un laboratorio con el número suficiente para
si dicha señal es generada como se esperaba al momento del que cada alumno tenga acceso a uno y maximizar el
diseño. Otra medición relacionada con esta es tener la aprendizaje en las prácticas de laboratorio.
posibilidad de contar eventos.
Al realizar la comunicación entre sistemas se suele utilizar Además, la practicidad del instrumento es un elemento
(aun hoy en día) el estándar RS-232 para la transmisión serie. motivador para que los alumnos adquieran los conocimientos
Contar con un dispositivo que permita enviar una cadena de necesarios para entender su funcionamiento y posteriormente
caracteres y que permita ajustar la velocidad de transmisión es armar uno propio.
una gran ayuda en estos casos. Es por esas razones que se decidió encarar la elaboración de
Otra herramienta muy útil es el generador de pulsos, este un instrumento que reúna estas características para ser
permite introducir pulsos libres de rebotes en el sistema digital

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE


IV Congreso Microelectrónica Aplicada (uEA 2013) 23

utilizado en el Laboratorio de Electrónica, Investigación y A. Metodología de diseño y herramientas utilizadas.


Servicios de la UNSL y en los Laboratorios de Electrónica de
la carrera Ingeniería Electrónica con Orientación en Sistemas Para la implementación del instrumento se utilizaron
Digitales, Técnico Universitario en Electrónica y Profesorado herramientas de simulación software-hardware. Para realizar
en Tecnología Electrónica. la programación del Microcontrolador se utilizó la herramienta
MPLAB 8.6 junto con el Programador/Debugger PICKit 3 que
permite la programación ICSP (In Circuit Serial
II. HARDWARE Programming) [3] facilitando así la tarea de realizar cambios
continuos en el Firmware. El lenguaje de programación
Para el desarrollo del instrumento se utilizó el utilizado es el C por sus características de portabilidad de
Microcontrolador PIC16F886 de Microchip [2] debido a las código, estandarización, librerías disponibles, y además
características de hardware que incorpora. porque permite incorporar código en ensamblador.
Las principales características de este Microcontrolador
son: 8K de memoria FLASH de programa, frecuencia de
trabajo hasta 20MHz, 368 Bytes de memoria RAM, 256 B. Acondicionamiento de Entrada
Bytes de memoria EEPROM, 13 fuentes de interrupción,
Perro Guardián (WDT), Debugger In-Circuit, 14 canales
Debido a que se deben utilizar varios terminales del
Analógicos de 10 bits, 3 Temporizadores/contadores, 2
Microcontrolador para implementar las distintas funciones de
módulos de captura/comparación/PWM., USART, etc.
medición, se tuvo que buscar la forma de poder combinar
todas estas líneas. Una alternativa era colocar distintas
El PIC16F886 se fabrica en encapsulados de 28 pines en
entradas externas e ir cambiando de posición la punta de
formatos PDIP, SOIC, SSOP y QFN. Se utilizó para el
medida, lo cual resulta ser poco práctico. Otra alternativa
prototipo la versión en formato PDIP y para la versión
consistía en utilizar varios relés para ir conmutando la entrada
definitiva se utilizó el encapsulado SOIC.
en función de la medición seleccionada, pero surgió del
análisis que también se tornaba poco práctico ya que se
Inicialmente se comenzó el proyecto con el PIC16F873, el
incrementaba mucho el consumo, el costo y las dimensiones
cual posee similares características pero limita su memoria de
del PCB escapaban de las especificaciones de diseño.
programa a 4K. Al ir incorporando funciones de medida, se
superó esta capacidad por cual se migró al PIC16F886.
Observando la hoja de datos del Microcontrolador utilizado,
más precisamente en la sección donde se detalla la
El diagrama en bloques del instrumento se muestra en la
arquitectura de los puertos se ve que poseen la capacidad de
Fig. 1. Allí se puede observar que se incluye poco hardware
poder configurarlos en alta impedancia (flotantes). Entonces,
adicional al Microcontrolador. Para realizar interface
se optó por realizar la combinación de las señales a través de
instrumento-usuario se incorporó un display LCD inteligente
simples resistencias a un punto común: la punta de medida.
de 16x2, 3 LEDS, un teclado formado por 3 pulsadores tipo
tac switch y un buzzer piezoeléctrico.
La interface con el circuito de medida se realiza por medio
de una única punta de entrada/salida. Cada función de medida
reconfigura los terminales necesarios para poder unificar la
función hacia una única punta de medida.

En la Fig. 2 se muestra el esquema de acondicionamiento


de la entrada.

Fig. 1. Diagrama de bloques del instrumento. Fig. 2. Circuito del acondicionamiento de entrada.

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE


IV Congreso Microelectrónica Aplicada (uEA 2013) 24

Al seleccionar una determinada función de medida, solo se TABLA 1. DEMORAS GENERADAS POR EL TIMER 2 PARA EL RETARDO DE
PUERTA
habilitan los terminales necesarios para esta medida, los demás
permanecen en “alta impedancia” [4]. Además, se reconfiguran Rango de Retardo de Puerta Resolución
los periféricos necesarios para dicha medida: Timers, Frecuencia (Gate)
contadores, Módulos CCP, etc. Por ejemplo para realizar la 40MHz…10MHz 1mS ±1KHz
función medida de frecuencia se utiliza el esquema de la Fig. 3. 10MHz…5MHz 5mS ±2KHz
5MHz…1MHz 10mS ±200Hz
1MHz…500KHz 50mS ±20Hz
C. Funciones de Medida 500KHz…50KHz 100mS ±10Hz
50KHz…10Hz 1S ±1Hz
Para la función frecuencímetro se utilizan dos terminales de
entrada, el RA4/T0CKI y el RA5/AN4. Se fija un nivel lógico En la Fig. 5 se muestra un diagrama en bloques de la
bajo en la entrada configurando el terminal RA3 como salida y función punta lógica. El detector de pulsos se realiza con el
colocando un cero lógico en esta salida. Timer 0 funcionando como contador de pulsos externos. Si en
un intervalo de tiempo de 500nS se incrementa el contador
El terminal RA5/AN4 está unido con RA4/TCKI, esto se entonces se tiene un pulso a la entrada. Luego a través del
realiza de esta forma para lograr mayor precisión al momento ensanchador de pulsos que comanda un LED se indica la
de medir frecuencia ya que dicho pin se usa como habilitación presencia de pulsos. El ensanchador de pulsos consiste
de lectura del contador además de permitir generar una básicamente de un monoestable que al ser disparado (detector
secuencia de pulsos para obtener el valor del pre-divisor del de pulsos) activa su salida por 250mS para activar el LED
Timer 0 ya que este pre-divisor no permite su lectura directa. indicador.
Para medir frecuencia se usa un contador que cuenta el El comparador de ventana se implementa con el canal 0
número de pulsos (N) de la señal de entrada durante un periodo del conversor AD. Se mide la tensión presente en la entrada y
de tiempo conocido, denominado tiempo de puerta. El tiempo se compara con dos umbrales cargados según la lógica
de puerta se obtiene a través del Timer 2 y una variable. Los seleccionada. Cuando la punta se encuentra al aire (flotante) o
valores empleados para el tiempo de puerta se muestran en la conectada en un circuito de alta impedancia, un divisor de
Tabla 1. tensión fija una tensión de aproximadamente 2.023V, valor
Se utiliza el Timer 0 [5] como contador de pulsos externos, que se encuentra en la zona no válida. Esto se hace para no
configurado con un prescaler de 256. Con el valor del prescaler forzar un estado lógico cuando la punta se encuentra al aire.
y el registro TMR0 se obtiene un dato de 16 bits. Este dato Para implementar la función voltímetro se utilizó también
dividido por el tiempo de puerta, nos da el valor de la el canal 0 del conversor AD, terminal RA0/AN0. Con esta
frecuencia de entrada [6]. En la Fig. 4 se muestra un diagrama entrada se mide una tensión de 5V FE. Para la función de 50V
de bloques del funcionamiento del frecuencímetro. FE se agrega un divisor de tensión con un factor de 10 a través
de un microrele.
Los modos Generador de Pulsos/Pulsador
Lógico/Generador Señal para Prueba de Servos/PWM
comparten el mismo hardware, solo se configura el pin
RA0/ANO en modo salida digital, como se ilustra en la Fig. 6.
Cada una de estas tres funciones ajsutará el Timer 0, el Timer
2 y/o el módulo CCP2 para generar las correspondientes
señales según la selección del usuario. En la Fig. 7 se muestra
el diagrama en bloques de la función “Pulsador Lógico”. Esta
permite generar trenes de pulsos angostos (ancho 400nS) con
distintos rangos de frecuencia o pulsos libres de rebotes en
Fig. 3. Configuración para la función frecuencímetro. modo manual.

Fig. 5. Diagrama en bloques de la función punta lógica.

Fig. 4. Diagrama en bloques de la función frecuencímetro.

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE


IV Congreso Microelectrónica Aplicada (uEA 2013) 25

Fig. 6. Configuracion para los Modos generadores de señales. Fig. 7. Diagrama en bloques de la función Pulsador Lógico.

El diagrama funcional del menú completo se presenta en la


III. FIRMWARE Fig. 10. Allí se puede ver el detalle de la navegación por los
distintos sub menús [8]. Por ejemplo, si se ingresa en el menú
PUNTA LOGICA, se debe seleccionar con las teclas <1> y
A. Interfaz gráfica de usuario
<2> la lógica a utilizar y luego presionar la tecla <3> para
validar.
El firmware fue desarrollado en lenguaje C [7], usando un
cross-compilador y se añadieron secciones de código en Se eligió este formato ya que ofrece un rápido acceso a la
lenguaje ensamblador. función de medida requerida por el usuario a la vez que puede
operarlo con solo tres pulsadores [9] y manipulando el
Se agregó código en lenguaje ensamblador para poder instrumento con una sola mano [10].
tener un control de la reconfiguración de los terminales
RC6/TX/CK y RC7/RX/DT los cuales son usados por la
USART en el modo Generador de Baudios. El compilador C
posee la directiva #USE RS232, la cual permite configurar los
parámetros de comunicación serie muy fácilmente pero al
utilizar esta directiva el compilador ignora todas las funciones
de reconfiguración de los terminales asociados a este
periférico, es decir, las funciones TRISX (). Por ello se omitió
esta directiva y se decidió utilizar lenguaje ensamblador para
esta sección del código usando la directiva #ASM. Fig. 8. Funciones de los pulsadores.

El código se organizó a través de una Maquina de Estados


Finito.
El firmware del proyecto posee un conjunto de parámetros
de configuración del Microcontrolador, los cuales son cargados
de la EEPROM al momento del encendido, es decir, el usuario
recupera la función de medida de la última vez que utilizó el
instrumento.
Al energizar el equipo se realizan una serie de tareas
destinadas a configurar el funcionamiento inicial del
instrumento, ellas son: recuperación de la última configuración,
configuración de los puertos del Microcontrolador, se inicializa el
módulo LCD, se muestra un mensaje de presentación y se espera una
orden de usuario.
La interface con el usuario está formada por tres
pulsadores. Dos pulsadores permite desplazarse por el menú
principal, y sub menús, uno desplaza hacia izquierda el otro
hacia derecha. Un tercer pulsador permite confirmar una orden
o salir. En la Fig. 8 se muestran las funciones de estos
pulsadores. En la Fig. 9 se muestran algunos de los menús del
instrumento.
Fig. 9. Algunos menus del instrumento.

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE


IV Congreso Microelectrónica Aplicada (uEA 2013) 26

TABLA 2.RESUMEN DE ERRORES MAXIMOS.

Error Impedancia
Función Rango / Escalas Resolución
(Máx.) E/S
Voltímetro
5V 1.5% 5mV 100KΩ
Escala Baja

Voltímetro
50V 2% 50mV 1.250MΩ.
Escala Alta
Probador de
5V 2.74% 5mV 560Ω
Diodos
TTL, CMOS 5V
Punta Lógica 0.62% 5mV 4.047KΩ
Lógica 3.3V
1Hz, 10Hz,
Pulsador
100Hz, 1KHz, 1.9% 20Ω
Lógico
10KHz
40MHz…10MHz ±1KHz
10MHz…5MHz ±2KHz
Medidor de 5MHz…1MHz ±200Hz
1.3% 100KΩ
Frecuencia 1MHz…500KHz ±20Hz
500KHz…50KHz ±10Hz
50KHz…10Hz ±1Hz
Contador de
50Mhz - 1 dígito 100KΩ
Eventos

Generador de
1Hz…10KHz 0.86% 20Ω
onda cuadrada
1200, 2400, 4800,
Generador de
9600, 19200,
caracteres - - 6K8
34800, 56700,
ASCII
115200
Señal 500Hz –
500Hz 0.56% 100KΩ
500mV

Gen Señal
6KHz 0.21% 100KΩ
PWM
Generador 50Hz – 1mS
0.127
Señal Prueba 50Hz – 1.5mS 20Ω
%
Fig. 10.Diagrama funcional del menu completo del instrumento. Servos 50Hz – 2mS
Display LCD 16x2 Matriz 5x8, 3 LEDs

Backlight Si

Alimentación Bateria Alkalina 9V

IV. RESULTADOS OBTENIDOS Consumo 18mA (Min.) / 52.5mA (Max.)

Para realizar el análisis de los resultados obtenidos por el


instrumento, se utilizaron instrumentos patrones provisto por el En cuanto a la implementación del PCB [11], en la versión
Laboratorio de Electrónica, Investigación y Servicios (LEIS). final se diseñó con dimensiones reducidas para poder utilizar
Todas las pruebas y Mediciones se realizaron en Laboratorio, una caja del tipo punta lógica. En la Fig. 11 se muestra la cara
lugar de uso del instrumento, bajo temperatura ambiente de superior del circuito impreso del instrumento, en la Fig. 12 la
25ºC. cara inferior y en la Fig. 13 la serigrafía.
Los instrumentos utilizados para efectuar las medidas y
calibraciones son: Osciloscopio Digital Rigol Modelo 1052
(Clase I), Multímetro Digital de Precisión HP 34401A (Clase I)
y Contador Universal HP 5315A (Clase I).
Todos estos instrumentos son Clase I, es decir, precisión
para uso en laboratorios.
Los resultados obtenidos de contrastar mediciones del
Fig. 11. Cara superior del circuito impreso (Top Layer).
instrumento desarrollado con los instrumentos patrones, se
resumen en la Tabla 2. Los errores indicados en la tabla son los
máximos. Cada función de medida posee generalmente varias
escalas. Se ha tomado el peor caso en cada una de las
funciones. Por ejemplo en el caso del frecuencímetro se
presenta un error máximo de 1.3%, pero este corresponde a una
medida de 10Hz (Escala 10Hz a 50KHz). Mientras que por
ejemplo a los 100Hz el error es de 0.85% llegando a 0.038% a
los 10MHz.
Fig. 12. Cara inferior del circuito impreso (Bottom Layer).

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE


IV Congreso Microelectrónica Aplicada (uEA 2013) 27

Dentro de las mejoras en marcha se tiene la


implementación de comunicación serie con dispositivos I2C,
SPI y 1 Wire para verificar su funcionamiento, funciones de
detección y lectura de señales infrarrojas para pruebas de
fotodiodos, controles remotos, etc.
Además se está reemplazando el fusible por una alternativa
electrónica de bajo ruido.
Fig. 13. Serigrafía del circuito impreso.
Finalmente se plantea como mejora una batería recargable
de menor dimensión e incorporar el circuito de recarga en el
instrumento.

V. CONCLUSIONES REFERENCIAS

En el presente trabajo se logró obtener un instrumento [1] AN689 - Engineers Assistant Using a PIC16F84A, Microchip
simple, con las funciones de medida más comunes para el Technology Inc, 1998.
diseñador de sistemas digitales, a un bajo costo, y con una [2] Hoja de datos PIC 16F886 - Microchip Technology Website.
interface instrumento-usuario muy amigable. [3] In-Circuit Serial Programming (ICSP™) Guide. Documentos técnicos
de Microchip Corporation, http://www.microchip.com
Se logró reunir varias funciones de medida en un solo [4] Pérez García M. A., Antón Álvarez JC., Campo Rodríguez,
instrumento utilizando un único Microcontrolador y reducido Instrumentación electrónica, THOMSON, 2004.
hardware externo. [5] Angulo Usategui J. M., Angulo Martínez Ignacio, Microcontroladores
PIC, Prentice-Hall, 2005.
Si bien el instrumento final no es de alta precisión [6] AN592- Frequency Counter Using PIC16C5X, Microchip Technology
comparado con instrumentos profesionales de laboratorio, los Inc, 1997.
resultados obtenidos muestran que es más que suficiente para [7] García Breijo Eduardo, Compilador C CCS y Simulador Proteus para
las pruebas rápidas y prácticas de laboratorio. El costo del Microcontroladores PIC, Afaomega, 2008.
equipo desarrollado es lo suficientemente bajo como para [8] Harprit Singh Sandhu, Making PIC Microcontroladores Instruments and
poder equipar un laboratorio con un instrumento por alumno. Controllers, ElcGraw Hill, 2009.
[9] Martin Bates, Interfacing PIC Microcontroladores, Elsevier, 2006.
[10] Lucio Di Jasio, Dogan Ibrahim, John Morton, Martin Bates, PIC
Microcontrollers: Know It All, Elsevier, 2008.
VI. POSIBLES MEJORAS Y TRABAJOS FUTUROS [11] EAGLE - Manual Version 6. CadSoft Computer, manual pdf
http://www.cadsoft.de/

Actualmente se está trabajando en el agregado de nuevas


funciones como así también en mejorar las existentes.

Universidad Tecnológica Nacional - Facultad Regional Bahía Blanca RED_UIE

También podría gustarte