OpenScope – otwarta, wielofunkcyjna przystawka pomiarowa
Artykuł opisuje urządzenie pomiarowe OpenScope MZ firmy Digilent. Moduł dysponuje możliwościami oscyloskopu, generatora sygnałów, analizatora stanów logicznych oraz precyzyjnego źródła zasilania. Stanowi on ciekawą oraz tańszą alternatywę dla przystawek pomiarowych Digital Discovery oraz Analog Discovery 2. Daje również możliwość samodzielnego zaprogramowania procesora PIC32MZ za pomocą oprogramowania Arduino IDE lub MPLAB X IDE.
W artykule wykorzystano następujące elementy:
- OpenScope MZ
- Przewód microUSB
- Przewody męsko-męskie
- Przewody zakończony wtyczką „krokodylek”
- Multimetr np. Miernik uniwersalny UT 132C
Rys. 1. OpenScope MZ
OpenScope MZ to wielofunkcyjne narzędzie pomiarowe, stworzone przez firmę Digilent. Projekt miał swoje początki w lutym 2017 roku kiedy to pojawiła się zbiórka na portalu crowdfundingowym Kickstarter. Zbiórka zakończyła się sporym sukcesem – projekt został wsparty przez 1076 osoby, które łącznie przeznaczyły na projekt kwotę 107 tys. dolarów (celem była kwota 100 tys. dolarów). Pozwoliło to firmie Digilent na rozpoczęcie produkcji oraz wprowadzenie produktu na rynek.
OpenScope MZ może pełnić następujące funkcje:
- dwukanałowego oscyloskopu,
- generatora funkcyjnego,
- analizatora stanów logicznych (10 kanałów),
- precyzyjnego zasilacza (±4 V/50 mA).
Podczas pracy w trybie oscyloskopu dostępne są dwa kanały pomiarowe, a każdy z nich pozwala na pomiar z 12-bitową rozdzielczością. Pasmo pomiaru wynosi 2 MHz (przy -3 dB, maksymalna częstotliwość próbkowania wynosi 6,25 MS/s). Zakres mierzonego napięcia wynosi ±20 V (układ wytrzymuje jednak napięcie chwilowe aż do ±40 V). Impedancja wejściowa wynosi 1 MΩ. OpenScope MZ wykorzystuje przetwornik analogowo-cyfrowy mikrokontrolera PIC32MZ (układ PIC32MZ2048EFG124). Maksymalny rozmiar bufora wynosi 32640 próbki na kanał.
Kolejną funkcją OpenScope MZ jest generator funkcyjny. OpenScope MZ pozwala generować sygnały z rozdzielczością 10 bitów oraz z częstotliwością od 1 Hz do 1 MHz. Napięcie wyjściowe wynosi 3 V (ze składową stałą do 1,5 V), prąd wyjściowy – 20 mA. natomiast bufor ma wielkość 25000 próbek. Możliwe jest generowanie sygnałów sinusoidalnych, trójkątnych, piłkokształtnych, prostokątnych oraz stałych.
Następną funkcją OpenScope MZ jest analizator stanów logicznych. Dostępne jest 10 pinów, które mogą być ustawione jako pin GPIO (wejście lub wyjście) lub mogą pracować w trybie analizatora stanów logicznych (logika 3,3 V).
OpenScope MZ może również pełnić rolę precyzyjnego źródła zasilania. Pozwala on generować napięcie z zakresu ±4 V o maksymalnym prądzie do 50 mA. Ta opcja sprawdzi się, gdy potrzebujemy określonego napięcia, np. do przetestowania działania komparatora.
Moduł OpenScope MZ został wyposażony w 4 diody LED, które sygnalizują aktualny stan w jakim znajduje się urządzenie, a także dwa przyciski monostabilne. Płytka może być zasilana poprzez złącze microUSB lub z zewnętrznego źródła zasilania. Oprócz komunikacji za pomocą przewodu microUSB (USB 2.0), dostępna jest również łączność Wi-Fi (802.11g). Pozwala ona na komunikację bezprzewodową.
Aby zabezpieczyć moduł OpenScope MZ przed uszkodzeniami podczas używania, firma Digilent zaprojektowała specjalną obudowę, którą można wydrukować na drukarce 3D. Pliki STL obudowy można znaleźć na portalu Thingiverse pod linkiem: www.thingiverse.com/make:406938. Wydrukowana obudowa prezentuje się następująco:
Rys. 2. Obudowa dla OpenScope MZ wydrukowana na drukarce 3D
Obudowa chroni nasz moduł przed uszkodzeniami i przypadkowymi zwarciami, a jednocześnie zapewnia dostęp do wszystkich złącz, przycisków oraz diod LED znajdujących się na płytce OpenScope MZ. W sprzedaży dostępna jest również akrylowa obudowa przeznaczona dla OpenScope MZ.
Moduł OpenScope MZ, oprócz wymienionych wcześniej funkcjonalności, może być programowany w środowisku Arduino IDE lub Microchip MPLAB X IDE. Firmware urządzenia można znaleźć w serwisie github. Można go użyć jako punktu wyjścia do projektu własnego oprogramowania na płytkę.
Dokumentację modułu OpenScope można znaleźć na stronie producenta firmy Digilent – LINK
W zestawie z modułem OpenScope MZ znajduje się przewód który z jednej strony posiada złącze 2×30 podłączone do modułu OpenScope MZ, a z drugiej strony ma pojedyncze złącza zakończone końcówkami żeńskimi, które można dołączyć do analizowanego układu.
Rys. 3. Przewód 30-żyłowy znajdujący się w zestawie z OpenScope MZ
OpenScope MZ dysponuje 30-pinowym złączem. Nazwy oraz role poszczególnych pinów zostały przestawione na grafice poniżej:
Rys. 4. Wyprowadzenia OpenScope MZ
Role poszczególnych pinów złącza:
-
- 1+ (AL1+/OSC1) – kanał pierwszy oscyloskopu / wejście analogowe kanał 1,
- 2 +(AL2+/OSC2) – kanał drugi oscyloskopu / wejście analogowe kanał 2,
- 1- (GND/AI1-) – masa kanału pierwszego oscyloskopu,
- 2- (GND/AI2-) – masa kanału drugiego oscyloskopu,
- GND – masa,
- V1 (DC1) – wyście zasilacza DC kanał 1,
- V2 (DC2) – wyście zasilacza DC kanał 2,
- W1 (AWG1) – wyście generatora funkcji kanał 1,
- C1 (INT/CLK1) – pin przerwania/timer 1,
- TI – wejście triggera,
- TO- wyjście triggera,
- 1 (D1) – wejście/wyjście GPIO kanał 1,
- 9 (DO9) – wejście/wyjście GPIO kanał 9,
- 2 (D2) – wejście/wyjście GPIO kanał 2,
- 10 (DO10) – wejście/wyjście GPIO kanał 10,
- 3 (D3) – wejście/wyjście GPIO kanał 3,
- C2 (INT/CLK2) – pin przerwania/zegar 2,
- 4 (D4) – wejście/wyjście GPIO kanał 4,
- P1 (SDI/SDO) -SPI DATA wejście/wyjście,
- 5 (D5) – wejście/wyjście GPIO kanał 5,
- P2 (SDI/SDO/UART_TX)- SPI DATA (wejście/wyjście) / UART TX,
- 6 (D6) – wejście/wyjście GPIO kanał 6,
- P3 (SPL_CLK/UART_CTS) -sygnał zegarowy SPI / UART CTS,
- 7 (D7) – wejście/wyjście GPIO kanał 7,
- P4 (SPI_CS/UART_RTS/PWM1) – sygnał CS interfejsu SPI/sygnał RTS interfejsu UART/wyście sygnału PWM kanał 1,
- 8 (D8) – wejście/wyjście GPIO kanał 8,
- P5 (UART_RX/PWM2) – sygnał RX interfejsu UART/wyście sygnału PWM kanał 2.
Pierwszym krokiem jaki należy wykonać, żeby rozpocząć pracę z OpenScope MZ, jest instalacja na komputerze oprogramowania Digilent Agent. Jest ono dostępne systemy Windows, Mac oraz Linux (64-bit .deb).
Po pobraniu instalatora na nasz system operacyjny, rozpoczynamy proces instalacji. Przebiega on w typowy sposób.
Po podłączeniu OpenScope MZ do komputera za pomocą przewodu microUSB, należy wybrać ikonę Digilent Agent (w przypadku systemu Windows znajduje się ona w tray) w prawym dolnym roku ekranu i wybrać pozycję Launch WaveForms Live.
Rys. 5. Uruchomienie WaveForms Live
W przeglądarce uruchomi się strona waveformslive.com
Rys. 6. Okno strony waveformslive.com
Następnie należy dodać OpenScope MZ do listy urządzeń. W tym celu wybieramy przycisk ADD A DEVICE. Rozwinie się wtedy menu:
Rys. 7. Wybór połączenia z OpenScope MZ
Pojawiły się trzy przyciski:
- Network – pozwala na połączenie bezprzewodowe z OpenScope MZ za pomocą domowej sieci lokalnej,
- Simulated – pozwala na symulowanie działania OpenScope MZ bez fizycznego posiadania modułu,
- Agent – pozwala na połączenie przewodowe z OpenScope MZ.
Na tę chwile wybiorę opcję Agent. Po wybraniu tej opcji rozwinie się pole z lokalnym adresem naszego modułu OpenScope. Aby dodać urządzenie, klikamy przycisk ze znakiem „+” (czerwona ramka – rysunek 8)
Rys. 8. Wybór połączenia z OpenScope MZ za pomocą przewodu
Pojawi się kolejne okno, w którym należy wybrać port COM odpowiadający naszemu modułowi. Poniżej jest również zaznaczony status połączenia. Aby połączyć się z modułem OpenScope MZ naciskamy przycisk OPEN.
Rys. 9. Wybór portu COM do komunikacji z OpenScope MZ
Przy pierwszym uruchomieniu może pojawić się komunikat o niezbędnej aktualizacji oprogramowania, należy wówczas wybrać przycisk OK
Rys. 10. Informacje o aktualizacji oprogramowania OpenScope MZ
W następnym oknie zostanie wyświetlona informacja o tym, jaka wersja oprogramowania jest aktualnie zainstalowana na module OpenScope MZ oraz jakie nowe wersje są dostępne. W celu rozpoczęcia aktualizacji wybieramy przycisk UPDATE (proces może potrwać kilka minut).
Rys. 11. Wybór wersji oprogramowania do aktualizacji
Jeśli wszystko przebiegło prawidłowo, pojawi się następujący komunikat o zakończonym procesie aktualizacji:
Rys. 12. Pasek postępu aktualizacji oprogramowania