Mostrando entradas con la etiqueta frecuencia. Mostrar todas las entradas
Mostrando entradas con la etiqueta frecuencia. Mostrar todas las entradas

sábado, 10 de octubre de 2020

ARDUINO LTC5904 - MAX7219 - Generador de frecuencia - 1KHz a 68MHz - Frecuencímetro 1 Hz a 8 MHz

ARDUINO
LTC5904 -
MAX7219
Generador de frecuencia -
1KHz a 68MHz
Medidor de frecuencia - 1 Hz a 8 MHz
Frecuencímetro


En el anterior artículo habíamos realizado el generador de frecuencia con el CHIP LTC6904.
Posteriormente había creado 2 diferentes montajes para manejar el generador de frecuencia mediante botones.
Para medir la exactitud de generador me ví en la necesidad de utilizar un frecuencímetro.
La siguiente idea fue juntar los 2 montajes, generador de frecuencia y frecuencímetro.

Como se puede observar he utilizado la posibilidad de poner en las salidas y entradas del arduino una resistencia interna de 50K a Vcc (PULLUP).
Para el manejo de los botones funciona sin problemas, pero para el manejo del bus I2C vendría mejor colocar además una resistencia de 1K a Vcc.
Para este caso funciona, pero su valor para 5V es de 50K, igual demasiado alto.
El MAX7219 induce mucho ruido en la alimentación, por lo cual deberíamos colocar un condensador de 470uF lo mas cerca de el.
Existen 3 modelos de MAX7219, tienen diferente color, y sus conexiones cambian de uno a otro.
En el LTC6904 debemos de colocar un condensador de algunos nanofaradios para atenuar el ruido en la señal de alimentación.

Comprobando el frecuencímetro con otro mio. Un error de 3 Hz cada 100000 Hz.

Llegados a este momento probamos el generador de frecuencia.
Comprobamos que la frecuencia obtenida en la frecuencia mas baja, es diferente entre dos
LTC5904.

Está claro que estos chip deberían estar ajustados de fabrica para corregir este error.
Igual en la soldadura me he pasado y los he calentado mucho modificando su ajuste, o son defectuosos.
También debería ser posible ajustarlos mediante programa, pero no he encontrado la forma.

De la medidas reales concluimos que la relación entre el valor de ADC y la frecuencia no es lineal.
Para corregir o atenuar este error, podemos cambiar las constantes 2048 y 2078 en la formula de DAC.
En mi caso los he cambiado a 2038 y 2078 respectivamente, consiguiendo un menor error en el cálculo.

Para pasar del modo FRECUENCÍMETRO al GENERADOR FRECUENCIA pulsamos un botón, cambiará el LED testigo.
En el modo
GENERADOR FRECUENCIA, con un botón seleccionaremos el display, y con el otro botón cambiaremos el dígito.
Después de 2 segundos de no tocar ningún botón se generara la frecuencia marcada en el display.

Aunque no tengamos un generador de lo más exacto, tenemos también en el mismo montaje un frecuencímetro para corregir el error.

PROGRAMA



Bibliografía:

Generador de frecuencia con el CHIP LTC6904.
https://digibird1.wordpress.com/arduino-controlled-frequency-generator-1khz-68-mhz/
http://www.kerrywong.com/2012/04/11/interfacing-ltc6904-with-arduino/
https://www.polaxis.be/2011/11/sp0256-al2-pitch-control/

https://github.com/rjbatista/tm1638-library
https://www.arduinolibraries.info/libraries/led-control

Saludos.
Juan Galaz




 

sábado, 3 de octubre de 2020

ARDUINO - LTC5904 - Generador de frecuencia 1KHz a 68MHz - Display

ARDUINO
LTC5904 - LTC5903
Generador de frecuencia
1KHz a 68MHz
Display


En el anterior artículo habíamos realizado el generador de frecuencia con el CHIP LTC6904.
En este montaje vamos a poder controlar el chip mediante botones y visualizar la frecuencia con un display de 8 dígitos.
He creado dos modelos utilizando dos tipos de módulos.
Con el TM1638, que dispone de un monton de botones y led, además de un display de 8 dígitos.
El segundo montaje lo he realizado con el MAX7219 , otro módulo de 8 dígitos.



En este montaje utilizamos los 8 botones, que utilizaremos para cambiar los diferentes dígitos.
Mientras estamos modificando la frecuencia, parpadeará un LED.
Después de 2 segundos de no tocar ningún botón se generara la frecuencia marcada en el display.
PROGRAMA




En este montaje utilizamos el módulo de 8 display MAX7219.
Con un botón seleccionaremos el display, y con el otro botón cambiaremos el dígito.
Mientras estamos modifican los dígitos, parpadeará el punto decimal sobre el segmento seleccionado.
Después de 2 segundos de no tocar ningún botón se generara la frecuencia marcada en el display.
PROGRAMA


Llegados a este punto debemos estudiar la exactitud del MAX7219.
Lo primero es explicar su funcionamiento.
Un oscilador programable (ADC) de 1024 pasos, nos genera frecuencia entre 34.05MHz y 68.03MHz.
Por lo cual el oscilador va en pasos de 33184 Hz.
Un segundo divisor programable (OCT) en múltiplos de 2, (1,2,4,8.....16384,32768) (Valor de OCT 15,14,13,12.....1,0) nos proporciona la frecuencia de salida.
Ejemplo:
    ADC=443   ->48.750512 MHz
    OCT=4   (/2048)   ->23803 Hz

La teoría está muy bien, pero dependemos de la precisión de oscilador (VCO), y no es del todo precisa, ya nos pasaba con el DS1077 .
Haciendo medidas hemos descubierto que la frecuencia real del oscilador va desde 67.993.000 Hz a los 33.991.000 Hz.
Esta dentro de los márgenes que indica el CHIP, pero hay que tenerlo muy en cuenta.


Tabla con las diferentes frecuencia generada con los diferentes valores de DAC y OCT.
Podemos ver la frecuencia marcada y la frecuencia real generada.


Es un montaje sencillo y fácil para tener vuestro propio generador de frecuencia.



Bibliografía:

Generador de frecuencia con el CHIP LTC6904.
https://digibird1.wordpress.com/arduino-controlled-frequency-generator-1khz-68-mhz/
http://www.kerrywong.com/2012/04/11/interfacing-ltc6904-with-arduino/
https://www.polaxis.be/2011/11/sp0256-al2-pitch-control/

https://github.com/rjbatista/tm1638-library
https://www.arduinolibraries.info/libraries/led-control

Saludos.
Juan Galaz