Evropský polytechnický institut, s.r.o.
BAKALÁŘSKÁ PRÁCE
2013
MAREK ŠULÁK
Evropský polytechnický institut, s.r.o. v Kunovicích Studijní obor: Elektronické počítače
Dálkové měření – měření otáček pomocí optočlenů
(Bakalářská práce)
Autor: Marek ŠULÁK Vedoucí práce: Ing. Miroslav ZÁLEŠÁK
Kunovice, 2013
Prohlašuji,
ţe
jsem
bakalářskou
práci
vypracoval
samostatně
pod
vedením
Ing. Miroslava ZÁLEŠÁKA a uvedl v seznamu literatury všechny pouţité literární a odborné zdroje.
Kunovice, 2013
Děkuji panu Ing. Miroslavu ZÁLEŠÁKOVI za velmi uţitečnou metodickou pomoc, kterou mi poskytl při zpracování mé bakalářské práce.
Kunovice, 2013 Marek ŠULÁK
Obsah: ÚVOD .................................................................................................................................... 8 1
OPTOELEKTRONIKA ............................................................................................ 10 1.1 OPTOELEKTRONICKÉ SOUČÁSTKY .......................................................................... 10 1.1.1 Fotorezistor .................................................................................................... 11 1.1.2 Fotodioda ....................................................................................................... 12 1.1.3 Fototranzistor ................................................................................................ 13 1.1.4 Fototyristor .................................................................................................... 14 1.1.5 Luminiscenční diody ..................................................................................... 14 1.2 ZOBRAZOVACÍ JEDNOTKY ...................................................................................... 17 1.2.1 Zobrazovací jednotky s luminiscenčními diodami ......................................... 18 1.2.2 LCD ............................................................................................................... 18
2
PROFIL ZADANÉHO TÉMATU ............................................................................ 20 2.1 2.2
3
WIRING .................................................................................................................. 21 ARDUINO................................................................................................................ 21
ANALÝZA POŽADAVKŮ NA MĚŘENÍ ............................................................... 23 3.1 ANALÝZA MĚŘENÉ VELIČINY ................................................................................. 23 3.2 ANALÝZA POŢADAVKŮ NA SYSTÉM MĚŘENÍ ........................................................... 23 3.2.1 Arduino UNO ................................................................................................. 25 3.2.2 Ethernet Shield ............................................................................................... 29 3.3 SOFTWARE ARDUINO ............................................................................................. 31 3.4 PROGRAMOVÁNÍ .................................................................................................... 34 3.5 ELEKTROMOTOR .................................................................................................... 34 3.6 USB ....................................................................................................................... 35 3.7 TCP/IP ................................................................................................................... 36 3.7.1 TCP ................................................................................................................ 37 3.7.2 IP .................................................................................................................... 38
4
NÁVRH ZPŮSOBU MĚŘENÍ ................................................................................. 39 4.1
5
MĚŘENÍ DANÉHO JEVU ........................................................................................... 40
REALIZACE MĚŘICÍHO PŘÍPRAVKU .............................................................. 41
5.1 REALIZACE MĚŘÍCÍ ČÁSTI ....................................................................................... 42 5.2 REALIZACE POHONU A REGULACE OTÁČEK ............................................................ 44 5.3 PRINCIP FUNGOVÁNÍ PROGRAMU ............................................................................ 45 5.4 POPIS ZDROJOVÉHO KÓDU ARDUINA ...................................................................... 47 5.5 JAVA APPLET .......................................................................................................... 51 5.5.1 Graf ................................................................................................................ 53 5.5.2 Ručičkové měřící budíky ................................................................................ 54 6 PILOTNÍ PROVOZ MĚŘENÍ ................................................................................. 55 6.1 V PRAXI ................................................................................................................. 55 6.2 NA EPI ................................................................................................................... 55 6.3 NÁKLADY NA PROJEKT, TECHNICKÁ DOKUMENTACE ............................................. 56 6.4 PODPŮRNÝ VIDEONÁVOD ....................................................................................... 57 7
ODSTRANĚNÍ PŘIPOMÍNEK A UVEDENÍ DO RUTINNÍHO PROVOZU ... 58
8 REALIZACE PROJEKTU MĚŘENÍ V RÁMCI INFORMAČNÍHO SYSTÉMU EPI ..................................................................................................................................... 62
ZÁVĚR ............................................................................................................................... 63 HODNOCENÍ PODNIKU .......................... CHYBA! ZÁLOŢKA NENÍ DEFINOVÁNA. LITERATURA ................................................................................................................... 69 SEZNAM ZKRATEK ....................................................................................................... 72 SEZNAM OBRÁZKŮ, SCHÉMAT, TABULEK A GRAFŮ ........................................ 75 SEZNAM PŘÍLOH............................................................................................................ 76
Úvod Cílem této bakalářské práce je umoţnit měřit optické jevy z jakéhokoliv místa na světě pomocí sítě internet včetně vnitřního intranetu Evropského polytechnického institutu s.r.o. Mělo by být tedy přístupné pro kohokoliv, kdo má zájem ověřit si teoretické znalosti prakticky měřením. Pravdou je, ţe nic nenahradí přímý kontakt studenta se všemi součástmi měření v laboratoři, nicméně ne kaţdý má moţnost strávit hodiny v laboratořích a kdyţ uţ se do laboratoří dostane je většinou nedostatek času pro různé experimenty. Tato bakalářská práce by tedy měla pomoci i studentům, kteří se například kvůli nemoci nemohli zúčastnit praktického měření ve škole. Měřit se budou otáčky kotouče, jehoţ pohání sériový elektromotor. Dálkové měření se odborně nazývá telemetrie. Slovo pochází z řeckého „tele“ – vzdálený a metron – „měřidlo“. Jde tedy o zjišťování veličin, jeţ jsou měřitelné. Měření je moţné realizovat na jakoukoliv vzdálenost. Uplatnění má v bezpočtu oborů – energetika, kosmonautika, armáda, meteorologie, ale i například v motorsportu, kde mechanici na dálku sledují různá nastavení a čidla vozu. O celém řešení práce bude vypracován příspěvek na mezinárodní studentskou konferenci v poţadovaném rozsahu podle zadání. Tento příspěvek bude součástí této bakalářské práce. V závěru práce se navrhne další pokračování této práce (cíle, osnova, literatura). Výsledky práce musí být schváleny vyučujícím předmětu programovací techniky a elektroniky. Následně bude práce obhájena před Ústavem aplikované informatiky. Hodnocení bude součástí práce. Bakalářská práce bude podrobena testu plagiátorství a výsledek bude předloţen zkušební komisi pro státní závěrečnou zkoušku. Tento projekt bude umístěn do systému školních stavebnicových ocelových modulů formátu A5, který plně dostačuje prostorovým nárokům této práce. Díky tomuto modulu bude práce odolnější vůči vnějším mechanickým vlivům, především pak vůči manipulaci studenta s modulem. Tato práce svým způsobem ukazuje dnešní trend, který se týká obrovského rozvoje a především rozšíření automatizace do všech moţných oborů a aplikací. Proto byl zvolen mikročip Arduino, jehoţ vyuţitelnost je obrovská. Tento vývojový kit se těší obrovské 8
oblibě, především u domácích nadšenců bastlířů. Arduinu se věnuje spousta článků na internetu. Pro pochopení základních principů je velmi uţitečný především web výrobce, kde je popsána softwarová a hardwarová stránka. První kapitola této práce se bude věnovat optoelektronice jako takové, optoelektronickými zdroji světla a fotosenzory. V další kapitole si shrneme získané a aplikované znalosti a zkušenosti, které tato bakalářská práce přinesla. V třetí kapitole bude provedena analýza vhodného hardwaru k měření, popis systému Arduino, který bude pro dálkové měření vybrán, jeho výhody a nevýhody. Dále je zde provedena analýza výběru vhodného programovacího jazyka a programového vybavení nezbytného pro ovládání na dálku. Popíšeme si zde zvolený programovací jazyk. Při ovládání na dálku, které bude uskutečněno prostřednictvím sítě internet, je nezbytné navrhnout moţnosti připojení k síti a jeho zabezpečení. Dále se bude práce věnovat realizaci měřícího systému a jeho propojení s uţivatelem. Bude zde popsáno především zapojení obvodu, který byl pro tento systém navrţen a zrealizován. Je zde také zmíněn princip elektromotoru a jeho propojení s kotoučem. Dále zde bude popsán princip snímání otáček, princip vytvořeného programu a popis jeho důleţitých částí. Bude se zde řešit také způsob komunikace mezi Arduinem a uţivatelem. Po zrealizování výše uvedených kroků přichází na řadu uvedení do pilotního provozu, který má za úkol odstranit a vyladit chyby, které se vyskytnou. Studenti si tedy vyzkoušejí dálkové měření v pilotním provozu, kde mohou dávat své připomínky. Tyto připomínky se s nimi zkonzultují a případně se opraví či vylepší. Po vyladění všech chyb a připomínek přichází na řadu rutinní provoz, jenţ bude přístupný široké veřejnosti.
9
1
Optoelektronika
Optoelektronika zkoumá přeměnu elektrického signálu na optický nebo naopak tj. optický signál na elektrický. Nezabývá se ale pouze jen přeměnou, ale i zpracováním a přenosem. Přenos se můţe uskutečňovat bezdrátově, ale na velké vzdálenosti jsou vhodnější světlovody z optických vláken, které v dnešní době zaţívají obrovský rozvoj. Optoelektronika se uplatňuje především v telekomunikační technice, výpočetní technice, ale také u zabezpečovacích systémů (různá světelná čidla apod.). V optoelektronice se vyuţívají tři oblasti vlnových délek a to viditelná oblast záření 400 aţ 700 nm, infračervené záření (IR) a ultrafialové záření (UV). Zdrojem tohoto záření je polovodičová dioda nebo laser. Pro zpracování světelného signálu z těchto zařízení se pouţívá polovodičový detektor (obvykle fototranzistor).
1.1
Optoelektronické součástky
Optoelektronické součástky nebo také optoelektronické prvky se rozdělují zpravidla do tří základních skupin – detektory záření, zdroje záření a speciální struktury, do nichţ třeba řadíme displeje či LCD apod. Kaţdá optoelektronická součástka je charakteristická jednou nebo více veličinami, které udávají závislost mezi optickou a elektrickou sloţkou. U zdrojů je stěţejní veličinou vyzářený výkon, u detektorů je to citlivost, která charakterizuje vztah mezi hodnotou fotoelektrického proudu osvětlením, u světlovodů je důleţitý útlum, coţ je vztah mezi vystupujícím a vstupujícím světelným výkonem. [22, s. 112] Dále se uvádí časová odezva elektrické veličiny na jednotkový skok optické veličiny nebo naopak – přechodová charakteristika. Ta je popsána časovou konstantou nebo dobou náběhu
a
doběhu.
Spektrální
charakteristika
je
grafické
vyjádření
závislosti
charakteristické veličiny (např. u detektoru citlivost) na vlnové délce. Někdy je uvedena pouze vlnová délka, pro kterou má charakteristická veličina nejvyšší hodnotu. Tato hodnota se nazývá extrém spektrální charakteristiky. Níţe je popsáno několik optoelektronických součástek, které připadalo v úvahu pouţít v řešení této bakalářské práce.
10
1.1.1 Fotorezistor Fotorezistor je pasivní elektronická součástka, která nemá přechod PN a jehoţ odpor se sniţuje se zvyšující intenzitou světla. Nemění-li se intenzita osvětlení, zůstává jeho odpor stálý a jeho voltampérová charakteristika je lineární a prochází počátkem grafu.
Obr. č. 1: V-A charakteristika fotorezistoru Zdroj: [1]
Základním stavebním kamenem fotorezistoru je monokrystal polovodiče, polykrystalická tenká vrstva, která je nanesená na nosné destičce nebo spékané tyčinky či destičky, které jsou opatřeny dvěma kontakty a uloţeny v hermetickém pouzdru zaručujícím přístup pro dopadající světelné záření. Materiál, z něhoţ je fotorezistor vyroben závisí na typu jeho pouţití, kaţdý materiál má jinou citlivost a jinou potřebnou energii pro překonání zakázaného pásma. Pouţívá se například Sirník kademnatý (Cds), Křemík (Si), Germanium (Ge) a další. [22, s. 113] Princip fotoodporu je zaloţen na vnitřním fotoelektrickém jevu. Dopadající světlo (fotony) předá svojí energii do elektronu ve valenční sféře, tím elektron získává energii potřebnou k překonání zakázaného pásu a přechází z valenčního pásu do vodivostního. Vyuţití této součástky nalezneme například u fotografických přístrojů, ovládání různých zařízení (otvírání dveří, zapínání světla v místnosti), ale také v zabezpečovací technice jako různé bezpečnostní světelné závory proti krádeţi a jiné. [1]
11
1.1.2 Fotodioda Je to polovodičová dioda, která je upravena tak, aby na jejíţ přechod PN mohlo dopadat světlo. Ke své činnosti vyuţívá generaci páru elektron-díra v blízkosti přechodu. Pokud na přechod nedopadá ţádné světlo, chová se v obvodu jako běţná polovodičová dioda. Zlom nastane, aţ kdyţ na přechod dopadá světlo ve formě fotonů. Pokud má foton dostatečnou energii, můţe být absorbován a podle způsobu zapojení vzniká fotovoltaický nebo fotovodivostní jev. Absorpční hrana, která určuje maximální vlnovou délku, při níţ můţe ještě dojít k absorpci je určena vztahem λ = 1,25/ΔW [22, s. 113].
Obr. č. 2: V-A charakteristika fotodiody, schematická značka Zdroj: [2]
Z obrázku č. 2 je patrné, ţe voltampérová charakteristika diody zasahuje do tří kvadrantů. Při zapojení do hradlového reţimu, jehoţ charakteristika se nachází ve čtvrtém kvadrantu, se dioda chová jako aktivní prvek. Pokud dopadají v tomto reţimu fotony o energii větší neţ je šířka zakázaného pásu ΔW dochází k absorpci za vzniku elektron - díra. To znamená, ţe elektrony se uvolňují do vodivostního pásu a díry do valenčního pásu. Na přechodu vzniká stejnosměrné napětí (fotovoltaický jev). Tyto diody jsou pouţívány jako detektory s vysokou citlivostí nebo dnes velmi rozšířené sluneční články. [22, s. 113] Je-li fotodioda zapojena v závěrném směru v sérii se stejnosměrným zdrojem, chová se jako rezistor, jehoţ odpor je řízený světlem. S intenzitou ozáření klesá odpor na přechodu. Tento reţim se nazývá jako fotovodivostní nebo také odporový. V tomto reţimu je dioda pasivním prvkem. Charakteristika odporového reţimu je znázorněna na obrázku č. 2. Lavinová fotodioda je velmi citlivý detektor. Bývá označena také jako APD (avalanche photodiode). Zapojuje se v závěrném směru a je připojena k napětí těsně pod jejím průrazovým napětím (často řádově stovky voltů). Pomocí velkého napětí v závěrném 12
směru vzniká uvnitř diody silné elektrické pole. Toto elektrické pole má za následek obrovské zrychlení elektronů generovaných dopadajícími fotony. Volné elektrony potom s velkou razancí naráţejí do okolních atomů v krystalové mříţce a vyráţejí další elektrony, ze kterých vznikají nové páry elektron-díra. Tyto nové páry jsou také urychlovány a vzniká tak jev, který se nazývá fotonásobení. Lavinové diody se pouţívájí pro přenosy na velké vzdálenosti, kdy v optickém kabelu vzniká útlum paprsku, slouţí ale i k optickému měření vzdálenosti. Další vyuţití mají například ve čtečkách čárových kódů a biomedicíně.
1.1.3 Fototranzistor Vyuţívá tranzistorového jevu. Na rozdíl od běţného tranzistoru není jeho báze řízena proudem (bipolární) nebo napětím (unipolární). Fototranzistor nemá bázi vyvedenou. Fototranzistor má okénko, pomocí tohoto okénka vstupuje záření do oblasti báze v blízkosti emitorového přechodu a tím se fototranzistor otevře a prochází jím proud z připojeného zdroje. Průchod elektronů určuje velikost dopadajícího záření. Fototranzistor je bipolární.
Obr. č. 3: Schématická značka fototranzistoru Zdroj: [3]
Je citlivější neţ fotodioda, ale lavinová fotodioda je citlivější. Jeho voltampérová charakteristika má stejný tvar jako běţný bipolární tranzistor, místo parametru proudu IB báze je zde intenzita osvětlení E. Pro vyšší citlivost se zapojuje do Darlingtonova zapojení. Nevýhodou tohoto zapojení je jeho nízká rychlost působení, které znemoţňují správnou funkci tranzistoru ve frekvencích nad 50 KHz. Fototranzistor se pouţívá v signalizační technice jako jsou poţární hlásiče, stroboskopy, vyuţití nachází také v řídící a měřící technice.
13
1.1.4 Fototyristor Fototyristor je čtyřvrstvá polovodičová součástka upravená tak, aby na jeho přechody PN dopadalo záření. Dopadající fotony mají stejný vliv na činnost fototyristoru jako přivedení kladného napětí na řídící elektrodu klasického tyristoru. Voltampérová charakteristika je podobná tyristoru s rozdílem, ţe není uvedena hodnota řídícího proudu Ig, ale intenzita osvětlení E.
Obr. č. 4: Uspořádání fototyristoru, schematická značka, voltampérová charakteristika Zdroj: [3]
Součástky,
které
obsahují
zdroj
světla
ve
svém
vlastním pouzdře,
nazýváme
optotyristory [22 s. 116]. Vznikl spojením elektroluminiscenční diody a fototyristoru, hlavním rozdílem mezi foto a optotyristorem je ten, ţe optotyristor je ovládán zmíněnou elektroluminiscenční diodou. Struktura optotyristoru tedy není přístupná vnějšímu osvětlení, ale řízena intenzitou osvětlení zabudované LED diody.
1.1.5
Luminiscenční diody
Zde uţ se dostáváme ke zdrojům záření. Luminiscenční dioda je spíš známa pod názvem LED (light emitting diode) dioda, znamenající v překladu dioda emitující světlo. Na rozdíl od klasických diod vyzařuje LED dioda viditelné světlo, infračervené nebo ultrafialové záření. Pásmo spektra záření diody je závislé na vybraném chemickém sloţení polovodiče. Mají jeden přechod PN, příloţíme-li napětí v propustném směru dochází k injekci menšinových nosičů náboje přes přechod PN. Po překonání určité vzdálenosti tyto nosiče rekombinují s nosiči opačné polarizace. Tento proces způsobuje uvolnění energie ve formě fotonů. LED dioda patří mezi zdroje nekoherentní, coţ znamená, ţe jeho záření je spontánní s chaoticky měnící se fází. [22, s. 117] 14
LED diody jsou vyráběny tak, aby vyzařovali jen určité spektrum vlnové délky, tyto spektra pak určují výslednou barvu, kterou vyřazují. Kaţdá barva potřebuje jiné napětí, při němţ bude dioda vyzařovat záření. Toto napětí se musí dodrţovat, jinak můţe dojít k poškození diody. Proto se dávají před LED diody předřadné odpory. Tyto odpory mají za úkol nejen chránit součástku před poškozením, ale můţeme jimi i regulovat vyzařovaný jas. Pro regulaci jasu je moţné pouţít i tranzistor, případně pulzně šířkový modulátor. Nejjednodušší regulace je však pomocí předřadného potenciometru. Na vypočítání předřadného odporu uţijeme vzorec: R=
[5]
Příklad: Zapojení jedné LED diody "určené pro U = 1,5 V a I=20 mA" na napětí 5 V: U zdroje = 5 V U diody = 1,5 V I diody = 20 mA = 0,02 A R=
= 175 Ω
Ze vzorce je patrné, ţe výpočet vychází z Ohmova zákona, kde odpor předřadného rezistoru R se rovná podílu napětí na rezistoru a proudu na diodě ID, který smí diodou protékat. Napětí na rezistoru se rovná rozdílu napětí na zdroji a poţadovanému napětí na diodě. Proud na diodě je obvykle 20 mA. Jako u ostatních diod nesmíme ani u LED diody zaměnit polaritu – dioda nebude buď svítit, nebo dokonce hrozí trvalé poškození součástky. Rozeznat polaritu lze několika způsoby. Kladná anoda má delší vývod, uvnitř diody má kratší plošku a katoda naopak kratší. Na straně katody je pak také vybroušená ploška.
Obr. č. 5: Schematická značka LED diody, rozeznání polarity podle vybroušené plošky Zdroj: vlastní
15
Barvy LED diod – Led diody se vyrábějí v základních barvách jako bílá, červená, zelená, modrá a v dalších různých odstínech. UV – ultrafialové diody svítí ultrafialovým světlem, které reaguje s UV barvami a vytváří tak v kombinaci s nimi velice zajímavé barevné kombinace. Vícebarevné LED diody jsou schopné měnit barvu podle napětí, které na ni přivedeme, například zeleno-červená, červeno-modrá, červená – zelená – modrá a jiné.
Obr. č. 6: Vývody RGB diody Zdroj: [10]
Velikosti LED diod - Vyrábějí se nejčastěji v průměrech: 1,8 mm; 3 mm; 5 mm; 8 mm; 10 mm ale je moţné zakoupit větší i menší LED diody. Tvary LED diod - Jsou kulaté s obloukovým vrškem, kulaté s plochým vrškem, obdélníkové, trojúhelníkové. Je moţné najít i jiné tvary, ale to uţ je velmi neobvyklé. Obal LED diod - Můţe být průhledný anebo barevný, podle barvy LED diody, proto můţe být červená LED dioda bílá, dokud ji nerozsvítíte anebo můţe být červená i bez rozsvícení. Zapojení LED diod – LED diody zapojujeme pomocí dvou připojovacích drátků tzv. noţiček, u vícebarevných LED diod to mohou být noţičky tři nebo dokonce i čtyři, Delší noţička se nazývá anoda a je kladná, kratší noţička je záporná katoda.
16
Napájecí napětí Napětí LED diod se liší podle kaţdé LED diody, obecně platí, ţe se pohybuje kolem 1,6 – 3,5 V. To samé platí pro proud I na který diodu můţeme zapojit, častou chybu je nepřevedení jednotek z miliampér do ampér (20 mA je 0,02 A). Napětí potřebné pro rozsvícení jednotlivých typů LED diod: -
Infračervená 1,6 V,
-
Červená 1,8 – 2,1 V,
-
Oranţová 2,2 V,
-
Ţlutá 2,4 V,
-
Zelená 2,6 V,
-
Modrá 3 – 3,5 V,
-
Bílá 3- 3,5 V,
-
Ultrafialová 3,5 V. [23, s. 107]
Předřadný odpor -jak se píše o pár řádků výše, tak se LED dioda zapojuje na napětí U = 1,5 – 3,5 V, ale ne vţdy můţeme diodu zapojit na napětí, které potřebuje, tento problém řeší předřadný odpor, který sniţuje napětí a díky němuţ se LED dioda nespálí, i kdyţ ji zapojíte např. na 5 V, je to tedy velmi uţitečná pomůcka bez které by se elektrické obvody neobešly. Výpočtu předřadného odporu jsme se věnovali o pár stránek zpět. Výrobci udávají, ţe LED diody vydrţí svítit 50 aţ 100 tisíc hodin, coţ odpovídá přibliţně 10ti letům nepřetrţitého svícení. To je asi 100x déle, neţ vydrţí běţná ţárovka, která je navíc mnohem náročnější na spotřebu elektrické energie. [4]
1.2
Zobrazovací jednotky
Pod pojmem zobrazovací jednotky (displeje) označujeme zařízení ovládaná elektrickými signály. Tyto jednotky zobrazují uţivateli určité informace vizuální formou. Dělíme je do dvou základních skupin. S malou hustotou informace, kam patří alfanumerické indikátory zobrazující jednotlivé číslice, písmena a znaky. Jejich rozměry jsou malé a jsou relativně jednoduché.
17
Do skupiny s velkou hustotou informace patří televizní obrazovky, osciloskopické obrazovky, monitory, zobrazovací panely atd.
1.2.1 Zobrazovací jednotky s luminiscenčními diodami Jak jiţ název vypovídá, základem jsou LED diody uspořádané do segmentů nebo do bodové matice. Segmentové zobrazovací jednotky umoţňují zobrazit buď jen číslice, nebo "pseudopísmena" poskládané z jednotlivých samostatně ovládaných segmentů (nejčastěji sedm, pro pseudopísmena i 14 nebo 16). Pouţívají se v mnoha elektronických přístrojích (měřícípřístroje, kalkulačky, hodiny...). Maticové zobrazovací jednotky umoţňují samostatně zobrazit jednotlivé body uspořádané do matice. Z těchto bodů se pak tvoří číslice, písmena nebo jakékoliv znaky nebo údaje. Pouţívají se opět v mnoha elektronických přístrojích (měřící přístroje, mobilní telefony, informační panely...). [24, s. 85][25, s. 246]
Obr. č. 7: Segmentová zobrazovací jednotka Zdroj: [6]
1.2.2
LCD
Princip LCD je, jak jiţ název napovídá, zaloţen na technologii tekutých krystalů (LCD je anglická zkratka pro označení Liquid Crystal Display, tedy displej z tekutých krystalů). Tekuté krystaly jsou látky, které se kromě tekutého a pevného stavu vyskytují také v tzv. kapalné krystalické fázi. V tomto stavu jsou tekuté, ale mají optické a elektromagnetické vlastnosti pevných látek. Pro technologii LCD jsou stěţejní dva jevy. První je dán optickými vlastnostmi tekutých krystalů. Změnou polohy jejich orientovaných molekul dochází ke změně polarizace světla, které jimi prochází. 18
Druhý jev se projevuje při vloţení tekutých krystalů do elektrického pole. Jejich molekuly snadno tvoří dipóly, coţ znamená, ţe jejich jedna strana má kladný a druhá záporný elektrický náboj. V elektrickém poli pak tyto dipóly mají snahu natáčet se dle své orientace. Vloţením tekutého krystalu do elektrického pole lze dosáhnout natočení jeho molekul a pozměnit tak jeho strukturu. V LCD panelu řídí tento proces tranzistory, které regulují napětí pro kaţdý zobrazovací bod. Tekutými krystaly, jejichţ struktura se mění v závislosti na intenzitě elektrického pole, prochází polarizované světlo. [11]
Obr. č. 8: Princip činnost LCD panelu Zdroj: [8]
19
2
Profil zadaného tématu
Při tvorbě této bakalářské práce jsem těţil zejména ze znalostí ze střední a vysoké školy, dále jsem k pochopení tématu nastudoval několik domácích i zahraničních zdrojů. Rozšířil jsem si znalosti slaboproudé elektroniky – zejména optoelektroniky, naučil jsem se programovat v jazyku Wiring, který je velmi podobný jazyku C. Prohloubil jsem své znalosti ohledně mikropočítačů a jejich programování. Dále jsem si prakticky ověřil své teoretické znalosti ohledně projektování a realizace elektronických obvodů. Získal jsem velmi cenné znalosti ohledně zařízení slouţící k dálkovému přístupu, zejména znalosti ohledně kitu Arduino včetně programování jejího mikropočítače. Díky dálkovému přístupu a pouţitému Ethernet Shieldu jsem vyuţíval jazyk HTML. Pro funkční dálkový přístup jsem nastudoval základní principy sítí. Způsoby dálkového přístupu jsem analyzoval, porovnal jejich klady i zápory. Z původního plánu udělat pro uţivatele HTML stránku na Ethernet Shieldu nakonec kvůli převaţujícím nevýhodám sešlo, a tyto problémy vyřešil Java applet, který uţivateli ukazuje graf a změřené hodnoty v reálném čase. Ethernet Shield nyní neplní roli uţivatelského rozhraní, ale umoţňuje přenos dat z Arduina ke klientskému Java appletu a naopak. Arduino má v síti tedy svoji MAC a IP adresu, prostřednictvím které komunikuje s ostatními zařízeními v síti. Je zde ale i moţnost zajistit komunikaci v síti i bez Ethernet Shieldu. Všechna Arduina mají USB port, prostřednictvím něho lze komunikovat s počítačem, ke kterému je USB připojeno. V počítači, který je umístěn v laboratoři dálkového měření je nahrán program, který se připojí na USB port. Arduino bude přes USB port odesílat naměřená data, program je zpracuje a pošle přes internet uţivateli. Samozřejmě komunikace funguje i naopak kdyţ uţivatel zadává parametry Arduinu – například chce zvýšit napětí na motoru.
20
2.1
Wiring
Wiring je open-source programovací framework pro mikrokontroléry. Je multiplatformní a pomocí něj můţeme ovládat spousty zařízení, jejichţ srdcem je mikrokontrolér. Vychází z jazyka C, kterému je velmi podobný. Uplatnění najde hlavně ve vývojových kitech jako je například Arduino. Díky své jednoduchosti je vhodný i pro začátečníky, kteří toho o programování moc neví. Ocení jej ale i profesionálové, kteří mohou ve spojení s vývojovými kity naprogramovat například automatizační systémy, zabezpečovací systémy atd. Své uplatnění najde i mezi studenty, kteří se mohou názorně přesvědčit, jak jejich program funguje. Arduino má přímo své vývojové prostředí, kde se v jazyce Wiring programuje. Toto prostředí umí kód zkompilovat, nahrát do mikrokontroléru, nastavit port připojeného zařízení, zobrazí informace, které posílá čip do počítače prostřednictvím sériového portu atd. Díky těmto všem nabytým znalostem a dovednostem, které jsem získal, mohu realizovat tuto bakalářskou práci.
2.2
Arduino
Arduino je schopné vnímat okolní prostředí pomocí vstupů z rozličných senzorů. Zároveň můţe ovlivňovat okolí připojenými LEDkami, motorky a dalšími výstupními periferiemi. Tato elektronická platforma zaloţená na uţivatelsky jednoduchém hardware a software si získala mnoho kutilů a bastlířů. [7] Jak jiţ bylo řečeno, Arduino se programuje pomocí jazyku Wiring ve vlastním vývojovém prostředí, kde je moţno si vyzkoušet předprogramované příklady, na kterých se dá jednoduše porozumět tomuto programovacímu jazyku. V tomto prostředí je i moţnost spuštění monitoringu sériového portu, který dokáţe zobrazit výstupní hodnoty Arduina.
21
Desky Arduino je moţné sestavit ručně nebo koupit jiţ sestavené a otestované. Návrhy plošného spoje jsou k dispozici pod otevřenou licencí, lze je tedy upravovat podle potřeb. [7] Hlavní výhody Arduina tedy jsou: -
jednoduché programování,
-
jednoduché zapojení,
-
nízká cena oproti jiným kitům (např. Quido),
-
spousta online návodů,
-
početná uţivatelská komunita,
-
platformní nezávislost (Windows, Macintosh, Linux…). [7]
22
3
Analýza požadavků na měření
Zde bude popsáno zařízení, které bude uskutečňovat měření na dálku a bude zde popsáno, co bude dále potřebné ke správné funkčnosti projektu.
3.1
Analýza měřené veličiny
Otáčky za minutu, značka jednotky ot/min, anglickou zkratkou také RPM (revolutions per minute) je vedlejší jednotka soustavy SI pro frekvenci znamenající počet pravidelně se opakujících jevů za jednotku času, v tomto případě za minutu. Pouţívá se zejména pro vyjádření rychlosti otáčení nejrůznějších mechanických zařízení - točivých strojů, například motorů, turbín nebo gramofonových desek. Udává počet plných otočení, které zařízení, nebo některá jeho část udělá za minutu. Jednotka se uţívá v uvedených případech místo jednotky hertz; hodnota v ot/min je přesně 60× vyšší, tj. 1 Hz = 60 ot/min. [13] V případě, ţe se otáčky nevynásobí číslem 60, mluvíme o otáčkách za jednu sekundu.
3.2
Analýza požadavků na systém měření
V dnešní době je na trhu spousta produktů pro dálkové řízení a měření různých veličin. Díky své relativně nízké ceně se tato zařízení těší velké oblibě jak mezi amatéry, tak i mezi profesionály. V tomto projektu padl výběr na vývojový kit Arduino Uno. Mezi jeho hlavní výhody patří cena a obrovské moţnosti rozšiřitelnosti, díky různým tzv. shieldům, které jej obohacují o další zajímavé funkce. Na internetu lze najít spoustu shieldů díky nimţ můţe Arduino ovládat například servomotorek nebo jas ţárovky. Shieldy ale také mohou slouţit ke snímání různých fyzikálních veličin nebo pro komunikaci – bluetooth, wifi, ethernet, RS 232 a ke mnoha jiným zařízením. Arduino je open-source project. To znamená, ţe kdokoliv můţe editovat schémata všech oficiálních modelů a základní Arduino programy. 23
Schémata jsou navíc ke staţení na stránkách Arduina. Stačí do vyhledávače napsat název modelu, jehoţ schéma poţadujete. Jsou zde také ke staţení zdrojové kódy, které můţe kdokoliv upravovat. Arduino pak stačí sestavit a pomocí programátoru do něj nahrát základní program. [13] „Srdcem Arduina je jednočip (mikrokontrolér nebo starším výrazem jednočipový mikropočítač) z rodiny ATmega. Výrobcem těchto čipů je norská firma Atmel. Jednočipy ATmega patří do rodiny jednočipů s architekturou AVR, což jsou osmibitové procesory typu RISC s harvardskou architekturou (tj. má oddělený paměťový prostor pro program a pro data). Jednotlivé použité typy (ATmega8, ATmega168, ATmega328) se liší především velikostí vnitřní paměti RAM a vnitřní paměti FLASH. Ve světě Arduina se periferie nazývají štíty (shields). Jsou to desky s podobnými rozměry jako Arduino a s identickým rozložením konektorů. Takové desky lze „nasadit“ na desku s Arduinem. Většinou jsou konektory průchozí, takže desek lze na sebe naskládat víc. Pomocí přídavných periferních desek můžeme k Arduinu připojit téměř cokoli – od snímačů či relé pro řízení reálných strojů přes nejrůznější demo kity či periferie jako jsou např. paměťové karty až po desky s Ethernetovým rozhraním.“ [14]
Obr. č. 10: Arduino Uno pohled shora Zdroj: vlastní
24
Desky arduino obsahují osmibitové mikrokontrolery AVR od firmy Atmel a mnoho dalších podpůrných obvodů. Oficiální vydání Arduina, které vyrábí a prodává Italská firma Smart Projects, pouţívají čipy ATMega8, ATMega168, ATMega328, ATMega1280 a ATMega2560. Kaţdá deska má spoustu I/O pinů, do kterých se jednoduše připojují další obvody. Na deskách je několik diod, resetovací tlačítko, konektory pro ICSP programování, napájecí konektor, oscilátor a obvod zprostředkovávající komunikaci po USB. [9] Hlavní mikrokontroler, který je uţivatelsky programovatelný, jiţ má bootloader (kód, který se po spuštění postará o základní nastavení mikrokontroleru, jako jsou interní časovače, nastavení rozhraní USART a další) a nastavené potřebné fuses bajty (těmi se nízkoúrovňově nastavují některé vlastnosti čipu). [9] Přestoţe je Arduino připojeno k počítači pomocí rozhraní USB, je softwarově simulována sériová komunikace přes RS-232. Ve starších deskách, jako je například Duemilanove nebo Diecimila, se pro tyto účely pouţívaly FTDI čipy, v novější desce Uno toto obstarává ATMega8U2 s předprogramovaným firmware, který je samozřejmě díky open-source licenci volně dostupný včetně zdrojového kódu. [9]
3.2.1 Arduino UNO Arduino Uno je vývojová deska, jejíţ srdcem je mikrokontrolér ATMega 328. K mikrokontrolélu je připojeno 14 vstupně výstupních pinů. 6 z těchto pinů poskytuje funkci pulzně šířkové modulace PWM. Dále na desce najdeme 6 vstupů pro příjem analogového signálu, krystalový oscilátor taktován na 16 MHz. Součástí desky je i USB konektor, slouţící k napájení a programování mikroprocesoru. Desku lze napájet i externě konektorem jack 2,1 mm do výše aţ 12 V, v případě ţe by 5 voltů z USB nestačilo. Na desce je stabilizátor napětí a tlačítko slouţící pro restart programu.
Princip pulzně šířkové modulace PWM (Pulse Width Modulation) česky pulzně šířková modulace. Tato funkce umoţňuje získávat analogové výstupy digitální cestou. Podle doby úrovně LOW a úrovně HIGH se 25
můţe vytvořit vjem analogové veličiny. Frekvence PWM je 500 Hz, to znamená, ţe pomocí PWM se dá ovládat například jas diody, aniţ by šlo poznat, ţe je v podstatě ovládán pulzy. Na obrázku lze vidět jak si PWM přepíná mezi napětím 0 V a napětím 5 V. Pokud jsou pulzy dostatečně rychlé výsledkem je stabilní analogové napětí mezi 0 – 5 V.
Obr. č. 11: Popis funkce PWM Zdroj: [12]
Paměť Paměť ATmega328 má 32 KB z toho 0.5 KB zabírá bootloader, slouţící pro načtení mikrokontroleru. Dále disponuje 2 KB SRAM pamětí a 1 KB EEPROM. Napájení Jak jiţ bylo výše zmíněno – doporučené napětí je v rozmezí 7 aţ 12 voltů. Výrobce ovšem uvádí dokonce limitní napětí 20 V.
26
Napájet Arduino se dá tedy několika způsoby: -
pomocí USB 5 V,
-
pomocí napájecího adaptéru,
-
pomocí akumulátoru.
Pokud je deska zapojená k počítači pomocí USB a zapojíme ji zároveň ještě na externí napaječ, Arduino to samo pozná a automaticky přepne na externí zdroj. Na desce se pak nacházejí piny pro napájení jiných obvodů: -
VIN – je napětí rovné napájecímu napětí desky,
-
Regulované 5 V,
-
Regulované 3,3 V,
-
Zemnící GND piny.
I/O Vstupy Kaţdý ze 14ti pinů Arduina můţe být pouţít jako vstup i výstup. Tyto parametry se definují v programu pomocí funkce pinMode(), digitalWrite() a digitalRead(). Jejich pracovní napětí je 5 V, a maximální vstupně/výstupní proud činí 40 mA.
27
Obr. č. 12: Arduino Uno – popis jednotlivých částí Zdroj: vlastní
Analogové vstupy Tyto vstupy jsou pod piny A0 aţ A5. Pomocí něj můţeme na základě referenčního napětí měřit napětí připojené na tyto vstupy. Defaultně je toto napětí nastaveno na 5 V. Připojením napětí na pin AREF lze jednoduše referenční napětí změnit. Vstupy mají rozlišovací schopnost 10 bitů (1024 bajtů). To znamená, ţe referenční napětí vydělí 1023 (protoţe se 1024 bajtů počítá i s nulou) a výsledkem je přesnost, jakou se dá veličina snímat. Při referenčním napětí 5 V lze tedy snímat na přesnost přibliţně 48 mV. Čím niţší referenční napětí bude, tím přesnější pak bude výsledná hodnota.
28
Číslo pinu 0, 1
2, 3
Popis Nazývány jako RX a TX jsou piny slouţící ke komunikaci po sériové lince Piny slouţící k přerušení, to můţe probíhat při sestupné nebo vzestupné hraně
3, 5, 6, 9, 10, 11
PWM pulzně šířková modulace
10, 11, 12, 13
Tyto piny podporují SPI komunikaci pouţitím SPI knihovny
13
Je zde z výroby integrovaná LED dioda, indikuje logickou 0 nebo 1
A0, A1, A2, A3, A4, A5
Analogové vstupy slouţící ke snímání elektrických veličin
A4, A5
Podporují komunikaci při vyuţití Wire knihovny
AREF
Určuje referenční napětí pro analogové vstupy
Reset
Tento pin funguje stejně jako tlačítko reset, přivedením logické 0 se Arduino restartuje
Tabulka 1: Piny Arduina Zdroj [12]
3.2.2 Ethernet Shield Projekt dálkového měření doslova vybízí k pouţití Ethernet Shieldu. Díky tomuto rozšíření můţe Arduino jednoduše fungovat jako server v počítačové síti. Jeho instalace je velmi jednoduchá, jelikoţ jej stačí pouze nasunout na piny Arduina. Komunikace probíhá přes rozhraní SPI. Díky propojení jednotlivých pinů Arduino neztratí ani jednu z jeho původních funkcí – naopak Ethernet Shield je dále vybavený slotem pro microSD kartu, ze které lze po naprogramování jak číst, tak i do ní zapisovat. Shield je napájen z Arduina a ke zprovoznění tedy pouze stačí mít Arduino zapojené ke zdroji napětí a síťový kabel, jenţ je zapojený do Ethernet Shieldu. K funkčnosti shieldu je dále třeba do programu nahrát Ethernet knihovnu a SPI knihovnu, bez nichţ bude Ethernet Shield nefunkční.
29
Nastavení sítě: Kaţdé zařízení v síti musí mít svou MAC adresu. Tato adresa jednoznačně definuje zařízení, jeţ je připojeno k síti. Dále se musí určit IP adresa, která ukazuje na místo v síti. Tyto dva parametry se musí do zdrojového kódu zapsat povinně.
Obr. č. 13: Arduino Ethernet Shield – pohled shora Zdroj: vlastní
Z obrázku nahoře je dobře patrný slot pro microSD kartu na pravé straně desky. Středu desky dominuje ethernetový kontroler W5100 zajišťující komunikaci pomocí protokolu TCP i UDP. Na levé straně se nachází koncovka RJ-45 pro připojení do počítačové sítě. Jinak jsou zde prvky stejné jako u klasického Arduina – po stranách jsou vstupně výstupní piny a v rohu desky resetovací tlačítko. Nechybějí ani LED diody indikující: -
PWR Napájení na desce,
-
LINK indikuje síťové propojení a při přijímání nebo odesílání dat bliká,
-
100M indikuje připojení rychlost 100 Mb/s,
-
FULLD indikuje duplexní připojení k síti, 30
3.3
-
COLL při zjištění kolize v síti bliká,
-
RX bliká při příjmu dat,
-
TX bliká při odesílání dat. [12]
Software Arduino
Pro zprovoznění a naprogramování desky Arduina je potřeba stejnojmenný program, jenţ je volně ke staţení na oficiálních stránkách výrobce. Je nabízen pro operační systém Windows, MAC OS X a Linux. Na stránkách je také obsáhlý tutoriál popisující jednotlivé části programu.
Obr. č. 14: Software Arduino a předem naprogramované příklady Zdroj: vlastní
Na obrázku č. 16 jsou zobrazeny předprogramované příklady, které jsou přímo součástí programu. Příkladů je opravdu spousta na nepřeberné mnoţství aplikací. Od jednoduchého
31
programu na blikání diody, voltmetru po programy určené přímo pro Shieldy (ovládání krokového motoru, ethernet, SD karta, LCD displeje apod.). Jednotlivé programy jsou velmi názorné a podrobně popsané komentáři. Díky těmto příkladům lze velmi rychle pochopit základní principy programování. Všechny příkazy, datové typy, popis jednotlivých částí syntaxe včetně praktických příkladů se dají najít na internetových stránkách, ale i přímo v programu pod poloţkou „References“.
Obr. č. 15:Tlačítka v softwaru Arduino Zdroj: vlastní
Program obsahuje spoustu různých tlačítek, z nichţ se při programování pouţívají nejvíce dvě – a to tlačítko pro ověření, zda není v kódu syntaktická chyba. Druhé tlačítko slouţí k nahrání programu na desku Arduina. Po ťuknutí na poloţku File se zobrazí nabídka, kde se nabízí otevření prázdného nového okna pro napsání nového programu. Další moţnost v nabídce je otevření napsaného kódu, jenţ je uloţený v počítači. Pod poloţkou examples jsou jiţ zmíněné předprogramované příklady k různým aplikacím. Jsou zde i klasické tlačítka na zavření okna, ukončení programu, jeho uloţení, uloţení jako, ale i moţnost tisku kódu. Pod poloţkou Edit se skrývá práce s textem, jeho označení, kopírování, vyjmutí, vloţení a vyhledávání v něm. Je zde také důleţité tlačítko zpět. Sketch nabízí moţnost kód zkontrolovat a vloţit do něj potřebné knihovny. Nejspíš nejvyuţívanější poloţka v Tools je moţnost Serial Monitor, která zobrazuje informace, 32
které posílá Arduino pomocí sériové linky do počítače. Z těch důleţitějších ještě stojí za zmínku moţnost výběru typu desky Arduina, které je připojeno a jeho port, na kterém se nachází. Poloţka Help pak v podstatě skrývá tutoriály, návody a nápovědu, které jsou dostupné i na stránkách výrobce. Mimo tyto poloţky je zde ještě informace o verzi programu. Ve spodní části programu je stavová konzole, která informuje o stavu různých vykonaných procesů. Pokud se v programu vyskytne nějaká chyba, ukáţe se ve spodní části okna hláška, čeho se chyba týká. Nejčastěji jde o syntaktické chyby, které většinou vznikají z nepozornosti nebo nevědomosti programátora. Další chybová hláška se můţe objevit díky špatnému připojení desky k počítači nebo jeho špatné nakonfigurování. Na vině mohou být i špatné respektive ţádné ovladače. Windows 7 by ale neměl mít problém s automatickým vyhledáním a nainstalováním ovladače Arduina.
Obr. č. 16:Ukázka chybové hlášení Zdroj: vlastní
Jednoduchým příkladem můţe být výše uvedený obrázek stavové konzole v případě chyby. Všechno je srozumitelně popsáno. Jako první program upozorňuje, ţe proměnná promenna není deklarována. Níţe je pak uvedeno umístění problému, které hlásí, ţe chyba je ve funkci loop()a o řádek níţ je napsán dokonce řádek číslo 19, na kterém se chyba vyskytuje. V pravém dolním rohu je informace, který říká, jaký typ Arduina je připojen a ke kterému portu.
33
Obr. č. 17: Ukázka bezproblémového zkompilování Zdroj: vlastní
Ţe konzole nevypisuje pouze chyby, se dá přesvědčit na obrázku nahoře. V případě, ţe kompilace proběhne v pořádku, rámeček zůstane modrý namísto varovné oranţové. Velmi praktické je hlášení velikosti napsaného programu a kapacity Arduina. Pokud kompilace proběhne v pořádku, nic nebrání program nahrát přímo na desku a prakticky si ověřit jeho funkci.
3.4
Programování
Zdrojový kód Arduina se dá strukturovaně rozdělit na dvě základní části. První částí je funkce setup(). Tato funkce je volána pouze při startu programu. Pouţívá se k inicializaci proměnných, pin reţimů a vloţených knihoven. Funkce se provede pouze jednou při startu nebo restartu programu. [12] Druhou části je funkce loop(). Po inicializaci a provedení funkce setup(), nastupuje právě tato funkce. Jak jiţ název napovídá, jde o smyčku, která se provádí stále dokola [12]. Zde se píší příkazy, které se mají provést. Nejčastěji jde o výpis výsledku či posílání dat k jinému zařízení. Obě funkce se uzavírají pomocí sloţených závorek.
3.5
Elektromotor
Ke snímání otáček je zapotřebí nějaký pohon, který zajišťuje rotaci předmětu. Pro tuto aplikaci postačuje obyčejný servomotorek z radiomagnetofonu. Má dostatečně velké otáčky, relativně malý odběr proudu a kompaktní rozměry. Další nespornou výhodou je jednoduchá moţnost řízení otáček pomocí přiloţeného napětí. Růst otáček je lineární v závislosti na budícím napětí. 34
Stejnosměrný motor má stator po obvodě opatřen pravidelně prostřídanými a navzájem magneticky opačně orientovanými vyniklými hlavními póly (cívky jejich vinutí budí magnetické pole motoru) a vyniklými pomocnými, komutačními póly (napomáhají komutaci rotorového vinutí). Za hlavním pólem dané polarity následuje ve směru otáčení kotvy vţdy pomocný pól téţe polarity. [21] Rotor, nazývaný téţ kotva, nese v dráţkách rozloţené vinutí s cívkami, vyvedenými k mechanickému komutátoru. Komutátor zajišťuje přivádění správně orientovaného proudu do cívek vinutí rotující kotvy tak, aby všechny proudem protékané cívkové strany vytvářely v magnetickém poli hlavních pólů točivý moment souhlasného smyslu. Ke komutátoru přiléhají grafitické nebo elektrografitické kartáče. Kartáče se umisťují do magneticky neutrálního místa (teoreticky do středu) mezi po sobě následujícími hlavními póly a je jich, stejně jako pólů, vţdy sudý počet. Pro zlepšení komutace se někdy poněkud natáčejí proti směru točení kotvy. Sloţení, umístění (nastavení), zabroušení a zaběhání kartáčů významně ovlivňují průběh komutace. Proud, protékající vinutím kotvy, vytváří reakční magnetické pole, které zeslabuje a deformuje magnetické pole hlavních pólů a ovlivňuje i magnetické pole komutačních pólů. K potlačení reakčního pole slouţí kompenzační vinutí, zakládané do dráţek pólových nástavců hlavních pólů. [21]
3.6
USB
Dnes je jiţ USB rozhraní standardem nejen u počítačů, ale i u mobilních zařízení, televizorů, hudebních přehrávačů a mnoha dalších elektronických zařízení. V počátcích bylo toto rozhraní velmi pomalé (USB 1.1 maximálně 12 Mbit/s), s postupem času se z něj stalo nejrozšířenější rozhraní pro připojení periferií k elektronice. Nejnovější verze USB 3.0, která byla představena v roce 2008, jiţ dosahuje rychlosti aţ 5 Gbit/s [16]. USB rozhraní je zkratkou z anglického Universal Serial Bus, v překladu to tedy zmamená něco jako univerzální sériová sběrnice. Dříve byly k počítači periferie připojeny prostřednictvím několika různých rozhraní. Například myš a klávesnice se připojovala pomocí PS/2 portu, tiskárna pomocí paralelního portu, herní periferie jako volant a joystick měli svůj takzvaný Gameport. Všechny tyto různé rozhraní nahradilo právě zmiňované USB.
35
Obr. č. 19: Značka USB Zdroj: [17]
Mezi jeho hlavní výhody patří především moţnost připojení v reţimu Plug & Play coţ znamená, ţe zařízení můţeme připojit za chodu počítače bez nutnosti jeho restartu nebo instalace ovladače. Stejně jednoduše se dá zařízení i odpojit. Zařízení má 4 vodiče, z nichţ jeden pár slouţí pro datový přenos a druhý pár slouţí k napájení zařízení, které podle standardu je 5 V při maximálním odběru proudu 500 mA. Arduino podporuje standard USB 2.0 a pomocí něj se do mikropočítače ATmega328 nahrává program. Pokud není k Arduino připojen externí napaječ, zajišťuje USB i napájení celé desky.
3.7
TCP/IP
Vzhledem k tomu, ţe v této práci je pouţit Ethernet shield, který zajišťuje komunikaci Arduina po síti, je zde popsána i internetová komunikace a její princip. TCP/IP je současné době nejpouţívanější síťový protokol. Protokol je v podstatě standard, který určuje, jakým způsobem bude probíhat komunikace a přenos dat mezi dvěma body v síti, které nejčastěji představují počítače. Architektura TCP/IP je definována podle organizace IETF, která je zodpovědná za standardy v síti internet. TCP/IP není ve skutečnosti pouze jeden protokol, ale sada protokolů. Uţ z názvu TCP (transmission control protocol) a IP (internet protocol) je patrné, ţe se jedná o více protokolů. Existuje ještě několik dalších protokolů souvisejících s TCP/IP jako je například FTP (zajišťuje 36
přenos souborů), http (prohlíţení HTML stránek), SMTP (přenos emailů) a UDP (v transportní vrstvě orientující se na zprávy). Pro TCP/IP je charakteristické: -
Jedná se o otevřený protokol, který je volně dostupný a rozvíjí se nezávisle na jakémkoliv operačním systému nebo hardwarové platformě.
-
Nezávislost na konkrétním fyzickém síťovém hardwaru. Můţe být spuštěn přes Ethernet, Token ring, dial – up linky a prakticky jakýkoliv jiný druh fyzických přenosných médií.
-
Jedinečné globální adresování, díky kterému lze rozpoznat jakékoliv zařízení v celosvětové síti.
-
TCP/IP protokoly jsou k dispozici všem, a jsou vyvíjeny na základě konsensu. [19]
3.7.1 TCP TCP je spojově orientovaný protokol pro přenos toku bajtů na transportní vrstvě se spolehlivým doručováním. TCP pouţívá sluţby IP protokolu opakovaným odesíláním nespolehlivých paketů, při ztrátě paketu zajišťuje spolehlivost a přeuspořádáváním přijatých paketů zajišťuje správné pořadí. Tím TCP plní úlohu transportní vrstvy v modelu ISO/OSI počítačové sítě. [20] Celá internetová komunikace probíhá následovně. Aplikace posílá proud (stream) 8 bitových bajtů TCP protokolu k doručení sítí, TCP rozděluje proud bajtů do přiměřeně velkých segmentů. TCP pak předá takto vzniklé pakety IP protokolu k přepravě internetem do TCP modulu na druhé straně TCP spojení. TCP ověří, ţe se pakety neztratily tím, ţe kaţdému paketu přidělil pořadové číslo, které se také pouţije k ověření, ţe data byla přijata ve správném pořadí. TCP modul na straně příjemce posílá zpět potvrzení pro pakety které byly úspěšně přijaty. Pokud by se odesilateli potvrzení nevrátilo do určité doby, vypršel by odesílatelův časovač a (pravděpodobně ztracená) data by vyslal znovu.
37
3.7.2 IP IP (internet protocol) je základním protokolem pracujícím na síťové vrstvě pouţívaným v počítačových sítích a internetu. Protokol IP poskytuje datagramovou sluţbu celé rodině protokolů TCP/IP. Sám o sobě neposkytuje záruky na přenos dat a rozlišuje pomocí IP adresy.
38
4
Návrh způsobu měření
Tato kapitola se věnuje návrhu zapojení všech součástí této bakalářské práce. Jsou zde popsány
technologické
postupy
krok
po
kroku
jak
u
návrhu
měření,
tak
i u zapojení měřených jevů. K aplikaci měření otáček byly zvoleny optočleny. Přijímací fototranzistor zachytává fotony z okolí, a tím dodává energii na svůj přechod PN. U této aplikace je vyuţito tranzistorového spínače, který je napájen zdrojem 5 voltů. Jakmile se kotouč otočí a díra v kotouči se dostane mezi LED diodu a fototranzistor, dojde k osvětlení v oblasti báze fototranzistoru a dopadající fotony otevřou emitorový přechod a tím se tranzistor sepne. Kdyţ na okénko světlo nedopadne, je obvod rozpojený a čeká se znovu na další otáčku, kdy znova tranzistor sepne. Tyto napěťové impulzy při jednotlivých otáčkách snímá a vyhodnocuje Arduino. V programu musí být určena časová základna, která měří čas mezi jednotlivými pulzy. Tato časová základna počítá s přesností na 1 milisekundu. Doba mezi dvěma pulzy je rovna době, za kterou se kotouč otočí. Tato doba se nazývá perioda. Pomocí periody T lze pak dopočítat frekvenci f (počet otáček, které vykoná rotující těleso za 1 sekundu). Počet otáček za jednu sekundu se udává v hertzích (Hz). F = 1/T [26, s. 36] Pokud je známý poloměr rotujícího kotouče, lze vypočítat obvodovou rychlost. Tu získáme po dosazení do vzorce: v = 2πrf [26, s. 36] Dalším parametrem u rotujících těles je úhlová rychlost ω, kterou dostaneme ze vztahu: ω = 2πf [26, s. 36]
39
4.1
Měření daného jevu
Pro měření veličin pomocí optočlenu byl zvolen kotouč ze starého elektroměru. Po svém obvodě má dva otvory, které byly pro tuto práci vyuţity. Kotouč je pomocí hřídele umístěn na ocelové konstrukci. Na konstrukci je usazen elektromotorek, jehoţ hřídel je přes řemen spojena s hřídelí kotouče tak, aby ho roztočil. Pro měření rychlosti rotujícího kotouče byla zvolena LED dioda a fototranzistor.
Obr. č. 20: Princip snímaní otáček Zdroj: vlastní
LED dioda slouţící jako zdroj signálu je umístěna tak, aby prosvěcovala díru v kotouči. Na druhé straně kotouče je fototranzistor (detektor), která přijímá signál od LED diody. Jakmile se kotouč začne roztáčet, vţdy jak projde světelný paprsek dírou, přijme fototranzistor světlo z vysílací diody a spíná. Toto sepnutí je snímáno, které pak na základě poslaných dat vyhodnotí dobu jedné otáčky a poté se mohou dopočítat další veličiny. Arduino je tedy v podstatě nastavené jako voltmetr, který přijímá informace o napětí a jakmile se změní z logické 0 na logickou 1, program vyhodnotí, ţe se udála jedna otáčka.
40
5
Realizace měřicího přípravku
V této kapitole je obsahem veškerá praktická část, která byla podle zadání zrealizována. Řeší se zde zapojení součástek se systémem Arduino, propojení měřícího pracoviště se sítí internet, přičemţ se zde vychází z teoretické části této práce. Jsou tu popsány i postupy a problémy, které postupně během realizace nastaly. Původní zadání této práce bylo pojmenováno „Dálkové měření – optočleny“, takţe bylo moţné vybírat z širokého okruhu moţností od měření voltampérových charakteristik jednotlivých součástek aţ po uţitečné aplikace. U této práce padlo rozhodnutí vyuţít vlastnosti optočlenů do praktické podoby a demonstrovat jejich vyuţití v praxi. Samotné měřící pracoviště se bude nacházet v laboratoři KL3 v kampusu Hodonín, kde je jiţ několik prací s tématikou dálkového měření zrealizováno. Nachází se zde také počítač, který slouţí jako server pro připojení na dálku. Srdcem projektu, které zajišťuje jak samotné měření, tak i komunikaci je jednočipový mikropočítač Arduino vybavený ethernet shieldem, který rozšiřuje Arduino o moţnost připojení k internetové síti přes klasický RJ-45 konektor. Připojení se realizuje pomocí knihovny SPI.h a Ethernet.h. Nastavení připojení k síti se uskutečňuje přímo ve zdrojovém kódu programovacího jazyka Wiring, ve kterém se celé Arduino programuje. Ve zdrojovém kódu je nastavena MAC adresa zařízení a IP adresa, pomocí níţ se k Arduinu přistupuje. V kódu je kromě nastavení ethernetu, také celý program, který zaznamenává jednotlivé otáčky. Údaje o naměřených hodnotách se odesílají do Java appletu, který vypočítává a zobrazuje výsledné otáčky. Applet je vloţen do HTML stránky.
41
Sch. č. 1: Blokové schéma komunikačního systému Zdroj: vlastní
5.1
Realizace měřící části
V prvotních fázích projektu se počítalo s fotodiodou, která bude při osvětlení generovat napětí (fotovoltaický jev). Dlouho se o tomto řešení uvaţovalo, ale z důvodů nepřesnosti a sloţité kalibrace se poté přešlo na fototranzistor. Původní zapojení počítalo s tím, ţe jakmile dioda vygeneruje napětí nad určitou hodnotu, Arduino jej vyhodnotí jako jednu otáčku. Bohuţel rozdíl mez neosvícenou a nasvícenou diodou byl většinou okolo 0,2 V, coţ při vyšších otáčkách způsobovalo velké zkreslení. Dalším problémem byla jiţ zmíněná kalibrace, jelikoţ se v různém prostředí hodnoty na výstupu diody velmi lišily. Po několika týdnech testování a různého modifikování jak kódu, tak elektronického obvodu, přišla na řadu myšlenka, ţe by se mohl pouţít fototranzistor. Zdál se být díky své vyšší citlivosti daleko vhodnější. Ovšem při vyšších otáčkách se znovu vyskytly problémy, a tak přišla opět na řadu celá řada modifikací úpravy zapojení v obvodu, ale také byl přepracován celý program, který vyuţíval funkci přerušení programu. Značná část programu se zachovala aţ do finální verze. Klientské prostředí mělo být původně naprogramováno v HTML kódu, a uţivatel měl přistupovat k měření prostřednictvím Ethernet Shieldu. Moţnosti HTML se ale během 42
realizování projektu ukázaly jako velmi omezené. Především by v HTML stránce nebylo moţné zobrazovat graf v reálném čase, stejně jako „tachometr“, který plynule ukazuje okamţité hodnoty. Veškeré tyto problémy vyřešil nápad sestrojit pro uţivatelskou část Java applet.
Sch. č. 2: Schéma měřícího obvodu Zdroj: vlastní
Ze schématu lze vyčíst, ţe obvod je napájen napětím 5 V, které zajišťuje Arduino. Jsou zde předřadné rezistory pro luminiscenční diodu, ale i pro fototranzistor. Dioda svítí v infračerveném spektru, které je pro lidské oko neviditelné. Funkčnost diody se ale dá jednoduše otestovat tím, ţe zapneme fotoaparát a namíříme na diodu. Čočka ve fotoaparátu vidí větší frekvenční spektrum neţ lidské oko, a tak se na displeji fotoaparátu zobrazí modrofialové světlo vyzářené z diody. Pro velikost předřadného odporu byl pouţit vzorec, který je popsán v teoretické části této bakalářské práce. Při testování se ale ukázal jako velmi velký, a jako vhodnější byl pouţit odpor o velikosti 100 Ohmů. U fototranzistoru se musel pouţít dostatečně velký odpor, aby při osvětlení součástky bylo na vývodu IRQ nulové nebo velmi zanedbatelné napětí. Zde se po několika pokusech osvědčil odpor 6 kiloohmů. Výsledkem je tak napětí na tranzistoru oscilující mezi 4,5 aţ 5 voltů při neosvětlené součástce, a napětí do maximálně 0,6 V při osvětlení – tedy při proběhnutí otáčky. Tento rozdíl se jevil jako spolehlivý, při určování, zdali otáčka proběhla či nikoliv.
43
5.2
Realizace pohonu a regulace otáček
Pro pohon kotouče byl zvolen sériový motorek, který dříve slouţil v modelu pro pohon autíčka. Arduino pracuje s proudy maximálně 40 mA. Vzhledem k relativně vysokému odběru proudu byl pouţit externí napájecí zdroj. Při dálkovém měření je třeba motorek spouštět, vypínat případně regulovat jeho otáčky. K tomuto účelu byl sestrojen jednoduchý obvod s bipolárním tranzistorem NPN. Na bázi tohoto tranzistoru je napojen pin Arduina označený jako PWM, pomocí tohoto pinu se dá jednoduchým způsobem měnit softwarově napětí tohoto pinu v intervalu od 0 aţ 5 V. Před bází tranzistoru je umístěn rezistor, slouţící k omezení průchodu proudu. Podle Ohmova zákona se při zvýšení napětí zvětšuje i proud. Při zvyšování proudu báze se zvyšuje napětí na motoru a tím dochází k roztočení a následné regulaci otáček.
Sch. č. 3: Schéma zapojení regulace Zdroj: vlastní
Na obrázku číslo 25 je vyobrazeno schéma regulačního obvodu, zleva vstupují piny z Arduina – PWM pin, který mění napětí podle poţadavků uţivatele, dále je zde zemnící pin. Luminiscenční dioda LED1 indikující funkčnost regulace tím, ţe mění svůj jas v závislosti na na napětí z pinu PWM. Kondenzátor vyhlazuje průběh napětí v obvodu, protoţe PWM pin je digitální signál o vysoké frekvenci 500 Hz, při této frekvenci se signál navenek jeví jako spojitý. Rezistor R1 omezuje proud jdoucí na bázi. Emitor je uzemněn a kolektor samotný reguluje napětí na motorku. Vstup Ucc je napájení vnějšího zdroje.
44
5.3
Princip fungování programu
Před samotným vytvořením programu si programátor musí uvědomit, jaký algoritmus zvolí a musí si ho rozčlenit do několika kroků. Navrţený algoritmus poté aplikuje do kódu při programování. Nejjednodušším a také často vyuţívaným způsobem je pro grafické znázornění vývojový diagram, který popisuje jednotlivé kroky algoritmu. Díky normovanému značení a propojování jednotlivých kroků pomocí šipek lze jednoduše vyčíst princip programu. Na obrázku níţe je vysvětlen princip, jak program Arduina funguje.
Obr. č. 21: Vývojový diagram programu Arduina Zdroj: vlastní
45
Na začátku kaţdého vývojového diagramu je logicky START, poté se v Arduinu inicializuje připojení. Po nastavení důleţitých hodnot nutných pro správnou funkci v síti se čeká na příchozí klienty. Je zde tedy cyklus JePripojen, který neustále čeká na připojení klienta, šipky názorně ukazují, co se stane při splnění či nesplnění podmínky. Pokud se podmínka nesplní, cyklus se vrátí znovu k čekání a vykonává se neustále dokola, dokud se podmínka nesplní. Pokud se klient připojí, splní se tedy i podmínka a program umoţní klientovi regulovat otáčky pomocí funkce RegulujOtacky. Ve chvíli, kdy se pomocí regulace roztočí kotouč, můţe začít měření. Po výpočtu se spustí komunikace a naměřené hodnoty se mohou prostřednictvím počítačové sítě odeslat. Pro názornou demonstraci funkce jednotlivých aktéru měření je níţe use case diagram. Jediná funkce uţivatele, která aktivně zasahuje do měření je moţnost regulace otáček. Nejvíce funkcí zastává server, který zajišťuje komunikaci mezi Arduinem a uţivatelem. Další funkcí je čekání na uţivatele, v případě připojení více uţivatelů najednou je řadí do fronty. Je zde také ošetření, které zajišťuje automatické odpojení uţivatele při nečinnosti. Arduino měří otáčky a přijímá/odesílá data. Na obrazovce je uţivateli celý proces zobrazován prostřednictvím appletu.
Obr. č. 22: Diagram případu uţití Zdroj: vlastní
46
Popis zdrojového kódu Arduina
5.4
Ve schématu v předchozí kapitole se objevil vývod se jménem IRQ. IRQ (interrupt request) znamená takzvaný systém přerušení. Tento systém funguje tak, ţe procesoru se pošle signál o tom, ţe je třeba provést přerušení za účelem provedení důleţitější akce [15]. V programovacím jazyce Wiring je přímo funkce na provedení přerušení obsaţena. K digitálním pinům 2 případně 3 se připojí signál z vnějšího zařízení. Program poté čeká na signály přivedené na tyto piny. Přerušení se dá řídit několika způsoby, které jsou uvedeny níţe: -
LOW - přerušení se vykoná kdykoliv je pin na úrovni logické 0,
-
CHANGE - přerušení se provede kdykoliv se změní hodnota na pinu,
-
RISING - přerušení se provede při změně z logické 0 na logickou 1,
-
FALLING - přerušení se provede při změně z logické 1 na logickou 0. [12]
V programu, který byl vytvořen pro tuto práci, bylo pouţito řízení sestupnou hranou neboli pomocí FALLING. Jak jiţ bylo zmíněno při osvětlení (proběhnutí otáčky) je na pinu IRQ nulové či velmi zanedbatelné napětí. Přerušení se tedy provede při proběhnutí otáčky. attachInterrupt(0, mer_otacku, FALLING);
Tato část kódu spustí přerušení, které je definováno v závorkách. 0 je při přerušení označení pro digitální pin 2, na který je připojen externí signál (signál z obvodu). To znamená, ţe se vţdy jakmile se na pinu číslo 2, změní hodnota z logické 1 na logickou 0, zavolá se funkce mer_otacku. void mer_otacku() { pruchod ++; time1 = time2; time2 = millis(); timeout_otacky = time2; }
Funkce mer_otacku nejprve inkrementuje proměnnou pruchod, která je globální a při spuštění programu je rovna nule. Pokud otáčka proběhne, proměnná pruchod se inkrementuje na hodnotu 1 a podle podmínky se začne počítat čas pomocí millis(), coţ 47
je funkce která vrací číslo v milisenkudách odkdy byla tato funkce spuštěna. Při proběhnutí první otáčky se millis() rovná proměnné time2, která má v sobě uloţený čas, ve který otáčka proběhla. Měřící část se nastaví nejprve v části setup(), která se provede pouze po startu Arduina. Zde se pro měření nastavuje: attachInterrupt(0, mer_otacku, FALLING);
Defaultně je tedy nastaveno a spuštěno přerušení. Ve funkci loop() se odehrávají všechny úkony během spuštěného Arduina. void loop() { pruchod = 0; attachInterrupt(0, mer_otacku, FALLING); delay (1000); detachInterrupt(0); //zruseni preruseni }
Na prvním řádku je nastavena proměnná pruchod attachInterrupt(0,
mer_otacku,
FALLING)
spustí
defaultne na nulu. Funkce přerušení, při přerušení se
spouští funkce mer_otacku. Přerušení je díky definování FALLING řízeno sestupnou hranou. Funkce delay(1000)zpoţďuje program o 1000 milisekund. Funkce detachInterrupt(0)vypíná přerušení, aby neprobíhalo během počítání otáček. Podmínky níţe zajišťují počítání otáček. Pokud proběhl více neţ jeden průchod, nebo je rozdíl uplynulého času od přerušení a aktuálního času menší neţ 20 000 (slouţí k ošetření, aby se měření neprovádělo neustále) spustí se další podmínka. Ta říká, ţe pokud je jeden z naměřených časů různý od nuly, začnou se počítat otáčky. Rozdíl time2a time1představuje dobu jedné otáčky. Podle vzorce je dosazeno vše tak, aby v proměnné otacky byla výsledná hodnota rychlosti otáčení kotouče. if(pruchod > 1 || millis() - timeout_otacky < 20 * 1000){ if( time1 != 0 || time2 != 0) { otacky = (1.0/(time2 - time1))*1000*60; if(otacky > 3000 || otacky < 0)
48
otacky = 60 * pruchod; } else otacky = 60 * pruchod; } else if(pruchod == 0); else otacky = 0; String v = sendToServer(String(otacky)); //posilani hodnot do java appletu pruchod =0; // pruchod musi byt nula, aby se zase znova pocitali otacky otacky =0; // otacky jsou defaultne nula }
Řádek String v = sendToServer(String(otacky)) má za úkol poslat otáčky připojenému klientovi pomocí funkce sendToServer. Aby se ve funkci mer_otacku() vykonala správně podmínka a měřila otáčky, musí se průchod po výpočtu rovnat nule. Kdyţ se motor netočí a otáčky jsou nulové, tak se musí uţivateli zobrazit 0 otáček. Tento problém řeší řádek otacky=0, kde nastavuje výchozí hodnotu otáček. Funkce runMotor se stará o roztočení motoru. V závorce je pomocí funkce toInt převedena proměnná v ze znaku string do proměnné int. Poté se znovu celý proces se opakuje. if(v != ""){ runMotor(toInt(v));
Výše byly zmíněny funkce sendToServer a toInt. Funkce toInt musela být zřízena, protoţe klient a server si mezi sebou posílají znaky, ale pro rozběhnutí motoru je třeba číselný datový typ. Proto vznikla tato mezi programátory relativně často pouţívaná funkce. Funkce sendToServer zajišťuje komunikaci mezi klientem a serverem. Vrací proměnnou typu String a předává do funkce proměnnou rpm typu String. Její úloha je popsána na řádcích níţe. Jako první se nejprve čeká na nového klienta pomocí instance a její metody EthernetClient
client
=
server.available().
49
Poté následuje podmínka, která
zajišťuje, aby nebyl k serveru připojen více neţ jeden klient. Pokud je klient pouze jeden vykoná se cyklus for. for(int i = 0; i < 3; i++){ char thisChar = client.read(); // nacita 3 znaky if(thisChar > 47 && thisChar < 58) // cisla od nuly do devitky podle ASCII ret = ret + thisChar; // vysledkem je znak, ktery ma podobu triceferneho cisla } client.flush(); // veskera dalsi data kere to dal neprectlo, tak to zahodi server.print(rpm+"!"); // server odesílá data klientovi
Cyklus for má za úkol načíst od klienta právě tři znaky, pokud je znaků víc, ty přebytečné odstraní pomocí client.flush(). Podmínka if (thisChar > 47 && thisChar < 58)vypisuje pouze hodnoty 47 aţ 58. Tyto hodnoty náleţí podle ASCII tabulky číslům 0 aţ 9. Celý cyklus slouţí k ošetření proti chybám. Při této aplikaci klient určuje velikost napětí na motoru a tím reguluje otáčky. Jak bylo zmíněno výše, PWM pin se reguluje pomocí čísel 0 - 255, proto je potřeba ošetření. Další důleţitou součástí je řádek server.print(rpm+"!"), který odesílá klientovi předaný parametr funkce. V tomto případě se jedná o odesílání počtu naměřených otáček. Pro správnou funkčnost ethernet shieldu je zapotřebí do programu nahrát potřebné knihovny SPI.h a Ethernet.h. Poté je nutné nastavit a definovat zařízení v síti. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,2, 177); IPAddress gateway(192,168,1, 1); IPAddress subnet(255, 255, 0, 0); EthernetServer server(23);
Kaţdé zařízení v síti musí mít svou MAC adresu a IP adresu. Dále je zapotřebí nastavit bránu, podsíť a port, přes který klient naslouchá.
50
Další nastavení je třeba provést v setup(). Musí proběhnout inicializace ethernetového zařízení pomocí Ethernet.begin a spuštění naslouchání pro příchozí klienty zajišťuje server.begin().
Ethernet.begin(mac, ip, gateway, subnet); server.begin();
Po všech těchto krocích se Arduino chová jako server a je moţno se k němu připojit známe-li jeho IP adresu.
5.5
Java applet
Původně bylo v plánu zobrazovat celé měření v HTML stránce prostřednictvím Ethernet Shieldu. HTML se ale později ukázalo jako nevhodné řešení, jelikoţ zobrazuje staticky a nedokáţe zobrazovat hodnoty a v reálném čase. Pro uţivatele byl vytvořen Java applet, který všechny vyjmenované problémy řeší. Díky tomu lze sledovat nejen naměřené hodnoty v reálném čase, ale jsou zde daleko větší moţnosti grafického zobrazování.
51
Obr. č. 23: Java applet Zdroj: vlastní
Applet byl vytvořen s důrazem na co největší přehlednost a intuitivní ovládání. Neţ uţivatel spustí samotné měření, seznámí se s teorií v podobě HTML stránky, ve které je nejen teorie měření, ale i videonávod, který instruuje uţivatele jak program ovládat. Na těchto stránkách poté pomocí odkazu uţivatel otevře applet jehoţ vzhled je na obrázku 23. V appletu je označen název úlohy, graf, který zobrazuje průběh otáček v čase, webkamera monitorující aktuální dění v laboratoři při měření. Je zde také indikace stavu připojení, kdy program informuje uţivatele o případných chybách. Je zde také ošetření proti tomu, aby v danou chvíli měřil právě jeden uţivatel. Pokud uţivatel měří a chce se připojit další, zobrazí se mu, ţe stojí ve frontě. Po dokončení měření prvního uţivatele program automaticky připojí čekajícího uţivatele. V panelu ovládání uţivatel určuje napětí, které jde na motor a tím i reguluje otáčky. Regulace se můţe řídit spojitě pomocí slideru, případně lze regulovat i skokově pomocí 52
jednotlivých úrovní. Ručičkové budíky pak zobrazují aktuální hodnotu otáček kotouče a napětí na motoru.
5.5.1 Graf V appletu byl vytvořen graf, který má za úkol názorně ukazovat změnu otáček v závislosti na čase. O vykreslení grafu výkonu se stará třída TimeGrafY, která je potomkem systémové třídy JPanelna
kterou je graf vykreslen. Před pouţitím grafu je nutné určit některé parametry,
které daný graf definují. Parametry definující graf: -
setDilek(double
mericiPomer,
String
jednotka,
int
mrizkaX,
int
mrizkaY)
-
setStep(int step)určuje
po jakých krocích se bude graf posouvat po ose X,
jedná se tedy o konstantu. -
setLabel1(String label)
nastaví popisek k čáře grafu
-
setColor1(Color c)nastaví
barvu čáry grafu
-
addValueLine1(double y)přidá
další hodnotu grafu, tato hodnota je vykreslena,
hodnota x je konstantní, kde tato konstanta byla nastavena metodou setStep(int).
-
drawGraph()vykreslí
graf
Graf se vykresluje na základě přidávaných hodnot do zásobníku pomocí metody setValueLine1-3(int).
Tento zásobník je typu LIFO tedy poslední vloţený prvek
zásobník opustí jako první. Do prázdného zásobníku se přidávají jednotlivé hodnoty, dokud se zásobník nenaplní. S kaţdou přidanou hodnotou do naplněného zásobníku se graf posune, avšak nedojde-li k překreslení metodou drawGraph(), nebude tento jev graficky viditelný. Proto se s kaţdou naměřenou hodnotou graf vykreslí zmiňovanou metodou.
53
Nastavení parametrů: timeGrafY1.setColor1(Color.red); timeGrafY1.setLabel1("[RPM]"); timeGrafY1.setDilek(0.25, "[RPM]", 15, 15);
V tomto projektu byly konkrétně nastaveny parametry setColor na červenou, popisek čáry setLabel1 označuje jednotku v RPM a setDilek nastavil poměr dílků a jednotku.
5.5.2 Ručičkové měřící budíky V appletu jsou kromě zmíněného grafu vykresleny ručičkové měřící přístroje, které mají za úkol kromě zobrazení naměřených hodnot upoutat uţivatele a zlepšit přehlednost programu. Budíky jsou v appletu dva – větší zobrazuje naměřené otáčky a menší ukazuje napětí, které uţivatel momentálně posílá na motor. Jelikoţ applet umoţňuje regulaci otáček, můţe v těchto budících v reálném čase vidět, jak se mění otáčky v závislosti na změně napětí. otackomer1.setMax(Nastaveni.otackyMax); otackomer1.setJednotka("[RPM]","x100"); otackomer1.setRychlost(5);
Tento kód určuje parametry budíku, který zobrazuje otáčky. Na stejném principu funguje i zobrazování napětí – jen se samozřejmě jmenuje jinak. Parametr setMax určuje maximální otáčky, které budík ukazuje. Jako jediná není zapsána absolutně, ale nachází se pod proměnnou otackyMax v třídě Nastaveni. Parametr setJednotka má za úkol v budíku zobrazit jednotky, ve kterých se hodnoty v appletu zobrazují. Parametr setRychlost
nastavuje
jak
rychle
se
54
má
ručička
při
měření
pohybovat.
6
Pilotní provoz měření
Při výrobě jakéhokoliv produktu a před jeho nasazením do ostrého provozu je třeba jej vţdy řádně otestovat a odladit, aby se v konečné verzi vyskytovalo co nejméně chyb (ideálně ţádná). Automobilky posílají auta na okruhy, a tam pod rukou zkušených jezdců absolvují testy v extrémních podmínkách. V softwarových firmách mají přímo zaměstnance určené na testování jejich softwaru. Já jsem zařízení testoval po dobu několika týdne. Bylo napojeno na počítač ve škole, který byl neustále v provozu a uţivatelé se na něj mohli kdykoliv odkudkoliv připojit. K připojení na počítač slouţí aplikace LogMeIn, která umoţňuje dálkový přístup ke vzdálenému počítači prostřednictvím sítě internet.
6.1
V praxi
Navrţení součástek a její následná simulace probíhala pomocí software Electronics workbench, kde se zároveň otestovala funkčnost obvodu v praxi. Poté bylo potřeba zakoupit součástky, jejichţ zapojení se v testovacích podmínkách uskutečnilo v nepájivém kontaktním poli. Toto testování probíhalo v domácích podmínkách, kde se nejdříve testovalo samotné snímání, po odladění snímání se testovala komunikace s Arduinem.
6.2
Na EPI
Po veškerém otestování přišla na řadu výroba plošného spoje. V programu EagleCad se nakreslilo schéma, poté přišlo na řadu rozvrţení součástek. Po těchto krocích program jedním kliknutím vygeneruje cesty spojující součástky včetně pájecích ok. Tyto cesty byly pak na desku plošného spoje přeneseny technologií naţehlením, kdy se vygenerované cesty zrcadlově vytisknou laserovou tiskárnou na papír, ten se přiloţí k desce plošného spoje a ţehličkou se naţehlí. Zrcadlově se tiskne proto, jelikoţ se při naţehlování přenesou cesty z papíru na desku opačně. Po naţehlení se papír opatrně pod
55
tekoucí vodou odstraní. Papír se nesmí „odlepit“ od desky, jelikoţ je zde velké riziko poškození naţehlených cest. Nejlepší je ho prsty vydrolit. Poté následuje leptání v chloridu ţelezitém, který má za úkol rozleptat měď na místech, kde nejsou naţehleny cesty. Po vyleptání se vodním smirkovým papírem (hrubost 800 – 1200) opatrně setře černá naţehlená vrstva. Pod touto vrstvou se jiţ naházejí měděné cesty spojující součástky podle navrţeného schématu. Do desky se poté musí vyvrtat otvory pro osazení součástkami. V závislosti na velikosti noţiček součástek se vrtá zpravidla vrtáky o průměru 0,8 případně 1 mm. Vrtat se musí velmi opatrně, jelikoţ jsou vrtáky extrémně náchylné ke zlomení. K názorné funkci jednotlivých součástek v obvodu byla vytvořena na horní straně desky nálepka, na které je vytisknut název práce a schéma zapojení, které z horního pohledu názorně ilustruje propojení součástek a jejich název. Po nalepení popisku přišlo na řadu pájení. Zde jsem z nepozornosti osadil tranzistor opačně. Při otestování se to projevovalo nefunkční regulací, takţe na závadu jsem okamţitě přišel. Po opravě této chyby se na desku připevnil kotouč, servomotorek včetně napínáku, který zajišťuje správné napnutí řemene. Na desce samozřejmě nechybí Arduino Uno s Ethernet Shieldem.
6.3
Náklady na projekt, technická dokumentace
Technická dokumentace se nachází v příloze této bakalářské práce. Je zde deska plošného spoje,
měřící
protokol,
zdrojový kód
měřícího
programu.
V příloze
je
dále
fotodokumentace od prvotních návrhů a testování v domácím prostředí po hotový produkt. Níţe jsou uvedeny součástky, které byly pouţity pro tento projekt. Je zde uvedena i jejich cena a výpočet celkových nákladů. K částkám není započtena cena za dopravu.
56
Arduino
680,-
Ethernet shield
186,-
Fototranzistor
27,-
Rezistor
4x2,-
Kondenzátor
4,-
Tranzistor TIP122
27,-
IR LED
5,-
Vysokosvítivá LED
10,-
Nepájivé pole
46,-
Propojovací káblíky
51,-
Napájecí zdroj
90,-
Náklady celkem
1134,-
6.4
Podpůrný videonávod
Pro tuto práci byl vytvořen videonávod, který předvádí obsluhu appletu. Toto video je opatřeno komentáři, které popisují postup měření krok po kroku.
57
7
Odstranění připomínek a uvedení do rutinního provozu
Pilotní provoz nebyl veřejný, testovali jej pouze studenti EPI, s.r.o. Byli seznámeni s účelem testu a co si od něj já jako tvůrce slibuji. Vysvětlil jsem, jak zařízení funguje a k čemu bude slouţit. Také bylo vysvětleno jak ovládat program. Mezi tyto lidi byl pak rozdán dotazník. Na základě výsledků z dotazníku jsem řešil připomínky, které uţivatelé měli. Po vyřešení připomínek jsem uţivatelům znovu program ukázal, abych zjistil, jakou měli představu a jestli je řešení správné. Podmínky měření jsem se snaţil přiblíţit co nejvíce podmínkám v laboratoři dálkového měření. Věřím, ţe testování přispělo k plné spokojenosti uţivatelů tohoto programu. Při zadávání otázek do dotazníku jsem se snaţil zjistit, jestli je můj projekt dostatečně srozumitelný a ovládání intuitivní i pro uţivatele, kteří ovládají počítač méně zdatně, a kteří jsou méně zdatní ve fyzice. Zároveň jsem samozřejmě kladl důraz na to, abych zjistil, jaký přínos práce doopravdy má. První graf zobrazuje podíl pohlaví, které se průzkumu zúčastnily. Z grafu je patrné, ţe jsem dával relativně velký prostor ţenám, ač tato práce je určena technickým oborům, kde převládají především muţi.
30% muži ženy 70%
Graf 1: Zastoupení pohlaví v průzkumu Zdroj: vlastní
58
V druhém grafu bylo cílem ověřit si, jestli program můţe zaujmout i manaţery či ekonomy. Samozřejmě jsou zde i technické obory, od kterých si především slibuji připomínky ohledně odborné stránky této práce.
20% 30% Kruh HP Kruh HF Kruh HM 20%
Kruh HI
30%
Graf 2: Zastoupení jednotlivých kruhů Zdroj: vlastní
Graf studující poměr studentů by měl podle cíle bakalářské práce ukázat, jestli je skutečně přínosem pro studenty kombinovaného studia, kteří nemají dostatečný přístup do laboratoří. Zároveň se studuje i přínos pro prezenční studium.
30% Prezenční Kombinované 70%
Graf 3: Forma studia Zdroj: vlastní
59
Další graf studuje, jestli má nějaký přínos pro uţivatele, kteří nemají k elektrotechnice ţádný vztah.
50%
50%
Ano Ne
Graf 4: Oblíbenost elektrotechniky Zdroj: vlastní
Vzhled webové stránky je jeden z nejdůleţitějších aspektů, jak uţivatele zaujmout, proto má zde tento dotaz své pevné místo. Známkuje se jako ve škole kde 1 je nejlepší a 5 nejhorší.
10%
1 2
30% 60%
Graf 5: Vzhled stránek (hodnocení jako ve škole) Zdroj: vlastní
60
3
Přehlednost je dalším důleţitým aspektem, jak zaujmout uţivatele. Zde se hodnotí pouze ANO/NE. Jak vidno z grafu, program v přehlednosti obstál bez jediné výtky, coţ je pro příjemné ovládání velmi důleţité. Proto jej zde nebudu graficky zobrazovat. Ergonomie rozmístění tlačítek, ovládacích a zobrazovacích prvků je velmi důleţitá pro příjemné ovládání programu. Všechno musí být takzvaně po ruce a uţivatele by mělo ihned bez dlouhého rozmýšlení napadnout, k čemu jednotlivé prvky slouţí. A nakonec jedna z nejzásadnějších otázek, která je hlavním cílem této práce. Pokud by tato práce nebyla pro studenty přínosem, ztratila by veškerý smysl. Z grafu ale vidno, ţe práce svůj smysl zajisté má i přes některé záporně odpovědi, které se ale týkali uţivatelů, kteří k elektrotechnice nemají ţádný vztah, a proto neberu význam jejich odpovědí jako zásadní.
30% Ano Ne
70%
Graf6: Zjištění přínosu práce Zdroj: vlastní
Po vyhodnocení dotazníku jsem respondenty znovu obešel a konzultoval s nimi detailněji jejich připomínky a návrhy na zlepšení. Jako jeden z nejčastějších připomínek se ukázal vzhled stránek, který byl upraven. Dále byl modifikován popis pro lepší srozumitelnost.
61
8
Realizace projektu měření v rámci informačního systému
EPI Po otestování v pilotním provozu, odstranění připomínek se systém dálkového měření konečně mohl dotáhnout do konečné podoby a umístit do systému IS EPI a uvést do systému úloh Měření s dálkovým přístupem. Realizovaný projekt je tedy umístěn v laboratoři KL3 dálkového měření v kampusu Hodonín. V této laboratoři je systém připojen ve stejné síti jako počítač, přes který se pomocí LogMeIn přistupuje k dálkovému měření. Na tomto počítači je spuštěn Java applet, prostřednictvím kterého ovládáme otáčky motoru, a zároveň nám zobrazuje počet otáček, které kotouč provedl. Je zde také webkamera, pomocí které lze vidět na celou práci včetně otáčejícího se kotouče. V případě připojení práce k veřejné IP adrese odpadá nutnost připojovat se přes LogMeIn a uţivatel se můţe připojit k úloze například ze stránek školy, kde se plánuje zřídit rozcestník všech úloh dálkového měření. Díky moţností připojení přes síť internet mají přístup tedy jak studenti EPI, tak široká veřejnost po celém světě. Ovládat jej lze i přímo v laboratoři pomocí počítače, který slouţí jako server pro ostatní úlohy dálkového měření. Téma této bakalářské práce je začleněno do výzkumné úlohy B8/2011/01 Analýza, SW a zapojení do rutiny systému úloh „Měření s dálkovým přístupem“.
62
Závěr Cílem této bakalářské práce bylo vytvořit systém dálkového měření otáček s vyuţitím optočlenu jako měřícího prvku pomocí jednočipového mikropočítače Arduino. Tento systém byl včleněn do informačního systému Evropského polytechnického instutu. Pro názornou demonstraci funkce optočlenů bylo zvoleno měření otáček pomocí luminiscenční diody slouţící jako vysílač a fototranzistoru, jenţ signál z diody zpracovává a posílá do mikropočítače. Na počátku bylo několik nápadů, postupem času se ale většina těchto nápadů ukázala jako nereálná nebo zbytečně sloţitá. V prvotním návrhu se pouţila jako detektor signálu fotodioda, která měla při proběhnutí otáčky vygenerovat napětí na svém výstupu. Arduino na diodě neustále snímalo napětí a dostalo-li se nad úroveň, která znamenala osvětlení led diodou, připočítala se v programu Arduina otáčka. Toto řešení se dlouho testovalo a ladilo, nakonec kvůli sloţité kalibraci a nepřesnostem při vyšších otáčkách byl vybrán fototranzistor. Fototranzistor funguje jako spínač, takţe proběhlá otáčka je jednoznačná. Díky pouze dvěma stavům na výstupu tranzistoru zmizela nutnost kalibrace a kód byl velmi zjednodušen, coţ opět vedlo k menším prodlevám a větší přesnosti měření. Největším problémem byl tedy zbytečně sloţitý program, který zkresloval celé měření. Ruku v ruce s programem se muselo řešit nahrazení snímací fotodiody. Byl teda i zcela změněn obvod pro měření, jelikoţ k tranzistoru se musely dát úplně jiné rezistory. K realizaci tohoto systému bylo pouţito zařízení Arduino Uno, Ethernet Shield, software vyvinutý v jazyce Java a jazyce Wiring, slouţící k programování Arduina. Student připojený k dálkovému měření můţe sledovat činnost zařízení v reálném čase pomocí webové kamery, která je součástí dálkového měření. Můţe taktéţ dané zařízení ovládat. Naměřené výsledky se mu zobrazí v reálném čase na obrazovce prostřednictvím Java appletu. Student má k dispozici studijní texty v elektronické podobě, z nichţ si můţe nastudovat teorii popsanou v této práci. Tato teorie zahrnuje analýzu a popis součástek, které připadají 63
v této práci v úvahu. Dále je v teorii popsán jev, který se pomocí vytvořeného měřícího systému měří. Dále je zde popsáno a zdůvodněno proč se pouţilo zařízení Arduino, včetně vývojového prostředí, ve kterém se tento jednočipový mikroprocesor programuje. Je zde část věnována poţadavkům připojení k systému včetně USB rozhraní potřebné pro nahrání kódu a architektury TCP/IP, která zajišťuje internetovou komunikaci. V těchto studijních textech student také najde praktickou část řešení, kde má moţnost si zjistit, jak celý systém funguje. Najde zde schéma zapojení měřícího a regulačního obvodu, popis jejich funkcí. Má moţnost prostudovat si software vytvořený přímo pro tento projekt a zdrojový kód v programovacím jazyce Wiring. Je zde také popsán princip samotného pohonu a měření, význam jednotlivých součástek. Student bude tedy před měřením seznámen s principy měření a s ovládáním programu. Bylo natočeno krátké video, které dokumentuje měřící zařízení. Studenti zde vidí názornou ukázku, jak pracuje elektronický obvod a jak se ovládá program. Po teoretickém studiu si mohou studenti své nabyté znalosti ověřit v praxi. Pro tuto práci byl vytvořen i měřící protokol, který je studentovi k dispozici a jeho zpracováním si můţe znalosti ověřit prakticky. Systém byl spuštěn v pilotním provozu, kde se přišlo na několik nedostatků. Mezi studenty byl rozdán dotazník, kde se zkoumal jejich názor na vzhled, funkčnost, oblíbenost elektroniky a měření, ale i přínos do jejich studia. Význam jednotlivých otázek a jejich výsledky jsou obsaţeny v této bakalářské práci. Byl také vypracován příspěvek na mezinárodní studentskou konferenci. Po odladění a odstranění připomínek bylo zařízení umístěno v kampusu Hodonín v laboratoři KL3, která slouţí jako laboratoř dálkového měření a je zde jiţ několik prací s touto tématikou umístěno. Je zde také počítač, který slouţí k ovládání projektů, které neobsahují Ethernet Shield. Tento projekt sice Ethernet Shield obsahuje, ale jelikoţ není připojen k veřejné IP adrese, vyuţívá k přístupu taktéţ tento počítač. Na tomto počítači je spuštěn Java applet slouţící k ovládání otáček a následnému výpisu měřených hodnot.
64
Java applet komunikuje s Arduinem prostřednictvím Java serveru a Ethernet Shieldu, takţe v případě připojení Arduina k veřejné IP adrese, lze najet na applet bez nutnosti připojení vzdálené plochy přes LogMeIn. Po otevření této stránky si prohlíţeč v počítači uţivatele stáhne applet a spustí. Podmínkou správné funkčnosti je mít nainstalovanou Javu v počítači. V opačném případě se applet nespustí. K této bakalářské práci je přiloţen vypracovaný měřící protokol, příspěvek na mezinárodní studentskou konferenci, zdrojový kód programu, schéma elektrických obvodů a obrázky měřícího zařízení. Pro studenty niţších ročníků elektronické počítače je dálkové měření vhodné téma, kde uplatní své síťové, programátorské a elektrotechnické znalosti. Proto je nasnadě rozšíření této práce. Jejím cílem by bylo dané téma vylepšit o další nápady. Změny práce mohou spočívat v programovém vylepšení, změně součástek. Nabízí se i moţnost vykreslit voltampérovou charakteristiku optočlenu, změřit svítivost luminiscenční diody a podobně. Rozhodně se nejedná o jediné moţné vylepšení, dalším prvkem, který se můţe měřit je elektromotor. Ten dosahuje při změnách otáček různých teplot. V této práci se měří otáčky kotouče, v té další se mohou měřit například i otáčky hřídele elektromotoru. Moţností je tedy hned několik. Pro příští úpravy je tedy moţno vylepšit nebo nově vytvořit: -
Schéma zapojení
-
Zvolené součástky
-
Software pro měření
-
Software pro obsluhu
-
Způsob dálkového přístupu
Záleţí tedy na daném studentovi, kterou moţnost zvolí, samozřejmě můţe přijít i s vlastním nápadem pokračování této práce věnovanému dálkovému měření s vyuţitím optočlenů. Cíl bakalářské práce byl splněný v celém rozsahu a doufám, ţe tato práce bude uţitečná nejen pro studenty EPI, ale i pro ostatní nadšence elektroniky.
65
66
ABSTRAKT MAREK ŠULÁK Dálkové měření – měření otáček pomocí optočlenu. Kunovice 2013. Bakalářská práce. Evropský polytechnický institut, s.r.o. Vedoucí práce: Zálešák Miroslav Ing.
Klíčová slova: optočlen, Arduino Ethernet Shield, měření otáček, PWM, stejnosměrný motor Cílem práce bylo vytvořit systém dálkového měřením s vyuţitím optočlenu pomocí systému Arduino, jenţ má za úkol snímat otáčky rotujícího kotouče pomocí optočlenu. V této práci jsou popsány principy optočlenů a jejich vyuţití. Je zde také probrána komunikace mezi uţivatelem a Arduinem. Arduino je opatřeno Ethernet Shieldem, který zajišťuje komunikaci prostřednictvím počítačové sítě. Řeší se zde programovací jazyk Wiring, který je v Arduinu pouţit. Všechny tyto informace jsou vyuţity v praktické části. Součástí práce je schéma zapojení, program, měřící protokol a videonávod.
67
ABSTRACT MAREK ŠULÁK Remote measurements - measurement revolutions of optocouplers. Hodonín 2013. Bachelor thesis. Evropský polytechnický institut, s.r.o. Supervisor: Zálešák Miroslav Ing.
Keywords: optocoupler, Arduino Ethernet Shield, speed measurement, PWM, Direct current motor
The aim was to create a system of remote measurement using optocoupler by system Arduino, which has the task of scanning speed rotating wheel with a coupler. This work describes the principles of optocouplers and their use. There is also discussed the communication between the user and Arduino. Arduino Ethernet Shield is equipped to provide communication through the computer networks. The wiring programming language is dicribed here that is used in Arduino. All this information is used in the practical part. The component of this these thesis is diagram, program, measurement protocol and videotutorial.
68
Literatura Internetové zdroje: [1]
Fotorezistor [online].
2004
[cit.
2012-08-19].
Dostupné
z:
http://elektross.gjn.cz/soucastky/zadny_prechod/fotorezistor.html
[2]
ZOZEI - Fotodiody: Fotodiody [online]. Brno, 2011 [cit. 2012-08-23]. Dostupné z: http://zozei.sos-soubrno.cz/fotodiody/. E-learning. SOS-SOU Brno.
[3]
Fototranzistor [online].
2006
[cit.
2012-08-26].
Dostupné
z:
http://lucy.troja.mff.cuni.cz/~tichy/elektross/soucastky/dva_prechody/fototranzistor .html
[4]
Co jsou to LED diody? [online]. 2012 [cit. 2013-05-12]. Dostupné z: http://www.ledfield.cz/led-diody/co-jsou-to-led-diody.html
[5]
Elektrolab - Výpočet předřadného rezistoru k LED diodě.[online]. 2010 [cit. 201209-17]. Dostupné z: http://elektrolab.wz.cz/?elektronika=vypocet_rezistoru_led
[6]
Profi - elektronika LED displej 7-mi segmentový. Profi - elektronika [online]. 2011 [cit. 2012-09-17]. Dostupné z: http://www.profi-elektronika.cz/led-displej-7-misegmentovy-jednomistny-10-mm-sa-cerveny-lts4801p/id/50-84177/
[7]
CzechDuino.
[online].
2011
[cit.
2012-09-18].
Dostupné
z:
http://www.czechduino.cz/?co-je-to-arduino,29
[8]
Owebu.cz [online].
2010
[cit.
2012-09-17].
Dostupné
z:
http://owebu.bloger.cz/Hardware-a-mobily/Jak-funguje-LCD-displej?km=d
[9]
Arduino
UNO [online].
2010
[cit.
http://arduino.cc/en/Main/ArduinoBoardUno
69
2012-09-17].
Dostupné
z:
[10]
Diffused RGB Controllable LED. Microtivity [online].
2012 [cit. 2012-10-29].
Dostupné z: http://www.microtivity.com/p/IL611/5mm-diffused-rgb-controllableled-common-cathode-pack-of-12
[11]
Princip
fungování
LCD [online].
2011
[cit.
2012-10-29].
Dostupné
z:
http://www.lcd-monitory.net/jak-funguje-lcd/
[12]
Arduino [online]. 2012 [cit. 2012-12-10]. Dostupné z: http://www.arduino.cc
[13]
Arduino
I. [online].
2013
[cit.
Dostupné
2013-03-25].
z:
http://www.linuxsoft.cz/article.php?id_article=1881
[14]
Arduino vývojový kit pro hrátky s hardware [online]. 2012 [cit. 2013-03-12]. Dostupné
z:
http://www.root.cz/clanky/arduino-vyvojovy-kit-pro-hratky-s-
hardware/
[15]
IRQ [online].
2013
[cit.
2013-03-18].
Dostupné
z:
http://www.techterms.com/definition/irq
[16]
USB [online]. 2013 [cit. 2013-03-18]. Dostupné z: http://www.usb.org
[17]
Slow Data Transfer Speed in USB Drive in Windows [online]. 2013 [cit. 2013-0318]. Dostupné z: http://www.tipsnext.com/computer/slow-data-transfer-speed-inusb-drive-in-windows/
[18]
Universal
Serial
Bus [online].
2013
[cit.
2013-03-25].
Dostupné
z:
2013-03-25].
Dostupné
z:
http://pcsupport.about.com/od/termsu/g/usb.htm
[19]
The
internet
model [online].
2012
[cit.
http://www.citap.com/documents/tcp-ip/tcpip012.htm
[20]
Princip stejnosměrných motorů [online]. 2013 [cit. 2013-03-25]. Dostupné z: http://elektrika.cz/data/clanky/princip-stejnosmernych-motoru
70
[21]
How to TCP/IP protocol works – part1 [online]. 2012 [cit. 2013-03-25]. Dostupné z: http://www.hardwaresecrets.com/article/433
Knihy: [22]
BEZDĚK, Miloslav. Elektronika III. 1. vyd. České Budějovice: Kopp, 2005, 237 s. ISBN 80-723-2241-9.
[23]
SCHOMMERS, A. Elektronika tajemství zbavena: Pokusy se stejnosměrným proudem. 1. vyd. Ostrava: HEL, 1998, 110 s. ISBN 80-902059-9-2.
[24]
DOLEČEK, J. Moderní učebnice elektroniky: Optoelektronika a optoelektronické prvky. Praha: BEN, 2005. 160 s. ISBN 80-7300-184-5.
[25]
WATSON, John. Mastering electronics. 3rd ed. Houndmills: Macmillan, 1990, 427 p. ISBN 03-335-3632-0.
[26]
LEPIL, Oldřich, Milan BEDNAŘÍK a Radmila HÝBLOVÁ. Fyzika pro střední školy. 4., přeprac. vyd. Praha: Prometheus, 2001, 266 s. Učebnice pro střední školy (Prometheus). ISBN 80-719-6184-1.
71
Seznam zkratek A
Ampér
A0...A5
Piny Arduina
APD
Avalanche photodiode (lavinová fotodioda)
apod.
A podobně
AREF
Pin referenčního napětí Arduina
atd.
A tak dále
AVR
Počítačová architektura
C1
Kondenzátor
cca
Přibliţně
Cds
Sirník kademnatý
Cit.
Citováno
č.
Číslo
E
Intenzita osvětlení
ed.
Edice
EEPROM
Electrically Erasable Programmable Read Only Memory (mazatelná paměť)
EPI
Evropský polytechnický institut
eV
Elektronvolt
FLASH
Elektronická paměť
FTDI
Čip
Gbit/s
Gigabit za sekundu
Ge
Germanium
GND
Ground (uzemnění)
HF
Finance a daně
HI
Ekonomická informatika
HM
Managment a marketing zahraničního obchodu
HP
Elektronické počítače
HTML
Hyper Text Markup Language
HTTP
Hypertext Transfer protocol
Hz
Hertz
I
Elektrický proud
I/O
Vstup/výstup
ICSP
In Circuit Serial Programming (metoda programování mikrokontrolérů) 72
IETF
Internet Engineering Task Force (komise techniky internetu)
Ing.
Inţenýr
IP
Internet Protocol
IR
Infračervené záření
IRQ
Interrupt Request (poţadavek na přerušení)
IS
Informační systém
KHz
Kilohertz
LCD
Liquid crystal display - displej z tekutých krystalů
LED
Luminiscemční dioda
LIFO
Last in first out (typ paměti)
mA
Miliampéra
MAC
Media Access Control (jedinečný identifikátor síťového zařízení)
Mb/s
Mebabity za sekundu
MHz
Megahertz
MicroSD
Paměťová karta
mm
Milimetr
nm
Nanometr
Obr.
Obrázek
ot/min
Otáčky za minutu
p.
Page (stránka)
PN
Polovodičový přechod
PWM
Pulzně šířková modulace
R
Rezistor
RAM
Random Access Memory (paměť náhodného přístupu)
RISC
Reduced Instruction Set Computing (Procesorová architektura)
RJ-45
Koncovka pro Ethernetové rozhraní
RPM
Revolutions per minutes (otáčky za minutu)
RS 232
Sériové rozhraní
s.
Stránka
s.r.o.
Společnost s ručením omezeným
Si
Křemík
SMD
surface mount device (povrchové pájení)
SMTP
Simple Mail Transfer Protocol (protokol pro přenos emailu)
SPI
Serial Peripheral Interface (sériové periferní rozhraní) 73
SRAM
Statická paměť
SW
Software
T1
Tranzistor
TCP
Protokol na transportní vrstvě
TCP/IP
Síťová architektura
U
Napětí
UDP
Protokol na transportní vrstvě
USART
Synchronní / asynchronní sériové rozhraní
USB
Universal Serial Bus (univerzální sériové rozhraní)
UV
Ultrafialové záření
v
Rychlost
V
Volt
vyd.
Vydání
WWW
World wide web (celosvětová síť)
ΔW
Šířka zakázaného pásu u polovodiče
ω
Omega (veličina úhlové rychlosti)
74
Seznam obrázků, schémat, tabulek a grafů Obr. č. 1: V-A charakteristika fotorezistoru Obr. č. 2: V-A charakteristika fotodiody, schematická značka Obr. č. 3: Schématická značka fototranzistoru Obr. č. 4: Uspořádání fototyristoru, schematická značka, voltampérová charakteristika Obr. č. 5: Schematická značka LED diody, rozeznání polarity podle vybroušené plošky Obr. č. 6: Vývody RGB diody Obr. č. 7: Segmentová zobrazovací jednotka Obr. č. 8: Princip činnost LCD panelu Obr. č. 9: Sloţení jednoho pixelu ze subpixelů RGB Obr. č. 10: Arduino Uno pohled shora Obr. č. 11: Popis funkce PWM Obr. č. 12: Arduino Uno – popis jednotlivých částí Obr. č. 13: Arduino Ethernet Shield – pohled shora Obr. č. 14 Software Arduino a předem naprogramované příklady Obr. č. 15 Tlačítka v softwaru Arduino Obr. č. 16: Ukázka chybové hlášení Obr. č. 17: Ukázka bezproblémového zkompilování Obr. č. 18: Ukázka programu blikající diody Obr. č. 19: Značka USB Obr. č. 20: Princip snímaní otáček Obr. č. 21: Vývojový diagram programu Arduina Obr. č. 22: Diagram případu uţití Obr. č. 23: Java applet Sch. č. 1: Blokové schéma komunikačního systému Sch. č. 2: Schéma měřícího obvodu Sch. č. 3: Schéma zapojení regulace
Tabulka 1: Piny Arduina Graf 1: Zastoupení pohlaví v průzkumu Graf 2: Zastoupení jednotlivých kruhů 75
Graf 3: Forma studia Graf 4: Oblíbenost elektrotechniky Graf 5: Vzhled stránek (hodnocení jako ve škole) Graf 6: Zjištění přínosu práce
76
Seznam příloh
Příloha č. 1: Měřící protokol Příloha č. 2: Deska plošného spoje Příloha č. 3: Zdrojový kód Arduina Příloha č. 4: Dotazník Příloha č. 5: Příspěvek na mezinárodní studentskou konferenci Příloha č. 6: Hodnocení uţivatele bakalářské práce předmětu Programovací techniky Příloha č. 7: Hodnocení uţivatele bakalářské práce předmětu Elektronika
77
Příloha č. 1: Měřící protokol
Soukromá střední odborná škola, s.r.o. Osvobození 699, 686 04 Kunovice
ELEKTRONICKÉ MĚŘENÍ Měřící protokol
Měření otáček pomocí optočlenu Jméno a příjmení
Třída
Datum měření
1. 2. 3. 1/8
Datum odevzdání
Podpis
1.
Úkol, zadání
Změřte otáčky rotujícího kotouče v závislosti na přiloženém ss napětí napětí. Pomocí naměřených veličin dopočítejte další parametry měření (počet. ot/min, počet ot/s, doba periody jedné otáčky, úhlovou a obvodovou rychlost). Sestrojte graf závislosti otáček na přiloženém napětí. Vypracujte otázky v bodu 8, každá odpověď bude mít počet slov uvedených v závorce. Úkoly měření: 1.Prostudujte princip činnosti optočlenů, zdrojů záření (LED dioda, laser), detektorů (fotodioda, fototranzistor, fotorezistor). 2.Připojte se dálkově na projekt Dálkové měření otáček pomocí optočlenu 3. Pomocí software regulujte otáčky 4. Sledujte změny otáček na časové ose 5. Pomocí vzorce vypočtěte dobu jedné otáčky (periodu) 6. Vypočtené hodnoty zapište do tabulky
2.
TEORIE
Fototranzistor je bipolární křemíkový tranzistor, jehož emitorový přechod je přístupný světlu. Báze zpravidla nebývá vyvedena. Má tedy pouze dva vývody.
Obrázek č.1. schématická značka fototranzistoru Zdroj vlastní
Princip spočívá v tom, že emitorový přechod je otvírán osvětlením, počet uvolněných nosičů se zvětšuje úměrně s osvětlením a je zesilován jako proud 2/8
báze
v
bipolárním
fototranzistory
větší
tranzistoru. citlivost
na
Vlivem
tohoto
osvětlení
zesilovacího
než
fotodiody.
účinku
mají
Neozářeným
fototranzistorem prochází kolektorový proud, zvaný proud za temna I0, který je určen zbytkovým proudem tranzistoru ICE0. Voltampérové charakteristiky mají tvar výstupních charakteristik bipolárního tranzistoru, parametrem je zde namísto proudu báze osvětlení E. Vlivem tohoto zesilovacího účinku mají fototranzistory větší citlivost na osvětlení než fotodiody. Použití fototranzistoru je široké. Hojně se využívá v zabezpečovacích systémech, různých automatických výrobních linkách, ale i v dopravě.
Graf č. 1: Voltampérová charakteristika fototranzistoru Zdroj: http://www.spsemoh.cz/vyuka/zel/neelektricke.htm
Voltámpérová charakteristika je v podstatě stejná jako u klasického tranzistoru. Hlavním rozdíl je ten, že zde tranzistor neovládáme proudem na bázi, ale intenzitou osvětlení E. Měření otáček v této aplikaci tedy využívá snímajícího fototranzistoru a vysílací diody. Obě tyto součástky pracují v pásmu infračerveného záření. V kotouči, který je poháněn stejnosměrným motorem je vyvrtána dírka, přes kterou při otáčení prosvicuje LED dioda na fototranzistor. Fototranzistor je připojen k Arduinu k pinu IRQ, který zaznamenává každou změnu napětí. Při proběhnutí otáčky se napětí sníží k hodnotám blížícím se 0 V a program Arduina vyhodnotí, že právě proběhla otáčka. V programu je časová základna a pomocí té program zjišťuje kolik za určitý čas proběhlo otáček. Na základě této informace je pak pomocí vzorců dopočítáno měření v jednotkách otáček za jednu minutu. 3/8
Další způsob využívá setrvačnosti lidského oka. Vysílán je naopak světelný paprsek přerušovaný s nastavitelnou frekvencí, v okamžiku, kdy tato frekvence souhlasí s rychlostí otáčení měřené součásti se tato zdánlivě zastaví. Měření otáček by šlo uskutečnit ještě například pomocí rotujícího magnetu na kotouči fungující na podobném principu jako je tachometr na jízdním kole.
3.
SCHÉMA ZAPOJENÍ
Schéma č. 1: Schéma zapojení Zdroj: vlastní
Označení
Součástka
Poznámka
R1
2K2
R2
6K8
R3
100R
LED1
Vysokosvítivá LED
Indikuje regulaci napětí na motoru
LED2
IR LED
Vysílá paprsky skrz kotouč na fototranzistor
4/8
C1
100πF
T1
TIP122
Darlington NPN
T2
IR Fototranzistor
940nm
JP1-1
5V
Arduino vývod
JP1-3
GND
Arduino vývod
JP1-4
PWM
PIN Arduino regulující napětí na bázi tranzistoru, který řídí napětí na motoru
JP2-1
Stejnosměrný motor
JP2-2
GND
JP3-1
IRQ
JP3-2
GND
Arduino vývod
Tabulka č. 1: Seznam použitých součástek a vývodů Zdroj: vlastní
4.POUŽITÉ PŘÍSTROJE - Měřící modul se součástkami - Kalkulačka - Psací potřeby
5.POSTUP Skrze webový portál na adrese http://192.168.6.190 se připojte k úloze dálkové měření otáček pomocí optočlenu. Prostudujte webové stránky, kde je návod, jak postupovat a jak ovládat program. Přejděte k měření, pokud bude někdo měřit před Vámi, musíte počkat ve frontě dokud na Vás nepřijde řada. Poté pomocí tohoto přiloženého software roztočte motor a regulujte otáčky, sledujte změnu otáček na časové ose a momentální otáčky na ručičkovém ukazateli. Naměřené hodnoty zapište do tabulky a vypočítejte podle vztahu:
5/8
Perioda : T= 1/f [1, s. 36] Otáčky za sekundu = RPM/60
Pro výpočet úhlové rychlosti si je třeba uvědomit jak velký úhel φ (1 otáčka = 360°) kružnice opíše za jednotku času t. Obecně se úhlová rychlost vypočítá dle vzorce ω = φ/t [1, s. 36]
Na základě úhlové rychlosti už lze jednoduše dopočítat obvodou rychlost pro kterou platí: v = ωr [1, s. 36]
Pro výpočet je tedy potřeba znát poloměr rotujícího tělesa neboli vzdálenost bodu otáčení od osy otáčení. Naměřené otáčky v programu jsou otáčky za jednu minutu. Před výpočtem převeďte na otáčky za jednu sekundu. Po výpočtu bude výsledek v jednotkách sekundy.
Napětí 4.5 V odpovídá cca 260-300 RPM. Napětí 6 V odpovídá 500-550 RPM. Napětí 7 V odpovídá 760-800 RPM.
6/8
6.TABULK A N AMĚŘENÝCH HODNOT
Napětí na motoru (V)
Otáčky za minutu (RPM)
Otáčky za sekundu (otáčky/s) Perioda (s)
Úhlová rychlost (ω)
Obvodová rychlost (v) Tabulka č. 2: Naměřené a vypočítané hodnoty Zdroj: vlastní
7.KONTROLNÍ OTÁZKY 1. Popište princip měření otáček pomocí optočlenu. (150) 2. Které jsou minimálně další dva principy měření otáček (150) 3. Popište stroboskopický jev pro měření otáček (60) 4. Jaké je další praktické uplatnění optočlenů? (20) 5. Vysvětlete princip fototranzistoru (60) 6. Který vývod na Arduinu snímá změny napětí na fototranzistoru a k čemu se tato hodnota používá? 7/8
7. Jaký je vzorec pro výpočet periody? 8. Popište voltampérovou charakteristiku fototranzistoru v závislosti na osvětlení. (60) 9. Kolikanásobně je vyšší hodnota otáček za minutu než hodnota otáček za minutu? 10. Jaký je rozdíl mezi fototranzistrem a fotodiodou? (60)
8.ZÁVĚR Tato úloha názorně předvedla princip optočlenů v praxi. Naměřené hodnoty otáček v závislosti na napětí odpovídali teoretickým východiskům.
9.PŘÍLOHY IR LED datasheet http://www.gme.cz/dokumentace/511/511-555/dsh.511-555.1.pdf NPN Tranzistor datashet http://www.gme.cz/dokumentace/211/211-072/dsh.211-072.1.pdf Fototranzistor datasheet http://www.gme.cz/dokumentace/520/520-014/dsh.520-014.1.pdf
11. Zdroje [1]
LEPIL, Oldřich, Milan BEDNAŘÍK a Radmila HÝBLOVÁ. Fyzika pro střední školy. 4., přeprac. vyd. Praha: Prometheus, 2001, 266 s. Učebnice pro střední školy (Prometheus). ISBN 80-719-6184-1.
8/8
Příloha č. 2: Deska plošného spoje
Obrázek č. 1: Deska plošného spoje ze strany vodivých cest Zdroj: vlastní
Obrázek č. 2: Deska plošného spoje z horní strany součástek Zdroj: vlastní
Příloha č. 3: Zdrojový kód Arduina
#include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 6, 56); IPAddress gateway(192, 168, 6, 1); IPAddress subnet(255, 255, 0, 0); EthernetServer server(50); boolean alreadyConnected = false; long time1 = 0; long time2 = 0; long timeout_otacky; void mer_otacku() { pruchod ++; time1 = time2; time2 = millis(); timeout_otacky = time2; } void setup() { Ethernet.begin(mac, ip, gateway, subnet); server.begin(); Serial.begin(9600); while (!Serial) { ; } Serial.print("Chat server address:"); 1/3
Serial.println(Ethernet.localIP()); pinMode(13, OUTPUT); digitalWrite(13, HIGH); attachInterrupt(0, mer_otacku, FALLING); } void loop() { pruchod = 0; time1 = millis(); attachInterrupt(0, mer_otacku, FALLING); // zkusit dat na zacatek delay(1000); detachInterrupt(0); if(pruchod > 1 || millis() - timeout_otacky < 20 * 1000) { if( time1 != 0 || time2 != 0) { otacky = (1.0/(time2 - time1))*1000*60; if(otacky > 3000 || otacky < 0) otacky = 60 * pruchod; } else otacky = 60 * pruchod; } else if(pruchod == 0); else otacky = 0; time2
= 0;
Serial.print("Pruchod ");
Serial.print(pruchod); Serial.print("
Otacky ");
Serial.println(otacky); String sA0 = String (sensorValue , DEC); String s = String(otacky)+";"+sA0; String v = sendToServer(s); if(v != ""){ 2/3
runMotor(toInt(v)); } else otacky = 0 }
3/3
Příloha č. 4: Dotazník
Dálkové měření - měření otáček pomocí optočlenů Dotazník Neţ vyplníte tento dotazník, zadejte ve svém vyhledávači (dočasnou) adresu 192.168.6.190 a vyberte projekt Dálkové měření otáček pomocí optočlenů. Proveďte měření a poté zodpovězte na otázky. Vţdy prosím zatrhněte či zakrouţkujte pouze jednu moţnost. Děkuji za Váš čas.
Otázka č. 1: Jaké je Vaše pohlaví? Muţ
Ţena
Otázka č. 2: Z jakého studijního kruhu pocházíte?
HM
HF
HP
HI
Otázka č. 3: Jakou formou studia vykonáváte?
Prezenční
Kombinované
Otázka č. 4: Patři elektrotechnika mezi Vaše oblíbené obory?
Ano
Ne
1
2
Otázka č. 5: Ohodnoťte vzhled programu od 1 aţ 5 jako ve škole:
3
4
Otázka č. 6: Bylo pro Vás absolvování tohoto měření přínosem? Dozvěděli jste se něco zajímavého? Ano Ne
1/4
5
Příloha č. 5: Příspěvek na mezinárodní studentskou konferenci
DÁLKOVÉ MĚŘENÍ - MĚŘENÍ OTÁČEK POMOCÍ OPTOČLENŮ Marek Šulák Evropský polytechnický institut, s.r.o., Hodonín
Abstrakt: Cílem práce bylo vytvořit systém dálkového měřením s využitím optočlenu pomocí systému Arduino, jenž má za úkol snímat otáčky rotujícího kotouče pomocí fototranzistoru. V této práci jsou popsány principy optočlenů a jejich využití. Je zde také probrána komunikace mezi uživatelem a Arduinem. Arduino je opatřeno Ethernet Shieldem, který zajišťuje komunikaci prostřednictvím počítačové sítě. Řeší se zde programovací jazyk Wiring, který je v Arduinu použit. Všechny tyto informace jsou využity v praktické části. Součástí práce je schéma zapojení, program, měřící protokol a videonávod. Klíčová slova: optočlen, Arduino Ethernet Shield, měření otáček, PWM, stejnosměrný motor Abstract:The aim was to create a system of remote measurement using optocoupler by the Arduino, which has the task of scanning speed rotating wheel with a phototransistor. This paper describes the principles and the use of optocouplers. It also discussed the communication between the user and the Arduino. Arduino is equipped with an Ethernet shield, which provides communication via computer networks. Solve here Wiring programming language that is used in Arduino. All this information is used in the practical part. Part of this work is the circuit diagram, program, measurement protocol and video. Keywords: optocoupler, Arduino Ethernet Shield, speed measurement, PWM, DC motor
Úvod Původní zadání této práce bylo pojmenováno „Dálkové měření – optočleny“, takţe bylo moţné vybírat z širokého okruhu moţností od měření voltampérových charakteristik jednotlivých součástek po uţitečné aplikace. U této práce jsem se rozhodl vyuţít vlastnosti optočlenů do praktické podoby a demonstrovat jejich vyuţití v praxi. Samotné měřící pracoviště se nachází v laboratoři KL3 v kampusu Hodonín, kde je jiţ několik prací s tématikou dálkového měření zrealizováno. Nachází se zde také počítač, který slouţí jako server pro připojení na dálku. Srdcem projektu, které zajišťuje jak samotné měření, tak i komunikaci je jednočipový mikropočítač Arduino vybavený Ethernet Shieldem, který rozšiřuje Arduino o moţnost připojení k internetové síti přes klasický RJ-45 konektor. Připojení se realizuje pomocí knihovny SPI.h a Ethernet.h. Nastavení připojení k síti se uskutečňuje přímo ve zdrojovém kódu programovacího jazyka Wiring, ve kterém se celé Arduino programuje. Ve zdrojovém kódu je nastavena MAC adresa zařízení a IP adresa,
1/4
pomocí níţ se k Arduinu přistupuje. V kódu je kromě nastavení ethernetu, také celý program, který provádí měření otáček. Údaje o naměřených hodnotách se odesílají do Java appletu, který je vloţen v HTML stránce, na IP adrese, která identifikuje Arduino.
Obr. 1: Arduino Uno Zdroj: http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg Realizace Pro názornou ukázku funkce optočlenů jsem vybral kotouč, ve kterém je vyvrtána jedna díra. Přijímací fototranzistor zachytává fotony z okolí, a tím dodává energii na svůj přechod PN. U této aplikace je vyuţito tranzistorového spínače, který je napájen zdrojem 5 voltů. Jakmile se kotouč otočí a díra v kotouči se dostane mezi LED diodu a fototranzistor, dojde k osvětlení v oblasti báze fototranzistoru a dopadající fotony otevřou emitorový přechod a tím se tranzistor sepne. Kdyţ na okénko světlo nedopadne, je obvod rozpojený a čeká se znovu na další otáčku, kdy znova tranzistor sepne. Tyto napěťové impulzy při jednotlivých otáčkách snímá a vyhodnocuje Arduino z vývodu IRQ.
Obr. 2: Zapojení měřící části obvodu Zdroj: vlastní
2/4
V programu musí být určena časová základna, která měří čas mezi jednotlivými pulzy. Tato časová základna počítá s přesností na 1 milisekundu. Doba mezi dvěma pulzy je rovna době, za kterou se kotouč otočí. Tato doba se nazývá perioda. Pomocí periody T lze pak dopočítat frekvenci f (počet otáček, které vykoná rotující těleso za 1 sekundu). Počet otáček za jednu sekundu se udává v hertzích (Hz).
[1, s. 36] Pro pohon kotouče byl zvolen sériový motorek, který dříve slouţil v RC modelu pro pohon autíčka. Arduino pracuje s proudy maximálně 40mA. Vzhledem k relativně vysokému odběru proudu byl pouţit externí napájecí zdroj. Při dálkovém měření je třeba motorek spouštět, vypínat případně regulovat jeho otáčky. K tomuto účelu byl sestrojen jednoduchý obvod s bipolárním tranzistorem NPN. Na bázi tohoto tranzistoru je napojen pin Arduina označený jako PWM, pomocí tohoto pinu se dá jednoduchým způsobem měnit softwarově napětí tohoto pinu v intervalu 0 aţ 5 V. Před bází tranzistoru je umístěn rezistor, k omezení průchodu proudu. Podle Ohmova zákona se při zvýšení napětí zvětšuje i proud. Při zvyšování proudu báze se zvyšuje napětí na motoru a tím dochází k roztočení a následné regulaci otáček.
Obr. 3: Schéma zapojení regulace Zdroj: vlastní Na obrázku číslo 3 je vyobrazeno schéma regulačního obvodu, zleva vstupují piny z Arduina – PWM pin, který mění napětí podle poţadavků uţivatele, dále je zde zemnící pin. Luminiscenční dioda LED1 indikující funkčnost regulace tím, ţe mění svůj jas v závislosti na na napětí z pinu PWM. Kondenzátor vyhlazuje průběh napětí v obvodu, protoţe PWM pin je digitální signál o vysoké frekvenci 500 Hz, při této frekvenci se signál navenek jeví jako spojitý. Rezistor R1 omezuje proud jdoucí na bázi. Emitor je uzemněn a kolektor samotný reguluje napětí na motorku. Vstup Ucc je napájení vnějšího zdroje. Navrţení součástek a její následná simulace probíhala pomocí software Electronics workbench, kde se zároveň otestovala funkčnost obvodu v praxi. Poté bylo potřeba zakoupit součástky, jejichţ zapojení se v testovacích podmínkách uskutečnilo v nepájivém kontaktním poli.
3/4
Obr. 4: Testovací zapojení v nepájivém poli Zdroj: vlastní Po řádném otestování se vytvořila konstrukce, která čítá především vytvoření desky plošných spojů včetně jejího osazení součástkami, dále se musel modifikovat způsob přenosu otáček mezi kotoučem a hřídelí motoru. Dalším problém, který bylo nutné vyřešit, bylo upevnění tranzistoru nad kotoučem. Poté byla celá práce umístěna do laboratoře dálkového měření v kampusu Hodonín. V této laboratoři je Arduino připojeno k počítači, na kterém je spuštěný Java applet, pomocí něhoţ ovládáme a sledujeme měřenou veličinu. Při tomto dálkovém měření můţeme pomocí webkamery sledovat i samotný děj, který se při měření v laboratoři odehrává.
Zdroje [1]
LEPIL, Oldřich, Milan BEDNAŘÍK a Radmila HÝBLOVÁ. Fyzika pro střední školy. 4., přeprac. vyd. Praha: Prometheus, 2001, 266 s. Učebnice pro střední školy (Prometheus). ISBN 80-719-61841.
4/4