Elektronika / mikrokontrolery

Dodano: 2018.07.30

Grający mikroprocesor Atmega328

grajaca atmegaElektroniczne generowanie dźwięków intrygowało mnie od zawsze. Pamiętam czasy, gdy dźwięki wytwarzane były przez multiwibratory astabilne lub generatory z mostkiem Wiena budowane na tranzystorach. W roli dzielników częstotliwości występowały wówczas przerzutniki UCY7474.

Wspomnienia tamtych czasów (blisko pół wieku temu) powodują, że chętnie sięgam do projektów elektronicznego wytwarzania i przetwarzania dźwięków z udziałem mikrokontrolerów.

Przedstawiany tu musicbox to układ oparty o mikrokontroler Atmega 328 taktowany zewnętrznym kwarcem 16 MHz. Potrafi odtwarzać przekonwertowane pliki midi tworząc 4 kanałowy dźwięk z częstotliwością próbkowania ok. 18 kHz. Do generowania dźwięków wykorzystywany jest PWM i przerwania Atmegi. Układ wyposażono w 12 przycisków -  1 oktawową klawiaturę, za pomocą której można grać. Są jeszcze 2 przyciski sterujące - w zależności od trybu pracy służą do zmiany odtwarzanej melodii lub do zmiany oktawy.

Schemat układu przedstawiono na rysunku. musicbox - schematWyjście audio układu (OUT_A, OUT_B) należy podłączyć do wejścia wzmacniacza poprzez mikser. Schemat miksera i wzmacniacza z układem LM386 przedstawiono na schemacie. Sumator stanowią 3 rezystory 20k i 1 rezystor 10k. Sygnał do wejścia LM386 doprowadzony jest poprzez kondensator 1uF. Możliwe jest podłączenie wyjść A i B do wejścia wzmacniacza stereo, np. do głośników komputerowych.  

sumator i wzmacniacz



Projekt układu (schematy, kod źródłowy w C, plik wsadowy) dostępny w dziale do pobrania.


Komentarze mile widziane.





Liczba komentarzy: 0    Czytaj | Dodaj komentarz

Dodano: 2018.02.24

Radio RDA5807 z dotykiem

radio z dotykiemW zmaganiach z modułem RDA5807 wykorzystywałem różne warianty interfejsu. Tym razem do komunikacji z użytkownikiem zastosowałem wyświetlacz TFT ze sterownikiem ILI9341 i panelem dotykowym.

O ile znalezienie bibliotek do obsługi wyświetlacza nie stanowiło problemu, to z rezystancyjnym panelem dotykowym ze sterownikiem XPT2046 już tak łatwo nie było. Do sterownia wyświetlaczem wykorzystuję biblioteki Atmela, które najbardziej przypadły mi do gustu. Dokonałem w nich jedynie niewielkich modyfikacji stosownie do potrzeb mojego projektu.

Obsługa panelu dotykowego sprawiła mi sporo kłopotów. Generowanie przerwań po naciśnięciu ekranu przebiegało prawidłowo. Odczyt współrzędnych pozostawiał wiele do życzenia. Próby znalezienia przyczyn takiego zachowania panelu dotykowego w internecie (w tym także na forach) zakończyły się fiaskiem. Po wielu, wielu  próbach okazało się, że odczytane współrzędne mimo ich nieprawidłowych wartości, są jednak powtarzalne.

W związku z tym udało mi się wykorzystać ten moduł TFT o rozdzielczości 320x240 pikseli jako interfejs radia RDA5807. Sterowanie umożliwiają przyciski znajdujące się u dołu ekranu TFT (+, aktualna opcja, -). Informacje wyświetlane są na ekranie (w tym także odebrane i zdekodowane informacje RDS). Wyświetlacz można wyłączyć/włączyć naciskając w jego centralnej części.

 W związku z tym, że panel dotykowy nie działa tak, jak powinien, nie udostępniam projektu (schemat, źródło, wsad) na stronie. Mogę udostępnić indywidualnie osobom zainteresowanym - kontakt na maila.

Na koniec krótki filmik - prezentacja działania radia.


 
Liczba komentarzy: 1    Czytaj | Dodaj komentarz

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 zastosowania 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.



płytka dla RDA5807 Aby 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 LCD Na 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

Strona główna Starsze posty >>

Lista postów w tej kategorii
  • Grający mikroprocesor Atmega328
  • Radio RDA5807 z dotykiem
  • 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ą

    sierpień 2019
    NiPnWtŚrCzPtSo
    123
    45678910
    11121314151617
    18192021222324
    25262728293031