Elektronika / mikrokontrolery

Dodano: 2017.08.24

Radio FM z RDS na module RDA5807

Artykuł "Radioodbiornik dla każdego" autorstwa Pana D. Sosnowskiego opublikowany w Elektronice Praktycznej Nr 5/2016 zainspirował mnie do podjęcia prób z modułem RDA5807. Dotychczas udało mi się zrealizować projekt radia z modułem TEA5767. Wykonałem prototyp radia wg schematu z EP 5/2016 wprowadzając niewielkie zmiany. Zamiast 2 impulsatorów zastosowałem 6 przycisków. Podczas prób wykryłem błąd w układzie. Potencjometr dostarczający napięcia do sterowania kontrastem wyświetlacza LCD powinien być podłączony do +5V, a nie jak na schemacie do VCC czyli 3,3V. Próby w zakresie przełączania stacji (zdefiniowane częstotliwości stacji), regulacji głośności i odczytu informacji RDS wypadły pomyślnie. Prawie pomyślnie (działało sterowanie w górę, a w dół nie - co zapewne wynika z zastosowaniu przycisków zamiast impulsatorów).  Poniżej  filmik ilustrujący działanie prototypu.

Postanowiłem wykorzystać bibliotekę dla modułu RDA5807 we własnym projekcie, którego schemat przedstawiam poniżej.

schemat radia z modułem RDA5807

Interfejs użytkownika stanowią 3 przyciski S1-S3 podłączone do pinów PD1-PD3 i moduł wyświetlacza LCD od nokii 5110 (3310). Układ zasilany jest napięciem 3,3V. Sygnały akustyczne z modułu RDA5807 podałem na wejście wzmacniacza zewnętrznego (muszę to jeszcze dopracować, aby wyeliminować przydźwięk). Schemat modułów przedstawiam poniżej.

schemat modułów RDA LCD


płytka dla RDA5807Aby ułatwić sobie łączenie wyprowadzeń modułu RDA5807 w konstrukcjach prototypowych wykonałem jednostronną płytkę, do której przylutowałem powierzchniowo moduł RDA i wlutowałem goldpiny (2x5), co widać na zdjęciu.

Projekt został maksymalnie uproszczony. Głównym celem było wykorzystanie biblioteki do odczytu informacji RDS.

Układ (w tej wersji) umożliwia przełączanie stacji za pomocą przycisku S1, ręczną zmianę częstotliwości za pomocą przycisku S2 w górę i S3 w dół z krokiem 100 kHz.

 informacje na LCDNa wyświetlaczu LCD pokazywane są informacje o sile odbieranego sygnału, odbiorze stereo, odbiorze sygnałów RDS, poziomie głośności na wyjściach audio modułu (w pierwszej linii). Aktualna częstotliwość odbieranego sygnału w MHz - wiersz drugi. Nazwa odbieranej stacji (zaprogramowana tablica stacji) - wiersz trzeci. W wierszu czwartym wyświetlana jest podstawowa informacja RDS (jeżeli jest odbierana) o długości 8 znaków. W piątym wierszu rozszerzona informacja RDS o długości do 64 znaków.

Po uruchomieniu i testach układu nasunęły mi się następujące wnioski:
  • czułość modułu RDA5807 jest zdecydowanie niższa niż modułu TEA5767
  • dokumentacja techniczna układu RDA5807 nie jest najogólniej mówiąc wyczerpująca
  • odczytywane informacje RDS zawierają błędy, nie zawsze są kompletne (zwłaszcza informacje rozszerzone)

Schematy, kody źródłowe w C, pliki wsadowe do mikrokontrolera, rysunki płytek drukowanych dla obu wersji projektu dostępne są w dziale Do pobrania.

Na koniec filmik ilustrujący działanie radia.






Liczba komentarzy: 0    Czytaj | Dodaj komentarz

Dodano: 2016.03.02

Radio z modułem TEA5767 - wersja II

radio z modułem TEA5767

W poprzednim poście przedstawiłem radio z układem TEA5767 sterowane przez mikrokontroler Atmega328 z wyświetlaczem LCD od nokii5110, zasilane napięciem 3,3V.

Teraz ten sam moduł TEA5767 ze wzmacniaczem TDA1308 (tylko 4 piny - 2 na zasilanie i 2 na I2C oraz 2 gniazda Jack - antena i słuchawki). Układem steruje Atmega8. Interfejs stanowią 3 przyciski (podobnie jak poprzednio) i wyświetlacz LCD 2x16 znaków. Zasilanie 5V.

Początkowo miałem obawy, czy zasilanie 5V nie uszkodzi modułu, którego schematu rozszyfrować nie sposób, a z dokumentacji układu TEA5767 wynika, że powinien być zasilany napięciem 3,3V. Ale przeprowadzone próby wypadły pomyślnie. Schemat połączeń przedstawia rysunek poniżej.

TEA5767 + Atmega8 - schemat

Różnice w stosunku do poprzedniego projektu to: zastosowanie wyświetlacza LCD 2x16 znaków ze sterownikiem HD44780 podłączonego do portu D, przyciski S1 ... S3 podłączone  do portu B oraz zasilanie napięciem 5V (zmiany w module zasilacza - stabilizator 7805). 

radio TEA5767 - informacje na LCDZasilanie napięciem 5V spowodowało wzrost siły sygnału i w związku z tym automatyczne przełączanie się układu w tryb stereo (siła sygnału powyżej 12). Sposób wyświetlania informacji na LCD przedstawia ilustracja obok.


Działanie

Po włączeniu zasilania odtwarzana jest jedna z zapisanych w pamięci eeprom stacji (częstotliwości) ustalona w części inicjalizacyjnej programu. Przyciski S2 (-) i S3 (+) umożliwiają zmianę stacji odpowiednio w dół lub w górę. Przyjąłem możliwość zaprogramowania 10 stacji - zapisania w pamięci eeprom 10 częstotliwości co zajmuje 40 bajtów (każda częstotliwość to 4 bajty pamięci). Liczbę tę można zmienić w zależności od potrzeb. Nazwy stacji zapisane są w pamięci danych, ale możliwe jest utworzenie tablicy nazw stacji w pamięci eeprom i ich modyfikowanie w trakcie działania urządzenia.

Przycisk S1 służy do otwarcia prostego MENU zawierającego opcje:

  • przeglądu stacji (częstotliwości) zapisanych w pamięci eeprom
  • strojenia
  • zapisu nastrojonej częstotliwości na wybranej pozycji (1 .. 10)
  • przełączania podświetlenia LCD
  • wyjścia z menu
Poruszanie się po menu umożliwiają przyciski S2 i S3, a wyboru opcji przycisk S1. Wewnątrz wybranej opcji działanie przycisków jest analogiczne - S2 i S3 służą do zmiany parametrów a S1 do zatwierdzania zmian.

Program napisałem w C i skompilowałem w środowisku WinAvr. Zajmuje nieco ponad 50% zasobów mikrokontrolera. Atmega8 pracuje z częstotliwością 1MHz (bez zmiany fusebitów). Poniżej krótki filmik przedstawiający działanie prototypu.



Projekt dostępny w dziale Do pobrania (schemat, kody źródłowe w C, plik wsadowy HEX).


Komentarze mile widziane

Liczba komentarzy: 0    Czytaj | Dodaj komentarz

Dodano: 2016.01.30

Radio FM na TEA5767

Radio FM z modułem TEA5767

Już parę ładnych lat minęło od czasu kiedy to zmajstrowałem radyjko na układzie TDA7000 Philipsa, które gra do dzisiaj. Przeglądając internet co i rusz napotykałem oferowany do sprzedaży moduł z układem TEA5767, aż w końcu się skusiłem. Przy okazji poznałem też różne opinie, opisy problemów z uruchomieniem układu, oraz rady jak sobie z nimi radzić.

moduł TEA5767W ślad za sugestiami, że najlepiej kupić ze trzy, to może któryś odpali - kupiłem dwa. Moduł (a nie układ) w zasadzie nie posiada dokumentacji, a dostępne w sieci opisy wyprowadzeń i sposobu ich podłączania są rozbieżne. Pozostało studiowanie noty katalogowej układu.

Problemem dla mnie okazało się polutowanie wyprowadzeń do tego modułu - już nie te oczy, nie te ręce. Nie mam pewności, czy lutując wyprowadzenia nie uszkodziłem tych modułów, bo jak się potem okazało żaden nie ruszył. Nie mam jednak lutownicy hot air aby potraktować te moduły gorącym powietrzem jak sugerował ktoś w sieci.

Aby nie poprzestać na takim niepowodzeniu kupiłem gotowca - urządzenie zawierające wspomniany wyżej moduł oraz wzmacniacz TDA1308. Urządzenie posiada 4 piny (2 zasilanie, 2 na I2C) oraz dwa gniazda jack 3,5mm - jedno do wpięcia anteny (były dwie w zestawie), drugie wyjście słuchawkowe.

moduł TEA5767 na I2C

Skoro miałem już gotowca, to zestawienie prototypu było banalnie proste. Zresztą układ nie jest skomplikowany, co widać na zamieszczonych poniżej schematach (schemat z modułami uproszczony - oznaczone tylko piny i gniazda).



radio TEA5767 schemat
radio TEA5767 moduły

Budowa i działanie

Układem steruje mikrokontroler Atmega328. Moduł TEA5767 podłączony do magistrali I2C, której szyny SDA i SCL są podciągnięte do zasilania przez rezystory 3k3. Magistralą I2C następuje zapis i odczyt rejestrów układu TEA5767. Interfejs użytkownika stanowią 3 przyciski oraz wyświetlacz LCD od nokii 5110 (wykorzystałem moduł). Podświetleniem wyświetlacza steruje Atmega poprzez tranzystor T1. Do sterowania wyświetlaczem wykorzystano sprzętowy SPI.Cały układ zasilany jest napięciem 3,3V.

 

Układ zaprojektowałem tak, że po uruchomieniu odtwarzana jest jedna ze stacji (częstotliwości stacji zapisano w pamięci procesora). Przycisk S1 służy do wybierania kolejnych stacji.

Przyciski S2 i S3 umożliwiają strojenie - S2 zmniejsza częstotliwość, a S3 zwiększa o 50kHz. W takiej, jak na razie mało rozbudowanej wersji, urządzenie może działać nawet bez wyświetlacza LCD, co uprościłoby jego konstrukcję i program.

Urządzenie zmontowałem i testowałem na płytce stykowej. Opracowałem także płytki PCB, które czekają sobie na wykonanie. Rozważam różne warianty urządzenia finalnego, ale o tym napiszę, gdy któryś z pomysłów zrealizuję.

Program

Program napisałem w C w środowisku WinAvr. Na razie jest to rozwiązanie dość proste. Sporo czasu zajęło mi tworzenie bibliotek dla modułu TEA5767 - korzystałem z wielu źródeł wykorzystując i modyfikując ich fragmenty, które odpowiadały potrzebom tego projektu. Musiałem także zmodyfikować biblioteki dla wyświetlacza LCD.Urządzenie wystartowało, ale... działanie tego nie powala. Nie udało mi się zrealizować automatycznego strojenia. Odbierane są tylko stacje o silnym sygnale (ale to może dla tego, że u mnie w domu telefony komórkowe też mają kiepski zasięg).

radio TEA5767 lcd nokia 5110

Myślę nad wprowadzeniem zmian w taki sposób, aby możliwe było zapisywanie w pamięci EEPROM procesora ustawionej przez użytkownika stacji (częstotliwości), a potem jej wybieranie, wybieranie kroku strojenia, ustalanie sposobu wyświetlania i podświetlania. Zamierzam także dodać moduł RTC.
Program zajmuje około 18% zasobów procesora.


Projekt dostępny w dziale Do pobrania (schematy, kody źródłowe w C, plik wsadowy HEX, rysunki płytek w formacie pdf.


Komentarze mile widziane

Liczba komentarzy: 1    Czytaj | Dodaj komentarz

Strona główna Starsze posty >>

Lista postów w tej kategorii
  • Radio FM z RDS na module RDA5807
  • Radio z modułem TEA5767 - wersja II
  • Radio FM na TEA5767
  • Nietypowy zegar
  • Tester akumulatora samochodowego
  • Mikroprocesorowy sterownik do akwarium
  • Mikrokontrolery - moje zmagania z elektroniką

    październik 2017
    NiPnWtŚrCzPtSo
    1234567
    891011121314
    15161718192021
    22232425262728
    293031