desktop

Modificar Radio FM (Oscilador local) basado en Chip CD9088 inyectando frecuencia generada para sintonizar con modulo SI5351

Modificar Radio FM (Oscilador local) basado en Chip CD9088 inyectando frecuencia generada para sintonizar con modulo SI5351​


Saludos a los amables compañeros de foro, hoy me ocupa un tema que tengo en la cabeza hace tiempo, se trata de lo siguiente.

Tengo en mis trebejos un "kit" de un Radio AM/FM que finalmente me decidi a ensamblar y funciona bastante bien, anexo el esquematico para que tengas la referencia.

1719546530676.png

1719546606520.png


Con respecto al Funcionamiento, pues nada que aportar; hace justamente lo que es, pero ahora viene lo que pretendo lograr.

En su momento, de otro Kit con una buena cantidad de modulos para "arduino" encontre el modulo SI5351 que me regalo un nieto, leyendo que hace y para que sirve veo que es un generador de reloj que puede proporcionar frecuencias que van Desde 8KHz a 160MH y esto se puede programar desde un microcontrolador desde el puerto I2c dejo el Pinout del mismo.

1719547118250.png

Ya vi que existen Librerias para arduino para manejar el Modulo sin demasiada complicacion.

Se me ocurrio poder utilizarlo y hacer la interface correspondiente (via un Capacitor ceramico y de una de las salidad CLK del modulo SI5351, inyectar la señal en el Chip del radio (pin 5 del CD9088 que corresponde al oscilador local), obvio retirando la bobina del oscilador y via software con un Arduino o esp32 poder sintonizar la frecuencia deseada. Quiero comentar que sobre Radios SuperHeterodinos tengo la mas minima experiencia la unica fue en el colegio hace 40 años 😬, como he dicho en otros post, siempre me maneje en la electronica digital, asi que me considero neofito, aunque entiendo el principio superheterodino. En un principio, espero lograr sintonizar la FM (88-108), es decir no modificar el KIT de radio que ahora funciona bien. En un futuro, obvio modificar el circuito tanke de RF y explorar otras frecuencias. que quede claro que es un asunto meramente experimental, pues a veces es muy aburrido seguir y seguir la huella cuando ya se esta retirado .

¿Lo ven Factible? o me meto en terrenos demasiados desconocidos que a lo mejor se requiere de un conocimiento mayor; si es asi, quizas me ofrescan algun proyecto mas acorde para probar el modulo SI 5351.

He visto por ahi en la Internet algunos proyectos de Radio (SDR), sin embargo, quiero recomprender y experimentar lo que considero basico.

Una cosa mas, en muchos proyectos usan el mezclador NE602, la vez que fui a CDMX, recorri las tiendas de republica del salvador y me fue imposible encontrar tan famoso Chip, ¿Existe un subtituto actual? es increible que en Internet hay mil ejemplos de este "magnifico chip" y no este disponible.

Mucho agradecer sus comentarios y alguna sugerencia con respecto a mi proyecto. Por lo pronto, me dare a la tarea de ensamblar el "VFO" con el SI5351 ya sea con un atmega o un esp32 e ire anexando algun avance.

Gracias.
 
.


Dejo las datasheets del CD9088 que parece ser idéntico al TDA7088.

Me parece que no será sencilla la adaptación.



Salu2.-
 

Adjuntos

  • Cd9088÷FordwardInternational~Chino.pdf
    135 KB · Visitas: 3
  • Tda7088÷UnisonicTechnologies.pdf
    454.1 KB · Visitas: 2
Dejo las datasheets del CD9088 que parece ser idéntico al TDA7088.

Me parece que no será sencilla la adaptación.



Salu2.-
!Coincido en grau , genero y numero !
Ese CI enpleyado es muy semejante a lo legendario TDA7000.
Ese CI enpleya una tecnica rara de funcionamento interno lo que obstaculiza agregar un Oscilador Local externo.
Otros CIs semejantes en función ( CD2003 , CXA1691, TA8122, y otros mas ) es mas sensillo y factible agregar un Oscilador Local tal cual quieres hacer.
!Saludos desde Brasil!
 
Última edición:
!Coincido en grau , genero y numero !
Ese CI enpleyado es muy semejante a lo legendario TDA7000.
Ese CI enpleya una tecnica rara de funcionamento interno lo que obstaculiza agregar un Oscilador Local externo.
Otros CIs semejantes en función ( CD2003 , CXA1691, TA8122, y otros mas ) es mas sensillo y factible agregar un Oscilador Local tal cual quieres hacer.
!Saludos desde Brasil!

Efectivamente, de hecho, ese CI empleado en esa radio (que es el famoso KIT Paeansonic, si, Paeansonic, no es una falta de ortografía) es un clon chino del TDA7088, CI usado en las radios autoscan de bolsillo. Pero modificado para ser controlado manualmente, si el kit se ajusta bien, tiene muy bien rendimiento, creo recordar que como frecuencia intermedia usaba una frecuencia muy baja, del orden de los kilohertzios.
 
Efectivamente, de hecho, ese CI empleado en esa radio (que es el famoso KIT Paeansonic, si, Paeansonic, no es una falta de ortografía) es un clon chino del TDA7088, CI usado en las radios autoscan de bolsillo. Pero modificado para ser controlado manualmente, si el kit se ajusta bien, tiene muy bien rendimiento, creo recordar que como frecuencia intermedia usaba una frecuencia muy baja, del orden de los kilohertzios.
!Mas precisamente 70KHz !
 
Saludos, tal como pronosticaron, con el Kit basado en el CD9088 que utilice, no logre mucho y solo por mera suerte logre sintonizar algunas estaciones pero nada que ver con la "matematica de un heterodino" de inyectar la frecuencia generada por el SI5351 como oscilador local del receptor, incluso escuche alguna transmision que me parece era de un walkie talkie...pero desconozco la frecuencia; no tengo equipo suficiente, si acaso un frecuenciometro que no llega a mas 200 Khz. :(


vco1_a.png

vco1_b.png

El codigo que utilice de manera inicial para manejar el SI5351 desde un ESP32 y un encoder clasico fue el siguiente:

C++:
#include "si5351.h"
#include "Wire.h"
Si5351 si5351;

//Pines del Encoder
#define CLK 26
#define DATA 25
#define Boton 33


float f1 = 0ULL;//frecuencia Base
float f2 = 0ULL;//correcion de frecuencia


static uint8_t prevNextCode = 0;//variables globales usadas en la funcion del encoder
static uint16_t store=0;



void setup() {
  pinMode(CLK, INPUT);
  pinMode(CLK, INPUT_PULLUP);
  pinMode(DATA, INPUT);
  pinMode(DATA, INPUT_PULLUP);
  pinMode(Boton, INPUT);
  Serial.begin (115200);
  Serial.println("Inicio del programa");
//iniciamos el modulo si5351
  bool i2c_found;
  i2c_found = si5351.init(SI5351_CRYSTAL_LOAD_8PF, 0, 0);

f1=8000000000ULL ;//Frecuencia base
f2 = 000ULL;//Corrección de frecuencia base
  si5351.set_freq(f1-f2, SI5351_CLK0);//seteamos la frecuencia inicial
freq = f1;
Serial.print(" Herz=");Serial.println(freq);
}


void loop() {
static int8_t c,val;// invocamos la funcion para verificar si el encoder ha sido girado

   if( val=read_rotary() ) {
      c +=val;
      //Serial.print(val);Serial.print(" ");
// Checamos si el encoder giro a la Izquierda
      if ( prevNextCode==0x0b) {
         Serial.println("Giro a la Izquierda ");
         f1=f1-1000000;
         si5351.set_freq(f1-f2, SI5351_CLK0);
        freq = f1;
        Serial.print(" Herz=");Serial.println(freq);
         //Serial.println(store,HEX);
      }
// Checamos si el encoder giro a la Derecha
      if ( prevNextCode==0x07) {
         Serial.println("Giro a la Derecha ");
         f1=f1+1000000;
         si5351.set_freq(f1-f2, SI5351_CLK0);
        freq = f1;
        Serial.print(" Herz=");Serial.println(freq);
         //Serial.println(store,HEX);
      }
   }
//checamos si se oprimio el boton del encoder
if (digitalRead(Boton)==0) {

      delay(10);
      if (digitalRead(Boton)==0) {
          Serial.println("Boton Oprimido");
          while(digitalRead(Boton)==0);
      }}

}



//Funcion del encoder
// Solo en giros a las Izq o derecha Validos la funcion regresa un 1 o -1 segun sea el giro, invalidos Regresan un 0.
int8_t read_rotary() {
  static int8_t rot_enc_table[] = {0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0};// creamos la tabla valida del encoder
  prevNextCode <<= 2;
  if (digitalRead(DATA)) prevNextCode |= 0x02;
  if (digitalRead(CLK)) prevNextCode |= 0x01;
  prevNextCode &= 0x0f;
   // If valid then store as 16 bit data.
   if  (rot_enc_table[prevNextCode] ) {
      store <<= 4;
      store |= prevNextCode;
      //if (store==0xd42b) return 1;
      //if (store==0xe817) return -1;
      if ((store&0xff)==0x2b) return -1;
      if ((store&0xff)==0x17) return 1;
   }
   return 0;
}// fin de funcion del encoder

Con esta abrupta interface y pruebas iniciales dentro de diferentes frecuencias en la banda (FM/AM) logre que "La Portadora" generada se sobrepusiera y barriera la señal del aire, con lo que coteje que el modulo respondiera a lo esperado.


Por otro lado, abri un Radio Multibanda antiguo basado en transistorees, localice e inyecte la señal del modulo SI5351 y ahi si que logre sintonizar varias frecuencias. Como ese radio Vintage no lo quiero destinar para este proyecto (prefiero dejarlo original) me dare a la tare da buscar un radio para esos fines...ya actualizare mas infomacion o logros.

Gracias por sus comentarios.
 
Última edición:
El experimento con el CD9088 puede ser poco satisfactorio por un par de razones: el SI5351 saca demasiada señal, intenta atenuarla con un potenciómetro. Los mezcladores de RF del chip receptor pueden estar saturándose y suelen requerir un nivel concreto de oscilador local.
La otra razón es que los receptores de la familia esta, usan un sistema llamado FLL (frequency locked loop) en el que el receptor modula el oscilador para desplazar su frecuencia hacia un lado de la portadora que quieres recibir, y al inyectar un oscilador externo, esto ya no lo puede hacer y te bloquea la recepción.
 
Ese Chip enpleya una rara arquitetura de funcionamento ( veer mejor en la hoja de datos tecnicos del TDA7000 que es lo mismo funcionamento).
Portanto NO es nada facil tentar hacer funcionar tal cual quieres (enpleyar un oscilador local de modo esterno).
!Saludos desde Brasil!
 
Si quieres trabajar con receptores y que no se sature los mezcladores también puede implementar cambiarle la potencia de salida al oscilador que usaras.

Recuerda que el chip ese, tiene potencia seleccionable de 2mA, 4mA, 6mA, 8mA. En esta ultima tiene unos 10dBm a la salida sobre 50Ohm y 3dBm en la de 2mA. De todas formas tal vez necesites implementar un atenuador, eso depende de que tipo de mezclador uses y sus características/necesidades particulares.
 
Saludos, hoy tuve oportunidad de ir a CDMX y consegui lo siguiente:

-2 CI CD2003GP
-3 filtros ceramicos sfu 455 B
-3 filtros ceramicos 107MA

Lo demas creo que lo tengo.

componentesradio.jpeg

El proximo paso sera ensamblar un receptor para el proyecto que es tema de este post.

Algun diagrama o recomendacion que me puedan regalar?

De entrada, creo sera afrontar un radio FM/AM basado en el DataSheet de CD2003 y ya que funcione; intentar inyectar la señal del SI5351.

Gracias, han sido de mucha ayuda.
 
Última edición:
Algun diagrama o recomendacion que me puedan regalar?

De entrada, creo sera afrontar un radio FM/AM basado en el DataSheet de CD2003 y ya que funcione; intentar inyectar la señal del SI5351.

Gracias, han sido de mucha ayuda.
Mire aca : cd2003gp radio circuit - Google Search , o ese aca: CD2003GP circuit Diagram - Google Search hay muchos ejenplos !
Despues de elegir un proyecto puedo te ayudar a hacer lo que quieres , vai a funcionar seguramente .
!Saludos!
 
Perdonen mi ignorancia, pero nunca trabaje o repare equipos de radio asi que estoy neofito en algunos componentes.

filtrosceramicos.jpeg

Con respecto al diagrama del Datasheet del TA2003 me parece que tengo todos los componentes, incluso los que estan encerrados en rectangulos verdes, pero el que no encuentro en mis trebejos es el del circulo rojo "CDA10.7MG31"
diagramata2003.png

¿Me ayudan con esta duda y donde puedo localizar ese componente o como subtituir?



Gracias
 
Perdonen mi ignorancia, pero nunca trabaje o repare equipos de radio asi que estoy neofito en algunos componentes.

Ver el archivo adjunto 319087

Con respecto al diagrama del Datasheet del TA2003 me parece que tengo todos los componentes, incluso los que estan encerrados en rectangulos verdes, pero el que no encuentro en mis trebejos es el del circulo rojo "CDA10.7MG31"
Ver el archivo adjunto 319088

¿Me ayudan con esta duda y donde puedo localizar ese componente o como subtituir?



Gracias
Es un resonador ceramico de 10.7MHz de dos pinos .
Sirve para hacer una "cuadratura" en lo sinal de FI (frequencia intermediaria) de 90 grados electricos para demodulación en FM.
Caso NO logre sacar ese conponente de ningum lugar , ese puede sener reenplazado por una bobina de cuadratura de 10.7MHz de algun otro radio FM ya sucatado.
Pero hay que poner en serie un capacitor de desacople DC con esa bobina .
!Suerte!
 
Perdonen mi ignorancia, pero nunca trabaje o repare equipos de radio asi que estoy neofito en algunos componentes.

Ver el archivo adjunto 319087

Con respecto al diagrama del Datasheet del TA2003 me parece que tengo todos los componentes, incluso los que estan encerrados en rectangulos verdes, pero el que no encuentro en mis trebejos es el del circulo rojo "CDA10.7MG31"
Ver el archivo adjunto 319088

¿Me ayudan con esta duda y donde puedo localizar ese componente o como subtituir?



Gracias
Aqui tienes algunos de ellos. Los hay para diferentes IC/requerimientos de ancho de banda, frecuencia e impedancia de carga.

Como te adelanto Daniel Lopes, lo puedes sustituir por un circuito sintonizado LC para la frecuencia pero generalmente no tienen tanta recuperación de audio y precisión/estabilidad como los cerámicos.

Por eso es que se empezaron a usar para adaptarse a las exigencias de estabilidad, etc. de las emisiones con equipos con nuevas tecnologías(RDS, SCADA, etc. )

Los encuentras en teléfonos inalámbricos de la década de los 80/90, handys de comunicaciones de ese época(FR23R, FT411, AT200, AT201, etc. ) pero son generalmente para banda estrecha(canal de +- 25KHz) y el IC MC3357 o MC3361 .
 
Los encuentras en teléfonos inalámbricos de la década de los 80/90, handys de comunicaciones de ese época(FR23R, FT411, AT200, AT201, etc. ) pero son generalmente para banda estrecha(canal de +- 25KHz) y el IC MC3357 o MC3361 .
En ese caso NO sirven , son hechos para andar en 455KHz , aca lo resonador correcto es para andar en 10.7MHz.
Aca tenemos un ejenplo de como usar una bobina de cuadratura ao inves del bendicto resonador ceramico : CD2003—AM/FM radio monolithic integrated circuit - Radio_Circuit - Electrical_Equipment_Circuit - Circuit Diagram - SeekIC.com
!Saludos!
 
Última edición:
Perdonen mi ignorancia, pero nunca trabaje o repare equipos de radio asi que estoy neofito en algunos componentes.

Ver el archivo adjunto 319087

Con respecto al diagrama del Datasheet del TA2003 me parece que tengo todos los componentes, incluso los que estan encerrados en rectangulos verdes, pero el que no encuentro en mis trebejos es el del circulo rojo "CDA10.7MG31"
Ver el archivo adjunto 319088

¿Me ayudan con esta duda y donde puedo localizar ese componente o como subtituir?



Gracias
Hola, el CD 2003 es muy popular. Aquí te dejo un esquema de un kit chino de aliexpress que lleva ese mismo chip, eso si, sólo para FM sin aprovechar la parte de AM del mismo circuito integrado.

Ese kit yo lo monté en 2.020 con buenos resultados aunque se satura mucho en presencia de señales fuertes debido al transistor amplificador de entrada.

 
Saludos compañeros. finalmente consegui los filtros ceramicos y pude hacer funcionar el recpetor en FM (CD2003) no he probado en AM, pero lo destacable es que puedo sintonizar toda la banda de FM desde el Modulo SI5351 tal cual es el objetivo desde el inicio de este tema.



radio2.png


La interface entre el Modulo SI5351 y el CD2003 fue con una resistencia de 10Kohms del pin de CLK0 hacia la pata 13 del CD2003 y 3.3 volts un capacitor de 22pf.

De antemano muchas gracias por sus atinados comentarios, ahora resta hacer pruebas en otras bandas usando otros filtros pasabanda etc, y tambien en AM, mejorar el software y creo que usar un atmega328 ya que el esp32 me parece un mounstruo para lo que se requiere pero era lo que tenia a la mano de manera inicial y tambien anexar un pequeño display OLED o similar.

Ahhh como amplificador de audio estoy usando un chip PAM8403

No doy por terminado el tema y si hay algo relevane lo estare compartiendo.

Saludos
 
Última edición:
En su momento yo experimente con este de aquí , no te lo quise mencionar antes porque era otro tipo de proyecto mas orientado a radio aficionados pero podes tomar la base y modificarla para hacer lo que quieres, ya calcula la diferencia por la FI que almacenes, etc.

El mío estaba orientado mas a un generador de señal de RF(30Mhz a 225MHz), no lo he continuado por falta de tiempo y sigue juntando "tierrita".

El atenuador es uno mecánico para TV(75Ohm) que reformule la red de atenuación para la necesidad de comunicaciones de 50Ohm y a mis necesidades para tener a la salida una señal menor a 0.10uV sobre esa impedancia desde la salida de esa placa.

Todavía falta mucho desde todo aspectos pero no tengo apuro, es solo entrenamiento y "ejercicio".

El Arduino es un Nano y el Oled 1.3", encoder rotativo con pulsador y el teclado ese de cuatro botones.
ge.jpg
 
Atrás
Arriba