SuperProbe versión 42

Recientemente he encontrado esta maravilla buceando por Internet:  http://mondo-technology.com/super.html. La página del autor Luhan Monat: http://mondo-technology.com/ es muy recomendable, está llena de proyectos sencillos e interesantes. De este proyecto existe otra versión:  http://ikon.wz.cz/mondo/sonda_2.php, y yo he preparado una tercera, con una pequeña modificación del hardware y su correspondiente adaptación de programa.

Actualizado 18/12/2007: He rehecho el texto para reflejar mas claramente las características de SuperProbe y las mejoras de la versión 41, que ahora tiene 19 funciones.

Nueva versión mejorada, con diseño de PCB y mas funciones 8/3/2012

El "Super Probe" es un aparato de usos múltiples, puede medir tensión en dos rangos, capacidad, inductancia pulsos, frecuencia etc y generar trenes de pulsos, señales RS232, señal NTSC etc. La versión original es la 36, yo he creado una nueva versión 40 adaptada a mi hardware, con algunas funciones más y correcciones respecto a la versión original.

Primeramente el manual de funciones, traducido libremente de la página del autor y añadiendo las modificaciones de la versión 40:

SuperProbe no debe conectarse a circuitos con tensiones superiores a 5V excepto se se ha pulsado SCALE, con lo que admite tensiones de hasta 25V. En el modo 5V (SCALE no pulsado) una tensión superior a 5,6V provocará que el diodo zéner D1 conduzca y circule una gran corriente por F1, pudiendo fundirse o bien podría averiarse el circuito bajo prueba si no puede entregar más de 200mA. Esto es un rudimentario circuito de protección para evitar que lleguen tensiones superiores a 5V o inferiores a -0,7V a las patas del PIC, que lo estropearían. Con SCALE pulsado las tensiones superiores a 25V se limitan a 5,6V mediante el zéner D1 pero la resistencia en serie R16 limita la corriente por lo que no hay peligro para el circuito bajo prueba. En el caso de que SCALE se encuentre pulsado (modo 25V activo) la generación de señales no funcionará adecuadamente por encontrarse la resistencia R16 en serie, lo que hará que la corriente de salida del circuito sea muy baja.

En cualquier modo pulsando a la vez BUT1 y BUT2 se sale al menú principal. Una vez en él manteniendo pulsado BUT2 y pulsando BUT1 se rota por los distintos modos. Si se mantiene pulsado BUT1 y se pulsa BUT2 se rota por los modos en sentido inverso.

Algunos modos y parámetros operativos se salvan en EEPROM para restaurarlos al encender de nuevo el dispositivo.

Prob PULS VoLL VoLH diod FrEq Cnt CaP CoiL SIG ntSC Ser Midi r/c.o r/c.i [] noiS ir38 PWM

(Escrito con el display de 7 segmentos).

Prob Prueba lógica Este modo es muy útil para detectar niveles lógicos o pulsos en  circuitos digitales. El display muestra en la primer dígito 'H' para el nivel alto (sobre 3.7V), 'L' para nivel bajo (debajo de 0.8V) y '-' para indicar que la señal es flotante o alta impedancia.  Si se detectan pulsos de mas de 0.5 microsegundos en el segundo dígito aparece 'P'.
PULS Generador de pulsos lógicos Genera pulsos de 500nS, de ancho a una de las 4 frecuencias disponibles, útil para inyectar señales en circuitos digitales. El display muestra la frecuencia de pulsos (5, 50, 500, 5.0) en los últimos 3 dígitos. En el primer dígito se muestra el nivel lógico detectado, con un guión abajo (nivel bajo) en medio (alta impedancia o flotante) y arriba (nivel alto). Mientras se pulsa BUT1 se generan trenes de pulsos de 0.5 microsegundos de nivel lógico opuesto al detectado. Con el pulsador BUT2 se puede cambiar la frecuencia de pulsos entre las 4 distintas: 5Hz, 50Hz, 500Hz y 5Khz.  La frecuencia de pulsos seleccionada se salva en EEPROM para que no se pierda tras el apagado.
VoLL Voltímetro escala baja Simple voltímetro con una resolución de aproximadamente 5mV (aunque en el display la última cifra solo muestra múltiplos de 10mV) con escala de 0V a 5.00V, que no debe sobrepasarse ya que puede dañarse el PIC. La referencia de tensión es la propia alimentación (la precisión depende de la precisión del regulador de alimentación). En la nueva versión 39 de programa se realiza un escalado exacto. Anteriormente las 1024 cuentas se dividían entre dos (una rotación a la derecha) por simplicidad, pero eso daba un resultado inexacto: 5,12V para una entrada de 5,00V. Ahora se realiza un escalado en punto fijo V=(Analog1*500)/1023 lo que proporciona un valor exacto.
VoLH Voltímetro escala alta Este nuevo modo de la versión 39 es igual a VoLL pero escalado de 0V a 25.00V. Hay que tener en cuenta que la resolución es unos 25mV (1 cuenta) ya que el convertidor tiene sólo 1024 cuentas. Es normal que el último dígito del display salte de 2 en dos unidades. Para que la lectura coincida con la tensión de entrada hay que conectar el divisor de tensión entre 5 compuesto por una resistencia en serie de 1M 1% y una en paralelo de 249K 1%.
diod Medida de diodos Muestra la caída de tensión en la unión de diodos, diodos zéner, o transistores. Es un simple voltímetro de 0 a 5V acoplado a una resistencia de 10K conectada 5V que hace de pequeña fuente de corriente. El valor medido tiene la misma precisión que el voltímetro, suficiente para identificar componentes defectuosos. Al tener el diodo zéner de protección Z1 en paralelo con el circuito de medida el valor máximo medible es de 4,5V, tensión a la que empieza a conducir el zéner D1.
Freq Frecuencímetro Frecuencímetro hasta 40Mhz, el tiempo de medida es de 1 segundo. El display muestra los 4 dígitos de mayor peso de la frecuencia presente en la entrada. Pulsando BUT1 se conmuta a mostrar los 4 dígitos de menor peso. Por ejemplo si el display muestra '12.57' para una frecuencia de 12,576 hz. pulsando BUT1 muestra '2576' - los 4 dígitos inferiores. El punto decimal fijo indica Khz, si parpadea indica Mhz.  Una frecuencia de 42,345,678 hz se muestra como 42.34 con el punto decimal intermitente. Pulsando BUT1 se mostrará 5678.
 Cnt Contador de eventos Es un simple contador de pulsos. El display muestra los 4 dígitos de menor peso, mientras se pulsa BUT1 se muestra los 4 dígitos de mayor peso.  El pulsador BUT2 resetea la cuenta a cero.
 
Cap Medida de condensadores Al pulsar BUT1 se mide la capacidad del condensador conectado entre la punta de prueba y masa. El rango de medida es de .001 uF hasta alrededor de 500 uf.  El tiempo de medida es proporcional al valor del condensador, para medir uno de 100 uF se necesitan algunos segundos.
Coil Medida de inductancias Al pulsar BUT1 se mide la inductancia de la bobina conectada entre la punta de prueba y masa. El rango de medida es de 0.1 a 999.9 milihenrios.  Se asume que la resistencia de la bobina no es mas que unos pocos ohmios. Cortocircuitar la punta de medida con masa cuando se bloquee el medidor para liberarlo.
SIG Generador de señal Genera una onda cuadrada de 500hz y unos 0.5 voltios mientras se mantiene pulsado BUT1, muy útil para probar circuitos de audio o analógicos.
ntSC Patrón de vídeo NTSC Genera una imagen formada por un patrón de puntos blancos sobre fondo negro en formato NTSC para probar circuitos de vídeo que usen ese formato de imagen. En España se usa la norma PAL, yo lo he probado con un receptor multinorma y funciona bien, pero es de poca utilidad.
9600 Salida série 9 bits (8n1)ASCII Sirve para comprobar que los circuitos digitales que usan entrada serie reciben correctamente los datos. Cada vez que se pulsa BUT1 se genera una trama serie compuesta por las letras A-Z seguidas de un retorno de carro y un avance de línea (cr/lf is). La polaridad de la señal es la inversa a la medida, si el nivel medido es alto se genera la señal normal (bit de inicio a cero).  En caso contrario se usa la polaridad inversa.  El botón BUT2 permite cambiar la velocidad: 1200, 2400, 4800, 9600, 19200, 34800, 57600 y 115200 baudios.
Midi Nota MIDI Para probar instrumentos musicales que incorporen interface MIDI. Envía a nota numero 60 (C medio) a cualquiera de los 16 canales MIDI. Pulsando BUT1 se envía 'nota on',  al liberarlo se envía 'nota off'. El botón BUT2 permite seleccionar uno entre los 16 canales. El canal seleccionado se salva contra fallo de tensión.
R/C.o Salida de pruebas para servos de R/C Sirve para probar servos de radiocontrol. Genera pulsos de 1ms a 2ms que permiten comprobar el giro completo del servo. La pantalla muestra los microsegundos de ancho del pulso. El botón BUT1 decrementa el ancho del pulso y el botón BUT2 lo incrementa. Por defecto aparece 1500 microsegundos (1,5 ms centro) cada vez que se selecciona este modo. Los pulsos se repiten cada 35ms aproximadamente (una frecuencia de 28Hz).
R/C.i Entrada de pruebas para servos de R/C Sirve para probar generadores de señales para servos de radiocontrol, receptores de RC o como medidor de anchura de pulso genérico. En la pantalla muestra los microsegundos o milisegundos que la señal de entrada permanece en un nivel (alto o bajo según se haya seleccionado). Por ejemplo 1500 son 1,5ms (la orden de ir a la posición central para un servo de RC), si aparece el punto decimal en la pantalla los datos mostrados representan milisegundos. Pulsando BUT1 aparece en pantalla H y al soltarlo y mide continuamente el tiempo que la señal esta a nivel alto. Pulsando BUT2 muestra L y al soltarlo mide continuamente el tiempo que la señal esta a nivel bajo. Si no hay señal de entrada retiene la última medida. Mientras está midiendo se aprecia un leve parpadeo en el display. Este modo está probado con señales de 700us a 100ms, pero puede medir desde 10us hasta más de 16 segundos.
[ ] Onda cuadrada Genera una onda cuadrada (50% de ciclo de trabajo) entre 1 y 9999 Hz.  El pulsador BUT1 decrementa la frecuencia y el pulsador BUT2 la incrementa. Es útil para calibrar frecuencímetros inyectar señales en circuitos digitales etc.
 
noiS Generador pseudoaleatorio Genera ruido digital (pseudoaleatorio) a 10khz.
ir38 LED IR
 
Genera una onda cuadrada de 1 milisegundo y 2.5 milisegundos off a 38khz. Cuando se conecta un LED emisor de infrarrojos puede ser usado para probar módulos receptores de infrarrojos.
PWM Modulación de anchura de pulso Genera un pulso de anchura variable de 3% a 97% a 6khz aproximadamente. El pulsador BUT1 decrementa el ancho del pulso y el pulsador BUT2 lo incrementa. Muy útil para probar etapas de potencia para motores de CC o PAP.

 Este es mi esquema, solo he añadido unos transistores PNP para proporcionar mas corriente a los ánodos de los displays y ganar algo de brillo, pero parece ser que eso era un problema de mis displays MAN71A. Probando con distintos displays he observado que algunos tienen brillo suficiente sin necesidad de los transistores. He utilizado displays MAN71A porque tengo muchos a mano, pueden usarse otros modelos de ánodo común con resultados distintos. Si no se quieren usar los transistores basta con conectar directamente las patas 11 a 14 del PIC a los ánodos de los displays y eliminar R1 a R4 y Q1 a Q4. En el programa solo hay que comentar #define INVERT_A para trabajar sin la inversión señal que necesitan los transistores. Yo alimento el circuito con una pila de 9V y regulo la tensión a 5V con un LM78L05, el consumo es de sólo unos 50mA.

Este es el esquema nuevo con el divisor de tensión y el conmutador para conectarlo, (la versión anterior es esta SuperProbe2.png) dibujado con el Eagle V4,15 SuperProbe3.rar por si alguien quiere diseñar un circuito impreso para él. Este es mi prototipo funcionando, sobre placa de baquelita de islas:

Esta es la parte de las pistas, en mi caso de los cablecitos. Los 4 transistores que he añadido están montados en superficie (SMD?) y las resistencias limitadoras de corriente de la base de 10K son de tipo chip, no se aprecian en la foto, recicladas de un disco duro.

El programa del PIC está escrito en ensamblador, he trabajado sobre esta versión V35: SUPMP.ASM adaptada al ensamblador MPASM. He añadido los cambios necesarios desde esta otra V36: SUPER.SRC para tener una versión actualizada y compilable con MPLAB V8 de microchip. Estos son los fuentes en ASM de la versión V42. Las mejoras son:

  1. La salida de los ánodos está invertida de nivel lógico respecto del diseño original, para que pueda trabajar correctamente con los transistores que he añadido. En los fuentes existe una línea #define INVERT_A que realiza esa inversión por software, si se va a usar el hardware original sin transistores basta con comentarla y ensamblar de nuevo el programa.
  2. He corregido las velocidades del generador de señales serie (modo "ser") para que sean mas precisas, y he añadido 4 nuevas velocidades 19200, 38400, 57600 y 115200 baudios.
  3. En el modo de generación de ruido pseudoaleatorio he cambiado el mensaje original "prn" por "noiS" que creo que es mas representativo.
  4. Dos modos de voltímetro con fondos de escala de 5V y 25V escalados de forma exacta, versión 39 y superiores.
  5. Versión 41: medición de ancho de pulso a nivel alto o bajo, de 10us a 16seg.

Este es otro prototipo, con el display mas grande y brillante (dos MAN6910 de dos dígitos de 14mm) y un montaje mas pequeño, usando las dos caras del circuito impreso y componentes SMD:

Esta es la cara de cableado, pueden verse algunas resistencias SMD conectadas a los pines 2 a 6 y 11 a 14 del PIC. La verdad es que con estas placas de "topos" o islas se pueden hacer montajes bastante aceptables con componentes SMD.

Este montaje es muy sencillo y barato, con la cantidad de funciones que tiene resulta muy útil en el taller y por lo compacto es muy sencillo de manejar y puede llevarse siempre en la caja de herramientas. Algunas de las funciones como el generador de señal R/C, el generador PWM, o el medidor de ancho de pulso para son muy agradecidas (y no son frecuentes en otros aparatos) a la hora de hacer pruebas con robots, coches R/C etc...

Inicio.

mailto:helitp@gmail.com