Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

katakrowa 20 Feb 2018 01:04 12123 32
Automation24
  • Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem
    Po kilku tygodniach zmagań udało się ukończyć projekt wzmacniacza wraz ze sterownikiem. Mimo, że podczas realizacji tego projektu nie "odkryłem Ameryki", a wykorzystana technologia ma już swoje lata, to i tak temat wydał mi się być na tyle ciekawy, że postanowiłem go "na nowo" zgłębić, dodając małe drobiazgi jak programowanie pilota czy funkcje "fadeIN" oraz "fadeOut" wykorzystywane podczas pracy wzmacniacza lub sterowanie dwoma parami kolumn. W internecie jest trochę podobnych rozwiązań, jednak nigdzie nie znalazłem dokumentacji, która opisywałaby temat od początku do końca. Gdzieś się znajdzie sam potencjometr, gdzieś indziej selektor, jeszcze w innym miejscu obsługa pilota, ale już z potencjometrem mechanicznym, itd. Oczywiście praktycznie nikt (poza jednym artykułem w EP) nie chcę udostępnić pełnych kodów źródłowych tak, jakby zawierały one jakieś strzeżone tajemnice. :-)
    Ponieważ kilka wzmacniaczy już zbudowałem i wiem, że jeśli chcemy zbudować urządzenie praktyczne, to nie składa się on tylko z zasilacza i końcówek mocy, dlatego już jakiś czas temu zbudowałem "skromniejsze" wersje sterowników:
    a) Link 1
    b) Link 2
    Te po kilku miesiącach dość intensywnego używania okazały się być niezawodne i co najważniejsze - zdecydowanie ułatwiające życie.
    Dlatego postanowiłem poprawić swój błąd i dodać do sterownika funkcje, których mi brakowało. Jedna z nich i ta najbardziej motywująca do wykonania projektu to zastosowanie potencjometrów cyfrowych zamiast tradycyjnych. Zalet ich zastosowania jest kilka:
    - parametry takich potencjometrów są wiele lepsze od najbardziej zaawansowanych potencjometrów analogowych stosowanych w audio;
    - podczas projektowania obudowy nie musimy walczyć z prowadzeniem sygnału na panel frontowy (lub wykonywać mechanicznych przedłużek), czym mocno zmniejszamy prawdopodobieństwo zakłócenia sygnału audio;
    - dają możliwość sterowania z pilota bez konieczności używania silnika.

    Wstęp
    Zanim rozpocząłem projektowanie, długo zastanawiałem się, co tak właściwie chcę uzyskać, budując nowy sterownik i jakie nadać mu funkcjonalności? Rozważałem zbudowanie sterowania na Raspberry PI z zainstalowanym Volumio lub stosując jakieś rozwiązanie na innej platformie ARM. Wówczas mnogość bibliotek do sterowania po WiFi czy też przy użyciu pilota, obsługi sieci itd. dawała spore możliwości włącznie z możliwością wbudowania odtwarzacza sieciowego. Przy tych rozważaniach ciężko było jednak określić, co tak właściwie z tego powstanie - czy to będzie wzmacniacz zintegrowany z odtwarzaczem, czy tylko wzmacniacz z sensownym sterowaniem.
    Ostatecznie z dwóch powodów zdecydowałem odrzucić koncepcję Raspberry. Pierwszy to "zbyt łatwo", bo właściwie w elektronice już nie byłoby co robić i zostało właściwie samo programowanie (co mnie osobiście nudzi), po drugie sam wzmacniacz jest urządzeniem bardziej uniwersalnym, a Raspberry zawsze można do niego podłączyć, więc postanowiłem zrobić coś "klasycznego" zamiast kombinować.
    Wykluła się więc koncepcja budowy "klasycznego" wzmacniacza stereo z kompletnym i funkcjonalnym sterownikiem. Wstępnie powstała idea zbudowania sterownika składającego się z jednego modułu - jednak po kilku próbach i dodatkowych przemyśleniach na temat możliwości ułożenia elementów w obudowie, a także kilku rysunkach i przymiarkach, idealna wydała się być koncepcja zbudowania trzech osobnych współpracujących ze sobą elementów, są to:
    - modułu zasilający;
    - sterownik wykonawczy "slave";
    - panel sterujący "master".
    Dodatkową zaletą tego rozwiązania jest to, że każdy z modułów może działać niezależnie w innym projekcie. Zasilacz nie wymaga sterowników, a sterownik może być zasilany dowolnym innym zasilaczem. Panel frontowy "master" można zastąpić czymkolwiek, co komunikuje się po RS232/UART np. Arduino, Raspberry Pi czy nawet zwykły komputer z konsolą tekstową... Wszystko dlatego, że cały czas to Raspberry chodziło mi po głowie. :-)

    Sugerowany układ elementów w obudowie
    Wspomniałem wcześniej, że ilość modułów wynika z możliwości ułożenia wszystkiego w optymalny sposób w jednej obudowie.
    Zacząłem planowanie od potencjalnie najprawdopodobniejszego układu elementów. Na tym etapie pod uwagę brałem, żeby:
    - połączenia sygnałowe były możliwie najkrótsze,
    - zasilanie końcówek mocy było możliwie najdalej od połączeń sygnałowych,
    - wykorzystać radiatory jako ekran oddzielający końcówki od trafo,
    - kable sterujące i zasilające nie utworzyły pajęczyny rozlewającej się po całej obudowie,
    - była możliwość zamontowania wszystkiego w obudowie RACK2U na ściankach bocznych tak, by pozostawić w środku jak najwięcej miejsca na końcówki mocy, radiatory i trafo,
    - prowadzić zasilanie i masy w taki sposób, by nie powstały pętle masy.
    Finalnie postanowiłem, że wszystkie elementy układu będą montowane na ściankach bocznych, tym samym pozostawiając w obudowie maksymalną ilość miejsca na transformatory, radiatory i końcówki mocy (oczywiście to nie jest obowiązek). Zamontowanie sterownika na tylnej ściance dodatkowo powoduje, że długość połączeń pomiędzy gniazdami wejściowymi RCA a płytką PCB jest minimalna a krótsze można uzyskać jedynie poprzez montaż RCA na PCB - ja się na to jednak nie zdecydowałem z dwóch powodów: pierwszy to o dziwo słaba dostępność złącz do druku 3x2 dobrej jakości i w rozsądnej cenie, a drugi - ich zastosowanie może wymagać wiercenia "kwadratowych otworów" w obudowie, co też jest zwykle bardzo kłopotliwe, aby uzyskać estetyczny efekt końcowy.
    Przykładowe przymiarki w obudowie RACK:
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Prowadzenie masy
    Sposób prowadzenia masy przedstawia poniższy rysunek. Szczegółowo widać wszystko także na schematach. Jenak ogólnie przed projektowaniem modułów rozrysowałem sobie wszystkie bloki i zacząłem rozprowadzać między nimi masę. Trzeba pamiętać, że w tym projekcie występują trzy różne:
    - GND masa analogowa zasilacza końcówek mocy;
    - GNDA masa analogowa dla przedwzmacniacza łączy się z masą wejściową złącz RCA;
    - GNDD masa cyfrowa dla uC i całej części sterującej - nie łączy się z układami analogowymi.
    Na poniższym schemacie widać, że jedyne połączenie mas GND z GNDA występuje w końcówkach mocy, jednak dzięki temu, że w zasilaczu różne masy nie mają punktów wspólnych, uniknęliśmy powstania pętli.
    Sygnał głośnikowy choć wraca na płytkę "slave", to nigdzie nie łączy się z pozostałymi masami. Moduł przełączników wyjść jest całkowicie odseparowany od układu (slave).
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Moduł zasilania:
    Zadania dla tego modułu są dość oczywiste. Jego funkcje to:
    - zasilacz symetryczny dla końcówki mocy (50W - 300W);
    - zasilacz symetryczny dla elementów toru audio +/- 12V;
    - zasilacz dla obsługi części cyfrowej (5V CPU, 12V przekaźniki);
    - rozdzielenie napięć oraz masy cyfrowej od analogowej poprzez zastosowanie osobnych układów filtrujących i stabilizujących oraz dwóch dławików, których co do zastosowania w sumie nie jestem przekonany, choć takie rozwiązania sugerowały pewne projekty znalezione w Google;
    - możliwość sterowania zasilaniem końcówek mocy poprzez sygnał standBy;
    - szybkie odłączanie napięcia 12V dla części cyfrowej;
    - soft-start dla obsługi zasilacza końcówek mocy;
    - obsługa sygnału "standby", który przy stanie niskim wyłącza zasilanie końcówek mocy (domyślnie wyłączony). Podanie napięcia 5V na pin 1 złącza CN1 powoduje włączenie zasilania. Odpowiedzialne za tą funkcję są T2, R11, P2, D1;
    Zasilacz dostarcza napięcia:
    - Digital 12V stabilizowane z szybkim odłączaniem po zaniku zasilania. Funkcjonalność ta powoduje natychmiastowe wyłączenie wszystkich przekaźników po zaniku napięcia;
    Elementy odpowiadające za szybkie odłączanie to: T1, R8, R9, C10, Dx w ich pobliżu.
    - Digital 5V stabilizowane;
    - +/- 17V tylko wyprostowane i filtrowane z jednej gałęzi transformatora 2x12V (niewykorzystane w tym projekcie).

    Moduł sterownika "slave":
    Funkcje:
    - selektor wejść [brak,1,2,3] (3 wejścia stereo);
    - przedwzmacniacz wejściowy OPA2134A (wskazane użycie na potrzeby potencjometra cyfrowego);
    - sterowanie głośnością za pośrednictwem układów CS3310, PGA2311 lub po drobnych zmianach zasilania PGA2310;
    - selektor wyjść głośnikowych [brak,A,B,A+B];
    - opóźnione załączanie głośników;
    - szybkie odłączanie głośników w przypadku zaniku zasilania (zrealizowane na płytce zasilacza, jednak tutaj wykorzystywane);
    - w związku z zastosowaniem potencjometrów cyfrowych powstała możliwość realizacji wyciszania sygnału na "ułamek sekundy" podczas przełączania źródeł dźwięku lub kolumn. Zastosowane układy wyposażone są w funkcję MUTE, która podczas aktywacji lub dezaktywacji potrafi wykrywać moment przejścia sygnału przez "0", tym samym wykluczając możliwość powstawania charakterystycznych "stuknięć" podczas zmiany jej stanu - funkcja te jest oprogramowana, jednak ja przy każdej takiej zmianie używam funkcji fadeOut i fadeIn, która daje o wiele przyjemniejszy efekt;
    - wyjście słuchawkowe wyprowadzone z końcówek mocy;
    - szybkie odłączanie głośników po zaniku zasilania (odłączenie napięcia 12V dla przekaźników);
    - podczas przełączania wyjść głośnikowych lub źródła następuje szybkie, ale płynne wygłuszenie do 0, a następnie płynny powrót do ustalonej głośności. Eliminuje to przedostawanie się wszelkich stuknięć i pstryknięć podczas przełączania mechanicznych przekaźników a także stuknięć w przypadku przełączenia się na źródło w momencie, gdy jest w "wysokiej pozycji". Dodatkowo podczas przełączania sterownik czeka około 10ms, aby wyeliminować przedostanie się do wzmacniacza ewentualnych śmieci wynikających z drgań styków;
    - gładkie przejście do funkcji mute oraz gładki powrót,
    - gładkie przejście do ostatnio ustawionej głośności po włączeniu zasilania;
    - gładkie wyciszenie przed przejściem w tryb standby.
    Moduł ten może być wykorzystany z modułem zasilania w dowolnym innym projekcie, zastępując moduł "master" własnym modułem działającym w oparciu o Arduino, Raspberry Pi lub jakąkolwiek inną platformę - np. aplikację w komputerze. Możliwości takie powstały dzięki temu, że moduł zarządzany/sterowany jest za pośrednictwem portu szeregowego. W taki też sposób komunikuje się z panelem "master". Komunikacja odbywa się przy użyciu banalnego wręcz protokołu tekstowego.
    Na etapie testów, zanim zrobiłem obsługę panel "master" do sterowania, wykorzystałem port szeregowy w komputerze i klasyczny terminal (parametry transmisji to 57600 8N1). Do zasilenia modułu potrzebujemy napięcia +/- 9V oraz 5V. W przypadku zastosowania PGA2310 zalecane jest użycie napięcia +/- 15V i wymiana stabilizatorów na 7812 oraz 7912.

    Protokół komunikacji ze "slave":
    
    Format ramki:
    ~~~~~~~~~~~~~
    
    Komendy oparte o protokół tekstowy. Każdy rozkaz ma długośc 5 bajtów:
    [xnn]
    [ = początek ramki ( także resetuje znacznik pozycji w odczytywanej ramce )
    ] = koniec ramki
    x - kod rozkazu
    nn - wartość w HEX ( cyfry i wielkie litery )
    
    Rozkazy:
    ~~~~~~~~~~~~~
    
    1. Selekcja wejścia :
    [I0x]
    Gdzie x = 0,1,2,3 ( 0 wszyskie wyłączone )
    
    2. Selekcja wyjść A,B :
    [O0x]
    Gdzie x = 0,1,2,3 ( 0 wszyskie wyłączone, 3 A i B włączone )
    1 - B
    2 - A
    
    3. Ustawianie głosności w obu kanałach z uwzg. balansu
    [Vxx]
    Gdzie xx = 0..FF ( 0 cisza, FF to maximum )
    
    4. Ustawianie głosności w lewym kanałale
    [Lxx]
    Gdzie xx = 0..FF ( 0 cisza, FF to maximum )
    
    5. Ustawianie głosności w prawym kanałale
    [Rxx]
    Gdzie xx = 0..FF ( 0 cisza, FF to maximum )
    
    6. Ustawianie sygnału sterującego stanby
    [S0x]
    Gdzie x = 0 lub 1 ( 0 - napięcie trafo odłączone, 1 - trafo włączone )
    
    7. Volume Fade to ...
    [Fxx]
    Gdzie xx = 0..FF ( 0 cisza, 0xFF to maximum )
    
    8. Ustawianie balansu
    [Bxx]
    Gdzie xx = 0..100 ( 0x00 to 100% kanał lewy, 0x64 to 100% kanał prawy, 0x32 = środek )
    
    9. Ustawianie pinu "extra"
    [X0x]
    Gdzie x = 0 | 1
    
    Sterownik zwraca :
    # - jesli rozkaz wykonany ;
    ! - jesli błąd odczytu ramki ;
    


    Na płytce slave zrobiłem jeszcze kawałek "płytki uniwersalnej" oraz wyprowadzenie wyjścia EXT. Jeszcze nie wiem, czy to kiedyś wykorzystam, ale niech będzie. :-) Można to użyć np. do wykrywania podłączenia słuchawek i powiązać z akcją odłączania głośników. Ja jednak tego nie robię, bo gniazdka słuchawkowe, których używam i tak nie mają tej opcji - z drugiej strony jest możliwość wyłączenia głośników za pomocą pilota czy opcji dostępnych z menu.
    Moduł sterownika "master":
    "Master" to nic innego jak "panel frontowy". Zanim powstał ostateczny koncept mnożyły się różne pomysły związane z tym, czy powinny być guziki, pokrętła, czy może sam pilot, a jeśli guziki, to ile, jakie i z jakimi funkcjami itd... Jak sygnalizować stan wejść itd...
    Finalnie zdecydowałem, że na froncie wzmacniacza będzie tylko jedno pokrętło i wyświetlacz LCD. Trochę minimalistycznie, ale nie znaczy to, że skromnie, jeśli chodzi o funkcjonalność. Zastosowałem enkoder z przyciskiem, a tak "zaawansowane pokrętło" daje możliwości realizacji każdej funkcji, jaką sobie tylko wymyślimy. Ja, choć koła ponownie nie odkryłem, to wymyśliłem to sobie tak:
    - po włączeniu wzmacniacza do 230V uruchamia się on w trybie "stanby";
    - naciśnięcie przycisku enkodera powoduje przejście to trybu "pracy";
    - w trybie pracy naciskanie przycisku enkodera powoduje przechodzenie między kolejnymi opcjami menu;
    - wyłączenie wzmacniacza następuje przez przytrzymanie przycisku przez ~1,5s (przejście w tryb standby);
    - moduł obsługuje także piloty w standardzie RC5. Przytrzymanie przycisku enkodera podczas podłączania zasilania wywołuje tryb "programowania" pilota.
    Dodatkowe ciekawe funkcje to:
    - płynne zwiększanie głośności po włączeniu wzmacniacza;
    - płynne zmniejszanie głośności przed przejściem w tryb stanby;
    - możliwość ustalenia limitu głośności;
    - możliwość ustawienia poziomu minimalnej głośności. Ta opcja może wydawać się dziwna, ale przy zastosowanych potencjometrach, które mają tłumienie na poziomie -96dB nabiera to sensu - ponieważ jak ktoś zostawi nam wzmacniacz na tym poziomie, to dłuuugo poczekamy, trzymając przycisk "volume+", zanim usłyszymy coś w głośnikach.
    - funkcja mute także z płynnym wyciszaniem i wzmacnianiem;
    - ustawianie balansu;
    - *** ustawianie limitu głośności (przydatna funkcja przy dzieciach);
    - *** funkcja sleep.

    Struktura menu sterownika i funkcje przycisku enkodera:
    
    ..0..Wejście.w.tryb.programowania.pilota.poprzez.przyciśnięcie.i.przytrzymanie.enkodera.podczas.włączania.zasilania.
    .
    ..1.."ON".gdy.w.trybie.standby.-.naciśnięcie.włącza.wzmacniacz.
    ..
    ..2.."OFF".przytrzymanie.przycisku.~2.sek..przejście.do.trybu.standby.
    ..
    ..3.."Volume".:
    .....┌────────────────┐
    .....│Volume..........│
    .....│-42dB...........│
    .....└────────────────┘
    ..4.."Balance".:
    .....┌────────────────┐
    .....│Balance:........│
    .....│L:.30%...R:.70%.│
    .....└────────────────┘
    ..
    ..5.."Source:".:
    .....┌────────────────┐.....┌────────────────┐.....┌────────────────┐.....┌────────────────┐
    .....│Source..........│.....│Source..........│.....│Source..........│.....│Source..........│
    .....│off.............│.....│AUX.1...........│.....│AUX.2...........│.....│AUX.3...........│
    .....└────────────────┘.....└────────────────┘.....└────────────────┘.....└────────────────┘
    .....
    ..6.."Speakers:"
    .....┌────────────────┐.....┌────────────────┐.....┌────────────────┐.....┌────────────────┐
    .....│Speakers........│.....│Speakers........│.....│Speakers........│.....│Speakers........│
    .....│off.............│.....│A...............│.....│B...............│.....│A+B.............│
    .....└────────────────┘.....└────────────────┘.....└────────────────┘.....└────────────────┘
    .....
    ..7.."Sleep:".(.planowana.)
    .....┌────────────────┐
    .....│Sleep:..10.min..│
    .....│-[----O-------]+│
    .....└────────────────┘
    
    ..8.."Max.volume".(.planowana.)
    .....┌────────────────┐
    .....│Max.volume......│
    .....│-[----O-------]+│
    .....└────────────────┘
    


    Funkcje 7 i 8 były od początku zaplanowane. Niestety nie udało mi się ich jeszcze "wcisnąć" do kodu z powodu braku pamięci.
    Skompilowany kod już zajmuje ponad 4050 bajtów, a MCU ma dostępne 4096.
    Oczywiście pozostało jeszcze sporo miejsc, które można zoptymalizować, więc jak tylko uda się zmniejszyć kod o dodatkowe 200 bajtów, to dorobię te funkcje.
    Na początku projektu bardzo chciałem zmieścić się w 2kB i prawie się udało... Jednak wówczas komunikaty na wyświetlaczu byłyby jeszcze bardziej ubogie, kody pilota musiałyby być zaszyte w kodzie no i nie wszystkie jego funkcje byłyby dostępne, zostałyby tylko: volume, power, selekcja wejść.

    Ogólnie o samym programie.
    Po włączeniu zasilania wykonywana jest funkcja init() - na wyświetlaczu LCD pojawia się napis powitalny, następuje zainicjowanie portu szeregowego, wyświetlacza, wczytanie konfiguracji z eeprom oraz przejście do trybu standby. W trybie standby procesor wciąż działa, jednak wyłączony jest wyświetlacz LCD oraz zasilanie końcówek mocy. Działają procedury odczytu pilota oraz enkodera. Po wykryciu naciśnięcia przycisku enkodera lub kodu "power-on" z pilota następuje przejście do trybu pracy - odpowiada za to funkcja action_on(). Na tym etapie wykonywane są następujące czynności:
    - włączenie podświetlenia wyświetlacza (u mnie bez znaczenia bo wykorzystałem wyświetlacz typu OLED);
    - ponownie wczytywana jest konfiguracja z eeprom;
    - następuje włączenie zasilania końcówek mocy;
    - po 1s włączenie ostatnio aktywnego źródła;
    - po 200ms włączenie ostatnio aktywnych głośników;
    - po 100ms następuje płynne zwiększanie głośności zapamiętanej w momencie ostatniego wyłączania wzmacniacza.
    Powyższa procedura skutecznie zabezpiecza przed dostaniem się do głośników niepożądanych dźwięków wynikających z rozruchu elektroniki wzmacniacza.
    Po zakończeniu procedury "startowej" program pozostaje w pętli głównej, w której wyłapywane są zdarzenia związane ze zmianami pozycji enkodera lub rozpoczęcia transmisji z pilota. Poszczególne fragmenty kodu zostały oznaczone odpowiednim komentarzem. Wyłapane zdarzenia wykonują różne rozkazy, które mogą mieć wpływ na stan struktury z konfiguracją oraz zmiennych odpowiedzialnych za bieżącą pozycję w menu.
    W pętli głównej znajduje się także fragment kodu odpowiedzialnego za odświeżanie zawartości LCD.
    To, co widzimy na wyświetlaczu, nie jest wynikiem bezpośrednich zmian stanu wzmacniacza i zdarzeń, które zaszły.
    Zawartość ekranu odświeżana jest "niezależnie" od rejestrowanych przez program zdarzeń. To, co pokazuje się na ekranie, wynika jedynie ze stanu zmiennych statusowych oraz bieżącej pozycji menu. Nie chcę się bardziej rozpisywać na temat kodu, bo wg mnie nie jest on skomplikowany. Więcej szczegółów na temat jego działania znajdziemy w samym kodzie, a jeśli ktoś ma pytania, to postaram się odpowiedzieć.
    Istotna jest jeszcze sama procedura przejścia do trybu standBy. Jest nieco podobna do startowej, a odpowiada za nią funkcja action_off(), w której wykonywane są czynności:
    - zapisanie konfiguracji do eeprom;
    - wyświetlenie napisu "goodbye";
    - płynne wyciszenie wzmacniacza do "0";
    - po 300ms odłączenie głośników;
    - po 200ms odłączenie wejść;
    - po 200ms odłączenie zasilania końcówek;
    - po 500ms wywołanie menu "standby", w którym następuje wyłączenie podświetlenia LCD.

    BUDOWA

    Zasilacz
    Prace rozpocząłem od budowy modułu zasilania. Sporą część miałem już gotową ze swoich poprzednich projektów, jednak trzeba było dodać nowe funkcjonalności, takie jak:
    - obsługa trybu standby,
    - rozdzielenie masy analogowej od masy cyfrowej,
    - dla bezpieczeństwa zwiększyć odległości pomiędzy i od ścieżek 230V.
    Początkowa koncepcja zakładała użycie osobnych transformatorów dla części cyfrowej i analogowej po to, by w trybie standby zostawić jedynie zasilanie części cyfrowej z małego transformatora o minimalnej mocy. Nawet powstała taka wersja modułu, ale niestety została rozlutowana...
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem
    Przyczyną problemów z zasilaniem z dwóch transformatorów był układ cs3310, który okazał się być bardzo wybredny, czym mocno pokrzyżował moje plany. Niestety do właściwych wniosków doszedłem dopiero po spaleniu dwóch cs3310. Po wnikliwej analizie dokumentacji doszukałem się "Note 3" z gwiazdką i małym druczkiem, który informował, że układ MUSI mieć podane najpierw zasilanie analogowe, a później cyfrowe, a w innym przypadku... zjara się z efektem dymnym włącznie. Przy pierwszych podłączeniach dziwiła mnie występująca losowo wysoka temperatura układu, ale początkowo tłumaczyłem to innymi błędami i zaniedbaniami. Fakty były jednak takie, że zasilacze startowały "nierównomiernie" i raz włączało się dobrze, a raz źle (standby miałem na stałe wyłączone). Nie zmieniało to jednak faktu, że wyłączenie zasilania analogowego musiałem wykluczyć. Rozwiązaniem byłoby rozbudowanie modułu o sterowanie napięciem cyfrowym dla części analogowej, ale stwierdziłem, że to przesada, bo przecież i tak nie będę tego zasilał z baterii, więc walka o 1W czy 2W w trybie standby wydała się być zbędna.
    Skoro już tak się stało, postanowiłem zrezygnować z osobnego zasilacza dla części cyfrowej i rozdzielić mądrze zasilanie z jednego transformatora +/-12V. Wstępnie myślę, że przyjęta koncepcja się sprawdza i przynajmniej w części gwarantuje blokowanie cyfrowego "śmietnika" przed dostaniem się do części analogowej.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem
    Na schemacie należy zwracać uwagę na opisy masy, ponieważ występują GND, GNDA i GNDD - sposób ich łączenia ma ogromne znaczenie.

    Moduł slave
    Kolejnym etapem była budowa sterownika "slave". Tutaj właściwie po pokonaniu problemów z zasilaniem CS3310 żadnych niespodzianek nie było. Powstały jedynie 2 wersje PCB różniące się nieco układem złącz, ponieważ w wersji pierwszej kabel łączący z zasilaczem musiałby być skręcony o 90 stopni. Kilka niespodzianek spotkało mnie także podczas testowania samego układu. Pierwsza to dość spore wzmocnienie samego potencjometru cyfrowego, które pod znakiem zapytania stawia wstępne wzmacnianie sygnału na OPA. W sumie do końca nie wiem, czy wartości wzmocnienia mam dobrze dobrane, bo nie potrafiłem się zdecydować, jakie maksymalne zakresy napięcia wejściowego przyjmować... 0,3V RMS czy może 0,7V? Wikipedia podpowiada, że https://en.wikipedia.org/wiki/Line_level
    Dla domowego audio to 0,316V RMS, jednak po kilku testach urządzeń takich jak laptopy, tablety i player MP3, dochodzę do wniosku, że normy te wszyscy ignorują.
    Finalnie wiedząc, że sam potencjometr może wzmocnić sygnał o 31dB, zdecydowałem o możliwości podpięcia źródła, które daje sygnał do 0,5V RMS.
    Teraz kilka słów o samym układzie.
    Za selektorem wejść znajdują się dwa filtry - pierwszy górnoprzepustowy (C1+R3) przepuszcza nam sygnał powyżej 3Hz i jednocześnie odfiltrowuje ewentualną składową stałą. Zaraz za nim jest filtr dolnoprzepustowy (C4+R5), przepuszcza nam pasmo poniżej ~100kHz, aby odfiltrować ewentualne szumy oraz śmieci pochodzące z wejścia wzmacniacza.
    Następny jest wzmacniacz operacyjny (może być TL072 lub OPA2134 ), którego zadaniem jest dopasowanie napięcia wejściowego tak, aby było bardziej optymalne dla potencjometru cyfrowego. Tutaj producenci zalecają, aby regulacji dokonywać na sygnałach "możliwie największych", ponieważ w ten sposób sygnał wyjściowy zawiera mniej szumów. Ja w swoim układzie zastosowałem wzmocnienie 2x.
    Potencjometr, podobnie jak wzmacniacz operacyjny, obstawiłem kilkoma kondensatorami blokującymi i zapobiegającymi ewentualnym wzbudzeniom.
    Ich brak zdecydowanie wpływa na poprawność i stabilność układu, w szczególności kapryśny jest potencjometr, który źle "obstawiony" zaczyna "pływać" lub dawać niesymetryczny sygnał (prototyp na płytce stykowej była porażką).
    Podczas testów modułem slave sterowałem z PC poprzez terminal portu szeregowego.
    W module można zamiennie stosować wzmacniacze operacyjne OPA2134 z TL072 - osobiście w warunkach prototypowych nie słyszę szczególnej różnicy - zobaczymy w praktyce.
    Ostatecznie sterownik zadziałał, diody zamigały, przekaźniki pstrykały, więc można było zabrać się za budowę kolejnego elementu.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Moduł master
    Ostatni etap budowy sterownika to wykonanie modułu "master", czyli panelu sterowania. Jak wcześniej pisałem po długich przemyśleniach całość sterowania postanowiłem umieścić pod jednym enkoderem z przyciskiem, a odpowiednie komunikaty wyświetlać na LCD2x16. Inną, też ciekawą koncepcją było zastosowanie diod sygnalizujących wybór wejść, wyjść oraz głośności lub balansu... Niestety problem był z ładną i czytelną prezentacją tych dwóch ostatnich. Rozważałem jakieś linie diodowe na całą szerokość wzmacniacza albo wskaźniki analogowe, ale finalnie chyba poszedłem na łatwiznę.
    Do panelu frontowego poza sygnałem RX, TX oraz zasilaniem digital doprowadzony jest także sygnał audio (przez rezystory 10k) po to, by wykonać np. wskaźnik wysterowania, diodę przesterowania albo clip.
    W tym projekcie jednak postanowiłem tego nie wykorzystywać ale w przypadku wykorzystania sterownika w końcówce estradowej zapewne jakiś wskaźnik wysterowania dodam.
    Ponieważ moduł master do pracy wykorzystuje wewnętrzną pamięć eeprom, należy pamiętać, aby podczas programowania ustawić fuse bity:
    BODLEVEL2 = 1
    BODLEVEL1 = 0
    BODLEVEL0 = 0
    Włączenie trybu BOD zapobiega kasowaniu lub "zaśmiecaniu" pamięci eeprom podczas włączania lub wyłączania sterownika, a należy pamiętać, że w tej pamięci zapisujemy także ustawienia głośności, więc przy odpowiedniej dozie pecha, gdy wzmacniacz uruchomi się na 100% głośności, możemy narazić się na przykrą niespodziankę, o ile nawet nie uszkodzenie kolumn lub samego wzmacniacza.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Końcówki mocy
    W tej części nie wykażę się wcale, ponieważ nie znam się na tym na tyle, aby samodzielnie wykonać końcówkę, która choć odrobinę byłaby inna niż schematy już dostępne w sieci, a co bardziej prawdopodobne - raczej bym coś spierniczył niż ulepszył. W związku z tym postanowiłem skorzystać z rozwiązań, które inni i mądrzejsi przemyśleli za mnie, więc zakupiłem gotowe KIT'y na tranzystorach MOSFET. Cóż więcej napisać, poza tym, że trzeba było je przykręcić do radiatora...
    Wybrałem je, bo mam już z nimi doświadczenie i w sumie w swoich wzmacniaczy DIY nie miałem okazji używać lepszych.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Obudowa
    Wstępnie kusił mnie zakup gotowej obudowy stalowej lub aluminiowej - to w dużym stopniu przyspieszyłoby zakończenie prac. Problem był tylko jeden. Metalowa obudowa do niczego mi nie pasuje, więc chcąc zrobić coś, co jednak stanie się meblem, na który będę patrzeć pewnie kilka lat, musiałem wybrać drewno. Stąd taki, a nie inny "design".
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Raspberry PI
    Ponieważ od początku kusiło mnie wykorzystanie Raspberry PI, to postanowiłem zrobić dla niego osobny moduł niezależny od wzmacniacza. Właściwie nie ma tutaj co wiele pisać, bo jedyne, co zrobiłem to transformatorowy zasilacz stabilizowany. Cały moduł zasilany jest z wzmacniacza, a wyjście na wzmacniaczu, z którego jest pobierane zasilanie; wyłącza się w trybie standby wzmacniacza. Dlatego nie dodawałem dodatkowego mechanizmu włączania/wyłączania modułu.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Koniec ... ?
    Finalnie wszystko prezentuje się jak na poniższych zdjęciach:
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Ogólne parametry wzmacniacza
    - Moc 2x55W przy 4Ohm ;
    - zastosowane trafo 2x24V 150W
    Do zrobienia jeszcze pozostało:
    - wymiana transformatora na lepszy, bo obecny z firmy elstyk.com buczy nawet na jałowym podłączeniu do sieci. Rozumiem, że transformator nie był bardzo drogi, ale to przykre, że firmy sprzedają "badziewie" po minimalnych kosztach z tandetnym rdzeniem albo oszczędzając na kilku zwojach drutu. Rozumiałbym, gdyby to jeszcze było do oświetlenie, ale kupiłem to z firmy z Lublina, która od lat sprzedaje kity audio;
    - wypolerowanie obudowy, jednak muszę poczekać, aż dobrze lakier wyschnie - dam mu 2 - 3 tygodnie. Teraz niestety przy próbie polerowania jeszcze się łuszczy...

    UWAGI
    - kod źródłowy MASTER obecnie obsługuje wyświetlacze typu OLED i zakomentowany został kod odpowiedzialny za włączanie i wyłączanie podświetlania. Odpowiedzialna jest za to funkcja lcd_backlight();
    - wszystkie projekty PCB i schematy przygotowane w KiCad;
    - oprogramowanie na uC napisane w cpp (projekt Atmel Studio);
    - biblioteki sterowania LCD czy pilotem ze względu na optymalizację zawierają absolutne minimum funkcjonalności. Nie zawierają np. kodu inicjującego piny mikrokontrolera ponieważ operacja ta wykonywana jest jednorazowo w funkcji init();
    - Niestety wyświetlacz LCD nie jest w 100% kompatybilny z OLED jeśli nie korzystamy z linii "READY". OLED wymaga dłuższych czasów podczas wysyłania rozkazów. Biblioteka, którą załączyłem obsługuje obydwa rodzaje, a czasy zostały dobrane eksperymentalnie.

    Wnioski
    - Nie wiem, dlaczego się uparłem na robienie tego na attiny. :-) 4KB EPROM i 256 bajtów RAM jest upierdliwe, jak chce się coś fajniejszego zrobić. Będę musiał przerobić płytkę na jaką atmege328 lub przynajmniej z 16KB ROM;
    - Sklejka brzozowa nawet po oszlifowaniu i polakierowaniu wygląda jak sklejka. Trochę żałuję, że nie pofornirowałem.
    Wszystkie schematy, płytki PCB oraz kod źródłowy dodaję w załącznikach.
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    katakrowa
    Level 22  
    Offline 
    katakrowa wrote 809 posts with rating 747, helped 8 times. Live in city Chorzów. Been with us since 2012 year.
  • Automation24
  • #2
    pawelcb33
    Level 24  
    Gratuluję ukończenia projektu, bardzo fajnie ci wyszedł. Wielki plus za udostępnianie plików tak to powinno wyglądać w tym dziale, wielu powinno brać z ciebie przykład bo dadzą kilka zdjęć i koniec jakby to była ściśle strzeżona tajemnica.

    Obudowę robiłeś na cnc że tak ładnie wyszła ?
  • Automation24
  • #4
    simw
    Level 26  
    katakrowa wrote:
    Oczywiście praktycznie nikt ( poza jednym artykułem w EP ) nie chcę udostępnić pełnych kodów źródłowych tak jak by zawierały one jakieś strzeżone tajemnice :-)


    Na szczęście są konstruktorzy, którzy potrafią się zreflektować po jakimś czasie w tym temacie :)
    Wątek:
    https://ssl.diyaudio.pl/showthread.php/25577-2-kanałowy-preamp-na-PGA2320?p=507315

    Pełny kod przedwzmacniacza
    https://github.com/iryont/PGA2320-preamplifier

    Co do Twojej konstrukcji to pełny szacun, znakomita robota.
  • #5
    katakrowa
    Level 22  
    pawelcb33 wrote:
    Obudowę robiłeś na cnc że tak ładnie wyszła ?


    Właśnie nie. Ręcznie wycinałem i nie jest idealnie ... Na szczęście warstwy w sklejce też są koślawe i finalni tego tak nie widać.

    rs6000 wrote:
    Jaki LCD użyłeś ?


    Winstar OLED 2x16 ze sterownikiem WS0010 / HD44780

    simw wrote:
    Na szczęście są konstruktorzy, którzy potrafią się zreflektować po jakimś czasie w tym temacie
    Wątek:
    https://ssl.diyaudio.pl/showthread.php/25577-2-kanałowy-preamp-na-PGA2320?p=507315


    Nie trafiłem w to miejsce a szkoda bo pewnie sporo by ułatwiło ...
  • #8
    katakrowa
    Level 22  
    micro wrote:
    Bardzo czytelny opis na płytkach, czym robiłeś ? (jakaś specjalna metoda termotransferu? ).


    Wydruk z laserówki + żelazko. Efekt poprawia matowienie laminatu papierem ściernym przed transferem. Co do jakości widziałem lepsze
    .Jeszcze nigdy nie udało mi się uzyskać dobrego efektu na krawędziach.
  • #9
    Thunderacer
    Level 18  
    Tworzenie bloków z dwoma procesorami w tak prostej konstrukcji, to mijanie się z celem. Argument o możliwości wymiany któregoś z modułów do współpracy z innym jest chybiony. Te rozwiązania nie są tak ambitne, aby tworząc podobne urządzenie za kilka miesięcy można było do nich wracać. Przecież tworząc kolejną konstrukcję będziesz się chciał rozwijać, prawda?
  • #10
    Jaro89
    Level 16  
    Jak zrobiłeś i z czego jest szybka ? Pleksa, akryl ? Cięta na cnc, malowana ?
  • #11
    piterek-23
    Level 33  
    Gratuluję projektu-super to wszystko wyszło i super się prezentuje ;)
    Projekt bardzo fajny, widać ogrom włożonej pracy.
    Jedyne co brakuje to porządnej obudowy. Szkoda, że nie jest to zrobione z np. aluminium, ale i tak kawał dobrej roboty.
  • #12
    katakrowa
    Level 22  
    Thunderacer wrote:
    Tworzenie bloków z dwoma procesorami w tak prostej konstrukcji, to mijanie się z celem.

    Dobre! To ciekawe jak panel przedni zastąpiłbyś np. Raspberry, Arduino albo PC ;-)
    Myślę, że trzeba by mocno wytężyć zwoje aby uzyskać uniwersalność, którą chciałem uzyskać i łatwość współpracy. Dodatkowa zaletą uzycia 2 CPU jest pełna dowolność w projektowaniu panelu przedniego. Można wymyślać guziczki pokrętła, wyświetlacze diody itd ... A wszystko wymaga tylko 3 przewodów do połączenia - ciężko zrobić tak z jednym CPU. Nie wspomnę o tym, że chcąc zrobić to na 1 CPU musiałbym prowadzić panelu frontowego prawie 20 przewodów, Porobienie ścieżek dla złącza 20pin na płytce jednostronnej może być skomplikowane a do tego zwyczjanie zabrakło by pinów w CPU. A stosując 2 te problemy mnie nie spotkają.

    Thunderacer wrote:
    Argument o możliwości wymiany któregoś z modułów do współpracy z innym jest chybiony.

    Jeśli dla kolegi modułowość rozwiązania jest "chybionym argumentem" to ja chyba bym nie chciał mieć do czynienia z kolegi rozwiązaniami - szczególnie jak klasyfikujemy ten projekt, jako nieambitny. Wnioskuję z tego, że kolega robiąc te ambitne projekty o modułowości nie myśli?

    Thunderacer wrote:
    Te rozwiązania nie są tak ambitne, aby tworząc podobne urządzenie za kilka miesięcy można było do nich wracać.

    Ja zapewne wrócę. Taką mam naturę, że lubię wykorzystywać raz zaprojektowaną rzecz kilka razy bo to dobra praktyka ( przykłady znajdzie kolega w moich postach ).

    Thunderacer wrote:
    Przecież tworząc kolejną konstrukcję będziesz się chciał rozwijać, prawda?

    Nie wiem. Może nie.
    Dodano po 1 [godziny]:
    Jaro89 wrote:
    Jak zrobiłeś i z czego jest szybka ? Pleksa, akryl ? Cięta na cnc, malowana ?

    Pleksi kupiona na al..ro.. gotowe przycięte formatki za jakieś grosze ( wpisujesz w wyszukiwarce pleksi dymiona )

    piterek-23 wrote:
    Szkoda, że nie jest to zrobione z np. aluminium, ale i tak kawał dobrej roboty.

    pisałem w głównym temacie, że chciałem tak zrobić ale mam całą chatę wypełnioną drewnem :-)
    No i w sumie czynnik finansowy też odegrał rolę - te obudowy kosztowały mnie łącznie może 70zł ... Na aluminium + stal trzeba by się bardziej szarpnąć.
  • #13
    AudioExperiment
    Level 10  
    Nie lepiej zastosować wysokiej klasy potencjometr drabinkowy napędzany silnikiem?
  • #14
    robig
    Level 21  
    AudioExperiment wrote:
    Nie lepiej zastosować wysokiej klasy potencjometr drabinkowy napędzany silnikiem?

    Kolega katakrowa podał w opisie, w sposób szczegółowy, powody zastosowania potencjometrów cyfrowych, wystarczy czytać ze zrozumieniem i nie bić piany.

    Konstrukcja super i bez tajemnic!
    :D
  • #15
    katakrowa
    Level 22  
    Thunderacer wrote:
    Argument o możliwości wymiany któregoś z modułów do współpracy z innym jest chybiony.


    No i właśnie w drugim dniu użytkowania wygląda na to, że wykorzystam moduł MASTER bez jakichkolwiek modyfikacji ( poza kodem procesora ) by podpiąć go do RaspberryPi z volumio.
    W chwili obecnej moduł z RPI ma tą wadę, że nie wiadomo kiedy jest gotowy do pracy (system długo startuje ) i trzeba to jakoś zasygnalizować. Druga sprawa to jednak przydała by się możliwość przełączania utworów z pilota ( przynajmniej next/prev/pause).
    Ponieważ PCB mam już gotowe interfejs to rs232 to wygląda na to , że jedynie modyfikuje kod dla procesora i gotowe :-)
    Także podtrzymuję, że tworzenie modułów tak aby były samodzielne zdecydowanie ma sens ...
  • #16
    398216 Usunięty
    Level 43  
    Obudowy ładne, ale niepokoi mnie jedna rzecz - 2x55W w obudowie ze sklejki z brakiem obiegu powietrza? Te parę dziurek od spodu nie załatwi sprawy - ogrzane powietrze musi mieć jeszcze ujście, a takiego nie widzę?
  • #17
    katakrowa
    Level 22  
    398216 Usunięty wrote:
    musi mieć jeszcze ujście, a takiego nie widzę?

    To prawda musi mieć ujście i ma - otwory są zarówno pod jak i nad radiatorem...
    A na przypadłość z drugiej część zdania już nic nie poradzę :-)
    Wszystko co trzeba widać na zdjęciach.
  • #18
    398216 Usunięty
    Level 43  
    Przypadłość przypadłością, ironia ironią, ale gdybym widział więcej niż tylko fragment, na pewno bym napisał inaczej: Uważasz, że KILKANAŚCIE (naliczyłem 11 w spodniej płycie, nie spodziewam się większej ilości w górnej) otworków wystarczy do odprowadzenia z tak małej obudowie sporej jednak mocy?
    Stąd też moja obawa o to, czy po kilku godzinach NIECO głośniejszego grania nie usmaży się coś.
    Pisząc ten post (poprzedni zresztą też) słucham muzyki z radia podłączonego do wzmacniacza. Wzmacniacz oddaje przeważnie niewiele więcej niż 2W w sumie. Radiator "wyrzucony" na zewnątrz obudowy tego 30W wzmacniacza (po 15 na kanał i pracuje w klasie AB) po kilkunastu już minutach jest na tyle ciepły, że można nawet powiedzieć gorący (nie parzy, ale jednak). Nic nie utrudnia wymiany (konwekcji) powietrza a jednak... U Ciebie po 11 otworków i 2x50W...Niepokoi mnie to, a więc z czystej życzliwości pytam.
  • #19
    katakrowa
    Level 22  
    398216 Usunięty wrote:
    U Ciebie po 11 otworków i 2x50W...Niepokoi mnie to, a więc z czystej życzliwości pytam.

    Z góry dziękuję za troskę o mój wzmacniacz i proszę uwierz, że także nie chciałbym go puścić z dymem :-)
    Wstępnie grał 30min na max pod sztucznym obciążeniem ( na razie otwarty ) osiągnięta temperatura nie była przerażająca ( osiągnęła 80 stopni ).
    Otworów rzeczywiście jest mało ale uważam, że lepiej dowiercić jak będzie potrzeba niż na dzień dobry zrobić z obudowy sito.
    Sprzęt jeszcze ciągle testuję i grzebię w nim więc nie wykluczam, że zwiększenie wentylacji okaże się konieczne.
    Zobaczymy co praktyka pokaże. Podczas prób i testów staram się mierzyć temperatury na bieżąco więc raczej ewentualny przerost temperatury mi nie umknie.

    Obecnie jeszcze walczę w wejściami, które jak nie są podłączone do żadnego urządzenia to niestety pojawiają się w głośnikach jakieś zakłócenia ( ni to bzyk ni to brum - trochę chyba słychać część cyfrową ) , nie umiem tego jednoznacznie zlokalizować. Wejścia, które są podłączone do komputera lub playera mp3 są całkowicie ciche - jedynie przy maksymalnym wysterowaniu +31dB pojawia się niemal idealny szum, którego nie słychać przy 0dB - wzorcowa cisza. Nie wiem czy to wina tego trefnego transformatora ( buczy nawet na jałowym ) czy przyczyna leży w czymś innym ...
    Niestety po poskładaniu wszystkiego zawsze jakiś kolec w d.. wejdzie. Nigdy nie jest idealnie :-) No chyba, że robiłem same końcówki bez selektorów z zasilaniem to wtedy się udaje.
    Dodano po 10 [minuty]:
    50% przyczyny problemu znalezione ... Na płytce slave trzeba dodać elektrolita np. 47uF na zasilaniu 12V - nie zbyt duży żeby szybko się przekaźniki wyłączały po zaniku napięcia.
    Został jeszcze cichy "bzzyk" w sumie już pomijalny ale jeszcze mnie irytuje.

    Dodano po 31 [minuty]:

    No i jak już ogarnąłem szumy i brumy i bzyki to na koniec okazało się, że zapomniałem na obudowie wyprowadzić gniazdka słuchawkowego :-)
  • #20
    398216 Usunięty
    Level 43  
    katakrowa wrote:
    grał 30min na max pod sztucznym obciążeniem ( na razie otwarty ) osiągnięta temperatura nie była przerażająca ( osiągnęła 80 stopni ).
    To już powinno być niepokojące. 80*C przy OTWARTEJ obudowie, po zamknięciu osiągnie jeszcze więcej, a po kolejnych kilku minutach... Nie czekaj - dowierć...
  • #22
    398216 Usunięty
    Level 43  
    max-bit wrote:
    Z tym drewnem rozumiem ze miało być "ładnie" ale w cale to ładnie nie wygląda ...
    Powiedział bym ze nawet psuje cały efekt.

    Zawsze można pomalować na czarno. A czy brzydko... widziałem znacznie mniej schludne konstrukcje.
  • #23
    katakrowa
    Level 22  
    max-bit wrote:
    Z tym drewnem rozumiem ze miało być "ładnie" ale w cale to ładnie nie wygląda ...
    Powiedział bym ze nawet psuje cały efekt.


    To już ewidentnie kwestia gustu. Jeden lubi gotowane kiełbaski a drugi śpiew Whitney Houston ... Ja lubię drewno nawet jak nie wyjdzie idealnie -
    zresztą jakby kolega przeczytał post a nia oglądał tylko zdjęcia to znalazł by kilka słów na ten temat :-)
    Poza tym mamy jeszcze taki współczynnik jak cena/jakość ...

    Po zakończeniu bojów ...
    Ponieważ praktycznie zakończyłem boje z "elektryczną" częścią wzmacniacza - zostało mi jeszcze przeniesienie połączenia masy wejściowej w inne miejsce bo to jedna z przyczyn bzyków na niepodłączonych wejściach ale to już kosmetyka ...

    Teraz chciałbym wykonać jakieś podstawowe pomiary parametrów urządzenia.
    Potrafię zmierzyć:
    - RMS,
    - damping factor,
    - charakterystykę częstotliwościową,
    - pasmo przenoszenia od - do.

    Niestety nie wiem jak się zabrać za pomiar THD, SNR, dynamiki.
    Może ktoś ma jakieś sprawdzone układy / narzędzia / oprogramowanie, które mogą ułatwić to zadanie?
    W domu dysponuje dość dobrymi interfejsami audio, oscyloskopem no i komputerem oczywiście ... Czy to wystarczy żeby coś próbować mierzyć ?
    A może bez profesjonalnego sprzętu nie ma się co za to zabierać?
  • #24
    simw
    Level 26  
    katakrowa wrote:

    Niestety nie wiem jak się zabrać za pomiar THD, SNR, dynamiki.
    Może ktoś ma jakieś sprawdzone układy / narzędzia / oprogramowanie, które mogą ułatwić to zadanie?
    W domu dysponuje dość dobrymi interfejsami audio, oscyloskopem no i komputerem oczywiście ... Czy to wystarczy żeby coś próbować mierzyć ?
    A może bez profesjonalnego sprzętu nie ma się co za to zabierać?


    Myślę, że można użyć do takiego celu np RMAA:
    http://audio.rightmark.org/products/rmaa.shtml

    W dobie niedrogich, dobrej jakości, interfejsów audio USB jest to całkiem sensowne rozwiązanie.
  • #25
    katakrowa
    Level 22  
    W związku z problemami wynikającymi z resetu CPU wskutek zakłóceń zewnętrznych na płytkach PCB dodałem :
    - dodatkowe diody impulsowe ;
    - dodatkowe kondensatory filtrujące ;
    - nieco inaczej poprowadziłem masę - zarówno analogową jak i cyfrową ;

    W załączniku .zip do głównego posta wgrałem zaktualizowane płytki PCB oraz minimalnie zmodyfikowany kod.
    Obecnie obsłuje zarówno wyświetlacz LCD jak i OLED bez konieczności jakichkolwiek modyfikacji.

    Próbowałem też wyeliminować zewnętrzne oscylatory zastępując je wbudowanym 8MHz - niestety taka zamiana spowodowała pojawianie się ogromnej ilości błędów w trasmisji rs232.
    Co ciekawe różne serie procesorów zachowywały się różnie ... Np. ATTINY2313 seria 1634 działała dobrze z jedynie sporadycznnie występującymi błędami (do czasu zagrzania się CPU). Natomiast seria 1424 w ogóle nie wysłała do PC ani jednego bajtu poprawnie ( sprawdzałem po 3 procesory z każdej serii ). Widać wewnętrzny oscylator do dokładnych nie należy lub popełniłem jakiś nieznany mi jeszcze błąd.

    PCB po modyfikacjach:
    Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem Wzmacniacz Mosfet 2x50W ze sterownikiem na atTiny i pilotem

    Trzeba będzie chyba jeszcze dodać koraliki ferrytowe na zasilaniu bo wciąż przy silnych zakłóceniach z sieci slave potrafi się zawiesić lub zresetować.
  • #26
    Owen27
    Level 11  
    W dokumentacji CS3310 jest informacja, że lepiej zasilać część cyfrową układu z VA+ przez rezystor 10Ω, zastanawiam się czy ±5VA można wziąć z zasilania końcówki mocy. Można by wtedy zasilać przekaźniki i procesor z osobnego transformatorka, a sygnały sterujące CS3310 przesłać przez szybkie transoptory 6N137.

    Kombinuję tak bo chciałbym obciążyć 5VD jeszcze kilkoma układami i boje się, że 15VA transformatorek symetryczny może nie dać sobie rady.
  • #27
    katakrowa
    Level 22  
    Owen27 wrote:
    W dokumentacji CS3310 jest informacja, że lepiej zasilać część cyfrową układu z VA+ przez rezystor 10Ω

    Tak to prawda - nawet piszą, że masa GNDA musi się łączyć GNDD tylko jaki ma wówczas sens jakiekolwiek oddzielanie masy?
    Wg ,mnie podali to jako "bezpieczne rozwiązanie" ze względu na:

    "Notes: 3. Applying power to VD+ prior to VA+ creates a SCR latch-up condition. Refer to Figure 2 for the recommended power connections."

    Czyli to o czym pisałem w głównym poście. Rzeczywiście rozwiązanie z rezystorem zabezpiecza nas przed tym. Ale nie będę się tutaj wymądrzał bo nie rozumiem tego zjawiska zachodzącego w układach CMOS. Wiem tylko, że jego wystąpienie może skończyć się źle :-)


    Owen27 wrote:
    astanawiam się czy ±5VA można wziąć z zasilania końcówki mocy. Można by wtedy zasilać przekaźniki i procesor z osobnego transformatorka, a sygnały sterujące CS3310 przesłać przez szybkie transoptory 6N137.

    Można. Tylko wówczas powstanie nam kilka problemów.
    1) Końcówki zasilane są różnymi napięciami więc ciężko będzie zbudować coś uniwersalnego ... Zawsze trzeba będzie dobierać np. rezystory. Rozwiązanie tak wymaga drugiego transformatora.
    2) Może skomplikować się prowadzenie masy ...
    3) do sterowania CS mamy 4 sygnały a 4 transoptory zajmują trochę miejsca wydłużą się połączeni, które też "sieją. Można jeszcze jakieś PC847 użyć gdzie mamy 4 transoptory w jednej obudowie ...
    Gdyby zrobić płytkę 2 warstwową to wiele by ułatwiło ale w domowych warunkach jest to upierdliwe i zdecydowałem się na jedną warstwę.

    Generalnie pomysł z transoptorami jest ok jednak testy pokazały, że nie są potrzebne - największe zakłócenia i tak zbiera selektor wejść a przy maksymalnym wysterowaniu odrobinę słychać komunikację szeregową między panelem a "slave" - zaekranowanie przewodów zapewne pomoże ale czekam aż listonosz przyniesie aluminiową taśmę przylepną.

    Dodano po 1 [minuty]:

    Owen27 wrote:
    Kombinuję tak bo chciałbym obciążyć 5VD jeszcze kilkoma układami i boje się, że 15VA transformatorek symetryczny może nie dać sobie rady.


    Eeee :-) w sumie będzie dostępne z 5W na tych 5V - co Ty tam chcesz jeszcze podłączyć?
  • #28
    pikarel
    Level 37  
    Widzę duży wkład pracy i - co najważniejsze w DiY - własne pomysły w tej konstrukcji, dlatego wielki plus ode mnie.

    Bardzo lubię drewniany obudowy, bo to moje dzieciństwo.
    Jednak to były wręcz meble, często małe dzieła sztuki stolarskiej.
    Pewnie dlatego prosta skrzynka ze sklejki - bez szklanego połysku i perfekcji wykonania - ciut nie pasuje do całości.
    Jestem wręcz pewien, że ciemna bejca plus wysoki połysk nadałyby Twojemu zestawowi piękna i końcowego blasku.
  • #29
    katakrowa
    Level 22  
    pikarel wrote:
    Pewnie dlatego prosta skrzynka ze sklejki - bez szklanego połysku i perfekcji wykonania - ciut nie pasuje do całości.
    Jestem wręcz pewien, że ciemna bejca plus wysoki połysk nadałyby Twojemu zestawowi piękna i końcowego blasku.


    Zapewne mogło być lepiej. Niestety poległem już kilka razy przy próbach lakierownia i polerowania na połysk więc tym razem nawet nie podejmowałem próby.
    Jedynie poczekam jeszcze kilka tygodni aż nałozony lakier stwardnieje ponownie przeszlifuję powierzchnię i nałożę jeszcze jedną warstwę co pownno nieco poprawić wygląd. Jenak z polerką walczył nie będę ... Przynajmniej do czasu kiedy nie opanuję tej sztuki.
  • #30
    januss73
    Level 32  
    katakrowa wrote:
    Tak to prawda - nawet piszą, że masa GNDA musi się łączyć GNDD tylko jaki ma wówczas sens jakiekolwiek oddzielanie masy?


    Zawsze ma sens. Po takim zabiegu (można użyć nawet PC847) ewentualne zakłócenia od cyfry będą tylko w czasie ustawiania potencjimetru. No chyba, że obsługa jest napisana inaczej i CLK jest podawany cały czas, co jest zbyteczne.

    pikarel wrote:
    Bardzo lubię drewniany obudowy, bo to moje dzieciństwo.

    Oczywiście kwestii podobania się nie dyskutuje, niestety drewno nie zaekranuje nam środka tak jak blacha.

    Co do wieszania procesora, dobtze radzę dołożyć gasiki na przekaźniku zasilania 230V. W zasadzie to na obu, bo oba są obciążone indukcyjnie.