České vysoké učení technické v Praze Fakulta elektrotechnická
Bakalářská práce
Programovatelné diodové osvětlení akvária Martin Klimovič
Vedoucí práce: Ing. Martin Klíma, Ph.D.
Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Výpočetní technika leden 2012
i
ii
Poděkování Rád bych poděkoval všem, kteří mi pomáhali při vytváření této práce. Děkuji Ing. Martinovi Klímovi, Ph.D., vedoucímu práce za spolupráci a objektivní kritiku, Jakubovi Kákonovi za rady ohledně mikrokontrolérů a příslušných modulů. iii
iv
Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu §60 Zákona č. 121/2000 Sb., o právu autorském a o právech souvisejících právem autorským a o změně některých zákonů (autorský zákon).
……………………
V Praze dne 5. ledna 2012
v
vi
Abstract This thesis deals with the design and implementation of a device that is able to control lighting of home aquarium. It can be set via thin client (web browser). This device is controlled by the microcontroller. As a source of illumination tri-color RGB scheme LEDs are used. It enables smooth and step-change of the illumination color in specified intervals.
Abstrakt Tato bakalářská práce se zabývá návrhem a implementací zařízení, které je schopné řídit osvětlení domácího akvária a lze jej nastavovat pomocí tenkého klienta (webového prohlížeče). Toto zařízení je řízeno mikrokontrolérem a využívá jako zdroj osvětlení LED diody s trojbarevným schématem RGB. Umožňuje plynulou a skokovou změnu barvy osvětlení v časových intervalech.
vii
viii
OBSAH 1.
ÚVOD ...................................................................................................................................................... 1
2.
ANALÝZA ................................................................................................................................................. 2 2.1.
PRODUKTY NA TRHU ....................................................................................................................... 2
2.2.
VHODNOST LED OSVĚTLENÍ ............................................................................................................. 3
2.3.
LED ............................................................................................................................................ 4
2.4.
REGULOVÁNÍ SVITU BAREV ............................................................................................................... 7
2.5.
MIKROKONTROLÉR......................................................................................................................... 8
2.6.
ŘÍZENÝ ZDROJ KONSTANTNÍHO PROUDU ............................................................................................. 9
2.7.
POŽADAVKY NA FUNKČNOST ............................................................................................................ 9
2.7.1. Funkční požadavky (rozvedeny níže) .................................................................................... 9 2.7.2. Nefunkční požadavky (rozvedeny níže) ................................................................................ 9 2.7.3. Popis požadavků ................................................................................................................ 10 2.7.4. Analýza uživatelských rolí .................................................................................................. 10 2.7.5. Případy užití ....................................................................................................................... 11 2.7.6. Scénář................................................................................................................................. 11 2.8. ZPŮSOBY OVLÁDANÍ ..................................................................................................................... 13 3.
4.
NÁVRH IMPLEMENTACE ........................................................................................................................ 14 3.1.
HARDWARE ................................................................................................................................ 14
3.2.
SOFTWARE ................................................................................................................................. 16
POPIS IMPLEMENTACE / REALIZACE. ..................................................................................................... 18 4.1.
SOFTWARE ................................................................................................................................. 18
4.1.1. GUI ..................................................................................................................................... 18 4.1.2. Firmware ............................................................................................................................ 20 4.2. HARDWARE ................................................................................................................................ 22 4.2.1. 4.2.2. 4.2.3. 5.
Zdroj ................................................................................................................................... 22 LED driver ........................................................................................................................... 22 LED žárovky ........................................................................................................................ 26
TESTOVÁNÍ. ........................................................................................................................................... 28 5.1.
ZÁTĚŽOVÝ TEST............................................................................................................................ 28
5.2.
UŽIVATELSKÝ TEST ........................................................................................................................ 28
5.3.
TEST STRÁNEK (GUI) .................................................................................................................... 29
6.
MOŽNOSTI ROZŠÍŘENÍ. .......................................................................................................................... 30
7.
ZÁVĚR.................................................................................................................................................... 31 7.1.
SEZNAM POUŽITÝCH ZKRATEK. ........................................................................................................ 34
8.
SEZNAM POUŽITÉ LITERATURY. ............................................................................................................. 36
9.
PŘÍLOHY. ............................................................................................................................................... 37 9.1.
OBSAH PŘILOŽENÉHO CD .............................................................................................................. 37
ix
x
Seznam obrázků Obrázek 1 – Směr záření světla ........................................................................................ 4 Obrázek 2 – Vlnové délky LED ....................................................................................... 4 Obrázek 3 – L-LXHL-PD01, L-LXHL-PM01, L-LXHL-PB01 ...................................... 6 Obrázek 4 – 1W 60-70LM 525nm Green LED, 1W 30-40LM 622.5nm Red LED, 1W 20-30LM Blue LED .......................................................................................................... 6 Obrázek 5 – LED Emitter on Star 3W .............................................................................. 7 Obrázek 6 – Případy užití ............................................................................................... 11 Obrázek 7 – Schéma zapojení v síti ................................................................................ 14 Obrázek 8 – Blokové schéma LED driveru .................................................................... 15 Obrázek 9 – Vrstvy navržené aplikace ........................................................................... 16 Obrázek 10 – GUI ........................................................................................................... 18 Obrázek 11 – Free color picker....................................................................................... 19 Obrázek 12 – GUI snímek obrazovky č.1....................................................................... 19 Obrázek 13 – GUI snímek obrazovky č.2....................................................................... 20 Obrázek 14 – GUI snímek obrazovky č.3....................................................................... 20 Obrázek 15 – LED driver otevřený................................................................................. 25 Obrázek 16 – LED driver zakrytovaný ........................................................................... 25 Obrázek 17 – Žárovka (kryt LED diod).......................................................................... 26 Obrázek 18 – LED žárovky ............................................................................................ 27 Obrázek 19 – Test (nastavení osvětlení) ......................................................................... 28 Obrázek 20 – Výsledné bíle osvětlení ............................................................................ 32 Obrázek 21 – Výsledné červené osvětlení ...................................................................... 32 Obrázek 22 – Výsledné modré osvětlení ........................................................................ 33
xi
xii
Seznam tabulek Tabulka 1 – Produkty na trhu (ceny r. 2011) .................................................................... 3 Tabulka 2 – LED příkon dle objemu akvária ................................................................... 5 Tabulka 3 – Parametry LED diod z obchodu GME.......................................................... 5 Tabulka 4 – Parametry LED diod z obchodu DealExtreme ............................................. 6 Tabulka 5 – Parametry RGB LED diody z obchodu DealExtreme .................................. 7 Tabulka 6 – Mikrokontroléry ............................................................................................ 8 Tabulka 7 – Integrované obvody ...................................................................................... 9 Tabulka 8 – Propojení pinů Ethernet – Mikrokontrolér ................................................. 22 Tabulka 9 – Propojení pinů Řízené zdroje proudu – Mikrokontrolér............................. 23 Tabulka 10 – Propojení pinů Paměť – Mikrokontrolér .................................................. 23 Tabulka 11 – Propojení pinů Resetovací tlačítko s LED – Mikrokontrolér ................... 24
xiii
xiv
1. Úvod Tato práce má za úkol vyrobit plnohodnotné osvětlení akvária, které akvaristovi zvýší komfort při ovládání osvětlení a dodá akváriu i barevnou světelnou dekoraci. Cílem práce tedy je navrhnout a implementovat zařízení, které bude schopné řídit osvětlení domácího akvária nastaveného z počítače. Osvětlení bude využívat LED diody a trojbarevné schéma RGB s možností řízení každé barvy zvlášť. Osvětlení bude také programovatelné v časových intervalech, bude umožňovat plynulou změnu barvy a intenzity vyzařovaného světla. Touto prací bych chtěl poukázat nejen na řízení osvětlení akvária, ale i na možnosti řešení řízení osvětlení inteligentních budov.
1
2. Analýza Tato kapitola popisuje analýzu trhu a následnou analýzu hardwarového a softwarového řešení. 2.1. Produkty na trhu Ze zadání vyplývá, že produkt musí splňovat následující požadavky:
Barva osvětlení v trojbarevném schématu RGB.
Nastavení osvětlení z počítače.
Zdroj osvětlení z LED diod.
Na základě těchto požadavků byl hledán podobný produkt, který by splňoval výše uvedená kritéria, avšak plnohodnotné denní osvětlení akvária s barvou v tónech RGB není produkt, který by se zatím prodával. Na trhu je v současné době nejrozšířenější zářivkové osvětlení, které ale neumožňuje plynulou změnu barvy a intenzity vyzařovaného světla. V prodeji jsou i LED diodové osvětlení jednotlivých barev. Těmito zařízeními není však možné měnit barevné odstíny, které by mohly dodat akváriu požadovanou barvu a dekoraci. V prodeji jsou i osvětlení s RGB diodami, ale jsou určené pouze jako noční dekorativní osvětlení. Pro upřesnění současného stavu osvětlení na trhu je uvedeno několik zástupců, které jsou k dostání a jsou typicky určeny pro akvarijní použití viz Tabulka 1.
2
Název
Zdroj světla
Multi light
LED
Moonlight
LED
LED (lišta)
LED
NSL-600
Zářivka
NSL-900
Zářivka
NSL-1500
Zářivka
NDL-600
Zářivka
NDL-900
Zářivka
NDL-1200
Zářivka
Napájení/ Příkon DC 24 V/ 6,5 W DC 3,5 V/ 2W DC 12 V/ 6W AC 230 V/ 15 W AC 230 V/ 20 W AC 230 V/ 36 W AC 230 V/ 2 x 10 W AC 230 V/ 2 x 20W AC 230 V/ 2 x 30W
Druh
Barva osvětlení
Rozměry
Umístění
Objem akvária
Cena s DPH
Noční
RGB
Ø 6 cm
Z boku
-
676Kč
Noční
Modrá
30 cm
Z hora
-
1118Kč
Denní
Bílá
50 x 2 cm
Z hora
24-60 l
1442Kč
Denní
Bílá
65 cm
Z hora
16-50 l
650Kč
Denní
Bílá
86,6 cm
Z hora
27-67 l
728Kč
Denní
Bílá
148,8 cm
Z hora
48-120 l
1170Kč
Denní
Bílá
58 cm
Z hora
27-67 l
1300Kč
Denní
Bílá
85 cm
Z hora
54-134 l
1482Kč
Denní
Bílá
115 cm
Z hora
80-200 l
1651Kč
Tabulka 1 – Produkty na trhu (ceny r. 2011) http://www.shopakva.cz
Na základě analýzy trhu je vidět, že produkt, který má funkci hlavního osvětlení a možné změny barevné palaty zatím není na trhu k dostání. Z těchto důvodů má význam v tvorbě tohoto produktu pokračovat. 2.2. Vhodnost LED osvětlení LED osvětlení proti klasickým trubicovým zářivkám má tu výhodu, že nemá tak velký úhel záření světla viz Obrázek 1, nemusí být tak usměrňováno zrcadlem a svítí přímo do akvária. Tento typ osvětlení má také celkově vyšší měrný světelný výkon. Díky tomu je pro LED osvětlení potřeba mnohem menší příkon na osvit stejného místa. Podle údajů1 u dosud prodávaných produktů vychází, že příkon je 3 x menší pro osvícení stejného prostoru. V diskuzích2 o osvětleních pro akvária se často narazilo na problém, zda je LED světlo schopné vytvořit vhodné podmínky pro fotosyntézu a růst rostlin. Dle Vladimíra Pelikána3 je pro fotosyntézu rostlin potřeba světelné záření o vlnových délkách 380 až 760nm. tj. od fialové přes modrou, zelenou, žlutou, oranžovou až po červenou část spektra. Nejvíce se na fotosyntéze podílí část spektra v modrofialové a červené oblasti (přibližně 400 - 500 nm a 600 - 700 nm). 3
Jelikož v těchto vlnových délkách jsou LED diody schopné pracovat viz Obrázek 2 a LED se už používají jako osvětlení vhodné pro růst rostlin, mělo by být toto světlo rostlinám prospěšné.
Obrázek 1 - Směr záření světla
Obrázek 2 - Vlnové délky LED
Z výše uvedeného vyplývá, že použití LED technologie je pro osvětlení vhodné a přecházíme k analýze hardwaru a jeho řízení. 2.3. LED Na stránkách www.aquapage.cz4 je uvedeno, že je potřeba pro zářivkové osvětlení 0,30,75 W/l (podle druhu rostlin). U LED diod je potřeba 3 x menší příkon než u trubicových zářivek a z toho plyne, že pro LED diody je potřeba 0,1-0,25W/l.
4
Tabulka 2 zobrazuje jmenovitý výkon potřebný pro optimální objem akvária pro LED osvětlovací těleso. Příkon
Objem
5W
20-50 l
10 W
40-100l
15 W
60-150 l
20 W
80 – 200l
25 W
100- 250 l
30 W
120- 300 l
Tabulka 2 – LED příkon dle objemu akvária
Pro takto uvedené příkony je potřeba použít speciální výkonové LED diody. Dále jsou uvedeny výkonové diody mezi, kterými byl proveden výběr.
L-LXHL-PD01, L-LXHL-PM01, L-LXHL-PB01 – www.gme.cz viz Obrázek 3 Soustava červené, zelené a modré LED.
Napětí
L-LXHL-PD01 – červená 2,8-4V
L-LXHL-PM01 – zelená 2,8-4V
L-LXHL-PB01 – modrá 2,8-4V
Maximální proud
350mA
350mA
350mA
Příkon
1w
1w
1w
Cena
87,10Kč
113Kč
123Kč
Tabulka 3 – Parametry LED diod z obchodu GME
5
Obrázek 3 - L-LXHL-PD01, L-LXHL-PM01, L-LXHL-PB01 http://www.gme.cz/_dokumentace/dokumenty/511/511-992/pctdetail.511-992.1.jpg
1W 60-70LM 525nm Green LED, 1W 30-40LM 622.5nm Red LED, 1W 2030LM Blue LED – www.dealextreme.com viz Obrázek 4 Soustava červené, zelené a modré LED.
Napětí
1W 30-40LM 622.5nm Red LED– červená 2,2-2,4V
1W 60-70LM 525nm Green LED– zelená 3,2-3,4V
Maximální proud
350mA
350mA
350mA
Příkon
1w
1w
1w
0,9$ ≈ 18Kč
0,94$ ≈ 19 Kč
O,89$ ≈ 18Kč
Cena
1W 20-30LM Blue LED– modrá 3,2-3,4V
Tabulka 4 – Parametry LED diod z obchodu DealExtreme
Obrázek 4 - 1W 60-70LM 525nm Green LED, 1W 30-40LM 622.5nm Red LED, 1W 20-30LM Blue LED http://www.dealextreme.com/productimages/sku_65217_2.jpg
6
3W LED Emitter on Star – www.dealextreme.com viz Obrázek 5
3W LED Emitter on Star Barva LED
červená
zelená
modrá
Napětí
2,5-3V
3,2-3,8V
3,2-3,8V
Maximální proud
350mA
350mA
350mA
Příkon
1w
1w
1w
3,35$ ≈ 66Kč
Cena
Tabulka 5 – Parametry RGB LED diody z obchodu DealExtreme
Obrázek 5 – LED Emitter on Star 3W http://www.dealextreme.com/photogallery.dx/sku.20999
LED diody budou řízeny řízeným zdrojem proudu a tak musí být zapojené v sérii, proto nejsou vhodné RGB diody, jelikož mají společnou zem. Po zhodnocení poměru cena/výkon vychází nejlépe soustava LED diod z www.dealextreme.com. 2.4. Regulování svitu barev Pro regulaci svitu barev se používá pulzně šířková modulace neboli PWM. Přenášený signál se tak přenáší pomocí střídy a proud nebo napětí lze tak regulovat od 0-100% a tímto řídit i svit diod. Pro ovládání svitu všech tří barev RGB je potřeba tří PWM signálů (na každou barvu je potřebný jeden PWM signál).
7
2.5. Mikrokontrolér Vzhledem k tomu, že je potřeba PWM signál a jedním ze základních požadavků je ovládaní osvětlení z počítače, je vybráno řízení pomocí mikrokontroléru. Rozhodující vlastnosti u mikrokontroléru jsou minimálně tři hardwarové PWM výstupy, protože na každou barvu RGB je potřebný jeden PWM signál, dále jednoduchá komunikace s počítačem a v neposlední řadě i cena. Na trhu jsou nejpoužívanější mikrokontroléry značky PIC a AVR. Mikrokontroléry mají ve většině případů pouze dva PWM výstupy, a proto je celkem jednoduché si z množství mikrokontrolérů vybrat. Výběr se tedy zúžil na pár zástupců viz Tabulka 6. Název
Počet PWM výstupů
Komunikace po USB
PIC16f777
3
√
PIC18f87j60
5
√
ATmega8
3
√
ATmega128
8
√
Komunikace po ethernetu
Cena s DPH (za modul) 329 Kč
√
415 Kč 295 Kč
√
486 Kč
Tabulka 6 – Mikrokontroléry
K ovládání výše uvedených mikrokontrolérů lze využít sériové rozhraní USB nebo Ethernet rozhraní. Jako pohodlnější se jeví ovládání přes Ethernet, kde uživatel nemusí být omezován délkou kabelu a umístěním akvária, pokud má např. notebook připojený do sítě pomoci Wifi. Výhodou Ethernetu
je i možnost použití tenkého klienta
(webového prohlížeče), který je v současné době instalován na většině počítačových platformách. Z mikrokontrolerů je vybrán PIC18f87j60, protože má možnost komunikace po Ethernetu, jeho cena je nižší a s programováním PIC mikrokontrolérů mám určité zkušenosti.
8
2.6. Řízený zdroj konstantního proudu Mikrokontrolér může ovládat pouze malé výstupní výkony a z tohoto důvodu vzniká potřeba řízených zdrojů konstantního proudu, které budou přenášet PWM signál s konstantní velikostí proudu potřebnou pro řízení LED. Hotové řízené zdroje konstantního proudu pro LED jsou bohužel velmi drahá záležitost, a proto je mnohem výhodnější si takovýto obvod navrhnout a postavit. Integrovaný obvod, který je základem tohoto zdroje, byl vybírán z následujících tří integrovaných obvodů viz Tabulka 7. Název
Uin
Uout
Iout
Cena
MAX16803
6,5 V – 40 V
až 38,6 V
až 350 mA
108,77Kč
LM3407
4,5 V – 30 V
až 29 V
až 350 mA
56,91Kč
LM3402
6 V – 42 V
až 37,8 V
až 500 mA
77,95Kč
Tabulka 7 – Integrované obvody
Integrovaný obvod LM3407 je nejvhodnější kandidát pro náš produkt, neboť jeho proudová charakteristika a výkon je plně dostačující a cena je také nejnižší. Tento IO je schopen řídit až osm vybraných diod o proudu 350 mA. 2.7. Požadavky na funkčnost 2.7.1. Funkční požadavky (rozvedeny níže)
Zobrazení nastavení osvětlení a hodin
Nastavení osvětlení
Nastavení sítě
Nastavení vnitřních hodin serveru
Editace uživatele
2.7.2. Nefunkční požadavky (rozvedeny níže)
GUI
Software
9
2.7.3. Popis požadavků
Zobrazení nastavení osvětlení a hodin
Systém bude zobrazovat časové body s barvou osvětlení a jejich průběhem, aktuální barvu osvětlení a vnitřní čas severu.
Nastavení osvětlení
Systém bude umožňovat přidávat, ubírat a editovat časové body s intenzitou osvětlení a jejím průběhem do dalšího časového bodu. Dále bude umožnovat změnu aktuální barvy.
Nastavení sítě
Systém bude umožňovat editování IP adresy a masky sítě.
Nastavení vnitřních hodin serveru
Systém bude umožňovat nastavení data a času serveru.
Editace uživatele
Systém bude umožňovat editaci jména a hesla uživatele (uživatel s možností editace bude jeden, jako je to ve většině LAN zařízeních).
GUI
Autorizovaným
i
neautorizovaným
uživatelům
bude
zprostředkováno
snadno
ovladatelné a jednoduché grafické prostředí.
Software
Systém bude psán v HTML, CSS, JavaScriptu a AJAXu, jelikož bude postavený na webovém serveru. 2.7.4. Analýza uživatelských rolí
Neautorizovaný uživatel
Osoba s nejmenšími právy má možnost zobrazovaní.
Autorizovaný uživatel
Osoba s největšími právy má možnost zobrazovaní a editovaní.
10
2.7.5. Případy užití
Obrázek 6 – Případy užití
2.7.6. Scénář
Zobrazení nastavení osvětlení a hodin
Uživatel zadá do webového prohlížeče domovskou stránku nebo zvolí záložku domů.
Systém vrátí webovou stránku s datem, časem, aktuální barvou a nastavením osvětlení.
Nastavení osvětlení
Uživatel zvolí záložku osvětlení.
Systém vrátí formulář se jménem a heslem pro autorizaci (pokud uživatel již není přihlášen).
Uživatel vyplní přihlašovací údaje.
Systém zkontroluje přihlašovací údaje a vrátí: a) Při špatném vyplnění, formulář se jménem a heslem pro autorizaci. b) Při správném vyplnění, formulář s aktuální hodnotou osvětlení a formulář s časovými body, barvou a průběhem osvětlení. 11
Uživatel vyplní příslušný formulář a odešle.
Systém zkontroluje správnost údajů. a) Při špatném vyplnění upozorní na chybu. b) Při správném vyplnění uloží údaje.
Nastavení sítě
Uživatel zvolí záložku nastavení sítě.
Systém vrátí formulář se jménem a heslem pro autorizaci (pokud uživatel již není přihlášen).
Uživatel vyplní přihlašovací údaje.
Systém zkontroluje přihlašovací údaje a vrátí: a) Při špatném vyplnění, formulář se jménem a heslem pro autorizaci. b) Při správném vyplnění, formulář s IP adresou a maskou sítě.
Uživatel edituje formulář a odešle.
Systém zkontroluje správnost údajů. a) Při špatném vyplnění upozorní na chybu. b) Při správném vyplnění uloží údaje.
Nastavení vnitřních hodin serveru
Uživatel zvolí záložku nastavení hodin.
Systém vrátí formulář se jménem a heslem pro autorizaci (pokud uživatel již není přihlášen).
Uživatel vyplní přihlašovací údaje.
Systém zkontroluje přihlašovací údaje a vrátí: a) Při špatném vyplnění, formulář se jménem a heslem pro autorizaci. b) Při správném vyplnění, formulář s hodinami.
Uživatel edituje formulář a odešle.
Systém zkontroluje správnost údajů. a) Při špatném vyplnění upozorní na chybu b) Při správném vyplnění uloží údaje
Editace uživatele
Uživatel zvolí záložku nastavení uživatele.
Systém vrátí formulář se jménem a heslem pro autorizaci (pokud uživatel již není přihlášen). 12
Uživatel vyplní přihlašovací údaje.
Systém zkontroluje přihlašovací údaje a vrátí: a) Při špatném vyplnění, formulář se jménem a heslem pro autorizaci. b) Při správném vyplnění, formulář s uživatelem.
Uživatel edituje formulář a odešle.
Systém zkontroluje správnost údajů. a) Při špatném vyplnění upozorní na chybu. b) Při správném vyplnění uloží údaje.
2.8. Způsoby ovládaní Do vybraného PIC18F87J60 lze nakonfigurovat jednoduchý HTTP server a tak bude možno systém ovládat pomocí tenkého klienta (webového prohlížeče). Jelikož webový prohlížeč je součástí většiny platforem, bude možno systém ovládat pomocí PC, notebooku, tabletu nebo chytrého telefonu bez instalace dalšího softwaru.
13
3. Návrh implementace Tato kapitola popisuje návrh výsledného produktu (LED driveru – zařízení ovládající svit LED diod) a softwarové prostředky. 3.1. Hardware
Schéma zapojení v síti viz Obrázek 7.
Obrázek 7 – Schéma zapojení v síti
14
Blokové schéma LED driveru viz Obrázek 8.
Obrázek 8 – Blokové schéma LED driveru
Popis funkce Zařízení bude napájeno stejnosměrným napětím 18V, toto napětí je minimální napětí potřebné pro 5 LED zapojených do série viz níže uvedený výpočet. Výpočet minimálního vstupního napětí UIN : Pro řízené zdroje proudu platí Uout = 0,1UIN až o,9UIN. Uout je napětí potřebné pro rozsvícení našich 5 LED v sérii. Potřebná napětí pro rozsvícení různých barev našich LED:
Červená LED Ur = 2,2-2,4V.
Zelená LED Ug = 3,2-3,6V.
Modrá LED Ub = 3,2-3,6V.
Nejvyšší minimální napětí pro 1 LED je minimální napětí modré nebo zelené LED U1min = 3,2V. Minimální napětí pro 5 LED U5min = Uout = 5 x U1min = 5 x 3,2 = 16V.
15
Minimální vstupní napětí UIN = Uout / 0,9 = 16 / 0,9 = 17,77 ~ 18V. Těchto 18V bude i stabilizováno na 3,3V potřebných pro napájení mikrokontroléru a jeho periferií. Do mikrokontroléru se nakonfiguruje množina IP protokolů (TCP/IP stack) viz Obrázek 9 a mikrokontrolér tak může pracovat jako malý webový server. Do takto zřízeného webového serveru se naimplementují řídící algoritmy a webové stránky pro ovládání zařízení, které budou zobrazovány přes Ethernet v rámci vnitřní sítě. Mikrokontrolér podle nastavení bude posílat PWM signály do řízených zdrojů proudu, které přepošlou stejně modulované PWM signály o konstantním proudu o velikosti 350mA do výkonových LED. EEPROM paměť bude sloužit pro uchování dat jako je např. IP adresa, maska sítě, nastavení osvětlení při vypnutí přístroje. Záložní baterie zde bude pro zachování vnitřních hodin serveru při dočasných výpadcích napájení. Restartovací tlačítko po 1 vteřině držení spustí měkký restart (spustí program od začátku) a po 10 vteřinách tvrdý restart (zařízení se vrátí do základního nastavení).
Obrázek 9 – Vrstvy navržené aplikace
3.2. Software Firmware bude psán v programovacím jazyce C. Základem firmware bude Microchip TCP/IP stack 3.75 (tento balíček má vlastní volnou licenci a může být bez omezení používán pokud se provozuje na Microchip zařízeních) doplněný kódem pro řízení osvětlení za pomoci CCS IDE (demoverze pro používání programu na 45 dní bez omezení). 16
Uživatelské prostředí bude psáno v HTML, CSS, Javascriptu a AJAXu a editováno v Netbeans IDE (open source) a PSpadu (free unicode vývojářský editor). Schéma plošných spojů bude navrhnuto v OrCAD (demoverze omezující velikost a složitost návrhů) a rozmístění součástek na plošné spoje v Mentor Pads (demoverze pro používání na 90 dní).
17
4. Popis implementace / realizace. V této kapitole je popsána implementace a realizace softwaru (GUI, firmware) hardwaru (zdroj, LED driver, LED zářivky). 4.1. Software 4.1.1. GUI Uživatelské prostředí je tvořeno pomoci HTML, CSS, JavaScriptu a AJAXu. Vzhledem k menší paměti (1MB) a rychlosti mikrokontroléru se musí dbát na velikost stránek, proto je navrženo velice jednoduché uživatelské prostředí viz Obrázek 10. Celé GUI je pak převedeno programem makempfsimg.bat, který je součastí TCP/IP stacku, do souboru mpfsimg.bin a ten zakomponován do zdrojových souborů.
Obrázek 10 – GUI
Menu - odkazy Pro rychlejší a pohodlnější práci se systémem je na odkazy použit AJAX, který přepisuje pouze vnitřní HTML element DIV (tělo) stránky a tak se nemusejí znovu načítat různé obrázky, skripty a styly. Formuláře Jelikož klasické odeslání HTML formuláře způsobí načítání stránky určené v atributu “action” a tak zpomaluje práci se systémem, je odeslání tvořeno také pomocí AJAXu, který odešle data POST požadavkem a potvrdí uložení do systému bez nového načtení stránky.
18
Všechna formulářová data jsou kontrolována Javascriptem, aby nedošlo k odeslání nekorektních dat. Pokud jsou data špatně zadána, systém zobrazí upozornění s chybou. Výběr barvy osvětlení Barva osvětlení je určována šestimístným hexadecimálním číslem a pro snažší výběr této barvy je použita Javascriptová paleta FCP (http://www.free-color-picker.com/) viz Obrázek 11.
Obrázek 11 - Free color picker
Výsledné uživatelské prostředí viz Obrázek 12, Obrázek 13 a Obrázek 14.
Obrázek 12 - GUI snímek obrazovky č.1
19
Obrázek 13 - GUI snímek obrazovky č.2
Obrázek 14 – GUI snímek obrazovky č.3
4.1.2. Firmware Celý firmware je implementován v programovacím jazyku C a převeden do HEX souboru, který je nahrán programátorem do mikrokontroléru. Firmware obsahuje zdrojové soubory TCP/IP stacku, převedené GUI do mpfsimg.bin a řídící program. Server přijímá GET a POST požadavky, s kterými pak systém pracuje.
20
Popis činnosti firmware
Definovaní používaných častí TCP/IP stacku.
Počáteční
inicializace
používaných
prostředků
mikrokontroléru
(porty,
časovače, přerušení) – u časovačů se vybere interní zdroj referenčního kmitočtu, nastaví se přerušení a u portů směr styl komunikace (PWM, logické hodnoty).
Počáteční inicializace sítových prostředků (IP adresa, maska sítě, MAC adresa) – nastavení příslušných proměnných z výchozího nastavení nebo nastavení od uživatele.
Počáteční inicializace a spuštění hodin – podle frekvence krystalu se nastaví počet přerušení, který udává 1 vteřinu, které se inkrementují a počítají vteřiny, minuty, hodiny, dny, měsíce a roky.
Počáteční inicializace nastavení osvětlení – do proměnných se načte výchozí nastavení nebo uložené nastavení od uživatele.
Zpracování GET a POST požadavků – po přijetí požadavku server zavolá funkci, která pomocí názvu a hodnoty nastavuje proměnné a volá funkce.
Zobrazení proměnných na webových stránkách – při načítání stránek je vždy zavolaná funkce, která nahrazuje první symbol po ”%” příslušnou hodnotou.
Barva a intenzita osvětlení – každou vteřinu je volaná funkce, která podle hodnot nastavení zjistí, zda se jedná o: a) Změnu aktuální barvy na dobu neurčitou – funkce nastaví výstupní hodnoty PWM signálů na určenou barvu. b) Časový harmonogram: 1) Funkce si najde mezi, kterými časovými body se nachází. 2) Z těchto dvou bodů dostane dva časy s příslušnou barvou osvětlení a typ změny (postupnou, skokovou). 3) Z těchto hodnot se vypočítají hodnoty, které udávají o kolik se musí změnit každá barevná složka za jednu vteřinu, tyto hodnoty jsou přičteny s barevnými složkami od prvního časového bodu a nastaveny jako výstupní hodnoty PWM signálů.
21
4.2. Hardware 4.2.1. Zdroj Podle uvedeného výpočtu na straně 15 je minimální potřebné napětí 18V, je použit napájecí zdroj k notebooku 19V 90W, který dodržuje normy pasivní bezpečnosti na primární straně zdroje – viz ČSN 33 2000. 4.2.2. LED driver Základem LED driveru je mikrokontrolér PIC18F87j60, který je zakoupen v modulu od firmy UST (http://www.ust.cz). Tato firma prodává moduly založené na univerzální stavebnici MLAB (http://www.mlab.cz), která je i mojí inspirací a LED driver se tak skládá z 12 mezi sebou propojenými moduly. Software se převážně vyvíjel jen na mikrokontroléru s nízko výkonovou RGB LED, Ethernet modulem a postupem času se přidělávaly i ostatní moduly. Moduly:
Mikrokonrolér PIC18F87J60
Zakoupen od firmy UST za cenu 415Kč.
Oživení - modul je třeba napájet 3,3V, pro povolení Ethernetu je nutné propojit piny VDD s VDDTX, VDDPPL, VDDRX a VSS s VSSTX, VSSPPL, VSSRX.
Ethernet
Zakoupen od firmy UST za cenu 150Kč.
Oživení - modul je třeba napájet 3,3V, propojit piny s mikrokontrolérem viz Tabulka 8. Ethernet - modul
Mikontrolér - modul
AY
RA0
AG
RA1
TPOUT+
TPOUT+
TPOUT-
TPOUT-
TPIN+
TPIN+
TPIN-
TPIN-
Tabulka 8 – Propojení pinů Ethernet – Mikrokontrolér
Řízené zdroje proudu
Cena modulu vyšla na 159Kč.
Tyto moduly bylo potřeba navrhnout, vyleptat a osadit.
Základem je obvod LM3407. 22
Tyto moduly jsou v LED driveru celkem třikrát, pro každou barvu LED.
Oživení - modul je třeba napájet NAPĚTÍM 4,5V – 30V, výstup propojit s konektorem pro LED žárovky a propojit piny s mikrokontrolérem viz Tabulka 9. Řízené zdroje proudu - moduly modul - DIM modul - DIM modul - DIM
Mikontrolér - modul RG4 RG3 RE7
Tabulka 9 – Propojení pinů Řízené zdroje proudu – Mikrokontrolér
Paměť
Cena modulu vyšla na 72Kč.
Návrh plošného spoje je převzat z databáze MLAB (opensource), vyleptán a osazen.
Základem je obvod 25LC640-I/SN
Oživení - modul je třeba napájet 3,3V, piny HLD a WP nastavit jumperem na OFF a propojit piny s mikrokontrolérem viz Tabulka 10. Paměť - modul SCK SI SO CS
Mikontrolér – modul RC3 RC5 RC4 RC0
Tabulka 10 – Propojení pinů Paměť – Mikrokontrolér
Záložní baterie
Cena modulu vyšla na 37Kč.
Jednoduchý modul nakreslený fixou, vyleptán a osazen.
Oživení – do modulu je potřeba vložit baterii CR2032 a výstupní piny propojit s napájecími piny mikrokontroléru.
Resetovací tlačítko s LED (indikace zapnutí)
Cena modulu vyšla na 20Kč.
Jednoduchý modul nakreslený fixou, vyleptán a osazen.
Oživení – je pořeba propojit dráty z modulu do mikrokontroléru viz Tabulka 11.
23
Resetovací tlačítko s LED - modul Oranžový drát Černý drát Červený drát Bílý drát
Mikontrolér - modul RB5 Vss Vdd Vss
Tabulka 11 – Propojení pinů Resetovací tlačítko s LED – Mikrokontrolér
Stabilizátory
Cena 3,3V modulu vyšla na 80Kč a 5V na 28Kč.
Původně byl zakoupen hotový stabilizátor na 3,3V od firmy UST, ale po následném připojení 19V napětí se příliš přehříval, což vedlo k přidělání druhého stabilizátoru na 5V, který jde dobře uchladit přes podkladovou hliníkovou desku.
Modul pro 5V stabilizátor je jednoduchý obvod nakreslený fixou, vyleptaný a osazený.
Oživení – na vstup 5V stabilizátoru je připojeno 19V z modulu pro napájení, výstup 5V stabilizátoru je připojen na vstup 3,3V stabilizátoru a jeho výstup do mikrokontroléru.
Konektor pro LED žárovky
Cena modulu vyšla na 44Kč.
Jednoduchý modul nakreslený fixou, vyleptán a osazen.
Na vstup je připojen výstup řídících zdrojů proudu.
Výstup je konektor pro připojení LED žárovek.
Konektor pro napájení
Cena modulu vyšla na 25Kč.
Jednoduchý modul nakreslený fixou, vyleptán a osazen.
Na vstupu je konektor, který přivádí napětí z vnějšího zdroje do zařízení.
Výstup je propojen s řidícími zdroji proudu a 5V stabilizátorem.
Kompletace Pro moduly byla zakoupena krabička KP 22 za 47Kč (45mm x 138mm x 190mm) z polystyrenu, která je vhodná do maximálního napětí 50V. Do krabičky jsou vyřezané otvory pro konektory a přidělán hliníkový plech, na který jsou přišroubované výše uvedené moduly. Výsledná krabička viz Obrázek 15 a Obrázek 16. Celková cena LED driveru vyšla na 1489Kč.
24
Obrázek 15 – LED driver otevřený
Obrázek 16 – LED driver zakrytovaný
25
4.2.3. LED žárovky Protože trojice diod (červená, modrá, zelená) může dosáhnout výkonu až 3W, je potřeba diody chladit. Pro lepší chlazení a rozptyl světla jsou dokoupeny žárovky s třemi volnými sloty pro LED viz Obrázek 17.
Obrázek 17 – Žárovka (kryt LED diod)
Úprava LED žárovek
Destička pro LED je zapojena do série a tak je potřeba prořezat spojení mezi diodami, aby různé barvy diod byly od sebe oddělené.
Pod víčko žárovky je udělán jednoduchý plošný spoj pro jednodušší připájení přívodních kabelů a propojení s diodami.
Patice MR16 z žárovky je seříznuta, zatmelena, vybroušena dokulata a přestříkána na stříbrno.
Do upraveného víčka je vyvrtána díra o průměru 8mm na napájecí kabely.
Žárovky jsou mezi sebou propojeny do série (každá barva zvlášť).
Víčka jsou přilepena a utěsněna silikonem.
Na začátek kabelu je připájen propojovací konektor k led driveru.
Cena LED žárovek vyšla na 480Kč.
Výsledně upravené žárovky viz Obrázek 18.
26
Obrázek 18 – LED žárovky
27
5. Testování. 5.1. Zátěžový test Zařízení bylo po dva dny spuštěno s nastavením viz Obrázek 19. Během tohoto testu nebyla zjištěna žádná závada, odstíny barev odpovídaly nastavenému průběhu a zařízení se nijak závažně nehřálo.
Obrázek 19 – Test (nastavení osvětlení)
5.2. Uživatelský test Zařízení bylo zapůjčeno třem lidem s manuálem, který je součástí přílohy. Tito lidé (dva studenti ČVUT obor výpočetní technika a jeden zaměstnanec v oboru IT) měli zařízení vyzkoušet a připomínkovat. Zařízení se jim celkově líbilo, ale dostalo se mi i následujících reakcí: 1) “Úvodní stránka se načítá příliš dlouho.” 2) “Bez přečtení manuálu jsem měl problémy s pochopením funkcí skokové a pozvolné změny.” 3) “Některé odstíny barev neodpovídají nastaveným barvám.” 4) “Žárovky nedrží dobře na místě.”
28
Ad 1) Načítání stránek je bohužel dáno rychlostí mikrokontroléru, pouze první strana musí být načtena celá včetně obrázků, skriptů a stylů. Zbytek se načítá o poznání rychleji, jelikož se pomocí AJAXu přepisuje pouze vnitřek stránky. Ad 2) Zde byl pouze problém s pochopením, že typ změny se provádí do následujícího časového bodu. Ad 3) Toto je neovlivnitelná vlastnost diod, nehledě na to, že do výsledné barvy se míchá vnější barva světla. Ad 4) Tento problém může být vyřešen gumovými nožičkami, přilepením pomocí oboustranné lepící pásky nebo pevnou montáží do osvětlovací rampy. 5.3. Test stránek (GUI) Stránky byly zobrazeny v dnes nejpoužívanějších prohlížečích Google Chrome, Mozilla Firefox a Internet Explorer. Ve všech těchto prohlížečích bylo GUI zobrazeno korektně s minimálními odchylkami. Pomocí validátoru, který je součástí prohlížeče Firefox, byla otestována správnost HTML kódu. Stránky měly pár neuzavřených tagů nebo chybějících atributů, tyto chyby byly hned opraveny a stránky jsou validní.
29
6. Možnosti rozšíření. Ačkoli RGB osvětlení splňuje všechny požadavky dle zadání, dalo by se toto zařízení rozšířit na tzv. “inteligentní akvárium”. Rozšíření:
Teplotní čidlo – umožní zobrazení teploty vody.
PH čidlo – čidlo by mohlo indikovat kvalitu vody a tím upozornit na její výměnu nebo chybu ve filtrovacím systému.
LCD display – umožní zobrazovaní např. teploty a pH vody, hodin, aktuální barvy osvětlení.
Topné těleso – v kombinaci s teplotním čidlem umožní regulovat teplotu vody.
Odeslání varování v případě překročení limitních hodnot.
Automatické nastavení času prostřednictvím NTP serveru.
30
7. Závěr Podařilo se mi vytvořit RGB osvětlení, co se týče návrhu i realizace, které splňuje zadané podmínky. Celková cena zařízeni vyšla na 1969 Kč, v této výsledné ceně není započítaný zdroj, který jsem vzal z vlastních zásob. Tato cena a velikost zařízení by šla snížit/zmenšit, pokud by všechny moduly z LED driveru byly navrženy na jeden plošný spoj a snížila by tak cena cca o 190Kč za svorkovnice, piny, propojovací kablíky, šrouby atd. Vzhledem k tomu, že načítání stránek z mikrokontroléru není příliš rychlé a jeho pamět je malá, měl jsem dvě možnosti zobrazení GUI. První možností je, že stránky budou korektní i s vypnutým Javasctriptem, ale to pouze za cenu pomalého a nepohodlného ovládání. Druhou možností je využití AJAXu a přepisovaní pouze určitých částí stránky což zlepší práci se systémem, ale stránky s vypnutým Javascriptem tak nejsou korektní. Dohromady oba způsoby bohužel nelze spojit z důvodu nedostatku paměti. Z uživatelského pohledu je určitě výhodnější druhá možnost a ta je také do zařízení zaimplementována. K zařízení je také vytvořen manuál se zapojením, prvotním nastavením a ovládáním. Výsledek osvětlení viz Obrázek 20, Obrázek 21 a Obrázek 22, bohužel fotografie příliš neodpovídají skutečnosti.
31
Obrázek 20 – Výsledné bíle osvětlení
Obrázek 21 – Výsledné červené osvětlení
32
Obrázek 22 – Výsledné modré osvětlení
33
7.1. Seznam použitých zkratek. RGB
RGB (red green blue) color model
PWM
Pulse Width Modulation
HTML
HyperText Markup Language
HTTP
Hypertext Transfer Protocol
AJAX
Asynchronous JavaScript and XML
GUI
Graphical user interface
LED
Light-Emitting Diode
LAN
Local Area Network
WLAN
Wireless Local Area Network
PC
Personal Computer
EEPROM
Electrically ErasableProgrammable Read-Only Memory
TCP
Transmission Control Protocol
IP
Internet Protocol
MAC
Media Access Control
ICMP
Internet Control Message Protocol
ARP
Address Resolution Protocol
IDE
Integrated Development Environment
FCP
Free Color Picker
MLAB
Modulární elektronická LABoratoř
PH
Potential of Hydrogen
LCD
Liquid Crystal Display
NTP
Network Time protocol 34
WIFI
Wireless Ethernet Compatibility Aliance
UTP
Unshielded Twisted Pair
35
8. Seznam použité literatury. 1
LED osvetlenie akvária. Shopaqua [online]. 2009 [cit. 2011-10-12]. Dostupné z:
http://www.shopakva.cz/led-osvetlenie-akvaria-50cm-60xled-6500-p-2810.html 2
Led osvětlení do akvária. Rybicky.net [online]. 2011 [cit. 2011-10-12]. Dostupné z:
http://rybicky.net/forum/4030-led-osvetleni-do-akvaria?od=551 3
PELIKÁN, Vladimír. AKVARIJNÍ ROSTLINY pod umělým osvětlením. [online].
2002 [cit. 2011-10-12]. Dostupné z: http://planta.aquariana.cz/osv_rostl_nobg.htm 4
Osvětlení akvária. Aquapage [online]. 2008 [cit. 2011-10-12]. Dostupné z:
http://www.aquapage.cz/Osvetleni_akvaria.php 5
Modulární elektronická LABoratoř. MLAB [online]. [cit. 2012-01-03]. Dostupné z:
http://www.mlab.cz/ 6
Data Sheet. PIC18F97J60 Family [online]. [cit. 2012-01-03]. Dostupné z:
http://ww1.microchip.com/downloads/en/DeviceDoc/39762f.pdf 7
Data Sheet. LM3407 [online]. [cit. 2012-01-03]. Dostupné z:
http://www.ti.com/lit/ds/symlink/lm3407.pdf 8
Data Sheet. 7805 [online]. [cit. 2012-01-03]. Dostupné z:
http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf 9
Online učebnice jazyka HTML, Javascript a kaskádových stylů. DUŠAN,
Jankovský. Jak psát web [online]. [cit. 2012-01-04]. Dostupné z: http://www.jakpsatweb.cz/ 10
X39WWW - Internet a WWW [online]. [cit. 2012-01-04]. Dostupné z:
http://edux.feld.cvut.cz/courses/X39WWW/ 11
AJAX - návod pro začátečníky. Digitální citrón [online]. [cit. 2012-01-05]. Dostupné
z: http://citron.blueboard.cz/clanek-239-ajax-navod-pro-zacatecniky.html 12
C/C++ . Linuxsoft [online]. [cit. 2012-01-05]. Dostupné z:
http://www.linuxsoft.cz/article.php?id_article=370
36
9. Přílohy. 9.1. Obsah přiloženého CD
/bakalarska_prace (obsahuje bakalářskou práci a obrázky v ní použité)
bakalarska_prace.docx
(bakalářská práce v novém formátu MS Word)
bakalarska_prace.doc
(bakalářská práce v starším formátu MS Word)
bakalarska_prace.pdf
(bakalářská práce ve formátu PDF)
/obrazky (složka s obrázky použitými v bakalářské práci) o blokove_schema_zapojeni.tif o vysledne_osvetleni_bila.jpg o vysledne_osvetleni_cervena.jpg o …
/cenik (obsahuje ceník – součet cen součástek, modulů a materiálů)
cenik.xlsx (ceník v novém formátu MS Word)
cenik.xls (ceník v starším formátu MS Word)
cenik.pdf (ceník ceny za materiál ve formátu PDF) (obsahuje uživatelský manuál a obrázky v něm požité)
/manual
manual.docx
(manuál v novém formátu MS Word)
manual.doc
(manuál v starším formátu MS Word)
manual.pdf
(manuál ve formátu PDF)
/obrazky (složka s obrázky použitými v manuálu) o zdroj.jpg o LED_driver.jpg o GUI_hodiny.png o …
/datasheety
(obsahuje datasheety, které byli použity k bakalářské práci)
PIC18F87J60.pdf
LM3407.pdf
7805.pdf
/DPS (obsahuje návrhy plošných spojů)
/rizeny_zdroj_proudu
(obsahuje navržený plošný spoj pro řízený zdroj proudu)
o /PCB (obsahuje Mentor Pads soubory) 37
o /SCH (obsahuje OrCAD soubory) o schema_zapojeni.pdf (schéma zapojení řízeného zdroje proudu) o plosny_spoj.pdf
/EEPROM
(plošný spoj řízeného zdroje proudu)
(obsahuje návrh a schéma plošného spoje EEPROM paměti z MLAB databáze)
/zdrojove_soubory (obsahuje zdrojové soubory TCP/IP stacku a řídícího programu)
/pages
(obsahuje GUI – HTML stránky, CSS styl, JavaScripty)
/mpfs
(obsahuje zdrojové soubory a aplikaci pro převod /pages do .bin souboru a zakomponování do aplikace)
/…
osvetleni.pjt
(CCS projekt aplikace)
osvetleni.c
(hlavní zdrojový soubor s řídícími algoritmy)
osvetleni.hex
(překompilovaná aplikace pro nahraní do
(další adresáře se zdrojovými kódy TCP/IP stacku)
mikrokontroléru)
24LC640.c
(knihovna pro EEPROM paměť)
nastaveni.h
(hlavní konfigurační soubor)
TCPIP Stack End User License.pdf
…
38
(licence TCP/IP stacku)