Cyfrowy generator sygnału sinusoidalnego

Cyfrowy generator sygnału sinusoidalnego
Pobierz PDF Download icon

Większość prostych generatorów sygnału sinusoidalnego jest realizowana w sposób analogowy, np. z użyciem mostka Wiena. Rodzi to jednak problemy ze stabilnością amplitudy i częstotliwości sygnału. W przedstawionym układzie synteza sygnału odbywa się na drodze czysto cyfrowej, więc jego parametry są precyzyjnie ustalone.

Podstawowe parametry:
  • generacja sygnału sinusoidalnego o częstotliwości z zakresu 1 Hz…10 kHz,
  • częstotliwość zadawana przyciskami lub enkoderem,
  • możliwość zawężenia zakresu regulacji zarówno od góry, jak i od dołu,
  • amplituda z zakresu 0…1,8 V regulowana potencjometrem,
  • zerowa składowa stała napięcia wyjściowego,
  • zapamiętywanie ustalonej częstotliwości,
  • wbudowany stabilizator napięcia 5 V,
  • zasilanie napięciem stałym 8 V…20 V.

Opisany układ może z powodzeniem służyć jako niedroga alternatywa dla prostych generatorów sygnału sinusoidalnego. Umożliwia dokładne ustalenie częstotliwości, więc można nim np. zdejmować charakterystyki częstotliwościowe układów działających w paśmie akustycznym.

Nie posiada wbudowanego wyświetlacza, lecz każdy współczesny oscyloskop cyfrowy, który i tak jest niezbędny podczas wykonywania pomiarów, może go z powodzeniem zastąpić.

Budowa

Schemat ideowy układu pokazano na rysunku 1. Można w nim wydzielić trzy części: cyfrową (sterującą), analogową (sygnałową) i zasilającą. W części cyfrowej, głównym podzespołem jest mikrokontroler typu STM32F051K8T6, który posiada jedno, bardzo istotne peryferium – wbudowany przetwornik cyfrowo-analogowy (DAC), który umożliwi wytworzenie sygnału analogowego o wysokiej jakości, ponieważ dysponuje 12-bitową rozdzielczością.

Rysunek 1. Schemat ideowy układu

Mikrokontroler komunikuje się z zewnętrzną pamięcią EEPROM za pomocą interfejsu I2C. Linie danych (SDA) oraz zegara (SCL) muszą być podciągnięte do dodatniej linii zasilania przez rezystory, które umożliwiają uzyskanie wysokiego stanu logicznego. Przyciski sterujące można podłączyć do złącz J5 i J6. Ich wciskanie będzie powodowało, odpowiednio, zwiększanie oraz zmniejszanie częstotliwości wyjściowej. Rezystory R16 i R18 służą do ochrony wejść mikrokontrolera przed uszkodzeniem, które mogą wywołać wyładowania elektrostatyczne. Po pierwsze, ograniczają prąd diod zabezpieczających owe wejścia. Ponadto, po uwzględnieniu niezerowej pojemności wejściowej wyprowadzenia, zwiększają czas narastania napięcia, co pozwala diodom na wejście w stan przewodzenia.

Przy użyciu zworki JP1 można wybrać tryb pracy układu: „wolny” lub „szybki”. „Wolny” polega na jednokrotnej reakcji układu (zmianie o 1 Hz) przy każdym zwarciu zacisków złącza J5 lub J6. Z kolei, tryb „szybki” umożliwia płynną zmianę częstotliwości po dłuższym przytrzymaniu. Tryb „wolny” może zostać użyty do sterowania układu przy użyciu enkodera. Do złącza J4 należy dołączyć jego wyjście kwadraturowe. Układ złożony z dwóch przerzutników typu D ma za zadanie rozpoznać kierunek obrotu jego osi i wygenerować sygnały odpowiadające wciskaniu przycisków. Tryb „szybki” jest z kolei przydatny do sterowania układem przy użyciu przycisków monostabilnych.

Dłuższe zwarcie zacisków spowoduje samoczynną zmianę częstotliwości.

Stanem aktywnym na wyjściu przerzutników D jest stan niski, toteż sprzęgnięto je z pozostałą częścią układu za pomocą diod 1N4148. Jeżeli układ sterowany jest przyciskami, potencjał katod tych diod wynosi +5 V i pozostają one stale zatkane. W momencie obracania enkoderem, katody są okresowo ściągane do potencjału 0 V, co otwiera diody i umożliwia mikrokontrolerowi rozpoznanie niskiego stanu logicznego – potencjał anody wynosi wtedy ok. 0,7 V, zaś próg napięcia interpretowanego jako logiczne „0” to około 1 V.

Na płytce zostały umieszczone dwa wieloobrotowe potencjometry montażowe, które służą zawężeniu dostępnego zakresu regulacji. Ich położenie jest odczytywane przy użyciu wbudowanego w mikrokontroler 12-to bitowego przetwornika ADC. Napięcie wchodzące na przetwornik podlega odfiltrowaniu z zakłóceń przy użyciu prostego układu RC. Jego zadaniem jest również zawężenie pasma dla szumu, przez co ustalona wartość nie fluktuuje.

Wyjście przetwornika cyfrowo-analogowego posiada znaczącą impedancję. Z tego powodu, przed filtrem regeneracyjnym trzeba wstawić wtórnik napięciowy, który ją zmniejszy. Najprostszym rozwiązaniem jest zastosowanie wzmacniacza operacyjnego typu LM358, gdyż jego parametry są całkowicie do tego wystarczające.

Schemat symulacyjny zastosowanego filtru dolnoprzepustowego znajduje się na rysunku 2. Został wykonany w programie Ltpice.

Rysunek 2. Schemat symulacyjny filtru dolnoprzepustowego

Wyjście wtórnika można zamodelować jako niemal idealne źródło napięciowe, zaś wejście następnego stopnia jako rozwarcie (brak obciążenia), co zostało uczynione. Na rysunku 3 widoczny jest wynik symulacji. Do 10 kHz charakterystyka jest niemal idealnie płaska, co jest pożądane w generatorze sygnałowym –  raz ustawiona amplituda nie będzie ulegała zmianom przy regulacji częstotliwości. Grubą linią zaznaczono częstotliwość próbkowania, czyli 300 kHz. Zadaniem filtru (oraz następnych stopni) jest jak najsilniejsze stłumienie tej składowej oraz jej harmonicznych. Tutaj widać, że tłumienie dla tej częstotliwości to ok. 16 dB.

Rysunek 3. Uzyskana w symulacji charakterystyka amplitudowa filtru

Za filtrem jest prosty wzmacniacz nieodwracający, zbudowany na drugiej połówce układu LM358. Jego wzmocnienie wynosi 1,1 V/V, stąd tak nieczęsto spotykane wartości rezystorów R3 i R4 – zazwyczaj są one zamienione. Kondensator C12 sprzęga dolne wyprowadzenie R3 z masą układu dla składowej zmiennej, dzięki czemu ten obwód w ogóle ma wzmocnienie, a jednocześnie nie zależy ono od poziomu składowej stałej w sygnale wejściowym. Składowa stała jest natomiast definitywnie usuwana przez kondensator elektrolityczny C13. Jego obciążeniem jest potencjometr P1, którym można płynnie regulować amplitudę sygnału.

Dociekliwy Czytelnik może w tym miejscu zwrócić uwagę na rezystor R5, którego jedynym zadaniem w tym układzie jest pozornie niepotrzebne obciążanie wyjścia układu US3B. Ma on bardzo ważne zadanie – stale polaryzuje jeden z tranzystorów wyjściowych stopnia końcowego we wzmacniaczu operacyjnym, którego schemat wewnętrzny jest widoczny na rysunku 4. Zapewniając dopływ prądu z dodatniej linii zasilania powoduje on, że tranzystor Q13 jest stale otwarty, ponieważ „wsysa” ten prąd emiterem. Zapobiega to powstawianiu w tym miejscu zniekształceń skrośnych.

Rysunek 4. Schemat ideowy układu LM358 z zaznaczonym stopniem wyjściowym (źródło: nota katalogowa Texas Instruments)

Bez tej dodatkowej polaryzacji, uzyskiwana sinusoida miała nieprawidłowy przebieg w okolicy przejścia przez zero, co było spowodowane znalezieniem się wartości chwilowej sygnału w strefie nieczułości wyjściowego wtórnika komplementarnego. W obecnej sytuacji, praktycznie cały czas pracuje wyłącznie tranzystor Q13, lecz to nie jest przeszkodą, gdyż nad utrzymaniem niskiego poziomu zniekształceń czuwa pętla ujemnego sprzężenia zwrotnego.

Z tym schematem związana jest jeszcze jedna, rzadko wspominana cecha układu typu LM358. O ile napięcie wejściowe może być równe potencjałowi ujemnej linii zasilającej, o tyle stopień wyjściowy już tego zapewnić nie może. Nawet nasycając w pełni tranzystor Q12, potencjał emitera Q13 musi być o około 0,7 V wyższy od potencjału jego bazy, więc minimalne napięcie wyjściowe będzie o tyle wyższe od potencjału ujemnej linii zasilającej.

Wtórnik US3A nie mógłby pracować poprawnie, gdyby jego zacisk GND dołączono do masy, gdyż zakres napięć wyjściowych przetwornika C/A wynosi od 0 V do 3,3 V. Został w tym celu dodany prosty generator napięcia ujemnego, w którym główną rolę odgrywa mikrokontroler. Jeden z jego liczników (TIM14) służy do wytwarzania ciągłego sygnału prostokątnego o częstotliwości 50 kHz i wypełnieniu 50%. Dwu-diodowy układ wytwarza napięcie ujemne o wartości około –2 V, co jest w zupełności wystarczające do prawidłowej pracy wszystkich obwodów wzmacniacza operacyjnego.

Układ jest przystosowany do zasilania napięciem stałym o wartości z przedziału 8…20 V. Jako stabilizatory niezbędnych napięć – czyli 3,3 V oraz 5 V – zostały użyte układy liniowe, gdyż pobór prądu jest niewielki. Napięcie 5 V zostało przewidziane, przede wszystkim, na potrzeby enkoderów optycznych, gdyż takowe są przystosowane głównie do niego, np. 62AG22-L5-P firmy Grayhill.

Dodatnia linia zasilająca wzmacniacz operacyjny jest pobierana wprost z napięcia zasilającego układ. Dzięki temu, ma on bardzo duży margines między maksymalnym napięciem wyjściowym a zasilającym.

Montaż i uruchomienie

Układ został zmontowany na dwustronnej płytce drukowanej o wymiarach 60×60 mm, której wzór ścieżek oraz schemat montażowy pokazano na rysunku 5.

Rysunek 5. Schemat montażowy i wzór ścieżek płytki

W odległości 3 mm od krawędzi płytki znalazły się otwory montażowe. Wszystkie podzespoły, które wchodzą w skład tego układu, są montowane po stronie wierzchniej (TOP).

Przeważającą część stanową elementy w obudowach przystosowanych do montażu powierzchniowego, więc od nich polecam rozpocząć lutowanie.

Jedyną czynnością uruchomieniową, jakiej wymaga ten układ, jest zaprogramowanie pamięci Flash mikrokontrolera używając do tego specjalnie przeznaczonego złącza J3. Znajdują się na nim wyprowadzenia interfejsu SWD, ułożone według kolejności pokazanej w tabeli 1. Należy w tym celu zasilić płytkę napięciem stałym o wartości z przedziału 8...20 V, podłączając zasilacz do odpowiednich zacisków złącza J1. Pobór prądu nie przekracza 30 mA.

Tabela 1. Kolejność wyprowadzeń w złączu J3
Numer wyprowadzenia Nazwa linii
1 SWCLK
2 GND
3 SWDIO
4 NRST

Eksploatacja

Na płytce znajduje się zworka JP1, która umożliwia wybranie jednego z dwóch trybów pracy:

  • 1-2: Tryb wolny. Jednokrotne zwarcie zacisku SW+ lub SW– powoduje zmianę częstotliwości o 1 Hz. Użyteczny przy sterowaniu enkoderem, gdyż jeden krok enkodera przekłada się na skok o 1 Hz,
  • 2-3: Tryb szybki. Jednokrotne zwarcie SW+ lub SW– zmienia częstotliwość o 1 Hz, a dłuższe przytrzymanie powoduje samoczynną zmianę częstotliwości. Im dłużej zwarte jest wejście, tym szybciej zmienia się częstotliwość. Użyteczny przy sterowaniu przyciskami, podłączonymi do J5 i J6.

Potencjometry wieloobrotowe pozwalają na zawężenie zakresu regulacji: P2 „od góry”, zaś P3 „od dołu”. Działają one niezależnie od siebie, a regulacja ta odbywa się liniowo w funkcji kąta obrotu ich osi. Sprawdzenie, czy aktualnie ustawiona częstotliwość nie wychodzi poza ograniczenia, odbywa się po zwarciu wejścia SW+ lub SW–-.

Potencjometr P2 pozwala na ustawienie maksymalnej częstotliwości równej 10 kHz – obracając jego oś w kierunku zaznaczonym na płytce jako MAX – lub zmniejszenie jej do nawet 2 kHz. Z kolei, przekręcając oś P3 w kierunku MAX można zwiększyć częstotliwość minimalną do 100 Hz. W pozycji minimalnej, wynosi ona 1 Hz.

Amplituda wyjściowego napięcia sinusoidalnego może być płynnie regulowana potencjometrem P1. Z tego powodu rezystancja wyjściowa układu ulega zmianie: od niemal zera w skrajnych pozycjach, do około 5 kΩ w środkowym położeniu ślizgacza.

Wyprowadzenia sygnałowe enkodera inkrementalnego należy podłączyć do złącza J4. Jeżeli jest to enkoder mechaniczny, zawierający elementy stykowe, może być konieczne dodanie do jego wyprowadzeń układów RC. Przykładowe rozwiązanie takich filtrów znajduje się na rysunku 6.

Rysunek 6. Przykładowy filtr RC poprawiający pracę enkodera mechanicznego

Enkoder optyczny nie będzie wymagał takich dodatków, gdyż zmianom stanów wyjść nie towarzyszą niepożądane oscylacje.

Na zaciski złącza J2 zostało wyprowadzone stabilizowane napięcie o wartości 5 V. Może ono służyć np. do zasilania obwodów enkodera optycznego. Obciążając je większym prądem, należy mieć na uwadze nagrzewanie się układu US2, do którego należy wówczas dodać radiator.

Pamięć EEPROM, w której przechowywane są informacje na temat ustawionej częstotliwości, ma ograniczoną liczbę cykli zapisu i odczytu. Z tego powodu, zapis do niej odbywa się po dwóch sekundach od ostatniej zmiany częstotliwości.

Michał Kurzela, EP

Wykaz elementów:
Rezystory:
  • R1, R2: 1 kΩ SMD0805
  • R3: 100 kΩ SMD0805
  • R4, R8…R18: 10 kΩ SMD0805
  • R5…R7: 3,3 kΩ SMD0805
  • P1: 10 kΩ jednoobrotowy liniowy 16 mm THT
  • P2, P3: 10 kΩ wieloobrotowy montażowy THT
Kondensatory:
  • C1, C13: 220 μF/25 V THT raster 3,5 mm
  • C2…C7, C14, C16, C17, C19…C22: 100 nF/50 V SMD0805
  • C8, C9, C12, C15, C18: 10 μF/10 V SMD0805
  • C10, C11: 1 nF SMD0805
Półprzewodniki:
  • D1: 1N4007 MELF
  • D2…D5: 1N4148 MiniMELF
  • US1: L78L33ACU SOT89
  • US2: 7805 TO220
  • US3: LM358 SO8
  • US4: 24C04 SO8
  • US5: STM32F051K8T6 TQFP32
  • US6: CD4013 SO14
Inne:
  • J1: ARK3/500
  • J2, J4…J6: ARK2/500
  • J3: goldpin 4 pin męski THT 2,54 mm
  • JP1: goldpin 3 pin męski THT 2,54 mm + zworka
Artykuł ukazał się w
Elektronika Praktyczna
luty 2020
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów