Generator sygnału – z komunikacją po porcie szeregowym?!

Generator przebiegów prostokątnych to bardzo przydatne narzędzie. Dzięki niemu możecie sterować prędkością silników, obracać ramię serwa, ściemniać i rozjaśniać diody – ilość zastosowań jest wręcz nieograniczona. Podobnie ma się z ilością ich realizacji – od dużych, laboratoryjnych, aż po te najmniejsze, zbudowane np. na NE555 (czy wręcz cewce, tranzystorze i kilku kondensatorach). Od dłuższego czasu szukałem małego generatora, którego mógłbym używać do doświadczeń. Potrzebowałem narzędzia, które umożliwia generowanie sygnału o zadanej częstotliwości i stopniu wypełnienia. I znalazłem taki – całkiem ciekawy za dosłownie 15 złotych. Jak sprawuje się w praktyce?

Prezentowany układ, mimo że bardzo tani, oferuje całkiem ciekawe możliwości. Układ kupiłem zmontowany, choć do używania wymaga samodzielnego wlutowania pinów.

Siglent SDG810 – „trochę” bardziej zaawansowany generator

 

Parametry

Kilka danych od sprzedawcy:

Sprzedawca Wolne tłumaczenie
Two independent PWM generators can set the frequency and duty cycle Dwa niezależne generatory PWM z ustawianiem częstotliwości i stopnia wypełnienia
Working voltage: 5–30V, support micro USB 5.0V power supply. Napięcie zasilające 5-30v; można zasilić przez port microUSB
Frequency range: 1Hz ~ 150KHz. Zakres generowanych częstotliwości: 1Hz – 150KHz.
Output current: <30mA. Maksymalny prąd wyjściowy nie większy ni ż 30mA

Zasilanie

Układ można zasilać z gniazda USB lub poprzez piny VIN na płytce.

Na płytce znajduje się port microUSB – np. łącząc go standardowym kablem USB z portem Waszego komputera.

Sprzedawca podaje, że maksymalne zasilanie, jakie można podłączyć do pinów Vin+ i Vin- to 30v. Piny te wchodzą na stabilizator 7150h. Zgodnie z notą katalogową, maksymalne dopuszczalne napięcie wejściowe tego stabilizatora to 24v. Więcej bym nie podłączał.

Minimalne napięcie podawane na piny Vin to 5v. Dziwne rzeczy będą się działy, jeżeli podacie mniej niż 5v. Sygnał będzie trzymał parametry, ale będzie mało stabilny. Poniżej 3.5v układ się wyłącza.

Sterowanie

Częstotliwość i stopień wypełnienia ustawia się za pomocą trzech przycisków.

Wciskając przycisk „set” możecie wybierać między:

  • „Fr1”: częstotliwość na wyjściu PW1,
  • „du1”: stopień wypełnienia sygnału na wyjściu PW1,
  • „Fr2”: częstotliwość na wyjściu PW2,
  • „du2”: stopień wypełnienia sygnału na wyjściu PW2.

Przytrzymując na chwilę klawisz „set” możecie przełączać między różnymi różnymi zakresami generowanego sygnału.

Wyświetlacz

Wyświetlacz podaje parametry generowanego sygnału:

  • XXX: 1Hz do 999Hz (co 1Hz),
  • XX.X: 0.1KHz do 99.9KHz (co 100Hz).
  • X.X.X: zakres 1KHz do150KHz (co 1 KHz, np. 1.5.0).

Przykładowo, na wyświetlaczu:

  • „500”: oznacza częstotliwość 500Hz,
  • „001”: 1 Hz,
  • „00.1”: 100Hz (0.1kHz),
  • „01.5”: 1.5kHz,
  • „0.0.1”: 1 kHz,
  • „0.1.0”: 10kHz,
  • „1.0.0”: 100kHz,
  • „1.5.0”: 150kHz.

Stopień wypełnienia wyświetlany jest jako 0 do 100 – w domyśle procent.

Generator

Na wyjściu z układu generowane są przebiegi prostokątne o zadanym stopniu wypełnienia, częstotliwości oraz amplitudzie 5v.

Przebiegi będą miały amplitudę 5v niezależnie od sposobu zasilania – czy będzie to microUSB, czy piny Vin. Trochę szkoda – większe amplitudy czasem by się również przydały. Po drugie – nie możecie takiego generatora używać jako wejście dla np. ESP8266 czy Raspberry Pi – bo te urządzenia posługują się logiką 3.3v.

A teraz kilka uwag na temat jakości generowanego sygnału.

Żółte przebiegi – SDG 810; niebieskie – badany generator.

Jak widzicie… do 1 kHz właściwie nie ma żadnych problemów. Generatorek po prostu robi to, co powinien.

Problemy pojawiają się trochę później – np. przesterowania (50kHz):

Im większa częstotliwość tym jest gorzej, aż przy granicy 150kHz:

Ale co ciekawe – do samego końca (150kHz) obydwa kanały PWM1 i PWM2 działają niezależnie:

Smaczek: komunikacja przez port szeregowym

Na płytce generatora znajdziecie piny opisane TX, RX oraz GND. Piny te umożliwiają komunikację szeregową z generatorem. Dzięki temu możecie ustawiać jego parametry z komputera czy innego mikrokontrolera. Przydatne, nieprzydatne – możliwe.

Wystarczy do tego przejściówka USB-serial. Podłączacie zasilanie do generatora, połączycie masy oraz:

  • masę przejściówki z masą generatora,
  • pin rx generatora do tx przejściówki,
  • pin tx generatora do rx przejściówki,

Uwaga: łączymy tx z rx – na krzyż.

Teraz uruchamiacie terminal szeregowy (np. Putty), podłączacie się do portu przejściówki (na Windows: COMx, na linux: /dev/ttyUSB0) z szybkością 9600.

W zakładce „terminal” warto zaznaczyć funkcję wyświetlania echa na terminalu. Wtedy będziecie widzieć, co wpisujecie.

Otwórzcie połączenie i zacznijcie wydawać polecenia.

Polecenia muszą być wydawane dużymi literami.

Przykładowo: „S1F100T”:

Jak widzicie, po wpisaniu „S1F5” – generator zwrócił „FAIL” – co oznacza błąd w komunikacji. Spróbowałem jeszcze raz pisząc powoli: „S1F500T”. Układ odpowiedział „DOWN” – co oznacza sukces (nieważne, czy zmienialiście wartość w górę, czy dół).

Podobnie:

  • „S1FXXXT”: ustaw częstotliwość PWM1 na XXX HZ
  • „S1FXX.XT”: ustaw częstotliwość PWM1 XX.X KHZ,
  • „S1F:X.X.X.T”: ustaw częstotliwość PWM1 na XXX KHZ
  • „S1DXXXT”: ustaw stopień wypełnienia PWM1 na XXX (procent),
  • „S2DXXXT”: ustaw stopień wypełnienia PWM2 na XXX (procent),
  • „S1”: polecenie odnosi się do sygnału PWM1
  • „S2”: polecenie odnosi się do sygnału PWM1
  • „F”: polecenie odnosi się do częstotliwości,
  • „D”: polecenie odnosi się do stopnia wypełnienia sygnału,
  • „T”: koniec polecenia.

Podsumowanie

  • Generuje tylko przebiegi prostokątne o częstotliwości 1Hz – 150kHz,
  • Generuje przebiegi o wypełnieniu w zakresie 0 – 100%, nawet na tyle dziwne jak 1% czy 99%,
  • Przebiegi zmieniają się w granicach 0 – 5v – niezależnie od wartości podanego napięcia zasilającego,
  • Do 1 kHz przebiegi są w miarę czyste, później pojawiają się przesterowania,
  • Obydwa kanały PWM1 i PWM2 działają niezależnie.

Podsumowując: małe i sprytne urządzenie, zdecydowanie przydatne. Za te pieniądze – nie zastanawiałbym się nawet chwili.

Źródła

Dodaj komentarz

Proszę dodaj swój komentarz. Pamiętaj, żeby nie podawać żadnych danych osobowych.