View
1
Download
0
Category
Preview:
Citation preview
Modern világító diódák (LED-ek) összehasonlító vizsgálata
1
SZAKDOLGOZAT
Hollósy Ádám
2010
Modern világító diódák (LED-ek) összehasonlító vizsgálata
Modern világító diódák (LED-ek) összehasonlító vizsgálata
2
Villamosmérnöki és Információs rendszerek Tanszék
mérnök-informatikus BSc szak
SZAKDOLGOZAT
Modern világító diódák (LED-ek) összehasonlító vizsgálata
Hollósy Ádám
Témavezető:
Csuti Péter
2010
Modern világító diódák (LED-ek) összehasonlító vizsgálata
3
ide jön a témakírás
Modern világító diódák (LED-ek) összehasonlító vizsgálata
4
NYILATKOZAT
Alulírott Hollósy Ádám diplomázó hallgató, kijelentem, hogy a
szakdolgozatot a Pannon Egyetem Villamosmérnöki és Információs Rendszerek
tanszékén készítettem mérnök informatikus BSc diploma (bachelor of science in
information technology) megszerzése érdekében.
Kijelentem, hogy a szakdolgozatban lévő érdemi rész saját munkám
eredménye, az érdemi részen kívül csak a hivatkozott forrásokat (szakirodalom,
eszközök, stb.) használtam fel. Tudomásul veszem, hogy a szakdolgozatban foglalt
eredményeket a Pannon Egyetem, valamint a feladatot kiíró szervezeti egység saját
céljaira szabadon felhasználhatja.
Veszprém, 2010. november 30.
Hollósy Ádám
Alulírott Csuti Péter témavezető kijelentem, hogy a szakdolgozatot Hollósy
Ádám a Pannon Egyetem Villamosmérnöki és Információs Rendszerek tanszékén
készítette mérnök informatikus BSc szak (bachelor of science in information
technology) megszerzése érdekében.
Kijelentem, hogy a szakdolgozat védésre bocsátását engedélyezem .
Veszprém, 2010. november 30.
Csuti Péter
Modern világító diódák (LED-ek) összehasonlító vizsgálata
5
KÖSZÖNETNYILVÁNÍTÁS
Mindenekelőtt szeretnék köszönetet mondani témavezetőmnek, Csuti
Péternek, hogy tudásával, hasznos tanácsaival és türelmes segítőkészségével
támogatta szakdolgozatom létrejöttét.
További köszönettel tartozom eddigi tanulmányaim során megismert
tanáraimnak, ismerőseimnek is, akik hozzásegítettek azon ismeretek
megszerzéséhez, melyek elengedhetetlenek voltak dolgozatom megírása során.
Külön köszönet illeti a JFreeChart függvénykönyvtárat létrehozó, és azt azóta is
töretlenül lelkesedéssel fejlesztő csapatának, akik nagyban hozzájárultak munkám
elkészítéséhez.
Végül, de nem utolsó sorban, szeretném hálámat kifejezni szüleimnek,
önzetlen támogatásukért, és amiért megteremtették számomra a tanulás lehetőségét.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
6
Tartalomjegyzék:
Tartalomjegyzék ............................................................................................................... 6
Tartalmi összefoglaló ....................................................................................................... 7
1. Bevezető ....................................................................................................................... 8
1.1. A kísérlet ................................................................................................................ 8
1.2. Relatív és abszolút fotometria ................................................................................ 9
1.3. Gyorsított öregítés ................................................................................................. 11
2. Az LM-80-as dokumentum, avagy kísérletünk szabványa – kivonat ......................... 14
3. Kísérletünk a gyakorlat tükrében ................................................................................ 21
4. Esettanulmány: A rendszer koncepciójától az implementálásig ................................. 29
4.1. Beolvasó és feldolgozó modul koncepciója .......................................................... 33
4.2. Elektronikus jegyzőkönyv felépítése .................................................................... 34
4.3. Az adatbázis felépítése .......................................................................................... 35
4.4. Beolvasó és feldolgozó modul implementálása .................................................... 39
4.5. Grafikonrajzoló és jelentéskészítő modul koncepciója és megvalósítása ............. 41
5. Az elvégzett munka és a kész szoftver bemutatása ..................................................... 44
5.1. Beolvasó és feldolgozó modul bemutatása ........................................................... 44
5.2. Grafikonrajzoló és jelentéskészítő modul bemutatása .......................................... 52
6. Összefoglaló ................................................................................................................ 62
Irodalomjegyzék .............................................................................................................. 63
Melléklet ......................................................................................................................... 64
Modern világító diódák (LED-ek) összehasonlító vizsgálata
7
Tartalmi összefoglaló
Szakdolgozatom témája a Villamosmérnöki és Információs rendszerek
Tanszék Virtuális környezetek és Fénytan Laboratóriumában folyó projektmunkához
kapcsolódik. Ebben vettem részt, mint méréseket végző segítő, illetve elkészítettem
egy szoftvert, mely az adatfeldolgozás automatizálását valósítja meg.
A kísérlet keretén belül tanulmányozzuk, hogy a teljesítmény LED-eket
miképp tudjuk hatékony módon közvilágítási célokra felhasználni. Egyes gyártók
különböző típusú LED-jeit vizsgáljuk, ezek hosszú távú fényerő és
színképváltozását. Valós körülmények között ez rendkívül lassú folyamat, ezért ún.
gyorsított öregítési eljárást alkalmazunk, amely során megfigyelhetjük a kérdéses
paraméterek változásának tendenciáját.
A kísérlet során méréseket végzünk (fényerősség, színkép, nyitófeszültség,
hőmérséklet), a mért adatokat a mérőműszer elektronikus jegyzőkönyvekbe rögzíti.
Feladatom ezen jegyzőkönyveknek feldolgozása; az azokban szereplő adatok
szabványos adatbázisban történő tárolása. Az adatbázisnak a későbbiek folyamán
tetszőlegesen bővíthetőnek kell lennie az újabb mérések adataival.
Az összegyűjtött adatokat elemezzük. Szükséges, hogy grafikonokon is
ábrázolhassuk az adatsorokat, így az idő folyamán mutatkozó eltérések, változási
tendenciák észlelhetővé válhatnak. Az analizálás során felhasználjuk a statisztika
alapvető eszközeit is (átlag, szórás). A kapott eredményekből PDF jelentést
generálunk.
Megoldásom Java nyelven íródott, a JFreeChart grafikonkezelő
függvénykönyvtár felhasználásával.
Kulcsszavak: Grafikon, JFreeChart, MySQL, Java, iText
Modern világító diódák (LED-ek) összehasonlító vizsgálata
8
1. Bevezető
A szakdolgozat célkitűzése, LED-eket vizsgáló kísérletsorozat alatt végzett
fényerősségmérések szoftveres támogatása, a belőlük származó adatfeldolgozás
automatizálása. A feldolgozott adatok - logikailag megfelelő struktúrában -, egy
szabványos adatbázisban kerülnek eltárolásra, így ennek tartalma a kísérlet folyamán
folyamatosan bővíthető az újabb és újabb mérésekkel gyűjtött értékekkel. Ezekből, a
felhasználó által megszabott szempontok alapján, grafikonokat és statisztikai
elemzéseket szeretnénk készíttetni a későbbiekben.
Az így felhalmozott adatok analíziséből olyan következtetéseket próbálunk
levonni, melyek a kísérletsorozat központi kérdéskörébe esnek. Ehhez szükséges,
hogy grafikusan ábrázolhassuk az adatsorokat, így az idő előrehaladtával mutatkozó
eltérések, változási tendenciák vizuálisan is - szembeötlően - megmutatkozhatnak. A
vizsgálat során a statisztikai repertoár alapvető eszközeit is felhasználjuk (átlag,
standard szórás), hogy az így kapott eredményekből táblázatos kimutatásokat, PDF
jelentést generálhassunk.
Az elkészült program ennek a szándéknak kíván megfelelni. De mielőtt
részletesen bemutatnám a fejlesztés menetét, az ennek során felmerült kérdéseket és
a program felépítését, a téma – és annak specifikus mivolta - megkívánja, hogy
először magát a projektet, és annak célkitűzését ismertessem. Ez a projekt egyébként
a dolgozat írása pillanatában, jelenleg is folyamatban van.
1.1. A kísérlet
Napjainkban az SSL-ek (Solid-State Lighting, azaz szilárdtest fényforrások),
és az ebbe a típusba tartozó teljesítmény LED-ek (Light Emitting Diode, azaz
fénykibocsátó diódák) népes családja a világítástechnika legkülönbözőbb területein
kerül felhasználásra. Ennek a hazai projektnek keretében konkrétan azt vizsgáljuk,
hogy mennyire alkalmasak közvilágítási feladatok ellátására. Ehhez behatóbban kell
tanulmányoznunk a különböző gyártók széles kínálatában megtalálható teljesítmény
LED-ek közép és hosszú távú stabilitását. Mérnünk kell azok fényerő és színkép
változásait.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
9
A modern világító diódák, melyek már így is szinte az élet minden területén
használatosak, - a nem túl távoli jövőben - forradalmasítani fogják a közvilágítást.
Miért szükséges speciális kísérleti módszer alkalmazása és fotometriai mérés a LED-
ek vizsgálatához? Ezek az új technológiák még napjainkban is igen gyors ütemben
fejlődnek, műszaki tulajdonságaik változnak. Az ilyen fényforrásokat tartalmazó
lámpatestek pedig sokban különböznek tradicionális társaikétól. A
világítástechnikában ezért külön módszerek kerültek kidolgozásra paramétereik
vizsgálatára. Ezek a technikák szabványok keretei között lettek rögzítve. Tekintsünk
bele a lényegesebbek tartalmába.
1.2. Relatív és abszolút fotometria
Mint látni fogjuk, SSL lámpatestek esetében (melyek LED modulokat is
tartalmazhatnak) sajnos nem alkalmazhatóak a hagyományos fényforrások mérésére
kidolgozott szokásos technikák. Ez a tradicionális fényforrások és az SSL
lámpatestek felépítése közti eltérésekből, illetve a tulajdonságaik közti alapvető
különbségekből fakad. Emiatt, ha ilyen típusú lámpatestek fotometriai vizsgálatát
szeretnénk végrehajtani, akkor - a hagyományos fényforrások során alkalmazott -
relatív fotometria helyett az abszolút fotometria módszereit kell követnünk. Ezekről a
módszerekről további információkat az LM-79-es szabványban olvashatunk [1].
Érdekességképpen pár kiragadott részt ismertetnék a dokumentumból.
A hagyományos fényforrások vizsgálata általában goniofotométer
segítségével és relatív fotometriai módszerrel valósul meg. Ebben az esetben, az
eljárás alatt a világítótest és a fényforrás tesztelése egymástól elkülönítve történik.
Ezután a fénykibocsátás intenzitás-eloszlás értéket, melyet goniofotométerrel mértek,
egy meghatározott eljárással normalizálják, majd egy relatív skálán ábrázolják (erről
további részleteket a szabvány szövegében találunk). Ez a metódus az SSL-ek
esetében nem megvalósítható, mivel a legtöbb LED-lámpa úgy lett megtervezve,
hogy a lámpatest és a fényforrás egymástól működés közben nem szétválasztható.
Illetve, amikor ez bizonyos kivételes esetekben technikailag lehetséges, a relatív
fotometria akkor sem bizonyul akkurátus eredményt szolgáltató eljárásnak, mivel a
LED fénykibocsátása jelentősen megváltozik, hiszen a fényforrás burkolata nélkül
teljesen más hőmérsékleten üzemel; ez a hőmérsékletkülönbözet pedig döntő
Modern világító diódák (LED-ek) összehasonlító vizsgálata
10
mértékben befolyásolja a mért értékeket. Ebből kifolyólag egy másik módszert kell
választanunk. Bizonyos IES szabványok erre abszolút fotometria néven szoktak
hivatkozni. Ebben az esetben a fényforrás abszolút fénykibocsátás intenzitás-
eloszlását mérjük meg anélkül, hogy elválasztanánk a fényforrást annak burkolatától
(ennek részletes ismertetését az LM-35-02 szabványban találjuk). Az SSL
világítótesteket mindig így szokás mérni, azonban érdemes megemlíteni, hogy ritkán,
de előfordul, hogy bizonyos hagyományos fényforrásokat is abszolút fotometria
alkalmazásával vizsgálnak. Ennek részletei azonban számunkra érdektelenek, hiszen
mi most nem SSL lámpatesteket, hanem önálló LED modulokat mérünk. Így a
dolgozat során nem ez a dokumentum lesz meghatározó, hanem az LM-80-as
szabványban szereplő, kifejezetten LED-ek mérésére vonatkozó előírások,
javaslatok.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
11
1.3. Gyorsított öregítés
A másik ok, hogy különleges eszközöket és kivitelezési módot igényel
vizsgálatunk, az a LED-ek figyelemreméltóan hosszú élettartamában, és a későbbiek
során tárgyalt sajátos tulajdonságaikban rejlik. A hagyományos fényforrásokhoz
képest extrém hosszúságú, 50000 óra, illetve bizonyos típusok esetén, az akár
100000 órát is meghaladó élettartam miatt, meglehetősen nehézkes - ha nem
egyenesen lehetetlen - próbálkozás lenne „valós körülmények” között megfigyelni a
fényerősség és a színkép változásának tendenciáját. Érdemes belegondolni, hogy ez
hosszú éveket jelentene egy normál körülmények között használt LED esetében (pl.
50000 üzemóra nagyjából ~ 5,7 év folyamatos működést jelent, állandó égetés
mellett!). Nem beszélve arról, hogy nyilvánvalóan értelmetlen vállalkozás is lenne,
hisz tapasztalhatjuk, hogy ennyi idő alatt olyan jelentős fejlődés zajlik le az SSL-ek
piacán, hogy a kísérleti eredményekből levont konzekvenciák már megszületésük
pillanatában „elavultnak” számítanának. Nekünk pedig használható információk
gyűjtése a célunk. Így nem csoda, hogy már a 2000-es évek elején, a figyelem a
LED-ek működés közbeni degradációjának gyorsított szimulációja felé fordult; az
ebből fakadó törekvésekből pedig egy jól bevált eljárás született, mely a
gyakorlatban már bizonyított[2]. A konkrét megvalósítás esetünkben egy LED-égető
berendezés, amely ún. „gyorsított öregedést” valósít meg. Működésének legfőbb
alapelvét az a megfigyelés szolgáltatta, hogy a GaN-alapú foszfor-adalékolt (pc)
fehér LED-ek teljesítményét – úgy, mint a többi félvezető eszköz esetében is –, az
azokat meghajtó áram nagysága, illetve a világítódiódát körülvevő hőmérséklet
döntő mértékben befolyásolja. Ennek következtében, a természetes üzemeltetési
körülmények között lezajló elhasználódási folyamatot a valóságoshoz képest
lényegesen felgyorsítva modellezhetjük. A felhasznált „stressz paraméterek” tehát
elsősorban a meghajtóáram és a hőmérséklet, melynek az adott LED üzemeltetése
során közvetlenül van kitéve.
A korábbi tanulmányok alapján az 5 mm-es pc diódák fénykibocsátásának
romlása exponenciális tendenciát mutatott az idő előrehaladtával. Ha az élettartam
alakulását kísérték figyelemmel, akár a meghajtóáram, akár az égetés folyamán
alkalmazott hőmérséklet nagyságának függvényében, mindkét esetben exponenciális
romlási tendenciát tapasztaltak.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
12
Bürmen 2007-ben végzett kísérletének eredményei szintén alátámasztották
ezt a viselkedésjelleget, így arra a megállapításra jutott, hogy számos kereskedelmi
forgalomban kapható 5mm-es pc LED élettartamát legjobban egy exponenciális
modell felállításával lehet megbecsülni. Noha a kis áramértékkel (5 mA – 20 mA
között) üzemelő LED-ekhez képest a teljesítmény LED-ek (melyek tipikusan
350 mA, vagy e fölötti meghajtóárammal működnek) lényegesen lassabban
vesztettek fényerejükből, azonban mindkét esetben a már szóban forgó tendencia
érvényesült: exponenciális fényerősségcsökkenés az idő függvényében, és élettartam
csökkenés a hőmérséklet függvényében. A fényerősség degradáció mértéke és a LED
modulra – égetése során – közvetlenül ható hőmérséklet nagysága közötti
összefüggést illusztrálja az 1. ábra[2].
1. ábra: a fényerősség degradáció és a hőmérséklet kapcsolata
Ezt a megfigyelést felhasználva egy, az Egyesült Államokban található ipari
testület, az Alliance for Solid State Illumination System and Technologies (ASSIST)
- mely nemzetközi tagokkal is rendelkezik -, különböző ajánlásokat fogalmazott
meg, és javaslatot tett egy tesztelési eljárás szabványosítására, amellyel különböző
típusú LED-ek élettartamát mérhetjük. A LED-es világítástechnika ipar nem sokkal
később már alkamazta, és azóta is aktívan használja az ASSIST által kidolgozott
módszert, megfelelő ajánlásait szem előtt tartva. Ezek közül áttekintjük a számunkra
kiemelten lényegeseket.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
13
A LED élettartamát, általános célú megvilágítási feladatok esetén úgy
definiáljuk, hogy vesszük azt az időintervallumot, mely során az eredeti fényáram
kibocsátásról, annak 70%-ára csökken, erre az L70 jelöléssel utalhatunk (a megadott
százalék küszöbszintként fogható fel). Továbbá az ASSIST javaslata tartalmazza,
hogy a LED-eket, 3 különböző hőmérsékleten üzemeltetve is mérjük, ezáltal
felfedhetjük a világítódióda élettartama, és annak hőmérséklete közti kapcsolatot. A
LED tartó panel (black plate) hőmérsékletének meghatározásához az öregítő
berendezésben elhelyezett hőmérőt használtunk. A LED élettartama, mint tartó
panelének hőmérséklete függvényében változó érték hasznos információ az olyan
OEM gyártóknak (cég, mely több beszállító termékeiből állítja össze saját termékét),
akik pl. LED-eket tartalmazó lámpatesteket, szerelvényeket terveznek és gyártanak.
Hiszen ezen ismeretek birtokában, a fejlesztés során az adott termékhez megfelelőbb
hőelvezetési módszer kerülhet kidolgozásra, mellyel a termék élettartama jelentős
mértékben meghosszabbodhat. Végtére is, egy adott felhasználási területen, a vásárló
számára már inkább a komplett világítórendszer élettartama számít, mintsem az
egyes LED egységek teljesítménye.
Hasznos megjegyezni, hogy az exponenciális degradációs karakterisztika nem
univerzálisan törvényszerű, mivel léteznek LED típusok, melyek életük során eltérő
viselkedésmintát követnek. A modelljeik pedig - jellemzően az első 100 órában -
igencsak változatos viselkedést mutathatnak, mielőtt „stabilabb pályára” állnának.
Előfordulnak olyan esetek, amikor a fényerősség – akár több százalékkal is –
növekedhet átmenetileg. Így nem meglepő, hogy ha ezt relatív skálán ábrázoljuk,
akár 104%-os fényerősséget is tapasztalhatunk.[3])
Modern világító diódák (LED-ek) összehasonlító vizsgálata
14
2. Az LM-80-as dokumentum, avagy kísérletünk szabványa –
kivonat
Ahhoz hogy teljes és átfogó képet kaphassunk a kísérletünkről, muszáj
megismerkednünk az ASSIST által kidolgozott LM-80 szabvány bizonyos
részleteivel. Ezért ebben a fejezetben megpróbálom összefoglalni saját szavaimmal a
leglényegesebbnek ítélet részeket.
Amíg az LM-79 az SSL lámpatestek - és azon belül is a számunkra jelen
pillanatban oly lényeges LED-eket tartalmazó világítótestek – mérésének helyes
kivitelezését, ezáltal az eredmények egzaktságát elősegítő ajánlásokat tartalmazza,
addig az LM-80-as szabvány[4] a gyorsított öregítési folyamat kivitelezését
ismerteti, leírja a kontrollált körülmények között történő égetés feltételeit, melyek
lehetővé teszik, hogy a kísérlet eredményei, és annak konklúziói „hordozhatóak
legyenek”. Ugyanis, ha a különböző laborok önkényes feltételeket támasztva, ezáltal
eltérő körülményeket teremtve végeznék effajta vizsgálataikat, akkor ezekből az
autonóm viszonyok között született eredményekből bajosan lehetne általános
érvényű következtetéseket levonni. Viszont, ha követjük a standard előírásokat és
javaslatokat, akkor a kísérletünk konklúziói – akár nemzetközi viszonylatban is –
felhasználhatóak. Így ezt a szabványt érdemes részletekbe menően megismernünk,
mivel mint látható, alapvető jelentőséggel bír a kísérlet relevanciája szempontjából.
Tartalmát kivonatos formában most az olvasó elé tárom.
A bevezetőben általános információkat olvashatunk a LED-ekről, azok
élettartamának illetve fénymegtartó képességének méréséről, mivel ezek nagyrészt
megegyeznek az előző részben már tárgyaltakkal, így nem ismétlem őket meg.
Kiegészítésként megjegyzi, hogy a folytonosan bekövetkező fényerősségcsökkenés
mellett a LED-ek által kibocsátott fény spektrumában (színképe) is fokozatos
változásokat tapasztalhatunk, így a folyamat az idő előrehaladtával akár
elfogadhatatlan megvilágításhoz és színvisszaadáshoz is vezethet. Ezen változások
pedig közvetve hatást gyakorolnak a LED élettartamára, hiszen a színképi
teljesítményeloszlás változása befolyásolhatja a dióda fényerősségét is. A színkép
változásának vizsgálata ugyan a stabilitás fontos kérdése, de jelen dolgozatnak nem
fő célkitűzése, ezért ennél mélyebben ezt a kérdést most nem vizsgálom.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
15
A dokumentum nem szándékozik iránymutatást vagy ajánlást nyújtani a
kibocsátott fényáram megtartás jövőbeli alakulása tekintetében a becslés
módszeréből fakadó limitáción túl. Ugyanis a jövőbeli értékek becslését
extrapolálással végezzük az eddigi, jelen pillanatig rendelkezésre álló mérések
értékei alapján, és ennek a módszernek megvannak a maga korlátai.
A terminológiai definíciókat ismertető rész először a méréseink során
használatos mértékegységeket veszi sorra.
villamos mértékegységeink: volt (feszültség), amper (áramerősség), watt
(teljesítmény);
A hőmérséklet mérésére Celsius skálát használunk;
Fotometriai egységünk a lumen (fényáram).
- LED fényforrások: Azok a LED csomagok, füzérek, modulok, melyeket külső
áramgenerátorral táplálunk.
- Fényáram megtartás pillanatnyi értéke: Az új világítótest által kibocsátott fényáram
értékéből, ha kivonjuk az adott pillanatig tartó üzemeltetés során bekövetkező
degradáció nagyságát, akkor megkaphatjuk a megmaradó kibocsátott fényáram
értékét (tipikusan a maximálisan kibocsátott érték százalékaként szokás kifejezni).
Megadják még az égetéssel telt időt órák számában kifejezve, mely során a
világítótest fényáram megtartása egy adott százaléknyi degradációt szenved el. Ekkor
ebbe az óraértékbe nem számít bele azon órák száma, melyeket a világítótest
kikapcsolt állapotban töltött.
- LED fényforrás meghibásodása: Amennyiben az adott világítódióda meghibásodás
következtében fénykibocsátásra képtelenné válik. Korai hibák esetén - mint amilyen
gyártási defektus következtében lép fel – ezek jelentésre kerülnek, de érdemben nem
vesszük őket figyelembe a LED fényforrás élettartamának kalkulációja során.
Azt az (első bekapcsolástól) eltelt üzemeltetési időt, mely során a LED az eredeti
fényáram kibocsátásának megadott százalékát elveszti, és egy bizonyos küszöbszint
alá csökken, a következőképpen jelöljük:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
16
- L70 (óra érték): Azon eltelt időn mennyisége, amely után a világítódióda eredeti
fényáramának 70%-ának kibocsátására képes;
- L50 (óra érték): Azon eltelt időn mennyisége, amely után a világítódióda eredeti
fényáramának 50%-ának kibocsátására képes.
- Tokozás-hőmérséklet (Ts): A gyártó által kijelölt, hőmérsékletmérésre kialakított
csatlakozópont, amelyen a LED világítótest hőmérsékletét mérhetjük.
A következő részben a fizikai és a környezettel kapcsolatos megfontolásokat
olvashatunk. Javasolt laboratóriumi iránymutatás, hogy a LED-eket aránylag tiszta
környezetben mérjük és tároljuk a kísérlet során. Mielőtt megkezdenénk a
beüzemelést, a LED modulokat meg kell tisztítani a kezelésük során esetlegesen
rájuk rakódott ujjlenyomatokról és szennyeződésektől. Ezen kívül, feltétlenül
követnünk kell a gyártó által mellékelt kezelési instrukciókat, a LED-ek
károsodásának elkerülése végett (pl. elektrosztatikus kisülés stb.)
Az egyes LED egységek eredményeit külön-külön érdemes figyelemmel kísérnünk a
vizsgálat során. Az egyes világítótesteket érdemes az azonosítás (és későbbi
hivatkozás) megkönnyítése érdekében megjelölni. Másik lehetőség, hogy a
mozgatásuk, szállításuk során felcédulázzuk őket. A legegyszerűbb lehetőség mégis
az, ha az élettartam tesztelésre szolgáló gép belső terében úgy alakítjuk ki a modulok
helyét, hogy azokra elfoglalt pozíciójuk alapján tudjunk hivatkozni. Mindenesetre az
azonosítási módszer kapcsán – amit kiválasztunk –, gondoskodnunk kell a magas hő-
és fénykibocsátással szembeni ellenállóságról. Ennek megfelelő olyan jelölési
módszer vagy anyagok használata indokolt, mint pl. tartósan ellenálló vonalkódok,
kerámiatinta jelölések, magas hőmérsékletnek ellenálló filctollak, vagy bármilyen
más olyan módszer, mely a tesztelési folyamat során szükséges esetben időszakosan
megújítható.
Kiemelten fontos kérdés a LED modulok tesztpéldányainak kiválasztása is.
Ez azért lényeges, mert a tesztelés eredménye a mintapéldányok válogatásának
módszerétől, a minta nagyságától, a tesztelés során fellépő körülményektől és egyéb
befolyásoló tényezőktől függ. A tesztpéldányokat úgy kell megválogatnunk, hogy
azok megfelelő mértékben reprezentálni tudják a tesztelés során használt
diódatípusok összességét. Ezáltal a levont következtetések általánosíthatóak
Modern világító diódák (LED-ek) összehasonlító vizsgálata
17
legyenek az összes ilyen típusú LED-re. Az esetek többségében a mintaválasztási
módszer pontos részleteit megfelelő szabvány írja le. A választott válogatási
módszert és a minta nagyságát tartalmaznia kell a kísérleti jelentésünknek.
A kísérlet környezeti feltételeire is tartalmaz előírásokat az LM-80-as
szabvány. Ezek egyike, hogy az élettartam tesztben résztvevő világítótestek ne
legyenek erős vibrációnak kitéve; noha, ez a feltétel LED fényforrások tesztelése
esetében kevésbé minősül kritikusnak. Ennél sokkal inkább fontosabb tényezők a
hőmérséklet és a levegő páratartalma. A mérések közti öregítő égetésre szolgáló
hőmérsékletet, mely a doboz belső terében a tartópogácsáknál uralkodik, úgy kell
megválasztanunk, hogy az megfelelően reprezentálja a vásárlók felhasználási
körülményeit, miközben az ajánlott előírt értékek között marad. Ez normális esetben
három előre meghatározott hőmérsékletértékből kerül ki (55°C, 85°C és egy
harmadik, a gyártó által meghatározott hőmérséklet). A meghajtóáram nagysága is
kövesse a gyártó által megszabottakat. Az élettartam tesztelés alatt a
hőmérsékletingadozás nem haladhatja meg a 2°C-os eltérést, míg a környező levegő
hőmérséklete az 5°C fokos ingadozást. A relatív páratartalom nem haladhatja meg a
65%-ot.
A légáramlatokat minimalizálni kell a megfelelő stabil körülmények között
történő világítóegységek üzemeltetéséhez, mivel az ingadozó légáramlat eltérő
hőeloszlási karakterisztikát hoz létre, mely befolyásolná az egyenletes
diódaöregedést. Ahhoz hogy elkerülhető legyen az egyenetlen hőeloszlás (és
bizonyos területeken történő hő-felhalmozódása), minimális mennyiségű légmozgás
biztosítása szükséges, de arról gondoskodnunk kell, hogy a lámpatest közvetlen
környezetében ne keltsünk légáramlást.
A felszerelt lámpatestek orientációjának meg kell felelnie a gyártó által
megadottaknak. Általánosságban elmondható, hogy ez LED-ek esetében nem
befolyásolja működésüket – lévén szilárd test fényforrások -, azonban az
elhelyezkedés közvetve hatással lehet a hőeloszlásra, hiszen arra az esetleges
hűtőbordák és az eszköz hőmérséklet menedzsmentje kihatással van.
Ezután, következik egy részletekbe menő villamos és hőmérsékleti
paraméterekre vonatkozó ismertető rész, azonban ezt terjedelmi okokból nem
részletezem. További információk erről az LM-80-as eredeti dokumentum
Modern világító diódák (LED-ek) összehasonlító vizsgálata
18
idevonatkozó részében olvashatóak, amely a függelékben megtalálható. Ezek közül
egy említendő ajánlás, hogy LED világítómodulok esetén olyan külső meghajtó-
generátorokat kell használnunk, melyek megfelelnek a gyártók iránymutatásainak.
A tesztelés és mérés helyes kivitelezésének ismertetése következik.
Az élettartam tesztelés során a LED-ek égetésével eltelt üzemeltetési idő precíz
nyilvántartása kritikus jelentőséggel bír. Fontos, hogy az időmérő eszköz, mellyel ezt
mérjük, csak azokat az időintervallumokat számolja, amikor a modulok ténylegesen
áram alatt vannak, így az esetleges áramkimaradásokból fakadó égetéskiesés
időtartamát ne vegye figyelembe. Az időmérő eszköz bizonytalansága nem
haladhatja meg a ±0,5%-ot.
A fotometrikus mérés kivitelezésének meg kell felelnie a LED egységek
mérésére alkalmas kidolgozott laboratóriumi tesztmódszernek. A fényáram mérését
az adott LED-eken olyan meghajtóárammal való táplálás mellett kell elvégezni,
amelyet az élettartam tesztelés során használunk.
Mivel a LED élettartama során tapasztalt színstabilitás a legtöbb világítási
alkalmazásban fontos paraméter, ezért azok színképi tulajdonságait is meg kell
határoznunk. Határozottan javasolt, hogy a fotometriai és színingermetrikai értékeket
spektroradiométerrel mért színképi teljesítményeloszlási adatokból határozzuk meg.
A környezeti hőmérsékletet a fényerősség és színképméréshez 25°C fokos
értékre kell állítanunk ±2°C fokos hibahatárral. A környező hőmérséklet alakulását
egyébként az egész mérőprocesszus időtartama alatt mindvégig naplóznunk kell,
majd a mérési jegyzőkönyvben mellékelnünk kell. A LED fényforrások esetében
szükséges, hogy tesztelésük megkezdése előtt, azok szobahőmérsékletűre hűljenek.
A már korábban meghatározott, öregítésre szolgáló hőmérsékleten
legkevesebb 6000 óráig kell égetni a világítótesteket, ezalatt pedig minimum 1000
óránként mérési adatokat gyűjteni. Javasolt 10000 óráig folytatni az öregítést, annak
céljából, hogy még tökéletesebb élettartambecslést lehetővé tévő modellt állítsunk fel
a mérési eredményekből.
Ellentétben a többi, eltérő típusú fényforrástól, melyek élettartamára és
teljesítményére a be/kikapcsolási ciklusok száma hátrányos befolyással van, LED-ek
élettartamára akár a nagyobb sebességű – villogásszerű – működés is csak
Modern világító diódák (LED-ek) összehasonlító vizsgálata
19
elhanyagolható hatást gyakorol. Azonban a meghajtóáram erősségét konstans értéken
kell tartani, csak így kerülhetőek el az annak ingadozásából fakadó, eredménytorzító
kihatások. A tápellátás megvalósítási módja is dokumentálandó.
A kísérlet során az egyes LED egységek meghibásodásáról vizuális úton
(szemrevételezéssel), vagy automatikus monitorozó rendszer segítségével értesülünk,
melyet legalább minden mintavételezés idején ellenőriznünk kell. Minden
hibajelenség hátterét alaposan ki kell vizsgálnunk, hogy biztonsággal
megállapíthassuk, az csak az adott LED világítóegység hibájából fakadt-e, vagy
esetleg tápegység, áramgenerátor, illetve az elektromos csatlakozók helytelen
működéséből. A katasztrofális LED modul hibákról szóló információkat mellékelni
kell a kísérleti jelentésben.
A színképeltolódás (spektrumeltolódás) mértékének megállapítása céljából
javasolt, hogy a színképet a fényerősség vizsgálatakor, egyazon fotometrikus
tesztelés során végezzük.
A szabvány végén egy összefoglaló listát találunk, melyben számba veszik
azokat a paramétereket, melyeket a jelentésnek feltétlenül tartalmaznia kell. A
beszámolóban szerepelnie kell minden olyan lényeges adatnak, amely a teszt
körülményeire, a felhasznált berendezések típusára, és a kísérletben részt vevő LED
modulok pontos típusára vonatkozik.
A következő tételekből álló listát mellékelnünk kell a dokumentációban:
A tesztben résztvevő LED világítóegységek száma;
Az egyes modulok pontos leírása (típus/modell/gyártó);
Leírás a felhasznált segédberendezések típusáról, paramétereiről;
Üzemelési ciklusok (ki/bekapcsolás, ezek időpontjai, hossza);
Környezeti hőmérsékletre, légmozgásra és relatív páratartalomra vonatkozó
adatok;
Tokozás-hőmérséklet: Az a hőmérsékletérték, amit a modulon a gyártó által
megadott termoelem-mérőponton regisztrálunk;
Az egyes világítóegységek meghajtóárama, ezzel az áramerősséggel táplálva
„öregítettük” az élettartam tesztelés során;
Modern világító diódák (LED-ek) összehasonlító vizsgálata
20
A világítódióda kezdeti fényáramkibocsátásának értéke, nyitófeszültségének
nagysága, melyet a fotometrikus mérések során mérünk;
Az egyes LED-modulok fénymegtartó képességének adatai, azok
középértékével, standard szórásával, minimum és maximum fénymegtartási
értékével, minden egyes LED-re lebontva.
Megállapítások az esetlegesen bekövetkező LED fényforrás hibák
tapasztalatáról; feljegyzés azok körülményeiről, és a bekövetkezésük
időpontjáról.
A modulok monitorozási intervalluma;
A fotometrikus mérések bizonytalanságának számértéke;
A fellépett színképeltolódás adatai, melyeket a vizsgálatok során mértünk.
Mindegyik teszt során készült jelentésnek tartalmaznia kell legalább ezeket a
listapontokat. A tesztelés eredményeinek bemutatásához javasolt azokat táblázatos
formába rendezni.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
21
3. Kísérletünk a gyakorlat tükrében
Most, hogy áttekintő jelleggel megismerkedtünk a kísérlet elméleti hátterével, itt az
ideje, hogy az olvasó elé tárjam a saját szemszögből szerzett gyakorlati
tapasztalataimat, élményeimet. Számomra a munka az öregítést végző gép LED
moduljainak beszerelési fázisában kezdődött, ekkor kapcsolódtam be a tanszék
projektjébe, mint hallgató, a Mérnöki Tervezés című tantárgy keretében.
Első feladatom volt, hogy segítsek a LED modulok azok tartópogácsáihoz
illesztése során esedékes vezetékezésében. Miután rögzítettük a LED-eket a
megfelelő tartóelemekhez, úgy kellett megoldanunk a vezetékek forrasztással történő
csatlakoztatását, hogy a kialakuló vezetéksereg ne zavarja meg majd a mérések során
a fotometriai mérősapka felhelyezését. Ez nem volt könnyen kivitelezhető, mivel a
vezetékek viszonylag nagy felületét blankolni kellett, és a közel elhelyezkedő
világítóegységekhez tartozó vezetékek könnyedén rövidre zárhatták egymást. Ezen
gondos rendezéssel próbáltunk segíteni, de még így is néha előfordult a mérés során
egy-egy modul „pislákolása” a mérősapka felhelyezésekor. Kép, mely az öregítő gép
felépítését szemlélteti:
2. ábra: Az „öregítő gép” belseje
Modern világító diódák (LED-ek) összehasonlító vizsgálata
22
Az azonos típusú LED modulokat sorba kapcsoltuk, így a gépen belül összefüggő
oszlopokat kialakítva belőlük. A gép doboza összesen 10 ilyen oszlopot rejt, és egy
oszlopon belül 6 db világítódióda került felszerelésre, mint az ábrán is látható.
A legfontosabb adatokat a következő táblázatban foglaltam össze.
1. táblázat: A gépben található LED modulok főbb adatai
Oszlop Modell Típus Gyártó Áram (mA)
1. XREWHT-L1-4D-Q3 Cree XLamp XR-E CREE 350
2. XREWHT-L1-WG-Q5 Cree XLamp XR-E CREE 350
3. XPEWHT-L1-WM0-Q5 Cree XLamp XP-E CREE 350
4. LUWV5AM - HULUX Golden DRAGON Plus Osram 350
5. LXML-PWC1-0090 Luxeon Rebel Lumileds 350
6. 6000K-1W/HK-LED HK-LED 350
7. 3000K-1W/HK-LED HK-LED 350
8. 3000K-3W/HK-LED HK-LED 700
9. XPEWHT-L1-WM0-Q5 Cree XLamp XP-E CREE 700
10. LXML-PWC1-0090 Luxeon Rebel Lumileds 700
11. MC-E CREE 350
12. MC-E CREE 350
13. MC-E CREE 350
14. MC-E CREE 350
15. MC-E CREE 350
16. MC-E CREE 350
Az egyes oszlopok árammal való táplálása két külön tápegység segítségével történik.
Amint azt megfigyelhetjük, az első 7 oszlopot 350 mA-rel, amíg a 8-astól a 10-es
oszlopig 700 mA-rel hajtjuk meg. Az oszlopok eltérő áramértékkel való táplálását 10
db külön meghajtó áramkör biztosítja – melyeket számítógépről vezérelhetünk, -
mindegyik csatornán akár egyedi áramértéket választva. A táblázat utolsó 6 sora
azért van halványabban feltüntetve, mert azok csak logikailag jelentenek külön
oszlopot. Fizikailag csak 2-2 világító dióda alkotja őket, amelyek 1000 óra égetés
után kerültek behelyezésre a 6-7-8-as oszlop megadott pozícióiba, lecserélve ezzel az
Modern világító diódák (LED-ek) összehasonlító vizsgálata
23
addig ott helyet foglaló LED-eket. A 10 oszlop mellé bevezetésre került továbbá egy
11. ún. referencia sor is. Ebben minden egyes világítódióda eltérő típusú, az egész
kísérlet alatt szobahőmérsékleten marad, és csak a mérések idejére kapcsoljuk be.
Logikailag külön oszlopként való kezelésük azonban indokolt a szoftveres
adatfeldolgozást elősegítendően. Ennek részletesebb okát a beolvasó szoftver
működését leíró fejezetben ismerhetjük meg.
A 3. ábrán két-két képet láthatunk a felhasznált meghajtó áramkörökről és az
öregítésben nem részt vevő referenciasorról:
3. ábra: a meghajtó áramkörök és a referencia sor
Miután elkészültünk az oszlopok kialakításával, üzemkész állapotba hozásával,
következett az öregítő égetéséhez és a mérések végrehajtásához szükséges
hőmérsékletet biztosító rendszer használatba helyezése. Ez a berendezés egy Julabo
termosztátból és egy hőközvetítő folyadékot (etilén-glikol) cirkuláltató
csőrendszerből áll, melyek az öregítő gép belsejében, a LED tartópogácsáit
tartalmazó alaplapot járják át, így azt a beállított hőmérsékletértéken tartva. A
tartópogácsák és LED modulok között speciális - az egyenletes hőátadás
megvalósulását segítő -, hővezető pasztát helyeztünk el.
A gép csukott állapotában az öregítésre szolgáló égetés 85°C fokos
hőmérsékleten történik, a fotometriai mérések elvégzéséhez pedig 25°C fokot
állítunk be, és megvárjuk, amíg erre az értékre visszahűlnek a világítómodulok. A
méréseket értelemszerűen nyitott fedélhelyzetben végezzük. A megfelelő
hőmérsékletűre beállított cirkuláló folyadék a csöveken keresztül jut el az alaplap
Modern világító diódák (LED-ek) összehasonlító vizsgálata
24
azon részeihez, ahol a fő hőátadás történik. Ventilátorok hivatottak arról
gondoskodni, hogy egyenletes hőeloszlású viszonyok uralkodjanak a belső térben.
Mind az áramgenerátor vezérlő-áramköreivel, mind ezekkel a ventilátorokkal
HyperTerminal segítségével soros porton keresztül AT parancsokkal
kommunikálhatunk. A 4. ábrán láthatjuk a termosztátot, illetve a csöveket.
4. ábra: Julabo termosztát és a hővezető folyadékot cirkuláltató csőrendszer
Mielőtt az öregítés élesben elkezdődött volna, számtalan tesztmérést végeztünk el,
hogy az esetleges fennakadások a hivatalos eredményeinket már ne befolyásolják.
Másrészt, ki kellett dolgoznunk egy megbízható mérési protokollt. Ez azt jelenti,
hogy a fényerősség és színképmérést mindig egy olyan előre rögzített lépésekből
álló, jól bevált metódus szerint hajtsuk végre, amely meghatározott eredményt
produkál, determinált adatstruktúrát tartalmazó elektronikus jegyzőkönyv fájlok
formájában. Ennek kulcsfontosságú jelentősége lesz, mivel a beolvasó modul ezt a
strukturált adattartalmat várja el, azok helyes értelmezése és feldolgozása érdekében.
A következő részben ezt az általunk kifejlesztett és használt mérési protokollt fogom
ismertetni.
A fényáram és a színkép mérésének időpontjai az LM-80-as szabvány
irányelveinek megfelelően kerültek megválasztásra. Ekkor kiadva a megfelelő
parancsokat az öregítő égetést megszakítjuk, a LED modulokat lekapcsoljuk, és a
Modern világító diódák (LED-ek) összehasonlító vizsgálata
25
85°C fokról a vizsgálat elvégzéséhez előírt 25°C fokra hűtjük, majd elkezdődhet a
LED modulok vizsgálata.
A mérést minden esetben külső labor tápegység segítségével végezzük, és
egyszerre csak egy oszlopot vizsgálunk. Ezt az előírt meghajtóárammal tápláljuk,
majd a generátor feszültségét addig növeljük, amíg az el nem éri a megfelelő
feszültséget, amely már nagyobb, mint az éppen mérés alatt álló LED-ek együttes
nyitófeszültsége. Ez alatt a világítódióda egyáltalán nem, vagy nagyon halványan
világít. Az áram és a feszültség beállításakor minden esetben körültekintően kell
eljárni, mert az extrém nagy feszültség, vagy a rosszul megválasztott áramerősség
jelentősen megrövidítheti a LED-ek élettartamát, illetve akár azonnali tönkremenetelt
is eredményezhetnek.
Miután az adott oszlop üzemel, 5 percet várakozunk, mert tapasztalataink
szerint ennyi ideig tart, amíg stabilizálódnak az egyes LED modulokon mérhető
nyitófeszültség és fényáram értékek, mely egyébként a modulok működése miatt
bekövetkező hőmérsékletemelkedésből fakad. Emlékezzünk, a szabvány 0,5%-os
határon belüli bizonytalanságot tolerál feszültségméréskor, így ennek
bekövetkezéséig várunk (termikus kiegyenlítődés).
Azért, hogy elkerüljük a teszt során a felesleges 5 perces „üresjáratokat”
minden egyes oszlop mérése előtt a következőket tesszük. Mivel tudjuk, hogy egy
oszlop LED-sorának lemérése kb. 5 percig tart, így annak megkezdésekor egy másik
oszlopot is bekapcsolunk, természetesen – egy második áramgenerátort felhasználva
– a neki előírt meghajtóárammal táplálva. Tehát amíg mérjük az első oszlopot, addig
„bemelegítjük” pl. a 6. oszlopot, így mikor az elsővel végeztünk, azonnal kezdhetjük
is mérni a hatodikat. Ezzel jelentős időt spórolunk, hiszen 10 oszlop esetén ez 50
percet jelentene tétlenséggel töltve, ezzel pont a kétszeresére növelve a
mérésprocedúra időigényét.
A mérések két speciális mérősapkával történnek. Egyik a fényáram, másik a
színkép mérésére szolgál. A mérősapka felépítése biztosítja, hogy pontosan
illeszkedjék a LED modulok tartópogácsáira, ezáltal a külvilágból származó zavaró
fényhatásokat kizárja. Az eszközben található detektor(okat), csak az adott LED által
kibocsátott fény érheti el, mely fotoáramot indukál a detektorban. Ennek értékét
regisztráljuk a mérések során.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
26
A következő képeken láthatjuk a fényerősség vizsgálat során alkalmazott
mérősapkát (5.1. ábra), (a fényerősségmérő) számítógépes vezérlőprogramját (5.2.
ábra), illetve az egyik külső áramgenerátort (5.3. ábra), mellyel a vizsgálat során az
adott oszlopot meghatjuk.
5.1. ábra
5.2. ábra 5.3. ábra
A műszer az értéket az USB kapcsolaton (pontosabban egy emulált soros porton
keresztül) továbbítja a kezelőprogramjának, amely azt később az elektronikus
jegyzőkönyvfájlba menti. A LED modulokat az adott oszlopban, sorban egymás után
mérjük le, oszloponként ezt 5-ször megismételve. Így az egy oszlopba tartozó
értékek a jegyzőkönyvfájlban is összefüggően kerülnek elmentésre. A LED modulok
többszöri lemérésének az a célja, hogy később ezen értékek átlagát és szórását
képesek legyünk meghatározni. Segítségükkel az esetleges mérési hibákból fakadó
torzulások csökkenthetőek. Minden egyes oszlop fényerősség vizsgálata előtt
Modern világító diódák (LED-ek) összehasonlító vizsgálata
27
nyitófeszültség mérést végzünk, majd a vizsgálat után ezt megismételjük. A kapott
értékeket az aktuális méréskor követett oszlopsorrend feltüntetése mellett egy (papír)
jegyzőkönyvlapon vezetjük. Az adott oszlop tényleges fényáram mérésének
megkezdését megelőzően, először egy ún. sötétáram értéket mérünk. Ez egy olyan
fotoáram érték, melyet mindig – a speciálisan erre a célra kijelölt – kikapcsolt
állapotban lévő LED-re felhelyezett fényerősség mérő alatt uralkodó „sötétség” idéz
elő. Ezt az értéket hibakorrekciós célokra használják, de az én beolvasó modulom
számára fontos „elválasztójelként” is funkcionál, az egyes oszlopokhoz tartozó
fényáram értékek között. Így a fájl tartalma (az egyes oszlopokhoz tartozó
világítódiódáknak megfelelő) 6*5 fotoáramérték sor melyet mindig két sötétáram
értéket tartalmazó sor fog közre. Ez a struktúra a vizsgálat során mért oszlopok
számának megfelelően ismétlődik. Miután lemértük az összes oszlopot
(emlékezzünk! 10 fizikailag létező oszlopunk van + 5 logikai + referencia sor) a
kezelőprogramban mentjük a jegyzőkönyvet. A 6.1. és 6.2. ábrán példát láthatunk a
papíralapú jegyzőkönyvlap és az elektronikus formátumú jegyzőkönyvfájl tartalmára
(16 oszlop került beolvasásra):
6.1. ábra: elektronikus jegyzőkönyvfájl 6.2. ábra: papír alapú jegyzőkönyvlap
Mivel a kísérlet jelenleg is folyamatban van, ezért a jövőben további jegyzőkönyvek
fognak készülni. Ezeket az adatokat (és még néhány további fájlt) fogjuk
Modern világító diódák (LED-ek) összehasonlító vizsgálata
28
felhasználni a kiértékelést és kimutatást végző program bemeneteként. Az eddigi
mérések adatairól vezetünk egy további kimutatást is, mely online hozzáférhető és
szerkeszthető, Google SpreadSheet[5] dokumentum formájában. Ebben többek
között megtaláljuk a mérések pontos időpontjait, különböző oszlopokhoz és LED
modulokhoz tartozó nyitófeszültség értékeket, az égetett órák számának alakulását, a
leállítások/újraindítások körülményeit, illetve számos további információt a
kísérlettel kapcsolatban. Erről a dokumentumról egy - jelenlegi állapotát tükröző -
pillanatképet helyeztem el a mellékletekben.
Működés közben - illusztráció
Modern világító diódák (LED-ek) összehasonlító vizsgálata
29
4. Esettanulmány: A rendszer koncepciójától az
implementálásig
A fejezetben a program fejlesztésének fázisait úgy próbálom ismertetni, ahogy azok
a folyamat során lépésenként felmerültek. Ha áttekintjük a feladatkiírásban szereplő
elvárásokat, két olyan fő feladatkört emelhetünk ki, melyekre az elkészült
szoftvernek megoldást kell nyújtania.
Mérések során elektronikus jegyzőkönyv formájában keletkezett adatok
beolvasása és feldolgozása automatikus módon;
Jelentés készítése felhasználó által kiválasztott adatokból - a megadott
szempontok alapján - táblázat és grafikon formájában.
Mivel ez a két rész elég jól elkülöníthető egymástól, ezért tervezéskor úgy
döntöttem, moduláris felépítésű programot fejlesztek megoldásukra. Ezen
megfontolásból, két fő modul íródott; egy, grafikonkészítésre és jelentésgenerálásra
és egy, beolvasási és feldolgozási műveletek végrehajtására. Illetve ezek mellett
írtam még pár kisebb segédkomponenst is, melyek a fénymérés-jegyzőkönyveken
kívüli, egyéb adatfájlok (hőmérséklet, dióda nyitófeszültségek) automatikus
beolvasását támogatják.
A komplex egész elemibb részekre bontásának több indokát is láttam. Egyrészt,
ha az összes szolgáltatást egyben kínáló monolitikus szoftvert hozok létre, annak
kezelőfelülete óhatatlanul túlbonyolódik. Az átláthatóság csökkenése miatt, a
felhasználók számára kezelése jóval kényelmetlenebbé, akár nehézkessé is válhat.
Illetve, amennyiben laborunkban olyan speciális igény merül fel, hogy szimultán
szeretnénk az egyik munkaállomáson adatbevitelt végezni, miközben egy másik
gépen kollégánk különféle adatokból már a grafikonokat szeretné tanulmányozni,
akkor ez a koncepció erre lehetőséget ad.
De nem csak felhasználói szempontból közelítettem meg a kérdést. Az objektum-
orientált paradigma pont arra ösztönzi a programozókat, hogy lehetőleg
komponensekre (objektumokra) bontsák a feladatot, így a már elkészült osztályok
segítségével lehetőségük nyíljon a kód újrafelhasználhatóságában rejlő előnyök
kiaknázására. Ennek szellemében, a beolvasó modulom igen kevés módosítással
Modern világító diódák (LED-ek) összehasonlító vizsgálata
30
képes lenne másfajta mérésekből származó, de hasonló felépítésű jegyzőkönyvek
beolvasására, és feldolgozására is (ugyanez igaz a beolvasó segédmodulokra).
Az adatbázis szerkezete – szintén követve az eddigi koncepciót – autonóm táblák
halmaza. Így könnyedén – egy adatbázis-adminisztrációs program segítségével –, pár
új tábla és oszlop létrehozásával/módosításával tetszőleges hasonló feladathoz
hangolhatjuk az adatbázist és a beolvasó modult.
Hasonlóképp a grafikon ábrázolására és a táblázatok létrehozására szolgáló
modul írásakor is szem előtt tartottam, hogy amennyiben a későbbiekben felmerül a
továbbfejlesztés igénye, vagy akár másfajta mérések értékeinek vizuális
ábrázolásának kívánsága, akkor kicsiny módosításokat végezve az osztályon,
bevethető legyen ilyenfajta célokra is.
Így összességében elmondható, hogy a program hasznos segítség lehet majd
általánosabb (de hasonló lépésekből álló) problémák megoldására, amennyiben a
megfelelő kódrészleteket a kívánalmakhoz igazítjuk.
Az objektumorientált filozófia nyújtotta előnyök gyakorlatban történő
kamatoztatása céljából a Java[6] nyelvet választottam munkaeszközömként.
Természetesen C++, illetve C# nyelven is megvalósítható lett volna a feladat, de
saját programozási ismereteimet, illetve a grafikus felület Java nyelven történő
viszonylag egyszerű kivitelezhetőségét mérlegelve, végül ez tűnt számomra
kézenfekvőbbnek. A programnyelv kiválasztásának másik fontos aspektusa volt,
hogy lehetőleg egy olyan mellett törjek lándzsát, mely rendkívül széles körű (akár
harmadik fél által fejlesztett) függvénykönyvtár repertoárral rendelkezik, ezáltal a
gyakorlatban már bevált, jól működő komponensek felhasználásával gyorsíthassam a
munkát, és a „kerék újbóli feltalálása” helyett inkább a kiírásban megfogalmazott
érdemi problémák algoritmizálásra összpontosíthassak. Nem lehet szó nélkül hagyni
azt a tényt sem, hogy programom oroszlánrészét – jellegéből fakadóan - az
adatbevitel, konvertálás és adatkivitel (adatbázisba importálás) részek teszik ki. Így
mindenképpen egy olyan programozási nyelven szerettem volna létrehozni, mely
lehetőleg külső függvénykönyvtár hozzáadása nélkül ezekre a műveletekre rugalmas
lehetőséget képes biztosítani. Ezen kívánalmakat pedig a Java tökéletesen kielégíti.
Primitív, illetve objektum változótípusai között kényelmesen konvertálhatunk
szimplán néhány megfelelő tagfüggvény meghívásával, a fájlok beolvasása/írása
Modern világító diódák (LED-ek) összehasonlító vizsgálata
31
adatfolyamok (streamek) segítségével egyszerűen megvalósítható, az adatbázis
kapcsolat létrehozása és a kétirányú adatáramlás pedig a MySQL Connector/J
komponens[7] felhasználásával könnyűszerrel kivitelezhető.
Bár mostani esetünkben a platformok közötti hordozhatóság nem volt kritikus
szempont, de a kész szoftver a nyelv tulajdonságának köszönhetően teljes egészében
platformfüggetlen lett (Windows, GNU/Linux, MacOS X, *BSD, Solaris és egyéb
Unix-szerű operációs rendszerek alatt legalábbis biztosan működőképes)
A nyelv kiválasztása után felmértem, hogy a feladat milyen jellegzetes
részfeladatokra bontható le, amelyek megoldására már „kész” eszközök állnak
rendelkezésre. Kezdjük magával a szoftveres infrastruktúra elemeivel: kellett egy
szabványos adatbázis-platform, melyet kényelmesen és gyorsan képes vagyok
adminisztrálni. Az utóbbi feltétel egyébként elengedhetetlennek bizonyult a
tényleges fejlesztés során. Egyrészt, mivel egy interaktív adminisztrációs felület
segítségével lehetett gördülékenyen (és fájdalommentesen) létrehozni az adatbázis
szerkezetét, másrészt a tesztelés folyamán rengeteg félregépelésből illetve egyéb
okból fakadó hibára derült fény, szimplán az adminisztrációs felületen az események
végigkövetésével. A tradicionális konzolos SQL parancsokkal való operálás a
hibalehetőségek számát megnövelte volna, és lassított is volna a fejlesztés során.
A választott programok: MySQL[8] adatbázis szerver, phpMyAdmin[9] +
Apache HTTP szerver[10] a webes felületen történő adminisztráláshoz.
Windowsos környezetben ezeket legkényelmesebben egy XAMPP[11] nevű
szervercsomag feltelepítésével érhetjük el. Én is ezt alkalmaztam.
A beolvasó modulhoz szükséges komponensek után a másik modult vettem
szemügyre, főképp, hogy milyen lehetőségeim vannak a grafikonrajzolás
témakörében. Elsőre, egy gondolat erejéig felmerült bennem, hogy a
java.awt.Graphics2D csomag segítségével saját magam fogok skálát, és értékeket
rajzolni, de ezt az ötletet hamar elvetettem. Belegondoltam, hogy milyen finom
beosztású skálán is kell majd dolgoznom, ahol néhány százezred (vagy akár
milliomod) pontosságú hiba sem tolerálható, mivel ilyen nagyságrendbe eső
változásokat is szeretnénk figyelemmel kísérni. Illetve a kezdetektől fogva igényként
szerepelt, hogy lehetőleg a grafikon legyen interaktív. Semmiképpen sem csak egy
statikus képet akartam előállítani, sokkal inkább egy olyan objektumot szándékoztam
Modern világító diódák (LED-ek) összehasonlító vizsgálata
32
a felhasználó elé tárni, amelynek tulajdonságait futási időben képes változtatni.
Ezáltal lehetőséget teremtve pl. a koordinátarendszer adott régiójának kinagyítása
funkcióra, a tengelyskálák finomságának kézi felülbírálására, egérrel kijelölt
értéktartomány kirészletezésére, az aktuális állapot nyomtatóra küldésére vagy
képfájlba mentésére. Mindezeket szem előtt tartva tudatosult bennem, hogy az AWT-
vel való rajzolás nem kifizetődő, mivel a részletek implementálása igencsak
nehézkes lenne, nem beszélve a határidő rövidségéről. Emiatt áttekintettem a
grafikonkezelő segédkönyvtárak meglepően széles választékát, hogy kiválaszthassak
egy olyat, amely felhasználása által lehetőségem van minden fenti kívánalom
kielégítésére. Természetesen jogi szempontokat is figyelembe kellett vennem, hiszen
hiába volt számos kereskedelmi – figyelemreméltóan gazdag szolgáltatáskörrel bíró
– termék; jelentősebb pénzösszeget elkölteni, illetve törvényt sérteni nem állt
szándékomban. Emiatt valami Open-Source (nyílt forráskódú, és általában szabad
felhasználású) függvénykönyvtár tűnt jobb választásnak. Még így is rengeteg
lehetőség maradt, azonban néhány órányi olvasgatás után végül a JFreeChart[12]
mellett döntöttem. Mindenre képes, amire szükségünk van, emellett az LGPL (Lesser
General Public License) lehetővé teszi, hogy – bizonyos megkötésekkel - szabadon
felhasználható legyen a saját programok fejlesztése során.
A modul másik fő funkciója egy egyszerű jelentés generálása. Ez tulajdonképpen
szöveget, táblázatos formába rendezett adatsorokat, és persze grafikont tartalmaz. A
lehetőségek áttekintése után, ennek formátumaként a PDF-et választottam, mivel ez a
különböző tanulmányok, laboratóriumi kimutatások közkedvelt elektronikus
formátuma. Hordozhatósága miatt méltán vívta ki a „dokumentumok ipari
szabványa” jelzőt. Java nyelven, ha PDF kimenetet szeretnénk előállítani, azt több
módon is megtehetjük; én ezek közül az iText[13] (PDF fájlok tartalmának
előállítására és manipulálására szolgáló) sokszínű lehetőséget biztosító
függvénykönyvtár mellett döntöttem.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
33
4.1. Beolvasó és feldolgozó modul koncepciója
Most, hogy már részletesebben megismertük a projekt során felmerülő
kérdéseket, átfogó képet kaphattunk a rendszeresen elvégzendő mérési feladatokról
is; láthattuk, hogy ezek minden alkalommal rengeteg adatot generálnak.
Méréseink során a különböző szenzorok által regisztrált adatokat a
mérőműszerek elektronikus formátumú jegyzőkönyvekben rögzítik. Ezek esetünkben
kivétel nélkül sima szöveget tartalmazó -„plain-text”- fájlok. Felépítésük szerencsére
meglehetősen egyszerű, így előnyös a későbbi feldolgozás szempontjából. Viszont
ezzel a „nyers” formátummal dolgozni meglehetősen kényelmetlen, hisz bármilyen
elemzést, vagy kimutatást szeretnénk készíteni, ahhoz először importálnunk kell
őket, egy adatsorokat már kezelni képes programban (pl. Microsoft Excel,
OpenOffice.org stb.), majd logikailag rendezni kell őket valamilyen formába, és csak
ezután tudunk érdemben foglalkozni magával az adattartalommal. További tipikus
feladat ilyenkor, hogy megfelelő feltételek, függvények segítségével csak azokat az
adatokat „válogassuk ki”, melyekre egy adott kimutatás esetén éppen kíváncsiak
vagyunk.
Konkrét példa: Az 1. sor 5. LED és a 7. sor 3. LED fényerősségének időbeli
alakulására az első 7000 órában. Ezek átlagértékének és szórásának kiszámítása.
Illetve a két LED egymással való összehasonlítása, relatív százalékos skálán történő
ábrázolás alkalmazásával.
Ebben az esetben az adatsorból ki kellene valamilyen módon válogatnunk a
megfelelő elemeket. Esetleg segédtáblázatokat is érdemes lenne létrehoznunk a már
meglévő adatokból, majd ezek értékeit felhasználva tudnánk grafikont konstruálni.
Ez nem minden esetben triviális feladat, ráadásul a fenti csak egy egyszerűbb példa.
Nem beszélve arról, hogy mivel a jelen pillanatban is zajló kísérleti folyamat
időszakosan bővülő adathalmazáról beszélünk, annak újabb és újabb értékeit is be
kell illeszteni a megfelelő helyekre; a szinkronban tartás nem csak kényelmetlen, de
időigényes munka.
Tehát viszonylag hamar tudatosult az adatbázis szükségessége, ahová képesek
vagyunk menteni az egyes mérések során gyűjtött új adatokat, olyan strukturált
formában, mely megkönnyíti a későbbi célzott lekérdezéseket. A mérési alkalmakkor
Modern világító diódák (LED-ek) összehasonlító vizsgálata
34
létrejött jegyzőkönyvek feldolgozását, majd adatbázisba exportálást pedig jó lenne
automatizálni, hogy lehetőleg minimális felhasználói interakciót igényeljenek. Ez
nem csak téves értékek bevitelétől, egyéb hibalehetőségektől kímélné meg a
méréseket végző személyt, de nem utolsó sorban rengeteg idejét is megspórolná.
Ezáltal lehetővé téve, hogy a legfrissebb mért adatokkal rugalmasan és gyorsan tudja
bővíteni az adatbázist, csupán egy kis gépeléssel, és néhány kattintással. Ennek
szellemében született meg a Feldolgozó és beolvasó modul terve, mely ezeket az
igényeket képes kielégíteni.
4.2. Elektronikus jegyzőkönyv felépítése
Mielőtt rátértem volna a modul fejlesztésére, gondosan elemezni kellett a
„bemenetet”, hisz ezen fogunk minden további műveletet végezni. Programom jelen
feladatkiírás keretében a fénymérés jegyzőkönyveinek feldolgozására lesz
felkészülve, így innentől érdemben ezzel foglalkoztam. A mellékletben elhelyeztem
az általam rendelkezésre álló összes jegyzőkönyvfájlt, a következő illusztráció
segítségével pedig demonstrálnám az egyes sorokban található adatokat:
7. ábra: elektronikus jegyzőkönyvfájl felépítése
Mint láthatjuk, ez a töredék egy fénymérés jegyzőkönyvfájl elejéből származik. Így
az első sor nem meglepő módon egy sötétáram érték. Az utána található sorok, pedig
az adott oszlopban helyet foglaló LED modulok fényáram értékei.
Az egyes sorok felépítése:
Mérés ID száma – tabulátorkarakter – mért fényáram számértéke –
tabulátorkarakter - Timestamp (mérés dátuma és időpontja)
A Mérés ID száma: Egy számláló értéke, melyet a mérőműszer minden egyes mérés
elvégzésekor léptet eggyel. Így ezt az értéket indexként használva kényelmesen
Modern világító diódák (LED-ek) összehasonlító vizsgálata
35
tudunk hivatkozni az egyes mérési műveletre a későbbiek folyamán. Bár programom
ezeket az értékeket beolvassa és el is tárolja az adatbázisban, nincs egyéb hatással
annak működésére. Megemlítendő, hogy a 6.2. ábrán szereplő jegyzőkönyvlapon a
táblázat „sorozatszámok” oszlopában feltüntettük ezek intervallumait az
egyértelműség kedvéért.
Fényáram számértéke: Leglényegesebb adatunk. Mind azt korábban már
tárgyaltuk, a világítódióda által kibocsátott fényáram, amely kísérletünk tárgyát
képezi; segítségével a dióda fényáram megtartó képességének és élettartamának
alakulását vizsgáljuk.
Timestamp: Ez egy időbélyeg, mely az aktuális mérés dátumát és pontos időpontját
tartalmazza. Felhasználhatjuk olyan esetekben, amikor pl. csak megadott
időintervallumban történt mérések értékeit akarjuk ábrázolni, tanulmányozni.
4.3. Az adatbázis felépítése
Mielőtt nekiláthattam volna a program írásának, még szükséges volt, hogy az
adatbázis logikai szerkezetét kialakítsam, hiszen a beolvasó modul minden
feldolgozott adatának ez fog „kimenetéül”, és tárolóhelyéül szolgálni. Mint már a
bevezetőben tárgyaltuk, kezdettől fogva egymástól független táblák létrehozásában
gondolkodtam. Az, hogy jelenleg a fényerősség mérésre koncentrálunk, nem jelenti
azt, hogy a programot megvalósító osztályt ne lehetne más mérések által előállított,
de hasonló szerkezetű jegyzőkönyvek feldolgozására használni a későbbiekben (pl.
színmérés). Mindössze bizonyos kódrészleteket kell csak módosítani, illetve új
adattáblákat létrehozni. Ennek tükrében talán már érthető a minimalista adatbázis-
szerkezetre való törekvésem. Jelenleg 12 tábla van, de a jövőben valószínűleg - a
funkciók gyarapítása mentén - számuk tovább fog bővülni:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
36
8. ábra: az adatbázis táblái
Mivel a 12 tábla szerkezetének mélyreható ismertetése nagyon nagy terjedelmű
lenne, ezért azt a megoldást választottam, hogy részletesen csak azokat a táblákat
ismertetem, amelyek kulcsfontosságúak az épp bemutatott modul működése során. A
kevésbé lényeges táblák szerkezetét áttekintő jelleggel említem csak, néhol
jelentősen leegyszerűsítve tartalmuk magyarázatát. (Természetesen a mellékletben
megtekinthető az összes tábla részletes felépítése, illetve a sample.sql fájl
tartalmazza a komplett adatbázist, valós mérésekből származó adatokkal feltöltve.)
A beolvasó modul a 12 táblából 10-et fog használni. A maradék két táblát
(temperature, temporarytemperature) az egyik – hőmérséklet adatok beolvasására
szolgáló – kisegítő modul fogja kezelni.
Kulcsfontosságú táblánk az ydata, mivel ez tárolja a méréseink során mért
összes fényáramértéket (mely a legfontosabb adat jelen kísérletünkben), másrészt a
többi ydata* előtaggal rendelkező tábla tartalma ebből lesz - a modul által
automatikusan - legenerálva, így ennek felépítésével érdemes megismerkednünk:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
37
9. ábra: az ydata tábla szerkezete és tartalma
Mint láthatjuk, szerkezete alkalmas a jegyzőkönyvfájl egy sorában található adatok
tárolására, annyi kiegészítéssel, hogy 4 további mezőt adtam hozzá a táblához.
Vegyük sorra ezeket. Az elapsedhours (integer típusú) mezőben fogjuk tárolni, hogy
az adott mérés során keletkező jegyzőkönyvben található értékek az öregítő égetés
hányadik órájában keletkeztek. A col (integer) és row (integer) mezők pedig azt
tárolják majd, hogy az adott LED modul fizikailag a gép melyik oszlopában és
sorában foglal helyet. A type (string) mező pedig egy rövid azonosító
karaktersorozatot tartalmaz, mely a LED modul pontos tulajdonságait határozza meg
(típus, gyártó, táplálására használt meghajtóáram). Ezt úgy valósítottam meg, hogy
létrehozásra került egy ledtype tábla, mely tartalmazza a szimbólumok és a pontos
leírások közötti megfeleltetést, így hash táblaként használhatjuk majd az ydata
táblában található LED modulok adatainak lekérdezésére. Mint azt látni fogjuk, a
többi ydata* tábla automatikusan ki fog egészülni az ydata-ból származtatott
értékekkel. Ezek a táblák egyébként relatív és statisztikai adatokat tartalmaznak majd
az egyes LED modulokról és oszlopokról, illetve egy (később kifejtett) módszerrel
ezekből konvertált relatív értékeket, melyek a relatív skálás ábrázoláshoz és a
százalékos értékeket tartalmazó táblázatok generálásához szükségesek. A
darkcurrent tábla fogja tartalmazni a beolvasás során talált sötétára mértékeket,
felépítése hasonló, mint az ydata esetében. Az elektronikus jegyzőkönyv adatbázisba
exportálásánál lehetőséget fogunk teremteni, hogy a lapon található (mérés
előtti/utáni) nyitófeszültségek is bevitelre kerüljenek. Ezeket a felhasználónak kell
begépelnie. Az értékek a diodeforwardvoltage táblában kerülnek elmentésre.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
38
10. ábra: a diodeforwardvoltage tábla szerkezete
Ennek felépítése: kezdő időbélyeg, záró időbélyeg (az adott oszlop mérésének
kezdetének és végének ideje), égetésből eltelt óra, kezdetkor, záráskor mért
nyitófeszültség értéke, és az oszlopazonosító. Az oszlophoz tartozó nyitófeszültségek
mellett automatikusan lemérésre kerülnek a LED modulok nyitófeszültségei is 3
különböző hőmésékleteken: 25°C, 55 °C, 85 °C hőmérsékleteken. Szerencsére,
ezeket nem kell kézzel bevinnünk, mivel automatikusan egy fájlba menti őket a
berendezés, adatbázisba exportálásukat pedig megvalósítja egy későbbiekben
elkészült beolvasó segédmodul. Ezzel együtt a felhasználói felületen lehetőséget kell
teremtenünk ezek kézi bevitelére is, mivel erre szükség lehet.
Ejtsünk néhány szót az ydata táblából származtatott többi adattábláról.
Ezekben mind statisztikai és relatív értékeket tárolunk. Emlékezzünk, hogy a
mérésekkor minden LED modult összesen 5-ször mértünk le. Ezzel az volt célunk,
hogy csökkentsük a mérési hibák hatásait, átlagértéket és szórást számíthassunk
belőlük. Ennek elvégzését egyébként a szabványban is előírják, hisz a vizsgálatok
célja pontosan olyan változások és trendek megfigyelése, ahol alapvető szerephez
jutnak az átlagértékek, szórások. Amint befejezésre kerül egy ydata táblába irányuló
író lekérdezés, automatikusan beíródnak a származtatott táblába is a generált értékek.
A relatív értékek akkor kerülnek majd felhasználásra, ha a fényáram értékeket egy
relatív (százalékos skálán) akarjuk majd ábrázolni. A gyakorlatban ez annyit tesz,
hogy amikor az adott LED legelső fényáramát regisztráltuk az adatbázisban (ezt a
kritériumot időbélyeg alapján döntjük el), ezt az értéket 100%-nak tekintve, az összes
későbbi értéket ennek százalékában fogjuk kifejezni. Ezen értékek által relatív
százalékos skálán is ábrázolhatóvá válik a fényáram változás, akár több LED modul
egymáshoz képesti összehasonlítására is lehetőséget adva.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
39
Az ydatarelative tábla szerkezete épp ezért szinte teljesen megegyezik az
ydata tábláéval, csak a valós értéket konvertáltuk át - a fent említett módon –
százalék értékekké. Az ydataaverage pedig az átlagot és a standard szórását
tartalmazza az ydata tábla értékeinek. Ezekből az átlagokból aztán ismét
számolhatunk egy átlagot, mely megadja a teljes oszlop átlagát, ezt a
ydatarelativecol-ban tároljuk.
4.4. Beolvasó és feldolgozó modul implementálása
Most hogy a fontosabb táblákat kialakítottam, illetve a modul feladatát is
pontosan ismerjük már, kezdődhet az implementálás. A grafikus felhasználói felület
létrehozásával kezdtem. Nem akartam nagyon összetett felületet tervezni; egy
letisztult, egyszerű felület létrehozása volt a célom. Indítás után a program első
teendője, hogy a felhasználó számára lehetővé tegye egy jegyzőkönyvfájl
kiválasztását, melyet ezután soronként megjelenít, a tartalom szerkezeti áttekintése
céljából. Itt a felhasználó ellenőrizheti, hogy a fájl, – tartalmát tekintve – megfelelő-
e, nincs benne esetleg oda nem illő sor, vagy olyan szerkezeti eltérés, amely
meghiúsíthatná a megfelelő értelmezést. Ha az előző fejezetben ismertetett mérési
protokollunkat betartva végeztük a mérést, akkor a létrejött jegyzőkönyvfájl
sötétáram értékkel kezdődik, és azzal is végződik, másrészt minden mért oszlophoz
tartozó fotoáram értéksor két sötétáram értékkel van közrefogva. Ilyen tartalmat
kell(ene) mutatnia minden jegyzőkönyvnek, de persze a valóságban előfordulhatnak
hibák. Olyasmiket kell ellenőriznünk, hogy nincsenek-e többszörös sötétáram
értékeket tartalmazó sorok egymás után, illetve a mérőműszer működésére
vonatkozó hibakódok (pl. helytelen méréstartomány, megszakadt kommunikációs
kapcsolat stb.), vagy bármilyen sor, amely érvénytelen értékeket tartalmaz. Ha ilyet
találunk egy szövegszerkesztővel egyszerűen törölnünk kell ezeket a sorokat, majd
megismételni a beolvasást.
A program a legelső beolvasott sötétáram érték alapján kísérletet tesz a
sötétáram értékhatárt becslésére (amelybe nagy valószínűség szerint a további
sötétáram értékek beleesnek majd), ezt fogjuk alkalmazni a fájl további értelmezése
során, hogy megállapítsuk, hol kezdődnek és hol végződnek az egyes oszlopokhoz
Modern világító diódák (LED-ek) összehasonlító vizsgálata
40
tartozó értéksorok. Ha a becslés helytelennek bizonyulna, a későbbiekben lehetőséget
kell adnunk a felhasználónak a kézi korrekcióra.
Ennek a funkciónak van egy másik lényeges feladata. Nem csak a fájl
tartalmának áttekintése, hanem – amint látni fogjuk –, a jegyzőkönyvfájlhoz
létrehozott/betöltött profil illeszkedésének tesztelése is is. De mi az a profil, és mit
értünk illeszkedés alatt? Nos, ha az előző fejezetben a 6.2 ábrán lévő jegyzőkönyv
lapot szemügyre vesszük, látható, hogy az egyes oszlopokat nem sorrendben mértük.
Viszont erről a jegyzőkönyvfájlban nincs semmiféle információ, így amikor a
program beolvassa a fájlt, nem tudhatja, milyen sorrendet követtünk a mérés során. A
helyzetet tovább bonyolítja, hogy a kísérlet során bármikor tönkremehet egy véletlen
pozícióban található LED modul (méréskor ezt nem mérjük, hanem ugrunk a
következőre), illetve cserélhetünk is egy adott pozícióban lévőt LED-et más típusúra.
Nyilvánvalóan megoldást kellett találni, hogy a beolvasó modul valamilyen
formában „értesüljön” arról, hogy a beolvasott adatsor mely oszlopok és azon belül
mely pozícióban helyet foglaló LED-ekről tartalmaz adatokat, és ezek a fizikai
pozíciók milyen sorrendben(!) követik egymást (Gondoljunk bele pl., hogy
felborítaná a sorrendet, ha egy adott oszlopon belül „kiégne” 2 db LED). Ekkor jött
az ötlet, hogy készítek egy profilt, mely „megmondja”, hogy a beolvasásból
származó sor éppen mely oszlop mely pozíciójára vonatkozik, és itt milyen típusú
LED modul található. Ezt 3 db 16x6 mátrixként implementáltam:
public static int[][] mapcol = new int[17][6];
public static int[][] maprow = new int[17][6];
public static String[][] mapvalue = new String[16][6];
A beolvasáskor, minden egyes beolvasott sor értelmezésekor a mátrixokból is
kiolvassuk az oszlop (mapcol), sor (maprow), típus (mapvalue) értékeket, majd
növeljük eggyel az indexet. Összesen 16 oszlop adatainak tárolására van lehetőség
ezekben a mátrixokban. Bejárásukkor ügyelnem kell, hogy ne fussak ki a
tartományokból.
A profilt nekünk kell létrehoznunk az adott jegyzőkönyvhöz, így ennek
megfelelően a felhasználó felületen lehetőséget kellett biztosítanom erre, majd a
létrehozott profil fájlba mentéséről/adatainak visszaolvasásáról is gondoskodnom
Modern világító diódák (LED-ek) összehasonlító vizsgálata
41
kellett. Ez lehetővé teszi, hogy szükség esetén több eltérő profilt is készíthessünk, és
mindig azt töltsük be, amelyik illeszkedik az éppen beolvasásra váró jegyzőkönyvre.
Így már tényleg automatikus az adatbevitel. Miután az adott profilt betöltöttük, újra
ki kell jelölnünk a jegyzőkönyv fájlt, és ekkor ellenőrizhetjük, hogy megfelelnek-e az
összeegyeztetett értékek a valóságnak. Ha rossz profilt adunk meg, az hibaüzenetet
produkál. Miután kijavítottuk a hibánkat, folytathatjuk az adatbázisba exportálással.
4.5. Grafikonrajzoló és jelentéskészítő modul koncepciója és
megvalósítása
Mivel a Beolvasó és feldolgozó modulban az alapkoncepciót már körüljártuk,
illetve az adatbázis szerkezetét tárgyaltuk, az idevonatkozó részeket újból nem
ismételném meg. Nézzük azokat a szempontokat, amelyeket ennek a modulnak
tervezése során kellett figyelembe venni.
Miután elkészültem a beolvasó modullal, amely a tesztelésre szánt
jegyzőkönyveket képes volt feldolgozni, és az adatbázisban már helyes értékek
jelentek meg, izgatottan kezdtem tervezgetni a grafikonrajzolás megvalósítását.
Kezdetnek tanulmányoztam az egyéb kísérletek szakirodalmában szereplő ábrákat,
hogy megállapítsam, milyen típusú grafikonokat használnak. Úgy találtam, hogy a
Microsoft Excelben is megtalálható diagramszerkesztő által létrehozott pont (X, Y)
típusú grafikonokat alkalmazták az esetek többségében. Ezek után számba vettem - a
JFreeChart fejlesztői dokumentációjának áttekintésével -, hogy az API segítségével
milyen lehetőségeim vannak. Örömmel tapasztaltam, hogy ez a típus Scatter Plot
néven támogatva van. Értelemszerűen, ilyenkor az X tengely az égetett órák számát,
az Y tengely pedig a fényáram értékeket fogja tartalmazni.
Ezen kívül még egy fajta grafikontípust találtam, melyet fel tudtam használni
a munkám során, ez a TimeChart. Olyan adatsorok megjelenítésére alkalmas, melyek
rendelkeznek egy időbélyeg-érték párral. Így az abszcisszán az időskála, az
ordinátatengelyen pedig az mért értékek helyezkednek el. Ezt a megoldást használja
fel a hőmérséklet megjelenítésére szolgáló segédgrafikonom, melyről példaképeket a
mellékletben lehet találni homerseklet*.png nevű fájlok formájában.
Mivel a grafikonrajzolási feladatokat a JFreeChart API-ján keresztül
kényelmesen biztosította, a köré építendő felhasználói felület megtervezése
következett. Úgy gondoltam, előnyösebb, ha hasonló arculatot mutat, mint a
Modern világító diódák (LED-ek) összehasonlító vizsgálata
42
beolvasó modul GUI-ja, ezért felépítésekor ugyanazt a sémát alkalmaztam. Ez azért
hasznos, mert aki a beolvasó modult már ismeri, az intuitív módon átlátja a
grafikonrajzoló és jelentéskészítő modul felépítését is (nem beszélve arról, hogy az
előzőleg írt kódomat újra fel tudtam használni, így ennek a felületnek a megvalósítási
ideje már jócskán lerövidült).
Az adatbázis séma értelemszerűen ugyanaz, mint amit a beolvasó modulnál
tárgyaltunk. Nyilván itt az adatokat, adatbázisba írásuk helyett, onnan lekérdeznünk
kell – megadott kritériumok alapján –, majd értelmeznünk, illetve kapcsolatot
teremtenünk köztük. Erre szemléletes példa az yvalue és a ledtype táblák közös
használata. Amikor adott pozícióban lévő LED modul adatait lekérdezzük, akkor az
ahhoz tartozó - típusát jelölő - szimbólumot, és a szimbólumhoz rendelt pontos
leírást össze kell kapcsolnunk, majd az ennek megfelelő információt kell
visszaadnunk adott világítódiódáról. Ezt a programom egy egyszerű hash táblával
fogja megoldani. Indításkor lefut egy metódus (buildSymbolTable()), mely a ledtype
táblában definiált értékpárokkal feltölti a hash táblát, amelyet majd akkor fogunk
használni, amikor egy LED pozícióról információkat kérünk le. Így működik a
grafikonon megjelenő jelmagyarázat rész is.
A grafikonok konstruálása a következőképp zajlik. Van egy ún. XYSeries
objektum, melyhez értékpárokat (X, Y) lehet hozzáadni. Ez tulajdonképpen
logikailag összetartozó, azonos módon ábrázolandó grafikonpontokat meghatározó
adatsor létrehozására alkalmas. Egy adott LED modulnál, ha lekérjük összes eddigi
fényáram értékét (és a méréshez tartozó óraszámokat), akkor az így létrejövő
(értékpárokból álló) adatsort érdemes ilyen objektumban eltárolni. Ha több
ábrázolandó adatforrásunk (pl. LED modul, oszlop nyitófeszültségek stb.) van, adja
magát, hogy több XYSeries objektumot hozzunk létre tárolásukhoz, hiszen egy ilyen
objektumban csak a logikailag is összetartozó típusú adatok tárolása szerencsés
(mivel megjelenítéskor minden egyes objektum adatai egyedi jelzéssel lesznek
elhelyezve a grafikonon). Az objektumokat „felcímkézhetjük” utalva ezzel
tartalmukra, ez a szöveges információ a jelmagyarázat szekcióban lévő jelzések
leírására szolgál. Így amennyiben több XYSeries objektumot szeretnénk egyszerre
megjeleníteni, segítségül kell hívnunk egy XYSeriesCollection objektumot is. Ez az
objektumtípus az XYSeries objektumok halmazaként fogható fel. Tetszőleges számút
Modern világító diódák (LED-ek) összehasonlító vizsgálata
43
elhelyezhetünk benne, végül magát a halmazt adjuk át a chart objektumnak
megjelenítésre. Ekkor az összes adatsor egyedileg eltérő grafikonpontokat
alkalmazva kirajzoltatható. A felhasználói felület úgy lett kialakítva, hogy a
felhasználó tetszés szerint tudja összeállítani ennek a halmaznak a tartalmát.
Természetesen a fényáram értékekről át lehet váltani az egyes diódák nyitófeszültség
értékeinek ábrázolására is. Ekkor a program automatikusan 3 XYSeries objektumot
hoz létre minden egyes adatsorhoz, (amennyiben mindhárom hőmérsékletértékhez
rendelkezésre áll mérési adat) majd ezeket pakolja bele a halmazba.
A modul másik feladata, hogy az éppen megjelenített grafikon adatairól PDF
formátumú jelentést hozzon létre. Ennek kivitelezése rendkívül egyszerű. Úgy
oldottam meg, hogy amikor az egyes adatforrások adatait beolvasom, amellett, hogy
az XYSeries objektumhoz hozzáadogatom az értékeket, egyúttal nekik megfelelő
típusú üres vektorokhoz is hozzáadom. A PDF generálása során a vektorok tartalmát
iterátor segítségével bejárva, egyszerű táblázatos formában íratom a fájlba.
A JFreeChart szerencsére kiválóan képes együttműködni az iText-tel, így a grafikon
exportálása a riport fájl utolsó oldalára különösebb nehézség nélkül kivitelezhető.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
44
5. Az elvégzett munka és a kész szoftver bemutatása
A projekt jellegéből fakadóan az elvégzett munka felét – a múlt félév során –
a laborban töltött segédkezés, majd a mérések bizonyos hányadának elvégzése tette
ki. Sok új gyakorlati ismerettel gazdagodtam a labormunka során, melyek – érzésem
szerint – látókörömet is szélesítették. Ennek mozzanatait, és a megszerzett
ismeretanyagot a dolgozat első harmadában bemutattam, így most munkám második
részének megvalósult eredményeit demonstrálom. Az általam elkészített szoftver
tartalmazza mindazokat a funkciókat, melyeket a feladatkiírás elvárt, így ezeket
szeretném most működés közben illusztrálni, ezzel az utolsó pontnak is eleget téve
(„Valósítsa meg, és tesztelje az elkészült programot a valódi mérési
eredményekkel!”).
Mint az olvasó tapasztalni fogja, ebben a fejezetben kompromisszumot kellett
kötnöm a képméret és az olvashatóság szempontjai között. Nem akartam képekkel
túlságosan zsúfolt oldalakat létrehozni, de a láthatóságot sem szerettem volna
megnehezíteni. Emiatt a mellékletben minden itt látható ábrát teljes méretében
csatoltam, ott egyéb ábrákat is mellékeltem. Erre azért volt szükség, mert a
terjedelmi korlátok nem tették lehetővé, hogy minden szolgáltatást kép formájában
be tudjak mutatni a dolgozat keretében. Így csak a legfőbb eredményeimet tudom az
érdemi részben bemutatni. A további megvalósult funkciókról a melléklet
áttekintésével kaphat teljesebb képet a kedves olvasó.
5.1 A beolvasó és feldolgozó modul bemutatása
Bemutatom a beolvasó modult működés közben egy jegyzőkönyv bevitelének
tipikus lépéseinek végrehajtásával. Majd a kísérlet során gyűjtött (már valós)
adatokból fogunk grafikonokat rajzoltatni, illetve egy példajelentést elkészíteni. Az
összes jegyzőkönyv és az elkészített jelentés is megtalálható a mellékletekben.
A program futtatása során feltételezzük, hogy a feltelepített XAMPP
szervercsomagból a MySQL és az Apache szerver már fut, és az adatbázist is
létrehoztuk a megfelelő paraméterekkel. Miután elindítjuk a programot a következő
felület fogad minket:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
45
11. ábra: a beolvasó és feldolgozó modul főablaka
A felső panelen található gombokkal vezérelhetjük a program működését. A
„jegyzőkönyv megnyitása” gombra kattintva feljön egy fájlkiválasztó
párbeszédpanel, itt tudjuk kijelölni a beolvasandó jegyzőkönyvfájlt. A megadott fájl
beolvasásra kerül és megjelenik az alsó szövegterületen. Itt ellenőrizhetjük (szükség
esetén a csúszkával visszagörgetve) a tartalmat):
12. ábra: jegyzőkönyv beolvasása utáni áttekintő nézet
Minden sor a jegyzőkönyvfájl egy megadott sorának felel meg. Amennyiben az adott
fotoáram értéke a sötétáram éktartományába esik, úgy a program automatikusan új
Modern világító diódák (LED-ek) összehasonlító vizsgálata
46
oszlop értéksoraként érzékeli az utána következő adatokat, ezáltal felismerve és
szétválasztva a különböző oszlopok adatait. Mint megfigyelhetjük, jelen
jegyzőkönyvfájlból 16 oszlop LED moduljainak mérési eredményeit ismerte fel, ezt
összehasonlítva a 6.2 ábrán található jegyzőkönyvlappal ellenőrizhetjük, hogy ezen
mérés során valóban ennyi oszlopot vizsgáltunk, így ez rendben van. Következő
lépés, a méréshez tartozó profil szerkesztése. A program három beépített
üzemmódban képes működni:
Alapértelmezett besorolás: az oszlopok sorszáma 1-től indul, és sorrendben
növekszik automatikusan a beolvasott oszlopok számáig;
Egyéni besorolás: ebben az esetben - a fent található szövegmezőbe írt
számok felsorolásával - mi adhatunk meg egyéni oszlopsorrendet (vesszővel
elválasztva), ekkor annyi oszlop kerül csak beolvasásra, ahány számot
megadtunk;
Layout mode: profil használatának engedélyezése, mi szinte mindig ebben az
üzemmódban használjuk a programot, így ez az alapértelmezetten kiválasztott
mód. Ekkor lehetőség van új profil létrehozására, vagy egy korábbi – fájlba
elmentett - visszatöltésére.
Kattintsunk a „LED térkép megadása” gombra. Ekkor előjön a következő ablak:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
47
13. ábra: LED profil megadására szolgáló panel
Amint azt látható, 16 oszlopnyi, soronként 6-6 érték bevitelére alkalmas
szövegmező található a panelen. Az egyes mezők a következő formátumban várnak
adatot: (X,Y):TÍPUS. Ahol X az oszlop (1-16), Y az oszlopon belüli LED pozíciója
(1-6), Típus pedig az adott pozíciót elfoglaló LED modult meghatározó szimbólum.
A kényelem érdekében, a mezők alapértelmezett pozíció értékekkel már kitöltöttek,
de ezek szükség esetén megváltoztathatóak. Most mi is így cselekszünk, és a 6.2.
ábrán szereplő jegyzőkönyvlap oszlopsorrendjének megfelelően módosítjuk őket.
Megemlíteném, hogy az adatbázisban található LED modultípusokhoz tartozó
szimbólumok a „LED típusok” fülre kattintással érhetőek el. Ezen a panelen
kilistáztathatjuk a rendelkezésre álló típusokat, illetve továbbiakat adhatunk hozzá a
meglévőekhez:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
48
14. ábra: LED típusok lekérdezésére és hozzáadására való panel
Az innen kiolvasott szimbólumok és a jegyzőkönyvlap alapján
megszerkeszthetjük az adott méréshez tartozó profilt. Így meghatározzuk, hogy az
egyes oszlopok egyes pozícióiban, milyen típusú LED modulok találhatóak.
A szimbólumhoz társított leírás felépítése: „Modul Típusa/Gyártó
megnevezése@Égetése során ezen a meghajtóáram értéken üzemel”.
Amennyiben egy adott pozícióban lévő LED kiégett (vagy épp nem tartalmaz
modult), ezt a tényt a „null” szimbólum megadásával jelezhetjük. Ennek hatására a
program az adatbeolvasáskor tudni fogja, hogy ezt a pozíciót nem szabad kiosztania
(hiszen itt nem mértünk), így azt átugorja és a következő érvényes pozícióra lép.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
49
15. ábra: profil szerkesztésének eredménye
Miután elkészítettük a profilunkat, érdemes azt fájlba menteni, mivel tipikusan
következő méréseink sem fognak (legalábbis nem jelentős mértékben) eltérni a
mostanitól. Ezt a „Mentés” füllel előhívható panel segítségével tehetjük meg.
Érdemes megfontolni, hogy a fájl nevében - a dátum segítségével - jelezzük, melyik
méréshez készült az adott profil, a későbbi könnyű visszakeresés érdekében. Mostani
esetünkben pl. 20100527.led néven. Legközelebb, amikor beolvastatunk egy újabb
jegyzőkönyvet, nincs más teendőnk, mint a „Betöltés” fül alatti panelen megkeresni a
most elkészített profilt.
Ha a profilt mentettük, próbáljuk ki, hogy megfelelően illeszkedik-e a
jegyzőkönyvfájlunkhoz (nyilván igen, hiszen ez alapján készítettük, de a későbbi
Modern világító diódák (LED-ek) összehasonlító vizsgálata
50
mérések jegyzőkönyveivel való használat előtt ez a lépés feltétlenül szükséges!)
Ehhez menjünk át a „Nyitófeszültség és sötétáram” fülre. Ez fogjuk látni:
16. ábra: Nyitófeszültség és sötétáram panel
Ezen a panelen tudjuk bevinni az egyes oszlopok fényáram vizsgálata előtt/után
mért nyitófeszültség értékeket (Formátuma: sorelőttiérték;sorutániérték). Szükség
esetén itt tudunk korrigálni a sötétáram értékhatáron is. A legalsó mezőben adhatjuk
meg, hogy a mérés az öregítő égetés hányadik órájában történt. Nyomjuk meg a
„Bevitel”* gombot! Visszatértünk a főablakhoz, tehát most olvastassuk újra a
jegyzőkönyvet a „Jegyzőkönyv megnyitása” gomb újbóli használatával.
Probléma esetén piros színűre vált a hibát kiváltó jegyzőkönyv tartalma, és egy
hibaüzenetben tájékoztatást ad a kiváltó okról. Az ok általában, hogy olyan profilt
használunk, melyben kevesebb oszlopot definiáltunk, mint ahányat a beolvasott
*Az, hogy a „Bevitel” gomb ezen a panelon van, helytakarékossági és praktikai megfontolás is
egyben. Mivel egy jegyzőkönyv beolvasásánál általában (bár nem kötelezően) az oszlopok
nyitófeszültségei is megadásra kerülnek, az óraértéket pedig kötelezően meg kell adnunk a helyes
adatbevitel érdekében.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
51
jegyzőkönyv tartalmazott, vagy rosszul lett megállapítva a sötétáram értékhatár, így a
program nem képes szétválasztani az adott oszlopokhoz tartózó adatsorokat. Mindkét
esetben kézzel korrigálnunk kell a beállításokon, majd újból próbálkozni, ameddig a
jegyzőkönyv tartalma ismét fekete nem lesz (sikeres illeszkedés). Ennek
megvalósulását láthatjuk a 17. ábrán.
17. ábra: a jegyzőkönyvfájl újbóli, profilra illeszkedő beolvasása
Mint láthatjuk, a jegyzőkönyv beolvasása és feldolgozása itt már a profil alapján
történt (erre utaló jel, hogy mind a 16 oszlop adatsora megfelelő pozíciókat és típus
értékeket kaptak). Az „Exportálás” gombot megnyomva, az adatok exportálásra
kerülnek az adatbázis megfelelő tábláiba. Erről pl. a phpMyAdmin felületén
meggyőződhetünk. A többi jegyzőkönyv beolvasása innentől kezdve – amennyiben a
LED-ek kiosztása a gépen belül változatlan maradt és a mérési sorrendet sem
variáltuk – 2 kattintással realizálható. Igaz, az oszlop nyitófeszültségek értékeit a
papírról be kell gépelnünk. A programnak még további funkciói is megvalósultak,
ezeket terjedelmi okokból ebben a fejezetben nem ismertetem (ezekről képeket
helyeztem el a mellékletben). Két további kisegítő beolvasó modul is elkészült
(egyik a világítódiódánkénti nyitófeszültség értékeket, másik, a gép belsejében
alakuló hőmérsékleti adatokat tartalmazó fájlokat képes önállóan feldolgozni és
Modern világító diódák (LED-ek) összehasonlító vizsgálata
52
beilleszteni az adatbázisba. Ezek külön grafikus felülettel nem rendelkeznek, így
parancssorból indítandóak.
5.2. A grafikonrajzoló és jelentéskészítő modul bemutatása
Az előzőekben bemutatott módszer alapján 14 valódi, a kísérletekből származó
adatokat tartalmazó jegyzőkönyvet vittem be az adatbázisba, hogy segítségükkel
demonstrálni tudjam a Grafikonrajzoló és jelentés készítő modul képességeit. Miután
elindítottuk a programot, a következő ablak fogad bennünket:
18. ábra: a grafikon és jelentéskészítő modul főablaka
A főablakot látjuk, alul a grafikon rajzterülete helyezkedik el, a felső panelen
pedig a vezérlőgombok, illetve egyéb beállítási célokra szolgáló jelölőnégyzetek,
szövegmezők találhatóak. Ezek szerepét a bemutató későbbi lépései során
ismertetem.
Ahhoz hogy rávegyük a programot valamilyen adat ábrázolására, először
adatforrásokat kell hozzáadnunk a grafikonhoz. Hogy ezt megtegyük, nyomjuk meg
a „Beállítások” gombot; ismerős felépítésű, fülekkel elérhető paneleket tartalmazó
ablak fogad minket. Itt kattintsunk át a „Sor nyitófeszültségek” fülre.
* Megjegyzés: a „sor nyitófeszültsége” fül a mi esetünkben igazából az oszlopok nyitófeszültségét
jelenti; mivel a szakirodalom inkább a sor kifejezést volt használatos, jobbnak láttam így elkészíteni a
Modern világító diódák (LED-ek) összehasonlító vizsgálata
53
19. ábra: LED modulok, mint adatforrások kiválasztása
Mint látjuk, a gépben található minden egyes LED pozíciót egy annak megfelelő
jelölőnégyzet szimbolizál. Ezek bekapcsolásával adhatunk hozzá egy adott LED-
modult az ábrázoláshoz, mint adatforrást. Választhatunk egyetlen konkrét pozícióban
található LED-et, vagy több LED tetszőleges kombinációját is. A panel alján
található kék jelölőnégyzetek segítségével egy egész oszlop ábrázolását
kapcsolhatjuk be/ki. Ez nagyon kényelmessé teszi az adatforrások kiválogatását, ha
mondjuk több oszlopnyi LED-modult akarunk egymással összehasonlítani. Miután
ezek közül valamelyiket bekapcsoltuk, az adott oszlopon belül bármelyik
jelölőnégyzet értékét kézileg negálhatjuk. Ha pedig egy adott oszlop „kék
kapcsolóját” kikapcsoljuk, akkor minden egyes modul jelölőnégyzete kikapcsolt
állapotba kerül.
szoftver szövegezését. Elég, ha megjegyezzük, hogy esetünkben 16 oszlop és oszloponként 6 db LED
modul helyezkedik el, így egyértelmű marad, hogy mikor mire hivatkozunk.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
54
Jelöljük ki pl. az 5. oszlopot, és nézzük meg a grafikonon! Ehhez egyszerűen
csak kapcsoljuk be a neki megfelelő kék kapcsolót, majd lépjünk át a „Sor
nyitófeszültségek” fülre. Ekkor a következő ábrán látható panel tárul elénk.
20. ábra: Sor nyitófeszültségek ablak
Itt pedig az „Alkalmaz” gomb lenyomásával visszatérhetünk a főablakhoz. Most
már nincs más dolgunk, csak újrarajzoltatni a grafikont a „Grafikon frissítése
gombbal”. Miután ez megtörtént, az alábbi ábrán látható eredményt kapjuk.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
55
21. ábra: az 5. oszlop LED moduljainak fényerősség grafikonja
Ahogy az látható, meg is jelentek az 5. oszlop egyes LED moduljainak fényáram
értékei. Itt most az abszolút ábrázolási módot láthatjuk (a konkrét valós
számértékeket megjelenítve). A grafikon alján található a jelmagyarázat. Itt láthatjuk,
hogy a kirajzolt pontok melyik LED modulhoz tartoznak. A nyíl után pedig a modul
leírását olvashatjuk. Formátuma: „típus/gyártó/meghajtó áram nagysága”.
Váltsunk át relatív ábrázolásmódra, hogy százalékértékekben jelenjen meg a
fényáram változás! Ezt két módon tudjuk megtenni. Visszalépünk a beállítások
ablakba, és a „Statisztika & relatív ábrázolás” fület kiválasztva, a megjelenő panelen
bekapcsoljuk az „Áttérés relatív százalékos skálán való ábrázolásra” jelölőnégyzetet.
Vagy használhatjuk a gyors eszköztárat. Ez a főoldal tetején található gombok
melletti komponenseket jelenti:
22. ábra: A gyors eszköztár
A „PDF Riport generálása” gomb megnyomásakor egy fájlkiválasztó
párbeszédpanelen megadhatunk egy fájlt. Ezen a néven fog elkészülni az
automatikusan generált jelentésünk az éppen megjelenített grafikonon
szereplő adatokról (maga a grafikon is exportálásra kerül a PDF fájlba);
Modern világító diódák (LED-ek) összehasonlító vizsgálata
56
A relatív jelölőnégyzettel kényelmesen átválthatunk százalékos
megjelenítésre, illetve onnan vissza abszolút ábrázolásra.
A harmadik gyorseszköz arra szolgál, hogy egy megadott intervallum az
ordinátatengelyen mindenképpen megjelenítésre kerüljön. Itt tudjuk kézileg
kijelölni az α és Ω mezőben megadott értékekkel az intervallum kezdő és vég
pontjait. A jelölőnégyzet bekapcsolásával tudjuk a funkciót aktiválni.
(Figyelem! Ha olyan intervallumot adunk meg, amin kívül is vannak értékek,
akkor a grafikon automatikusan úgy fog skálázódni, hogy minden - a
grafikonon szereplő - érték látszódjék.)
Kapcsoljuk be a „relatív” jelölőnégyzetet és frissítsük a grafikont. A
következőt kapjuk:
23. ábra: az 5. oszlop LED moduljainak relatív fényerősség grafikonja
Mint láthatjuk, minden LED modul fényárama tényleg 100%-tól indul, így sokkal
szemléletesebben tudjuk az egyes modulok értékeinek változását egymással
összehasonlítani. Most próbáljuk ki a statisztikai modul szolgáltatásait is. Ehhez nem
kell mást tennünk, kattintsunk a Beállítások ablak „Statisztika & relatív ábrázolás”
fülére, majd kapcsoljuk be a statisztikai modult. Ekkor elérhetővé válik a következő
terület:
Modern világító diódák (LED-ek) összehasonlító vizsgálata
57
24. ábra: Statisztika & relatív ábrázolás panel
Ahhoz hogy megnézhessük az átlag és a standard szórás értékeit, célszerűbb
kevesebb LED modul adatforrást kiválasztani, hogy áttekinthetőbb legyen a grafikon.
A következő ábrához 4 db különálló LED-et választottam csak ki. Nézzük az
eredményt:
25. ábra: fényerősség grafikon az átlag és a standard szórás értékek
bekapcsolásával
Modern világító diódák (LED-ek) összehasonlító vizsgálata
58
A 25. ábrán már szerepelnek az átlag és szórás értékek is. Azonban, hogy ezeket
alaposabban szemügyre vehessük, meg kell ismerkednünk a nagyítás/kicsinyítés
funkcióval, mely segítségével ki tudunk részletezni egy adott intervallumot. Ezt az
egér segítségével tudjuk megtenni, ilyenkor értelemszerűen csak ez az intervallum
fog látszani a grafikonon. Tegyünk egy próbát, nagyítsuk ki a 846 órában mért 6.
oszlop 3. pozícióban lévő LED modul fényáram értékeit az egér bal gombját
lenyomva, fentről-lefelé balról-jobbra kijelölve a kérdéses területet. (Az eredeti
grafikonhoz a lentről-felfelé jobbról-balra történő kattintással juthatunk vissza).
Szükség esetén nagyítsunk többször, amíg a 25. ábrához hasonlót nem látunk.
Látható, hogy az adott LED modul 5 mérési iterációjából származó kék pontokkal
jelölt értékei mellett további 3 különböző jelölés is megjelent. Ezek közül egyik az
átlag, mely itt most szürke háromszöggel van jelölve. A másik kettő pedig a standard
szórás (kék háromszög, piros négyzet). Lehetőség van csak az átlag érték
megjelenítésére is, ha az eredeti értéket megjelenítését a „Statisztika és relatív
ábrázolás” fülön kikapcsoljuk. Az egyes szimbólumokat, melyeket az ábrákon
láthatunk, automatikusan generálja, majd adja hozzá a grafikonhoz az objektum. Ha
egy adott pont fölé visszük az egeret, akkor automatikusan megjelenik, hogy az
melyik adatforráshoz tartozik és mik a pontos koordinátái. Jobb kattintás esetén a
menüben további beépített (JFreeChart-os) funkciók is elérhetőek, többek között a
grafikon képfájlba mentése.
26. ábra: a fényerősség grafikonon szereplő átlag és standard szórás értékei
Modern világító diódák (LED-ek) összehasonlító vizsgálata
59
Természetesen nem csak fényáram értékeket tud a program megjeleníteni, hanem a
jegyzőkönyv lapokról bevitt oszlop nyitófeszültségeket, illetve az adott LED
modulok egyenkénti nyitófeszültség értékeit is. Ehhez annyit kell tennünk, hogy a
„Beállítások” ablak „Sor nyitófeszültségek” fülére kattintva bejelöljük az „Y érték
ábrázolás helyett nyitófeszültség diagram módba kapcsolok” rádiógombot. Ennek
hatására megváltozik a grafikon címsora, és szerkeszthetővé válik az oszlopokra és
világítódiódákra lebontott nyitófeszültségek adatforrások kiválasztására szolgáló
panel is. Az egyes LED-ekre vonatkozó nyitófeszültség ábrázoláshoz lépjünk át a
„LED nyitófeszültségek fülre”. Természetesen, a teljes oszlopon mért és a diódák
nyitófeszültségei együtt is ábrázolhatóak, hiszen egyazon értelmezési tartományon
vesznek fel értékeket. Nézzünk meg példaként 6 tetszőlegesen kiválasztott
világítódióda nyitófeszültség értékét. Ehhez jelöljük ki őket, alkalmazzuk a
beállításokat, majd frissítsük a grafikont. Mint látható, az egyes LED-ek mindhárom
hőmérsékleten mért nyitófeszültsége ábrázolásra kerül, a jelmagyarázatban
feltüntetve, az adott grafikonpont esetében melyik LED nyitófeszültség értéket
melyik hőmérsékleten mértük. Megemlíteném, ezeket az értékeket egyébként - a már
korábban említett beolvasó segédmodulom - segítségével vittem be a mérőműszer
által generált fájlból.
27. ábra: nyitófeszültség érték grafikon 6 tetszőlegesen választott LED modulra
Modern világító diódák (LED-ek) összehasonlító vizsgálata
60
Hasznos segítség lehet még az idő alapján megjelenítendő grafikonpontok szűrése.
Ezt a funkciót az „Időintervallum-filter beállítása” fül alatti panelen lehet aktiválni.
28. ábra: az időintervallum szűrő beállítás ablaka
Két időbélyeget megadva, csak ebbe az időintervallumba eső értékek kerülnek
megjelenítésre. Ez akkor lehet célravezető, ha nem óraértékek alapján akarjuk egy
adott adatforrás értéksorát vizsgálni, hanem konkrétan, csak két abszolút időpont
közötti változására vagyunk kíváncsiak.
Következik az utolsó főfunkció bemutatása. Amikor egy grafikont
létrehoztunk, lehetőségünk van automatikus jelentést generálni róla. Nyomjuk meg a
„PDF Riport Generálása” gombot, majd adjunk meg egy fájlnevet, végül mentsük a
dokumentumot. A 29. ábrán lévő grafikonból (8. oszlop LED moduljainak fényáram
változása) fogjuk a PDF fájlt generáltatni.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
61
29. ábra: a 8. oszlop fényáram változása, melyből jelentést fogunk készíteni
A következő ábrákon látható PDF fájltartalmat állítja elő a program.
Természetesen, ha az átlagot, illetve a standard szórást is bekapcsoljuk a grafikonon,
akkor azok értékei is megjelennek a PDF dokumentum lapjain, táblázatos formában.
A 30.-31.-32.-33. ábra az automatikusan generált jelentés tartalmát mutatja be. A
„PDF Riport Generálása” gomb megnyomásakor a fájlnév megadása után a program
meghívja a megfelelő iText tagfüggvényeket, mellyel létrehozza a PDF fájlt és
feltölti a táblázatokkal, majd a grafikonképpel.
A 31.-31. ábra mutatja a táblázatos formátumban kimentett fotoáram
értékeket. Annak függvényében, hogy mi van a grafikonon megjelenítve,
hozzáadódnak az átlagok és a standard szórási értékek adatai is a fájl tartalmához.
A 32. ábrán magát, az exportált grafikont láthatjuk.
A 33. ábrán pedig annak jelmagyarázatát.
Jelenleg ez a szolgáltatás még erőteljes fejlesztés alatt áll, ki szeretném
terjeszteni funkcionalitását a nyitófeszültség grafikonokkal való együttműködésre is.
Illetve megoldást kell még találnom az oldalakon időnként fellépő tartalom
elrendezési problémákra.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
62
30.-31.-32.-33. ábra
Modern világító diódák (LED-ek) összehasonlító vizsgálata
63
6. Összefoglaló
A témakiírásnak megfelelően létrehoztam egy olyan szoftvert, amely képes
teljesíteni az elvárt feladatokat, ezen kívül egyéb plusz szolgáltatásokkal is
kiegészítettem az alapfunkciókat.
Bízom benne, hogy hasznos segítséget nyújthat olyan szakemberek számára,
akik LED modulok közép és hosszú távú stabilitását vizsgálják tesztmérésekkel, és
ennek keretében rendszeresen dolgoznak fényáram és nyitófeszültség értékekkel.
Célom az volt, hogy a rendszeres mérések során keletkező, nagyobb mennyiségű
adat kézi feldolgozásából fakadó monotonitásától megkíméljem őket, egyúttal az
automatizálás hatására a hibalehetőségek száma is csökkenjen. Törekedtem arra,
hogy az információk szabványos adatbázisban kerüljenek eltárolásra, hogy így
könnyen kezelhetővé és megoszthatóvá váljanak mások számára is.
A Virtuális környezetek és Fénytan Laboratóriumban jelenleg zajló KÖZLED
projekt[14] keretében végzett kísérlet fényáram változás eredményeit már ezzel a
programmal is megtekinthetik az érdeklődők.
Ugyanakkor fontosnak tartom megemlíteni, hogy a szoftver felépítése során
úgy próbáltam eljárni, hogy hasonló mérési feladatokból keletkezett adatok
feldolgozására is képessé válhasson, ha valaki ehhez igazítja a beolvasó modul
adatfeldolgozó metódusát, illetve a megjelenítő modul grafikonkonstruálási részét. A
lehetőség adott, hogy például a jövőben, a program jelenlegi állapotát kibővítve
képessé válhasson a színképváltozás mérések adatainak beolvasására, feldolgozására,
azok grafikus prezentálására. Ennek lépései meglehetősen hasonlítanak az aktuális
probléma megoldásához, bár meg kell jegyeznem, hogy ebben az esetben más típusú
ábrázolási módszert és eltérő típusú grafikont kellene kialakítani. Természetesen nem
csak a világítástechnika területén kerülhet felhasználásra.
Ajánlom tanulmányozás céljából mindazok számára, akik valamilyen hasonló
problémát szeretnének automatizálni.
Modern világító diódák (LED-ek) összehasonlító vizsgálata
64
Irodalomjegyzék
[1] IES-LM-79-08 – Electrical and Photometric Measurements of Solid-State
Lighting Products
[2] Narendran, N., Y. Gu, L. Jayasinghe, J.P. Freyssinier, and Y. Zhu. 2007.
Long-term performance of white
LEDs and systems. Proceeding of First International Conference on White
LEDs and Solid State
Lighting, Tokyo, Japan, November 26-30, 2007, P174–P179.
[3] PHOTOMETRIC AND COLORIMETRIC STABILITY OF LEDS
Csuti P1, Kránicz B1, Krüger U2, Schanda J1, Schmidt F2
1. University of Pannonia, Hungary; 2. TechnoTeam Bildverarbeitung
GmbH, Germany
[4] IES-LM-80-08 - Approved Method: Measuring Lumen Maintenance of LED
Light Sources
[5] Google Spreadsheet dokumentum (a mellékletben megtalálható)
[6] http://www.oracle.com/technetwork/java/javase/downloads/index.html
[7] http://www.mysql.com/downloads/connector/j/
[8] http://dev.mysql.com/downloads/mysql/
[9] http://www.phpmyadmin.net/home_page/index.php
[10] http://projects.apache.org/projects/http_server.html
[11] http://www.apachefriends.org/en/xampp-windows.html (letöltés dátuma
2010. december 6.) XAMPP for Windows
[12] http://www.jfree.org/jfreechart/ (letöltés dátuma 2010. december 6.)
[13] http://itextpdf.com/itext.php (letöltés dátuma 2010. december 6.)
[14] KOZLED Projekt -
http://www.eet.bme.hu/new/index.php?option=com_content&task=view&id=
266&Itemid=252 (letöltés dátuma 2010. december 6.) Célkitűzés:
Energiatakarékos közvilágítási LED-es lámpatestcsalád fejlesztése
Modern világító diódák (LED-ek) összehasonlító vizsgálata
65
Mellékletek
A szakdolgozatom során felhasznált dokumentumok, képek, forráskódok,
szoftverek mind megtalálhatóak a CD mellékleten.
A CD tartalma a Főkönyvtár: Szakdolgozat_Hollosy_Adam_2010 könyvtárban
található. Az ebben szereplő alkönyvtárak és ezek tartalma:
Szakdolgozat: A szakdolgozatot doc és pdf formátumban tartalmazó
könyvtár.
Dokumentumok: Az irodalomjegyzékben hivatkozott, fájl formátumban
rendelkezésre álló dokumentumok.
Programok: A szoftver fejlesztése során felhasznált szoftverkomponensek.
XAMPP telepítő csomag, JFreeChart grafikonkezelő
függvénykönyvtár, iText PDF-fájlkezelő függvénykönyvtár.
Forraskodok: A szoftver minden komponensének forráskódja.
Egyeb_fajlok: Példa fájlok. LED-kiosztási profilok (*.led), jegyzőkönyvek
(*.txt), az adatbázis eredeti üres szerkezetét tartalmazó
database.sql, a példaként mellékelt, jegyzőkönyvekkel
feltöltött adatbázis sample.sql. Google Spreadsheet fájl. Egyéb
fájlok.
Kepek: A szakdolgozat folyamán felhasznált összes képfájl eredeti
méretben (*.png). Ezen kívül a Tovabbi_kepek alkönyvtárban
olyan képeket találhatunk, melyek a szoftver további funkcióit
hivatottak bemutatni, de a dolgozatban terjedelmi korlátokra
való tekintettel nem szerepeltek.
Recommended