SI5351: primeros pasos

Antes de utilizar de forma práctica el SI5351 conviene que nos familiaricemos con él

El SI5351 es un circuito CMOS cuya función es la de hacer de  generador de reloj programable con interface IIC y ser un oscilador  VCXO (Oscilador de cristal controlable por tensión - 25 MHz) de:

  • 8 kHz a 160 MHz
  • 8 dBm (unos 6 mW)

El circuito SI5351A permite hasta tres salidas de señal de radio frecuencia independientes y 5) tres salidas de señal de reloj (Pin O, Pin 1 y Pin 2) al montar el chip 10-MSOP y se puede obtener en Aliexpress por menos de 2 €

La frecuencia y el periodo mantienen una relación inversa por lo que teniendo una de ellas es facil obtener la otra.


Configuración

Hay que descargar en la libreria de Arduino IDE Etherkit Si5351 que llaman todos los programas que usan esta dispositivo


Cableado

Si5351 lo vamos a controlar con la placa Lilygo T-Beam por lo que necesitamos conectar una con otra

La pantalla OLED de la Lilygo T-Beam usa VCC, GND, SCL y SDA


Lilygo T-BEam => Si5351
5V => Vin, GND => GND, 22=> SCL, 21=> SDA
Es decir que usa los mismos conectores por lo que hay que soldar una regleta y despues diferenciar por la dirección, este problema lo tendra siempre que tenga tya un periferico en SDA /SDL
 
Detalle de la soldadura de la regleta de 4 terminales a la Lilygo T-Beam y conexión a la Si 5351


Calibración

Es necesario calibrar el SI5351 antes de usarlo, es decir conocer que desviación hay entre la frecuencia que dice generar y la que realmente genera.

Para ello necesitamos uno de estos dos elementos:

  • Un generador de RF fiable
  • Un receptor de RF fiable

El programa que vamos a usar es examples/si5351_calibration 

  • Disponer de un receptor sintonizado a la frecuencia para la que queremos calibrar, solamente se pude hacer con una frecuencia, si se cambia habria que volver a calibarlo. En nuestro caso usamos un RTL-SDR &  SDR++ y en una primera calibración vamos hacerlo para 10 MHz


  • Abrir Arduino IDE
  • Cargar el programa si5351_calibration.ino y comprobar la frecuencia de ajuste
    • uint64_t target_freq = 1000000000ULL; // 10 MHz, in hundredths of hertz (en Centesimas de Hz)
  • Comprobar que la señal sale por el CLK0 ( si5351.set_freq(target_freq, SI5351_CLK0) y enroscar una antena en dicha salida de las tres que tenemos
  • Compilar y cargar en la placa ESp32, ajustando la velocidad del puerto serie
Esta es la imagen que tenemos que ver cuando conectemos el SI5351+ESP32
La desviación es de +1.460 Hz
  • Pulsamos la letra sucesivamente la siguiente secuencia de letras con su correspondiente INTRO "l k k k k j j j j j j" en la entrada serie y comprobaremos que baja la frecuencia hasta los 10 MHz. La secuencia la obtenemos de la siguiente tabla de ajustes

Una vez que tengamos la frecuencia ajustada basta con introducir la letra "q"

  • Lea el valor de ajuste en la salida,  modifique la variable en el programa (int32_t cal_factor = 146000;), y vuelva a compilarlo y cargarlo, si todo ha ido bien emitirá en 10 MHz
Vamos a modificarlo para la frecuencia de trabajo que queremos usar en nuestro proyecto  WSPR para comprobar la corrección que necesitamos
  • uint64_t target_freq = 1014010000ULL;
  • int32_t cal_factor = 0;
Vemos en el receptor que aparece en 10141540 por lo que la desviación es +1440 Hz => 144000

Resumen

  • Hemos conectado la placa SI5351 a la Lilygo
  • Hemos comprobado que funciona correctamente
  • Hemos calculado el ajuste de frecuencia que necesitamos hacer mediante el uso de un receptor. 
    • Podemos hacer una tabla con las frecuanecias que vamos a usar y las correcciones que necesitamos
    • Cuando usemos WSPR podemos comprobar la frecuencia en la que emite viendo los spots

Referencias


Prohibida la reproducción parcial o total de este artículo sin permiso previo del autor

No hay comentarios:

Publicar un comentario

ATS-mini SI4732: lenguaje de script

  El receptor ATS-mini SI4732  cuenta con su propio lenguaje de programación, compatible con CSS y JavaScript, que permite obtener resultado...