• Nem Talált Eredményt

MISKOLCI EGYETEM

N/A
N/A
Protected

Academic year: 2022

Ossza meg " MISKOLCI EGYETEM "

Copied!
43
0
0

Teljes szövegt

(1)

MISKOLCI EGYETEM

GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

TUDOMÁNYOS DIÁKKÖRI DOLGOZAT

N APKÖVETŐ NAPELEM , INTENZITÁSMÉRŐ ADATRÖGZÍTÉSSEL

KÉSZÍTETTE: Boros Rafael Ruben

VILLAMOSMÉRNÖK HALLGATÓ

KONZULENS:

Dr. Bodnár István PhD

egyetemi adjunktus Elektrotechnikai és Elektronikai Intézet

Miskolc, 2017

(2)

TARTALOMJEGYZÉK 2

Tartalomjegyzék

TARTALOMJEGYZÉK ... 2

1. BEVEZETÉS ... 3

2. A NAP, NAPELEM, ALKALMAZÁSAI ... 5

2.1. NAP, MINT ENERGIAFORRÁS……….……... 5

2.2. A NAPELEM MŰKÖDÉSE……….……… 6

2.3. OTTHONI NAPELEMES RENDSZEREK, NAPKÖVETŐ NAPELEM ELŐNYEI……….……… 8

3. HARDVERES KIVITELEZÉSEK ... 12

3.1. A LÉPTETŐMOTOR VEZÉRLÉSE………...….…… 12

3.2. MIKROVEZÉRLŐ, ARDUINO……….…...… 16

3.3. ULN2003A TRANZISZTORMEZŐ……….…… 18

3.4. ÁRAMMÉRÉS INA219 INTEGRÁLT ÁRAMKÖRREL……….….…… 19

3.5. FÉNYÉRZÉKELÉS FOTOELLENÁLLÁSSAL……….…… 21

3.6. 18650 LI-ION AKKUMULÁTOR, DC/DC BOOST KONVERTER……..…...….24

4. FÉNYINTENZITÁSMÉRÉS, ADATKIÉRTÉKELÉS ... 25

4.1. FÉNYINTENZITÁSMÉRÉS……….… 25

4.2. ADATRÖGZÍTÉS MEMÓRIAKÁRTYÁRA, ADATOK KIÉRTÉKELÉSE….. 26

BEFEJEZÉS ... 28

IRODALOMJEGYZÉK ... 30

MELLÉKLETEK………31

(3)

BEVEZETÉS 3

1. Bevezetés

Napjainkban nélkülözhetetlen a villamos energia, melyből egyre többet fogyasztunk világszerte. A megnövekedett fogyasztásnak köszönhetően nő a légkörben a károsanyag kibocsájtás. A villamos energia nagymértékű előállítása erőművekben történik, ahol általában az energiahordozó fosszilis anyag, vagy az atomerőművekben uránium. Az ilyen erőművek telepítésével továbbra fog nőni a szén-dioxid mennyisége a levegőben, és további környezetkárosító hatása lesz. Ekkor érdemes előtérbe hozni a megújuló energiaforrásokat.

A villamos energia előállítása megújuló energiával azért célszerűbb, mert nem jár károsanyag kibocsájtással. Választhatunk többféle lehetőség közül: szélenergia, geotermikus energia, napenergia, biomassza, vízenergia, stb. Ezek közül a napenergia (napelem) a legcélravezetőbb, mivel háztartásunk villamos energiafogyasztását el tudjuk látni, vagy kisegíteni. Az előállított energia mennyisége erősen függvénye a napsugárzás intenzitásának, illetve a napsugárzás beesési szögének.

Célom, hogy olyan kisebb méretű berendezést készítsek, amely biztosítja a napelem optimális dőlésszögét, így a napfény optimális beesési szögét, melyet egy forgatómechanizmussal meg lehet valósítani. További cél még, hogy a napfény intenzitását kijelzőn megjelenítsem, majd memóriakártyára rögzítse a mért adatokat időhöz rendelve.

Ezt a témát azért tartom időszerűnek, mert egyre több napelemet telepítenek, és sok napelem fix dőlésszöggel van elhelyezve forgatómechanizmus nélkül, ami azt eredményezi, hogy nincs optimalizálva a rendszer a maximális termelhető teljesítményre, így bemutatom a lehetséges hatásfoknöveléseket. Természetesen a

(4)

BEVEZETÉS 4

rendszer legsarkalatosabb kérdése az, hogy gazdaságilag hogyan éri meg forgatómechanizmust hozzárendelni a napelemhez.

A téma belenyúlik kicsit az automatizálásba, elektronikába, programozásba is, mivel napjainkban egyre jobban szükség van az automatizált rendszerekre, valamint a forgatómechanizmus ezek nélkül gyakorlatilag nem valósítható meg.

A forgatómechanizmussal nagyobb termelési hatásfokot érhetünk el, az intenzitásmérővel pedig kimérhető, hogy mekkora a pillanatnyi napsugárzás mértéke.

(5)

NAP, MINT ENERGIAFORRÁS 5

2. A Nap, napelem, alkalmazásai

2.1. Nap, mint energiaforrás

A Nap, mely elengedhetetlen energiaforrás elektromágneses sugárzást bocsájt ki. Az elektromágneses sugárzást jellemezhetjük az intenzitásával és hullámhosszával. Az 1.1. ábra [1] szemlélteti a napfény intenzitását a hullámhossz függvényében. A látható tartományban a legnagyobb a fény intenzitása, de azon túlmenően elég széles spektrumban van jelen sugárzás. Ami a melegedést okozza, az a távoli infravörös tartományba eső fény elnyelődése által történik. A Föld légköre a beérkező sugárzás egy részét visszaveri, mintegy 49-51%-át, de még így is jelentős energia marad

A napállandó hivatalos értéke: 1.366,1 W·m-2 ±0,37%, azaz minden egyes négyzetméterről, megfelelő eszközzel, ideális esetben 1.366 W teljesítményt lehetne kinyerni a földi légkör felett [2]. A földfelszínen a maximális sugárzás: ~1.000 W·m-

2. Napsütéses órák száma: ~2.100 óra/év. Déli tájolású és 45°-os felületre érkező éves napsugárzás: ~1.370 kWh·m-2. Legnagyobb delelési napmagasság július 21-én: 66°.

Legkisebb delelési napmagasság december 21-én: 19°[3].

(6)

A NAPELEM MŰKÖDÉSE 6

1.1. ábra: A Nap spektruma

2.2. A napelem működése

A napelem olyan eszköz, ami fényenergiából állít elő villamos energiát károsanyag kibocsájtása nélkül.

A napelem félvezető eszköz (fényérzékeny dióda), többnyire szilíciumból készül.

Fény hatására a töltéshordozók szétválnak. A dióda alapvetően egy PN (PiN) rétegszerkezetű félvezető eszköz.

A fény (fotonok) hatására szétvált elektron-lyuk párt excitonnak nevezzük. A 100 foton energia hatására szétvált exciton párok száma adja tulajdonképpen a napelem primer hatásfokát.

(7)

A NAPELEM MŰKÖDÉSE 7

Az 1.2. ábra szemlélteti a napelemek vázlatos keresztmetszetét és a működés elvét mutatja. A fény (foton) hatására az elektronlyuk-párok szétválnak. A P és N rétegek között elhelyezkedő I (insulation) szigetelőréteg tértöltése megakadályozza, hogy a töltések belül a napelemben azonnal egyesüljenek. Így a felületeken elhelyezett fémrétegen keresztül megindul egy külső áram, amely a fényből származik.

1.2. ábra: A napelem működésének vázlata

A háztartásokban, távvezetékeken váltakozófeszültségű rendszereket használnak, ezért a napelem közvetlenül nem csatlakoztatható rá a hálózatra.

Egyrészt a napelem alacsony feszültségű, másrészt egyenfeszültséget termel. A napelemmel általában akkumulátorokat töltünk, így ha éppen nem süt nap, a tápellátás szünetmentesen jelen van. Az egyenfeszültség átalakítható váltakozó feszültséggé inverter segítségével. Így egy 12 V-os akkumulátorról meg tudjuk táplálni a háztartásban lévő fogyasztókat, melyek 230 V feszültséget igényelnek.

Az 1.3. ábra szemlélteti a napelem helyettesítő kapcsolását, sajnos a napelem nem ideális generátor, van belső ellenállása, ami tovább csökkenti a napelem termelőképességét.

(8)

A NAPELEM MŰKÖDÉSE 8

1.3. ábra: A napelem helyettesítő kapcsolása

2.3. Otthoni napelemes rendszerek, napkövető napelem előnyei

Az otthonunk villanyszámlája nagymértékben csökkenthető napelemes rendszer alkalmazásával, extrém esetben többet termelhetünk, mint amennyit fogyasztunk.

A napelemes rendszer főbb részei:

 Napelem

 Akkumulátortöltő

 Akkumulátor

 DC/AC inverter

 Oda-vissza fogyasztásmérő

A napelemet általában a ház tetején helyezik el, vagy ritkábban az épület mellett állványon. Ha épület mellett állványon helyezzük el, akkor érdemes napkövető rendszerrel ellátni, melyet az 1.4. ábra [4] szemléltet.

(9)

OTTHONI NAPELEMES RENDSZEREK, NAPKÖVETŐ NAPELEM ELŐNYEI 9

1.4. ábra: A napkövető napelem forgatómechanizmussal

Az épület tetején ezt a konstrukciót elhelyezni nagyon körülményes lenne, mert magas, nagyobb szelek, viharok esetén nagy a sérülés veszélye. Ha magasabban lenne, mint a háztető, akkor a villámcsapás esélye is megnőne. Valamint a plusz súlyt sem biztos, hogy elbírja a háztető.

A napelemet kétfajta módon lehet forgatni: egy tengely, két tengely mentén.

Az egytengelyes forgatást az 1.5. ábra szemlélteti, míg a kéttengelyes forgatást az 1.6. ábra.

1.5. ábra: Egytengelyes forgatás

Az egytengelyes forgatásnál csak a dőlésszöget tudjuk módosítani, a tájolás fix, a kéttengelyes forgatásnál viszont a tájolást is tudjuk változtatni.

Az egytengelyes forgatással a fixen elhelyezett napelemhez képest a többlettermelés: 25-30%. Kéttengelyes forgatással pedig: 35-45%.

(10)

OTTHONI NAPELEMES RENDSZEREK, NAPKÖVETŐ NAPELEM ELŐNYEI 10

1.6. ábra: Kéttengelyes forgatás

A napelem nem feltétlenül a Nap felé forog, mert a napsugárzás visszaverődik a talajról, a levegőről, felhőkről, tárgyakról, épületekről, stb. Így a napelem a legintenzívebb fény felé fog elfordulni.

A legintenzívebb fényt kétféle módon követhetjük: asztronómikus és fényszenzoros követéssel. Az asztronómikus követéssel a Nap pályáját előre kiszámított nyomvonalon követi, óramű pontossággal, fokozatosan követve a Nap pályáját az égen. A fényszenzoros követéssel a cél a legfényesebb pont megtalálása az égen, és arra merőleges irányba fordítani a napelemes felületet. A fényszenzoros követés az asztronómikushoz képest akár 20%-al jobb hatásfokú.

A napelemekre az akkumulátortöltőt csatlakoztatva tölthetjük az akkumulátorokat, amikor a fogyasztók felvett teljesítménye kisebb, mint a termelt teljesítmény. A többlet energiát akkumulátorokban eltárolva később lehetőségünk van a napsugárzás hiányakor is energiát szolgáltatni a fogyasztóknak.

Az egyenáramú hálózatot, mely a napelem és az akkumulátor oldalán van át kell alakítani váltakozó árammá. Biztosítani kell az 50 Hz frekvenciájú 230V feszültségű szinuszos energiát.

A váltakozó áramú hálózatra oda-vissza fogyasztásmérőt kell telepíteni.

Általában egyirányú fogyasztásmérőket alkalmaznak, mivel nem szoktunk otthon többlet energiát termelni a hálózatra. Napelemek alkalmazásakor pedig előfordulhat, hogy több energiát termelünk, mint fogyasztunk, ekkor mi táplálunk a hálózatra

(11)

OTTHONI NAPELEMES RENDSZEREK, NAPKÖVETŐ NAPELEM ELŐNYEI 11

energiát. Egy akkumulátor nélküli egyszerűsített hálózatot szemléltet az 1.7. ábra [5].

1.7. ábra: Egyszerűsített napelemes hálózat

(12)

A LÉPTETŐMOTOR VEZÉRLÉSE 12

3. Hardveres kivitelezések

3.1. A léptetőmotor és vezérlése

A napelem forgatómechanizmusához célszerű léptetőmotorokat használni, mivel kis léptékekben forgatható a tengelye.

A léptetőmotor digitális jellel vezérelhető kommutátor, kefe nélküli egyenáramú motor. Ennek köszönhetően csak a csapágy minősége határozza meg az élettartamot.

Kétfajta típusú léptetőmotor van: unipoláris, bipoláris, melyet az 1.8. ábra szemléltet [6].

Az unipoláris léptetőmotor 5 vagy 6, a bipoláris 4 kivezetéssel rendelkezik.

Az 5 és 6 kivezetéses motorok között az a különbség, hogy a tápfeszültséget, melyet a K pólusra kötnek, összekötik közös potenciálra.

A léptetőmotorok leglényegesebb paraméterei a forgatónyomaték és lépésszám. A motor lépésszáma azt jelenti, hogy egy körülforduláshoz (360°) hány lépést kell megtennie a motor tengelyének.

1.8. ábra: Léptetőmotor típusai

(13)

A LÉPTETŐMOTOR VEZÉRLÉSE 13

Ha 360°-ot elosztjuk a lépésszámmal, akkor megkapjuk, hogy egy lépés alatt hány fokot fordul el a motor tengelye, amit fogaskerék áttétellel még tovább csökkenthetünk.

A léptetőmotor vezérlésének három lehetséges módja van:

 Teljes léptetés (egy tekercs bekapcsolásával)

 Fél léptetés (egy-kettő tekercs bekapcsolásával)

 Teljes léptetés (két tekercs bekapcsolásával)

A forgatómechanizmus két tengely irányban képes forgatni, ehhez kettő darab 28BYJ-48 típusú léptetőmotort alkalmazok, mely unipoláris és 5 kivezetése van, melynek a kapcsolási rajzát az 1.9. ábra szemlélteti. Az ábrán a körben elhelyezett nyíl a motor tengelyét jelöli, körülötte helyezkednek el a tekercsek, melyek középmegcsapolására a tápfeszültség csatlakozik.

Az öt kivezetés:

 +5V (piros)

 1 (kék)

 2 (rózsaszín)

 3 (sárga)

 4 (narancssárga)

(14)

A LÉPTETŐMOTOR VEZÉRLÉSE 14

1.9. ábra: 28BYJ-48 típusú léptetőmotor kapcsolási rajza

A 28BYJ-48 típusú léptetőmotor tengelyének körbeforgásához (360°

elforduláshoz) 2048 lépéshez van szükség. E nagy szám az 1/64-es fogaskerék áttételnek köszönhető. Áttétel nélkül 32 lépésben (11,25°/lépés) körbefordulna, így eléggé durva lépésekben lehetne szabályozni, ami finom szabályozáshoz nem engedhető meg.

A motornak meglehetősen kicsi a nyomatéka, ezért célszerű egyszerre két tekercs bekapcsolásával, teljes léptetés módban vezérelni. Így a legnagyobb a tengely nyomaték leadási képessége. Ez a vezérlés sokkal jobban melegíti a tekercseket, de a napelemeket nem kell folyamatosan forgatni, így szakaszos üzemként tekinthető.

A motor tengelyének elfordulását úgy kell kivitelezni, hogy a tekercseket megfelelő sorrendben kapcsolgatjuk. A teljes léptetés metódusait fogom bemutatni.

Az 1.10. ábra a teljes léptetést (egytekercses módban) ábrázolja.

(15)

A LÉPTETŐMOTOR VEZÉRLÉSE 15

1.10. ábra: Teljes léptetés egy tekercs bekapcsolásával

Az 1.11. ábra szemlélteti a teljes léptetést (kéttekercses módban). Ezzel a léptetéssel érhető el a legnagyobb forgatónyomaték, de ahogy említettem, ez nagyobb tekercsmelegedést fog előidézni, csak szakaszos üzemre lehet használni.

1.11. ábra: Teljes léptetés két tekercs bekapcsolásával

A világoskék vonalak a digitális jelszinteket jelentik az időfüggvényében. A világoskék szaggatott vonalak a digitális jelszint magas (HIGH) értékét jelentik.

A forgatómechanizmusnak, intenzitásmérőnek automatikusan, mikrovezérlővel kell működnie. Napjainkban a mikrovezérlők nagyon elterjedtek, mivel sokféle programozási nyelven lehet őket programozni, olcsó, kisméretű, kvázi nagysebességű.

A mikrovezérlőnek az alábbi feladatokat kell ellátnia:

 Napelem által termelt áramerősség mérése, terhelő ellenálláson keresztül

(16)

A LÉPTETŐMOTOR VEZÉRLÉSE 16

 A mért áramerősségből igazságfüggvényen keresztül kijelzőn megjelenítve a fényintenzitást [W/m2] mértékegységben kijelezve

 A külső hőmérsékletet, relatív páratartalmat jelezze ki

 Pontos idő mérése

 Memóriakártyára kimenteni a pillanatnyi fényintenzitást időponthoz kötve, így később számítógépen excelbe importálva grafikonokat készíthetünk a mért adatokból

 A léptetőmotorok vezérlése

 Fotoellenállás segítségével megállapítani, hogy merre kell forgatni a napelemeket, azaz merre van a Nap az égen

A napelem által termelt egyenfeszültségre terhelő ellenállást csatlakoztatva a körben áram indul meg. Ezt az áramot méri majd a mikrovezérlő segédelektronikán keresztül, mivel a mikrovezérlő közvetlenül nem képes áram mérésére.

A napelemre nem lenne muszáj terhelő ellenállást kötni, rövidzárüzemben is mérhető lenne áram, de ez az üzemmód a napelem hatásfokcsökkenését felgyorsítaná, így nem célszerű rövidzárüzemben használni.

3.2. Mikrovezérlő, Arduino

A mikrovezérlő, vagy mikrokontroller egy integrált áramkör, mely elektronikus úton programozható. Legfőbb részei a: Központi Vezérlő Egység (CPU), memóriák, Aritmetikai Logikai Egység (ALU), EEPROM (háttértárként memória), flash memória (itt tárolódik a végrehajtandó program), perifériák (I2C, Soros port kommunikáció, időzítők, A/D átalakítók, stb).

(17)

MIKROVEZÉRLŐ, ARDUINO 17

A mirkovezérlő legkedvezőbb tulajdonsága, hogy a flash memóriát akár tízezerszer is újra programozhatjuk, így elég sokszor módosíthatjuk a programunkat, és kipróbálhatjuk.

A megvalósítandó célokra az Atmel ATmega 2560 mikrovezérlő alkalmazkodik gazdaságosan. Az összetett rendszer megkívánja a hosszabb programírást, nagyobb memória méretű áramköröket, mivel sok globális változót kell deklarálni a programírásakor. Ez a dinamikus memóriát nagymértékben fogyasztja.

Az ATmega 2560-as áramkörnek 8192 bájt méretű a dinamikus memóriája, ami alkalmas a kitűzött célokhoz.

Ez a mikrovezérlő önmagában külső elemek nélkül nem működőképes.

Kvarcokat, kondenzátorokat, Soros port – USB illesztőt, feszültség stabilizátort, csatlakozókat, stb igényel. Ezért célszerű, és gazdaságosabb az Arduino cég által készített kártyákat használni, amin minden fontos elem megtalálható, készen áll a használatra.

Az Arduino cég saját nyitott forráskódú fejlesztőkörnyezetet is készített, ahol C, C++ nyelven írhatjuk a programunkat a mikrovezérlőre és gombnyomással fel is tölthetjük rá.

Az általam használt Arduino Mega 2560 az 1.12. ábrán látható.

1.12. ábra: Arduino Mega 2560 panel

A panel középén látható maga a mikrovezérlő. A mikrovezérlő kivezetései csatlakozókra vannak kötve. Található a panelen még tápfeszültség csatlakozó,

(18)

ULN2003A TRANZISZTORMEZŐ 18

USB csatlakozó, állapotjelző LED-ek, kvracok, feszültségstabilizátor, RESET gomb, stb.

3.3. ULN2003A tranzisztormező

A léptetőmotort közvetlenül nem kapcsolhatjuk rá a mikrovezérlő kimeneteire, mivel nagy áramot vesznek fel a tekercsei, a mikrovezérlő tönkre menne. A mikrovezérlő kimenete 20 mA áramot képes tartósan elviselni. Így célszerű tranzisztort alkalmazni, mely biztosítja, hogy a mikrovezérlő kimenetén mA nagyságrendű áram, a léptetőmotor tekercsén 100 mA nagyságrendű áram legyen.

Amikor a léptetőmotor tekercsét kikapcsoljuk, akkor a tekercs önindukciós együtthatója miatt a tápfeszültségtől sokkal nagyobb feszültség indukálódik. Ennek kiküszöbölésére szabadonfutó diódákat kell beépíteni. Ezek a diódák az ULN2003A integrált áramkör belsejében megtalálhatók, melyek a COM bemenetre csatlakoznak, erre kell a tápfeszültséget kötni, tulajdonképpen túlfeszültség levezető diódaként működik.

Az 1.13. ábra [7] az ULN2003A Darlington tranzisztormező blokksémáját mutatja. Darlington kapcsolás azért szükséges, hogy pici bázisáram révén nagy kollektor áramot tudjunk vezérelni, azaz nagy erősítést (β) lehet létrehozni.

1.13. ábra: ULN2003A integrált áramkör blokksémája

(19)

ULN2003A TRANZISZTORMEZŐ 19

A blokkséma bal oldalán található a bemenet (Input B), mely a mikrovezérlő kimenetére csatlakozik. Jobb oldalon a kimenetre (Output C) a léptetőmotor tekercsét kell csatlakoztatni. Mivel egy léptetőmotornak négy tekercse van, ezért négy bemenet, négy kimenet szükséges az ULN2003A integrált áramkörből. A kettő léptetőmotor nyolc digitális kimenetet felemészt a mikrovezérlő lábszámából, nyolc ki-bemenetet az ULN2003A integrált áramkörből, melynek sajnos csak hét kimenete, bemenete van. Így kettő darab integrált áramkör szükséges. Az 1.14. ábra az integrált áramkör egyszerűsített blokksémát vázolja.

1.14. ábra: ULN2003A integrált áramkör egyszerűsített blokksémája

3.4. Árammérés INA219 integrált áramkörrel

Az ATmega2560-as mikrovezérlőben 10 bites A/D átalakító található. Az A/D átalakító (Analog to Digital) az analóg bemeneti jelet digitális jellé alakítja, melyekhez értékeket rendel. 210=1.024, azaz 1024 részre bontja a mérendő jelet. A tápfeszültség 5 V, ami azt jelenti, hogy 5V/1.024=4,88 mV a pontosság. Az intenzitás

(20)

ÁRAMMÉRÉS INA219 INTEGRÁLT ÁRAMKÖRREL 20

értéke, ha eléri a maximális 1.000 W/m2 értéket, és ezt 1.024-el elosztjuk, akkor 0,94 W/m2 lenne a pontosság. Ezt a pontosságot javítani lehet az INA219 integrált áramkörrel.

Árammérési célokra az INA219 integrált áramkör jól alkalmazható. A mérendő árammal sorba kell kötni egy kis értékű ellenállást, mely sönt ellenállásként funkcionál.

Ha áram folyik az ellenálláson, akkor feszültségesés következik be, ezt a feszültséget lehet mérni. Ohm törvény alkalmazásával (2.1. képlet) az árammérést vissza vezethetjük egy ellenálláson keresztül feszültség mérésre.

I R

U   (2.1.)

Fix ellenállás értéke ismert, a feszültséget megmérve kiszámítható az áram.

Az INA219 integrált áramkörben 12 bites A/D átalakító található, ami 4.096 egységere bontja a mérendő feszültséget, így sokkal pontosabb, mint a mikrovezérlő 10 bites A/D átalakítója. 1.000 W/m2 maximális fényintenzitást 4.096 részre osztva 0,24 W/m2 lesz a billegés.

Készen vásárolva az INA219 modul 0,1 Ω sönt ellenállással van szerelve, és a legpontosabb mérésre beállítva 400 mA a méréshatár. 1 Ω sönt ellenállással a méréshatár 40 mA-ra csökken, 2 Ω sönt ellenállással 20 mA-ra csökken. Így már a napelem által leadott áramot lehet mérni, mert az általam használt napelem csak milliamper nagyságrendben képes áramot leadni. Gyári adatai a napelemnek:

P = 0,55 W, U = 9 V.

(21)

FÉNYÉRZÉKELÉS FOTOELLENÁLLÁSSAL 21

3.5. Fényérzékelés fotoellenállással

A fotoellenállás egy kadmium szulfid (CdS) ellenálláscsík, amelynek az ellenállása a ráeső fény intenzitásától függően változik. Sötétben az ellenállása nagy, világosban pedig alacsony [8]. Az 1.15. ábra a fotoellenállást szemlélteti.

1.15. ábra: Fotoellenállás

Az 1.16. ábra szerinti elrendezésben lehetőségünk van meghatározni a legintenzívebb fény irányát. Négy darab fotoellenállás szükséges hozzá, ezek közé egy kereszt alakú testet kell elhelyezni. A nyíl a beeső fénysugarat szimbolizálja. A jobb felső fotoellenállás nagyobb fényintenzitást kap, a bal alsó fotoellenállás pedig a legkevesebbet, ott árnyék lesz.

(22)

FÉNYÉRZÉKELÉS FOTOELLENÁLLÁSSAL 22

1.16. ábra: Fényirány meghatározása fotoellenállásokkal

A mikrovezérlőre mind a négy fotoellenállást rá kell kötni, differenciálmérést kell alkalmazni. A mikrovezérlő analóg bemeneteire (A8, A9, A10, A11) csatlakoznak a fotoellenállások az 1.17. ábra szerint. A kapcsolási rajz az EasyEDA fejlesztőkörnyezetben készült. Külön-külön megmérjük a feszültségeket mind a négy ellenálláson.

1.17. ábra: Kapcsolási rajz

(23)

18650LI-ION AKKUMULÁTOR,DC/DC BOOST KONVERTER 23

Négy értéket képzünk:

 Felső átlagos érték (aef)

 Alsó átlagos érték (aea)

 Bal oldali átlagos érték (aeb)

 Jobb oldali átlagos érték (aej)

A megírt programban a zárójelben lévő neveken van elnevezve, melyet az 1.18. ábra mutat.

1.18. ábra: Programrész, a négy képzett érték

Átlagokat számolunk, majd ezekből az átlagokból képezünk kettő új értéket: a felső-alsó különbséget és a bal-jobb különbséget. Ezeket az értékeket vizsgálva egy referencia értékhez képest (tolerancia) el tudjuk dönteni, hogy szükség van-e a napelem forgatására. Amint ezek az értékek kisebbek, mint a tolerancia érték, azaz kicsi a különbség, akkor nincs szükség forgatni a napelemet. Attól függően, hogy ezek a különbség értékek pozitívak, vagy negatívak, eldönthető, hogy jobbra, vagy balra kell a motor tengelyét forgatni.

(24)

18650LI-ION AKKUMULÁTOR,DC/DC BOOST KONVERTER 24

3.6. 18650 Li-ion akkumulátor, DC/DC boost konverter

A tápellátást egy darab lítium-ion cella szolgáltatja (megközelítőleg 1.500 mAh kapacitású), mely DC/DC boost konverterre van rákötve. A lítium-ion akkumulátor feszültsége feltöltött állapotban 4,15 V, lemerült állapotban 2,9 V (eddig szabad meríteni a károsodás elkerülése érdekében). A mikrovezérlős rendszer stabil +5 V tápellátást igényel.

A DC/DC boost konverter lényege, hogy a rákapcsolt egyenfeszültséget, ami jelen esetben 2,9-4,15 V, a beállított 5 V értékre növelje, természetesen némi vesztességgel (90% hatásfokkal működik). A lítium-ion cella méretét a 18650 szám jelöli, 18 mm átmérőjű, 65,0 mm hosszú.

Az általam használt DC/DC boost konverter típusa: MT3608, melyet az 1.22.

ábra jelenít meg. A potenciométerrel állítható be a kívánt kimeneti feszültség. A kimeneti feszültség nem lehet kisebb, mint a bemeneti feszültség, csak egyenlő, vagy nagyobb azzal.

1.22 ábra: MT3608 DC/DC boost konverter

(25)

FÉNYINTENZITÁSMÉRÉS 25

4.Fényintenzitásmérés, adatkiértékelés

4.1. Fényintenzitásmérés

A fényintenzitásmérés meghatározásához módosítást kell elvégezni a gyári árammérő áramkörön, valamint a napelemmel olyan értékű ellenállást kell sorba kötni, hogy maximális 1.000 W/m2 fényintenzitásnál adja le azt az áramot, ami az árammérő modul (INA219) méréshatár legfelső értékéhez tartozik. A korábban leírt 2.7. pontban ismertettem a söntellenállás megválasztását. A napelemmel pedig három darab 470 Ω-os

ellenállást kötöttem sorba, ehhez alkalmazkodtam program íráskor, konstansokkal szoroztam a mért áramot, melyet az 1.19. ábra mutat.

1.19. ábra: Az intenzitásmérés részlete a programból

A 11.7 konstans érték úgy jött létre, hogy valós fényintenzitásmérőhöz kalibráltam be az általam épített készüléket. Valamint debugolás érdekében kiszámoltam egy százalékos értéket. A programban a current_mA változó 0-400-ig kap értéket, mert az INA219 áramkör 0-400 mA-ig mér a gyári sönt ellenállással (0,1 Ω). A 400 mA-t el kell osztani 20-al, így 0-20 mA-ig fog mérni, persze ha a söntellenállást is kicseréljük, én estemben 2 Ω. 0,25-el megszorozva az áramot

(26)

ADATRÖGZÍTÉS MEMÓRIAKÁRTYÁRA 26

megkapom az áram százalékos értékét, majd ezt szoroztam 11.7-el, ami a kalibrálásból jött ki.

4.2. Adatrögzítés memóriakártyára, adatok kiértékelése

A mikrovezérlőre kötött SD memóriakártyamodul segítségével adatot menthetünk le az SD kártyára. Szöveges (.txt) fájlformátumot hozunk létre, ebben megtalálható a pillanatnyi időpont és a pillanatnyi fényintenzitás értéke. Ezeket később kiolvashatjuk, akár Excel programban grafikonokat készíthetünk belőle. Az 1.20. ábrán látható adatokból készíthető olyan grafikon, melyet az 1.21. ábra szemléltet. A grafikon vízszintes tengelyén az idő, a függőleges tengelyén a fényintenzitás látható. Ezek az adatok csak demo jellegűek, nem mutatnak valós fényintenzitás mérést.

(27)

ADATRÖGZÍTÉS MEMÓRIAKÁRTYÁRA 27

1.20. ábra: Rögzített adatok

1.21 ábra: Rögzített adatok diagram

(28)

BEFEJEZÉS 28

Befejezés

Összességében elmondható, hogy a napkövető napelem kisebb méreteknél nem gazdaságos, nagyobb méretekben viszont 20%-al nagyobb termelhető teljesítményt tudunk elérni. A fényintenzitásmérő viszonylag pontos értékeket mutat, nagymértékben látszik a kijelzőn, hogy a Nap felé beforgatott napelem sokkal nagyobb áramot ad le.

Ezt a feladatot sikerült kivitelezni sikeresen, viszont a berendezésen a jövőben alakítani kell, mert a fényérzékelés nem a legoptimálisabb, a 100 kΩ értékű ellenállások a fotoellenállásokra kötve nem ideális értékűek, így nem mindig forog a legerősebb fény felé, főleg erősebb napsütéskor, a megírt programon változtatni kell, hogy optimálisabb legyen a fényérzékelés.

A mintegy 380 soros program megfelelően vezérli az áramköröket, léptetőmotorokat. A mikrovezérlő tehát alkalmas ezen feladat elvégzésére, kicsi áramfogyasztása is jól alkalmazkodik ehhez a napelemes rendszerhez.

További jövőben megvalósítandó dolog, hogy a napelem a Li-ion cellát töltse, ehhez DC/DC buck konvertert ajánlott majd használni, vagy L7805 feszültségstabilizátor integrált áramkör, majd erre kötni a Li-ion cella töltő integrált áramkört. Ezek az áramkörök viszont nagy veszteségekkel működnek, nem jó hatásfokú.

Sajnos ez a rendszer, dolgozat tavasszal készült el, amikor nem volt erős napsütés, borús idő volt, ezért nem lehetett erős napsugárzást, fényintenzitást mérni.

A rendszert sajnos csak lámpafénynél tudtam kalibrálni, hagyományos wolfram

(29)

BEFEJEZÉS 29

izzószálas villanykörténél, ott is csak 60-70 W/m2 fényintenzitást mértem.

Napközben, ettől nem volt több a kinti fényintenzitás borús időben. Ezek a mérések viszont nagy tapasztalatot adtak számomra, mert a LED-es világítás mellett nem kaptam szinte semmilyen fényintenzitást, valószínűleg a keskeny fényspektruma miatt, kicsi teljesítménye miatt, valamint a napelem nem a Nap felé fordult sokszor, hanem tárgyak felé, égbolt felé, ahonnan erősebb volt a fényvisszaverődés valószínűleg, nagy volt az albedo sugárzása.

A mellékletekben megtalálhatóak: a mikrovezérlőre megírt program, kapcsolási rajz, fényképek a napkövető rendszerről

(30)

IRODALOMJEGYZÉK 30

Irodalomjegyzék

[1] http://nagysandor.eu/AsimovTeka/blackbody_physlet/solar_spectrum_hu.png (letöltés éve: 2017)

[2] http://www.naplopo.hu/tudastar/szakcikkeink-hasznos-irasaink/28-

magyarorszagra-vonatkozo-fontosabb-napsugarzasi-adatok (letöltés éve: 2017) [3] VÉGHELY TAMÁS:Napelemek és napelemrendszerek szerelése.BUDAPEST,2013 [4] https://debrecenbar.com/2012/11/30/napkoveto-napelemes-rendszer-pro-es-kontra

(letöltés éve: 2017)

[5] http://www.solarside.hu/wp-content/uploads/2010/09/rajz.jpg (letöltés éve: 2017) [6] http://qtp.hu/elektro/leptetomotor_mukodese.php (letöltés éve: 2017)

[7] www.ti.com/jp/lit/pdf/slrs027 (letöltés éve: 2017)

[8] http://www.hobbielektronika.hu/cikkek/willi_v20_robotika_es_avr_

kezdoknek.html?pg=4 (letöltés éve: 2017)

(31)

1.MELLÉKLET 31

Mellékletek

1. melléklet

#include <SPI.h>

#include <Wire.h>

#include <SD.h>

#include <SPI.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#include <Adafruit_INA219.h>

#include "RTClib.h"

File myFile; //objektum létrehozás RTC_DS3231 rtc;

Adafruit_INA219 ina219;

#define OLED_RESET 0

Adafruit_SSD1306 display(OLED_RESET);

#define tajolas_1 9

#define tajolas_2 10

#define tajolas_3 11

#define tajolas_4 12

#define doles_1 5

#define doles_2 6

#define doles_3 7

#define doles_4 8

#define BF A11

#define BA A10

#define JF A9

#define JA A8

(32)

1.MELLÉKLET 32

#define pinCS 53

int BF_ertek, BA_ertek, JF_ertek, JA_ertek;

float current_mA = 0;

float current_ertek = 0;

float current_szazalek = 0;

int intenzitas = 0;

unsigned short int poz_tajolas = 1;

unsigned short int poz_doles = 1;

int aef, aea, aej, aeb;

int diff_fuggoleges, diff_vizszintes;

int tolerancia = 6;

int kalibralo;

int program = 0;

void setup() {

Serial.begin(115200);

Serial.setTimeout(10);

pinMode(tajolas_1, OUTPUT);

pinMode(tajolas_2, OUTPUT);

pinMode(tajolas_3, OUTPUT);

pinMode(tajolas_4, OUTPUT);

pinMode(doles_1, OUTPUT);

pinMode(doles_2, OUTPUT);

pinMode(doles_3, OUTPUT);

pinMode(doles_4, OUTPUT);

pinMode(pinCS, OUTPUT);

ina219.begin();

ina219.setCalibration_16V_400mA();

display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay();

if (SD.begin()) {

display.clearDisplay();

display.setTextSize(3);

display.setTextColor(WHITE);

(33)

1.MELLÉKLET 33

display.setCursor(20, 20);

display.println("SD OK");

display.display();

Serial.println("SD kartya keszen all");

delay(2000);

} else {

display.clearDisplay();

display.setTextSize(2);

display.setTextColor(WHITE);

display.setCursor(0, 20);

display.println("SD ERROR");

display.display();

Serial.println("SD kartya inicialasi hiba");

delay(2000);

return;

} //SD end } // Setup end

void loop() { program++;

DateTime now = rtc.now();

JF_ertek = analogRead(JF);

JA_ertek = analogRead(JA);

BF_ertek = analogRead(BF);

BA_ertek = analogRead(BA);

aef = (JF_ertek + BF_ertek) / 2;

aea = (JA_ertek + BA_ertek) / 2;

aeb = (BF_ertek + BA_ertek) / 2;

aej = (JF_ertek + JA_ertek) / 2;

diff_fuggoleges = aef - aea;

diff_vizszintes = aeb - aej;

if (diff_fuggoleges < tolerancia) { coiloff_doles();

}

(34)

1.MELLÉKLET 34

if (diff_vizszintes < tolerancia) { coiloff_tajolas();

}

if (-1 * tolerancia > diff_fuggoleges || diff_fuggoleges > tolerancia) // ha a kulonbseg nem a toleranciaban van, akkor a dolesszoget valtoztatjuk

{

if (aef > aea) { jobbra_doles(1, 10);

}

else if (aef < aea) { balra_doles(1, 10);

} }

if (-1 * tolerancia > diff_vizszintes || diff_vizszintes > tolerancia) { if (aeb > aej) {

jobbra_tajolas(1, 10);

}

else if (aeb < aej) { balra_tajolas(1, 10);

} }

if (program % 100 == 0) {

current_mA = ina219.getCurrent_mA() / 20.0; //20mA méréshatár beállítása, 2ohm ellenállással, 0,005mA pontosság

current_ertek = ina219.getCurrent_mA(); //400mA értékig ad vissza current_szazalek = 0.25 * current_ertek; //400mA*0,25

intenzitas = current_szazalek * 11.7;

if (current_mA < 0) { current_mA = 0;

}

display.clearDisplay();

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(0, 10);

display.println(current_mA); display.setCursor(35, 10); display.println("mA");

(35)

1.MELLÉKLET 35

display.setCursor(0, 20);

display.println(current_szazalek); display.setCursor(40, 20); display.println("%");

display.setCursor(0, 30);

display.println(intenzitas);

display.setCursor(45, 30);

display.println("W/m");

display.setCursor(64, 27);

display.println("2");

display.display();

Serial.println("---");

Serial.println(JF_ertek);

Serial.println("****");

Serial.println(JA_ertek);

Serial.println("****");

Serial.println(BF_ertek);

Serial.println("****");

Serial.println(BA_ertek);

Serial.println("---");

Serial.println("");

program = 0;

}

if (now.second() % 60 == 0) {

myFile = SD.open("adat.txt", FILE_WRITE);

if (myFile) {

myFile.print(now.hour());

myFile.print(":");

myFile.print(now.minute());

myFile.print(":");

myFile.print(now.second());

myFile.print(",");

myFile.println(intenzitas);

myFile.close();

// Serial.println("Adat kiirva");

display.setCursor(60, 0);

display.println("Data Saved");

(36)

1.MELLÉKLET 36

display.display();

delay(999);

} else {

Serial.println("Hiba a fajl irasakor");

display.setCursor(60, 0);

display.println("ERROR");

display.display();

delay(2500);

} }

} // loop vege

void jobbra_tajolas(int lepesszam, int kesleltetes) { for ( unsigned int i = 0; i < lepesszam; i++) { switch (poz_tajolas) {

case 1:

digitalWrite(tajolas_1, HIGH);

digitalWrite(tajolas_2, HIGH);

digitalWrite(tajolas_3, LOW);

digitalWrite(tajolas_4, LOW);

poz_tajolas = 2;

break;

case 2:

digitalWrite(tajolas_1, LOW);

digitalWrite(tajolas_2, HIGH);

digitalWrite(tajolas_3, HIGH);

digitalWrite(tajolas_4, LOW);

poz_tajolas = 3;

break;

case 3:

digitalWrite(tajolas_1, LOW);

digitalWrite(tajolas_2, LOW);

digitalWrite(tajolas_3, HIGH);

digitalWrite(tajolas_4, HIGH);

poz_tajolas = 4;

break;

(37)

1.MELLÉKLET 37

case 4:

digitalWrite(tajolas_1, HIGH);

digitalWrite(tajolas_2, LOW);

digitalWrite(tajolas_3, LOW);

digitalWrite(tajolas_4, HIGH);

poz_tajolas = 1;

break;

} //switch vége delay(kesleltetes);

}//for vege } // jobbra vége

void coiloff_tajolas() {

digitalWrite(tajolas_1, LOW);

digitalWrite(tajolas_2, LOW);

digitalWrite(tajolas_3, LOW);

digitalWrite(tajolas_4, LOW);

} // tekercs kikapcsolás vége

void balra_tajolas(int lepesszam, int kesleltetes) { for (int i = 0; i < lepesszam; i++) {

switch (poz_tajolas) { case 1:

digitalWrite(tajolas_1, HIGH);

digitalWrite(tajolas_2, LOW);

digitalWrite(tajolas_3, LOW);

digitalWrite(tajolas_4, HIGH);

poz_tajolas = 2;

break;

case 2:

digitalWrite(tajolas_1, LOW);

digitalWrite(tajolas_2, LOW);

digitalWrite(tajolas_3, HIGH);

digitalWrite(tajolas_4, HIGH);

(38)

1.MELLÉKLET 38

poz_tajolas = 3;

break;

case 3:

digitalWrite(tajolas_1, LOW);

digitalWrite(tajolas_2, HIGH);

digitalWrite(tajolas_3, HIGH);

digitalWrite(tajolas_4, LOW);

poz_tajolas = 4;

break;

case 4:

digitalWrite(tajolas_1, HIGH);

digitalWrite(tajolas_2, HIGH);

digitalWrite(tajolas_3, LOW);

digitalWrite(tajolas_4, LOW);

poz_tajolas = 1;

break;

}

delay(kesleltetes);

}

} // ******************************

void jobbra_doles(int lepesszam, int kesleltetes) { for (int i = 0; i < lepesszam; i++) {

switch (poz_doles) { case 1:

digitalWrite(doles_1, HIGH);

digitalWrite(doles_2, HIGH);

digitalWrite(doles_3, LOW);

digitalWrite(doles_4, LOW);

poz_doles = 2;

break;

case 2:

digitalWrite(doles_1, LOW);

digitalWrite(doles_2, HIGH);

digitalWrite(doles_3, HIGH);

(39)

1.MELLÉKLET 39

digitalWrite(doles_4, LOW);

poz_doles = 3;

break;

case 3:

digitalWrite(doles_1, LOW);

digitalWrite(doles_2, LOW);

digitalWrite(doles_3, HIGH);

digitalWrite(doles_4, HIGH);

poz_doles = 4;

break;

case 4:

digitalWrite(doles_1, HIGH);

digitalWrite(doles_2, LOW);

digitalWrite(doles_3, LOW);

digitalWrite(doles_4, HIGH);

poz_doles = 1;

break;

} //switch vége delay(kesleltetes);

}

} // jobbra vége

void coiloff_doles() {

digitalWrite(doles_1, LOW);

digitalWrite(doles_2, LOW);

digitalWrite(doles_3, LOW);

digitalWrite(doles_4, LOW);

} // tekercs kikapcsolás vége

void balra_doles(int lepesszam, int kesleltetes) { for (int i = 0; i < lepesszam; i++) {

switch (poz_doles) { case 1:

digitalWrite(doles_1, HIGH);

(40)

1.MELLÉKLET 40

digitalWrite(doles_2, LOW);

digitalWrite(doles_3, LOW);

digitalWrite(doles_4, HIGH);

poz_doles = 2;

break;

case 2:

digitalWrite(doles_1, LOW);

digitalWrite(doles_2, LOW);

digitalWrite(doles_3, HIGH);

digitalWrite(doles_4, HIGH);

poz_doles = 3;

break;

case 3:

digitalWrite(doles_1, LOW);

digitalWrite(doles_2, HIGH);

digitalWrite(doles_3, HIGH);

digitalWrite(doles_4, LOW);

poz_doles = 4;

break;

case 4:

digitalWrite(doles_1, HIGH);

digitalWrite(doles_2, HIGH);

digitalWrite(doles_3, LOW);

digitalWrite(doles_4, LOW);

poz_doles = 1;

break;

}

delay(kesleltetes);

} }

(41)

2.MELLÉKLET 41

2. melléklet

(42)

3.MELLÉKLET 42

3. melléklet

(43)

3.MELLÉKLET 43

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Mindegyik tárgyalt kód kategória esetén először azt a kérdést vizsgáljuk, hogy milyen feltételek fennállása biztosítja az optimális térlefedő kódok különböző,

még lehetséges (és ezért optimális) a tábla, ha a jobboldalon lév® értékeket vál- toztatjuk, hogyan alakul az optimális megoldás, ha a feladat egyes

Az egyik, hogy a feladatnak nincs optimális megoldása, a másik, hogy van, csak nem teljesülnek a regularitási feltételek.. Ez azt jelenti, hogy az optimális megoldásban

Terjedés gyorsasága Van szellemi tulajdon Optimális Túl lassú Nincs szellemi tulajdon Túl kevés Optimális..

Ha azonban intertemporális termelés (beruházás) is lehetséges, az egyének az optimális kölcsönnyújtási, illetve kölcsönfelvételi szint mellett optimális beruházási

Ha azonban intertemporális termelés (beruházás) is lehetséges, az egyének az optimális kölcsönnyújtási, illetve kölcsönfelvételi szint mellett optimális beruházási

a.) Emuláció. Egyik lehet®ség az, hogy a folytonos idej¶ modell alapján folytonos idej¶ visszacsatolást tervezünk, amelyet a diszkrét id®pontok- ban végrehajtott

Egy Hilbert-tér bármely korlátos konvex zárt részhal- maza gyengén