Okna.  Wirusy.  Laptopy.  Internet.  Biuro.  Narzędzia.  Kierowcy

Od dawna marzyłem o zbudowaniu graficznego analizatora widma, ale powstrzymała mnie obfitość elementów w obwodzie, dobór elementów filtrujących itp. I wtedy natknąłem się na polskie czasopismo z opisem analizatora cyfrowego, którego sercem jest mikrokontroler. Układ jest bardzo prosty, nie zawiera tych filtrów, których tak naprawdę nie chciałem składać, dobierać do nich podzespołów i konfigurować. Wszystko to przypisane jest do mikrokontrolera. Dodatkowo analizator ten posiada kilka trybów pracy! Co znacznie skomplikowałoby obwód przy użyciu elementów dyskretnych.

Analizator posiada 4 tryby wskazania: Liniowy ze wskazaniem szczytu i bez oraz „kropka”, także ze wskazaniem szczytu i bez niego.

Dane techniczne:

  • Wyświetlanie częstotliwości: 31 Hz, 62 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz;
  • Rozmiar matrycy: 10x10;
  • Tryby: punkt, linia, piki;
  • Napięcie zasilania: 12V;
  • Pobór mocy: Zależy od diod LED zastosowanych w matrycy, płyta główna zużywa około 20mA.

Wskaźnik składa się z dwóch części, bloku głównego i matrycy diodowej.


Jednostka główna zbudowana jest na mikrokontrolerze ATmega8, dekoder K176ID1(zagraniczny analog CD4028) i wzmacniacz ograniczający wejście wykonany na wzmacniaczu operacyjnym TL071. Rezonator kwarcowy może być stosowany przy częstotliwości 16-20 MHz.

Wersję próbną przylutowałem w kilka godzin na płytce stykowej:









Bezpieczniki w Konstruktor algorytmów:

Bezpieczniki w PonyProg:


Podczas flashowania mikrokontrolera należy zachować szczególną ostrożność przy ustawianiu bezpieczników, ponieważ nieprawidłowo zainstalowane „ptaki” może zablokować mikrokontroler i jego przeflashowanie będzie wymagało wielokrotnie bardziej skomplikowanego programisty niż ten analizator.

Zmontowałem obwód, sflashowałem mikrokontroler, podłączyłem zasilanie i wysłałem sygnał audio na wejście. Urządzenie zadziałało natychmiast, bez ustawień i konfiguracji. Byłem bardzo zadowolony z tego projektu.

Poniżej przedstawiono schemat ideowy bloku filtra i przedwzmacniacza. Filtry ustawione są na częstotliwości: 32 Hz, 63 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz.


PCB. Został wykonany samodzielnie przy użyciu fotorezystu.


Zalecenia dotyczące doboru pojemników - lepiej dobrać wartości nominalne pojemników za pomocą miernika LCR (ja użyłem miernika E7-22) niestandardowe wartości nominalne uzyskano równolegle lub sekwencyjnie, pobierając je standardowa seria.

Schematyczny diagram linii wskaźników.

Płytka drukowana w wersjach DIP i SMD jest cała w archiwum. Płytki zamówiłem z produkcji, gdyż w domu ciężko było wykonać takie wymiary (rozmiar w DIP to 320x50).
Jako diodę można zastosować dowolną szybką diodę Schottky'ego. Rezystancja rezystorów dla diod LED zależy od rodzaju zastosowanych diod LED (należy obliczyć prąd), można zastosować dowolne inne diody LED po przeliczeniu lub zmianie obwodu. TAK, jest jeszcze jedna uwaga - jest to pobór jednej linii, przy włączonych wszystkich 40 diodach, linia pobiera 40*0,02A = 0,8A, a przy pełnym zaświeceniu wszystkich 10 linii pobór będzie wynosić 8A!! Nie zapomnij wybrać odpowiedniego zasilacza. Jeśli używasz zakupionego zasilacza impulsowego z kilkoma wejściami, z reguły jest to +/-12V, +5V, to jest jeden niuans, z którym się spotkałem: jeśli jednokanałowe zasilacze impulsowe w większości nie wymagają obciążenia do zaczynają, potem robią wielokanałowe, tj. Aby zasilacz wystartował konieczne jest obciążenie wszystkich kanałów.
Organizować coś.
Ustawienie polega na ustawieniu jednakowej czułości wszystkich kanałów. Potrzebujesz generatora niskiej częstotliwości i miliwoltomierza niskiej częstotliwości. Częstotliwości generatora są ustawiane kolejno na 32 Hz, 63 Hz, 125 Hz, 250 Hz. 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz i 16 kHz. Częstotliwości podawane są naprzemiennie na wejście urządzenia. W takim przypadku miliwoltomierz należy podłączyć równolegle do wyjścia generatora niskiej częstotliwości; zgodnie z jego odczytami należy upewnić się, że wartości napięcia AF dostarczanego z LFO na wszystkich częstotliwościach są takie same ( jeśli to konieczne, wyreguluj regulator poziomu wyjściowego LFO). R42 przedwzmacniacza ustawiamy w pozycji środkowej i zaczynając od częstotliwości 32 Hz ustawiamy na LFO taki poziom napięcia wyjściowego, przy którym w środkowej pozycji R2 (32 Hz) zapala się środkowa dioda skali wskaźnika blok filtrujący). Zapamiętaj ten poziom napięcia wyjściowego LFO. Następnie zwiększ częstotliwość do 64 Hz. Ustaw ten sam poziom niskich częstotliwości na wyjściu LFO (w oparciu o miliwoltomierz) i wyreguluj R* w filtrze 63 Hz tak, aby zapaliła się środkowa dioda LED skali 63 Hz.
Wykonaj podobne operacje na wszystkich pozostałych częstotliwościach. Możesz najpierw dokładniej ustalić średnie częstotliwości pasm, wyznaczając średnią częstotliwość każdego filtra, dostrajając częstotliwość LFO w pewnych granicach w stosunku do częstotliwości wskazanej na wykresie. Następnie, jeśli różnica jest znacząca, należy odpowiednio dostosować częstotliwość, zmieniając pojemność kondensatorów.

Kilka zdjęć z procesu produkcyjnego




Jak myślisz, co dziewczyny robią, kiedy się spotykają? Czy chodzą na zakupy, robią zdjęcia, chodzą do salonów kosmetycznych? Tak, tak, ale nie każdy to robi. W tym artykule opowiem o tym, jak dwie dziewczyny postanowiły złożyć urządzenie radioelektroniczne własnymi rękami.

Dlaczego analizator/wizualizator widma?

Mimo wszystko rozwiązania programowe Istnieje wiele opcji tego zadania i istnieje również wiele opcji implementacji sprzętowej. Po pierwsze, bardzo chciałem pracować z dużą liczbą diod LED (ponieważ złożyliśmy już kostkę LED, każdą dla siebie, ale w małych rozmiarach), po drugie, zastosować w praktyce wiedzę zdobytą przy cyfrowym przetwarzaniu sygnałów i po trzecie, po trzecie, jeszcze raz przećwicz pracę z lutownicą.

Rozwój urządzenia

Ponieważ Brać gotowe rozwiązanie a robienie tego ściśle według instrukcji jest nudne i nieciekawe, dlatego postanowiliśmy sami opracować układ, tylko w niewielkim stopniu opierając się na już stworzonych urządzeniach.

Na wyświetlacz wybrano matrycę LED 8x32. Można było skorzystać z gotowych matryc LED 8x8 i złożyć je z nich, jednak postanowiliśmy nie odmawiać sobie przyjemności wieczornego siedzenia przy lutownicy i dlatego sami zmontowaliśmy wyświetlacz z diod LED.

Do sterowania wyświetlaczem nie wymyśliliśmy koła na nowo i zastosowaliśmy obwód sterujący z dynamicznym wyświetlaczem. Te. wybrali jedną kolumnę, zapalili ją, pozostałe kolumny w tym momencie zgasły, potem wybrali następną, zapalili, reszta zgasła itp. Z uwagi na to, że ludzkie oko nie jest idealne, na wyświetlaczu widzimy statyczny obraz.
Idąc ścieżką najmniejszego oporu uznano, że zasadnym będzie przeniesienie wszelkich obliczeń do sterownika Arduino.

Włączenie konkretnego wiersza w kolumnie odbywa się poprzez otwarcie odpowiedniego klawisza. Aby zmniejszyć liczbę pinów wyjściowych sterownika, selekcja kolumn odbywa się za pomocą dekoderów (w ten sposób możemy zmniejszyć liczbę linii sterujących do 5).

Jako interfejs do podłączenia do komputera (lub innego urządzenia zdolnego do przesyłania sygnału audio) wybrano złącze TRS (mini-jack 3,5 mm).

Montaż urządzenia

Montaż urządzenia zaczynamy od wykonania makiety przedniego panelu urządzenia.

Materiałem wybranym na przedni panel był czarny plastik o grubości 5 mm (ponieważ średnica soczewki diody również wynosi 5 mm). Zaznaczamy według opracowanego układu, wycinamy panel przedni na wymagany wymiar i wiercimy w plastiku otwory na diody LED.

Otrzymujemy w ten sposób gotowy panel przedni, na którym można zamontować wyświetlacz.

Jako diody LED w matrycy zastosowano dwukolorowe diody LED (czerwono-zielone) ze wspólną katodą GNL-5019UEUGC. Przed przystąpieniem do montażu matrycy, kierując się zasadą „dodatkowa kontrola nie zaszkodzi”, wszystkie diody LED, czyli 270 szt. (wzięte z rezerwą na wszelki wypadek) zostały przetestowane pod kątem funkcjonalności (w tym celu zmontowano urządzenie testujące, w tym złącze, rezystor 200 omów i zasilacz 5 V).

Następnie zginamy diody LED w następujący sposób. Wyginamy anody diody czerwonej i zielonej w jedną stronę (w prawo), wyginamy katodę w drugą stronę, upewniając się, że katoda jest niżej niż anody. Następnie zginamy katodę w dół pod kątem 90°.

Montaż matrycy zaczynamy od prawego dolnego rogu i składamy ją w kolumny.

Pamiętając o zasadzie „dodatkowa kontrola nie zaszkodzi”, po wlutowaniu jednej lub dwóch kolumn sprawdzamy funkcjonalność.

Gotowa matryca wygląda tak.

Widok z tyłu:

Według opracowanego obwodu lutujemy obwód sterujący rzędami i kolumnami, lutujemy kable oraz miejsce na Arduino.

Postanowiono także wyświetlić nie tylko amplitudę-częstotliwość, ale także fazę widmo częstotliwości, a także wybierz liczbę próbek do wyświetlenia (32,16,8,4). W tym celu dodano 4 przełączniki: jeden do wyboru rodzaju widma, dwa do wyboru liczby próbek i jeden do włączania i wyłączania urządzenia.

Pisanie programu

Po raz kolejny kierujemy się naszą zasadą i dbamy o to, aby nasz wyświetlacz był w pełni sprawny. W tym celu piszemy prosty program, który w pełni podświetla wszystkie diody LED na wyświetlaczu. Naturalnie, zgodnie z prawem Murphy'ego, w kilku diodach LED brakowało prądu i należało je wymienić.

Upewniwszy się, że wszystko działa, przystąpiliśmy do pisania głównego kodu programu. Składa się z trzech części: inicjalizacji niezbędnych zmiennych i odczytania danych, uzyskania widma sygnału za pomocą szybkiej transformaty Fouriera i wypuszczenia powstałego widma z niezbędnym formatowaniem na wyświetlacz.

Montaż urządzenia końcowego

Na końcu mamy przedni panel, a pod nim wiązka przewodów, które trzeba czymś zakryć, a przełączniki trzeba do czegoś przymocować. Wcześniej myśleliśmy o zrobieniu korpusu z resztek plastiku, ale nie do końca wiedzieliśmy, jak to będzie wyglądać i jak to zrobić. Rozwiązanie problemu przyszło dość nieoczekiwanie. Po spacerze po sklepie z narzędziami znaleźliśmy plastikową doniczkę, która była zaskakująco idealnej wielkości.

Pozostało tylko zaznaczyć otwory na złącza, kable i przełączniki, a także wyciąć z tworzywa dwa boczne panele.

W rezultacie składając wszystko w całość i podłączając urządzenie do komputera otrzymaliśmy co następuje:

Widmo amplitudowo-częstotliwościowe (32 zliczenia):

Widmo amplitudowo-częstotliwościowe (16 zliczeń):

Widmo amplitudowo-częstotliwościowe (8 zliczeń):

Widmo amplitudowo-częstotliwościowe (4 zliczenia):

Widmo częstotliwości fazowej:

Widok panelu tylnego:

Film przedstawiający działanie urządzenia

Dla większej przejrzystości wideo zostało nakręcone w ciemności. Na filmie urządzenie wyświetla widmo amplitudowo-częstotliwościowe, a następnie po 7 sekundach przełączamy je w tryb widma fazowo-częstotliwościowego.

Lista wymaganych elementów

  1. Diody LED GNL-5019UEUGC – 256 szt. (Na wyświetlaczu)
  2. Tranzystory N-p-n KT863A – 8 szt. (Do zarządzania ciągami znaków)
  3. Tranzystory pnp C32740 – 32 szt. (Do zarządzania kolumnami)
  4. Rezystory 1kOhm – 32 szt. (Aby ograniczyć prąd zasady p-n-p tranzystory)
  5. Dekodery 3/8 IN74AC138 – 4 szt. (Aby wybrać kolumnę)
  6. Dekodery 2/4 IN74AC139 – 1 szt. (Dla dekoderów kaskadowych)
  7. Płyta montażowa 5x10cm – 2 szt.
  8. Pętle
  9. Arduino Pro mikro – 1 szt.
  10. Złącze mini-jack 3,5mm – 1 szt.
  11. Przełącznik – 4 szt.
  12. Plastik czarny 720*490*5 mm – 1 arkusz. (Na panelu przednim)
  13. Doniczka czarna 550*200*150 mm – 1 szt. (Do ciała)

W artykule omówiono konstrukcję prostego analizatora widma (0 - 10 kHz) na mikrokontrolerze AVR. Jako urządzenie wyświetlające używany jest dwuliniowy wskaźnik LCD. Głównym punktem realizacji tego projektu nie jest sprzęt, ale oprogramowanie, a dokładniej implementacja dyskretnej transformaty Fouriera (DFT) na 8-bitowym mikrokontrolerze. Należy od razu zaznaczyć, że autor nie jest ekspertem w tej dziedzinie i dlatego zaczął od podstaw – od prostej dyskretnej transformaty Fouriera. Algorytm szybkiej transformacji Fouriera jest nie tylko szybki, ale także dość złożony.

Dyskretna transformata Fouriera (w literaturze angielskiej DFT, Discrete Fourier Transform) jest jedną z powszechnie stosowanych w algorytmach transformacji Fouriera przetwarzanie cyfrowe sygnałów (jego modyfikacje stosuje się przy kompresji dźwięku w formacie MP3, kompresji obrazu w formacie JPEG itp.), a także w innych obszarach związanych z analizą częstotliwości w sygnale dyskretnym (na przykład cyfrowym analogowym). Jako dane wejściowe wymagana jest dyskretna transformata Fouriera funkcja dyskretna. Takie funkcje często powstają poprzez próbkowanie (próbkowanie wartości z funkcji ciągłych).

Schemat ideowy analizatora widma sygnał dźwiękowy jest bardzo prosty i można go z grubsza podzielić na część cyfrową i analogową.

Część cyfrową tworzy mikrokontroler i podłączony do niego wskaźnik LCD. Mikrokontroler taktowany jest rezonatorem kwarcowym o częstotliwości 16 MHz; napięcie zasilania +5 V służy jako napięcie odniesienia dla przetwornika A/C mikrokontrolera.
Szyna danych wskaźnika LCD jest podłączona do portu C mikrokontrolera (linie wejścia/wyjścia PC0-PC3), szyna sterująca jest podłączona do portu D (PD5, PD6) mikrokontrolera. Wskaźnik pracuje w trybie 4-bitowym. Do regulacji kontrastu służy rezystor zmienny o wartości nominalnej 4,7 kOhm. Aby pracować ze wskaźnikiem, stworzono niestandardowe symbole, które wyświetlają 8 poziomych kolumn analizatora; te niestandardowe symbole zajmują wszystkie 64 bajty pamięci RAM wskaźnika LCD.

Mikrokontroler działa z zewnętrznego rezonatora kwarcowego 16 MHz.

Część analogowa urządzenia jest najważniejszą częścią i reprezentuje przedwzmacniacz sygnał z mikrofonu elektretowego, którego wyjście jest podłączone do kanału ADC0 przetwornika ADC wbudowanego w mikrokontroler. Musimy ustawić poziom zerowy na wejściu ADC na dokładnie połowę napięcia odniesienia, tj. 2,5 V. W tym przypadku możemy zastosować dodatnią i ujemną półfalę sygnału, jednak jej amplituda nie powinna przekraczać ustalonego limitu, tj. Wzmocnienie musi być precyzyjnie dostrojone, aby zapobiec przeciążeniu. Wszystkie powyższe warunki spełnia zwykły układ wzmacniacza operacyjnego małej mocy.

Algorytm DFT jest nieco wolniejszy w porównaniu do szybka konwersja Fouriera. Ale nasz analizator widma nie wymaga dużej prędkości i jeśli może zapewnić częstotliwość aktualizacji około 30 klatek na sekundę, będzie to więcej niż wystarczające do wizualizacji widma sygnału audio. W każdym razie w naszej wersji możliwe jest osiągnięcie prędkości 100 klatek na sekundę, ale jest to już zbyt duża wartość parametru dla dwuliniowego wskaźnika LCD i nie jest zalecana. Częstotliwość próbkowania wynosi 20 kHz dla 32-punktowej dyskretnej transformaty Fouriera, a ponieważ wynik transformacji jest symetryczny, wystarczy użyć pierwszej połowy, tj. pierwsze 16 wyników. Dzięki temu możemy wyświetlić widmo częstotliwości do 10 kHz, a rozdzielczość analizatora wynosi 10 kHz/16 = 625 Hz.

Autor projektu podjął próbę zwiększenia szybkości obliczeń DFT. Jeśli ta transformacja ma N punktów, to musimy znaleźć wartości N2/2 sinusa i cosinusa. Do naszej 32-punktowej transformacji musimy znaleźć 512 wartości sinusów i cosinusów. Jednak przed ich znalezieniem musimy obliczyć kąt (stopnie), co zajmie trochę czasu procesora, dlatego zdecydowano się użyć do tych obliczeń tabel wartości. Podczas obliczeń w programie mikrokontrolera nie są używane liczby zmiennoprzecinkowe i liczby o podwójnej precyzji, ponieważ przetwarzanie zajmie więcej czasu w 8-bitowym mikrokontrolerze. Zamiast tego wartości w tabelach przeglądowych wykorzystują 16-bitowe dane w postaci liczb całkowitych pomnożone przez 10000. Następnie po wykonaniu konwersji wyniki są dzielone przez 10000. Dzięki takiemu podejściu możliwe jest wykonanie 120 32-punktowych konwersji na po drugie, co jest więcej niż wystarczające dla naszych urządzeń.

Ten artykuł zapewnia schemat obwodu 10-pasmowy analizator widma (wskaźnik), który można wykorzystać przy projektowaniu dowolnych wzmacniaczy, jeśli nie zadowalają Cię lampowe, proste diody LED lub czujniki zegarowe. Ogólnie rzecz biorąc, w Internecie można znaleźć ogromną różnorodność programów do tego celu, ale skupimy się na bardziej złożonej opcji, ten schemat zbudowany w oparciu o mikrokontroler Atmega8. Spójrzmy na diagram:

Oprócz mikrokontrolera jest jeszcze kilka mikroukładów, jest to wzmacniacz operacyjny TL071, wyposażony w sygnał liniowy i dekoder CD4028, analogiem tego ostatniego jest domowy mikroukład K176ID1. Urządzenie zasilane jest z zasilacza zrealizowanego na zintegrowanym stabilizatorze Quartz 7805 o częstotliwości 18 MHz. Również na schemacie widzimy kilka przełączników tranzystorowych sterujących matrycą LED. Schemat macierzowy pokazano poniżej:

100 diod LED tworzy matrycę 10x10. Częstotliwości, na które reaguje każda kolumna macierzy, są następujące:

31 Hz, 62 Hz, 125 Hz, 250 Hz, 500 Hz, 1 kHz, 2 kHz, 4 kHz, 8 kHz, 16 kHz

Za pomocą J4 i J5 można ustawić tryb pracy wyświetlacza, czyli pracę w trybie liniowym, trybie liniowym ze wskazaniem szczytowym, trybie punktowym i trybie punktowym ze wskazaniem szczytowym. Zamiast tych zworek można zainstalować kilka miniaturowych przełączników, aby szybko zmieniać tryby.

Płytki drukowane urządzenia.

Z płytka drukowana w formacie LAY musiałem trochę majstrować, żaden element nie był oznaczony, na płytce było po prostu kilka styków połączonych ścieżkami, więc musiałem to przerobić, korzystając z własnych szablonów części (makra), całkowicie narysować warstwa sitodruku wskazująca wartości pierwiastków.

Przeprojektowane tablice wyglądają następująco:

W celu prawidłowego działania dekodera zainstalowany jest dławik mocy dla mikroukładu CD4028; w zasadzie zamiast niego można zainstalować zworkę (patrz lewy dolny róg płytki).

Stabilizator 7805 montowany jest na małym grzejniku:

Zmontowana płytka wygląda następująco:

Wszystko niezbędne materiały aby powtórzyć wskaźnik, w tym oprogramowanie układowe mikrokontrolera i plik informacyjny instrukcję montażu bezpieczników dla programu Algorithm Builder znajdziesz w archiwum. Zawiera także oryginalny artykuł z zagranicznego magazynu, w którym omawiany jest ten analizator widma i oczywiście płytki drukowane bloków w formacie LAY6. Rozmiar pliku – 6 Mb.



Jeśli zauważysz błąd, zaznacz fragment tekstu i naciśnij Ctrl+Enter
UDZIAŁ: