domingo, 16 de octubre de 2022

Receptor RDA5807 con Arduino de 50 a 115 Mhz - Experimental.

Hola que tal querida gente, vamos a comenzar a experimentar!!! en este caso realizaremos un receptor de radio FM que cubre las frecuencias de 50 Mhz a 115 Mhz según hoja de datos del integrado, aclaro que este montaje es  experimental y seguramente se puede hacer muchísimas mejoras, pruebas, test, etc.
Los invito por si quieren aportar y compartir sus experiencia.

Receptor RDA5807 

Componentes y módulos aquí utilizados.

Modulo receptor RDA5807
NanoArduino
Encoder rotativo 5 pines
Pantalla TFT 8 - 1.44 SPI 128*128 V1.1


Además se utilizo lo siguiente para realizar las pruebas, no es necesario contar con todo exactamente igual, pero recomiendo algunas herramientas básicas para electrónica, pueden arreglarse de otra forma aunque para mi de esta manera se me hace más cómodo y fácil la experimentación.

Dejo lo que use en mi caso y seguido una posible alternativa, confió en ustedes que podrán resolverlo de alguna manera que a mi no se me ha ocurrido.


El Modulo Amplificador LM386 para pruebas lo he fabricado a partir de un circuito encontrado en internet pero no es mas que una de las posibles conexiones que tiene el integrado y que recomienda el fabricante (se encuentra en su respectiva Hoja de datos), si quieren después hago una entrada para explicar como lo realice, es super sencillo y sirve para estas pequeñas pruebas y más. Igualmente en la sección Biblioteca como de acostumbre esta el diagrama utilizado en formato PDF.

-----------------------------------------------------------------------------------------------------------------------
Aclaración pertinente!
Lo que menciono cómo posible alternativa, es solo una idea general que puede ayudar a las personas que no disponen de cierto material y por eso no se animan a experimentar, se puede tener otro panorama y encontrar algún objeto, piezas u componentes reciclados que nos pueda servir cómo reemplazo momentáneo.

En tal caso de usar cosas recuperadas o utilizar objetos para los que no fueron diseñados o creados tener sumo cuidado, ya que si conectas o enchufas algo en mal estado esto acarreara problemas serios en tu circuito, como quemarlo o dañarte a ti mismo.
Por favor si no estas seguro no lo hagas, consulta a alguien con más experiencia, aquí trato de animarlos a que realicen sus circuitos y experimenten, pero que sean consciente de lo que están haciendo y que hay casos que pueden correr serio riesgo si utilizan algo para lo que no esta preparado o creado, dañándote o dañando tus componentes.

🚧 Igualmente esta va hacer la primera y única vez que haga este comentario para aclarar el tema, lo ideal es que puedan aprender haciendo un curso o carrera, que lean mucho y aprendan, que  de a poco vayan haciendo sus herramientas y comprando otras. Si les gusta el hobbies de la Radio Afición y la electrónica, inviertan un poquito de tiempo en aprender y experimenten, no se van a repetir! 
---------------------------------------------------------------------------------------------------------------------


El modulo RDA5807 con interface I2C tiene unas medidas reducidas de 1.1 cm de lado aprox. y para facilitar la manipulación en las pruebas lo he montado en una placa de prototipos con agregado de pin (ver fotos).
Si es necesario dar click en la foto para agrandar o botón secundario del mouse y ver imagen.




En el apartado "Biblioteca" dejo el Datasheet. 


Diagrama de conexión adaptado a mi hardware.


La alimentación es 3.3 de volts esto da la posibilidad de hacerlo portátil, lo único que faltaría es un amplificador de bajo consumo, ya que en las pruebas se utilizo el LM386 que funciona bien de 5v. hasta 12v. y esto no nos favorece mucho si decidimos tenerlo portátil (se me ocurre con una batería de 9 volts que están bastante caras y con un regulador para bajar a 3.3v ).
Otra alternativa es usar auriculares, ya que el modulo esta preparado con salida para tal fin y en el sketch esta la función de volumen up/down, pero hay muchísimas alternativa como la realización de un amplificador casero a transistores o con algún IC, otra manera seria comprar un modulito que funcione a 3.3 volts y esta resuelto el tema.
Otra idea seria simplemente armarlo con una fuente y un regulador de tensión todo en un gabinete, y dejarlo en el lugar que mas nos guste dentro de casa, lugar de trabajo, jack de radio, taller etc.
Si conecta el NanoArduino por usb, debe de sacar los 3.3volts del correspondiente pin para la pantalla y el Modulo RDA5807, funciona con 2.8v a 3.3v. o quizás menos, pero no con 5 voltios.
Se incluyo una resistencia de 220Ω en el pin Led del Display.


📋 Comentario: adaptación del Sketch para el Arduino.

Adapte y arregle la visualización para la pantalla que tengo disponible una TFT 8p 1.44 SPI 128*128 v1.1 en el original usa una 128*160 y con nombre de pines diferente.

Se agregó una linea para el Display así adaptar incompatibilidad de tamaño y brillo, ahora quedo todo armónico dentro de la pantalla mas pequeña (faltan algunos ajustes).

Se utilizo pin D6 Stereo/Mono para cambio de Banda (a futuro buscar que estén todas las funciones disponibles, incluyendo Stereo / Mono, Banda, Etc).

Se deshabilito y cambio algunas líneas de textos en la pantalla inicial.

Al momento de esta publicación en el blog, esta funcionando de manera estable en 2 Bandas de FM Broadcasting desde 65Mhz a 76Mhz y desde 76Mhz a 108Mhz.

🔧 Futuras mejoras:
Implementar los rango de frecuencia en los extremos de 50 a 65 Mhz y de 108 a 115 Mhz.
Mejorar la visualización y algún detalle pendiente en pantalla.
Agregar funciones completas de banda y la habilitar stereo/mono.

Realizar gabinete con opción de hacerlo portátil y con fuente, por si queremos llevarlo a cualquier lado o que quede en el Jack de radio para disfrutar un poco de nuestras emisoras favoritas o de buena música y seguir experimentando.

💾 Mi versión adaptada del Sketch Receptor RDA5807 
Este sketch esta funcionando con Arduino Nano, no debería presentar problemas para Arduino UNO u Arduino Mini.
Versión: 0.10
Fecha: 16 Octubre 2022 

Dejo el sketch  .ino para descarga : Receptor RDA5807.ino


✅ Características generales del receptor:

El creador de la biblioteca para Modulo RDA5807, da las siguientes características
Funciones RDA5807 implementadas por esta biblioteca
  1. 76–108 MHz

  2. búsqueda de sintonía

  3. Control automático de frecuencia (AFC)

  4. Control automático de ganancia (AGC)

  5. Desacentuación programable (50/75 μs)

  6. Supresión de ruido adaptable

  7. Control del volumen

  8. Control de silencio

  9. Control mono/estéreo

  10. Procesador RDS/RBDS (en construcción)


Mi esquema y sketch esta basado en la librería de "pu2clr RDA5807 Arduino Library" que esta en GitHub, adaptando el código del example a mi hardware disponible,  dejo el GitHub de PU2CLR como corresponde  https://github.com/pu2clr/RDA5807

En el canal de Electgpl  se puede ver una explicación muy buena y mas profunda del modulo RDA5807,
tiene una implementación basada pantalla Oled, y explica varios detalles.
Espero que no se moleste Sebas que lo menciono en este humilde Blog. (permiso pendiente)
18/10/2022 permiso otorgado! Gracias Sebastián.
Les recomiendo el canal es muy bueno.


🔖Nota final:
    Que puedo decir sobre este modulo receptor y su implementación, al no ser un experimentado y que mas bien soy un entusiasta de la electrónica y de la Radio Afición.
Digo: Esta muy bueno e interesante para comenzar a experimentar y aprender sobre la recepción asistida por software SDR y también abre un amplio panorama a las demás experiencias que se están realizando desde hace un tiempo como por ejemplo el caso de los SI47xx trabajando en la recepción multibanda.
Un principiante, como lo soy yo aprender a trastear  y utilizar el IDE de Arduino, dar los primeros pasos en la programación mirando, investigando y aprendiendo de los que más saben, cambiando una cosita aquí o allí para dar ese toque personal. 
Y.... sobre todo, aprender, divertirnos y compartir!

Espero les sea útil y de su agrado, que se animen si recién están empezando con la electrónica o la radio afición, que no se queden,  y que aprendan solo por al satisfacción de aprender y de hacerlo uno mismo.


Hasta un próximo encuentro y fuerte abrazo.

73 de LU1DXX



Editado 17/10/2022
Olvide de mencionar algo muy importante, hay que instalar la librerías correspondientes en el IDE de Arduino, la mencionada unos párrafos mas arriba, acceder a través del link (del RDA5807), sino esta  instalada esa librería no funcionara el Sketch compartido, como así también si no tienes mucha experiencia en la programación de Arduino, y no tienes instaladas las librerías, tendrás que instalar además la librería del "Encoder" y del Display, si no están darán error al compilar el código.

No hay comentarios.:

Publicar un comentario