Go Down

Topic: Proyecto RADIO FM con RDS y EXTRAS (Read 13826 times) previous topic - next topic

lightcalamar

May 14, 2016, 02:27 am Last Edit: Jul 19, 2016, 03:58 pm by lightcalamar
Buenas a todos.

Llevo un buen tiempo presentar mi proyecto, sin embargo por lo laborioso del mismo he creído realizarlo por etapas y escribir del desarrollo del mismo.

Quizás sea muy complejo, de aquí que empiece este hilo para que vean a medida de mi tiempo y ocio de la finalización del mismo.

He de comentar que mi amigo Francisco (yo le llamo Tigre) me advirtió que en un bazar Chino hay receptores de FM por 2€... Este proyecto en el cual me he embarcado ya llevo como mas de 200€ invertidos, dolores de cabeza, cientos de horas y problemas de aptitudes y desmoralización, no obstante todo esto me sirve para ir aprendiendo, logrando y/o superandome en muchas de las tecnicas que Arduino puede ofrecer.

No soy de las personas que se rinden, ni tampoco seré la ultima que no se dé por satisfecho con el logro obtenido.


Resumo brevemente de lo que consta mi proyecto que es un Radio de FM con RDS en cuatro bloques, con múltiples controles a modo de su características es;

  • 1 Display LCD 16x2 por definir
  • 1 Dsiplay LCD 20x4 para los menús de control
  • 2 LCD Monocromos para indicadores de Audio Spectruml
  • 1 LCD Monocromo para visualizar toda la información del Radio FMl


Los lcd´s monocromos son basados en el chip ST7920 (muy buenos y económicos.
Unas de las características del son estas;

  • Control vía teclado
  • Control por Mando a distancia
  • Sintonia fina
  • Control del brillo a todos los LCD´s
  • Control de contraste a todos los LCD´s
  • Función Reloj


Y algunas mas sobre la marcha...

Para ello he usado 2 Arduino Modelo UNO y un Arduino Modelo MEGA, He realizado Shields (placas) a medida como por ejemplo la salida de BF, el control analógico con motor para los Spectrum de Audio, la Shield de la EEPROM exterior etc..., la fuente de alimentación, las placas de relés que uso y un sinfín de cosas que le quiero añadir sobre el momento y la decisión aunque esta sea en un modo con fluidez de mejoras.

Os comento desde ya, todas las placas, códigos los iré poniendo en la medida que voy avanzando, de hecho ya tengo el 55% en funcionalidad, es decir el Radio FM ya funciona correctamente,.

Pero como escribí anteriormente es muy pesado escribirlo en todo un mensaje. Aportaré esquemas, códigos fuente del mismo a su medida.

He de comentar y lo realizo muy a gusto, este proyecto no hubiese sido realizado sin la ayuda de este foro, y tengo que darle las gracias a surbyte por darme unas ayudas en algunos códigos del cual no supe como adaptarlos, soy consciente que este 45% que me queda será a la medida me he aprendido mucho y por ello me animo a presentaros este pequeño proyecto.

Cada x días les pondré (a mi tiempo posible) unas capturas, esquemas, y cuando todo este realizado, les prometo todo el código fuente del mismo.

Espero criticas, ayudas y si es posible algunas mejoras del mismo, todo se tendrá en consideración
Saludos y hasta el próximo mensaje.

P.S.  Es la forma que he encontrado de realizar mi proyecto, presentarlo e ir añadiendo todo. Lo comenté por la terrible funcionalidad del mismo.

Descargar la versión beta 2.5b


Actualizado a 19 de Julio de 2016; incluido ficheros adjuntos del RadioFM

surbyte

Bueno no tengo mas que agradecerte por la mención que haces pero mas lo hago por la forma en que has presentado tu proyecto. 
Ojalá que esta manera de hacerlo sea copiada porque es la forma en que un profesional o un novato debe hacerlo.
Se contextualiza una idea, se presenta debidamente, se enumeran los elementos a utilizar y se van desarrollando y cumpliendo los objetivos propuestos.
Estaré como siempre muy gustoso de colaborar en lo que haga falta, como me imagino tantos otros foreros que siempre brindan su apoyo a cada consulta.

lightcalamar

Gracias y espero tu ayuda en la medida que tenga problemas, surbyte.
Paso a lo primero que es la ;

Fuente de Alimentación


Aquí el esquema;



Se obtiene de salida en 3 conectores USB hembras los +5VCC para alimentar los tres Arduino (2 Modelos UNO y 1 modelo MEGA), tiene una salida de +9VCC para alimentar dos relés y posibles circuitos mayores de 5 voltios. El transformador es reciclado de un "ojo de buey" (aquellas bombillas halogenas a 12VAC de hace unos años) la corriente que suministra el transformador es de 1200 mili-amperios o 1,2 Amperios.



El circuito impreso es de doble cara comprado en esta tienda, bueno gran parte de todo el material lo realice en ella, por lo cual iré poniendo los enlaces.
Le he puesto 3 salidas de +5VCC en USB y en dos conectores tornillo también para los 5 Voltios, a igual un conector para la salida de +9VCC;



Quedando todo ya montado de esta forma;





Adjunto todas las imágenes en un zip. Nota para los esquemas he usado el CAD llamado FidoCADJ,construyéndome mis propias librerías de componentes.

Seguiremos...




Lucario448

El 7805 es el del disipador más grande, cierto?
Pregunto porque como ambos son reguladores lineales y se someten al mismo voltaje de entrada, el de menor voltaje de salida es que tenderá a producir más calor.

lightcalamar

Hola Lucario448

Los radiadores son los dos iguales a los dos IC reguladores.  El 7809 se usara aleatoriamente dentro del montaje y muy puntual. Como bien saber estos IC para su correcto funcionamiento o mejor dicho su salida será exactamente igual si su entrada tiene 3 Voltios mas de entrada de su salida, es decir el 7809 a de tener 12 voltios a su entrada y el 7805 no hay problema ya que supera la entrada los 3 voltios.

El 7805 y 7809 ofrecen hasta una corriente de 1,5 Amperios pero no es necesario ya que en pleno rendimiento leií lecturas de 800 ~ 900 miliamperios por lo tanto no hay problema.

Si que es verdad realizando pruebas el 7805 se calienta pero bueno es su trabajo, el radiador que le busqué aparte de su silicona térmica lo estuve funcionando unas 48 horas y su temperatura es aceptable.

Gracias por tu sugerencia!

lightcalamar

#5
May 16, 2016, 06:17 pm Last Edit: May 16, 2016, 06:38 pm by lightcalamar
Seguimos...

Este mensaje es del control para el Brillo y Contraste de los tres LCD´s gráficos. Como comenté son 128x64 y es el chip ST7920 comprados aquí un LCD es el que representa el Radio en sí donde muestra;

 
  • Frecuencia en MHz
  • El nivel de la emisora (S/R)
  • Nivel del volumen
  • Los datos RDS de la emisora
  • Control de Muting
  • Indicación STEREO / MONO
  • Información


y no hay para poner mas cosas que es un poco "pequeño". Los otros dos LCD´s también gráficos son los que muestran las 7 u 14 (según otra función para ellos) el nivel de audio en función barras spectrum del cual al principio me decanté por LCD´s 20 x 4 pero hubo problemas... Por lo tanto uno será para el canal derecho y el segundo para el canal izquierdo.

Este es el esquema de un LCD (y como dije son 3) osea el esquema se convierte en 3 veces;



Si observan el circuito integrado U103 y U104 son dos Potenciómetros Digital de Xicor el X9C103P donde su salida "del pote" es de 10KOhmios, los hay de otros valores pero eleji este porque se ajusta a mi test que realice en su día.



Bien y preguntarán porque no haber usado los pines PWM de las salidas digitales?. Buena pregunta, y esta es la respuesta:

Cuando estuve realizando pruebas me dí cuenta que había un problema con el control del contraste el pin del LCD mascado como VO y resulta cuando esta esta el 75% de la regulación observé una interpolación sobre el LCD, vamos como un "batido" de corriente alterna, pensé que era problemas de filtrado, realice muchas pruebas y ninguna doy satisfacción. Leí que era por la frecuencia cuando se variaba la modulación del ancho de impulso de las salidas digitales de Arduino, lo realice en varios modelos y todos con el mismo síntoma, llegue a pensar sería problema de los LCD´s pero 5 no pueden hacer lo mismo, revisé las DataSheet del LCD y nada no hubo forma.

Total me incliné con los potenciómetros digitales como el X9C103P donde es fácil su montaje ademas de obtener una librería a la hora de compilar que funciona correctamente. Es esta librería
 
Pero claro hay un problema... No la librería sino el X9C103P, este usa 3 pin de control para su correcto funcionamiento sea en librería o no y claro para el control de un LCD se necesitan dos circuitos integrados, que son 6 pines de control y como son tres LCD´s son 18 pines digitales de control, por lo tanto Arduino MEGA al canto, bueno ya lo tenia por el tema de controlar el LCD de los menús que es alfanumérico pero así es como he solucionado el "rizado" molesto de los LCD´s gráficos.

Dejo capturas de los potenciómetros y adjunto esquemas y capturas.







Hasta la próxima!


surbyte

#7
May 17, 2016, 09:08 pm Last Edit: May 17, 2016, 09:09 pm by surbyte
Muy buen trabajo Tomas!!
Solo un comentario: Los chinos te van a llamar para ver como haces para fabricar todo eso por 10 euros.. jajaja.
Ahora Maravilloso!!!

lightcalamar

Gracias a ti Ricardo!

A todo ello llevo toda la semana estancado en los controles de brillo y contraste de cada uno de os 3 LCD´s gráficos y ya lo he solucionado. Los 6 circuitos integrados X9C103P que se van a usar vía librería ya están completamente adaptados. Este es el enlace .

Ya tengo realizado el modulo de la EEPROM exterior, y tengo que realizar los dos amplificadores de BF para la entrada de cada Audio Spectrum, he usado un amplificador operacional y el nivel de salida satura en exceso y funciona mal, como no se tiene que tener gran ganacia usaré un amplificador tipo BC547 en salida de emisor común y dependiendo lo mismo lo monto en circuito Darlington si me faltase ganancia.

En este fin de semana compondré los esquemas de los mismos.

P.S. A todo ello yo añadiría un 0 (cero) mas si los chinos me contratan... jejejeje :)

TFTLCDCyg

#9
May 20, 2016, 10:32 pm Last Edit: May 20, 2016, 10:38 pm by TFTLCDCyg
Por fin veo un modulo FM plenamente funcional, a la espera de los avances. Buen proyecto.

PD: si algún día quieres instalarle un TFT, ve directo por uno basado en el chip FT800, el mas económico: gameduino 2, ese TFT le queda tanto al UNO , al MEGA como al Due, hasta en el teensy 3.2 funciona!!,

No pude evitarlo, mientras he visto el avance de tu radio, lo he imaginado con una pantalla a colores jejejeje
ft81xmania.com/comunidad/

surbyte

Mira su video, esta muy avanzado, TFTLCDyg, falta tu toque!!! jaja

lightcalamar

Y a todo ello que todavía no esta acabado...

@TFTLCDCyg al principio usé una pantalla 3,2 TFT concretamente esta pero la librería UTFT tenía problemas de refresco, luego adapté esta otra pantalla y no me agrado como trabajaba porque usaba la misma librería aunque ya tenía la pantalla tactil el cual esto me hacía ilusión.

Recuerdo en un mensaje tuyo me distes apoyo sobre la pantalla que me dices para el Audio Spectrum, le voy a echar un vistazo para el próximo Radio que realice porque he de hacer otro con pantalla a todo color, de ello estoy ahora mismo ya investigando, he visto alguno de tus vídeos sobre estas pantallas y son de guapas que da mucha envidia. Donde las compraste?, puedes escribir el enlace?

El modulo del Radio RDS esta basado en un chip el RDA5807M lo conpré aquí magnifico precio de hecho compré 5 por si acaso.

A seguir trabajando que tengo faena.
Saludos!


 

lightcalamar

#12
May 26, 2016, 01:13 am Last Edit: May 26, 2016, 01:21 am by lightcalamar
Buenas.

He añadido dentro del menú principal otras funciones importantes que son;
  • Control entrada Spectrum LCD´s (vía control X9C103P)
  • Cambio visualización Spectrum (4 funciones (*))


A todo ello otras funciones como reset a los dos Arduinos Uno (cada uno para los Spectrum de Audio) y estudiado el tema, creo tendría que sacrificar un Arduino Nano (no hay problema, ya que tengo unos 5 ~ 6)

El problema de usar el nuevo Arduino Nano en el proyecto, es obtener la función principal de Stand-By del radio. Y mi pregunta es la siguiente de que forma lograría controlar los tres Arduinos para quedar en reposo (o Stand-by)?

De hecho no hay problema porque tanto el volumen y la emisora queda guardada en EEPROM y al volver a la "vida" es lo que dejó antes de "apagarse"...
Las 4 funciones (*) son;

  • Modo 14 barras reales (dos MSGEQ7)
  • Modo 7 barras
  • Modo invertido LCD
  • Modo llinea

y posiblemente otras mas...  Deseo vuestra opinión sobre el sistema de Stand-By porque no lo tengo muy claro.

Saludos.

TFTLCDCyg

#13
May 26, 2016, 01:56 am Last Edit: May 26, 2016, 01:57 am by TFTLCDCyg
Vaya, vaya tres arduinos... lo mas que he reunido son dos arduinos MEGA: uno para controlar el servo del domo de ventilación de la PC y el otro para monitorear temperaturas y controlar iluminación general.

¿Que tan complicado sería que la información la guardaras en una SD?, así podrías apagar por completo el radio. Si deseas alguna función como despertador, sería bueno que usaras un DS3231. He usado un par de veces la espera en un par de MEGA´s y no me gustó el resultado, las ili9341 que usé antes, se quedaban en blanco... de todas formas tenía que desconectar y conectar los arduinos, uno de ellos siempre "quedaba despierto".

PD: el FT800 con la libreria GD2, permite controlar la retroiluminación desde la pantalla táctil, e incluso se puede apagar.

Por cierto las pantallas FT800 que tengo son:

FT843+ADAM (4.3", 480x272, resistiva): la conseguí mediante un importador que me apoyó a adquirirla en la página de 4D systems

Gameduino 2 (4.3", 480x272, resistiva): tienda en linea que es distribuidor en México

Riverdi FT813 (5", 800x480, capacitiva) + arduino-shield: la adquirí a través de la pagina de Riverdi  (en espera que Riverdi libere la libreria FT81X, para arduino, por el momento solo está disponible la FT80X)
ft81xmania.com/comunidad/

lightcalamar

#14
May 31, 2016, 10:21 am Last Edit: May 31, 2016, 10:31 am by lightcalamar
Gracias  TFTLCDCyg  como bien sabes ya tengo pedido una pantalla FT800 y a ver si llega esta semana para ir experimentando.

A todo esto ya el proyecto va avanzando. Ya tengo los 4 LCD´s en funcionamiento  (todavía en pruebas en una caja de cartón) pero lo próximo es realizar la caratula principal para no volverme loco y así, tirar de carpintero unos días.

De momento (y ya funcionando) aunque con muchos retoques que he de realizar, este es el nuevo vídeo del Radio.

Nuevo vídeo Radio FM con RDS



Saludos!. :)

Go Up