Mini frecuencímetro para PC

De los frecuencímetros presentados en esta web, este es el más sencillo, mide hasta 50MHz y no necesita alimentación ya que al ser su consumo tan bajo la toma directamente del puerto serie del PC. Además de frecuencímetro puede funcionar también como contador de impulsos. Se le puede poner un prescaler externo que divida entre 64 como por ejemplo el SDA4212 o el SAB6456 y así conseguiremos poder medir una frecuencia de hasta 1300 MHz. El programa de control desde el PC nos permite usarlo también como contador de impulsos. En modo frecuencímetro podemos seleccionar una resolución de 1 o 10 Hz y tiene la opción de grabar en un archivo cada cierto tiempo los valores medidos junto a la fecha y la hora para así poder servir de "datalogger".

Esquema 1:

Esquema del minifrecuencímetro

Los componentes se han reducido al máximo y así la conexión al PC a través del puerto serie se hace con dos resistencias solamente. La alimentación se toma del puerto a través de los diodos D1 y D2 que son de baja caida de tensión, en su lugar también se pueden usar los habituales 1N4148. La señal le llega al microcontrolador a través del pin 5 que es la entrada del timer del micro, el pin 6 controla la entrada de señal y la deja pasar durante el tiempo necesario para que el PIC la mida. El diodo led no es necesario, unicamente se ha puesto para ver que el puerto está validado cuando en el programa de control seleccionamos modo frecuencímetro o modo contador. Los ajustes a hacer se limitan al condensador variable, debemos conectar una señal de frecuencia conocida y ajustarle hasta que en la pantalla se muestre el valor correcto.

Esquema 2:

Este esquema es como el anterior pero se ha añadido una etapa de alta impedancia que amplifica la señal a medir y no sobrecarga la fuente de la señal.

La etapa de entrada añadida se ha hecho como en la mayoría de frecuencímetros, con un transistor FET para que tenga una alta impedancia de entrada, este FET puede ser de varios tipos, por ejemplo BF244, BF245, BF256, MPF102, etc., después le sigue un transistor BF199 de cuyo colector toma la señal el microcontrolador PIC1F683 .

Disposición de los terminales de los componentes usados en este frecuencímetro, en los transistores FET varía según el modelo usado.

 

 

 

Programa de control desde el PC:

Con este programa conectamos con el frecuencímetro y podemos ver la frecuencia con una resolución de 1Hz o de 100Hz si usamos un prescaler que divida entre 64.

Tenemos dos botones para seleccionar el modo de funcionamiento: uno para modo contador y otro para modo frecuencímetro. Hay otros dos botones pequeños que son: uno para acceder a esta web, otro para resetear el valor mostrado cuando está en modo contador y el tercero para abrir una ventana de configuración en la que se puede seleccionar el nº de puerto serie, si tenemos o no prescaler conectado, la resolución(1 o 10 Hz sin prescaler y 100 o 1000 Hz con él) y el tiempo entre cada grabación de los datos en un archivo(opcional). El programa de control se puede descargar aquí.

También podemos usar el Hiperterminal de windows para comunicarnos con el frecuencímetro o usar nuestro lenguaje de programación preferido para hacer uno a medida, para ello solo es necesario poder enviar y recibir datos por el puerto serie a 1200bps con 8 bits de datos, sin paridad y un bit de stop.

Los comandos consisten en un carácter y son los siguientes:
"O" Contesta con "K" si la comunicación por el puerto serie es correcta
"F" Contesta con 15 bytes con el valor de la frecuencia con una resolución de 1 Hz(tiempo de puerta 1seg.).
"f" Contesta con 15 bytes con el valor de la frecuencia con una resolución de 10 hz(tiempo de puerta 100mS.).
"P" Contesta con 15 bytes con el valor de la frecuencia con una resolución de 100 hz(tiempo de puerta 64 mS para prescaler).
"p" Contesta con 15 bytes con el valor de la frecuencia con una resoución de1000 hz(tiempo de puerta 640 mS para prescaler).
"C" Pone modo contador de impulsos y contesta con "C". ;
"I" Contesta con 15 bytes con el nº de impulsos contados.
"R" Pone a cero TMR0 y los 3 bytes que cuentan los impulsos, contesta con "R".

De los 15 bytes de datos que envía con algunos comandos, los 2 últimos corresponden a un avance de linea y a un retorno de carro para que si se leen los datos desde el Hiperterminal por ejemplo, a cada lectura avance una línea vuelva al princípio de ella.

 

Imagen de un prototipo, se puede hacer click en ella para ampliarla.

 

A quién esté interesado en la construcción de este frecuencímetro se le puede enviar el microcontrolador programado .