• Rezultati Niso Bili Najdeni

Krmiljenje hidravlične naprave z Raspberry Pi

N/A
N/A
Protected

Academic year: 2022

Share "Krmiljenje hidravlične naprave z Raspberry Pi"

Copied!
44
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI Fakulteta za strojništvo

Krmiljenje hidravlične naprave z Raspberry Pi

Florjan Križnik

Ljubljana, september 2021

Zaključna naloga Univerzitetnega študijskega programa I. stopnje

Strojništvo - Razvojno raziskovalni program

(2)
(3)

UNIVERZA V LJUBLJANI Fakulteta za strojništvo

Krmiljenje hidravlične naprave z Raspberry Pi

Zaključna naloga Univerzitetnega študijskega programa I. stopnje Strojništvo - Razvojno raziskovalni program

Florjan Križnik

Mentor: doc. dr. Marko Šimic, univ. dipl. inž.

Somentor: prof. dr. Niko Herakovič, univ. dipl. inž.

Ljubljana, september 2021

(4)
(5)
(6)

Zahvala

Rad bi se zahvalil mentorju doc. dr. Marku Šimicu in somentorju prof. dr. Niku Herakoviču za pomoč in podporo pri nastajanju tega dela. Zahvalil bi se tudi tehničnemu sodelavcu Edu Adroviću in raziskovalcu, doktorandu Jerneju Protnerju, ki sta mi s svojimi izkušnjami in znanjem pomagala pri iskanju rešitev.

Zahvaljujem se tudi vsem prijateljem in kolegom, ki so me med nastajanjem tega dela podpirali in mi stali ob strani ter mi nudili pomoč ko sem jo potreboval.

Na koncu pa bi se rad zahvalil še družini, ki me je ves čas študija podpirala in me vzpodbujala.

(7)
(8)

Izvleček

UDK 621.226:621.398:004.4(043.2) Tek. štev.: UN I/1487

Krmiljenje hidravlične naprave z Raspberry Pi

Florjan Križnik

Ključne besede: hidravlična naprava krmiljenje

Raspberry Pi mikrokrmilnik senzorji

V zaključni nalogi je predstavljen postopek nadgradnje oziroma predelave didaktične hidravlične stiskalnice, ki trenutno uporablja didaktične krmilne komponente za krmiljenje hidravličnega ventila sistema. V nalogi smo namesto didaktičnih krmilnih komponent ali PLK krmilnika uporabili mikrokrmilnik Raspberry Pi, kateri je bolj uporaben z vidika fleksibilnosti in možnosti razvoja različnih krmilnih metod, različnih grafičnih vmesnikov in izdelave prikazovalnikov merjenih veličin. V nalogi podrobneje obravnavamo krmiljenje preklopnega ventila s krmilnim signalom 24 V, ki omogoča premik hidravličnega valja v obe smeri. Za merjenje tlaka med procesom smo uporabili merilnik tlaka, ki meri tlak v zgornji komori hidravličnega valja za izračun potisne sile valja.

Program za krmiljenje hidravlične naprave je napisan v jeziku Python, izdelali smo ustrezen grafični vmesnik z gumbi za eno-ciklično in ciklično izvedbo procesa. Grafični vmesnik vsebuje tudi prikazovalnik tlaka. Na koncu smo hidravlični sistem testno zagnali in preverili ustreznost delovanja mikrokrmilnika in prikaza merjenih veličin.

(9)

Abstract

UDC 621.226:621.398:004.4(043.2) No.: UN I/1487

Control of hydraulic device by using the Raspberry Pi

Florjan Križnik

Key words: hydraulic device control

Raspberry Pi microcontroller sensors

The diploma thesis presents the process of upgrading/modifying the didactic hydraulic press, which currently uses didactic control components to control the hydraulic valve of the system. In the diploma, instead of didactic control components or a PLK controller, we used the Raspberry Pi microsurbist, which is more useful in terms of flexibility and the possibility of developing different control methods, different graphical user interfaces and the production of displays of measured quantities.

We discuss in more detail the control of the switch valve with the control signal 24 V, which allows the hydraulic cylinder to be moved in both directions. To measure pressure during the process, we used a pressure gauge that measures the pressure in the upper chamber of the hydraulic cylinder to calculate the push force of the cylinder. The hydraulic device control program is written in Python, we have created an appropriate graphical interface with buttons for single-cyclic and cyclic execution of the process. The graphical user interface also contains a pressure display. Finally, the hydraulic system was tested and checked in terms of the suitability of the micro-control system and the display of measured quantities.

(10)

Kazalo

Kazalo slik ... xi

Kazalo preglednic ... xii

Seznam uporabljenih simbolov ... xiii

Seznam uporabljenih okrajšav ... xiv

1 Uvod ... 1

1.1 Ozadje problema ... 1

1.2 Cilji naloge ... 2

2 Teoretične osnove in pregled literature ... 4

2.1 Hidravlika ... 4

2.2 Hidravlična stiskalnica ... 4

2.2.1 Hidravlične komponente ... 6

2.2.2 Krmilne komponente ... 6

2.2.3 Merilniki ... 7

2.3 Merjenje hidravličnih veličin ... 7

2.4 Raspberry Pi ... 7

2.4.1 Raspberry Pi 3 model B ... 8

2.4.2 Piomoroni Automation hat ... 9

3 Metodologija ... 11

3.1 Izdelava ohišja za RPi ... 12

3.2 Montaža senzorjev ... 13

3.3 Zajem merjenih veličin z RPi ... 13

3.4 Krmiljene veličin z RPi ... 15

3.5 Zasnova grafičnega vmesnika... 16

3.6 Programiranje krmilja hidravlične stiskalnice ... 16

(11)

4.3 Programiranje RPi ... 20

4.4 Zagon sistema ... 25

5 Zaključki ... 26

Literatura ... 28

(12)

Kazalo slik

Slika 1.1: Hidravlična stiskalnica v začetnem stanju. ... 2

Slika 2.1: Hidravlična shema stiskalnice. ... 5

Slika 2.2: Raspberry Pi z zaslonom na dotik. ... 9

Slika 2.3: Dodatni modul imenovan Automation hat. ... 10

Slika 3.1: 3D model ohišja za vgradnjo zaslona in RPi. ... 12

Slika 3.2: Induktivna stikala: (a) spodnji položaj cilindra in (b) zgornji položaj cilindra. ... 13

Slika 3.3: Napajanje senzorjev in ventila in prikaz priklopa senzorja na napajanje. ... 14

Slika 3.4: Tlačni senzor. ... 14

Slika 3.5: Priklop senzorjev in ventilov na RPi. ... 15

Slika 3.6: Hidravlični elektromagnetni preklopni potni ventil. ... 16

Slika 4.1: Izgled grafičnega vmesnika. ... 18

Slika 4.2: V ospredju RPi, zadaj pa hidravlična stiskalnica, vidi pa se tudi žice ki ju povezujejo. . 20

Slika 4.3: Uvoz knjižnic v program. ... 20

Slika 4.4: Funkcija start. ... 21

Slika 4.5: Funkcije ki omogočajo ciklično izvajanje in zaustavitev. ... 22

Slika 4.6: Vnos niti. ... 23

Slika 4.7: Koda za izgled grafičnega vmesnika. ... 23

Slika 4.8: Funkcija za risanje grafa. ... 24

(13)

Kazalo preglednic

Preglednica 1: Specifikacije za RPi 3 model B ... 8 Preglednica 2: Specifikacije za Piomoroni Automation hat ... 9

(14)

Seznam uporabljenih simbolov

Oznaka Enota Pomen

A / delovni priključek

B / delovni priključek

P / dovod hidravličnega medija

T M

/ /

odvod hidravličnega medija elektromotor

p MPa tlak

U a y

V / /

električna napetost

končno induktivno stikalo cilindra elektromagnet ventila

Indeksi

0 začetni položaj cilindra

1 M1 M2

končni položaj cilindra elektromagnet 1 elektromagnet 2

(15)

Seznam uporabljenih okrajšav

Okrajšava Pomen

RPi PLK

Raspberry Pi

Programljivi logični krmilnik (angl. PLC-Programmable Logic Controller)

VSC Visual Studio Code (okolje za programiranje)

VNC Virtual Network Computing (daljinski nadzor nad drugo napravo) CNC Računalniško vodeni stroj za obdelavo (angl. Computer

Numerically Controlled)

ADC Pretvornik iz analognega v digitalni signal (angl. Analog-to-Digital Converter)

GPIO Signalni zatič na integriranem vezju, ki se lahko uporablja kot vhod ali izhod in ga nadzira uporabnik (angl. General purpose input- output)

macOS Operacijski sistem podjetja Apple Inc.

Wi-Fi Wireless Fidelity (brezžična internetna povezava) CPU Procesorska enota (angl. Central processing unit) RAM Delovni spomin (angl. random-access memory)

GB Merska enota za količino podatkov v računalništvu ( angl. Gigabyte) LAN Naprave ki so na fizični lokaciji povezane med seboj (angl. local

area network)

HDMI Visokoločljiv multimedijski priklop (angl. High-Definition Multimedia Interface)

CSI

USB Priklop za kamero ( angl. Camera Serial Interface)

Univerzalni priklop za povezavo drugih naprav( angl. Universal Serial Bus)

DSI Priklop za zaslon ( angl. Display Serial Interface) SD Spominska kartica SD ( angl. Secure Digital) DC Enosmerni električni tok (angl. Direct Current)

(16)

1 Uvod

1.1 Ozadje problema

V laboratoriju so že imeli hidravlično napravo, in sicer hidravlično stiskalnico. Stiskalnica je bila krmiljena didaktično, se pravi njeno delovanje je preko gumbov nadzoroval oziroma krmilil človek. Za pomik hidravličnega valja je bilo potrebno držati pritisnjen gumb, en gumb za pomik navzdol in drugi za pomik navzgor. Naša želja pa je bila obstoječi sistem nadgraditi in avtomatizirati. Za izziv smo si izbrali da bi sistem krmilili namesto z običajnim PLK krmilnikom ali preko Labview-a raje uporabili Raspberry Pi. PLK krmilniki nam omogočajo enostavno in logično programiranje ki nam vodi proces preko vhodnih in izhodnih signalov, podobno je tudi z Labviewom. Mi pa smo želeli najti enako kakovostno zamenjavo za PLK, ki pa bi bila lahko cenejša in širše uporabna in bi lahko služila še za kaj več kot le krmiljenje hidravlične stiskalnice. Zato smo se odločili za Rasberry Pi, ki nam omogoča programirati in s tem izvajati in voditi krmiljenje takšnih naprav, s svojim zaslonom na dotik in možnostjo izdelav raznih grafičnih vmesnikov pa je tudi veliko bolj zanimiv za uporabnika in omogoča tudi prikaz raznih podatkov in merjenih veličin. Je zelo zanimiva alternativa PLK krmilnikom in tudi precej razširjena pri uporabi avtomatizacije manjših domačih projektov, ravno ob tem pa se nam je porajalo vprašanje ali je primerna tudi za industrijsko oziroma bolj profesionalno rabo.

(17)

Uvod

Slika 1.1: Hidravlična stiskalnica v začetnem stanju.

1.2 Cilji naloge

Na začetku je bil glavni cilj spoznati se s hidravlično napravo, ki je že v laboratoriju.

Spoznati je potrebno tudi njene komponente ter se seznaniti z njihovim delovanjem in vlogo v celotnem hidravličnem sistemu, saj je potrebno pred nadgradnjo dobro poznati delovanje obstoječega sistema, da je lahko nadgradnja čim bolj optimalna. Zato se je potrebno spoznati z hidravličnim agregatom (katerega komponente so elektromotor, hidravlična črpalka, filter, varnostni ventil in protipovratni ventil), preklopnim ventilom krmiljenim preko elektromagnetov ter s hidravličnim valjem katerega gibanje krmili preklopni ventil. Na koncu je pričakovano dobro poznavanje komponent hidravličnega sistema in znanje o njihovem delovanju

Ko bomo spoznani z obstoječim stanjem hidravlične stiskalnice, bomo lahko začeli razmišljati o komponentah, ki so potrebne za nadgradnjo stiskalnice. Kot prvo ugotovimo da bomo potrebovali dve končni stikali, da lahko določimo začetno in končno lego hidravličnega valja, za ta namen bomo uporabili dva induktivna senzorja, ki delujeta na 24 V. Seveda pa je ključnega pomena tudi mikroprocesor, ki bo vso stvar nadziral, v ta namen bomo imeli Raspberry Pi 3 model B s 7 paličnim zaslonom na dotik. Pri RPi pa naletimo na težavo, saj nam sam po sebi ne omogočal priklopa 24 V. Da bomo lahko na RPi priklopili 24 V potrebujemo dodatek za RPi. Na spletu poiščemo dodatek, ki je toleranten na napetosti do 24 V, rešitev se kaže v uporabi dodatka proizvajalca Pimoroni s produktom Automation hat. Pričakujemo, da bo ob uporabi pravilno izbranih komponent sistem

(18)

Uvod

Ker se z vmesnikom Raspberry Pi srečamo prvič je potrebno vmesnik najprej spoznati. Na spletni strani produkta si je potrebno prebrati njegove specifikacije in zmožnosti, ter spoznati osnove rokovanja z RPi. Sledil zagon vmesnika in povezava vmesnika na osebni prenosni računalnik. Po priporočilih bomo v ta namen uporabili VNC Viewer, ki omogoča daljinski nadzor nad RPi, saj deli zaslon iz vmesnika RPi na osebni računalnik, omogoča pa tudi nadzor in kontrolo nad miško in tipkovnico. Po seznanitvi z vmesnikom RPi bomo pripravljeni na naslednji korak, pisanje kode.

Za nadzor hidravlične stiskalnice preko vmesnika RPi bo potrebno napisati kodo oziroma program ki bo izvrševal ukaze. Programiranja kode se bomo lotili v jeziku Python saj smo z njim že delali, vendar je specifika naloge drugačna kot smo je bili vajeni do sedaj, zato bo potrebno tudi poglabljanje v jezik Python in prebrati vodiče, s pomočjo katerih bomo osvojili potrebno znanje programiranja. Ker želimo hidravlično stiskalnico krmiliti s pomočjo grafičnega vmesnika, ki bo prikazoval gumbe, se moramo naučiti izdelati tudi grafični vmesnik s katerim bo rokoval uporabnik naprave. Potrebno je napisati program, ki bo krmilil preklopni ventil na podlagi dobljenih podatkov iz induktivnih senzorjev, ter bo zmožen gibanje ciklično ponavljati dokler mi cikla ne prekinemo s pritiskom na gumb. Cilj programa je da bo avtomatiziral postopek, ki ga je bilo potrebno do sedaj voditi ročno.

Ko bo program napisan, bo potrebno na hidravlično stiskalnico namestiti induktivne senzorje. Prvi senzor bo na začetnem položaju hidravličnega valja, drugi pa bo na končnem položaju. Prednost sistema bo da lahko s pozicioniranjem senzorjev določimo željeno dolžino giba hidravličnega valja. Po namestitvi senzorjev je potrebno le te povezati na RPi, ravno tako pa je potrebno na RPi povezati preklopni ventil, ki bo krmiljen preko vmesnika RPi. Na hidravlično stiskalnico je potrebno vgraditi tudi celoten RPi z zaslonom na dotik, preko katerega bo prikazan grafični vmesnik. Ko bo vse priklopljeno bomo pripravljeni na prvi zagon stiskalnice, pred začetkom preverimo če so senzorji na pravih mestih in ali je vse pravilno povezano, nato pa lahko poženemo agregat in vklopimo napajanje senzorjev in preklopnega ventila iz 24 V, ko je vse to pripravljeno lahko poženemo program in spremljamo ali vse deluje tako kot mora. Ob prvem zagonu so pričakovane manjše pomanjkljivosti, ki jih bo potrebno popraviti.

(19)

2 Teoretične osnove in pregled literature

2.1 Hidravlika

Beseda hidravlika izhaja iz grške besede hidor (voda) in aulos (cev), kar sestavlja besedo hidraulikus, kar pomeni prenos in pretvorbo energije ter informacij, ki jih dobimo, s pomočjo tekočine. Osnovne zakonitosti mehanike tekočin so začeli odkrivati že v antiki, močan razcvet pa se je začel od 17. stoletja dalje. Samo fizikalno znanje seveda še ni zadoščalo, šele napredek tehnologije je omogočil uporabo znanih zakonitosti. Napredek uporabne hidravlike je omogočil razvoj stabilnih cementacijskih jekel, kakovostnih sivih litin, umetne gume in postopkov finega brušenja in honanja. Čeprav so se pojavili posamezni uporabni hidravlični stroji že v prejšnjem stoletju, je več kot devetdeset odstotkov danes uporabljenih hidravličnih elementov nastalo šele po drugi svetovni vojni.

Vrhunske elemente so znanstveniki razvili šele v zadnjih desetletjih, zlasti z razvojem računalniško krmiljenih naprav oz. CNC-tehnologije. Upravičeno lahko trdimo, da je industrijska hidravlika mlada tehnična panoga. Hidravliko uporabljamo v številnih vejah tehnike, kar je povezano s pojmoma mehanizacija in avtomatizacija. Velik uporabnik hidravlike je strojegradnja v najširšem pomenu besede. Stroje, v katerih je precejšen delež hidravlične opreme, uporabljamo v mnogih panogah, npr. rudarstvu, kmetijstvu, gozdarstvu, prometu, gradbeništvu, energetiki, itd. Veliko vlogo ima hidravlika v preoblikovalni in odrezovalni tehniki, veliko pa se uporablja tudi na področju letalstva, jedrske tehnologije, procesne tehnologije in vojaške tehnike. Industrijsko hidravliko delimo na mobilno, obdelovalni in težko hidravliko. Razlog za priljubljenost hidravlike je v tem da nam omogoča prenos velike gostote moči, zato posledično lahko dosegamo velike sile, pa tudi povezave med komponentami so enostavne in natančne. V primerjavi s podobnim sistemom, to je pnevmatski sistem, dosegamo ne le večjo gostoto moči temveč so tudi izkoristki najboljši pri hidravličnem sistemu.

2.2 Hidravlična stiskalnica

(20)

Teoretične osnove in pregled literature

le spodnja batnica (oziroma desna na sliki 2.1). Pomikanje batnice usmerja in preklaplja 4/3 potni ventil (4), ki je elektromagnetno krmiljen, njeno začetno in končno lego pa določamo z induktivnima senzorjema (9). Pri naši stiskalnici smo za vodenje nekatere veličine potrebovali zajemati zato, da smo lahko druge veličine vodili. Za prikaz tlaka v hidravličnem valju smo potrebovali tlačni senzor (8), ki nam poda analogni izhodni signal in ga uporabimo za zajem merjene veličini z RPi (10) in prikaz na grafičnem vmesniku. Za krmiljenje potnega ventila smo potrebovali zajemati signale iz končnih induktivnih stikal (9), tako smo zaznavali oba končna položaja batnice hidravličnega valja. Pri naši stiskalnici je poglavitnega pomena, da smo avtomatizirali premik hidravličnega valja (6).

Slika 2.1: Hidravlična shema stiskalnice.

Legenda: (1) hidravlični agregat, (2) varnostni ventil, (3) tlačni filter, (4) elektromagnetni 4/3 potni ventil, (5) dušilka, (6) dvosmerno delujoč hidravlični valj z obojestransko batnico, (7) manometer, (8) senzor tlaka, (9) induktivni senzor, (10) RPi, (11) povratni

(21)

Teoretične osnove in pregled literature

2.2.1 Hidravlične komponente

Hidravlični agregat (na sliki 2.1 pod številko 1) nam kot smo že omenili dovaja energijo v prenosni medij (pretok in ustrezen tlak v sistemu). Za dovod energije skrbi elektromotor, na katerega je preko gredne vezi priklopljena hidravlična črpalka. Elektromotor (M) poganja črpalko, katera črpa hidravlično olje iz rezervoarja in ga po hidravličnem vodu pošilja v sistem, iz sistema je speljan povratni vod, po katerem olje priteka nazaj v rezervoar.

Številka 2 na sliki 2.1 predstavlja varnostni ventil, s katerim nastavljamo željeni tlak, ki ga spuščamo naprej v sistem. Tukaj nastavimo kolikšen tlak želimo imeti v sistemu.

Pod številko 3 na sliki 2.1 vidimo filter. Njegova naloga je da iz hidravličnega medija odstranjuje nečistoče in trde delce. Poskrbi za daljšo življenjsko dobo vseh komponent v hidravličnem sistemu ter podaljšuje interval menjave hidravličnega medija.

Dušilko (na sliki 2.1 pod številko 5) imamo nameščeno na obeh delovnih priključkih. Na dušilki lahko nastavljamo pretok skozi dušilko in s tem spreminjamo hitrost delovanja hidravličnih porabnikov. Na primer pri hidravličnem motorju lahko tako nastavljamo hitrost vrtenja motorja, pri hidravličnem valju pa z dušilkami uravnavamo hitrost pomikanja valja.

Dvosmerno delujoč hidravlični valj z obojestransko batnico najdemo na sliki 2.1 pod številko 6. Kot pove že ime samo gre za hidravlični valj, ki omogoča pomikanje v obe smeri, vendar ne gre za navadni dvosmerni hidravlični valj, saj ima ta valj batnici na obe strani. Takšen hidravlični valj omogoča pomikanje bremena na obeh straneh.

Številka 11 na sliki 2.1 nam predstavlja povratni filter z obvodom. Ta filter je namenjen čiščenju olja pred povratkom v rezervoar, ob morebitni zamašitvi filtra pa ima narejen obvod, saj bi drugače prišlo do večanja tlaka v sistemu in morebitnih poškodb.

2.2.2 Krmilne komponente

Elektromagnetni 4/3 potni ventil najdemo pod številko 4 na sliki 2.1. Kot nam že ime samo pove je ventil krmiljen z dvema elektromagnetoma, v sredinsko ravnovesno lego pa ga vračata vzmeti. Z elektromagnetom premagamo silo vzmeti ter ventil preklopimo v drug položaj, ki ga elektromagnet vzdržuje dokler je prižgan, ko je ugasnjen pa vzmet ventil vrne v ravnovesni položaj. Iz imena ventila izvemo da ima le ta 4 priključna mesta in tri položaje. Priključna mesta so poimenovana A, B, P in T, kjer P predstavlja dovod hidravličnega medija, T predstavlja odvod hidravličnega medija, A in B pa sta delovna priključka, ki vodita do porabnika. V nevtralnem položaju se skozi ventil ne pretaka medij, so vsi priključki zaprti, pri ostalih dveh položajih pa je enkrat povezava med priključki A in P ter B in T, v drugem položaju pa ravno obratno, povezava me A in T ter med B in P.

(22)

Teoretične osnove in pregled literature

ustvarja na čelni strani senzorja visokofrekvenčno polje. Če pride v to polje kovinski predmet, zaradi vrtinčnih tokov odvzame oscilatorju energijo, napetost na oscilatorju pade in prožilna stopnja odda signal, ki ga ojačevalnik poveča. Signal nato uporabimo za krmiljenje. Induktivni senzorji so občutljivi le na kovine, pri montaži moramo upoštevati navodila proizvajalca, da jih pravilno vgradimo, saj lahko kovina sproži signal le do določene oddaljenosti od senzorja.

2.2.3 Merilniki

Pod številko 7 na sliki 2.1 se skriva analogni manometer iz katerega lahko odčitamo trenutni tlak. Pod številko 8 na isti sliki pa najdemo tlačni senzor, ki nam v RPi pošilja signal v obliki napetosti, ta pa se nato preračuna v ekvivalentno vrednost tlaka, ki se nam prikazuje na zaslonu.

2.3 Merjenje hidravličnih veličin

Ko govorimo o merjenju hidravličnih veličin po navadi najprej pomislimo na tlak. Tlak v hidravličnem sistemu nastaja s črpanjem tekočine preko hidravlične črpalke, le ta tekočino stiska in potiska po hidravličnih vodih in bolj kot jo stiska večji tlak dosežemo v sistemu. Z višjim tlakom lahko dosežemo večji prenos energije in posledično tudi večje sile. Tlak je posledica delovanja sile na neki določeni površini, in ker je površina v hidravličnih sistemih vedno enaka je torej logično da imamo ob višjem tlaku večje sile. Osnovna enota za tlak je N/m2 oziroma Pa (Pascal), vendar se v strojništvu velikokrat uporablja enota bar, 1 bar predstavlja 1 x 105 Pa.

Tlak merimo z manometrom, ki nam prikazuje razliko med tlakom merjenega medija in atmosferskim tlakom. Obstaja več vrst, mehanski in hidravlični manometri. Pri mehanskih se tlak meri s pomočjo deformacije membrane na katero deluje tlak, pri hidravličnih pa s pomočjo tekočine ki je v manometru. Lahko pa za merjenje tlaka uporabimo tudi tlačne senzorje, ki jih lahko priklopimo na računalnik in z njihovo pomočjo kontroliramo tlak v sistemu. Ti senzorji namreč podajajo izhodni signal v obliki napetosti, ki jo po določeni enačbi posameznega senzorja nato pretvorimo v tlak v barih ali katerikoli drugi enoti.

2.4 Raspberry Pi

Raspberry Pi je mikroračunalnik v velikosti kreditne kartice, ki je bil razvit v Združenem

(23)

Teoretične osnove in pregled literature

enostavnejše industrijske stroje oziroma linije. Za uporabo pri raznih projektih je RPi zelo uporaben in razširjen zaradi svojih GPIO priključkov (General purpose input-output), preko katerih lahko RPi sprejema in oddaja signale, kar nam omogoča krmiljenje in komunikacijo z različnimi napravami. Večina RPi ima 40 GPIO priključkov, nekateri pa le 26. Obstaja pa tudi več različnih dodatkov za RPi od najrazličnejših kamer do zaslonov na dotik. Zaradi svojih GPIO izhodov je zanimiv tudi za ostale razvijalce ,ki razvijajo razne dodatne module, ki se priklopijo na RPi, veliko pa se razvija tudi takšnih aplikacij. Ti dodatni moduli nam omogočajo avtomatizacijo doma ali v industriji. Takšna kombinacija RPi in dodatnega modula pa je zelo zanimiva iz cenovnega vidika, saj je veliko cenejša od komercialnih rešitev, ki jih lahko za enake potrebe najdemo na trgu.

Na RPi se lahko uporablja več različnih operacijskih sistemov, vendar se v večini uporablja Raspberry Pi OS imenovan Raspbian, ki temelji na Linux operacijskem sistemu.

Operacijski sistem je prilagojen in optimiziran za RPi, po izgledu je podoben kot macOS ali Microsoft Windows. Orodna vrstica je pozicionirana na vrhu in vsebuje meni z aplikacijami, bližnjico do Terminala, brskalnika Chromium in upravljalca datotek. V njej pa najdemo tudi Bluetooth in Wi-Fi meni, upravljalnik glasnosti in seveda digitalno uro.

Na RPi pa je že v osnovi naložen Python 2 in 3, ki se uporablja za programiranje. Za programiranje obstaja več vrst aplikacij v katerih se lahko piše koda. Serijsko je na RPi že nameščen Thony Python IDE, mi pa smo naložili še Visual Studio Code, saj je bolj pregleden. Če želimo začeti programirati tako odpremo VSC in naredimo novo datoteko s končnico .py ter jo shranimo na RPi, pozneje lahko do te datoteke dostopamo preko upravljalca datotek. V samem Pythonu pa niso že v osnovi naložene vse knjižnice, ki jih potrebuješ, zato je potrebno knjižnice uvažati po potrebi. Preden začnemo pisati programsko kodo je potrebno vedno najprej v program uvoziti vse potrebne knjižnice, drugače koda ne bo delovala. Za vsako knjižnico pa je možno na internetu najti hitre vodiče, ki nas spoznajo s knjižnico in njenimi funkcijami, da jo pozneje znamo pravilno uporabiti v kodi.

2.4.1 Raspberry Pi 3 model B

Za našo zaključno nalogo smo uporabili tretjo generacijo računalnika RPi in sicer model B z dodatnim 7 paličnim zaslonom na dotik. Ker je opremljen z zaslonom na dotik tako ni potrebe po zunanjem zaslonu, omogoča pa nam tudi upravljanje z računalnikom.

Preglednica 1: Specifikacije za RPi 3 model B

procesor Quad Core 1.2 GHz Broadcom BCM283

64-bit CPU

RAM 1 GB

povezljivost ‐ BCM43438 wireless LAN in Bluetooth Low Energy (BLE)

‐ 100 Base Ethernet

(24)

Teoretične osnove in pregled literature

DSI priključek za zaslon na dotik

‐ Micro SD

priključek za napajanje 5 V/2.5 A DC

Slika 2.2: Raspberry Pi z zaslonom na dotik.

2.4.2 Piomoroni Automation hat

Dodatni modul, ki smo ga uporabili in zmontirali na RPi se imenuje Automation hat. Ta dodatni modul se priključi na GPIO priključke RPi. Modul je opremljen z releji, analognimi vhodi, ki zaznavajo vrednosti od 0 do 24 V, vhodi ki vrnejo vrednost 0 ali 1, ter izhodni, vsak ima po tri priključke. Modul smo potrebovali, saj lahko sprejema napetosti do 24 V, takšna pa je tudi napetost, ki jo imamo za napajanje potnih ventilov in induktivnih senzorjev, RPi pa sam po sebi omogoča največjo napetost 5V. Za modul obstaja tudi knjižnica za Python s katero ga preprosto upravljamo.

Preglednica 2: Specifikacije za Piomoroni Automation hat

releji 3x 24 V @ 2 A

(25)

Teoretične osnove in pregled literature

Slika 2.3: Dodatni modul imenovan Automation hat.

(26)

3 Metodologija

Naša naloga je bila obstoječi hidravlični sistem avtomatizirati. Potrebno je bilo pregledati in preučiti obstoječi sistem ter poiskati rešitve kako ga avtomatizirati. Na začetku smo imeli hidravlično stiskalnico, ki je bila vodena preko fizičnih gumbov. Če smo želeli da se je batnica hidravličnega valja pomikala navzdol je bilo potrebno držati pritisnjen gumb in gib se je izvajal dokler smo tiščali gumb oziroma dokler ni batnica dosegla skrajne lege.

Povsem enako je bilo z gibom batnice navzgor. Ta proces smo želeli avtomatizirati do te mere, da bi ob enem pritisku na gumb stiskalnica sama izvedla gib batnice do končne lege in nazaj do začetne lege, oziroma izvaja ta gib ciklično. V začetni fazi je stiskalnica vsebovala preklopni potni ventil znamke Festo, dvosmerni hidravlični valj z obojestransko batnico, nastavljive dušilke znamke Festo na obeh delovnih priključkih hidravličnega valja in seveda kontrolno ploščo z gumbi in napajanjem komponent, ki se je nahajala na sprednji strani stiskalnice. Vsebovala je tudi tlačni senzor, ki pa ni bil povezan nikamor, za prikaz bi moral biti povezan na računalnik. Seveda pa ne smemo pozabiti na hidravlični agregat , ki se nahaja ob stiskalnici in nam celotno zadevo tudi poganja. Ker smo želeli sistem avtomatizirati, smo morali vsekakor v sistem vključiti senzorje, s pomočjo katerih smo lahko določali končne lege batnice hidravličnega valja, saj je potrebno programu, ki krmili sistem nekako sporočiti kdaj mora preklopiti ventil. Za določanje končne lege hidravličnega valja smo uporabili induktivna senzorja znamke Festo. Za krmiljenje smo uporabili RPi katerega smo nadgradili še z dodatkom Automtion hat, na njem pa je bil že nameščen 7 palični zaslon na dotik, preko katerega bomo tudi upravljali našo stiskalnico preko grafičnega vmesnika.

Za dosego avtomatizacije, ki smo jo želeli doseči bi lahko brez težav uporabili PLK krmilnik. PLK krmilniki so zelo priljubljeni v industriji za avtomatizacijo procesov. So zelo zanesljivi, odzivni, možna je povezava na računalnik, preprosti za programiranje in omogočajo tudi poznejše spreminjanje programov, ki jih imajo shranjene v spominu. Torej bi bili kot nalašč za našo hidravlično stiskalnico, vendar mi smo poleg naštetega želeli imeti še prikaz tlaka v hidravličnem valju kar pa nam PLK ne omogoča. To pa tudi ni bila

(27)

Metodologija

3.1 Izdelava ohišja za RPi

Raspberry Pi je prišel v goli obliki, dobili smo zaslon na hrbtni strani katerega je nameščeno tiskano vezje. Potrebovali smo ohišje, ki bo nudilo zaščito za RPi in njegove komponente. Na spletu se da kupiti raznorazna ohišja za RPi, nekatera so zelo preprosta in poceni, najdejo pa se tudi estetsko in praktično dovršena ohišja. Največja težava pri vseh ohišjih, ki bi jih lahko kupili preko spleta pa je ta, da nam nobeno od njih ni omogočalo enostavne montaže ohišja na našo hidravlično stiskalnico. Zaradi tega razloga smo se odločili, da ohišje raje izdelamo sami. Glede na velikost ohišja in njegovo obliko, katera je pogojena z obliko zaslona in RPi, smo se odločili, da bomo ohišje natisnili s 3D tiskalnikom. Za izdelavo 3D modela smo uporabili modelirnik Solidworks. Za začetek snovanja ohišja smo potrebovali natančne dimenzije zaslona , da bo le ta ustrezno nalegal v ohišje. Montažno risbo, na kateri so bile podane vse potrebne dimenzije zaslona smo našli na uradni spletni strani produkta. Z znanimi dimenzijami smo lahko začeli z risanjem v Solidworks, kjer je bil naš cilj izdelati čim bolj preprosto in estetsko ohišje. Ko smo ohišje narisali, je bil čas da smo razmislili o načinu montaže ohišja na stiskalnico. Po tehtnem premisleku smo se odločili, da bo najbolje če za pritrditev uporabimo že obstoječi sistem.

Ohišje je prišlo pritrjeno med dva horizontalno postavljena aluminijasta kotna profila, zato je bilo potrebno na ohišje dodati še dva utora v katera bosta nalegala aluminijasta kotna profila. Tako smo se izognili dodatnim luknjam za vijake tako na ohišju kot tudi na sami stiskalnici. Potrebno je bilo le še zasnovati zadnji pokrov ohišja. Pokrov je moral biti enostaven za odstranitev in pritrditev, saj ga je potrebno odstraniti če želimo na RPi priklopiti žice ki vodijo do senzorjev in ventila. Zasnovali smo preprost pokrov škatlaste oblike, ki nudi zaščito tiskanemu vezju in priklopnim žicam.

(28)

Metodologija

3.2 Montaža senzorjev

Za določanje končnih leg hidravličnega valja smo uporabili induktivne senzorje. Induktivni senzor je brezkontaktno stikalo in zazna prisotnost kovinskih izdelkov. Ob prisotnosti kovine senzor spremembo zazna in jo generira kot izhodni signal, ki ga lahko nato uporabimo za preklapljanje ventila. Na stiskalnici smo imeli hidravlični valj z batnicama na obeh straneh in ker je spodnja tista ki se bo uporabljala je bilo smiselno da se senzorja namestita ob zgornji batnici. S postavitvijo senzorjev ob zgornjo batnico smo pri spodnji batnici pridobili popolnoma prost delovni prostor. Na zgornji batnici je nameščena kovinska ploščica, ki bo vklapljala induktivna senzorja. Senzorja smo s pomočjo aluminijastih profilov namestili na ogrodje hidravlične stiskalnice na željeni končni višini.

Zaradi enostavnega sistema namestitve senzorjev je preprosto tudi spreminjati njuno višino, tako lahko na povsem enostaven način spreminjamo dolžino giba batnice in spreminjamo začetno ali končno lego batnice. Tako lahko skrajšamo nepotrebne hode batnice med samim delovnim procesom in tako prihranimo na energiji in času.

(a) (b)

Slika 3.2: Induktivna stikala: (a) spodnji položaj cilindra in (b) zgornji položaj cilindra.

(29)

Metodologija

napajanje, izhod ki odda signal ob zaznavanju kovine pa smo povezali na vhod na dodatnem modulu Automation hat na RPi. Tako smo ob oddanem signalu na induktivnem senzorju preko modula na RPi dobili vrednost 1, v nasprotnem primeru pa je vrednost 0.

Induktivna senzorja smo povezali na vhod 1 in 2. Tlačni senzor pa smo povezali na analogni vhod na dodatnem modulu, saj nam mora le ta odčitavati natančno vrednost, ki jo dobiva iz senzorja, saj jo lahko le tako pretvorimo v ekvivalentno vrednost tlaka.

Slika 3.3: Napajanje senzorjev in ventila in prikaz priklopa senzorja na napajanje.

(30)

Metodologija

Slika 3.5: Priklop senzorjev in ventilov na RPi.

Na sliki 3.5 vidimo kako so senzorji in ventil povezani na modul Automation hat. Z rdečima žičkama sta na vhod povezana induktivna senzorja, bela žička speljana v analogni vhod prihaja iz tlačnega senzorja, črna in modra žička na izhodu pa sta povezani na potni ventil. Ostali dve črni žički pa sta ozemljitev speljana iz senzorjev in ventila.

3.4 Krmiljene veličin z RPi

Krmiliti je bilo potrebno preklopni potni ventil. Ventil je krmiljen preko elektromagnetov, katere krmilimo preko RPi. Tako smo morali na izhod na dodatnem modulu povezati negativno (ozemljitveno) žico iz vsakega elektromagneta posebej in sicer na izhoda 1 in 2.

Tako je bil kadar smo želeli da je elektromagnet vklopljen izhod na dodatnem modulu aktiviran in je bil električni tok na elektromagnetu sklenjen in je bil le ta aktiviran, v nasprotnem primeru pa električni tok ni bil sklenjen in elektromagnet ni bil vklopljen.

(31)

Metodologija

Slika 3.6: Hidravlični elektromagnetni preklopni potni ventil.

3.5 Zasnova grafičnega vmesnika

Zamisel je bila, da je upravljanje hidravlične stiskalnice vodeno preko grafičnega vmesnika, ki je prikazan na zaslonu RPi. Tako lahko uporabnik upravlja stiskalnico s preprostimi dotiki gumbov na zaslonu. Poleg gumbov pa v posebnem oknu vmesnik prikazuje trenutni tlak v hidravličnem valju. V konceptu smo si zamislili da bi bili prikazani trije gumbi: START, START CYCLE in STOP CYCLE za prikaz tlaka pa bi se izrisoval graf, ki bi prikazoval trenutno stanje tlaka, tako da lahko spremljamo kakšne so tlačne spremembe v hidravličnem valju ob delovanju. Za razvoj takšnega grafičnega vmesnika je bilo potrebno uporabiti temu namenjeno knjižnico v Pythonu, knjižnica se imenuje Tkinter in nam omogoča da se nam ob zagonu kode odpre novo okno kjer so nato prikazani gumbi, katerih funkcije sprogramiramo v kodi.

3.6 Programiranje krmilja hidravlične stiskalnice

(32)

Metodologija

morajo biti izpolnjeni da se nek ukaz lahko začne izvrševati. Zamisel je bila takšna da bi imeli tri gumbe:

‐ prvi gumb START: ob pritisku na ta gumb mora stiskalnica opraviti en delovni gib, iz začetne lege se mora pomakniti do končne lege in se vrniti nazaj v začetno lego,

‐ drugi gumb START CYCLE: ob pritisku na ta gumb začne stiskalnica ciklično opravljati delovni gib, torej iz začetne lege do končne lege in nazaj v začetno ter takoj nazaj v končno, in ta cikel se mora ponavljati toliko časa dokler ga ne prekinemo,

‐ tretji gumb STOP: ob pritisku na ta gumb pa stiskalnica opravi delovni gib do konca nato pa preneha z cikličnim izvajanjem delovnega giba

V programu smo morali vključiti signale, ki smo jih dobivali iz induktivnih senzorjev in jih uporabiti kot pogoje za izvrševanje kode. Potrebno je bilo uvoziti različne knjižnice, kot prvo smo potrebovali uvoziti knjižnico tkinter s katero se izdela grafični vmesnik, potrebovali smo še knjižnico automation hat za upravljanje dodatnega modula na RPi, s katerim smo lahko sprejemali signale iz senzorjev in nadzorovali izhodne signale.

Potrebovali smo sprogramirati zanko, ki se izvede ob pogoju da je začetni induktivni senzor aktiven ter se tako o aktivaciji gumba preklopi elektromagnetni ventil in se začne pomikanje batnice navzdol. To traja vse do takrat ko se ne aktivira končni induktivni senzor katerega aktivacija mora povzročiti da se prvi elektromagnet ugasne in vklopi drugi elektromagnet, ki preklopi potni ventil v drug položaj in se batnica prične pomikati navzgor. Gibanje batnice navzgor se mora ustaviti ob aktiviranju začetnega induktivnega senzorja, ki je pogoj da se drugi elektromagnet ugasne. Tako dobimo gibanje za izvrševanje gumba START.

Za izvrševanje gumba START CYCLE je potek popolnoma enak, le za razliko tega, da se proces ob drugi aktivaciji začetnega induktivnega senzorja ne konča vendar se ponovi. Te ponovitve zanke so neskončne in se končajo šele ko mi to prekinemo s pritiskom na gumb STOP CYCLE, ta mora zanko speljati do konca in jo potem prekiniti.

(33)

4 Rezultati in diskusija

4.1 Končni izgled grafičnega vmesnika

V Pythonu smo s knjižnico Tkinter izdelali grafični vmesnik, ki nam prikazuje 4 gumbe, ki so namenjeni upravljanju hidravlične stiskalnice. Gumbom START, START CYCLE in STOP CYCLE smo dodali še gumb EMERGENCY STOP. Razlika med gumboma STOP CYCLE in EMERGENCY STOP je ta, da ko pritisnemo prvega, program cikel izvede do konca in se nato ustavi, ob pritisku na drugega pa se takoj izklopijo elektromagnetna stikala na ventilu, tako da se gibanje batnice nemudoma ustavi. Gumbi so razporejeni v mreži, po dva gumba v vrstici in stolpcu. Gumbi za zagon so obarvani zeleno, za prekinitev pa so obarvani rdečo, saj smo iz okolice in prometa navajeni, da zelena barva predstavlja nekakšen začetek oziroma dovoljenje za začetek in rdeča predstavlja konec, ustavitev.

Gumbi so dovolj veliki, da se jih da na zaslonu RPi preprosto pritisniti brez da bi se morali truditi da bi jih zadeli ali da bi se bali da bi po nesreči poleg pritisnili napačen gumb.

(34)

Rezultati in diskusija

Ko pritisnemo na gumb se le ta obarva belo, tako da vemo da smo gumb zares pritisnili in tudi vidimo da smo sigurno pritisnili pravi gumb. Prikazno okno z gumbi je mogoče premikati po zaslonu ter ga po želji še tudi povečati ali zmanjšati, tako da si ga lahko vsak uporabnik prilagodi po svojih željah in potrebah.

Za prikaz stanja tlaka v sistemu smo na grafičnem vmesniku izdelali graf, ki je na zaslonu postavljen desno od gumbov, in nam izrisuje graf poteka tlaka v realnem času. Tako lahko uporabnik ves čas spremlja kaj se dogaja s tlakom v sistemu in kolikšna je njegova vrednost. Vrednosti na grafu se posodobijo vsako sekundo, izrisuje pa se zadnjih 6 meritev, tako se ob vsakem novem podatku zadnji pobriše in se pripne novega. Na abscisni osi grafa je naveden realni čas pridobitve podatka v urah, minutah in sekundah. Na ordinatni osi pa je prikazana vrednost tlaka v barih.

4.2 Povezava RPi s komponentami na stiskalnici

Raspberry Pi smo na hidravlično stiskalnico povezali preko dodatnega modula automation hat za RPi. 24 V napajanje za induktivne senzorje dobimo iz zunanjega napajanja, saj je RPi zmožen napajanja le 5 V. Iz induktivnih senzorjev je tako do RPi speljana le žica, ki je priklopljena na vhod in nam pošilja signal ko je senzor aktiviran. Mora pa biti RPi priklopljen tudi na ozemljitev na katero je priklopljen senzor. Tako sta priklopljena oba induktivna senzorja. Preklopni ventil je tudi priklopljen na zunanje 24 V napajanje, njegova ozemljitev pa je speljana do RPi in priklopljena na izhode, tako lahko preko RPi krmilimo kdaj je elektromagnet aktiviran. Tlačni senzor pa je na RPi priklopljen na analogni vhod kjer RPi odčitava njegove vrednosti in jih po enačbi spreminja v ekvivalentno vrednost tlaka.

(35)

Rezultati in diskusija

Slika 4.2: V ospredju RPi, zadaj pa hidravlična stiskalnica, vidi pa se tudi žice ki ju povezujejo.

4.3 Programiranje RPi

Pisanja kode smo se lotili v okolju Visual Studio Code, saj smo v njem že delali in je tudi enostaven za uporabo. Kot pri vsakem programiranju je bilo najprej potrebno v program uvoziti vse knjižnice, ki se v programu kličejo in uporabljajo. Uvoziti je bilo potrebno knjižnico za izdelavo grafičnega vmesnika, za uporabo dodatnega modula Automation hat, za risanje grafa, za izvajanje niti (ang. thread) in tako dalje.

(36)

Rezultati in diskusija

Med samim pisanjem programa seveda nismo najprej uvozili vseh knjižnic in se nato lotili programiranja. Pri programiranju se vedno dodaja stvari po potrebi in se koda ves čas dopolnjuje, tukaj pa zaradi lažjega razumevanja samo razlagamo kaj predstavlja posamičen odsek kode. Z uvoženimi knjižnicami smo lahko pričeli s pisanjem programa, ki bo izvajal gibanje batnice. Funkcijo, ki bo to izvajala smo poimenovali start.

Slika 4.4: Funkcija start.

Na sliki 4.4 vidimo kodo funkcije start. Funkcija se lahko izvaja dokler ima potrditev True, kar pa je ves čas. V nadaljevanju so zapisani pogoji, če dobi na vhodu iz induktivnega senzorja vrednost 1, se bo vklopil elektromagnet 1. Ko pa bo vrednost na vhodu induktivnega senzorja enaka 1, se bo elektromagnet 1 izklopil in vklopil se bo elektromagnet 2, tako se naša batnica začne pomikati nazaj v prvotni položaj. Zadnji odsek kode na sliki 4.4 pa služi temu, da se batnica ko pride nazaj v izhodiščni položaj tudi ustavi. Ker smo napisali da je j enak 0 se program izvede in ob odčitku vrednosti 1 na vhodu 1 izkopi elektromagnet 2. Zapišemo še da je po tem j enak 1 zato da se zadeva preneha izvajati, saj izhaja iz pogoja while ( j < 1 ). Funkcija start predstavlja delovanje programa ob pritisku na gumb START in nam izvede en gib batnice gor in dol.

Ker smo želeli da se to gibanje lahko izvaja tudi ciklično ob pritisku na gumb START CYCLE, je bilo v kodo potrebno dodati še funkcije ki bodo to zanko izvajale ponavljajoče dokler mi tega ne prekinemo s pritiskom na gumb STOP CYCLE.

(37)

Rezultati in diskusija

Slika 4.5: Funkcije ki omogočajo ciklično izvajanje in zaustavitev.

Na sliki 4.5 vidimo funkcijo startcycle, katera nam ob pogoju da je stop_b enak True prične izvajati funkcijo start in jo intervalno izvaja vse dokler je pogoj izpolnjen. Ampak pred funkcijo startcycle smo definerali da je stop_b enak False, tako da se funkcija startcycle ne izvaja. S tem namenom smo definirali še eno funkcijo, ki smo jo poimenovali startc, ta nam stop_b spremeni v globalno spremenljivko, nato pa še spremeni njeno vrednost iz False na True. Ob klicu funkcije startc se nam tako začne izvajati ciklično gibanje batnice (predstavlja gumb START CYCLE) in se bo izvajalo vse dokler tega na prekličemo. Gibanje batnice ustavimo s pritiskom na gumb STOP CYCLE katerega definira funkcija stop. Funkcija stop ponovno definira stop_b kot False, zato se funkcija startcyle preneha izvajti, tako se ob klicu funkcije stop funkcija start izvede do konca nato pa se ustavi, saj v funkciji startcycle ni več izpolnjen pogoj da je stop_b enak True. Imamo pa še funkcijo za zaustavitev v sili tako imenovani gumb EMERGENCY STOP, katerega delovanje je vezano na funkcijo estop. Ta funkcija pa najprej izklopi oba elektromagnetna ventila, tako da se batnica ustavi, nato pa še prekine ciklično izvajanje procesa.

(38)

Rezultati in diskusija

Slika 4.6: Vnos niti.

Če smo želeli, da bo program istočasno izvajal risanje grafa in izvajanje gibanja batnice smo morali vnesti niti. Nit nam omogoča, da program istočasno izvaja dve stvari. Vsak proces lahko uporablja eno ali več niti izvajanja. Nit je nov proces, ki z ostalimi nitmi souporablja naslovni prostor in globalne spremenljivke, vendar ima svoj ID, dostopa do skupnih datotek in ima pravice dostopa do vsega znotraj procesa. Tako smo z uporabo niti dosegli da se lahko izvaja risanje grafa in izvaja gibanje batnice. Na sliki 4.6 je koda za definiranje in zagon niti. Prvi požene funkcijo start v novi niti, tako da se izvede funkcija start in riše graf, zato je to tudi funkcija ki je vezana na gumb START. Druga nit pa je vezan na gumb START CYCLE in v novi niti požene funkciji startc in startcycle. Funkcija .daemon pa pomeni kadar je True, da se nit preneha izvajati skupaj s programom.

(39)

Rezultati in diskusija

V delu kode na sliki 4.7 je definirana velikost grafičnega vmesnika, naslov ki se izpiše na vmesniku in pisava na njem. Pod označbami btn se skrivajo gumbi, tukaj določimo njihov izgled, napis na njih, širino mej, pisavo, barvo ter seveda kateri ukaz naj se izvede ob pritisku na gumb. V nadaljevanju je še postavitev mreže in postavitev gumbov v mreži ( kateri stolpec in vrstica, ter čez koliko stolpcev/vrstic se naj razprostira). Zadnji sklop kode na sliki 4.6 pa je že namenjen grafu, določa njegovo velikost in postavitev na grafičnem vmesniku., spodaj pa sta že dodana prazna seznama xs in ys v katera se nato dodajajo podatki za izris na grafu.

Slika 4.8: Funkcija za risanje grafa.

Na sliki 4.8 je še zadnji del našega programa. Tukaj je definirana funkcija za risanje grafa.

Na y os se rišejo vrednosti tlaka, vrednosti pridobimo iz analognega vhoda, vendar ker na vhod dobimo vrednost v voltih je potrebno ta podatek preko enačbe še spremeniti v vrednost v barih. Naš senzor zaznava vrednosti od 0 do 10 V in tlake od 0 do 100 bar, zato je je enačba za pretvorbo y = 10 x. Zato je potrebno vrednost ki jo dobimo iz senzorja še pomnožiti z 10. Na x os pa se zapisuje realen čas. Ker želimo, da se na grafu prikazuje samo zadnjih 6 podatkov je potrebno preostale brisati, to naredimo v vrstici 94 in 95. V nadaljevanju kode se doda še naslov grafa in označbe osi. V vrstici 104 se kliče še funkcija ani, ki dejansko izvaja animacijo risanja grafa v živo. Na koncu pa se zaključi še glavna zanka knjižnice tkinter.

(40)

Rezultati in diskusija

4.4 Zagon sistema

Ko smo imeli vse sprogramirano in hidravlično stiskalnico povezano z RPi je bil čas za prvi preizkusni zagon. Pognali smo hidravlični agregat, na RPi pognali kodo da se nam je odprl grafični vmesnik in so se prikazali gumbi za upravljanje ter graf tlaka. Tako smo lahko prvič preizkusili ali zadeva dejansko deluje kot mora. Pritisnili smo gumb START in spremljali če vse poteka tako kot mora, zadeva se je pravilno izvedla, na grafu pa smo tudi spremljali potek tlaka, težava je le v tem, da je naš RPi malo premalo zmogljiv in se med izvajanjem gibanja batnice graf ne osveži vsako sekundo, temveč včasih tudi komaj na 3 sekunde. Če bi želeli, da bi zadeva dobro funkcionirala bi potrebovali zmoglivejči procesor in večji pomnilnik ram. Preizkusili smo še funkcijo START CYCLE, zadeva je ponovno funkcionirala po pričakovanjih in se je prenehala izvajati ko smo pritisnili na gumb STOP CYCLE. Tako smo preverili da zadeva pravilno funkcionira.

Kot smo že prej večkrat omenili ima hidravlična stiskalnica dve možnosti delovanja, da pritisnemo gumb START in se izvede en cikel ali pa pritisnemo na gumb STRAT CYCLE in se proces ciklično ponavlja dokler ga ne prekinemo z pritiskom na gumb STOP CYCLE.

Kadar stiskalnica opravi le en cikel, to pomeni da se batnica pomakne iz svoje skrajne začetne lege do končne skrajne lege in se na koncu vrne v izhodiščni položaj. Pri cikličnem režimu delovanja pa se batnica ko ponovno doseže izhodiščni položaj ne ustavi, vendar se ponovno začne pomikati proti skrajni končni legi. Ta proces se izvaja toliko časa dokler uporabnik ne želi prekiniti cikličnega izvajanja. Ko pa uporabnik želi prekiniti ciklično izvajanje gibanja batnice pritisne na gumb STOP CYCLE in takrat se bo ne glede na to v kateri fazi cikla je program se bo cikel izvedel do konca in ko bo batnica dosegla izhodiščno točko torej skrajno začetno lego se bo cikel zaustavil.

(41)

5 Zaključki

Cilj naloge je bilo obstoječo hidravlično stiskalnico, ki je bila krmiljena z didaktičnimi krmilnimi komponentami nadgraditi z mikrokrmilnikom Raspberry PI. Krmilili smo enostaven cikel za pomik hidravličnega valja iz zgornje lege do spodnje lege pri čemer smo uporabili končna induktivna stikala za zaustavitev hidravličnega valja v končni legi.

V sklopu naloge smo:

1) Pokazali, da je lahko preprost mikroračunalnik kot je RPi v kombinaciji z dodatnimi krmilinimi moduli primeren za avtomatizacijo hidravlične naprave.

2) Pokazali smo da lahko RPi nadomesti industrijske PLK krmilnike ali National Instruments Labview programsko okolje v kombinaciji z didaktičnimi krmilnimi komponentami.

3) Zasnovali smo ohišje za RPi, ki smo ga natisnili s 3D tiskalnikom in ga uporabili za montažo na hidravlično stiskalnico.

4) Zasnovali smo programsko kodo v jeziku Python, ki omogoča krmiljenje in nadzor celotnega procesa in prikaz merjenih veličin na zaslonu na dotik.

5) Izdelali smo grafični vmesnik preko katerega uporabnik rokuje s hidravlično stiskalnico. Izdelali smo gumb za enociklično delovanje, ciklično delovanje, zaustavitev cikla in zaustavitev sistema v sili ter grafični prikaz tlaka merjenega v zgornji komori hidravličnega valja.

6) Hidravlično stiskalnico smo zagnali in testirali vse funkcije grafičnega vmesnika in krmiljenje.

Ugotovili smo da je lahko RPi ob pravilni uporabi in dodatnimi moduli v uporabi za manjše industrijske avtomatizirane procese lahko povsem konkurenčen PLK krmilnikom.

Zaradi njegove odprte platforme programiranja lahko z njim izdelamo poljubna krmiljenja in grafične vmesnike za prikaz merjenih veličin.

(42)

Rezultati in diskusija

vmesniku. Glede na to da imamo že vgrajen tlačni senzor bi se lahko stiskalnica nadgradila tako, da bi stiskala do željenega tlaka in bi ob doseženem tlaku prenehala stiskati. Na isti princip bi lahko stiskalnico zavarovali tudi pred preobremenitvijo.

(43)

Literatura

[1] R. Harb: Krmilna tehnika, Tehniška založba Slovenije, Ljubljana, 2008.

[2] Jack L. Johnson: Basic electronics for hydraulic motion control, Penton Publishing Inc., Cleveland, 1992.

[3] W. Götz, S. Haack, R. Mertlik: Electrohydraulic Proportional and Control Systems, OMEGON Fachliteratur, Ditzingen, 1999.

[4] J. Pezdirnik, F. Majdič: Pogonsko-krmilna hidravlika, zapiski za predavanja- RRP del hidravlika, Fakulteta za strojništvo, Ljubljana, 2012.

[5] https://www.raspberrypi.org/products/raspberry-pi-3-model-b/, ogled: 22. 3. 2021 [6] https://shop.pimoroni.com/products/automation-hat, ogled: 22. 3. 2021.

[7] N. Herakovič: Hidravlika in pnevmatika, Učno gradivo iz predavanj, Fakulteta za strojništvo, laboratorij za strego, montažo in pnevmatiko. Dostpno na:

https://web.fs.uni-lj.si/lasim/index.php?page=hidravlika-in-pnevmatika, ogled: 4. 3.

2021.

[8] N. Herakovič: Hidravlika in pnevmatika, Učno gradivo iz vaj, Fakulteta za strojništvo, laboratorij za strego, montažo in pnevmatiko. Dostpno na:

https://web.fs.uni-lj.si/lasim/index.php?page=hidravlika-in-pnevmatika, ogled: 4. 3.

2021.

[9] J. Sturtz: Introduction to Python 3. Dostopno na: https://realpython.com/python- introduction/, ogled: 5. 5. 2021.

[10] S. Macdonald: Getting Started with Automation HAT, pHAT and HAT Mini.

Dostopno na: https://learn.pimoroni.com/tutorial/sandyj/getting-started-with- automation-hat-and-phat, ogled: 5. 5. 2021.

[11] D. Amos: Python GUI Programming With Tkinter. Dostopno na:

https://realpython.com/python-gui-tkinter/, ogled: 14. 5. 2021.

[12] J. Anderson: An Intro to Threading in Python. Dostopno na:

https://realpython.com/intro-to-python-threading/, ogled: 25. 8. 2021.

(44)

Reference

POVEZANI DOKUMENTI

Na mikro raˇ cunalnik RPI smo namestili odprtokodno platformo Home Assi- stant, ki nam omogoˇ ca spremljanje, upravljanje in avtomatizacijo pametnih naprav v naˇsem stanovanju.

Uporaba računalnika Raspberry Pi se nadaljuje še v višješolskem izobraževanju, saj veliko različnih univerz na različne načine vključuje uporabo raču nalnika

Z vprašalnikom za učence eksperimentalne skupine smo zbirala informacije o njihovem odzivu na igro vlog. Vprašalnik je bil razdeljen na tri sklope. Prvi sklop je zajemal štiri

Snap uˇ cencem omogoˇ ca ustvarjanje digitalnih zgodb, iger, omogoˇ ca tudi uporabo izhodnih enot na raˇ cunalniku ali ostalih zunanjih komponent, zato lahko uˇ cenci svoje ideje

Izbrali smo si von Neumannovo arhitekturo in njeno delovanje, za pouˇ cevanje katere se nam je zdel zelo primeren pripomoˇ cek raˇ cunalnik Raspberry Pi oziroma komplet Kano,

Naš prvi stik s skupino Mesto za vse iz Budimpešte je bil, ko sva se z Majo V. Takrat sva spoznali dva člana njihove skupine, Balinta in Lászla, ter se z njima dogovorili, da

Ja, to se je zelo hitro pokazalo predvsem na srednjih strokovnih šolah, kjer imajo le en letnik zgodovino ali pa nimajo drugih obveznih ali izbirnih družboslovnih predmetov, kot

Najve~ji porast v primerjavi zreferen~nim betonom smo opazili v primeru, ko je vsebovala recikliran agregat drobna frakcija in vse frakcije. Tak{no obna{anje je konsistentno z