viernes, 17 de abril de 2015

Publicación de código fuente (Firmware) de Mega-Herramienta


Desde hace mucho tiempo que me han solicitando compartir el código del instrumento nombrado Mega-Herramienta, pero no lo había querido soltar todavía, no por ser “codo”, si porque lo tengo muy desordenado y me falta darle su “manita de gato”, es decir volverlo más comprensible colocando más comentarios para describir la función del código relevante. Aunque me hubiera gustado compartirlo más entendible prefiero por el momento liberarlo para que tengan una idea de  la lógica de cada función y comprueben su funcionalidad.

También les cuento que este código lo he comenzado a optimizar para tener más memoria libre en el micro y poder programar la función de mini osciloscopio, que mostrara los datos en una aplicación en la PC. Por lo tanto, se están remplazando las operaciones con variables tipo flotante por enteros.

Bueno no tengo más que decir, así que les dejos el código libre.

lunes, 13 de abril de 2015

Probador de semiconductores con el microcontrolador PIC18f2550 (Parte II)




Ya ha pasado alrededor de 1 año desde que comencé con este proyecto y la verdad no pensaba que me llevaría tanto tiempo finalizarlo, la causa principal de esta demora, se debe a los pocos momentos que le he dedicado para trabajar en él. De cualquier forma, por fin me he sacado de la cabeza esa inquietud de saber que tengo un proyecto a medias, que debo de concluir.
Antes de profundizar en el tema,  quiero mencionar el nombre que le he dado al instrumento, si bien puede considerarse un clon de el “Transistor Tester” (probador de transistores) con el firmware de Karl-Heinz Kübbeler, el nombre solo indica que realiza una medición a un solo grupo de componentes, así que un nombre más apropiado puede ser  “Multi-Probador Automático”, ya que además de un probador de transistores también realiza diferentes mediciones que conoceremos más adelante. Aunque no me gusta nombrar las cosas en ingles pues en mi país se habla el español, por comodidad del nombre corto y por la costumbre de nombrar algunas cosas en otro idioma, el instrumento lo he etiquetado como “Automatic multi-tester”. Ya sé que el nombre del cacharro es de poca importancia pero ya me he encariñado con él y decidí ponerle un nombre adecuado. ¡Ahora sí, entremos en tema!


Características

Las características respecto a la función que se encarga de analizar los transistores, son prácticamente las mismas que en el  “Transistor Tester” original, excepto en la forma en que se registra la Resistencia en Serie Equivalente (ESR) y la inductancia; debido a que estos resultados no son tan precisos se optó por crear un circuito independiente para medir con más exactitud tales magnitudes. Así pues, las características del artefacto son:

1.       Usa el microcontrolador PIC18F2550
2.       Los resultados son mostrados en un LCD de 2x16 caracteres
3.       Se utilizan 4 botones para facilitar su operación.
4.       Consumo de corriente aproximado de 60 mA durante la operación y menos de 20 nA en estado apagado.
5.       Detección automática de transistores bipolares PNP y NPN, MOSFET de canal N y P, JET, diodos, diodos dobles, tiristores y triacs.
6.       Detección automática de la posición de pines.
7.       Medición del factor de amplificación de corriente de transistores bipolares y medición del voltaje de umbral Base-Emisor de transistores bipolares.
8.       Los transistores Darlington pueden ser identificados por el voltaje de umbral y el elevado factor de amplificación de corriente.
9.       Detección del diodo de protección de transistores bipolares y MOSFETs.
10.   Medición del voltaje de umbral de la puerta y el valor de la capacitancia de la puerta de MOSFETs.
11.   Hasta dos resistencias son medidas y mostradas con su símbolo  y valores con hasta 4 decimales y la unidad. Todos los símbolos están rodeados por el número de prueba del medidor (1-3). Así que, potenciómetros también pueden ser medidos. Si el potenciómetro es ajustado a uno de sus finales, el medidor no puede diferenciar el pin central y el pin final.
12.   La resolución de la medición de resistencia es de 0.1 ohm, valores mayores a 20 MΩ son detectados, pero la precisión no es buena.
13.   Un capacitor puede ser detectado y medido. Es mostrado con su símbolo y valor con hasta 4 dígitos y la unidad. El rango es de 1 pF  hasta 0.1 F. La resolución es de 1 pF.
14.   Para capacitores con valores arriba de 5000 pF la perdida de voltaje puede ser determinada. La cual da un indicio del factor de la calidad del capacitor.
15.   Hasta dos diodos son mostrados con su símbolo en el orden correcto. Adicionalmente el flujo de voltaje es mostrado.
16.   Los LED son detectados como diodos, el flujo de voltaje es mucho más alto que lo normal. LEDs dobles también son detectados como 2 diodos.
17.   Los diodos Zener también pueden ser detectados si la tensión de ruptura inversa es menor a 4.5 V. Estos son mostrados como dos diodos y se identifican como diodos Zener por los voltajes.
18.   Si más de 3 tipos de diodos son detectados, el número de diodos encontrados es mostrado con un mensaje diferente. Esto puede ocurrir únicamente, si los diodos están conectados en las tres sondas y al menos uno es un diodo Zener. En este caso es necesario conectar solo 2 sondas y comenzar la medición unas tras otra.
19.   Medición de la capacitancia de un diodo en la dirección inversa. Transistores bipolares también pueden ser analizados si solo se conecta la Base y el Colector o Emisor.
20.   Solo es necesario una medición para encontrar la conexión de un puente rectificador.
21.   El tiempo de prueba es de alrededor de 2 segundos, un capacitor puede causar un mayor periodo.
22.   El software puede ser configurado para activar y establecer el tiempo de apagado automático si no se realiza una acción en la operación.
23.    Calibración automática  de la resistencia interna de los pines de prueba y  fácil calibración de la capacitancia parasita presente en los pines de prueba.
24.   Muestra la corriente de corto circuito del Colector Iceo sin corriente en la base y la corriente residual del Colector Ices  con la base conectada al nivel del emisor. Estos valores son únicamente mostrados si no son cero (especialmente para transistores de Germanio).
25.   Incorpora un menú para facilitar la operación entre varias funciones.

Hasta este punto tales características son iguales al instrumentó original con pequeñas mejoras. A continuación se presentan las mediciones que se mejoraron y las nuevas implementadas.

26.   En el menú se puede elegir la función “Frec+CT” (medición de Frecuencia y del Ciclo de Trabajo). La resolución para frecuencias mayores de 1100 Hz es de 1 Hz y menores es de 0.01 Hz. Para frecuencias menores de 110  kHz se muestra el ciclo de trabajo con resolución de 0.1 %.
27.   Con la función “Volt Ext”  una tensión externa de hasta 55 V puede ser medida con un divisor de voltaje de 11:1.
28.   Con la función “PWM” se genera una señal cuadrada con frecuencia ajustable de 2929 Hz hasta 12 MHz y con ciclo de trabajo variable de 1 % a 99%.
29.   Con la función “PWM” se genera una señal cuadrada con frecuencia ajustable de 2500 Hz hasta 1 Hz y con ciclo de trabajo fijo de 50 %.
30.   La función “C+ESR” comienza una medición separada de capacitancia y medición de la ESR, con un circuito complementario. Capacitores con valores desde 1 µF hasta alrededor de 0.107 F pueden ser medidos directamente en su circuito, porque tan solo se emplea un  pequeño voltaje de prueba  de 300 mV. La resolución de ESR menor a 1 Ω es de 0.001 Ω y del rango de  1 Ω a 11 Ω es de .01 Ω. Adicionalmente, también se muestra la perdida de voltaje del capacitor en %.
31.   Medición de resistencias menores de 11 Ω también pueden analizadas con la función “C+ESR” con resolución de 0.001 Ω. Igualmente, está disponible la opción de poner a cero el valor de resistencia creada por los cables de prueba.
32.   La medición de inductancias se realiza con un circuito separado y eligiendo la opción “L/C Meter”. El valor es mostrado con 4 dígitos y la unidad; el rango de medición es de 1 nH hasta varios H, la resolución máxima es de 1 nH. Con función de valor a cero.
33.   Medición de capacitores con muy pequeño valor también se registran con la función “L/C Meter” y con el interruptor en la posición correcta. El valor es mostrado con 4 dígitos más la unidad. La resolución máxima es de 0.1 pF. El rango de medición es de 0.1 pF hasta aproximadamente 50000 pF.
34.   La función “RS232-LCD” permite controlar el LCD a través de una conexión serial a 9600 Baudios.  Presionando el botón 4 se envían un carácter de la A a la Z por el pin transmisor RC6. Después de enviar el carácter Z sigue un retorno de carro y un salto de línea, y nuevamente se comienza la cadena.
35.   Con la función “IR LED” se genera una señal cuadrada con frecuencia de 38 kHz a través del pin RC2 (sonda 3) al mismo tiempo que el nivel lógico del pin RA1 (sonda 2) cambia de estado alto por 1 ms ha estado bajo por 2.5 ms. 
36.   La opción “Analizador L.” activa la función de monitor lógico de un canal y con representación pseudo-grafica. La entrada es por el pin RB3 (sonda de prueba 1). Los tiempos de muestreo van desde 3 µs hasta 10 ms. La forma de empezar a extraer las muestras puede configurarse por flanco de subida o bajada.


 El circuito del “Automatic multi-tester”

En la entrada anterior mencionamos que el circuito estaba en fase de prueba y que conforme avanzara el proyecto se iría modificando para lograr implementar nuevas funciones y acomodar el LCD;  así que el resultado final de tales modificaciones dio lugar el siguiente esquema.

Circuito del “Automatic multi-tester”.

Si observamos el circuito de forma general nos daremos cuenta que ciertos pines del microcontrolador son utilizados para dos propósitos, por ejemplo el pin RB5 es empleado para enviar datos al LCD  pero también registra el estado del botón 4, es decir, funciona como entrada o como salida. Este método de conexión fue necesario para poder implementar todas las funciones que realiza el instrumento, si bien pudo remplazarse el microcontrolador por el PIC18F4550 que posee 40 pines, se hubieran desperdiciado muchas E/S, además de incrementar el tamaño de la placa de circuito (pero la razón principal es que no tenía otro PIC :-).
Ahora hablemos un poco más del circuito, especialmente de los bloques que lo integran.

Alimentación
El circuito de la etapa de alimentación es muy similar al utilizado en el instrumento original excepto que solo se utilizaron dos transistores para controlar el encendido y apagado del equipo con un pulsador, nombrado Boton1. El regulador de voltaje que se recomienda es el MCP1702-5002 principalmente  por que funciona a partir de 5.4 V, sin embargo, he utilizado el clásico regulador 7805 porque es el que tenía a la mano.
Un punto importante de mencionar involucra el divisor de tensión que se utiliza para medir el voltaje de la fuente de alimentación, ya que al utilizar un pin analógico, RA5, que también funciona como salida para control del LCD es necesario colocar un diodo Zener con tensión de ruptura inversa de aproximadamente 5 V para proteger el pin. En este caso hemos usado un 1N751A con tensión de ruptora de 5.1 V.
La tensión máxima de entrada puede ser de hasta 16 V esto se debe a que al compartir el pin RA5 con el pin de activación del LCD se pueden crear interferencia si el voltaje del divisor de tensión es mayor a 2 V.

LC-Meter
La etapa que forma el oscilador, el cual varía la frecuencia según el valor de la inductancia o capacitancia es el popular circuito con el operacional LM311 llamado “LC Meter”. De este no hace falta hablar mucho, solo destacar que tanto el pin que registra la frecuencia como el que detecta la posición del interruptor SW2, también son utilizados para manejar el LCD.

Entrada de tensión
El circuito que se utiliza para medir una tensión externa, nuevamente consiste de un divisor de voltaje de relación 11:1, con lo que se puede medir hasta 55 V. A partir de tensiones mayores a 5 V la resolución es de 0.05V, mientras que con tensiones inferiores a 5 V la resolución es cerca de 0.005 V. En el diagrama se aprecia que hay dos diodos a la salida del divisor, un zener de 5.1V y un Schottky ; ambos para proteger el pin RB4, el Zener protege de tensiones superiores a 55 V. El diodo Schottky  protege de tensiones negativas, para ello se necesita que la tensión de conducción sea lo más cercana a cero, en nuestro caso utilizamos un diodo recuperado de un disco duro, el cual la tensión de conducción es de casi 0.2 V.
Aquí nuevamente se comparte el pin análogo para el control de la pantalla y como la entrada del LCD posee resistencias que se conectan a positivo, estas afectan la lectura de tensión externa por lo que es necesario separar la entrada del LCD. Es por lo anterior que se utilizó un MOSFET canal N que funciona como un aislador de la entrada D6 del LCD. La única característica requerida del MOSFET, es que el voltaje de umbral de la puerta sea pequeño, de ser posible menor a 2 V. Alguno MOSFET que se utilizan en discos duros son ideales para esta aplicación.

Entrada de frecuencia
Como en los casos anteriores el pin RC0 es usado para medir frecuencia pero también el mismo pin es usado para conectar el LCD. Para ambas señales el pin puede ser cambiado a entrada o salida cuando se requiera.
Por tal característica es necesario un circuito extensión que aporte una protección al pin RC0 contra  algunos peligros que pudiese tener las señales periódicas, como son tensiones superiores a 5 V y tensiones negativas. También debe ser capaz de mantener la forma de la señal hasta el pin RC0 para una medición correcta del ciclo de trabajo, además de amplificar las señales débiles a niveles TTL. Cumpliendo con estas exigencias diseñamos el circuito que se aprecia en el esquema, que a pesar de invertir la lógica de la señal, en el programa del PIC puede ser configurada para una lectura efectiva del ciclo de trabajo.

Circuito de control
El circuito de control esta formado, básicamente por el microcontrolador PIC18F2550 en donde la frecuencia de operación es de 48 MHz, a pesar de utiliza un cristal de 8 MHz, con ayuda del PLL (“Phase Locked Loop” o lazo enganchado en fase) interno del PIC se logra tal frecuencia de trabajo.
Notar que se ha optado por usar un divisor de voltaje para crear la tensión de referencia en el pin RA3 de 0.512 V, esto para el conversor de análogo a digital (ADC); cabe señalar que la resistencia variable a utilizar debe ser del tipo multi-vuelta para un ajuste preciso.

Circuitos adicionales
En esta categoría se presentan dos pequeños circuitos que no están presentes en al diagrama general, la razón es porque pueden ser opcionales.
El primer circuito está relacionado con la protección de las tres sondas de prueba TP1, TP2 y TP3. En la documentación del “Transistor Tester” (que se puede descargar más abajo) recomienda dos circuitos como protección, sin embargo para nuestra versión solo el segundo circuito es compatible, el cual consiste en utilizar diodos como protección de tensiones residuales elevadas de los capacitores que no se descarguen previamente. Esta protección no es totalmente segura, sin embargo, con ella se aumenta la posibilidad de que las sondas de prueba no sufran daño.


Protección adicional con diodos a las sondas de prueba.

El segundo circuito adicional se muestra en la figura siguiente, el cual es necesario para poder medir la resistencia en serie equivalente (ESR), capacitancia y pérdida del voltaje, de forma continua.


El circuito está formado principalmente por un transistor para suministrar una corriente hacia el dispositivo bajo prueba (DBP) a través de R1, de un MOSFET que se encarga de descargar el capacitor de ensayo y de dos diodos de protección. Recomiendo que el diodo D2 tenga una tensión de conducción de menos de 0.3 V, por tanto debe ser del tipo Sckottky, esto para garantizar la protección de la terminal TP2 de tensiones negativas.
El método que se utiliza para medir la capacitancia es el mismo que se emplea con las sondas de prueba, obviamente cambiando algunas variables. Antes de comenzar con la prueba se descarga el capacitor por medio del MOSFET por un corto periodo de tiempo definido, a continuación de envía un pulsos de corriente activando el transistor Q1 con una duración de 10 µs, después se mide la tensión ganada y si el valor no ha alcanzado un mínimo de 300 mV , se repiten los pulsos hasta 65500 (0.655 s ) veces. Pero si después de 8187 (0.081 s) pulsos un voltaje mínimo de 37 mV no se ha alcanzado, la medición se cancela por que no se podrá llegar a 300 mV con los pulsos de corriente empleados. El valor del capacitor es calculado con la tensión obtenida y el número de pulsos, en una tabla la cual contiene factores para obtener la capacitancia en nF.
El principio de medición de ESR se basa en la caída de tensión en el condensador. Una vez más, el DBP es descargado para deshacerse de cualquier carga que pusiese haberse acumulado durante el ciclo previo de medición. Es entonces, cuando el DBP se somete a un pulso de corriente, solamente el tiempo suficiente para que el ADC interno del PIC realice una lectura (alrededor de 3 µs). Debido a que el pulso es muy breve, se asume que la parte capacitiva del DBP no es cargada. La caída de tensión a través del DBP se atribuye únicamente a la ESR, por lo tanto la tensión registrada por el ADC es proporcional a la ESR.
Con la tensión de referencia externa del ADC de 0.512 V se logra una resolución real de 0.01 Ω, pero haciendo uso de la técnica de Sobre Muestreo, se consigue una resolución estimada de 0.001 Ω. La técnica de Sobre Muestreo  consiste en sumar una gran cantidad de lecturas de la ESR (en este caso 100 muestras) y promediarlas.


Configurando el “Automatic multi-tester”

En el archivo de cabezada “Transistortester.h” del Software del instrumento y entre las primeras líneas de código se encuentran algunas opciones para configurar el funcionamiento del aparato, por medio de las directivas #define. Tales opciones se describen a continuación. 
COMMON_COLLECTOR: Activa la medición de la ganancia de los transistores (hFE) con el circuito de colector común. Esta opción esta activada por default.
COMMON_EMITTER: Activa la medición de la ganancia de los transistores (hFE) con el circuito de emisor  común.
AUTO_CAL: La capacitancia parasita (“zero offset”) registrada con la función de auto medición es guardada en la memoria EEPROM. También se mide la resistencia interna de las salidas del puerto analógico conectadas a GND. Esta configuración es necesaria para una correcta medición de capacitancia.
EBC_STYLE: Especifica el formato de salida de la disposición de pines de los transistores. Sin esta opción la disposición es mostrada con el formato “123=…”, donde cada punto representa a E (Emisor), B (Base) o C (Colector); para transistores FET cada punto puede ser G (Gate), D (Drain) o S (Source). Si la secuencia de los pines de prueba no es 123 en la dirección de lectura, se puede invertir la secuencia con la opción EBC_STYLE 321, la asignación de pines es entonces mostrada con el estilo “321=…”. Con la opción EBC_STYLE 0 el formato de salida es “EBC=…” o “GDS=…”.
NO_NANO: Especifica que el prefijo decimal nano no será usado para mostrar los resultados de la medición. Así el valor de la capacitancia será mostrado en µF en lugar de nF. En este caso no se ha activado.
ANZ_MESS: Esta opción especifica cuantas lecturas de una ADC (Conversión Análoga a Digital) deben realizarse y acumularse. Se puede seleccionar un valor de entre 5 y 200 para obtener el valor promedio de una medición ADC. Un valor alto mejora la exactitud, pero aumenta el tiempo de medición. Originalmente se ha configurado con un valor de 10.
POWER_OFF: Esta opción activa la función de apagado automático. Si no se especifica esta elección, el funcionamiento será continuo hasta que el suministro de energía sea desconectado por un interruptor, en este caso el circuito de encendido y apagado por botón no es necesario.
El tiempo permitido sin realizar una acción (apretar los botones), estando en el menú es de 30 segundos, posterior a este periodo se entrara a la rutina de apagado automático. Mientras que el tiempo de apagado dentro de una función es de aproximadamente de 6.5 minutos, si no se realiza una acción, de lo contario se restablecerá el contador.
El tiempo de apagado dentro de una función puede ser cambiado, modificando el valor de la opción TIME_OFF, la fórmula para el Tiempo de Apagado es: TA= TIME_OFF x 0.04369. Por ejemplo 6 min = 8240 x 0.04369.
BAT_CHECK: Activa la medición del voltaje de la batería (o fuente de energía) y el resultado se muestra en el LCD. Si no se activa esta opción, entonces el número de la versión de Software  es mostrado en el LCD. Activada por default.
WITH_THYRISTOR_GATE_V: Con esta opción se muestra el voltaje de la puerta de los tiristores. Activada por default.
SHOW_ICE: Habilita la medición de corriente de Colector Iceo sin corriente en la base y la corriente residual del Colector Ices con la base conectada al emisor. Estos valores son mayores a cero especialmente en transistores de Germanio. Activada por default.
SEARCH_PARASITIC: Se activa la función para encontrar el transistor parasito, de un transistor construido con un diodo de protección en su misma estructura. Por ejemplo, en un transistor NPN con esta característica, puede identificarse un transistor parasito PNP. La forma de indicar que se detectó un transistor parasito es con la marca NPNp o PNPn. Si se mantiene presionado el botón 3 (“Ok”) durante la salida del resultado, el parámetro del transistor parasito es mostrado.
INV_DUTY_CICLE: Habilitando esta opción se invierte el valor del ciclo de trabajo, por ejemplo un ciclo de trabajo de 20 %, invertido es 80%. La configuración se elige de acuerdo al circuito utilizado para la entrada de frecuencia. Función activada para nuestro instrumento.
Con la opción PERIOD_MAX se especifica la frecuencia mínima que puede ser medida. La fórmula para obtener el valor deseado es: Frecuencia Mínima = 1/(PERIOD_MAX x 0.00546125). La configuración escogida fue “PERIOD_MAX 400”, que permite registrar una frecuencia mínima de 0.457 Hz.


Construcción

La construcción de algún invento es la parte favorita de muchas personas que se encuentran en el campo de la electrónica, o de cualquier área, especialmente cuando no se tiene un modelo a seguir o cuando no cumple sus expectativas.
 En mi caso no es la excepción, así que les cuento como realice el cuerpo del instrumento. La idea principal fue reutilizar algún gabinete de cualquier aparatado que cumpliera con las dimensiones del circuito del “Automatic multi-tester”. La mejor opción que halle, fue usar la caja de un viejo radio, que convenientemente tienen la función de linterna la cual es muy útil para ver bien las letras de los pequeños semiconductores. Además de que cuenta con interruptores y un compartimiento para dos pilas AA, donde fácilmente pueden ser colocadas dos baterías pequeñas de Li-Po en serie para obtener una tensión de 7.2 V, suficiente para un correcto funcionamiento del instrumento.
A continuación las imágenes de como quedo la instalación del circuito en el gabinete.





Se adaptó un conector hembra para alimentación externa.



Instalación en el interior:

 
 




Como se puede observar,  el circuito fue montado sobre una placa de prototipos perforada, utilizando cable calibre #28 AWG, esto para facilitar las modificaciones que se fueron realizando hasta tener la versión actual terminada.
También se destaca una parte del circuito que fue construido en una pequeña placa fenólica de forma superficial, los circuitos corresponden  a la entrada de tensión externa, la entrada de frecuencia y las tres sondas de prueba con el circuito adicional, con diodos, para su protección. Esto debido al poco espacio disponible.
Para finalizar la construcción se mejoró un poco la presentación del cacharrito, simplemente colocándole un adhesivo con su nombre, la tarea de cada botón  y algunos símbolos electrónicos. En este punto, dudo que se una gran diferencia en la presentación, pero al menos  ¡sabemos la función de cada botón!



En cuanto al circuito adicional para medir capacitancia junto con la ESR, que puede ser considerado como un accesorio, se elaboró con la característica de poder ser operado con una mano, muy útil cuando se miden capacitores en placas de circuitos ya que podemos manipular más ágil la placa con la otra mano. Para lograr esta característica no fue necesario diseñar un costoso y sofisticado mecanismo, simplemente se requirió de un simple compás y de dos trozo de 8 cm de alambre de cobre calibre #12. Las imágenes siguientes describen mejor el accesorio.


Cada pedazo de alambre de cobre fue colocado en cada lado del compás por medio de un alambre más delgado, el cual fue cubierto con cinta de aislar para una firme atadura. También se nota que las puntas del alambre de cobre fueron afiladas y estañadas. Mientras que el circuito adicional fue colocado superficialmente en una pequeña placa de cobre que también hace la función de conector.
  

Grabación del PIC18F2550

Una vez teniendo el circuito armado lo que sigue es grabar el archivo con extensión HEX, que lo comparto al final de esta entrada. Se puede utilizar cualquier programa para cargar el archivo al PIC, pero antes debemos asegurarnos que los datos de la memoria EEPROM lleguen hasta las 6 últimas posiciones. Lo anterior lo menciono porque en el programa WinPic800 si no se desactiva la opción “Datos 18Fxxx Dirección * 2” (Configuración/Software/HEX) no se cargan correctamente los datos en la EEPROM, que es justamente donde se encuentran almacenados algunos mensajes y símbolos para ser mostrados en el LCD. El programa que recomiendo, para no tener algún problema es el PICkit2, ya que con este se extrajo el HEX de un PIC funcionando correctamente.
Si posteriormente queremos modificar el programa del PIC, debemos recurrir al código fuente, el cual se encuentra el final de esta entrada, y  generar el archivo  HEX con el compilador PCWHD de CCS. El requisito del compilador es que sea de una versión igual o superior a la 4.104, ya que las versiones anteriores no optimizan mucho el código y por lo tanto sobrepasa la memoria del PIC.
Una vez generado el nuevo archivo HEX no es necesario cargarlo con un quemador de PIC, ya que el primer archivo HEX incorpora un Bootloader por puerto serie con una velocidad de trasmisión de 115200 Baudios, esto significa que podremos actualizar el programa usando la herramienta “Serial Port Monitor” del propio compilador junto con la opción “Download Software” para transferir el HEX al PIC. Para entrar en modo Bootloader se debe mantener presionado el botón 2 hasta que se encienda el instrumento con el botón 1, es entonces cuando se puede soltar el botón 2, pero sin dejar de presionar el Botón 1, de lo contrario el aparato no permanecerá prendido. Cuando se activa el Bootloader el PIC manda el carácter “B”.


Operación

El uso del multi-probador automático es muy simple, sin embargo es necesario conocer algunos detalles. Empecemos por describir la acción de cada botón, lo cual se puede deducir fácilmente con la etiqueta colocada en el instrumento. El botón 1 sirve para encender el instrumento, una vez encendido se utiliza para pasar a una opción anterior del menú. Con el botón 2 se regresa al menú cuando se está dentro de una función. Con el botón 3 se ingresa en la función mostrada. Finalmente el botón 4 sirve para pasar a la siguiente opción del menú pero también apaga el instrumento si se mantiene presionado por al menos 1.5 s, estando en el menú. Ahora bien, la labor de cada botón cambia cuando se está dentro de una función, como veremos a continuación.

“SC-Test v1.11k >”
Se puede decir que esta es la función principal del instrumento, su operación es sencilla solo se presiona el botón 3 para comenzar la medición. Antes de comenzar a usar esta función por primera vez en necesario registrar la capacitancia parasita de las terminales de prueba, para ello debemos mantener presionado el botón 3 desde el menú hasta que aparezca el mensaje “Cap. Parasita!” seguido de algunos resultados, los cuales son guardados en la EEPROM.
Los resultados de la medición del diodo de protección de transistores y los valores de Iceo e Ices son mostrados en la segunda línea del LCD por 5 segundos o hasta que se presiona el botón 3.

“< L/C Meter    >”
Para lograr una medición precisa en importante ajustar el valor a cero. Para un inductor ponemos en corto las terminales de prueba y presionamos el botón 4 para que tome la referencia. Para un capacitor, las terminales se dejan libres mientras se presiona el mismo botón. En ambos procedimientos, después de presionar el botón aparece el mensaje “Zero!”, también ambos valores de referencia son almacenados en la memoria EEPROM.

 “< C+ESR        >”
Para iniciar esta función es necesario conectar el circuito correspondiente en las terminales de prueba, de lo contrario no se podrá acceder a ella y se mostrara el mensaje “Error!”. También es necesario establecer el valor a cero, para ello se ponen en corto las terminales de prueba y se presiona el boton 4, inmediatamente aparece el mensaje “Zero!”.
Para medir la resistencia de elementos inductivos se debe mantener presionado el botón 3 mientras se realiza la medición.

“< RS232-LCD    >”
Los comandos   que admite son iguales a los usados por la “Mega-Herramienta”. Además de recibir mensajes, si se presiona el botón 4 se envía un carácter de la A a la Z, después de la Z de envía un retorno de carro y salto de línea. Funciona a 9600 Baudios.

“< Frec+CT      >”
Esta función se encarga de medir la frecuencia de una señal, así como su ciclo de trabajo. Las características de exactitud son similares a las de “Mega-Herramienta”.

“< Analizador L.>”
Cuando se inicia la función, la sonda de prueba 1 se configura como entrada lógica y la sonda de prueba 2 se puede usar como referencia ya que su estado se cambia a tierra. Los niveles lógicos recibidos deben ser TTL.
Iniciada la función, se puede configurar el tiempo de muestreo, con el botón 1 se disminuye y con el botón 2 se aumenta. Los tiempos de muestreo establecidos en µs son: 3, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000 y 10000. También es posible establecer el nivel lógico que actuara como disparador, esto con el botón 4. Un 0 indica que el disparador  es por flanco de bajada y el 1 indica que el disparador es por flanco de subida.
Para proceder a realizar una captura de 120 muestras, se presiona el botón 3. Los resultados se muestran con representación pseudo-grafica. Con los botones 1 y 4 se puede desplazar la pantalla en  dirección de los botones. Con una pulsación rápida del botón 2 se regresa al menú anterior y una pulsación larga devuelve al menú principal.
En lo que respecta a la exactitud del tiempo de muestreo, para el valor más bajo, el error es de aproximadamente 10%, pero al aumentar los valores el error disminuye proporcionalmente, por ejemplo para un tiempo de muestreo de 20 µS el error es de alrededor de 1.5 %.
“< PWM-Off      >”
La salida de frecuencia es a través de la resistencia de 680 Ω de la sonda de prueba 3, así la sonda de prueba 2 se puede usar como tierra. El botón 4 y 3 se usa para aumentar o disminuir la frecuencia, mientras que los botones 2 y 1 elevan o reducen el ciclo de trabajo. Para regresar al menú principal se debe presionar simultáneamente el botón 2 y 3.
El rango de frecuencias en las cuales se puede modificar el ciclo de trabajo de 1 % a 99% son de 2929 Hz hasta 12 MHz. Por debajo de este rango las frecuencias de salida disponibles, con ciclo de trabajo fijo de 50 %, son: 2500, 2000, 1500, 1000, 500, 100, 50, 10 y 1 Hz.
Cabe mencionar que los valores de la frecuencia con PWM mostrados en el LCD pueden no ser completamente exactos a la frecuencia real de salida, esto se debe a que son valores calculados de acuerdo a la configuración del Temporizador 2 del PIC, por lo que si se busca una frecuencia exacta  se debe hacer uso de un frecuencímetro.
 También vale la pena mencionar que al salir de la función se almacena en la memoria EEPROM la última frecuencia utilizada, la cual estará disponible al volver a la función.

“< IR LED       >”
Esta función es útil para probar módulos receptores de IR. Para ello se debe conectar un LED infrarrojo en las sondas de prueba 2 y 3. Si el ánodo del LED se conecta en la terminal 3 se enviara una señal de 38 kHz con una duración de 1 ms y se detendrá por 2.5 ms. Si por el contrario se conecta el ánodo en la terminal 2, la señal durara 2.5 ms y se apagara 1 ms.

“< Volt Ext     
Al entrar en la función, inmediatamente inicia la lectura de tensión presente en el pin RB4. Puede conseguirse una calibración precisa si se remplazan las resistencias del divisor de tensión por un potenciómetro multivuelta.


Ejemplos de medición con el instrumento

Por supuesto no pueden faltar muchas imágenes del instrumento realizando la medición a diferentes componentes. 





                                                   2N1893                                          BF495
                                              BC548                                                          B857
                                                  TIP41C                                                   D2159
                                            IRF730A                                                     IRF9610
                                                IN4148                                               LED ROJO
                                               SBL1040CT                                   SBL1040CT
                                            LED AMARILLO                                            R.15Ω
                                                 R.100Ω                                               R.10MΩ
                                                    LM7812                                         MCR100-6
                                  POTENCIOMETRO 20kΩ                           Cap. 1µF

                                        Cap. 1000pF                                              Cap. 39pF
                                              Cap. 4.7pF                                             Cap. 6800 µF
                                             Cap. 3300 µF                                        Alambre magneto
                        Bobina con 7 espiras de alambre magneto                 Bobina  100µH
                                            Bobina 22mH                                       Bobina 33mH
                                           Bobina toroide                                Pequeño transformador
                                 Capacitancia de un LED amarillo          Capacitancia de un diodo 1N4148
                                        Cap. ESR 6800µF 25V                        Cap. ESR 3300µF 25V
                             Prueba directa en placa de circuito        Prueba de ESR en un rectificador de C.A
                               Prueba directa en placa de circuito      Medición de una resistencia de 47 mΩ
               Uso de la linterna para mejorar la visibilidad
       PWM con Ciclo de Trabajo (Duty Cicle) de 12%      PWM con Ciclo de Trabajo (Duty Cicle) de 99%
     Analizador lógico (T. muestreo 3 µs) muestra el         Señal de 10 kHz con ciclo de trabajo del 80%.
    carácter “J” (01001010) de una transmisión serie
                       a 57600 Baudios.

                                     Medición de frecuencia                      Medición de tensión externa




Conclusión

En la primera parte de este proyecto mencionamos que nuestro objetivo era reproducir el instrumento original usando un microcontrolador PIC y además agregar nuevas funciones. Hoy día, puedo decir que el objetivo fue logrado, sin embargo otras funciones que tenía en mente no pudieron ser implementadas debido  a la falta de memoria del PIC.
Por el momento no tengo pensado diseñar el PCB ya que el montaje que realice, a pesar de no ser muy profesional, funciona muy bien. Aunque no es un gran problema, debido a la sencillez del circuito, la mayoría de todo aquel que conozca los componentes empleados puede armar el circuito ya sea en un Protoboard para hacer pruebas o en una placa perforada. Por si alguien quiere diseñar su propia PCB, igualmente comparto el esquema hecho en ISIS de Proteus 7.9.
Asimismo quiero dejar bien en claro, que aunque un poco más del 50 por ciento del algoritmo fue tomado del instrumento original (con Firmware de Karl-Heinz Kübbeler) , más que una copia fiel puede considerarse como una versión alternativa del instrumento o como un descendiente del mismo. Cada quien tomara la decisión de cual instrumento le conviene más, de acuerdo a sus necesidades.
En la referencia del proyecto original se puede encontrar toda su documentación, sin embargo también les facilito la información principal en formato PDF.
Para terminar, les comento que las posibilidades de este instrumento todavía no se terminan, aún quedan en el aire muchas funciones por implementar, no obstante serán con otro PIC de mayores recursos, pues en el actual la memoria disponible es insuficiente. Pero antes de empezar a hablar de nuevas versiones futuras; ¡a disfrutar el “Automatic multi-tester” que vivimos en el presente!



 Descargas: