logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sprawdzenie schematu przedwzmacniacza 5.1 z TDA7314 i ATmega

P.Dzidowski 27 Lip 2006 13:40 3657 19
  • #1 2855691
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Witam

    Zaprojektowałem taki przedwzmacniacz surround.

    3 procesory tda7314 sterowane 2 ATmegami - jedna ma za mało wyjść/wejść.

    Prosze o sprawdzenie tego układu czy nie zrobiłem gdzieś błędu.
    Chce się upewnić zanim będe projektował płytkę :)
    Niektórych części nie mam jeszcze na tym schemacie - przedwzmacniacza RIAA, wzmacniacza słuchawkowego i sumy stereo na subwoofer ale to raczej proste rzeczy:)


    Dodam że przedwzmacniacz będzie sterował końcówką 5x TDA7294
    Pozdrawiam

    Schemat do protela jest ostatni:

    Jako że dostałem informację że z formatem PNG są problemy zmieniam na BMP
    Załączniki:
    • Przedwzmacniacz bmp.rar (104.1 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Przedwzmacniacz.rar (198 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • #2 2873204
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Naprawdę nikt mi tego nie sprawdzi??

    pozdrawiam
  • #3 2873375
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    Witam
    Niestety nie mam zbyt dużo czasu, żeby wgryzać sie w szczegóły twojego schematu. Moim skromnym zadniem (i tylko moim) masz nieco błędów w projekcie (mogą być duże kłopoty z uruchomieniem). I pamiętaj - nie należy bazować na możliwości włączenia w procesorze wewnętrzego podciągnięcia pinu wejściowego do plusa (takie założenie potem powoduje bardzo łatwe zakłócanie się procesora) - zawsze lepiej zastosować opornik (np. odbiornik IR).
    Poza tym układ jest (przepraszam - moim zdaniem) nieoptymalnie zaprojektowany. Szkoda marnować energię i czas na pisanie komunikacji między procesorami. Szkoda marnować aż 11 linii na pełne podpięcie wyświetlacza alfanumerycznego LCD (równie dobrze wystarczy 6 - a jak zabraknie pinów to nawet czasem tylko 2 wystarczą). Brak odpowiedniej ilości pinów nie jest w ogóle problemem - zastosowanie rejestrów przesuwnych jest tutaj jak najbardziej odpowiednie (bardzo tanio i dokłada zaledwie kilka bajtów w programie, a do n-klawiszy czy wyjść ciągnie sie tylko 4 linie od procesora). W układzie sterowania przedwzmacniaczem procesor i tak nie ma co robić.
    Zastosowanie przekaźników jako przełączników wejść - może i tanie, ale znacznie lepiej położyć klucze elektroniczne (nie będzie póżniej problemów z mechanicznymi stykami - zaśniedzienie, zły kontakt, trzaski, mechaniczne wypracowanie itp.). Na dokładkę mniej miejsca i mniej prądu... Nie warto stosować na siłę tranzystorów do multipleksowania transmisji I2C. I tak potrzeba pinu do sterowania, więc lepiej załatwić to programowo. No i muszą być oporniki podciągające na obu liniach: SCK i SDA ...
    Przepraszam, że nie do końca napiszę co trzeba i można zrobić. Jeśli zależy ci na moim zdaniu i chcesz poprawić i uprościć konstrukcję i jednocześnie ułatwić sobie oprogramowanie - proponuję spotkanie na Skypie, bo niezbyt lubię dużo pisać. Łatwiej jest po prostu powiedzieć i sporo objaśnić, zamiast dużo napisać...Sorry...
    Pozdrawiam
  • #4 2874910
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Dziękuję za odpowiedź.

    Część błędów już poprawiłem sam.

    Dodaje mały update z aktualnymi schematami (doszedłem do tego jak zrobić pdf :)
    Załączniki:
    • Schematy.rar (113.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #5 2875435
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    Niestety, większości tych błędów, które udało mi się zauważyć, nie usunąłeś. Na przykład podpięcie klawiszy do +5V nie pozwoli w ogóle ich odczytać (o ile nie dołączysz dodatkowych rezystorów). Tranzystory Q1...Q3 wprowadzają tylko zamieszanie - łatwiej ci będzie w przyszłości opanować soft kierujący transmisję I2C na różne piny, niż potem walczyć z hardwarem. Połączenie między procesorami nie będzie działać - nigdzie nie ma podciągnięcia połączonych kolektorów do +. Odbiornik podczerwieni (o czym już wyżej wspomniałem...) SFH ma wyjście OC - w aplikacjach zalecane jest podpięcie go do +5V opornikiem 1k - oczywiście można wykorzystać wewn. podciągnięcie procesora - ale ono wynosi ok. 50k i może to powodować kłopoty z transmisją. I wiele innych...
    Naprawdę - przemyśl moją poprzednią podpowiedź i zmodyfikuj założenia (dobrze radzę - z wielu lat praktyki tworzenia przemysłowych mierników procesorowych i systemów sterowania). Ja wiem, że często trudno zrezygnować z jakiejś części swojego pomysłu, ale uwierz, łatwiej pozbyć się wszelkich wątpliwości na etapie rysunku na papierze, niż potem walczyć z uruchomieniem i oprogramowaniem układu, usiłując softem zlikwidować problemy hardware'u...
    Ale to tylko moja nieśmiała propozycja...
    Pozdrawiam
  • #6 2876016
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Ok, tych przycisków na 5V nie byłem pewny, teraz już wiem jak :) zaraz je poprawie. Co do przełączania I2C to nie bardzo rozumiem - ATmega ma przecież tylko 1 to wyprowadzenie. Co do użycia tylko jednego uP to kombinowałem z przerzutnikami latche D ale one mają fatalnie rozłożone piny - trzebaby robić mnóstwo zworek. Jaki ma Pan inny pomysł na rozszezenie ilości wyjść?
    I jak można podpiąć LCD tak jak Pan wcześniej pisał - nie wszystkimi liniami - które mam podpiąć, a które zostawić?
    Pozdrawiam

    Znowu kilka poprawek:
    Załączniki:
    • ATmega.pdf (22.22 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #7 2876162
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    O'K
    Powoli.
    Najpierw I2C: fakt, sprzętowe I2C w procesorach ma tylko ściśle określone, konkretne wyjście. Ale jak napisałem - warto uprościć hardware kosztem softu (procesor i tak nie ma tu praktycznie nic do roboty). To znaczy: procedury I2C napisać samodzielnie na piechotę, obsługujące transmisję software-owo na różnych pinach - trochę więcej roboty, ale jak upraszcza hardware! Nawet gdzieś w sąsiednich postach o wzm. 5.1 ktoś zamieścił pełne procedury właśnie takiego podejścia do sprawy! Tylko brać!
    Ograniczone ilości pinów: absolutnie nie pojedyncze zatrzski D, bo będzie się można spłakać robiąc płytkę. Mówiłem o rejestrach przesuwnych: np. 74HC595 jako rejestry wyjść oraz np. 74HC165 jako obsługa wielkiej ilości wejść. W ten sposób zaledwie kilkoma liniami procesora można sobie pobierać stany n-klawiszy (8,16,24....) jak i wysterowywać dowolną liczbę wyjść (8,16,24...). Bardzo proste procedurki w sofcie!
    Klawisze i inne wejścia: dalej z uporem maniaka zalecam zewnętrzne rezystory podciągające!
    LCD: podpięcie 4-bitowe (dające w sumie 6 pinów na procesorze) przy obsłudze LCD są typowe. Każdy znaleziony opis sposobu połączenia i programowania LCD opisuje podpięcia pełne (8 bitowe) jak i 4 bitowe, które daje absolutnie wszystkie takie same możliwości jak 8-bitowe. (podpowiedź: podpięte:E, RS, 4 wyższe bity, 4 niższe=0, sygnał WR=0 - trzeba tylko wówczas nieco zwolnić obsługę wyświetlacza, bo nie ma możliwości pollingu; w sumie 6 lini procesora).
    Sorry nie mam specjalnie teraz czasu na więcej piania. Poprawek powinno być dużo.
    Informacji do przekazania sporo - naprawdę zbyt dużo pisania - lepiej porozmawiać - szybciej, prościej i znacznie więcej informacji i łatwa korekta projektu...
    Pozdrawiam
  • #8 2876224
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    OK

    Dołożyłem pullupy, i zmniejszyłem ilość linii do LCD, musze jeszcze opanować te rejestry przesuwne. Czy do każdego potrzeba ciągnąć wszystkie podłączenia czy mozna je jakoś "uwspólnić"? A co do I2C to mam podłączyć te dwa inne SDA gdziekolwiek? SCL wystarczy jedno na trzy układy?

    Przepraszam że tyle pytań, ale w uProcesorach jestem zielony :)
    Co do rozmowy - nie mam zainstalowanego skype i musiałbym szukac mikrofonu. Ale chętnie pogadałbym przez GG - zawsze to wygodniej niż na forum :)
    Pozdrawiam
  • #9 2876303
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    O'K. Zapraszam na GG. Ale w związku z tym, że włączam je tylko gdy potrzebne, to musisz wcześniej się umówić - wyłącznie mail.
    I2C: Może być wspólna linia SCK i różne linie SDA (oczywiście zarówno SDA jak i SCK będą musiały być obsłużone przez soft ręcznie napisany - nie będzie można korzystać z I2C sprzętowego).
    Rejestry przesuwne: wyjściowe oczywiście szeregowo i odrębnie rejestry wejściowe też szeregowo. A dalej można różnie podłączać, np. wspólny Clock, Data Out, DataIn oraz wspólny Strobe (uwaga na poziomy i zbocza) i jednocześnie prowadzić zapis i odczyt rejestrów (daje to w sumie tylko 4 linie do obsługi n wejść i m wyjść JEDNOCZEŚNIE - np. 32 wejścia i 16 wyjść...).
    Pozdrawiam
  • #10 2876925
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Myśle że już większość mam poprawioną. Nie wiem tylko jak podłączyć pozostałe piny rejestrów wyjściowych. Zostały mi też puste piny 7 rejestrów wejściowych. Co z tym mam zrobić?

    Pozdrawiam


    Aktualne schematy:

    Update:
    Podłączyłem tak "na oko" - jest to dobrze? dalej nie wiem co zrobić z master reset.

    Schemat zmieniłem na poprawiony

    I następna poprawka :)
    Załączniki:
    • Schematy.rar (117.01 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • Pomocny post
    #11 2878702
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    Mniej więcej o to chodziło. Nawet zostały ci wolne piny na procesorze :D
    Ale jeszcze:
    - odbiornik podczerwieni raczej nie powinien być przeprowadzany przez rejestr wejściowy, tylko podłączony bezpośrednio pod procesor i to najlepiej pod któreś z wejść przerywających
    - podobnie impulsator - też nie przez rejestr!!!
    - diody świecące są podpięte nie w tym kierunku :D
    - do procesora podłączasz jakiś czujnik temperatury, ale nie masz na złączu napięcia zasilania (zresztą nie wiem, co chcesz tam podłączyć)
    - wolne piny danych na wyświetlaczu LCD najlepiej podłączyć do masy; w ogóle należy pamiętać, że ŻADNE WEJścia typu cmos nie należy pozostawiać wiszące w powietrzu! Nie wykorzystane podpinać do masy lub plusa.
    - pamiętać o kondensatorach filtowania zasilania przy każdym układzie!
    - coś masz namieszane z rysunkiem rejestru 74HC595 - nie takie opisy pinów wejściwych!!!; musisz to poprawić, zrozumieć zasadę działania i wtedy nie będziesz miał problemu z pozostającymi wolnymi pinami na rejestrze - nie powinno ci zostać nic nie wykorzystanego; a opisy pinów jakie masz, tylko wprowadzają zamieszanie - są złe!
    - pin 7 rejestru wejściowego to wyjście - może pozostać woly, bo korzystamy albo z 9 albo z 7
    To tyle na szybko. Przepraszam, nie wgryzam się w szczegóły dotyczące podłączeń i aplikacji układów audio - o ile zgodne z dokumentacją, to nie ma co gadać. Podobnie nie będę patrzał na podłączenia przełączników audio. Acha - pamiętać należy, że układy ULN (drivery do przekaźników) mają napięcia nasycenia rzędu 1V. W związku z tym przekażniki otrzymają nie 5V, a około 4V. Nie powinno być problemów, ale zawsze lepiej sprawdzić w danych przekaźników, od jakiego napięcia jest gwarantowanie zadziałanie. A może jednak lepiej zastosować klucze analogowe - typu np. CD4051? (ale uwaga na aplikację) Na pewno lepiej będą przełączane sygnały analogowe, będzie taniej niż przekaźniki, a dodatkowo nie potrzebne będą drivery ULN i tyle wyjść z rejestrów (4051 ma wejścia adresowe do kluczy) i prawie zerowy pobór mocy z zasilania :D
    Pozdrawiam
  • #12 2880208
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Witam

    Dziękuję bardzo za pomoc.
    Jeszcze tylko takie pytanie - które to wejścia przerywające - nie bardzo to rozumiem.
    Co do rysunku 74hc595 - ja go nie malowałem - taki jest w bibliotece protela, a jak działa to rozumiem mniej więcej :)
    LED - nie wiem jak tego nie zauważyłem :)

    Przekaźniki i ULN mam już kupione, chociaż tak jak patrzę na tego cd4051 to nie wiem czy jednak na tym przełączania nie zrobie... płytka by się dużo uprościła, tylko ze nie wiem jak jest w praktyce z jakością - nie wprowadza to szumów, przesłuchów itd?

    A czujniki temperatury to będą 2 proste kty83 albo coś podobnego i podłączone do ADC w atmedze.
    Aha, czy pin ADCref ma być podłączony do masy?

    Pozdrawiam
  • #13 2884336
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Witam

    Praktycznie wszystkie problemy mam rozwiązane :)

    Prosiłbym jednak żeby ktoś jeszcze to przejżał - zawsze to lepiej mieć opinie od kilku osób :)

    Pozatym pytałem się jeszcze o te rejestry przesówne mojego tatę - inżynier elektronik - i stwierdził że te wejściowe nie będą działać i że powinien tam być multiplekser. I kto ma rację? ;)

    Pozdrawiam
    Załączniki:
    • Schematy.rar (110.5 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #14 2884542
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    W dalszym ciągu jeszcze są błędy (niestety)
    1) rejestry przesuwne wyjściowe: wejścia resetu (pin10 układów 74HC595: U4 i U2) NIE mogą wisieć w powietrzu - pisałem już przecież, że dla układów CMOS żadne wejście nie może wisieć w powietrzu! (co było dozwolone dla TTL w zeszłym wieku, nie jest możliwe dla CMOS!!!)
    2) to samo dla rejestrów wejściowych - wolne wejścia NIE mogą wisieć w powietrzu - trzeba je dołączyć do plusa albo uziemić.
    Nie wiem, czy to wszystko, potrzeba trochę więcej czasu (a ja go nie bardzo mam) na analizę.
    Inne propozycja :np. zamiast przekaźnika EQ może warto zastosować CD4053 ? (tak jak przekaźniki wejściowe warto było zastąpić CD4051)

    A co do rejestrów przesuwnych na odczycie klawiatury: niektóre z urządzeń produkowanych seryjne w mojej firmie ma właśnie tak stworzone wprowadzanie danych. Może urządzenia nie wiedzą, że nie powinny funkcjonować i na przekór wszystkim działają?

    Pozdrawiam.
  • #15 2884818
    P.Dzidowski
    Poziom 12  
    Posty: 57
    Ocena: 1
    Dziękuję bardzo za pomoc.

    Poprawiłem i jutro zabieram się za projektowanie płytki :)
    Odezwę się jak będzie juz sprzęt gotowy :)

    Pozdrawiam
    Załączniki:
    • Schematy.rar (111.26 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #16 4632024
    Dyras
    Poziom 13  
    Posty: 90
    Ocena: 4
    Witam w moim projekcje przedwzmacniacza 5.1 chcę podłączyć kostki tda do jednego źródła dźwięku. (schemat w załączniku). I teraz chcę się upewnić czy nie będzie to dużym obciązeniem dla źródła dźwięku... rezystanja wejściowa jednego tadka to ok 50kOhm... wypadkowa dla trzech połączonych równolegle 16kOhm. Czy taka rezystancja wejściowa jest dopuszczalna?
    Załączniki:
    • Sprawdzenie schematu przedwzmacniacza 5.1 z TDA7314 i ATmega przedwzm.jpg (93.73 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #17 4670571
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    Wszystko zależy od tego, gdzie to ma być podłączone i jaka jest rezystancja wyjściowa źródła. Jeżeli nie za bardzo wiadomo co będzie źródłem sygnału (albo nic nie wiadomo n.t. rezystancji wyjściowej źródła) to poświęcić nieco czasu i dołożyć zwykły wtórnik napięciowy o odpowiednio dużej rezystancji wejściowej, sterujący twoim zespołem układów TDA.
    Pozdrawiam
  • #18 4672201
    Dyras
    Poziom 13  
    Posty: 90
    Ocena: 4
    źródłem dźwięku będzie karta komputerowa :)
  • #19 4674697
    Witgol
    Poziom 20  
    Posty: 208
    Pomógł: 37
    Ocena: 7
    Sorry - karta komputerowa karcie komputerowej nie równa...
    Po prostu musisz wiedzieć, jaka jest oporność wyjściowa karty...
    No, chyba że karta ma wyjście na głośniki (wbudowany wzmacniacz) wtedy bez problemu możesz to podłączyć. Ale takie karty mają słabą jakość sygnału wyjściowego...
    Co do wyjść z kart bez wzmacniacza, to są tak różne, że po prostu musisz wiedzieć albo sprawdzić w danych technicznych karty.
    Cociaż nie wydaje mi się, żeby był jakikolwiek problem z rezystancją wejściową twojego układu i dopasowaniem do karty...
    Tym nie mniej trzeba sprawdzić, co ma karta...
    I nie pisz, jaki to typ karty, bo to mi niewiele powie (i tak nie będę znał schematu układu wyjściowego karty).
    Pozdrawiam.
  • #20 4674749
    Dyras
    Poziom 13  
    Posty: 90
    Ocena: 4
    Dzięki za informacje.
    Pozdrawiam.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy projektu przedwzmacniacza surround 5.1 wykorzystującego trzy układy TDA7314 sterowane dwoma mikrokontrolerami ATmega, z planowanym wzmacniaczem końcowym na pięciu TDA7294. Autor prosi o weryfikację schematu przed wykonaniem płytki PCB. Wskazano błędy w projekcie, takie jak niewłaściwe podłączenie przycisków bez rezystorów podciągających, wiszące wejścia w układach CMOS (np. rejestrach przesuwnych 74HC595), niepoprawne kierunki diod LED oraz brak filtracji zasilania. Zasugerowano stosowanie zewnętrznych rezystorów pull-up zamiast polegania na wewnętrznych podciągnięciach mikrokontrolera, a także uproszczenie komunikacji między procesorami poprzez programową implementację I2C na dowolnych pinach (bit-banging). W celu rozszerzenia liczby wejść i wyjść rekomendowano użycie rejestrów przesuwnych 74HC595 (wyjścia) i 74HC165 (wejścia) zamiast pojedynczych przerzutników D, z uwzględnieniem prawidłowego podłączenia pinów resetu i pozostałych nieużywanych wejść. Poruszono temat podłączenia wyświetlacza LCD z ograniczoną liczbą linii oraz prawidłowego wykorzystania wejść przerwań mikrokontrolera do obsługi odbiornika podczerwieni i impulsatora. Wskazano możliwość zastąpienia przekaźników układami analogowymi CD4051/CD4053 dla uproszczenia płytki. W dalszej części dyskusji poruszono kwestię obciążenia źródła sygnału (karta dźwiękowa) przez równoległe połączenie kilku układów TDA7314, sugerując zastosowanie bufora (wtórnika napięciowego) dla zapewnienia odpowiedniej impedancji wejściowej. Podkreślono konieczność znajomości rezystancji wyjściowej źródła sygnału dla prawidłowego dopasowania. Ostatecznie autor wprowadził poprawki i planuje rozpocząć projektowanie płytki PCB.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA