LabJack od wielu lat rozwija kompaktowe systemy akwizycji danych, oferując jednocześnie bogatą gamę akcesoriów. Rodzina składa się z kompletnych systemów akwizycji (DAQ), w której poszczególne modele różnią się m.in. liczbą wejść i wyjść analogowych i cyfrowych, typami wejść analogowych, maksymalną i efektywną rozdzielczością oraz częstotliwością próbkowania, a także liczbą wewnętrznych liczników/układów czasowych, portami komunikacyjnymi czy wbudowanym zegarem czasu rzeczywistego. Do rodziny LabJack należą modele: U3-LV, U3-HV, U6, U6-Pro, UE9, UE9-Pro, U12, T4, T7 i T7-Pro. Ważną cechą modeli T4, T7 i T7-Pro jest możliwość obsługiwania ich za pośrednictwem skryptów pisanych przez użytkowników. Skrypty te są zapisywane w pamięci Flash modułu i są uruchamiane w trybie stand-alone w chwili włączenia zasilania. Tym samym moduł staje się autonomicznym systemem akwizycji danych. Urządzenia DAQ T7-Pro oprócz portów USB i Ethernet komunikują się z hostem bezprzewodowo za pośrednictwem interfejsu Wi-Fi.
Niekwestionowaną zaletą modułów LabJack jest oprogramowanie udostępniane na forum użytkowników. Projektanci systemów w wielu przypadkach mogą znaleźć niemal gotowe rozwiązanie danego problemu, pozyskiwane za darmo lub za niewielką opłatą. Podobnie jest z dokumentacją i praktycznymi poradami użytkowników, prezentowanymi na forum. Ich obfitość jest wielką zaletą, ale też nieraz trzeba poświęcić trochę czasu, aby przeszukać wiele dokumentów, zanim dotrze się do odpowiedniego rozwiązania.
Uniwersalność
Można zaryzykować twierdzenie, że za pomocą modułów DAQ oferowanych przez LabJack można rozwiązać większość typowych problemów związanych z akwizycją i analizą danych pomiarowych. Dostępne moduły rozszerzające, takie jak: dokładne źródła referencyjne, wzmacniacze pomiarowe, przełączniki mocy, translatory poziomów sygnałów cyfrowych, bufory we/wy, multipleksery sygnałów analogowych i wiele innych, zwiększają standardową funkcjonalność każdego DAQ-a. Rodzina urządzeń została zaprojektowana tak, aby możliwa była niemal dowolna rozbudowa systemu pomiarowego. Dotyczy to zarówno samego łączenia różnych typów modułów DAQ, jak i ich rozszerzeń.
Każdy DAQ dysponuje wewnętrznymi zasobami, których liczba i rodzaje zależą od danego modelu. Przykładowo LabJack T7 zawiera: 14 pojedynczych wejść/wyjść analogowych o rozdzielczości od 16 do 18 bitów (parametr zależny od szybkości akwizycji, wejścia mogą być łączone w 7 par różnicowych), można również używać ich w trybie wzmacniaczy pomiarowych o wzmocnieniu ×1, ×10, ×100 i ×1000, uzyskując zakresy ±10, ±1, ±0,1 i ±0,01 woltów, 2 wyjścia analogowe o rozdzielczości 12 bitów i zakresie 0...5 V, 23 wejścia/wyjścia cyfrowe wykorzystywane również do obsługi interfejsów SPI, I2C i asynchronicznego portu szeregowego.
Podczas pracy w trybie stream osiągana jest częstotliwość próbkowania danych do 100 kHz zależna jednak od rozdzielczości. W trybie wydawania poleceń czas odpowiedzi nie przekracza 1 milisekundy. Do zasobów DAQ-a zaliczają się ponadto układy czasowe/liczniki, które mogą być użyte do implementacji wyjść PWM (1...32 bitów). Sprzętowe liczniki modułów T7 mogą zliczać impulsy o częstotliwości do ok. 40 MHz, ich programowa implementacja pozwala na pracę do 200 kHz. Układy czasowe są często używane do realizacji funkcji debounce. Urządzenia zawierają ponadto watchdog i wbudowany czujnik temperatury. Zewnętrzne rezystancyjne czujniki różnych wielkości mogą być zasilane również wbudowanymi źródłami prądowymi o wydajności 200 µA i 10 µA.
Użytkownicy piszący własne skrypty dla modułów LabJack mają dostęp do zasobów poprzez rejestry. W komunikacji z otoczeniem używany jest protokół Modbus TCP, niezależnie od interfejsu (USB, Ethernet czy Wi-Fi). Mapowanie rejestrów jest zgodne z tym protokołem, ale wysokopoziomowa biblioteka LJM pozwala odwoływać się do rejestrów również przez ich nazwy, np. „AIN0”.
Software
LabJack dostarcza darmowe oprogramowanie, za pomocą którego można w ciągu kilku minut skonfigurować dowolny moduł DAQ, a nawet zbudować układ pomiarowy. Podstawowym programem służącym do konfigurowania modułu jest Kipling (rysunek 1). Konfiguracja może być zapamiętywana w pamięci nieulotnej DAQ-a i wykorzystywana później np. w trybie stand-alone. Najprostszą metodą zbudowania prostego układu pomiarowego jest użycie programu LJLogM, w którym można nie tylko odczytywać dane cyfrowe z DAQ-a, ale też przedstawiać je w postaci wykresów. Dużo bardziej zaawansowany program DAQFactory może posłużyć nawet do sterowania procesem przemysłowym.
Przykład aplikacji – pomiar siły ścisku dłoni
Aby pokazać, jak łatwe jest stworzenie użytkowej aplikacji z modułami LabJack, zaprojektujemy system pomiaru siły za pomocą dynamometru ręcznego. Równie proste w implementacji mogą być także inne podobne zagadnienia. W opisywanym przykładzie siła jest mierzona czujnikiem tensometrycznym pracującym w konfiguracji pełnego mostka. Kolejne etapy projektu to: konfiguracja modułu, kalibracja układu pomiarowego i graficzne zobrazowanie wyników w darmowym programie LJlogM dostarczanym przez LabJack.
Mostek może być zasilany z systemowego źródła napięcia +5 V – „VS”. W wielu zastosowaniach takie rozwiązanie jest w pełni wystarczające, ale ze względu na możliwość występowania w napięciu VS zakłóceń, a także dopuszczalnej jego niestabilności, można również skorzystać ze źródła referencyjnego o regulowanym napięciu np. „DAC0”. Obciążalność tego wyjścia jest równa 20 mA, więc dla mostka 350-omowego dopuszczalny prąd nie powinien być przekroczony nawet dla maksymalnego napięcia 5 V. W aplikacjach wymagających dużej dokładności i powtarzalności można zastosować dodatkowy zewnętrzny moduł rozszerzający zawierający precyzyjne źródło referencyjne.
W przyjętym rozwiązaniu napięcie referencyjne „DAC0” ustawiono na 3,5 V. Kolejnym krokiem konfigurowania DAQ-a jest połączenie wejść AIN0 i AIN1 w tryb wejścia różnicowego, co wykonano w programie Kipling (rysunek 2). Czujniki tensometryczne dostarczają bardzo niskich napięć wyjściowych. Są one na poziomie kilku miliwoltów dla pełnego zakresu. Konieczne jest zatem wybranie największego wzmocnienia, czyli najniższego zakresu pomiarowego: 0,01 V. Prace konfiguracyjne kończą się na zaznaczeniu opcji powodującej przyjęcie tej konfiguracji jako domyślnej, a więc odtwarzanej po włączeniu zasilania modułu lub po restarcie.
Drugim etapem realizacji projektu jest kalibracja toru pomiarowego. Przeprowadza się ją dwupunktowo, obciążając tensometr znanymi siłami. W tym przypadku jest to brak obciążenia i ciężarek o znanej masie. Siłę działającą na dynamometr przeliczamy, mnożąc masę w kilogramach przez 9,81. Przy braku obciążenia uzyskano wskazanie 29 µV (jest to ciężar samego dynamometru), a dla obciążenia masą 1,212 kg wskazanie było 80 µV. Charakterystyka toru pomiarowego jest zatem wyrażona równaniem:
Wyrażenie to należy wpisać w polu definiującym kanał pomiarowy przypisany do wejścia AIN0 w programie LJLogM (rysunek 3). W praktyce należało jeszcze nieco skorygować wartość ustalającą zerowe obciążenie na 8,2 zamiast 6,76.
Na tym kończy się faza realizacji projektu, można przystąpić do pomiarów. Najpierw obciążono dynamometr siłą kalibrującą 1,212 kG=11,89 N, a następnie zmierzono siłę ścisku dłoni – 280 N (lewa) i ok. 340 N (prawa) – bez rewelacji (rysunek 4).
Opisany przykład pokazuje, jak łatwo i szybko można przygotować praktyczną aplikację używającą modułów LabJack. W pomiarze zastosowaliśmy czujnik, który w większości przypadków wymagałby specjalnego interfejsu i dość złożonego oprogramowania. Tu działania ograniczyły się do wskazania trzech parametrów za pomocą myszki, jednego obliczenia i wpisania formuły matematycznej w programie wizualizującym pomiary. Prościej chyba się nie da.
Jarosław Doliński, EP
Inne artykuły o wyrobach LabJack:
- U3-LV i U3-HV – „Elektronika Praktyczna” 05/2012 i 09/2012
- U6-Pro i UE9-Pro – „Elektronika Praktyczna” 10/2012
- T7 i T7-Pro – „Elektronik” 03/2020
- T4 – „Elektronik” 04/2020