Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 9 lip 2025, o 23:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 2 wrz 2016, o 12:13 
    Offline
    Nowy

    Dołączył(a): 13 sie 2016
    Posty: 3
    Pomógł: 0

    CEL:
    Chciałbym stworzyć zabawkę, gadżet, który przy naciśnięciu przerwaniu zewn. wyda odpowiednie dźwięki(na pewno nie próbki głosowe). Chciałbym też dodać opcję losowania dźwięku z folderów na karcie µSD.

    PARAMETRY:
    ŚRODOWISKO: Eclipse Neon (inne, prostsze projekty działają na tym);
    JĘZYK: C;
    AVR: ATmega 32;
    TESTOWANE CZYTNIK µSD:

    [ reklama modułów innych firm - usunięto - mirekk36 ]

    KARTY SD: 128MB | 2GB; (na tę chwilę karta 128MB jest uszkodzona i żadne urządzenie jej nie widzi)
    TESTOWANE SYS. PLIKÓW: FAT, FAT32;
    WAVE: 16bit@22050Hz / długość: od kilku sekund do 3-4min. (do konwersji użyłem Nero WaveEditor)

    OPIS KRÓTKI - BIEŻĄCY PROBLEM
    Próbuję uruchomić projekt 20a(WAV_PLAYER_I2S_FIFO). COŚ mi tu działa, ale na pewno nie jest to poprawne odtwarzanie.
    Po włożeniu karty chwilę „cyka” z głośników i mryga dioda zasilania na module karty microSD. Następnie chyba zaczyna się odtwarzanie, ale są to jakieś piski, turkoty, a na pewno nie jest to muzyka, nawet bardzo zaszumiona. Czy to nie jest po prostu, jakimś cudem, wzmocnienie tego, co dzieje się na linii SPI?
    W tej chwili piny są tak jak mi było wygodnie – pozmieniałem też w kodzie.
    Jeszcze zbadałem linie BCK, WS i DAT za pomocą LED podłączonej przez tranzystor: BCK daje ok 15-20% stałej jasności diody, DAT mruga aż miło, a WS cały czas się świeci – czy WS nie powinna mrugać 8 razy wolniej niż DAT?

    Co się dzieje jak odtwarza(nagrane dyktafonem w Androidzie): https://instaud.io/wr5 (przerwy to kolejne utwory, nic się nie zmienia jak zmieniam wartości rezystorów na wyjściu DAC).

    SCHEMAT:
    Obrazek

    PODŁĄCZENIE:
    Obrazek

    KOD:

    BIBLIOTEKI:
    Obrazek
    Używam kodu z GB p. Kardasia. Usunąłem bibliotekę do LCD, bo go nie używam(wszystkie wstawki w kodzie też). Usunąłem także zmianę jako wejścia/wyjścia PWM1 i PWM2 – wydaje mi się, że były to pozostałości z kodu w projekcie nr 14. Jeżeli przez wstawienie tego kodu tutaj naruszam prawa autorskie, to proszę o zwrócenie mi uwagi i natychmiast usunę ten kod.

    // a czytał kolega stopkę na dole pierwszej strony redakcyjnej? Pytasz się czy naruszasz prawa ? no to pomyśl chwilkę, jeśli tak każdy wstawi na forach kody z moich książek a inni sobie je przekopiują to po co im kupować książki ? ... i po co mi pisać z kolei następne książki - skoro takim sposobem wszyscy podzielą się kodami ? .... sorrry ale nawet nie wiem o co tu pytać :( mirekk36


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Konfiguracja pinów w i2s_cfg.h:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Konfiguracja pinów w mmc.c:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    OPIS DŁUGI:

    Zacząłem od projektu odtwarzającego wavy przez TDA1543 (projekt nr20 na płycie do GB). Podłączyłem identycznie jak wskazywał mi kod w C i… nie zadziałało. Mówię sobie no trudno, może taka bardziej skondensowana wersja (20a) będzie działać – tam obsługa I2S jest przeniesiona do pliku nagłówkowego - to schludniej, przejrzyściej i w ogóle profesjonalnie. Nadal nic. Myślę sobie – może jestem na to jeszcze za głupi – to zrobię coś prostszego, czyli projekt nr 14 – odtwarzanie przez PWM. Nie zadziałało.

    Jeśli chodzi o podłączenie elementów dyskretnych to testowałem różne sposoby znalezione dla tego DAC w Internecie oraz to co pokazał p. Kardaś w GB.

    O CO TU CHODZI:

    Część grająca jest tylko wycinkiem większego projektu, w którym będzie zastosowana.

    Założyłem sobie, że nie chcę robić odtwarzania przez PWM tylko od razu pójść w stronę DAC. Uparłem się przy tym też, że 16-bitowa rozdzielczość to jest to, w co chcę celować. Z racji tego, że DACi 16-bitowe aktualnie w sprzedaży są dosyć drogie (od 8-17zł w górę) to chcę zostać przy TDA1543, gdzie z Chin można go dostać już w cenie $0,15/szt. Co więcej ten TDA odbiera dane po I2S, co jest stosunkowo proste w obsłudze (z mojego punktu widzenia) wzg. SPI, I2C czy UART (nie miałem do czynienia jeszcze z żadnym standardem komunikacji).

    Proszę o uwagi i porady w tej kwestii - chętnie posłucham co doradzą mi bardziej doświadczeni w temacie, zwłaszcza jeżeli istnieje jakieś rozwiązanie w kwestii doboru DACa np. mniejsza rozdzielczość ale i tak dobra jakość przez zastosowanie wzmacniacza czy filtrów. Zamierzam zbudować więcej takich urządzeń a nie chciałbym, żeby DAC kosztował 20zł i był przez to jakąś znaczącą częścią w cenie urządzenia.
    Już prawie miesiąc mija, od kiedy do tego usiadłem, ale nie potrafię sobie z tym sam poradzić, a chciałbym w listopadzie mieć działający prototyp całości(czekam mnie jeszcze obsługa peryferiów po I2C).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 wrz 2016, o 17:35 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    ja bym zaczął od uporządkowania płytki, długie i przeplecione połączenia nie wpływają dobrze na układ, a często wręcz uniemożliwiają jego poprawną pracę.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 wrz 2016, o 18:08 
    Offline
    Nowy

    Dołączył(a): 13 sie 2016
    Posty: 3
    Pomógł: 0

    Dzięki za uwagę.
    Dostałem parę wskazówek i wygląda na to, że moja karta SD może mieć taki sobie czytnik - na linii MISO jest cały czas 1(sprawdziłem LED przez tranzystor). Na razie zakupiłem moduł atnela do kart uSD i w przyszłym tygodniu zobaczę, bo to pewnie wina właśnie braku porządnego sprzętu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 9 wrz 2016, o 20:56 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 30 cze 2016
    Posty: 247
    Lokalizacja: Rybnik
    Pomógł: 13

    Wepnij kondenstator równolegle do głośnika

    _________________
    Situs != Situs



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 wrz 2016, o 13:59 
    Offline
    Nowy

    Dołączył(a): 13 sie 2016
    Posty: 3
    Pomógł: 0

    Kondensator nic nie dał. Sprawdzałem z 1nF oraz 100nF.

    Po wymianie czytnika uSD na atnelowski, najlepszy efekt jaki udało mi się uzyskać na głośnikach komputerowych to głośny szum z wyraźną przerwą po końcu pliku. Wnioskuje z tego, że sys. plików jest ok, próbka dźwięku jest rozpoznana jako wave i program próbuje to odtworzyć przez DAC. Wydaje mi się w takim razie, że mogłem skopać część analogową przy DACu, albo wszystkie 5 sztuk jakie posiadam są wadliwe.
    CHOCIAŻ na zwykłym 4 ohmowym głośniku nic nie słychać, więc już nie jestem tutaj niczego pewien. Zwłaszcza, że projekt 14(wave przez PWM) też mi nie działa.

    Update:

    Udało mi się uruchomić program z lekcji 14 (wave przez PWM) i jestem zadowolony z jakości dźwięku. Wygląda na to, że wystarczy mi 8-bitowa jakość.
    Na razie nie będę dłużej walczył z tym DACiem.
    Dziękuję za uwagi i zainteresowanie tematem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO