miercuri, 18 martie 2020

Radio FM (RDS) cu TEF6686 si STM32F103

   In articolul precedent (Radio cu TEF6686) am folosit ca placa de dezvoltare modelul Arduino Mega clasic si, ulterior, Mega 2560 Pro, o varianta redusa ca dimensiuni a celei originale, dar rara ca raspandire.
   Am considerat ca implementarea pe o placa de dezvoltare cu STM32F103 este binevenita, deoarece are pret redus, usor de montat pe cablaj de test sau breadboard, etc.
   Conectarea este simpla, modulul radio cu TEF6686, care are adresa 0x64, si afisajul LCD1602 cu interfata i2c, ce are adresa 0x3F, dupa cum se vede daca cautam ce perifierice avem legate, cu programul i2c_scanner.
   Am pastrat comenzile din 6 butoane, configuratia fiind ca in sketch, doar ca am pus rezistente de 4k7 la +3,3V (rezistente de pull up), deoarece la alte teste anterioare, comanda de folosire a rezistentelor interne de pull-up nu au parut ca lucreaza. Cele 5 butoane au urmatoarea functionalitate: volum(crestere/scadere), cautatare autmata post radio (inainte/inapoi) si schimbare frecvnta cu pas de 0,1MHz (crestere/scadere).
    Pentrua putea folosi placa STM32F103 cu TEF6686, trebuie sa schimbati libraria Wire din locul unde s-a instalat acest model de placa, la mine localizarea este la C:\Users\niq_ro\Documents\Arduino\hardware\Arduino_STM32\STM32F1\libraries.
cu cea de la https://github.com/stm32duino/Arduino_Core_STM32/tree/master/libraries/Wire
   Detalii se gasesc in articolul Functionare corecta comunicatie pe i2c la placile de dezvoltare cu STM32F103.
   Programul, care poate functiona si pe STM32F103, dar si pe Arduino Mega este TEF6686_1602i2c_v5 si include mai multe fisiere, cel de baza cu terminatia ino si altele ajutatoare. trebuie sa descarcati tot continutul din subdirector, pastrandu-i numele.
- github:
- local:

- in programul Arduino IDE:
   Am realizat 2 filmulete, din care se intelege mai usor ce am facut si cum functioneaza:
radio cu TEF6686 controlat cu STM32F103
RDS radio with TEF6686 and STM32F103
   Consumul mediu indicat de sursa de alimentare este de cca 240mA (variaza, in functie de modul de functionare: redare, cautare automata, reglaj manual, etc):
  Cateva poze:
   Instalarea placii STM32F103 si programarea acesteia se face cum am prezentat in articolul Placa de dezvoltare cu microcontroler STM32F103C8T6
   Deoarece am gasit in articolul STM32F103C8T6 board, alias Blue Pill o librarie pentru placa de dezvoltare, 
am desenat si schema radioului, ca e mai usor de inteles.

Un comentariu:

  1. Well done Nicu

    I will test this soon, but have to do some preparation because additional 3,3V.

    I have sometimes problem with older versions incl. the makserge original , that after a few minutes audio only comes distorted or stops when the tuner is geting warmer.
    One time new start then and it runs again. I have it on all tuners (I testet multiple tuners) and projects, that use the file Tuner_patch_Lithio_V102_p209.h from nxp. With the sketch for XDR-GTK-control
    with newer Lithio patch code version (probably p2.22) is never a problem. I found out that nxp fixed
    with version 2.22 a problem that dsp will stop working correct while temerature change. So I hope
    I can use the bigger p.222 version (6126Byte + LutBytes) on STM32 (more RAM) instead p2.09 version.

    RăspundețiȘtergere