Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 41 II Konferencja etechnologies in Engineering Education etee 2015 Politechnika Gdańska, 30 kwietnia 2015 ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM Adam MUC 1, Lech MURAWSKI 2, Grzegorz GESELLA 2, Adam SZELEZIŃSKI 2, Arkadiusz SZARMACH 3 1. Polsko-Japońska Akademia Technik Komputerowych w Gdańsku, Wydział Zamiejscowy Informatyki tel.: 504 449 932 e-mail: mucadam@pjwstk.edu.pl 2. Akademia Morska w Gdyni, Wydział Mechaniczny tel.: 516 513 666 e-mail: a.szelezinski@wm.am.gdynia.pl 3. Gdański Uniwersytet Medyczny w Gdańsku, II Zakład Radiologii tel.: 583 493 680 e-mail: a.szarmach@gumed.edu.pl Streszczenie: Platformy cyfrowe Arduino i Raspberry Pi wykorzystano do nauki sterowana obiektem pneumatycznym. Stanowią one zintegrowane środowiska sprzętowo-programistyczne osadzone na mikrokontrolerach z rodziny AVR i ARM. W pracy wykorzystano sterowanie siłownikiem zasilanym przez sprężarkę tłokową za pośrednictwem elektrozaworu. W skład zestawu wchodzi również zasilacz impulsowy i wyłączniki krańcowe. Przedstawione ćwiczenie laboratoryjne pozwala na porównanie sterowania siłownikiem za pomocą przekaźników i wymienionych platform cyfrowych oraz wyznaczanie jego pozycji. Opisane stanowisko stanowi funkcjonalne oraz elastyczne narzędzie dydaktyczne do nauczania sterowania w systemach pneumatycznych, a po modyfikacji, również hydraulicznych. Za pośrednictwem prezentowanego stanowiska studenci mają również możliwość poznania podstaw programowania mikrokontrolerów. Słowa kluczowe: platformy cyfrowe, Arduino, Raspberry, sterowanie, pneumatyka, programowanie mikrokontrolerów. 1. WSTĘP Studenci kierunków technicznych, w szczególności związanych z informatyką, elektroniką, automatyką, elektrotechniką czy mechatroniką, w trakcie kształcenia spotykają się z zagadnieniami sterowania, które realizowane jest za pomocą różnych platformach sprzętowoprogamistycznych. W zależności od kierunku kształcenia preferowana jest często tylko jedna ze strategii, t.j. sterowanie sprzętowe lub programowe. W pierwszym przypadku studenci wykorzystują układy cyfrowe lub przekaźniki, a w drugim mikrokontrolery lub sterowniki PLC z wgranymi programami. Rzadko natomiast mają możliwość zapoznania się i porównania obu strategii. W proponowanym stanowisku, studenci mogą porównać, na przykładzie prostego systemu pneumatycznego, sterowanie oparte na przekaźnikach ze sterowaniem wykorzystującym platformę cyfrową z mikrokontrolerem. Dodatkowo, studenci mogą sami przeprowadzić montaż i demontaż stanowiska lub tylko zapoznać się z jego działaniem. Typowe nauczanie programowania mikrokontrolerów, a następie zaimplementowanie ich do kontrolowania wybranego obiektu wymaga od studentów znajomości programowania niskopoziomowego i elektroniki. Dzięki dedykowanym platformom cyfrowym takim jak Arduino czy Rasbperry Pi programowanie staje się znacznie prostsze, a wymagana znajomość elektroniki ogranicza się do obsługi podstawowych elementów elektronicznych i urządzeń [1]. Do nauczania sterowania programowego wykorzystywane są często sterowniki PLC. Zaletą tego rozwiązania jest możliwość wyboru kilku języków programowania, z których do najprostszych należą języki drabinkowe. Z drogiej strony, sterowniki są znacznie droższe i mniej elastyczne w implementacji. Obecnie dostępne sterowniki PLC to wydatek rzędu kilkuset złotych. Moduły rozszerzające właściwości sterników PLC są również drogie, a ich funkcjonalności nie są znowu aż tak bardzo różnorodne. Przykładowo, pozwalają na obsługę Ethernetu, ale już problemem jest obsługa WiFi czy Bluetooth. 2. WYBRANE PLATFORMY CYFROWE Arduino i Raspberry Pi można wykorzystać do programowego sterowania obiektami mechanicznymi, w tym pneumatycznymi lub hydraulicznymi. Sterowanie to jest możliwe przez podłączenie do wybranych platform cyfrowych systemu mechanicznego za pośrednictwem interfejsu tranzystorowego i przekaźników. Bezpośrednie podłączenie nie jest możliwe ze względu na różne poziomy napięć i prądów. W obu platformach wykorzystywane napięcie robocze, które można wystawić na portach, obejmuje zakres od 0 do 5 V, a wydajność prądowa wynosi około 45 ma. Natomiast napięcie, które podawane jest na elektrozawór w systemie pneumatycznym jest najczęściej równe 24 V lub jest wyższe. Popularność Arduino i Raspberry Pi spowodowała, że pojawiły się rozwiązania konkurencyjne: STM32, AVR (Adafruit GEMMA i Trinket), Banana Pi, BeagleBoard, RloTboard, Stellaris LaunchPad, Freedom Freescale, PIC czy platformy firmy Intel, takie jak Galileo i Edison. Podstawowa różnica między nimi polega na zastosowaniu innego procesora i wyposażenia. Często jednak jest tak, że są one kompatybilne z układami rozszerzającymi funkcjonalność Arduino lub Raspberry Pi. Niektóre z wyżej wymienionych platform można nawet programować za pomocą środowiska Arduino IDE.
Zasadnicza różnica między Arduino i Raspberry Pi polega na tym, że pierwszy układ jest otwartą platformą sprzętową z dedykowanym środowiskiem programowania Arduino IDE, a drugie mikrokomputerem z systemem operacyjnym. Arduino i Raspberry Pi są bardzo elastycznymi platformami, które umożliwiają realizację bardzo różnych projektów. Dużą rozpiętość możliwości tych układów pokazują liczne pozycje książkowe, przykładowa to [2], lub strony internetowe [4-6], na których autorzy prezentują swoje, często bardzo wymyślne, projekty. 2.1. Właściwości Arduino Arduino powstało w 2005 roku jako projekt otwartej platformy sprzętowej. Obecnie na rynku występuje kilka wersji Arduino. Najbardziej popularnymi są: UNO, Leonardo i Mega. Kolejną cechą charakterystyczną tej platformy jest wysokopoziomowa biblioteka. Język programowania Arduino jest połączeniem środowiska Wiring i języka C/C++ [2,4]. Programowanie mikrokontrolera polega więc na podłączeniu go za pomocą kabla USB z komputerem, na którym jest zainstalowane środowisko Arduino IDE. W kolejnym kroku, zadaniem programisty jest wypełnienie dwóch funkcji. Pierwsza to setup(), a druga to loop(). Funkcja setup służy zainicjowaniu portów i rejestrów platformy, natomiast druga funkcja realizuje pętlę nieskończoną, która pozwala nasłuchiwać porty wejścia/wyjścia układu. Funkcja loop() zawiera również logikę programu lub wywołuje inne funkcje. Napisany program jest następnie kompilowany przez avr-gcc i wgrywany do podłączonej płytki Arduino [2]. 2.2. Właściwości Rasbperry Pi Rasbperry Pi jest stosunkowo nowym pomysłem na mikrokomputer. Powstało w 2012 roku. W sprzedaży są dwa podstawowe modele oparte o procesor z rodzimy ARM. Główna różnica między nimi dotyczy wielkości pamięci operacyjnej i liczby oraz typu gniazd rozszerzeń. Najnowsze modele to Rasbperry Pi A+ i B+ [6,7]. Rys. 1. Platforma sprzętowa Arduino MEGA Podstawowa różnica między nimi dotyczy wykorzystanego procesora, wielkości użytych pamięci, liczby portów i ich typów. Każdy z powyżej wymienionych modeli Arduino może być zasilany w zakresie od 6 do 20 V, ale producent zaleca aby było to napięcie od 7 do 12 V. Mimo, że każdy z wariantów Arduino wyposażony jest w inny mikrokontroler z rodziny AVR, to maksymalna częstotliwość zegara we wszystkich układach wynosi 16 MHz. Tablica 1. Wybrane modele Arduino Model Uno Leonardo Mega Mikrokontroler ATmega328 ATmega32u4 ATmega2560 Pamięć SRAM 2 kb 2,5 kb 8 kb Pamięć FLASH 32 kb 32 kb 256 kb Pamięć EEPROM 1 kb 1 kb 4 kb Porty I/O 14 20 54 Wyjścia PWM 6 7 15 Wejścia AC 6 12 16 Interfejs szeregowy UART, SPI, I2C UART, SPI, I2C 4xUART, SPI, I2C Rys. 2. Mikrokomputer Raspberry Pi model B + Zestawienie parametrów modelu Raspberry A+ i B+ przedstawia tablica 2. Tablica 2. Wybrane modele Rasbperry Pi Model Raspberry Pi 2 A+ Raspberry Pi 2 B+ Mikrokontroler Broadcom CoS ARM Cortex-A7 BCM2835 Częstotliwość 700 MHz 900 MHz zegara Pamięć SDRAM 512 MB 1 GB Wyjście wideo RCA, HDMI Wyjście dźwięku jack 3,6 mm, HDMI Porty USB 1 4 Nośnik danych microsd Programowanie platformy pod względem sprzętowym Złącze sieciowe brak 10/100 Ethernet zostało uproszczone do niezbędnego minimum. Została ona (RJ45) wyposażona w program rozruchowy (bootloader), który GPIO 40 40 pozwala na programowanie mikrokontrolera Pozostałe złącza UART, I2C, SPI, +3,3V, +5V z wykorzystaniem portu szeregowego (UART) bez potrzeby (w ramach GPIO) użycia zewnętrznego programatora, jak np. USBASP. Zasalanie microusb microusb Wraz z platformą sprzętową stworzono środowisko programistyczne Arduino IDE, które oparto na projekcie W przeciwieństwie do Arduino, Raspberry Pi posiada Processing. Konfigurowanie i obsługiwanie środowiska jest system operacyjny i programowanie dostępnych portów wyjątkowo proste. 46 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN 2353-1290, Nr 41/2015
wejść/wyjść odbywa się z jego poziomu. System operacyjny w Raspberry Pi umiejscowiony jest na karcie SD lub microsd. Użytkownik może wybierać między takimi systemami jak: Raspbian, Debian GNU, Ach Linux ARM, RISC OS, Android 4.0, FreeBSD, Gentoo Linux, Google Chrom OS czy Slackware ARM [6,7]. W programowaniu Raspberry Pi nie jest więc wymagany programator ani dodatkowy komputer. Wystarczy, że monitor i klawiatura zostaną bezpośrednio podłączone do układu. Dla Raspberry Pi podstawowym językiem programowania jest Python. Samo programowanie polega więc na wywołaniu funkcji z poziomu terminala lub przez uruchamianie skryptów Pythona. 3. STEROWANIE UKŁADEM ELEKTROPNEUMATYCZNYM Elektropneumatyczne układy sterowania występują w maszynach i urządzeniach z napędami pneumatycznymi oraz sterowanymi elektrycznie [8]. Elektropneumatycznymi układami sterowania określamy układy, w których częścią energetyczną jest część pneumatyczna, a częścią sterującą elektryczna (współpracę elektrycznej części sterującej z pneumatyczną częścią energetyczną umożliwiają elementy elektropneumatyczne takie jak: elektropneumatyczne zawory rozdzielające) [9]. Elektryczna część sterująca przejmuje sygnały z elementów sygnałowych (przyciski, przełączniki, sensory). Elementy sterujące (przekaźniki, styczniki) przetwarzają sygnały wejściowe i wytwarzają sygnały oddziałujące na uruchomienie zaworów elektropneumatycznych. Elementy elektrycznej części sterującej (łączniki przyciskowe, sensory, przekaźniki, styczniki) wytwarzają sygnały elektryczne przez zwieranie i rozwieranie zestyków, są one elementami stykowo przekaźnikowymi układów sterowania elektrycznego [8]. Główną, stosowaną od dawna techniką sterowania elektrycznej części sterującej jest technika stykowo przekaźnikowa. Do części sterującej elektropneumatycznych układów sterowania zalicza się: elementy sygnałowe operatorskie (łączniki sterowane ręcznie) i sensory dostarczające informacji o stanie realizowanego procesu oraz elementy i układy przetwarzające sygnały elementów sygnałowych (przekaźniki, przetworniki), elementy wzmacniające i wytwarzające sygnały wyjściowe sterujące częścią energetyczną (przekaźniki, styczniki) [10]. Do ręcznego oddziaływania na elektryczne układy sterowania, przez zwieranie lub rozwieranie określonych obwodów, stosuje się łączniki sterowane ręcznie, a do określenia stanu pracy lampki sygnalizacyjne. cech detali (np. barwy, rodzaju materiału), pomiaru i kontroli ciśnienia [9]. Na schematach układów elektropneumatycznych, pneumatyczną część energetyczną i sterującą część elektryczną przedstawia się oddzielnie, tak jak na rysunku 3. Część pneumatyczna jest przedstawiana w postaci schematu układu pneumatycznego. Elektryczną część sterującą przedstawia się jako schemat połączeń, który pokazuje przebieg sygnałów w układzie sterowania. Niedogodnością związaną z klasycznym stycznikowoprzekaźnikowym sterowaniem elektropneumatycznym jest pracochłonna modyfikacja określonego układu. Przez połączenia przekaźników z poszczególnymi elementami układu jesteśmy w stanie jednoznacznie i trwale określić w jaki sposób będzie on działał (nie ma możliwości błyskawicznego wprowadzenia zmian). Jest to ogromną wadą tego rozwiązania. Możliwości szybkiej modyfikacji bez konieczności zmian połączeń pomiędzy urządzeniami współcześnie można uzyskać stosując sterowniki PLC oraz mikrokontrolery. Umożliwiają one również nastawianie, monitorowanie i diagnozowanie określonych nastaw układu. 4. STANOWISKO DYDAKTYCZNE Stanowisko dydaktyczne podstaw elektropneumatyki pokazane na rysunku 4 zostało wykonane do realizacji zajęć praktycznych związanych z nauczaniem pneumatyki i sterowania, których celem jest zapoznanie studentów z budową, zasadami działania, sposobami montażu oraz sterowania układów elektropneumatycznych. W pracy opisano również możliwości wykorzystania stanowiska laboratoryjnego do nauczania na odległość. Rys. 3. Prosty elektropneumatyczny układ sterowania W układach elektropneumatycznych sensory wykorzystywane są do sygnalizowania skrajnych części maszyn, wykrywania obecności detali lub rozpoznawania Rys. 4. Stanowisko laboratoryjne podstaw elektropneumatyki Do zasilania stanowiska zastosowano zasilacz impulsowy prądu stałego o napięciu 24V oraz ciśnienie robocze około 6 bar, które jest generowane przez sprężarkę tłokową. Sterowanie odbywa się za pomocą przekaźników i elektrozaworu. W skład wyposażenia stanowiska wchodzą: przekaźniki elektromagnetyczne z cewką na 24V DC, przyciski sterownicze NO i NC mono, przyciski bistabilne, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN 2353-1290, Nr 41/2015 47
czujniki: indukcyjny zbliżeniowy; optyczny odbiciowy, optyczny refleksyjny Un=24V DC styk NO, siłowniki pneumatyczne jedno i dwustronnego działania, zawory pneumatyczne 3/2, 5/2, zawór dławiąco-zwrotny, zawór odcinający, zawór szybkiego spustu, zespół przygotowania sprężonego powietrza, trójnik pneumatyczny. Podstawowym ćwiczeniem realizowanym na stanowisku jest sterowanie siłownikiem oraz określenie jego pozycji, mianowicie czy jest on wsunięty, wysunięty czy w trakcie wysuwania lub wsuwania. Określenie pozycji siłownika odbywa się za pomocą sygnału świetlnego uwidocznionego na lampkach sygnalizacyjnych. Sygnał do nich generują wyłączniki krańcowe, na które napotyka siłownik podczas pracy. Proces wysuwania i wsuwania siłownika jest sterowany za pomocą przycisków na przekaźnikach, które kontrolują pracę elektrozaworu. Stanowisko elektropneumatyki może być w pełni montowane przez studentów w ramach praktycznych zajęć dydaktycznych. Jeżeli studenci będą korzystać z Arduino wówczas na stanowisku powinien znajdować się komputer z systemem operacyjnym Windows, portami USB i zainstalowanym środowiskiem Arduino IDE. Zasady pisania programów pod Arduino zostały ogólnie omówione w rozdziale 2.1, natomiast dokładnie w [2]. W przypadku wykorzystania Raspberry Pi do programowania wymagany jest monitor, klawiatura i myszka. Niezależność tej platformy cyfrowej od dodatkowego sprzętu komputerowego jest jej zaletą. System operacyjny, na którym działa Raspberry Pi, jest najczęściej Linuksem. W związku z tym nie ma tu problemu z zainstalowaniem darmowego środowiska do programowania w Pythonie. Jest też możliwość aby instrukcje sterujące portami Raspberry Pi były wydawane bezpośrednio z poziomu shell a lub można ująć je w skrypcie Basha. hydraulicznych. Natomiast w przypadku innych kierunków studiów można ten etap pominąć i pozwolić studentom pracować na zmontowanym stanowisku. W takim wariancie ćwiczenia istotne jest, aby studenci rzetelnie zapoznali się z obiektem, na którym będą pracować. Bardzo pomocna jest w tym dołączona do stanowiska instrukcja. Inną możliwością jest nagranie filmu instruktarzowego pokazującego montaż stanowiska pneumatycznego, który dostarczy wartościowych informacji praktycznych przed opracowaniem strategii sterowania w kolejnym etapie. W drugim etapie realizacji ćwiczenia podstawowym zadaniem studentów jest przeanalizowanie schematu układu sterowania przedstawionego na rysunku 5, a następnie zaimplementowanie go w systemie pneumatycznym z pierwszego etapu. Należy nadmienić, że dla studentów kierunków inżynierskich właściwe interpretowanie schematów technicznych i ich stosowanie w warunkach rzeczywistych jest kluczową umiejętnością, która będzie wykorzystywana w ich późniejszej pracy zawodowej. Cały układ sterowania powinien być podłączany przez studentów, a następnie prowadzący zajęcia zobowiązany jest dokładnie go sprawdzić aby zminimalizować ryzyko wypadku przed testowym uruchomieniem. Właściwie podłączony układ działa następująco, tj. po wciśnięciu przycisku sterującego S1 powinien wysunąć się siłownik. Stan ten pozostaje w pamięci układu do czasu, aż zostanie zniesiony przez sygnał wyłączający. Przycisk sterujący S1 (normalnie otwarty) zamyka obwód z cewką przekaźnika K1, która jest włączona do obwodu równolegle z przyciskiem S1. Prąd płynący przez cewkę 1M1 podtrzymywany jest dopóty, dopóki siłownik nie osiągnie pozycji wysunięcia i przełącznik krańcowy 1B2 (normalnie zamknięty) nie przerwie obwodu. Wówczas prąd popłynie przez cewkę 1M2, co spowoduje przestawienie pozycji elektrozaworu. Skutkiem czego będzie powrót siłownika do pozycji wyjściowej. 5. SCENARIUSZ ĆWICZENIA Scenariusz proponowanego ćwiczenia podzielony jest na trzy etapy, a jego czas realizacji przewidziany jest na 9 godzin lekcyjnych, tj. po 3 godziny lekcyjne na każdy z etapów. Dopuszcza się możliwość pominięcia pierwszego etapu, którym jest montaż stanowiska z systemem pneumatycznym. Przed kolejnymi etapami ćwiczenia należy przypomnieć studentom o podstawowych zasadach BHP. Pracujące systemy pneumatyczne i hydrauliczne zawierają elementy ruchome, które poruszają się z dużymi prędkościami i siłami, dlatego mogą stanowić zagrożenie dla osób pracujących z nimi. Oprócz tego, zasilane są napięciami wyższymi niż wartości PELV czy SELV, co dodatkowo zwiększa ryzyko wypadku. W pierwszym etapie realizacji ćwiczenia zadaniem studentów jest zbudowanie systemu sterowania siłownikiem dwustronnego działania z zaworem bistabilnym i automatycznym powrotem. W tym etapie studenci zapoznają się z podstawowymi elementami składającymi się na system pneumatyczny oraz przeprowadzają montaż stanowiska. Etap ten jest szczególnie wartościowy dydaktycznie dla studentów, których program studiów obejmuje nauczanie systemów pneumatycznych lub Rys. 5. Schemat układu sterowania siłownikiem dwustronnego działania z elektrozaworem bistabilnym i automatycznym powrotem: 1V1 zawór 5/2, sterowany cewkami; 1V2, 1V3 jednodrożny zawór z regulacją przepływu; 1A1 siłownik dwustronnego działania; S1 przycisk sterowniczy; 1B2 przełącznik krańcowy; 1M1, 1M2 cewki sterujące zaworem; K1, K2 przekaźniki Po tym etapie studenci oprócz interpretacji schematu technicznego, uczą się szeregowania zdarzeń w sterowaniu oraz stosowania zaworów sprzężonych z czujnikami. W przedstawionym układzie sterowania studenci mogą również zmieniać typy czujników. Przykładowo, mogą wymiennie stosować czujniki optyczne i indukcyjne, a następnie badać ich właściwości oraz oceniać wpływ na pracę układu sterowania. 48 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN 2353-1290, Nr 41/2015
W trzecim etapie realizacji ćwiczenia zadaniem studentów jest podłączenie platformy cyfrowej Arduino i/lub Raspberry Pi, a następnie oprogramowanie jej w taki sposób, aby ograniczyć manualne sterowanie układem. Do poprawnego wykonania tej części ćwiczenia ważne są umiejętności i obserwacje, które studenci nabędą po drugim etapie ćwiczenia. Na ich podstawie studenci projektują algorytm sterowania, a następnie implementują go w postaci programu, który potem wgrywają na platformę cyfrową. W tym etapie studenci poznają również zasadę działania platformy i programowania mikrokontrolera, który jest w nią wbudowany. Następnie, uczą się jak ustawić porty wejścia i wyjścia, jak pobierać i przekazywać informacje między portami oraz otoczeniem platformy. Poznają podstawowe zasady ustawiania czujników i korzystania z nich. Pisząc program, studenci powinni dbać o przejrzystość kodu programu oraz stosować instrukcje warunkowe, pętle i wątki. Algorytm programu powinien też uwzględnić wyznaczanie pozycji siłownika. Ostateczny zakres programu powinien określić prowadzący zajęcia, aby dobrać jego stopień skomplikowania do umiejętności grupy laboratoryjnej. W każdej z opisywanych platform cyfrowych jest możliwość zaimplementowania komunikacji przewodowej przez Ethernet lub USB lub bezprzewodowej w postaci WiFi czy Bluetooth. W związku z tym studenci mogą dalej rozwijać swój program w kierunku sterowania systemem pneumatycznym z poziomu aplikacji desktopowej lub webowej obsługującej wymienione sposoby komunikacji. Ten kierunek wykorzystania stanowiska wymaga jednak od studentów większej wiedzy z zakresu programowania i technik informatycznych, ale jest atrakcyjny pod względem poznawczym i może stanowić wprowadzenie do systemów wbudowanych. 6. MOŻLIWOŚCI WYKORZYSTANIA STANOWISKA NAUCZANIU NA ODLEGŁOŚĆ Nauczanie z wykorzystaniem technologii internetowych jest obecnie jednym z ważniejszych kierunków rozwoju edukacji. Zastosowanie Internetu i technologii multimedialnych w dydaktyce jest szczególnie intensywne na kierunkach kształcenia, na których dominuje wykładowa forma prowadzenia zajęć. Prowadzenie na odległość wykładów, a nawet niektórych typów ćwiczeń (np. o charakterze obliczeniowym), nie jest obecnie problemem technicznym i organizacyjnym, ponieważ współczesne technologie wytwarzania stron WWW udostępniają różne możliwości prezentacji tekstu, obrazu i dźwięku. Wymiana dokumentów i komunikowanie się przez Internet jest również łatwe i powszechne. Natomiast w przypadku, gdy w zajęciach dydaktycznych wymagane jest wykorzystanie urządzeń, przeprowadzenie uruchomień testowych, pomiarów lub innych aktywności związanych z bezpośrednim oddziaływaniem uczących się na obiekt, dostępne technologie internetowe często stają się niewystarczalne [11]. Stanowiska laboratoryjne dedykowane do badania obiektów mechanicznych są jednymi z tych, które wymagają od studentów bezpośredniego zaangażowania się do pracy przy nich. Żaden film instruktarzowy lub obserwacja przez kamerę internetową nie zastąpi bezpośrednich wrażeń poznawczych, które występują na takich stanowiskach dydaktycznych. Natomiast w ćwiczeniach, w których obiekt mechaniczny nie jest głównym celem zainteresowania można ograniczyć się do zapoznania się z jego właściwościami i pracą. Z taką sytuacją mamy do czynienia w opisywanym stanowisku laboratoryjnym w etapie pierwszym. Jeżeli fakt instalowania systemu pneumatycznego w procesie dydaktycznym jest istotny, to należy go przeprowadzić bezpośrednio na stanowisku. Natomiast w innym wariantach ćwiczenia wystarczająca może być obserwacja, która pozwoli poznać specyfikę obiektu. Wówczas wystarczające będzie nagranie filmu i opublikowanie go w Internecie, aby zapewnić do niego dostęp możliwie największej liczbie studentów. Inną możliwością jest obserwacja w czasie rzeczywistym działań na stanowisku laboratoryjnym za pomocą darmowych lub komercyjnych komunikatorów, które udostępniają obraz i dźwięk. Przewagą tego rozwiązania nad filmem instruktarzowym jest głównie to, że prowadzący pokaz mogą na bieżąco komentować swoje działania, a obserwujący studenci mogą nawiązać z nimi kontakt i zadawać pytania [12]. Przy zachowaniu obecnej formy scenariusza w drugim etapie realizacji ćwiczenia również nie ma większych możliwości na implementację zdalnej formę nauczania, niż film instruktarzowy umieszczony na stronie lub obserwacja za pomocą komunikatora internetowego. Ponieważ sterowanie manualne obiektem pneumatycznym wymaga podobnie jak instalowanie systemu pneumatycznego bezpośredniej ingerencji i zaangażowania w ćwiczenie. Większych możliwości wykorzystania stanowiska laboratoryjnego w nauczaniu na odległość dostarcza wprowadzenie, opisywanych wcześniej, platform cyfrowych. W połączeniu z możliwością obserwowania stanowiska laboratoryjnego za pośrednictwem kamery internetowej można uzyskać duże możliwości interakcji z badanym obiektem. Największych możliwości w tym zakresie dostarcza Raspberry Pi, które ma wbudowaną kartę sieciową i linuksowy system operacyjny. Podłączając Raspberry Pi z jednej strony do Internetu, a z drugiej do systemu pneumatycznego stwarzamy możliwość aktywnej pracy na stanowisku laboratoryjnym. Linuksowy system operacyjny zainstalowany na Raspberry Pi pozwala na skonfigurowanie usług sieciowych takich jak SSH lub telnetu, które zapewnią zdalną pracę w konsoli systemu. Praca studentów może wówczas polegać na pisaniu skryptów w Bashu lub Pythonie, ich kompilowaniu i uruchamianiu na Raspberry Pi. Student podłączony w ten sposób do Raspberry PI może też sprawdzać stan portów i zmieniać ich ustawienia. W połączeniu z możliwością obserwowania przez kamerkę pracy na stanowisku, studenci mogą oceniać poprawność napisanego programu i efekty jego działania [2,12]. Podobnych możliwości pracy zdalnej dostarcza platforma Arduino. Standardową formą komunikowania się z platformą Arduino jest połączenie komputera z zainstalowanym systemem operacyjnym i środowiskiem Arudino IDE przez port USB. Dysponując komputerem podłączonym do Internetu z kamerką internetową studenci mogą uzyskać podobną funkcjonalność, jaka została opisana dla platformy Raspberry Pi. Ze względu na fakt, że Arduino IDE jest typową aplikacją okienkową, dlatego najlepszym rozwiązaniem będzie tu zaimplementowanie usługi pulpitu zdalnego. Za pomocą pulpitu zdalnego studenci mogą łączyć się z komputerem, do którego podłączona jest platforma i pracować z środowiskiem Arduino IDE tak, jakby było ono zainstalowane na ich prywatnym komputerze [2,12]. Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN 2353-1290, Nr 41/2015 49
Główną wadą prezentowanych rozwiązań pracy zdalnej jest to, że studenci nie mogą dowolnie zmieniać konfiguracji stanowiska, zwłaszcza w części mechanicznej i układu połączeń. 7. WNIOSKI KOŃCOWE Przedstawione platformy cyfrowe mogą być wykorzystywane w nauczaniu sterowania systemów pneumatycznych. Zaletą tego rozwiązanie jest to, że pozwala skoncentrować uwagę studentów na obsłudze portów wejściowych i wyjściowych oraz urządzeń peryferyjnych. Na drugi plan schodzi kod programu, którzy w przypadku mikrokontrolerów kojarzy się studentom z bardzo zawiłymi procedurami i językiem asembler, co często jest dla nich poważnym elementem zniechęcającym w nauce. W przypadku Arduino i Raspberry Pi kod programu przypomina raczej kod aplikacji pisanych w języku wysokiego poziomu. Platformy Arduino i Raspberry Pi są tanimi narzędziami dydaktycznymi, których ceny wynoszą od trzydziestu do stu pięćdziesięciu złotych. Dodatkową ich zaletą jest to, że stanowią zwarty układ elektroniczny, którego zasilanie odbywać się może za pomocą portu USB lub zasilacza. Łatwa w obsłudze jest też komunikacja z platformami, która odbywać się może przez USB, ale nic nie stoi na przeszkodzie aby zaimplementować obsługę Ethernetu, Bluetooth czy WiFi. Dodatkowo, platformy te nie wymagają programatora i oferują darmowe środowiska programistyczne. Można też dokupić do nich różne urządzenia peryferyjne np. silniki, serwomechanizmy, układy pozwalające na transmisję WiFi, piloty do zdalnego sterowania oraz czujniki: temperatury, wilgotności i odległości lub inne. Przez tak bogatą ofertę urządzeń peryferyjnych można zaproponować studentom różnorodne i ciekawe ćwiczenia pokazujące zasadę działania czujników i urządzeń wykorzystywanych w sterowaniu. Nauka programowania mikrokontrolerów na przykładzie systemu pneumatycznego pozwala studentom porównać dwa podstawowe podejścia wykorzystywane w sterowaniu, tj. sterowanie sprzętowe (bazujące na przekaźnikach) i programowe (bazujące na platformach cyfrowych Arduino i/lub Rasbperry Pi). W pierwszym przypadku studenci uczą się łączyć układ, natomiast potem uczą się jak dostosować go do pracy ze sterownikiem. W tym celu budują interfejs z tranzystorów, a następnie podłączają mikrokontroler, projektują algorytm sterowania i piszą program. Po pierwszym etapie studenci poznają zasadę manualnego sterowania systemem pneumatycznym, a w drugim uczą się ją opisać za pomocą programu, który steruje mikrokontrolerem. W pracy zostały też opisane możliwości wykorzystania stanowiska laboratoryjnego w nauczaniu na odległość za pomocą podstawowych usług internetowych, które dostępne są dla każdego studenta. Opisane ćwiczenie laboratoryjne pokazuje wady i zalety sterowania sprzętowego i programowego. Umożliwia również przedstawienie zasad programowania sterowników opartych na mikrokontrolerach i łączenia ich z systemem mechanicznym. 7. BIBLIOGRAFIA 1. White E.: Making Embedded Systems, Wydawnictwo O Reilly Media, 2011. 2. Boxall J.: Arduino 65 praktycznych projektów, Wydawnictwo Helion SA, Gliwice 2014. 3. Strona internetowa: www.majsterkowo.pl. 4. Strona internetowa: www.arduino.com.pl. 5. Strona internetowa: www.kabelkowo.pl. 6. Strona internetowa: www.malinowepi.pl. 7. Monk S.: Raspberry Pi. Przewodnik dla programistów Pythona, Wydawnictwo Helion SA, Gliwice 2014. 8. Schmid D., Baumann A., Kaufmann H., Paetzold H., Zippel B.: Opracowanie merytoryczne wersji polskiej: dr inż. Olszewski M.: Mechatronika, Wydawnictwo REA, Warszawa 2002. 9. Olszewski M., Kościelny J., Mednis W., Szaciłło Kosowski J., Wasiewicz P.: Urządzenia i systemy mechatroniczne, Wydawnictwo REA, Warszawa 2009. 10. Zastempowski B., Matuszewski M., Musiał J., Styp- Rekowski M.: Zagadnienia hydrauliki i pneumatyki w ujęciu praktycznym, Wydawnictwo Uczelniane Uniwersytetu Techniczno-Przyrodniczego w Bydgoszczy, Bydgoszcz 2013. 11. Gonzalez F., Zalewski J.: Online Robotic Labs In Software Engineering Courses, Zesz. N. WEiA PG, 37/2014. 12. Popławski T., Ślemp S.: Rozwiazania informatyczne w procesie kształcenia na odległość, Zesz. N. WEiA PG, 37/2014. APPLYING OF DIGITAL PLATFORMS LIKE ARDUINO AND RASPBERRY PI IN THE TEACHING OF CONTROL OF THE PNEUMATIC DEVICES Digital platforms like Arduino and Raspberry PI have been used to learn microcontrollers programming from family AVR or ARM. They provide integrated hardware and software environment which allows to control different objects using microcontrollers. The paper describes controlling of servo motor powered by a piston compressor by using the solenoid valve. The set also includes a switching power supply and limit switches. Presented laboratory exercise allows to compare different control strategies and determine the servo motor position by using relays and digital platforms. The described laboratory is a functional and flexible tool for teaching microcontrollers programming and controlling pneumatic and hydraulic systems. They can also be adapted to e-learning. Keywords: digital platforms, Arduino, Raspberry, control, pneumatics, programming microcontrollers. 50 Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki PG, ISSN 2353-1290, Nr 41/2015