Serwisy partnerskie:
Close icon
Serwisy partnerskie

Uniwersalny generator częstotliwości na bazie Arduino

Article Image
Elmax
Bieżący projekt jest generatorem podstawowych funkcji w zakresie częstotliwości akustycznych. Generator tego typu jest przydatny dla uruchamiania i testowania wzmacniaczy, eksperymentów w zakresie cyfrowego przetwarzania sygnałów DSP oraz innych laboratoryjnych pracach w zakresie częstotliwości akustycznych.

Generator ten na trzy wyjścia, na których wytwarza przebieg sinusoidalny, prostokątny i piłozębny. W zasadzie całość generatora mieści się na płytce Arduino. Pożądane przebiegi tworzone są programowo. Dodatkowymi elementami są: wyświetlacz LCD, dwa potencjometry 10 kΩ (VR1 i VR2) i kilka drobnych pasywnych elementów. LCD1 to wyświetlacz znakowy 2×16 znaków alfanumerycznych na którym mikroprocesor na Arduino wyświetli częstotliwość generowanego sygnału.

Potencjometr VR1 podłączono do 3-go pinu wyświetlacza. Tu napięciem stałym można ustawić kontrast treści wyświetlanej na LCD1. Potencjometrem VR2 można ustawić napięcie z zakresu 0 V do +5 V i powinien to być potencjometr o charakterystyce liniowej. Napięcie to podane jest na wejście analogowe A0 mikrokontrolera. Program czyta tu wartość analogową, a odpowiedzią jest regulacja częstotliwości generowanych przebiegów. 

Sygnały wyjściowe tworzone są na wyjściach 3, 9 i 10 Arduino. Na pinie 3 mamy przebieg prostokątny, na pinie 9 sinusoidalny, a na 10 uzyskano przebieg piłokształtny. Przebiegi na wyprowadzeniach 9 i 10 są w istocie przebiegami PWM i w modulacji szerokości impulsu zawarta jest chwilowa wartość analogowa przebiegu piłozębnego i sinusoidalnego. Przebieg wyjściowy odzyskany jest za pomocą prostego filtru dolnoprzepustowego RC. Przebieg z pinu 3 nie podlega filtracji i tu jest czysty prostokąt z wyjścia cyfrowego mikrokontrolera na Arduino. Do generacji przebiegów wykorzystano dwa timery obecne w mikrokontrolerze ATmega 328. Na timerze 1 wykonano generator 10 kHz który służy do regulacji szerokości przebiegów PWM. Timer 0 odlicza żądaną ilość impulsów dla uzyskania pożądanej częstotliwości przebiegów. W procesie generacji przebiegów program wykorzystuje technikę przerwań i komparatora cyfrowego, w które wyposażony jest hardware mikrokontrolera. Realizacja generatora jest w pełni programowa i program ten można ściągnąć pod nazwą freq_gen.ino. Program ten wykorzystuje rejestry mikrokontrolera zgodnie z tym jak przewiduje karta katalogowa ATmega 328. Software napisano w języku Arduino i skompilowano bezpłatnym oprogramowaniem Arduino IDE. 

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: generator częstotliwości, Arduino UNO, DSP
AUTOR
AUTOR
Źródło
Elektronika dla Wszystkich listopad 2023
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"