Ogłoszenie

Collapse
No announcement yet.

Przedwzmacniacz i Analizator widma

Collapse
X
 
  • Filtr
  • Czas
  • Pokaż
Clear All
new posts

    Przedwzmacniacz i Analizator widma

    Witam
    Z racji tego ze robię uniampa a robienie kolumn odłozyłem na letnią porę. Pomyslałem skoro ma byc to domowy wzmak pomyslałem ze przydał by sie jakis analizator widma no i jakis przedwzmacniacz. I mam kilka pytan

    1. dotyczace analizatora:
    http://diy.elektroda.eu/analizator-widma-akustycznego
    czy da sie w nim zastosowac inny wyswietlacz?? jakis taki jak w amplitunerach ?

    2. Przedwzmacniacz.
    Tutaj moje pytanie dotyczy schematu. Moje wymagania co do preampa sa takie przynajmiej trzy wejscia sygnału z regulacja barwy i ze 4 wyjscia w tym jedno z filtrem do suba.

    Z góry dzieki za pomoc

    #2
    Możesz zastosować dowolny wyświetlacz jeżeli jesteś w stanie przerobić software aby ci go układ obsługiwał. Jeżeli chcesz wstawić wyświetlacz graficzny to musisz mieć jeszcze troche dodatkowych wolnych linii, jakieś 1-2 kB wolnego miejsca pamięci programu w procesorze na kod sterownika tego wyświetlacza i najlepiej pogonić procka 16MHz aby to jakoś w miarę żwawo działało.

    Skomentuj


      #3
      Aha to dobrze. A w jakim jezyku miał bym pisac? Umiem asemblera bo w szkole proglamowalismy 8051 oraz podstawy C++

      Skomentuj


        #4
        Zobacz w czym zrobił autor, pewnie bascom lub C. Rzucilem okiem na układ i nie wiem czy przerobisz go na obsługe wyswietlacza graficznego bo atmega 8 jest do tego chyba troche za mała, nie wiem czy starczy wyprowadzeń. Druga sprwa to wydajność procesora jest niewielka a do obsługi graficznego lcd trzeba sporo czasu a ten analizator bazuje na liczeniu FFT wiec pewnie procek pracuje juz na granicy mozliwości.

        Innym pomysłem byłoby zrobienie osobnej płytki analizatora i osobnej płytki wyświetlacza z procesorem sterujacym tak zeby nie obciąząć dodatkowo tego procka od analizatora. Spiąć to interfejsem szeregowym lub równoległym. Równoległe pewnie będzie szybciej przesyłać dane ale zajmie troche wiecej linii - 8 linni danych i jedna linia taktu.

        Skomentuj


          #5
          Aha i tu własnie zaczynaja sie schodki gdyz z programowaniem tego dał bym radę ale jak to juz połaczyc ze soba to gorsza sprawa. Mogłbys mi trochę rozjasnic sprawę łaczenia ?

          Skomentuj


            #6
            Sprawa nie jest bardzo skomplikowana. Najpierw trzeba wybać sposób przesyłu danych. Do wyboru masz kilka metod z szeregowych możesz wykorzystać USART, SPI, czy jeszcze trzeci specjalny do łaczenia ze sobą procesorów (chyba TWI). Z tych trzech metod najprostsza w uruchomieniu bedzie transmisja szeregowa USART'em. Odpalenie SPI w trybie slave jest kłopotliwe, próbowałem kiedyś i jakoś mi sie to nie udawało, interfejsem TWI nigdy nie próbowałem łaczyć ze sobą prockow wiec sie nie wypowiem nt trudności.
            Najmniej problemów od strony programowej bedzie z usartem. Jedyny jaki moze wystąpić to dobór kwarcu, analizator zasuwa tamna duzej częstotliwości i nie wiem czy karc jaki zastosowano bedzie odpowiedni pod katem USARTu (ten ma dobierana czestotliwość na zasadzie podziału czestotliwości procesora i czasem te szybsze tryby wymagają nietypowych kwarców).

            Moim zdaniem prostszym i efektywniejszym sposobem będzie transmisja równoległa. Z analizatora musisz wypóścić magistralę składajacą sie z 8 linni danych i jednej lini zegara czy tzw sygnału strobującego (zapisujacego). Taką magistrale robisz po prostu tak jak jest teraz dla wyświetlacza czyli łaczysz procesorek prosto z wtyczką ew przez niewielkie szeregowe rezystory np 100 ohm. Linie poszerzasz do 8 bitów a wedle schemtu widzę, że masz troche wolnych portów procesora. Linie danych robisz np z całego portu D a linie strobujaca z dowolnej linii.
            W analizatorze modyfikujesz program aby odpowiednio wystawiał dane, zamiast na wyswietlacz to prosto na port. Czyli liczy ci analizator te prązki widma a pózniej kolejno ich wartosci wystawiasz na magistrale danych w prosty sposób np : PORTD=prazek widma;
            STROBE=1; (sygnałs trobujacy gdzie strobe to pin któegoś z portuów którym wytawiasz ten sygnał) , odczekujesz chwile np pare uS i robisz to dalej dla kolejnych prążków.
            Program analizatora po tekim liftingu ci sie odchudzi i pewnie nawet przyspieszy bo obsługa LCD troche zrzera.

            Teraz w płytce wyświetlacza robisz alaogiczna magistrale tylko jako wejściową i w momencie pojawienia sie sygnału strobe , np zbocza narastającego (czyli musisz ten sygnał podłączyć do przerwania procesora np do nózki INT0) , odczytujesz zawartość całego portu analogicznie : prazek_widma=PORTx; (gdzie x port z któego czytasz zawartosc). I tak za kazdym razem jak sie pojawi cos na strobe wciagasz to i wywalasz na wyscietlacz wyrsujac odpowiedni słupek.

            Aby nie marnować sprzetu mozesz te plytke z wyswietlaczem rozszerzyc do prostego komputerka sterujacego tym wzmacniacze/przedwzmacniaczem bo to sa proste funkcje jak np regulacja głosnisci przez cyfrowy potencjometr albo jakies załaczanie przekaźniczków od selektora bądz trafa zasilajacego koncówke mocy, mozna dodac obsługe pilota. Czyli zrobic taki ukłąd sterujacy z wejsciem na analizator widma .

            Obawiam sie tylko o dynamike tego układu, nie wiem czy sie uda aby działało to płynnie. Sterwoanie graficznym LCD zajmuje procesorkowi duzo czasu. Wyswietlenie poxel po pixelu całego 128x64 na kwarcu 8MHz u mnei zamjmowało ponad sekune ! Wniosek jest prosty, proc sterujacy LCD musi gonić przynajmneij 16MHz, dwa nie wysietlac po pixelu ale zrobić algorym który bedzie operował na 8 bitowych blokach danych dla LCD (bo tak sie standardowo wysyła dane do wyswieltacza) czyli jak po zaadresowaniu gdzie ma trafić dana wyslesz mu 0xFF zapali ci sie w pionei 8 pixeli. Problem nastepuje w momencie gdy chcesz zapalać pixele jednoczesnie na dwóch sasiadujacyh blokach lcd (ten jest podzielony w poziomie na 8 pixelowe linie, czyli pixele od 0 do 7 , od 8 do 15 itd) wtedy musisz 2x słąc dane pomimo ze zawartosc danych nie przekracza jednego bajtu, dyz trzeba dzielic to na pół. Wówczas dynamika działania programu zmaleje. Tak wiec super wypasu raczej nie zrobisz chyba ze uda ci sie to naprawde tak oprogramować, że algorytm bedzie sie wykonywał bardzo szybko a LCD nadaży z przyjmowaniem danych (tu tez jest ograniczenie gdyż jak za szybko bedziesz słał to on odmówi współpracy i nic ci nie wyswietli lub jakieś krzaki). WYdaje mi sie, ze analizatora na caly ekran graficzny na pewno nie zrobisz

            Skomentuj


              #7
              Yoshi_80 dzieki wiele mi wyjaśniłeś oraz dodałes do mojego projektu kilka bardzo przydatnych rzeczy. Przemyslałem trochę sprawę i myslę ze zakupie wyświetlacz 4x20 a do analizatora dodam tak jak mowiłes regulacje głosnosci. Teraz poszukam jakichś projektow na ktorych mogł bys sie wzorować. Jesli znacie jakas fajna konstrukcje proszę o link

              Skomentuj


                #8
                No wyświetlacz 4 liniowy jest dobrym rozwiązaniem jezeli chcesz mieć pozostałe parametry na bierząco wyświetlane. Jeżeli nie to nic nie stoi na przeszkodzie w momencie wykrozystywania innych rzeczy właczać animacje widma i wyswietlac głosność, wybór źróła itd, wówczas styknie w zupełności 16*2. Nawet lepiej jest dać duży 16*2 jak ci sie uda taki znaleźć niż mały 4*16 na którym z 2m juz ledwo widać te literki.
                Prawde mowiac to byc moze dla stabilniejszego działania programu bedziesz musiał na te chwile wstrzymywać działanie programu analizatora zeby procesor miał czas obsłuzyc inne rzeczy.
                Nie przeglądałem orginalnego programu i nie wiem jak gość to rozwiazał ale jak widmo jest liczone w jakimś przerwaniu np przewaniu ADC czy timera bo próbkować też trzeba z ustaloną czestotliwością, to zajmie ci to cała moc procka i wykonanie czego innego bedzie graniczyć z cudem bo to jedno przerwanie go zamuli.
                Jeżeli jednak obliczanie jest w normalnej procedurze czy pętli głownej to spokojnie moze sobie chodzic w tle a inne przerwania beda realizowane jako priorytetowe np obsługa pilota . Najwyżej bedzie troche przycinać animacja

                Jeżeli chcesz się zmieścic z tymi dodatkami na atmega 8 to trzeba sprawidzić ile gosciowi zajął program i czy jest tam dość miejsca żeby dopisać swoj kod. Bo ten procesorek ma 8kB a to nie tak dużo wbrew pozorom. Nie wiem czy nie byłoby lepszym rozwiązaniem przejść na atmega 16/32 bo masz wiecej linii I/O oraz pamięci.
                Po przejsciu program analizatora po poprawkach bedzie ci bezproblemowo działać, pewnie wystarczy zadeklarować kompilatorowi istnienie innego procesora i ew inaczej zaadresować wykorzystane w analizatorze linie I/O.

                Tutaj problemem jednak może być też czestotliwość, tą biedna atmege 8 ktoś tam zmuszał do pracy z ponad 20MHz bo fft potrzebuje sporej mocy obliczeniowej a nie wiem czy ta sztuka uda sie z atmega 16 lub 32 . Ja ci nie powiem czy to sie uda bo nie probowałem. Najwięcej pogonilem AT32 na prawie 17MHz (nietypowy kwarc z jakiegoś modemu) i chasała bez problemu.

                Nie wiem czy znajdziesz projekt na którym mógłbyś wzorować reszte układu, moze tak bo takich rzeczy ludzie robia sporo. W sumie nie jest to na tyle skomplikowane zebyś sobie z tym sam nie poradził. Trzeba to wszystko posklejać z istniejących już rzeczy.

                Jeżeli chcesz mniej ambitnie to możesz zastosować jako przedwzmacniacz - regulator głośności i selektor układ TDA7318 ale to jest taka budżetówka. Spinasz go z prockiem przez I2C i pare linijek programu i działa jak ta lala. Ma on też dwa wyjścia tylko nie wiem czy tam były one w funkcji selektora czy oba jednocześnie grały a miał tylko osobną regulacje głośności. Układ też ma regulację barwy więc coś o co ci chodziło. Generalnie jednak bym ci odradzał go bo jest to taki przeciętniak i na pewno ci brzmienia nie "poprawi" .

                Jeżeli jednak wybierasz ambitniejszą droge to selektor wejścia i wyjścia możesz zrobic na przekaźniczkach które podłączasz do procesora przez tranzystkory NPN albo przez dedykowany układ do takich zastosowań np ULN2003. Analogicznie robisz sterowanie przekaźnikiem załaczącym sieć dla trafa końcówki mocy i ewentulanie układ miękkiego startu tego trafa. Tu banalna sprawa, po ok 4-5 sek zwierasz przekaźnikiem rezystor 47ohm /5W który jest wpięty szeregowo z trafem zeby ograniczyć jego prąd rozruchowy. Te dwa przekaźniczki mozna nawet wyciagnac na osobną płytke aby umieścić napięcie sieciowe z dala od płytki przedwzmacniacza.

                Regulacje głosności mozesz zrobic na PGA2311 , bardzo dobry i dość łatwo dostepny układ (na allegro) sterowany przez SPI. Bezproblemowo możesz polądzyć dowolną ilość takich układów jeżeli stereo cię nie zadowala. Do każdego dajesz po prostu osbną linie sterującą CS i to wszystko.

                Regulacje barwy mozna zrobić pasywną na filtrze RC tak jak sie to robi na zwykłym potencjometrze tylko ewentualnie zastosować cyfrowy potek. Osobiście uważam ze akurat regulacja barwy jest zbędna.

                Filtr do suba po prostu kopiujesz z obecnych juz projektów i podłączasz pod wyjście PGA , możesz za pomocą cyfrowych potencjometró ewentualnie zrobić regulacje wzmocnienia tego filtru i częstotliwości odcięcia. Tutaj możesz użyć MCP41100 / 42100 lub podobny zaleznie od wartosci rezystacji , sterowany również przez SPI.

                Odbiór pilota robisz na scalonym odbiornku na 36/38kHz, w nocie aplikacyjnej tego odbiornika jest jak o podłączyć, wymaga dodatkowo rezystora i kondensatora , linie wyjsciową podłączasz wprost do procesora na wejście z przerwaniem INT0 /1 lub 2 . Można ewentulanie dodać lub zastąpić sterowanie pilotem enkoderem obrotowym. Też nie będzie to skomplikowana sprawa, kwestia funkcjonalności jedni lubia kręcic gałką inni dusić guzik pilota.

                Możesz też po prostu zrobić zwykły przedzmacniacz na klasycznych potencjometrach i op ampach, dodać selektor na wybieraku obrotowym i to wszystko okrasić tym analizatorem widma. Na pewno będzie mniej roboty tylko mniejszy "bajer" .

                Skomentuj


                  #9
                  A może by tak zamiast AVR zrobić na ARM atmela cena chyba podobna a nie trzeba kombinować bo mocy obliczeniowej pod dostatkiem do tego jakiś wyświetlacz graficzny z padniętej komóry. Tylko dużo więcej wysiłku trzeba by w soft włożyć.

                  Skomentuj


                    #10
                    A wiec tak zrobię regulację głosnosci itp na TDA7318. Znalazłem juz dzieło na ktorym bede się wzorował no praktycznie kopiował połączenia bo na tym sie wogole nie znam. Do tej pory bawiłem sie programem jagoda i klockami lego XT wiec zmodyfikuje troszkę soft dorzuce jakis bajerek.
                    http://www.elektroda.pl/rtvforum/vie...a7318&start=30

                    Jesli macie uwagi co do tego projektu proszę o pisanie tutaj

                    [ Dodano: 2009-12-12, 21:45 ]
                    o własnie wykopałem cos fajnego w necie co myslicie o kit z nowego elektronika k-135 jak by tam jeszcze dorzucic analizator widma to by było całkiem fajne

                    Skomentuj

                    Czaruję...
                    X