bakalářská práce - Informační systém školy

Transkript

bakalářská práce - Informační systém školy
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

Podobné dokumenty

High tech - Studenti pro studenty

High tech - Studenti pro studenty Asi by se hodilo na úvod psát o tom, jaká je zase zima a jak přišla bez klepání. Kašleme ale na konvence, to si můžete přečíst v každém druhém časopise. Je tady další vydání e-fektu, a to pro vás z...

Více

Rosovice, Holšiny a Sychrov

Rosovice, Holšiny a Sychrov prázdniny. Pro většinu z  nás to je čas dovolených a čas pro vydání našeho letního zpravodaje. Zastupitelstvo obce se od  začátku roku sešlo celkem 7×. Zápisy z  jednání jsou tradičně uvnitř toho...

Více

link >>> PORTFOLIO AKTIVIT 2011 – 2012 PDF

link >>> PORTFOLIO AKTIVIT 2011 – 2012 PDF Výstava byla startovním projektem 4AM Fóra pro architekturu a média v Galerii architektury v Brně a byla připravována ve spolupráci s forem experim entální architektury ve Vídni. Pomocí diaprojekto...

Více

2. VY_32_INOVACE_CNC_SB2, Inkrementální programování G91

2. VY_32_INOVACE_CNC_SB2, Inkrementální programování G91 VY_32_INOVACE_CNC_SB2, Inkrementální programování G91-princip Programovaná souřadnice koncového bodu je vztažena k předchozí zadané souřadnici, a musí mít správné znaménko. Můžeme si představit, že...

Více

Ako naprogramovať Arduino - mirobozik.sk

Ako naprogramovať Arduino - mirobozik.sk Obsah ................................................................................................................................. 1 Úvod .........................................................

Více

Mobilní a telekomunikační systémy

Mobilní a telekomunikační systémy vypočítával a navrhoval parametry xDSL konfiguroval zařízení xDSL, … vypočítával a navrhoval parametry a topologii optických sítí měřil základní elektrotechnické veličiny vytvářel návrhy aplikací p...

Více

Tomáš Vítek - Olympiáda techniky Plzeň

Tomáš Vítek - Olympiáda techniky Plzeň vytápění. Naopak v létě je sluneční záření tak silné, že může rostliny poškodit. Vhodným řešením, jak poškození rostlin předejít, jsou stínící rolety. Automatické stínění skleníků dělíme na vnitřní...

Více

zde - PCTuning

zde - PCTuning “Pokud tě zajímá hraní, G-SYNC znamená zásadní změnu v herním zážitku.”

Více