wersja mobilna | kontakt z nami

Laboratorium pomiarowe elektronika na bazie Raspberry Pi 3 oraz Analog Discovery 2

Numer: Październik/2017

Żadnego elektronika nie trzeba przekonywać, jak ważne dla niego jest posiadanie na wyposażeniu swojego warsztatu podstawowych narzędzi pomiarowych. Zgromadzenie różnych przyrządów i koszty z tym związane to jedna sprawa, a ilość miejsca, które muszą zająć, to kolejny ważny problem. Tylko nieliczni mają wydzielone całe pomieszczenie na uprawianie swojego hobby. Rozwiązaniem opisywanego problemu może być zastosowanie komputera jednopłytkowego oraz Analog Discovery 2, który może pełnić funkcję wielu przyrządów pomiarowych. Szczegóły w artykule.

Pobierz PDF

rys1Nowoczesne przyrządy cyfrowe, takie jak oscyloskopy, generatory, multimetry i inne, nie są zbyt duże, ale trudno zmieścić je na blacie biurka, który muszą współdzielić z komputerem. Z doświadczenia wiem, że zwykle powierzchnia biurka jest niewystarczająca, z drugiej strony trudno do drobnych prac wyjmować i łączyć całe oprzyrządowanie, a po zakończeniu prac rozłączać je i chować. Z tego punktu widzenia dobrze by było mieć przyrząd wielofunkcyjny, który zajmowałby mało miejsca, a łączyłby w sobie funkcjonalność wymienionych instrumentów. Poszukiwania doprowadziły mnie do niewielkiej płytki AD2, czyli Analog Discovery 2 firmy Digilent, dostępnej w specjalnej, „akademickiej” cenie w sklepie KAMAMI.pl.

Zalety tego urządzenia poznałem, uczestnicząc w pierwszej serii warsztatów „Discover(y) Analog World”. W trakcie ich trwania zapadła decyzja o zakupie do mojego domowego laboratorium. Zalet przyrządu AD2 nie będę tu opisywał, bo nie jest to celem tego artykułu. Wystarczająco dużo informacji można znaleźć na mikrokontroler.pl w artykule Jarosława Dolińskiego „Analog Discovery 2 – nieziemskie laboratorium pomiarowe” opublikowanym w EP 2/2016 oraz „Analog Discovery 2 – zintegrowane laboratorium pomiarowe na USB. Test” na stronie mikrokontroler.pl. Również na portalu microgeek.eu zamieszczono artykuły opisujące przykłady praktycznego zastosowania tego „maleństwa”.

rys2Dlaczego więc nie zrobić następnego kroku w kierunku minimalizacji biurkowego (i może mobilnego) laboratorium pomiarowego? Pomyślałem, że w obecnych czasach, gdy mamy istny „wysyp” przeróżnych minikomputerów jednopłytkowych, warto za pomocą takiego komputera i AD2 wykonać miniaturowe laboratorium pomiarowe. Po przeszukaniu Internetu i lekturze różnych artykułów, mój wybór padł na Raspberry Pi 3. Wyboru dokonałem, wiedząc, że konkurenci przynajmniej od strony technicznej wyprzedzają ten moduł, ale z kolei Raspberry ma w sieci największe wsparcie, co może być pomocne, a parametry wystarczające, aby wykonać odpowiednią aplikację obsługującą AD2 dla systemu Linux.

Nie zapominajmy też o tym, że trzeba mieć na czym oglądać wynik pracy płytki AD2. Może być to monitor komputerowy (RPi3 ma wyjście HDMI), ale również wyświetlacz LCD (moim zdaniem o przekątnej co najmniej 7”), Przydałoby się też mieć możliwość przenoszenia przyrządu oraz jego wygodnej obsługi, na przykład za pomocą klawiatury i myszki. Po ponownym przeszukaniu zasobów Internetu skompletowałem zestaw pokazany na fotografii 1. W jego skład wchodzą:

rys3- Raspberry Pi 3.
- Zasilacz dla RPi3 dostarczający napięcie 5 V przy obciążalności 3 A.
- Wyświetlacz LCD 7” z „obudową” i pojemnościowym panelem dotykowym, łączony z RPi3 poprzez HDMI i USB, a na tylnej ściance obudowy można przymocować RPi3.
- Radiatory do chłodzenia procesora RPi3.
- Obudowa RPi3 z możliwością zainstalowania wentylatora chłodzącego procesor.
- Konwerter USB/UART dla RPi3 – to tak dla późniejszych zastosowań.
- Karta pamięci z oprogramowaniem RPi3.
- Miniaturowa klawiatura z interfejsem Wi-Fi ze zintegrowaną myszką.
- Zasilacz zewnętrzny dla AD2.

Podstawowe elementy składowe miniaturowego laboratorium

Skoro sprzęt jest skompletowany, to czas na połączenie wszystkiego, uruchomienie systemu, wgranie odpowiedniego oprogramowania i testy funkcjonalne. Jednak w tym celu musiałem przede wszystkim zapoznać się z modułem Raspberry Pi 3 oraz tym, jak uruchomić na nim system Linux. Pomocne są materiały umieszczone na stronach:

https://goo.gl/Ts1ZEi,
https://goo.gl/W7Vk4Z,
https://goo.gl/c3zaDj.

Mimo zakupu karty z systemem NOOBS postanowiłem jednak zainstalować na karcie SD system operacyjny zgodnie ze wskazówkami z instrukcji „Installing operating system images”. W sumie okazało się to bardzo łatwe.

Teraz przyszła kolej na wyświetlacz LCD, który miał współpracować z modułem RPi3. Oczywiście, informacji na jego temat trzeba szukać u źródła, czyli na stronie https://goo.gl/Fe1JcS. Należy przy tym zwrócić szczególną uwagę na rozdział Working with Raspberry Pi i zawarte w nim  informacje na temat modyfikacji pliku config.txt zapisanego na karcie SD w katalogu głównym. Ten plik trzeba zmodyfikować przez dodanie następujących wpisów:

rys4max_usb_current=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1024 600 60 6 0 0 0
hdmi_drive=1

Można to zrobić za pomocą komputera z dowolnym systemem operacyjnym i edytora tekstowego, wkładając kartę do czytnika i edytując plik config.txt.

Czas na pierwsze uruchomienie RPi3. W tym celu łączymy port microUSB na wyświetlaczu LCD z portem USB na RPi3 (stosowny krótki kabel microUSB jest na wyposażeniu wyświetlacza), wyjście HDMI z RPi3 z wejściem HDMI na wyświetlaczu (stosowny krótki kabel HDMI jest na wyposażeniu wyświetlacza) i port microUSB na RPi3 z zasilaczem. Po sprawdzeniu połączeń włączamy zasilacz do sieci. Po chwili powinien zostać wyświetlony obraz uruchamianego systemu (fotografia 2).

Zintegrowany zestaw

Cały zestaw został zmontowany i zintegrowany, system operacyjny działa i obsługuje panel dotykowy, jednak brakuje wspomnianych wcześniej klawiatury i myszy. Oczywiście, można użyć typowych peryferii dołączanych za pomocą USB, jednak w ten sposób urządzenie przestanie mieć miniaturowe wymiary. Zdecydowałem się więc na zastosowanie miniaturowej klawiatury ze zintegrowanym panelem dotykowym i interfejsem radiowym (fotografia 3). Jej przyłączenie nie wymaga jakichś dodatkowych czynności – wystarczy w złączu USB umieścić transceiver klawiatury.

rys6Część sprzętowa naszego urządzenia pomiarowego jest już gotowa. Teraz nastał czas, aby zainstalować niezbędne oprogramowanie. Tu będzie pomocna strona firmy Digilent, na której należy odszukać pliki instalacyjne odpowiednie dla naszego zestawu Raspberry Pi. Tu niespodzianka – firma Digilent opracowała i udostępniła oprogramowanie w wersji instalacyjnej przeznaczonej dla Raspberry Pi! Na zrzutach ekranowych (rysunek 4) widać na czerwono zakreślone odnośniki do oprogramowania.

Oprogramowanie można pobrać, używając do tego komputera i potem przenieść na kartę SD lub można to zrobić z poziomu przeglądarki RPi3. Wówczas pobrane pliki zostaną umieszczone w domyślnym folderze „downloads” Linuksa na RPi3. Ważne, aby pobrać i później zainstalować składniki oprogramowania w kolejności jak dalej:

digilent.adept.runtime_2.16.6-armhf.deb
digilent.adept.utilities_2.2.1-armhf.deb
digilent.waveforms_3.5.4_armhf.deb

Podczas instalowania programów zostaniemy poproszeni o hasło administratora. O ile wcześniej nie zmieniliśmy haseł, to domyślne hasło brzmi „raspberry”.

rys7-9Po pomyślnym zainstalowaniu oprogramowania skrót do niego zostanie umieszczony w menu, w sekcji Programowanie. Po uruchomieniu programu bez dołączonego AD2 możemy skorzystać wyłącznie z wersji demonstracyjnej. Ważne, że bez żadnych problemów oprogramowanie uruchamia się, podobnie jak w systemie Windows czy Linux na „dużym” komputerze.

Połowa drogi za nami, teraz należy przyłączyć AD2 do RPi3 i zobaczyć, jak całość zadziała. Tu należy chwilę się zatrzymać i wyjaśnić, że dołączenie AD2 do RPi3 za pomocą kabelka portów microUSB w AD2 i portu USB w RPi3 jest niewystarczające, jeśli chodzi o zapotrzebowanie prądowe AD2. Należy zastosować dodatkowy zasilacz zewnętrzny dla AD2, co też zrobiłem (fotografia 5).

Po uruchomieniu oprogramowania WaveForms moduł AD2 powinien zostać automatycznie zidentyfikowany i uruchomiony, o czym świadczy status na dolnym pasku oprogramowania, na którym jest pokazany numer seryjny oraz Status OK, co widać na fotografii 6. Przykładowe efekty działania tak wykonanego systemu pomiarowego pokazano na rysunkach 7, 8 i9.

Przez pewien czas wydawało mi się, że wszystko funkcjonuje w jak najlepszym porządku, ale nagle nieprzyjemna niespodzianka: nastąpiło zerwanie współpracy AD2 z RPi3 w sposób zaskakujący, bo komunikat ekranowy sugeruje kłopoty z zasilaniem, co nie jest prawdą. W tym czasie zasilania są w jak najlepszym porządku, co pokazały pomiary. Niestety sytuacja się powtarza i to z różnymi komunikatami (rysunek 10, 1112). Po analizie różnych możliwości spróbuję podjąć następujące kroki:

- Zastosuję HUB USB do podłączenia peryferii do RPi3.
- Jeżeli to nie pomoże, to dla testów dodatkowo zasilę całość z zasilacza laboratoryjnego.

Myślę jednak, że problem jest zupełnie gdzie indziej, mianowicie po stronie bibliotek adept2 zrobionych na potrzeby Raspberry Pi. Informacja sugerująca poprawność diagnozy jest dostępna na forum Digilent https://goo.gl/EB6684 (rysunek 13). Jak widać, podobne problemy mają i inni użytkownicy RPi3 oraz AD2. Nie poddaję się jednak, bo potencjał prezentowanego rozwiązania jest spory!

rys10-13Wojciech Przybycień
microgeek.eu

Pozostałe artykuły

Przemysłowy Internet Rzeczy. Mikrokontroler CC1310 i zestaw startowy CC1310 LaunchPad

Numer: Październik/2016

W artykule omówiono mikrokontroler CC1310 produkcji Texas Instruments oraz zaprezentowano moduł startowy LaunchPad z mikrokontrolerem CC1310. W kolejnych artykułach - już w rubryce "Kursy" - pokażemy, w jaki sposób rozpocząć programowanie mikrokontrolera CC1310 oraz zaprezentujemy przykładowy projekt z wykorzystaniem platformy startowej CC1310 LaunchPad.

Wear leveling, czyli równoważenie zużycia pamięci EEPROM. Przykłady oprogramowania dla AVR

Numer: Październik/2016

W wielu systemach procesorowych zachodzi potrzeba zapamiętywania parametrów, na przykład ustawień użytkownika również po wyłączeniu napięcia zasilającego. Idealnym rozwiązaniem w takim wypadku wydaje się użycie pamięci EEPROM, w którą często są wyposażone nowoczesne mikrokontrolery. To rozwiązanie, mimo iż jest nieskomplikowane, tanie i skuteczne ma jednak wadę wynikającą z cech pamięci tego typu i sposobu jej kasowania oraz ...

Sterowanie jednofazowymi, bezszczotkowymi silnikami prądu stałego

Numer: Październik/2016

W aplikacjach małej mocy, w których istotny jest koszt, a wymagania odnośnie uzyskiwanego momentu obrotowego są małe, jednofazowe, bezszczotkowe silniki stałoprądowe (BLDC) są często dobrą alternatywą dla silników trójfazowych. W artykule pokazujemy, jak korzystać z niedrogich mikrokontrolerów do sterowania pracą tego typu silników, zbudowanych w oparciu o jedno uzwojenie.

Amazon Alexa. Instalowanie i obsługa głośnika Echo Dot

Numer: Wrzesień/2017

W artykule poświęconym asystentce głosowej Alexa zaprezentujemy produkowany przez firmę Amazon głośnik Echo Dot. Opiszemy sposób skonfigurowania głośnika i instalacji umiejętności Skills oraz praktyczne przykłady użycia wbudowanej w głośnik asystentki głosowej Alexa.

Programowanie pamięci zewnętrznych w systemie z STM32 za pomocą ST-Link

Numer: Wrzesień/2016

Podczas budowania systemów mikroprocesorowych wyposażonych w zewnętrzne układy pamięci często pojawia się potrzeba podglądu i modyfikacji ich zawartości. O ile z dostępem do wewnętrznej pamięci mikrokontrolera najczęściej nie ma problemu (realizuje to programator/debugger), o tyle z dostępem do pamięci zewnętrznych dołączonych do mikrokontrolera nie jest już tak łatwo. Można oczywiście posiłkować się specjalnie tworzonymi ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Listopad 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym