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

Analizator widma akustycznego na LCD i ATMega8

manekinen 12 Lut 2008 02:30 26892 43
  • Witam, załączam projekt analizatora widma. Wyświetlanie odbywa się na LCD alfanumercznym - 16*2 lub 24*2 pól. Wejście - sygnał audio. Płytka zawiera niezbędny filtr dolnoprzepustowy (chebysheva), stabilizator.

    Autorem programu jest użytkownik Hunterhouse. Ja wykonałem schemat, filtr, i płytkę drukowaną. TUTAJ http://www.mediafire.com/?cqilnmloty1 można pobrać paczuszkę z kilkoma zdjęciami i filmikami. Ponieważ nie jestem autorem programu, nie będe pobierał za niego prowizji. TUTAJ https://www.elektroda.pl/rtvforum/topic776332.html rozmowa o programie, polecam lekturę przed wykonaniem urządzenia.

    Kilka uwag co do montażu. Zamiast kondensatorów C4 i C5 można wlutować zwory - uC jest to obojętne, i z tego co zauważyłem nie ma różnicy w wyświetlaniu widma. Płytka ma kształt wyświetlacza LCD 16*2, została zaprojektowana w ten sposób aby można było przykręcić ją pod wyświetlacz. Jeśli twój LCD 24*2 ma takie samo umiejscowienie pinów, nie ma problemu. W przypadku wyświetlaczy z pinami po boku (8*2 rzędy) należy odpowiednio połączyć je przewodami. Pola na potencjometry są niewielkie, jeśli nie posiadamy takowych, można podlutować je od strony druku, lub raz ustawić i wlutować dzielniki R. Niestety nie udało mi się bardziej tego upchać, mając do dyspozycji elementy przewlekane. Rezystor "LCD LED" to zasilanie podświetlenia LCD - jeżeli nasz wyświetlacz posiada już rezystory, można wlutować w to miejsce zworę.

    Uwagi co do uruchamiania. Najważniejszą rzeczą to podanie odpowiedniego sygnału do urządzenia. Jego amplituda musi się zawierać w przedziale szyn zasilania, na wysokości 2.5V. Sygnał o większej amplitudzie po przejściu przez WO straci wierzchołki (przester) - uC będzie błędnie liczył widmo.
    1.Masę sygnału można podpiąć do "masy analogowej" urządzenia, oznaczonej jako "Agnd" - jest to sztuczna masa zrobiona na dzielniku R 1:1 między szynami zasilania. Sygnał podajemy bezpośrednio pod wejście IN. Jest to wejście WO o dużej impedancji wejściowej.
    2.Układ można zasilić symetrycznie -2.5V / +2.5V, (sygnał jak wyżej).
    3.Jeśli masa układu i masa sygnału audio MUSZĄ być połączone, trzeba wykonać dzielnik na rezystorach, który podniesie nasz sygnał na wysokość 2.5V. LUB TEŻ pokombinować z kondensatorem odzielającym składową stała (a raczej dodającym w tym przypadku, te 2.5V), ale należy zadbać aby sygnał zawierał się pomiędzy szynami zasilania.

    Kalibracja/regulacja. Potencjometry R12 i R13 służą do wzmocnienia podanego sygnału dla górnej i dolnej części pasma. Przed wejściem uC sygnał nie powinien być przesterowany. W programie zmieniamy stałą CZULOSC - w dowolnym zakresie (np. od 10 do 50) (znajduje się w jednej z pierwszych linii programu). Po prostu należy ustawic układ tak, aby prawidłowo wskazywał częstotliwość, a wychylenie wg własnego gustu. Polecam jakiś generatorek sinusa na wejście, i oscyloskop przed wejście uC - dopilnujemy aby sygnał nie był przesterowany, i sprawdzimy czy nasze słupki prawidłowo się wychylają.

    Filmiki z linku to nagrany układ pracujący wg załączonego schematu. Większy LCD 24*2 teoretycznie powinien chodzić woniej, to logiczne że program ma więcej do liczenia i wyświetlania. Na filmikach jest przeciwnie, mniejszy wyświetlacz chodzi wolniej, da się to zauważyć. Wnioskuje że ma po prostu wolniejszy sterownik, wolniej odpowiada dla uC. Efekt końcowy to w bardzo dużej mierze odpowiednie ustawinie urządzenia, i podanie sygnału na odpowiednim poziomie. Jak widać - da się uzyskać dobry efekt.

    Jeszcze sprawa uC - fusebity ustawiamy na "zewnętrzny kwarc z kondensatorami 10-16MHz" (1110), aktywujemy bit CKOPT. Można poeksperymentować z wyższymi wartościami kwarcu. U mnie całość potrafiła bezawaryjnie chodzić przy 27MHz - oczywiście podajemy tę wartość w programie. Zachęcam do eksperymentowania, oczywiście nie zobowiązuje się do pomocy, ale jak znajdę czas to czemu nie. Sprawy oczywiste, takie jak "jak ustawić fsebity" - wiadomo. Aha jeszcze jedno. Zdjęcia przedstawiają pierwszą płytkę, musiałem nanieść na niej pewne poprawki. Ta z załącznika jest poprawiona. Pliki EAGLE V4.11e. Po załadowaniu kliknąć RASTNES. Jeśli ktoś zechce wykonać lepszą płytkę, z lepszym filtrem, w smd, itp, usprawnić program - bardzo proszę.


    O analizatorze widma możecie także poczytać na mojej stronie http://diy.elektroda.eu/analizator.php

    Fajne? Ranking DIY
    O autorze
    manekinen
    Poziom 29  
    Offline 
    manekinen napisał 1629 postów o ocenie 2348, pomógł 76 razy. Mieszka w mieście Kętrzyn. Jest z nami od 2006 roku.
  • #2 4796200
    kamyczek
    Poziom 38  
    Jeśli to tak działa jak na filmiku to co to za krzaczki wyskakują podczas pracy ? dla mnie to beznadzieja niestety...
  • #3 4796588
    manekinen
    Poziom 29  
    Nie wiem jakie krzaczki tam kolega widzi? Proponuje zainstalować nowsze kodeki :)
    Beznadzieja czy nie - daje filmik - jak się komuś podoba to może pobrać i wykonać. A kilkanaście osób pytało mnie o dokończenie tego urządzenia, więc zrobiłem to, i umieszczam w odpowiednim dziale. Jeśli moderator uważa inaczej, niech przeniesie gdzie indziej.
    Pozdrawiam.
  • #4 4837534
    pady
    Poziom 12  
    Analizator widma akustycznego na LCD i ATMega8

    Schematy są chyba uszkodzone, ściągałem je 5 razy i ciągle to samo...
  • #6 4838982
    manekinen
    Poziom 29  
    Hmm pliki zapisywałem darmową wersją 4.11 i w tej chwili sprawdzałem i normalnie da sie otworzyć. Z tego co wiem kilka osób normalnie otworzyło i wykonuje płytki. Możliwe że po prostu nie działają z inną wersją - tak to nieraz w eagle bywa. Lub też w ścieżka do pliku zawiera polskie znaki. Proszę spróbować 4.11, otwierając np. bezpośrednio z C:\
    Jeśli się nie otworzą, wzór ścieżek i nadruk podeśle w formacie *.bmp lub *.tif
    Pozdrawiam


    DODANO

    załączam wzór ścieżek i nadruk w formacie *.pdf, i podgląd całości w *.png. Załącznik z plikami eagle na razie usunąłem. Możliwe że raz musiałem edytować te pliki z jakąś "czarną licencją" która się zapisała do historii edycji pliku i dla tego może się nie otwierać. Spróbuję to naprawić i wrzuce spowrotem. Jeśli ktoś stracił punkty na ten załącznik, to moge zwrócić. Przepraszam za utrudnienia.


    DODANO

    Hmm no nic. w załączniku są poprzednie pliki, które bez problemu da się otworzyć wersją 4.11. dorzuciłem też pliki oznaczone jako 4.16r2 - te powinny otworzyć się nową wersją.
  • #7 4869969
    Mariuszek15
    Poziom 24  
    Witam :) Układ działa wyśmienicie :) Zdjęcia zamieszczę później :)
  • #8 4915729
    manekinen
    Poziom 29  
    W źródle programu na wyświetlacz 24*2 był mały błąd, był zdefiniowany pod atmegę16 zamiast atmegę8. Dodaje poprawione pliki źródłowe, i skompilowane HEX i BIN. Teraz to już na pewno jest wszystko OK. Kolega już uruchomił, więc śmiało można robić :)
  • #9 4916103
    Mariuszek15
    Poziom 24  
    Oto moje dzieło:
    Analizator widma akustycznego na LCD i ATMega8
  • #10 4916360
    cudny90
    Poziom 14  
    Witam, rozmawiałem w kolegą Mariuszem i dowiedziałem się, że jest możliwe przerobienie tego układu tak, by zamiast wyświetlacza LCD, były diody LED. Interesowałoby mnie 32 słupki, tylko nie wiem ile diód na jeden słupek :P 10?

    Byłby w stanie ktoś przerobić ten układ?

    Napewno przydałby się on wielu osobom, nie tylko mnie, ani Mariuszowi :)

    Z góry dzięki za pomoc.
    Pozdrawiam.

    EDIT: Widziałem projekt *HUNTERA lecz on jest na 16 słupków po 10 diód .
  • #11 5198672
    ciszex
    Poziom 11  
    Witam. Wykonałem twój projekt analizatora widmowego i działa bardzo dobrze. Mam jedynie pytanie odnośnie podbicia sygnału. Gdy sygnał daje z komputera wszystko działa bez zarzutów (napięcie sygnału to 1,2V) jednak gdy podłączam do wyjścia słuchawkowego w wieży (jedynie takie mam wyjście w wieży) to regulacja potencjometrami nic nie daje:/ sygnał jest bardzo słaby (10 mV) jak wzmocnić ten sygnał do napięcia 2,5V czyli najlepszego dla analizatora widmowego.
  • #12 5204683
    STONE21
    Poziom 10  
    Moje widmo

    Analizator widma akustycznego na LCD i ATMega8
    Analizator widma akustycznego na LCD i ATMega8
    Analizator widma akustycznego na LCD i ATMega8
    Analizator widma akustycznego na LCD i ATMega8

    Mam też filmik z działania analizatora, jak ktoś jest zainteresowany wyśle na e-mail.
    Przepraszam za jakość, robione telefonem.
  • #13 5275618
    raczek3
    Poziom 22  
    Witam gdzie znajdę wykaz elementów do tego analizatora?
  • #14 5297273
    gabox
    Poziom 11  
    Witam.Kto mi pomoze?Mam problemik "P" -->
    Analizator widma akustycznego na LCD i ATMega8
    LCD BC2004AFNHEH (KS0066)
    Analizator widma akustycznego na LCD i ATMega8
  • #15 5887198
    omen_s
    Poziom 19  
    Witam

    wykonałem układ pod wyświetlacz 2x16 znaków i mam pewien problem.
    Gdy ustawie go na wewnętrzny kwarc 8MHz (0100) to działa wszystko dobrze tylko trochę wolno, a jeśli ustawie fusy na zewnętrzny kwarc 16MHz czyli tak jak jest w układzie (1111) to wyświetla mi tylko połowę widma tj. 8lini od lewej. Ktoś ma pomysł o jest nie tak ? Układ wykonałem już w 4 egzemplarzach i w każdym jest tak samo, wyświetla tylko połowę.
  • #16 5891750
    Mariuszek15
    Poziom 24  
    "Jeszcze sprawa uC - fusebity ustawiamy na “zewnętrzny kwarc z kondensatorami 10-16MHz” (1110), aktywujemy bit CKOPT. Można poeksperymentować z wyższymi wartościami kwarcu. U mnie całość potrafiła bezawaryjnie chodzić przy 27MHz - oczywiście podajemy tę wartość w programie. "

    http://diy.elektroda.eu/?p=40
  • #17 5896244
    manekinen
    Poziom 29  
    omen_s napisał:
    jeśli ustawie fusy na zewnętrzny kwarc 16MHz czyli tak jak jest w układzie (1111) to wyświetla mi tylko połowę widma tj. 8lini od lewej.

    Problemem jest przetaktowany przetwornik ADC, widać że w niektórych megach8 daje radę a w niektórych nie... Znajdź w listingu następujący fragment
    
    Sample_h:
    'pobiera 32 próbki z częstotliwością 44kHz
    Config Adc = Single , Prescaler = 2 , Reference = Avcc
    

    I wartość prescaler zmienić na 4 lub auto. Mniejszy prescaler daje więcej próbek, ale ADC jak widać w ogóle nie pracuje. Większy prescaler da mniej próbek i pomiar będzie mniej dokładny ale przynajmniej będzie działać :)
  • #18 5897939
    Mariuszek15
    Poziom 24  
    manekinen Dałbyś radę zmienić PCB pod ATMEGA16 i dodać ON/OFF na RC5?
  • #19 5901779
    omen_s
    Poziom 19  
    :arrow: Mariuszek15

    Zmiana CKOPT była dla mnie tak oczywista że zapomniałem o tym nawet napisać. Przeczytałem już wcześniej kilka razy cały opis tego widma z tej strony którą podałeś. W pewnym momencie sprawdzałem już wszystkie możliwe opcje z zewnętrznym kwarcem więc 1110 też sprawdziłem ;)

    :arrow: manekinen

    Zmiana prescalera oczywiście pomogła ;) Moja atmega jest w wersji TQFP więc może ma to jakieś znaczenie :|

    Przy okazji prób naprawienia tego układu nauczyłem się obsługiwać fuse bity blokując 3 atmegi :D

    Pozdrawiam
  • #20 6198118
    Cappo
    Poziom 11  
    Witam
    Zmontowałem ten układ wg instrukcji, ale analizator nie działa, już po podpięciu do zasilania na wyświetlaczu(16x2) na pierwszym górnym słupku mruga mi jeden pasek, dodatkowo co chwile przez wyświetlacz przechodzi bardzo słaba i cienka linia (jasna) od dołu do góry. Po podpięciu sygnału audio czasem na chwilę zapali się jedna kreska na 3 słupku.

    Układ montowałem już 2 razy, wymieniałem przy tym wszystkie części łącznie z atmegą, jakieś pomysły?
  • #21 6200514
    manekinen
    Poziom 29  
    Jesli montowałeś 2 razy to raczej odpada błąd montażu skoro problem identyczny, odpada też błąd przy wrzucaniu flasha. Nie pozostaje nic innego po za źle ustawionymi fusebitami, upewnij się jak się je ustawia w twoim programie bo w jednym bit zaprogramowany może być oznaczany jako 0 a w innym jako 1, nie zaszkodzi również zajrzeć do noty katalogowej w razie wątpliwości :)
  • #22 6206232
    Cappo
    Poziom 11  
    Po odpowiednim ustawieniu fusebitów układ działa, dziękuje za pomoc.
  • #24 6997808
    andrew2u
    Poziom 13  
    Witam
    Chciałbym powiedzieć, ze działa ale kicha . Mam programator Wellon vp-280 spisuje sie znakomicie ale nie poradzi na źle zrobiony program . Od razu powie ze ten procesorek jest mi nieznany , może gdybym miał jakieś podpowiedzi od szanownych kolegów co to sie im udało może też bym był happy :(. Doczytałem z tych wszystkich uwag i konkluzji że są rożne atmegi 8, Super jakie to wspaniałe znaleźć chorobę . Teraz szukam jakiegoś dr. Housa na te boleści .
    Ale konkrety ktoś napisał ze po wpisaniu poprawnych ustawień
    "fusebity ustawiamy na (1110), aktywujemy bit CKOPT" rozumiem że :
    ustawenie CKOPT i ustawienie 1110
    ja rozumiem ze fusebit0=0 fusebit1=1 fusebit2=1 fusebit3=1 a CKOPT =1
    tak ? czy nie bo programatory mają swoje słownictwo ale to pewnie mistrzowie wiedzą :) i co klapa . Już lepszy efekt daje pozostawienie wszystkiego wyzerowanego bo przynajmniej działa 8słupkow a jak te super istotne bity ustawimi to wtedy kopletna klapa jak kolega napisał jakaś lina poprzeczna i jeden słupek znak na dole i total error , czyli śmieci:(
    Niemam kompilatora do tych procków i nawet niewiem jak zrobić :
    Sample_h:
    'pobiera 32 próbki z częstotliwością 44kHz
    Config Adc = Single , Prescaler = 2 , Reference = Avcc

    Czy mógłby jakiś kolega zapodać lepszą wersje programu z tym ustawieniem
    Prescaler = auto
  • #25 6998387
    manekinen
    Poziom 29  
    Różne są atmegi, przeróżne :) Wykorzystana w układzie to najzwyklejsza ATMEGA8 16PU - czyli wersja 5V 16MHz DIP.

    Co do fusebitów, wszystko masz w dziale 'mikrokontrolery' ale myśle że wystarczy ci taki oto kalkulator http://palmavr.sourceforge.net/cgi-bin/fc.cgi jest fajny podlgąd i ciężko o pomyłkę.


    A w załączniku dodaje nowy program dla 4*20, kody źródłowe, a także skompilowane hex i bin (wszystkie mają domyślnie przetaktowany ADC z prescalerem 2)

    W drugim załączniku skompilowane programy z prescalerem 4 które nie powinny sprawiać problemu.
  • #26 7000533
    andrew2u
    Poziom 13  
    Niestety klapa , pliki z analizator.rar są z 20lipca09 a ja wszystko już wypróbowałem , z każdego podobnego forum w Elektrodzie. Nawet niechce mi sie pójść do sklepu po nowy procek bo pewnie bedzie tej samej dostawy.... Niewiem tylko , w czym tkwi problem bo procek to procek , taki sam .
    Ponieważ w moim programatorze jest inny sposób ustawienia bitów , niema zaznaczania pól czy ustawiania fizycznie H czy 1 wiec może , tak mi zasugerował mądry człowiek, ze może wyłącz nie odpowiada 1 a włącz 0
    Nieważne i tak i siak probowałem i jest to samo 8 słupków lub kompletna klapa.

    Poniżej ustawienia .... moze jakieś sugestje?
  • #27 7003337
    Mariuszek15
    Poziom 24  
    andrew2u A działają Ci poprawnie filtry?
  • #28 7004185
    andrew2u
    Poziom 13  
    Nie wiem czy to jest poprawne działanie , bo procedura nastawy wydaje mi sie trochę niejasna . Chodzi mi przede wszystkim o poziom wejsciowy przy którym powinno sie ustawiać odpowiednią wartość. Dodatkowo nikt nie napisał , orientacyjnie, jaki słupek jaka to częstotliwość i niewewiem czy zawężam zakres do tych 8 z 16 czy moze mam tylko połowe . Różnica jedna to R13 i R13 akurat miałem 22kOhm.
    Ale ... pomijając to, podłaczyłem generatorek na wejście wej=500mVRMS i na oscyloskopie ustawiłem wzmocnienie żeby nie było przesterowania . Napięcia na operacyjnych wygląda nastepująco: wy(8)=600mVRMS , wy(7)=780mVRMS nadal wszystko jest ładny sinus.
    i tak:
    20Hz słupek 1 podskakuje gdzieś na wysokości 2/3 dolnej części
    70Hz słupek 1 jest prawie na obu częściach : dolnej cały i 90% górnej ale także słupek 2 jest w połowie
    130Hz słupek 2 jakieś 75% czyli cały dolny i 1/2 górnego , słupek 1 i 3 50%
    190Hz słupek 3 75% 2 i 4 50%
    280Hz jest bardziej "wąsko" bo słupek 4 75% ale zapalają sie inne słupki reszta, z 7 pozostałych na 10%
    410Hz słupek 5
    530Hz słupek 6
    670Hz słupek 7
    870Hz słupek 8
    to tyle bo od 1200Hz wszystko gaśnie

    A jeśli chodzi o pracę filtra to odcina gdzieś od 1kHz. A co jest ciekawe , w okolicy 800Hz do 1000Hz filtr lekko podbija bo wy(8) wzrasta do 690mVRMS

    Może to jakoś przybliży ten problem
    Każda sugestia o poprawnej pracy przybliży mnie do sukcesu :) choć przypuszczam ze problem tkwi w procesorze.
  • #29 7004740
    manekinen
    Poziom 29  
    Poziom wejściowy nie ma większego znaczenia, aby się mieścił w przedziale szyn zasilania wzmacniacza operacyjnego... po to właśnie jest r13 i r14 aby ustawić wzmocnienie obydwu pasm.

    Filtr pracuje dobrze, jest on bardzo stromy (jak na swoją prostotę) i faktycznie może troche podbijać tuż przed odcięciem, a żeby był idealny trzeba by było stosować elementy o wartościach 340pF czy 10,5Kohm (to tylko przykładowo).

    I jeśli jest ładny sinus na obydwu wejściach przetwornika to ok.

    Co do fusebitów... najprościej sprawdzić odłączając rezonator. Jeśli urządzenie będzie nadal pracować, to znaczy że są źle ustawione i korzysta z wewnętrznego generatora. Jeśli przestanie - to znaczy że są ustawione dobrze. Rezonatora nie trzeba wylutowywać, można dołączyć jakąś większą pojemność (np. 100nF) do jednej z nóg i do masy, w ten sposób nie będzie miał szans się wzbudzić.


    Cytat:
    pliki z analizator.rar są z 20lipca09

    Chodzi mi o wsad z analizator_prescaler4, ten powinien rozwiązać problem nie pojawiania się drugiej połowy słupków, zawsze to pomagało :) No chyba że dany egzemplarz uC nie daje sobie rady z prescalerem 4 przetwornika... później załącze program w którym ustawie na auto, czyli bezpieczną wartość ustawianą przez kompilator... jednak podejrzewam że wtedy będzie to pracowało dziwnie... (nie napisałeś z którego programu korzystasz, 2*16?)
  • #30 7005399
    andrew2u
    Poziom 13  
    sorki , tak 2x16 zapominałem podać a to przecież istotne , atmega8-16PU,

    i jeszcze jedna rzecz mi sie przypomniała; wszystkie kondensatorki są monolity czyli ceramiczne , nawet te 1uF , ale to pewnie niema znaczenia

    Działa! :) kupiłem nowego atmega , ten sam program te same nastawy i rusza z kopyta od razu ,
    nie wiem tylko co sie z pierwszym prockiem stało bo VERYFIkacja poprawnie program ok a jednak nie działa , od połowy nie wyświetla :cry:
    :D

    dzięki manekinen
REKLAMA