Fizika | Fénytan, Optika » LED (Light Emitting Diode) karakterizációja

Alapadatok

Év, oldalszám:2016, 9 oldal

Nyelv:magyar

Letöltések száma:58

Feltöltve:2018. augusztus 17.

Méret:1 MB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!

Tartalmi kivonat

LED (Light Emitting Diode) karakterizációja A mérés célja: A LED működési karakterisztikájának vizsgálata. Mérés automatizálási alapismeretek elsajátítása. Megoldandó feladatok: A LED nyitóirányú áram-feszültség karakterisztikájának és áram-relatív fényintenzitás karakterisztikának mérése. Vegye fel a karakterisztikákat úgy, hogy a LED-et áramgenerátorosan hajtja 0 és 700 mA között minimum 5 milliamperes lépésközzel (141 mérési pont), a rendelkezésre álló programozható tápegység segítségével. A LED paraméterei hőmérsékletfüggőek. Feltételezzük, hogy a p-n átmenet hőmérséklete a mérés során állandó Mivel a LED nyitóárama és fényének intenzitása közel egyesen arányos azonos p-n átmenet hőmérsékleten ezért a mért detektor áram alapján meg tudjuk mondani, hogy volt-e nagymértékű hőmérsékletváltozás. A mérés végrehajtásához szükséges előismeretek: A mérés előtt otthon tanácsos

megismerkedni a PowerShellel. A program elvi felépítését már otthon is meg lehet valósítani, ezzel időt spórolva A program egyes részegységeit lehet tesztelni, az utasításokat kipróbálni. Rendelkezésre álló eszközök:       GW INSTEK GPD 3303s tápegység Keithley 2000 multiméter Keithley 6485 pikoamper mérő Szilícium fotodióda A műszerekhez tartozó adatlapok A LED A mérési elrendezés Táp csatlakozó (9V DC) Hőmérsékleti stabilizálódást visszajelző LED Földelés BNC csatlakozó (kimenet) 1. ábra Fotodióda A fotodióda működésnek elméleti háttere: A záróréteges fényelektromos cellát záró irányba előfeszítve fotodióda üzemmódnak nevezzük. A 2 ábrán a fotodióda feszültség-áram karakterisztikáját láthatjuk, különböző erősségű külső besugárzás esetére. Besugárzás nélkül a legfelső görbe mutatja az áram-feszültség karakterisztikát, s ez megegyezik egy közönséges dióda

karakterisztikájával. Itt a záróirányú előfeszítéshez, fotodióda üzemmódhoz (reverse-biased mode) tartozó áramot hívjuk sötétáramnak (dark current), mely a dióda sönt ellenállásán folyó áram. A fotodiódát besugározva a záróirányú tartományban is kapunk áramot, ez a fotoáram (photo-current). Nyitó irányú előfeszítésnél a besugárzástól független nagy értékre emelkedhet az áram és tönkreteheti a diódát. 2. ábra Fotodióda feszültség-áram karakterisztikája Az ábrán feltüntettük a 0 V előfeszítéshez és sötét állapothoz tartozó RD dinamikus sötét ellenállást, valamint a fényelem üzemmódot két különböző terhelő ellenállás esetén: Az RL = 500  elég kicsi ahhoz (a rajzon feltüntetett maximális besugárzás esetén is), hogy rövidzár üzemmódról beszéljünk, ezzel szemben az RL = 10 k esetén már közel járunk az üresjárási feszültség üzemmódhoz, amikor a terhelésen mért

feszültség a besugárzással közel logaritmikusan változik. Az előfeszített - fotodióda üzemmód előnye a fényelem üzemmódhoz képest, hogy az eszköz gyorsabb (gyorsabban reagál a bemeneti változásokra), de zajosabb. Gyakorlat: A detektor hőmérséklet stabilizált, amihez egy külső 9V-os tápegység csatlakozása szükséges. Amíg a detektor el nem éri az üzemi hőmérsékletét addig a visszajelző LED pirosan világít, ha elérte, akkor a LED nem világít. A fotodióda BNC csatlakozóját és a földelést a Keithley 6485 pikoamper mérővel kell összekötni. A detektor pikoamper nagyságú sötétárammal rendelkezik A fény intenzitásától függően az árama a nano és mikroamper közti tartományban van. Figyeljünk arra majd a programozásnál, hogy az áramot pikoamper mérő a detektor negatív referencia megállapodása miatt negatív előjellel adja vissza és ezt nekünk pozitívvá kell alakítanunk! A műszereket soros porton keresztül lehet

vezérelni. A műszerek kézikönyvében található utasításokat egy terminál emulátorban (pl. Termite) próbálhatjuk ki először, mielőtt nekiállnánk PowerShellben programozni. 3. ábra Termite kezelőfelülete A settings menüben (4. ábra) a Port megváltoztatásával váltogathatunk a műszerek között A további beállítások a műszerek kézikönyvében találhatóak (mindegyik műszernek megegyezik.) A műszerek azonosításához használjuk a *IDN? utasítást, amivel a műszer egyedi azonosítója kérhető le. 4. ábra Termite beállítások Figyeljünk arra, hogy a műszer(ek) utasításait milyen karakterek zárják le (Pl.: CR-LF) A mérésnek az automatizálását PowerShell-ben végezzük el. A program úgy készüljön, hogy a Powershell scriptet command line paraméterek megadásával lehetséges legyen paraméterezni. Paraméterek használata: https://technet.microsoftcom/en-us/magazine/jj554301aspx Az alábbi paramétereket lehessen megadni: 

         A tápegység (GW INSTEK GPD 3303s) COM portja Pl.: COM14 LED nyitófeszültség (Mivel áramgenerátoros a meghajtás, az értéke nem kritikus csak elegendően nagy legyen, hogy a mérés során ne ütközzön feszültség limitbe) [V] A LED kezdeti nyitóárama [mA] A LED végső nyitóárama [mA] A LED két nyitóárama közti lépésköz [mA] Két mérés között eltelt idő [másodperc] A feszültségmérő (Keithley 2000) COM portja A pikoamper mérő (Keithley 6485) COM portja A mérés fájl mentési helyének elérési útja Pl.: C:MeresCsoport1 (Az elérési útban a SPACE használatát kerüljük) A mérési fájl neve Pl.: LED meres A feldolgozott mérés eredményeit egy excel fájlba mentsük el, és küldjük el a laborvezetőnek amailben az elkészült PowerShell szkripttel együtt. A műszerekhez tartozó portokat a Windows eszközkezelőben találhatjuk meg. Powershell segítség: A szkriptek szerkesztése a Windows PowerShell

ISE-ben ajánlott. Változók típus szerinti deklarálására nincs lehetőség, inicializálásra viszont igen. Az inicializálás kikényszerítésére az alábbi utasítást használjuk: Set-StrictMode -Version 1 A változók típusát sem szükséges mindig megadni $a=1.2 $b=1.2 $a+$b Az eredmény: 2,4 [double]$a=1.2 [double]$b=1.2 $a+$b Az eredmény szintén: 2,4 Idézőjelek jelek használatával adhatunk meg sztringeket. A $a="12" –nek az eredménye sztring típusú változó lesz. A PowerShell nem minden esetben találja el a nekünk megfelelő típust, ezért ajánlott típus szerinti inicializációt használni: http://ss64.com/ps/syntax-datatypeshtml Ciklusváltozó inkrementálás C-s szintaxis szerint is lehetséges: $i++ Portok használata példa: Minden műszernek létre kell hozni egy port objektumot: $port= new-Object System.IOPortsSerialPort COM4,115200,None,8,one A használat előtt meg kell nyitni/ le kell foglalni a portot: $port.Open() Ha

nem akarjuk, hogy indításkor mindig összeomoljon a szkript mert más alkalmazás (vagy előzőleg összeomlott szkriptünk) foglalja a portot akkor az alábbi módszert használjuk: try { $port.Open() } catch { Write-Host Az xyz portja foglalt vagy egyéb hiba történt exit } Ha egy összeomlott szkript használja a portot akkor zárjuk be az editort és nyissuk meg újra. Utasítások küldése a portra: $port.Write("utasitas") https://blogs.msdnmicrosoftcom/powershell/2006/08/31/writing-and-reading-info-from-serialports/ Ha LF vagy CR-LF zárja az utasítást akkor érdemes a: $port.WriteLine("utasitas") függvényt használni, mert automatikusan hozzáfűzi az utasításhoz ezeket a lezáró karaktereket. Ha a választ is LF vagy CR-LF zárja akkor a: $port.ReadLine() függvényt kell használni. A program végén zárjuk be a port(okat) a Close() utasítással: $port.Close() A többi tulajdonság is könnyen elérhető a Windows PowerShell ISE

automatikus kódkiegészítésének köszönhetően. Excel fájlba mentés paraméterezett elérési úttal, fájlnévvel, dátummal példa: param( [string]$Eleresiut, [string]$Fajlnev ) $excel = New-Object -com Excel.Application $excel.Visible = $False $ActiveWorkbook = $excel.WorkbooksAdd() $ActiveWorksheet = $excel.WorksheetsItem(1) #ide kerül a kódunk $excel.ActiveWorkbookSaveAs($Eleresiut+"$(Get-Date -Format yyyy-MM-dd HH-mmss) "+$Fajlnev) $excel.WorkbooksClose() $excel.Quit() [System.RuntimeInteropservicesMarshal]::ReleaseComObject($excel) Remove-Variable excel Az excel táblában 4 külön oszlopban szerepeljen a meghajtó áram, nyitófeszültség, detektoráram és a mérés időpontja óra:perc:másodperc formátumban. Excelben egy adott cellába írás: $ActiveWorksheet.CellsItem(1,1) Az első paraméter a sor, a második paraméter az oszlop címe. Egy ciklussal (pl for ciklus http://ss64.com/ps/forhtml ) változók használatával tölthetjük ki a

cellákat $ActiveWorksheet.CellsItem($sor,$oszlop) Az excel táblába írás a géptől függően kb. pár millsec és 1 másodperc közti időt vehet igénybe Ha a szkript összeomlik futás közben, akkor a háttérben az excel futni fog. Ha ez sokszor egymás után előfordul, akkor az sok memória felhasználást eredményezhet. Ekkor a feladatkezelőből zárjuk be a futó excel folyamatokat. Sztring változó felesleges részeinek levágása egy adott karakter után (ha az adatnak csak egy részére van szükségünk): $sztring="abc,def" $Sztring.Substring(0,$SztringIndexOf(",")) Eredmény: abc Karakter csere(tizedes vesző <-> tizedes pont problémája): $sztring="abc,def" $sztring.Replace(",","") Eredmény: abc.def Változók összefűzése sztringekkel a $() használatával az alábbi formátumban lehetséges: $port.WriteLine("UTASITAS:$($feszultseg)") A Start-Sleep http://ss64.com/ps/start-sleephtml

utasítást használva lehet késletetéseket beépíteni a szkriptbe. A konzolban folyamatosan jelenítsük meg a mérés eredményeit (Write-Host a kiíratás): Write-Host " A nyítófeszültség: $($LEDVoltage)V, a .stb Ha egy szám paramétert sztringként kértünk be szükséges lehet egy sztring-szám konverzió: [double]$LEDfeszultseg = [convert]::ToDouble([string]$LEDfeszultseg) Program ajánlott felépítése:           Command line paraméterek bekérése Függvények (nem szükséges használni a feladat megoldásához) Command line paraméterek ellenőrzése (nem szükséges) portok megnyitása excel objektum létrehozása (lásd feljebb) műszerek beállításának inicializálása (lásd használati útmutatók, hogy kell-e?) a futás során nem változó értékek beállítása (LED feszültség, ventilátor feszültség és áramkorlát) a program további részéhez szükséges változók inicializálása (itt lehet használni a

SetStrictMode -Version 1-t) a műszerek vezérlése egy ciklusban (for vagy while stb.) és az eredmények excel táblába írása LED és ventilátor lekapcsolása, portok bezárása excel dokumentum mentése (lásd feljebb) A kötelező laborfeladat végrehajtásán kívül az alábbi extra feladatok emelik a beadandó minőségét: Hibakezelés: Előfordulhat, hogy a portot más program foglalja vagy a szkriptünk futás közben félúton összeomlott így a port foglalva maradt. Az alábbi kódrészletet beépítve lekezelhetjük az ilyen helyzeteket (nemcsak port kezelésre használhatjuk, akármilyen kódrészletre alkalmazható): try { $port.Open() } catch { Write-Host A port foglalt vagy egyéb hiba történt exit } http://ss64.com/ps/tryhtml Paraméterek formátumának ellenőrzése regexp használatával, példa: function Check-COMport-Format { if ($args[0] -notmatch ^COMd{1,2}$) { Write-Host "Nem adtad meg a $args[1] COM portját vagy rossz formátumot

használtál." -foreground "magenta" Write-Host "Ilyen formátumot használj: COM14" -foreground "magenta" exit } } Tömbök használata: http://ss64.com/ps/syntax-arrayshtml Példa tömbök használatához: tömb létrehozása: $myArray = New-Object -TypeName System.CollectionsArrayList tömbhöz elem hozzáadása: $myArray.Add( $SerialRead) | Out-Null Hasznos oldalak: http://ss64.com/ps/ http://www.computerperformancecouk/powershell/ http://stackoverflow.com/ https://www.googlehu/ A jegyzőkönyv tartalmazza:         Mérés tárgya Mérés időpontja Mérést végzők neve Vizsgált LED főbb gyári adatai táblázatos formában Mérés során felhasznált eszközök megnevezése (tápegység), gyártója, típusa, gyártási száma táblázatos formában Használati utasítás a szkript kezeléséhez A mérési összeállítás leírása Az áram feszültség valamint az áram fényintenzitás görbék