Upload
others
View
17
Download
3
Embed Size (px)
Citation preview
Matic Lilek
NIZKOCENOVNI OPTIČNI SPEKTRALNI
ANALIZATOR
Diplomsko delo
Maribor, januar 2012
I
Diplomsko delo univerzitetnega študijskega programa
NIZKOCENOVNI OPTIČNI SPEKTRALNI ANALIZATOR
Študent: Matic Lilek
Smer: Telekomunikacije UNI
Mentor: Red. prof. ddr. Denis Đonlagić
Somentor: Doc. dr. Edvard Cibula
Maribor, januar 2012
II
III
ZAHVALA
Zahvaljujem se red. prof. ddr Denisu Đonlagiću za
mentorstvo, napotke in usmerjanje pri izdelavi
diplomskega dela.
Prav tako se zahvaljujem somentorju doc. dr.
Edvardu Cibuli.
Zahvala gre tudi vsem zaposlenim laboratorija
LEOSS, staršem ter vsem ostalim, ki so mi
pomagali med študijem.
IV
NIZKOCENOVNI OPTIČNI SPEKTRALNI ANALIZATOR
Ključne besede: optični spektralni analizator, uklonska mrežica, linijsko polje
fotodetektorjev, spektralna analiza, Fabry-Perot
UDK: 535:621.38(043.2)
Povzetek
Diplomsko delo govori o različnih vrstah spektralnih analizatorjih, njihovem delovanju.
Poudarek je na optičnih spektralnih analizatorjih z uklonsko mrežico. Naš sistem temelji
na takšnem spektralnem analizatorju. Opisane so komponente tega sistema, način sestave
in na koncu umerjanje sistema. Sistem sestavljajo enorodovna optična vlakna, konkavne in
konveksne leče, optični delilnik, prepustna uklonska mrežica, detektor in vir, ki je
superluminiscenčna dioda. Predstavljeni so tudi eksperimentalni rezultati.
Končen produkt je uspešno izdelan nizkocenovni optični spektralni analizator. Njegovo
delovanje in umerjanje je predstavljeno s pomočjo optičnega senzorja raztezka, ki deluje
na principu Fabry-Perot interferometra.
V
LOW-COST OPTICAL SPECTRAL ANALYSER
Key words: optical spectral analyser, diffraction grating diffraction grating,
linear CCD, spectral analysis, Fabry-Perot
UDK: 535:621.38(043.2)
Abstract
This diploma thesis presents different types of optical spectral analysers and their
operation principles. The focus is on optical spectral analysers with a diffraction grating
on which our system is based on. The thesis describes the mechanical alignment process
and the calibration of spectral analyser. The system contains single mode optical fibers,
concave and convex lenses, an optical coupler, a transmission diffraction grating, a
detector and a light source which is a superluminescent diode. This diploma thesis also
presents the experimental results.
The final product is a successfully built low-cost optical spectral analyser. The properties
of developed spectral analyser are experimentally evaluated by using optical fiber strain
sensor based on an air-cavity Fabry-Perot interferometer.
VI
KAZALO
1 UVOD ........................................................................................................................... 1
2 OPTIČNI SPEKTRALNI ANALIZATORJI ........................................................... 3
2.1 Delovanje ............................................................................................................... 3
2.2 Prizemski optični spektralni analizator ................................................................. 4
2.3 Fabry-Perot optični spektralni analizator .............................................................. 5
2.4 Optični spektralni analizator s Fourierjevo analizo ............................................... 8
2.5 Optični spektralni analizator z uklonsko mrežico ............................................... 12
2.5.1 Uklonska mrežica ........................................................................................ 12
2.5.1.1 Spektralno območje ................................................................................. 16
2.5.1.2 Disperzija uklonske mrežice .................................................................... 16
2.5.1.3 Ločljivost uklonske mrežice .................................................................... 17
2.5.1.4 Učinkovitost uklonske mrežice ............................................................... 18
2.5.2 Optični spektralni analizator z odbojno uklonsko mrežico ......................... 18
2.5.3 Optični spektralni analizator s prepustno uklonsko mrežico ....................... 20
2.5.4 Optični spektralni analizator s konkavno uklonsko mrežico ....................... 22
3 OPIS SISTEMA ......................................................................................................... 25
3.1 Optični del ........................................................................................................... 26
3.1.1 Superluminescenčna dioda .......................................................................... 26
3.1.2 Enorodovno optično vlakno ........................................................................ 28
3.1.3 Optični delilnik ............................................................................................ 31
3.1.4 Senzor .......................................................................................................... 32
3.1.5 Uklonska mrežica ........................................................................................ 34
3.1.6 Kolimator, zbiralna in razpršilna leča ......................................................... 35
3.2 Elektronski del ..................................................................................................... 39
3.2.1 Detektor ....................................................................................................... 39
3.2.2 Mikrokrmilnik ............................................................................................. 44
3.2.2.1 Komunikacija mikrokrmilnika z drugimi napravami .............................. 47
3.2.2.2 RS-232 povezava ..................................................................................... 48
3.3 Programski del ..................................................................................................... 51
3.3.1 Algoritem na mikrokrmilniku ...................................................................... 51
VII
3.3.2 Algoritem na osebnem računalniku ............................................................. 53
4 EKSPERIMENTALNI REZULTATI ..................................................................... 56
4.1 Meritve ................................................................................................................ 56
4.2 Umerjanje ............................................................................................................ 58
4.3 Točnost nizkocenovnega optičnega spektralnega analizatorja ............................ 60
5 SKLEP ........................................................................................................................ 62
6 VIRI IN LITERATURA ........................................................................................... 64
KAZALO SLIK ................................................................................................................. 66
PRILOGA A ALGORITEM NA MIKROKRMILNIKU ........................................ 68
PRILOGA B ALGORITEM NA OSEBNEM RAČUNALNIKU ............................ 72
VIII
UPORABLJENI SIMBOLI
R - odbojnost zrcal, ločljivost uklonske mrežice, radij ukrivljenosti sferične površine,
odzivnost detektorja na dano valovno dolžino
m - uklonski red uklonske mrežice
λ - valovna dolžina
d - razdalja med dvema režama na uklonski mrežici
θ - theta (oznaka za kot)
W - širina osvetljenih rež na uklonski mrežici
N - celo število osvetljenih rež na uklonski mrežici
F - čisto spektralno področje
n - lomni količnik
α - alfa (oznaka za kot)
d - debelina leče
V - električna napetost
E - električna poljska jakost
t - čas
I - gostota svetlobnega toka
L - dolžina senzorja
K - število med sosednjimi vrhovi interferenčnega vzorca
IX
UPORABLJENE KRATICE
WDM - valovnodolžinsko razvrščanje (ang. Wavelength Division Multiplexing)
EDFA - vlakenski ojačevalnik s primesjo erbija (ang. Erbium Doped Fibre Amplifier)
FSR - čisto spektralno področje (ang. Free Spectral Range)
SLD - superluminescenčna dioda (ang. SuperLuminescent Diode)
ASE - ojačana spontana emisija (ang. Amplified Spontaneous Emission)
NA - numerična odprtost (ang. Numerical Aperture)
SRAM - statični bralno/pisalni pomnilnik (ang. Static Random Access Memory)
EEPROM - zbrisljiv in programljiv bralni pomnilnik (ang. Electricaly Erasable
Programmable Read-Only Memory)
ROM - bralni pomnilnik (ang. Read-Only Memory)
USB - univerzalno serijsko vodilo (ang. Universal Serial Bus)
DTE - podatkovna terminalska oprema (ang. Data Terminal Equipment)
DCE - podatkovna komunikacijska oprema (ang. Data Communications Equipment)
DMA - direktni dostop do pomnilnika (ang. Direct Memory Access)
SPI - serijski periferni vmesnik (ang. Serial Peripheral Interface)
I2C - dvožični serijski modul (ang. Inter-Integrated Circuit)
UART - univerzalni asinhroni sprejemnik/pošiljatelj (ang. Universal Asynchronous
Receiver Transmitter)
ECAN - stopenjski lokalno omrežni modul (ang. Enhanced Controller Area Network)
Nizkocenovni optični spektralni analizator Stran 1
1 UVOD
Optične komunikacije so približno pol stoletja stara tehnologija. So odgovor na hitro
rastoče potrebe po vedno večjih prenosnih zmogljivostih. Optične komunikacije postajajo
prevladujoč prenosni medij za zveze na različnih razdaljah. Sočasno s to tehnologijo
potekajo tudi raziskave in razvoj novih sistemov in naprav. Med naprave spadajo specifični
merilni instrumenti, med njimi so to tudi optični spektralni analizatorji, ki so čedalje bolj
pomemben instrument v vsakdanji uporabi.
Spektralna analiza ni nova stvar, saj so se znanstveniki z njo ukvarjali že v prvi polovici
19. stoletja. Naj le omenimo Thomas Younga [1], ki se je kot prvi resno začel ukvarjati s
spektralno analizo. Posvetil se je znanstvenim študijam uklonske mrežice, bistvene
komponente modernega spektralnega analizatorja. Young je leta 1803 opisal, kaj se zgodi,
ko je svetloba prešla prepustno uklonsko mrežico, ki je imela 500 rež na približno 2,5 cm.
Opazil je, da rdečo svetlobo vidimo v štirih različnih smereh in da so te smeri med seboj
razmaknjene v razmerju 1:2:3:4. Te smeri imenujemo uklonski redi, celotnemu pojavu pa
uklon. Young je bil prvi, ki je ločil barve po njihovi valovni dolžini.
Mejnike v spektralni analizi je postavil Kirchoff. Uklon je strogo obravnaval z
upoštevanjem elektromagnetne teorije valovanja in Maxwellovih enačb [2]. Njegova
obravnava je postala povod za nove načine spektralne analize, za izum novih aplikacij,
prav tako povod za izume novih optičnih detektorjev, kasneje tudi linearnih detektorjev ter
izume novih naprav z večjimi hitrostmi in boljšimi občutljivostmi.
Spektralni analizatorji so bili izdelani v specialnih oblikah [1] za različna spektralna
območja: infra rdeča spektralna analiza, Ramanova spektralna analiza, spektralna analiza
absorpcije atomov, flourescentna spektralna analiza, analiza barve.
Danes se spektralni analizatorji uporabljajo zaradi specifičnega spektra, ki ga srečamo v
optičnih komunikacijah. Analizatorji omogočajo merjenje spektralnih lastnosti optičnih
naprav in sistemov, opazovanje spektra laserskih virov. Za optične komunikacije so
značilna tri valovnodolžinska področja, kjer opazujemo spekter. Prvo področje je pri
Nizkocenovni optični spektralni analizator Stran 2
valovni dolžini 850 nm, ki je znano tudi kot prvo telekomunikacijsko okno ali prvo
spektralno okno. Tukaj so prisotne mnogorodovne komunikacije. Drugo področje je pri
valovni dolžini 1300 nm, znano tudi kot drugo telekomunikacijsko okno ali drugo
spektralno okno. Tukaj prevladuje minimalna snovna disperzija [2], potekajo eno-kanalne
povezave. Tretje področje je pri valovni dolžini 1550 nm, znano kot tretje
telekomunikacijsko okno ali tretje spektralno okno. To je področje z najmanjšim
slabljenjem v silicijevem vlaknu.
Potreba po spektralnih analizatorjih oziroma spektralni analizi je prav tako narasla zaradi
pojava WDM in EDFA.
Danes v optičnih komunikacijah prevladujejo optični spektralni analizatorji visokih
ločljivosti. Namen diplomske naloge je dokazati, da lahko s preprostimi komponentami
sestavimo preprosti oziroma nizkocenovni optični spektralni analizator. Cilj je dobiti čim
večjo ločljivost sistema.
Nizkocenovni optični spektralni analizator Stran 3
2 OPTIČNI SPEKTRALNI ANALIZATORJI
Optični spektralni analizatorji so instrumenti [3], ki analizirajo svetlobo glede na valovno
dolžino. So pomembni instrumenti v vsakdanji uporabi. Najpogosteje se uporabljajo za
opazovanje spektra optičnih laserskih virov, prav tako pa se uporabljajo tudi za opazovanje
spektra pasivnih elementov (vlakna, filtri, itd.) in aktivnih elementov (optični viri,
ojačevalniki, itd) v optičnih zvezah, pri ločevanju kanalov WDM komunikacijskih
sistemov, pri meritvah spektra modulirane svetlobe, pri merjenju optične moči ter drugod.
Optični spektralni analizatorji so dimenzionirani na tri specifična področja valovnih dolžin.
To je področje z valovno dolžino 850 nm, 1300 nm in področje z valovno dolžino 1550
nm.
2.1 Delovanje
Glede na fizikalni način delovanja ločimo optične spektralne analizatorje na disperzijske in
interferenčne. Med disperzijske sodijo tisti, katerih disperzni element je prizma ali
uklonska mrežica, med interferenčne pa tisti, katerih disperzni element je Fabry-Perot
resonator ali Michelsonov interferometer.
Preprost način delovanja lahko opišemo tako, da na vhod optičnega spektralnega
analizatorja pripeljemo vir svetlobe. Za vhodom postavimo kolimator1. Kolimirano
svetlobo analizira disperzni element, ter jo s pomočjo zbiralne leče usmeri na detektor.
Detektor nato analiziran optični signal pretvori v električnega, katerega je potrebno še
dodatno obdelati. Električni signal nosi informacijo o jakosti optičnega spektra in obliki.
Preprosta shema optičnega spektralnega analizatorja je prikazana na sliki 2.1.
1 Kolimator - leča, ki snop svetlobe, ki vstopa skozi vstopno odprtino, preoblikuje v vzporeden snop.
Nizkocenovni optični spektralni analizator Stran 4
VIR DETEKTOR
DISPERZNI
ELEMENT
KO
LIM
AT
OR
ZB
IRA
LN
A
LE
ČA
Slika 2.1: Osnovna shema optičnega spektralnega analizatorja
2.2 Prizemski optični spektralni analizator
Prizemski optični spektralni analizator [3] je bil prvi optični spektralni analizator. Njegov
disperzni element je prizma. Prizma svetlobo ukloni, ker je lomni količnik snovi odvisen
od valovne dolžine vpadne svetlobe. Krajše valovne dolžine se pri prehodu skozi prizmo
bolj lomijo, lomni koti pa niso sorazmerni z valovnimi dolžinami. Lom svetlobe različnih
valovnih dolžin pri prehodu skozi prizmo je prikazan na sliki 2.2.
PRIZMA
1 2<
1 2
2
1
Slika 2.2: Lom svetlobe pri prehodu skozi prizmo
Osnovna shema prizemskega optičnega analizatorja je prikazana na sliki 2.3. Svetloba
najprej vstopa v spektralni analizator skozi vhodno odprtino in nato vpade na kolimator.
Vzporedni žarki se nato usmerijo proti prizmi. Pri prehodu skozi prizmo se svetloba
ukloni. Ta se nato s pomočjo zbiralne leče zbere na zaslonu, kjer dobimo črtast vzorec.
Vsaki črti vzorca pripada svoja valovna dolžina. Na zaslonu je po navadi nameščen
silicijev ali germanijev detektor. Silicijev detektor je namenjen valovnim dolžinam med
400 in 1000 nm, germanijev pa valovnim dolžinam med 1000 in 1800 nm.
Nizkocenovni optični spektralni analizator Stran 5
PRIZMA
ZBIRALNA LEČA
KOLIMATOR
VHODNA
APERTURA
ZASLON
Slika 2.3: Prizemski optični spektralni analizator
Resolucija optičnega spektralnega analizatorja s prizmo je odvisna od kotne disperzije, ki
je definirana z enačbo:
d
d (2.1)
Kjer je:
Θ - izhodni kot razklonjene svetlobe iz prizme
λ – valovna dolžina
Poglavitne praktične omejitve prizemskega optičnega spektralnega analizatorja so
nehomogenost, čistost in izotropnost materiala, želena lastnost pa je transparentnost.
Zaradi omejitev prizemski optični spektralni analizator v optičnih komunikacijah ni
dosegel velikega uspeha. Kasneje so ga nadomestili optični spektralni analizatorji z
uklonsko mrežico.
2.3 Fabry-Perot optični spektralni analizator
Fabry-Perot optični spektralni analizator (Slika 2.4) [3] izkorišča interferenco več optičnih
valov. Disperzni element je Fabry-Perot etalon. S pomočjo delnega odboja proizvaja vrsto
koherentnih virov svetlobe, ki med seboj interferirajo. Vsota nastalih interferenčnih prog je
podana z enačbo:
Nizkocenovni optični spektralni analizator Stran 6
2
n
pnEI (2.2)
Kjer je:
I – gostota svetlobnega toka
E – električna poljska jakost posameznega žarka
Izstopajoči valovi se med seboj razlikujejo po amplitudi, ki vpada po geometrijskem
zaporedju. Fazni zamik med sosednjimi valovi je konstanten.
VIR
VHODNA
APERTURA
ETALON
IZHODNA
APERTURA
DETEKTOR
Slika 2.4: Fabry-Perot optični spektralni analizator
Disperzni element oziroma etalon sta največkrat ravni ali konfokalni zrcali z visoko
odbojnostjo (R ≈ 99 %), zato ločimo dva različna optična spektralna analizatorja. To sta
planarni (Slika 2.5) in konfokalni (Slika 2.6) Fabry-Perot optični spektralni analizator.
Planarni je težje nastavljiv, saj je potrebno zrcali nastaviti vzporedno. Njegova prednost je
v širšem spektralnem področju.
Nizkocenovni optični spektralni analizator Stran 7
d
ns
ns
nz
1
2
1
Slika 2.5: Planarni optični resonator
Konfokalni Fabry-Perot optični spektralni analizator ima manjše spektralno področje, a je
manj občutljiv na vzporednost zrcal. Žarki, ki bi morebiti izstopili iz resonatorja, se zaradi
geometrijskih lastnosti odbijejo nazaj proti središču resonatorja.
m1 m2
R R
d = r
Slika 2.6: Konfokalni optični resonator
Nizkocenovni optični spektralni analizator Stran 8
Svetlobni valovi, ki dosežejo detektor, tvorijo Airyjevo funkcijo gostote svetlobnega toka.
Funkcija se zaradi geometrijskih oblik resonatorja razlikuje. Pri planarnem resonatorju je
podana z enačbo:
2sin
1
41
1
2
2
R
RII vp (2.3)
Pri konfokalnem resonatorju pa z enačbo:
2sin
1
41
1
2
22
2
R
RII vp (2.4)
Konfokalni zrcali imata manjše uklonske izgube in zmanjšano občutljivost za napake zrcal.
Konfokalni etalon je boljša izbira, ker omogoča lažje dosegljivo visoko fineso2 in večjo
ločljivost. Razlika je vidna tudi v pol manjšem spektralnem področju in pri maksimalni
prepustnosti, ki je prav tako za polovico manjša od vrednosti, ki nastopa pri planarnem
etalonu.
2.4 Optični spektralni analizator s Fourierjevo analizo
Disperzni element optičnega spektralnega analizatorja je interferometer. Ponavadi je to
Michelsonov interferometer [4], ki je sestavljen iz delilnika žarkov in dveh ogledal, enega
nepremičnega zrcala in enega premičnega zrcala. Delilnik je navadno prevlečen z več
slojev kalijevega bromida (KBr). Takšen delilnik navadno uporabljamo pri spektralni
analizi IR3 svetlobe, saj kalijev bromid zagotavlja minimalno absorpcijo, prav tako pa
zagotovi delitev svetlobe 50:50.
Funkcionalnost Michelsonovega interferometra (Slika 2.7) temelji na kolimaciji žarka.
Žarek je neposredno usmerjen na delilnik, ki žarek razdeli na dva dela enakih
intenzivnosti. Žarka sta nato odbita od zrcal nazaj do delilnika, kjer se združita in med
2 Finesa – razmerje med razmikom spektralnih črt resonatorja in spektralno širino pri polovični vrednosti
maksimuma 3 IR – svetloba z valovno dolžino, ki z vidom ni zaznavna; valovna dolžina med 780 nm in 1 mm
Nizkocenovni optični spektralni analizator Stran 9
seboj interferirata. Sprememba v premičnem zrcalu povzroči spremembe optičnih poti med
dvema žarkoma. Združena žarka se nato usmerita proti detektorju.
VHOD
DETEKTOR
PREMIČNO
ZRCALO
NEPREMIČNO ZRCALO
KOLIMATOR
ZBIRALNA LEČA
Delilnik žarka
x
Slika 2.7: Michelsonov interferometer s premičnim zrcalom
Predpostavimo, da je svetloba, ki vstopa v interferometer, monokromatska4 [2] in ima
valovno dolžino λ. Prav tako predpostavimo, da sta zrcali identični, pri čemer je eno zrcalo
premikajoče. Delilno razmerje žarkov je 50:50. Kadar svetlobna snopa, izstopajoča iz
delilnika, nimata faznega zamika, je moč, ki prihaja na detektor, funkcija razdalje x in je
podana s funkcijo:
4 Monokromatska svetloba – svetloba z eno samo in konstantno frekvenco
Nizkocenovni optični spektralni analizator Stran 10
xxP
2cos1 (2.5)
Kjer je:
x – razlika optičnih poti oziroma dvakratna razdalja med legama
premikajočega se zrcala
Pri polikromatski svetlobi je izhodna moč vsota neodvisnih prispevkov vsake valovne
dolžine in je podana s funkcijo:
dxSdSdxSxP
2
cos2
cos100
(2.6)
Izhodna moč je sestavljena iz dveh delov. Prvi del funkcije (2.6) je konstanta:
dS
0
(2.7)
V drugem delu funkcije (2.6) je vsebovana spreminjajoča spektralna informacija:
dxSxF
2
cos0
(2.8)
S kosinusno transformacijo funkcije (2.8) dobimo obliko spektra:
dxxxFS
2cos
0
(2.9)
Funkcija 2.9 nam pove, da mora biti F(x) znana za vse vrednosti x. Naj bo X maksimalna
vrednost razlike optičnih poti v interferometru. S tem dobimo normalizirano funkcijo
instrumenta, ki se glasi:
Nizkocenovni optični spektralni analizator Stran 11
X
X
xH
2
2sin
(2.10)
V primeru, ko ne poznamo ničelne razlike optičnih poti, je spekter, ki je izračunan s
pomočjo funkcije (2.9), napačen. Obstajajo pa matematične metode, ki ta problem rešijo,
vendar so kompleksnejše.
Funkcijo izhodne moči P(x) ne moremo izmeriti v vseh točkah, zato jo vzorčimo. Spekter
lahko izračunamo s pomočjo vsote:
n
n
nn xxFS
2cos (2.11)
Vzorčimo z dvakrat večjo frekvenco, kot jo imamo na izhodu. Če je λmin najkrajša valovna
dolžina spektra, vzorčimo, ko se razlika optičnih poti spremeni za λmin/2 oziroma razdalja
med zrcaloma za λmin/4. Zahtevano število meritev je podano z izrazom:
min
2
XN (2.12)
Resolucija tega spektralnega analizatorja je določena z maksimalno razliko optičnih poti
žarkov, ki jo povzroči premikajoče zrcalo. Pomembno je vzdrževati optično poravnavo
interferometra med premikanjem zrcal, saj se lahko efektivnost interferometra zmanjša.
Učinkovitost optičnega spektralnega analizatorja je podana s krožno vhodno odprtino, s
katero določamo želeno spektralno ločljivost. Vhodna odprtina je navadno 75 do 100-krat
večja kot pri disperzijskih optičnih spektralnih analizatorjih. Če želimo večjo ločljivost,
moramo vhodno odprtino zmanjšati, s tem pa tudi zmanjšamo signal, ki pride do
detektorja. Lastnost instrumenta je izredna frekvenčna zmogljivost, ki je zelo pomembna v
spektralni analizi. Pomembno je tudi omeniti, da je spektralni analizator zelo odziven. Čas,
ki je potreben za eno skeniranje, je med 0,01 sekunde in 1 sekundo, odvisno od spektralne
ločljivosti in odziva detektorja.
Nizkocenovni optični spektralni analizator Stran 12
2.5 Optični spektralni analizator z uklonsko mrežico
Optični spektralni analizator, katerega disperzni element je uklonska mrežica, je v
sedanjem času najbolj uporabljen spektralni analizator, zato ga bomo obravnavali bolj
podrobno. Ločimo tri različne spektralne analizatorje glede na disperzni element. To so
optični spektralni analizatorji z odbojno uklonsko mrežico, s prepustno uklonsko mrežico
ter optični spektralni analizatorji s konkavno uklonsko mrežico. Primer komercialnega
optičnega spektralnega analizatorja je na sliki 2.8.
Slika 2.8: Optični spektralni analizator ANDO AQ6317B
2.5.1 Uklonska mrežica
Poznamo več vrst uklonskih mrežic. To so odbojne, prepustne in konkavne uklonske
mrežice. Način delovanja je pri vseh podoben.
Kadar usmerimo kolimiran snop svetlobe proti uklonski mrežici [5], opazimo da se le-ta
ukloni. Pri odbojni uklonski mrežici, ki je najpogosteje uporabljen element v sodobnih
optičnih spektralnih analizatorjih, je vzrok za uklon površina uklonske mrežice, pri kateri
lahko vsako režo predstavljamo kot točkast izvor svetlobe. V smereh, kjer so valovne
fronte posameznih izvorov svetlobe v fazi, pride do tvorbe ravninskih valovnih front
uklonjene svetlobe (Slika 2.9).
Nizkocenovni optični spektralni analizator Stran 13
SVETLOBNO VALOVANJE
OZKI IZVOR
d
SOFAZNE RAVNINSKE
VALOVNE FRONTE
SOFAZNE
TOČKE
m = 1
m = 2
m = 3
m = 0
Slika 2.9: Tvorba ravninskih valovnih front pri prehodu skozi prepustno uklonsko mrežico
Razmere lahko na nekoliko drugačen način opišemo z odbojno uklonsko mrežico. Vpadna
svetloba vpada na uklonsko mrežico pod določenim kotom. Vsi žarki se v skladu z
odbojnim zakonom odbijejo pod istim kotom glede na normalo. Kjer se med seboj srečajo
odbiti žarki, dobimo ponekod sofazne točke, ki tvorijo naslednje valovne fronte (Slika
2.10):
(0) - ničelni red, kjer je fazna razlika med točkami enaka nič
(-1) - prvi red, kjer je fazni zamik med sosednjima žarkoma enak periodi valovanja
(-2), (-3), (-m) – m-ti red, kjer so točke sosednjih žarkov zamaknjene za 2, 3, m
period valovanja
Nizkocenovni optični spektralni analizator Stran 14
12
34
56
74
7
10
3
5
7
9
11 13
77
7 7
(0)
(-1)
(-2)
(-3)
(0)
(-1)
(-2)(-3)
Slika 2.10: Valovne fronte na odbojni uklonski mrežici
Zadevo bomo pogledali podrobneje. Svetlobni žarek usmerjen proti uklonski mrežici
vpada pod kotom θi glede na njegovo normalo. Razlika poti, ki jo dobimo, ko se žarka
sosednjih rež odbijeta od površine v smeri θid (Slika 2.11), je enaka dsin θi - dsin θd, pri
čemer je d razdalja med dvema režama.
Slika 2.11: Fazna razlika med žarkoma, ki se odbijeta od sosednjih rež
Pogoj za nastanek valovnih front je sofaznost točk, zato mora biti zgoraj omenjena razlika
poti enaka nič ali pa celoštevilčni večkratnik valovne dolžine, kar lahko zapišemo z
enačbo:
Nizkocenovni optični spektralni analizator Stran 15
,...2,1,0,sinsin md
mid
(2.13)
Kjer je:
θi – vpadni kot svetlobe
θd – kot uklonjene svetlobe
d – razdalja med dvema režama
m – uklonski red
λ – valovna dolžina svetlobe
Enačba (2.13) je znana tudi kot enačba uklonske mrežice. Kadar sta vpadni kot svetlobe in
kot uklonjene svetlobe enaka (θi = θd), dobi enačba (2.13) novo obliko:
d
md
2sin
(2.14)
Kadar je m=0, se uklonska mrežica obnaša kot ravno zrcalo. To pomeni, da se v osnovnem
redu nahajajo vse valovne dolžine vpadne svetlobe. Za redove različne od nič (m≠0) velja,
da je kot uklonjene valovne fronte odvisen od valovne dolžine. Zaradi tega se različne
valovne dolžine uklanjajo pod različnimi koti.
Iz enačb (2.13) in (2.14) je razvidno, da imata rešitev pri več vrednostih m-ja. Rešitev
obstaja tako dolgo, dokler je izpolnjen pogoj:
1sin d (2.15)
V tem primeru govorimo o realnih uklonski redovih. Kadar pa pogoj ni izpolnjen, pa
govorimo o evanescentnih uklonskih redovih.
Iz enačbe (2.13) je razvidno eno pomembno dejstvo. Pri izbranem vpadnem kotu svetlobe
in frekvenci uklonske mrežice obstaja neskončno število valovnih dolžin, ki se uklonijo v
enaki smeri. Valovna dolžina λ prvega uklonskega reda sovpada z valovno dolžino λ/2
drugega uklonskega reda, valovna dolžina λ/3 pa tretjega uklonskega reda itd. Posledica
tega je prekrivanje spektralnih komponent.
Nizkocenovni optični spektralni analizator Stran 16
2.5.1.1 Spektralno območje
Čisto spektralno območje (FSR) imenujemo interval ∆λ [5], v katerem ne prihaja do
medsebojnega prekrivanja spektralnih komponent. Mejni valovni dolžini FSR sta λ1 in λ1 +
∆λ, kjer valovna dolžina λ1 + ∆λ iz m-tega uklonskega reda sovpada z λ1 (m+1)-tega
uklonskega reda, kar lahko zapišemo kot:
11 1 mm (2.16)
Iz enačbe (2.16) dobimo izraz za FSR, ki je:
mF
(2.17)
Na podlagi zgornje enačbe lahko predpostavimo, da je čisto spektralno območje
sorazmerno z valovno dolžino ter obratno sorazmerno z m-tim uklonskim redom.
2.5.1.2 Disperzija uklonske mrežice
Naloga uklonske mrežice je prostorska razpršitev svetlobe glede na njeno valovno dolžino.
Merilo ločitve različnih spektralnih komponent svetlobe imenujemo disperzija [5]. Ločimo
kotno in linearno disperzijo. Osredotočili se bomo predvsem na kotno disperzijo.
Pri kotni disperziji ločimo spektralno področje na enoto kota uklonjene svetlobe.
Definiramo jo lahko kot spremembo kota uklonjene svetlobe dθd pri spremembi valovne
dolžine dλ, kar lahko pokažemo z enačbo, ki jo dobimo, če odvajamo enačbo uklonske
mrežice po valovni dolžini:
d
d
d
m
d
d
cos (2.18)
Iz enačbe (2.18) je razvidno, da z večjo frekvenco rež zagotavljamo večjo kotno
disperzijo. Kotna disperzija je večja v višjih uklonskih redovih, saj je tam prisotno ožje
področje valovnih dolžin. Če vstavimo enačbo (2.13) v zgornji izraz dobimo splošni izraz
za kotno disperzijo:
Nizkocenovni optični spektralni analizator Stran 17
d
did
d
d
cos
sinsin1
(2.19)
Kadar sta kot vpadne svetlobe in kot uklonjene svetlobe enaka (θi = θd), enačbo (2.19)
poenostavimo v obliko:
dd
d
d
tan
2
(2.20)
2.5.1.3 Ločljivost uklonske mrežice
Sosednje spektralne komponente ločimo z veličino R, ki je ločljivost uklonske mrežice [5].
Če upoštevamo Rayleigh-jev kriterij, ki pravi da sta dve spektralni komponenti enakih
amplitud ločeni, kadar minimum ene sovpada z maksimumom druge spektralne
komponente, lahko ločljivost uklonske mrežice definiramo kot razmerje povprečne
valovne dolžine λ dveh opazovanih spektralnih komponent in njune razlike ∆λ:
R (2.21)
pri čemer je ∆λ zgornja meja ločljivosti, kar pomeni, da sosednjih spektralnih komponent
λ1 in λ2, katerih razlika je manjša od ∆λ ne moremo razločiti.
Ločljivost ravne uklonske mrežice lahko opišemo z naslednjim izrazom:
NmR (2.22)
Kjer je:
N – celo število osvetljenih rež uklonske mrežice
|m| - upoštevamo absolutno vrednost, saj je ločljivost
neodvisna od predznaka
Ker m in N nista neodvisni veličini, zapišemo naslednjo enačbo:
Nizkocenovni optični spektralni analizator Stran 18
idid
WNdR sinsinsinsin
(2.23)
Kjer je:
W – širina osvetljenega dela uklonske mrežice
Iz enačbe (2.23) je razvidno, da ločljivost uklonske mrežice ni neposredno odvisna od
uklonskega reda m. Ob upoštevanju pogoja:
2sinsin id (2.24)
ugotovimo, da je zgornja teoretična meja za ločljivost ne glede na red m in število rež N
naslednja:
WR
2max (2.25)
2.5.1.4 Učinkovitost uklonske mrežice
Fizikalna veličina, ki definira razporeditev optične moči med uklonskimi redovi
imenujemo učinkovitost uklonske mrežice [5]. Učinkovitost lahko v praksi izmerimo na
enostaven način. Izmeriti je le potrebno vpadno in uklonjeno gostoto svetlobnega toka ter
izračunati njuno razmerje. To je tako imenovana absolutna učinkovitost.
2.5.2 Optični spektralni analizator z odbojno uklonsko mrežico
Disperzni element tega spektralnega analizatorja je odbojna ravna uklonska mrežica [3].
Preprosta shema takšnega optičnega spektralnega analizatorja je prikazana na sliki 2.12.
Nizkocenovni optični spektralni analizator Stran 19
ODBOJNA
UKLONSKA
MREŽICA
KOLIMATOR
ZBIRALNA LEČA
ZASLONKA Z
DETEKTORJEM
VIR
Slika 2.12: Optični spektralni analizator z odbojno uklonsko mrežico
Spektralni analizator ima takoj za vhodom postavljen kolimator, ki svetlobo usmeri proti
uklonski mrežici. Na podlagi valovne dolžine kolimirane svetlobe in izračuna za kotno
disperzijo se zaslonka, na kateri je nameščen ustrezen detektor, postavi v ustrezen položaj
za skeniranje določene spektralne komponente. Spektralne komponente oziroma uklonski
redi so prikazani na sliki 2.13. Pred zaslonko oziroma detektorjem je postavljena še
zbiralna leča, ki odbite žarke ustrezno zbere na detektorju.
Nizkocenovni optični spektralni analizator Stran 20
NORMALA
ODBOJ, OSNOVNI RED
VSTOPNI ŽAREK
-1. RED
1. RED2. RED
3. RED
Slika 2.13: Uklon na odbojni uklonski mrežici
2.5.3 Optični spektralni analizator s prepustno uklonsko mrežico
Funkcionalnost optičnega spektralnega analizatorja s prepustno uklonsko mrežico [3] je
podobna kot pri spektralnem analizatorju z odbojno uklonsko mrežico s to razliko, da
svetloba prodre skozi uklonsko mrežico. Ta je sestavljena iz velikega števila tankih rež
oziroma iz temnih in svetlih področij (Slika 2.14).
Slika 2.14: Temna in svetla področja uklonske mrežice
Ko svetloba prodre skozi reže, se ukloni. Nastajajo nove ravninske valovne fronte. Reže
uklonske mrežice določajo kotno disperzijo. Bolj kot so skupaj, večja je kotna disperzija,
kar pomeni, da se višji redi bolj uklanjajo (Slika 2.15). O tem govori tudi enačba uklonske
mrežice.
Nizkocenovni optični spektralni analizator Stran 21
UKLONSKA
MREŽICA
1
2
Osnovni red
Prvi red
Drugi red
Tretji red
Četrti red
Slika 2.15: Uklonski redi
Reže določajo tudi širino uklonskih maksimumov (Slika 2.16). Večje kot je število rež,
manjša je širina glavnih interferenčnih maksimumov. Prav tako narašča število dodatnih
interferenčnih maksimumov. Amplitude dodatnih maksimumov postajajo nepomembne v
primerjavi z osrednjim maksimumom in z bližnjimi glavnimi interferenčnimi maksimumi.
Pri velikem številu rež lahko govorimo o temnih presledkih, ki se nahajajo med glavnimi
interferenčnimi maksimumi.
d
1
2
Slika 2.16: Uklonski maksimumi
Nizkocenovni optični spektralni analizator Stran 22
Optični spektralni analizatorji s prepustno uklonsko mrežico so uporabljeni redkeje, kot
tisti z odbojno uklonsko mrežico.
VIR
ZBIRALNA LEČA
ZA
SL
ON
KA
Z
DE
TE
KT
OR
JE
M
KOLIMATOR
PREPUSTNA
UKLONSKA MREŽICA
Slika 2.17: Optični spektralni analizator s prepustno uklonsko mrežico
2.5.4 Optični spektralni analizator s konkavno uklonsko mrežico
Takšni spektralni analizatorji so vse bolj uporabljeni v optičnih komunikacijah. Disperzni
element, ki je konkavna uklonska mrežica [3], ima reže na cilindrični zrcalni površini.
Osnovni pojem, ki ga srečamo pri vseh spektrometrih s konkavno uklonsko mrežico je
Rowlandov krog (Slika 2.18). Rowland je namreč ugotovil, da leži goriščna ravnina
uklonske mrežice na krožnici s polmerom enakim polovici polmera njene ukrivljenosti
Nizkocenovni optični spektralni analizator Stran 23
VIR
NORMALA
Rowlandov krog
Konkavna uklonska mrežica
s polmerom R
1
2
3
Slika 2.18: Konkavna uklonska mrežica z polmerom ukrivljenosti R
S to uklonsko mrežico prihranimo potrebe po nekaterih drugih gradnikih spektralnih
analizatorjev. Izpustimo lahko npr. kolimator, saj konkavna uklonska mrežica že sama
kolimira svetlobo in jo hkrati ukloni. Ta uklonska mrežica ima eno veliko prednost. Njena
zbiralna lastnost je zelo pomembna pri merjenju spektra svetlobe z valovnimi dolžinami
manjšimi kot 110 nm. V tem primeru je odbojnost zrcal zelo nizka, kar lahko povzroči
velike izgube svetlobne moči.
Nizkocenovni optični spektralni analizator Stran 24
VIR KONKAVNA
UKLONSKA
MREŽICA
ZBIRALNA LEČA
ZASLONKA Z
DETEKTORJEM
Slika 2.19: Optični spektralni analizator s konkavno uklonsko mrežico
Nizkocenovni optični spektralni analizator Stran 25
3 OPIS SISTEMA
Nizkocenovni optični spektralni analizator je namenjen za merjenje spektralnih komponent
nizkih ločljivosti. Svetloba, ki vstopa v sistem, se na optičnem delilniku razdeli v dve veji.
Prva veja je slepa in je neuporabna. Da preprečimo povratni vpliv odbite svetlobe iz prve
veje, optično vlako na koncu odlomimo (svetloba se razprši in ne odbije nazaj) ali pa konec
vlakna damo v poseben gel z enakim lomnim količnikom, kot ga ima samo vlakno. Druga
veja pelje do senzorja. Tukaj se del svetlobe odbije nazaj proti delilniku. Svetloba se
ponovno deli. Del le-te se vrne proti viru, ki ga zanemarimo, drugi del (uporaben del)
svetlobe pa pride do leče, ki to svetlobo kolimira. Kolimirana svetloba nato doseže
prepustno uklonsko mrežico, kjer se ukloni. Na zbiralno lečo usmerimo prvi uklonjeni red,
ga razpršimo ter usmerimo proti detektorju, ki je povezan z mikrokrmilnikom. Obdelane
podatke na mikrokrmilniku preko vmesnika RS-232 pošljemo na računalnik, kjer jih
dodatno obdelamo, izračunamo določene parametre in vse skupaj prikažemo na grafičnem
vmesniku.
Sistem lahko razdelimo na tri glavne enote:
optični del,
elektronski del in
programski del.
OPTIČNI
DEL
ELEKTRONSKI
DEL
PROGRAMSKI
DEL
Slika 3.1: Blokovna shema sistema
Nizkocenovni optični spektralni analizator Stran 26
3.1 Optični del
V optičnem delu bomo predstavili vir svetlobne energije (superluminescenčna dioda),
sredstvo za prenos svetlobnega valovanja (enorodovno vlakno), optični delilnik, senzor, ki
deluje na principu Fabry-Perot interferometra, katerega smo uporabili za umerjanje
optičnega spektralnega analizatorja, prepustno uklonsko mrežico, kolimator, zbiralno in
razpršilno lečo.
SLD
SENZOR
OPTIČNI DELILNIK
Enorodovno vlakno
KOLIMATOR
PREPUSTNA
UKLONSKA
MREŽICA
ZBIRALNA
LEČA
RAZPRŠILNA
LEČA
Slika 3.2: Shema optičnega dela
3.1.1 Superluminescenčna dioda
Superluminescenca oziroma ojačana spontana emisija (ang. Amplified Spontaneous
Emission - ASE) je svetloba, ki nastane zaradi spontane emisije, ki je bila optično ojačana
s stimulirano emisijo.
Nizkocenovni optični spektralni analizator Stran 27
Spontana emisija (Slika 3.3) je proces [1], kjer atom iz stanja 2 preide v stanje 1, pri čemer
atom odda razliko v energiji v obliki fotona. Foton je oddan spontano, smer, polarizacija in
faza fotona so poljubne, njegova frekvenca pa je določena z razliko, ki nastane med
energijskima nivojema.
2
1
2
1
Prvotno stanje Kasnejše stanje
Prehod atoma
Slika 3.3: Spontana emisija
Stimulirana emisija (Slika 3.4) je proces [1], kjer stimuliran prehod ne nastopi spontano,
ampak ga povzroči foton iz okolja. Atom preide iz stanja 2 v stanje 1, pri čemer mora na
atom delovat foton z energijo enako razliki med energijskima nivojema 1 in 2. Foton, ki se
pri tem procesu odda, se giblje v enaki smeri kot foton, ki je povzročil stimuliran prehod.
Prav tako ima enako fazo, polarizacijo in frekvenco.
2
1
2
1
Prvotno stanje Kasnejše stanje
Prehod atoma
Slika 3.4: Stimulirana emisija
Superluminescenčna dioda (SLD) [6] (Slika 3.5), uporabljena v sistemu ima zelo širok
optični spekter. Spektralna širina znaša 50 nm. Maksimalno spektralno območje je
Nizkocenovni optični spektralni analizator Stran 28
neomejeno. Tipična izhodna optična moč diode je 1,25 mW, maksimalna pa je lahko
mnogo višja.
Slika 3.5: Superluminescenčna dioda SLD-371-MP-DIL-SM-PD
Diodo krmilimo tokovno s krmilnikom (Slika 3.6). Izhodna moč in tok sta premo
sorazmerna, kar pomeni, da z večanjem toka, večamo tudi izhodno optično moč diode.
Povprečni krmilni tok je 150 mA, največji možen pa 220 mA. Centralna valovna dolžina
svetlobe, ki jo dioda izseva, je 835 nm, maksimalna pa 850 nm.
Slika 3.6: Krmilnik za SLD
3.1.2 Enorodovno optično vlakno
Optična vlakna so sestavljena iz jedra [7], obloge in primarne zaščite (Slika 3.7). So
prenosni medij svetlobe. Glede na valovodne lastnosti delimo vlakna na:
mnogorodova vlakna in
enorodovna vlakna
Nizkocenovni optični spektralni analizator Stran 29
JEDRO OBLOGAPRIMARNA
ZAŠČITA
Slika 3.7: Zgradba optičnega vlakna
Optična vlakna so v večini primerov grajena iz SiO2 (silicijev dioksid - steklo). Steklo ima
majhno slabljenje (0,2 dB/km).
V primerjavi z mnogorodovnimi optičnimi vlakni, imajo enorodovna optična vlakna jedro
z manjšim premerom. Pri enorodovnih vlaknih vodi le en rod (Slika 3.8). Enorodovno
vlakno smo prav tako uporabili za izdelavo senzorja.
Slika 3.8: Osnovni rod v enorodovnem optičnem vlaknu
Standardni premer (Slika 3.9) jedra je med 8 in 10 μm (mnogorodovna imajo premer jedra
med 50 in 100 μm). Takšna enorodovna vlakna so standardna za uporabo pri valovnih
dolžinah 1300 in 1550 nm. V sistemu smo uporabili posebno enorodovno optično vlakno s
premerom jedra 6 μm, saj je pri tem vlaknu in valovni dolžini 850 nm, prisoten samo
osnovni rod vlakna.
Nizkocenovni optični spektralni analizator Stran 30
a) b)
8-10 µm 4-6 µm
125 µm 125 µm
Slika 3.9: a) Standardno enorodovno vlakno b) posebno enorodovno vlakno
Pojem, ki nam opisuje pod katerimi koti optično vlakno lahko še sprejme svetlobo (Slika
3.10), da se zagotovi pogoj za popolni notranji odboj, imenujemo numerična odprtost (NA)
in je opisana z enačbo:
sNA sin (3.1)
Kjer je:
NA – numerična odprtost
αs – največji možni kot, pod katerim vlakno še lahko sprejme
svetlobo, da zagotovi pogoj za popolni notranji odboj
Do popolnega notranjega odboja pride na meji med jedrom in oblogo, saj je lomni količnik
jedra večji kot lomni količnik obloge. Popolni notranji odboj opisuje enačba 3.2.
Nizkocenovni optični spektralni analizator Stran 31
vppvp
v
p
v nnn
n ,,sinsin (3.2)
Kjer je:
Θv – vpadni kot svetlobe glede na normalo
Θp – lomljeni kot, ki pri popolnem odboju znaša 90°
nv – lomni količnik vstopnega medija
np – lomni količnik medija, skozi katerega svetloba prehaja
s
Slika 3.10: Največji sprejemni kot vlakna
Enorodovno optično vlakno največkrat uporabljamo za komunikacije na dolge razdalje in v
širokopasovnih komunikacijah.
3.1.3 Optični delilnik
V sistemu smo uporabili optični delilnik (Slika 3.11), ki je primeren za valovno dolžino
850 nm. Sklopimo ga z enorodovnimi optičnimi vlakni. Delilno razmerje je 50%, kar
pomeni da se vstopna optična moč v optimalnem primeru razdeli na dva enaka dela.
DELILNO OBMOČJE
P P/2
P/2
Slika 3.11: Optični delilnik sistema
Nizkocenovni optični spektralni analizator Stran 32
Delitev optične moči v delilnem območju lahko poteka na več različnih načinov. Optična
moč se lahko iz enega vlakna deli v drugo že ko sta vlakni dovolj blizu skupaj. Obstajajo
pa še druge tehnike delitve (Slika 3.12). Vlakna so lahko med seboj zvita ena okoli druge,
med seboj so lahko staljena, itd.
a) Zvito delilno območje
b) Staljeno delilno območje
Slika 3.12: Dve izmed mnogih tehnik izdelave delilnika
3.1.4 Senzor
Za umerjanje optičnega spektralnega analizatorja smo uporabili senzor raztezka (Slika
3.13), ki deluje na principu Fabry-Perot interferometra (Slika 3.14).
Sestava senzorja je preprosta. Enorodovno optično vlakno smo spojili s kapilaro5, za njo pa
spojili še eno optično vlakno. Prvo optično vlakno deluje kot vir svetlobe, drugo vlakno pa
kot odbojna površina.
ENORODOVNO
OPTIČNO VLAKNOKAPILARA
ENORODOVNO
OPTIČNO VLAKNO
Slika 3.13: Senzor
5 Kapilara – optično vlakno brez jedra
Nizkocenovni optični spektralni analizator Stran 33
Fabry-Perot interferometer [9] sestavljata dve vzporedni polprepustni zrcali, ki skupaj
tvorita optični resonator. Svetloba, ki pride v resonator, interferira. Vrednost izhodnega
svetlobnega toka je odvisna od valovne dolžine svetlobe in razdalje med zrcaloma. Senzor
deluje kot optični resonator, pri čemer vlakni delujeta kot odbojni površini, torej zrcali,
dolžina kapilare pa določa konstantno razdaljo med njima.
Odbojni površini
n
EI
EVE1
E2
L
optično vlakno
Slika 3.14: Fabry-Perot interferometer
Fabry-Perot senzor raztezka smo uporabili za procesiranje na osnovi spektralne analize.
Metoda na takšni osnovi je najpopolnejša, saj omogoča absolutno določitev optične poti v
Fabry-Perot interferometru. Svetlobo, odbito od interferometra, analiziramo s spektralnim
analizatorjem. Točnost meritve je odvisna od širine spektra svetlobe, ki jo oddaja vir
svetlobe. Optično pot v Fabry-Perot interferometru določimo na podlagi dveh sosednjih
interferenčnih maksimumov, lahko pa tudi na podlagi drugih vrhov v analiziranem
interferenčnem vzorcu.
Poznamo različna interferometra. Fabry-Perot interferometer z notranjim delovanjem,
kadar se polprepustni zrcali nahajata znotraj optičnega vlakna in interferometer z zunanjim
delovanjem, kjer sta kot polprepustni zrcali uporabljena vrh vlakna in dodaten odbojni
Nizkocenovni optični spektralni analizator Stran 34
element, ki sta med seboj ločena z zračno režo. Naš senzor deluje kot Fabry-Perot
interferometer z zunanjim delovanjem, zato je primeren za merjenje raztezkov, tlaka,
temperature itd.
3.1.5 Uklonska mrežica
Uporabili smo prepustno uklonsko mrežico, ki ima 1000 rež/mm.
Slika 3.15: Prepustna uklonska mrežica sistema
Ker ima uklonska mrežica veliko število rež, pomeni da je kotna disperzija velika, zaradi
česar smo morali uklonsko mrežico postaviti pod določenim kotom glede na sistem.
Proti detektorju smo usmerili spektralno komponento, ki pripada prvemu uklonjenemu
redu. Osnovnega (ničelnega) uklonjenega reda ne moremo uporabiti, ker nima kotne
disperzije. To pomeni, da se valovne dolžine ne razpršijo, kar je lepo razvidno iz enačbe
(2.18) kadar je m = 0. Iz iste enačbe je tudi razvidno, da je kotna disperzija višja za višje
redove, kar pomeni, da je smiselno opazovat čim višje redove, saj je spekter bolj razpršen
in omogoča doseganje višje resolucije, vendar je višje redove težje preoblikovat z lečami.
Nizkocenovni optični spektralni analizator Stran 35
m = 0m = 1
m = 1
Slika 3.16: Uklon rdeče svetlobe na uklonski mrežici sistema
3.1.6 Kolimator, zbiralna in razpršilna leča
Leče so zelo pomemben del sistema. Naloge leč so v splošnem različne. Uporabimo jih
lahko kot preslikavo [10] predmeta (Slika 3.17), za zbiranje vzporednih žarkov, za
povečavo slik itd.
h0
hiu0
ui
Slika 3.17: Preslikava predmeta h0 v sliko hi z ustreznima nagibnima kotoma u0 in ui
Poznamo različne vrste leč (Slika 3.18). Tukaj sem spadajo bi-konveksne, plan-konveksne,
pozitivni in negativni meniskus, bi-konkavne in plan-konkavne.
Nizkocenovni optični spektralni analizator Stran 36
Bi-konveksna
Plan-konveksna
Pozitivni meniskus
Negativni meniskus
Plan konkavna
Bi-konkavna
Slika 3.18: Vrste leč
V praksi in spektralni analizi je pogost primer, da uporabljamo t.i. tanke leče, kar pomeni,
da debelino leče zanemarjamo. Poznamo enačbo take leče oziroma Gaussovo [5] enačbo
tanke leče:
21
11)1(
1
RRn
f (3.3)
Kjer je:
f – gorišče leče
n – lomni količnik leče
R1 – radij ukrivljenosti prve sferične površine
R2 – radij ukrivljenosti druge sferične površine
Kadar pa govorimo splošno o lečah in ne o tankih lečah in se leča nahaja v poljubnem
sredstvu, pa dobi enačba leče splošno obliko:
212
2
12
211
12 111
RRn
dnn
RRn
nn
f
(3.4)
Nizkocenovni optični spektralni analizator Stran 37
Kjer je:
f – gorišče leče
n1 – lomni količnik leče
n2 – lomni količnik sredstva, ki lečo obdaja (zrak ima lomni
količnik n1 ≈ 1)
R1 – radij ukrivljenosti prve sferične površine
R2 – radij ukrivljenosti druge sferične površine
d – debelina leče
V sistemu je prva uporabljena leča kolimator (Slika 3.19) z goriščno razdaljo 3,8 cm.
Uporabljena je plan-konveksna leča, s katero dobimo vzporedni snop svetlobe. V tem
snopu so zajete vse valovne dolžine. To naredimo tako, da vir svetlobe postavimo v
gorišče leče.
Optična os
VIR
Gorišče kolimatorja
KO
LIM
AT
OR
Kolimiran žarek
Kolimiran žarek
Slika 3.19: Kolimator
Kolimiran snop svetlobe nato preide skozi uklonsko mrežico, kjer se ukloni. Razdalja med
zbiralno lečo in uklonsko mrežico ni pomembna. Prvi uklonjen red je nato usmerjen proti
zbiralni leči (Slika 3.20) z goriščno razdaljo 4 cm. Uporabljena zbiralna leča je bi-
konveksna leča, ki vzporedne žarke zbere v njenem gorišču. Ti žarki so nato z razpršilno
lečo (Slika 3.20) oziroma bi-konkavno lečo, katere goriščna razdalja je 2,5 cm, usmerjeni
proti detektorju.
Nizkocenovni optični spektralni analizator Stran 38
Gorišče
fokusirne
leče
ZBIRALNA LEČA RAZPRŠILNA LEČA
Slika 3.20: Zbiralana in razpršilna leča
Naloga razpršilne leče je razširiti snop svetlobe. Z razširjanjem snopa svetlobe smo
povečali spektralno območje. Postavitev leč je prikazana na sliki 3.21.
Slika 3.21: Leče v sistemu
Za razpršilno lečo je postavljen le še detektor, ki je od nje oddaljen približno 11, 5 cm.
Razširjen svetlobni snop pokriva približno 150 fotodiod detektorja, kar je dovolj za
uspešno analiziranje uklonjenega snopa svetlobe.
Nizkocenovni optični spektralni analizator Stran 39
ZBIRALNA LEČA
RAZPRŠILNA
LEČA
Gorišče
KOLIMATOR, PLAN-
KONVEKSNA LEČA
VIR
GORIŠČE
KOLIMATORJA
PREPUSTNA UKLONSKA
MREŽICA
OSNOVNI RED
UKLONJENE SVETLOBE
PRVI RED
UKLONJENE
SVETLOBE
DETEKTOR
Slika 3.22: Sistem z lečami, uklonsko mrežico in detektorjem
3.2 Elektronski del
V elektronski del spadajo detektor, ki prebere podatke, mikrokrmilnik, ki podatke obdela
in osebni računalnik za prikazovanje podatkov.
PC
DETEKTOR MIKROKRMILNIKPOVEZAVA RS-232
Slika 3.23: Blokovna shema elektronskega dela
3.2.1 Detektor
Detektor [8] je naprava, ki optični signal pretvori v električnega. V idealnem primeru je
odziv detektorja linearen skozi široko področje z nizkim šumom in visoko občutljivostjo.
Nizkocenovni optični spektralni analizator Stran 40
Spektralni analizatorji v večini primerov uporabljajo detektorje s fotodiodami. Takšni
detektorji imajo ponavadi široko dinamično področje.
Fotodiode (Slika 3.24) so sestavljene iz polprevodniškega materiala. Foton, ki vpade na
fotodiodo in ima energijo večjo, kot je energija reže polprevodnika, povzroči prehod
elektrona iz valenčnega [2] v prevodni pas in s tem nastanek para elektrona in vrzeli.
Elektron se zaradi vpliva električne poljske jakosti v zaporni plasti giblje proti n plasti,
vrzel pa proti p plasti. V n plasti se pojavi presežek negativnih nabojev, v p plasti pa
presežek pozitivnih nabojev. Priključna napetost na diodo je vedno konstantna, zato
presežni naboj odteče preko vira zunanje napetosti. Električni naboj začne teči skozi diodo.
To prav tako povzroči izpraznitev naboja v kondenzatorju, ki je vezan na fotodiodo.
Električni naboj, ki teče skozi diodo in količina naboja, ki je potrebna za ponovno
napolnitev kondenzatorja v rednih intervalih, je sorazmerna z jakostjo svetlobnega toka, ki
vpada na fotodiodo.
Detektorji na osnovi silicija imajo limit glede vpadne svetlobe. Valovne dolžine vpadne
svetlobe na detektor se lahko nahajajo med 170 in 1100 nm.
p plast
n plast
FOTON
Zlata plošča
Zaporno področje
Kovinski stik
Slika 3.24: Fotodioda
V nekaterih sodobnih spektralnih analizatorjih imamo namesto enega detektorja z eno
fotodiodo, detektorje z več fotodiodami (Slika 3.25). Fotodiode so postavljene druga poleg
druge na silicijevem kristalu. Vsaki fotodiodi pripada svoj kondenzator in je povezana s
Nizkocenovni optični spektralni analizator Stran 41
polprevodniškim stikalom na skupno izhodno linijo. Nadzor nad stikali izvaja register
premika. Na začetku so kondenzatorji napolnjeni do določene mere. Ko fotoni prodrejo
skozi silicij, se izprazni kondenzator, prosti elektroni pa ga ponovno napolnijo.
Kondenzatorji se polnijo v rednih ciklih. En cikel je čas, ko preklopimo med vsemi
fotodiodami.
VPADNA SVETLOBA
Ponavljajoč cikel
Fotodioda in
kondenzator
Register
premika
Tranzistorji
Slika 3.25: Diagram fotodiod v vrsti
Količina naboja, potrebnega za napolnitev kondenzatorjev, je sorazmerna s številom
fotonov zaznanih na vsaki fotodiodi, število fotonov pa sorazmerno z jakostjo svetlobnega
toka. Spekter absorbirane svetlobe je dosežen pri spremembi svetlobne jakosti skozi
celotno področje valovnih dolžin. Linijsko polje detektorjev je ponavadi sestavljen iz 200
do 1000 elementov, odvisno od spektralnih analizatorjev in njihovih zahtev.
V sistemu smo uporabili linearni senzor TSL208 (Slika 3.26) podjetja TAOS (Texas
Advanced Optoelectronic Solutions).
Nizkocenovni optični spektralni analizator Stran 42
Slika 3.26: Detektor TSL208R
Detektor je sestavljen iz 512 fotodiod [11], ki so postavljene v vrsto. Vsaki fotodiodi
pripada vezje z ojačevalnikom.
Svetloba, ki vpada na detektor, povzroči sprostitev naboja. Vezje, vezano na določeno
fotodiodo, poskrbi, da ta naboj postane del celote. Med dobo integracije naboja se napolni
kondenzator, ki se nato poveže z izhodom. Količina naboja, ki se sprosti iz enega
kondenzatorja je sorazmerna od jakosti svetlobnega toka in časa integracije. Izhodna
analogna napetost detektorja je podana z enačbo [11]:
inttERVV eedrkout (3.5)
Kjer je:
Vout – izhodna napetost
Vdrk – izhodna napetost, ko je senzor v temi
Re – odzivnost detektorja na dano valovno dolžino [V/(µJ/ cm2)]
Ee – vpadna gostota svetlobnega toka [µW/cm2]
tint – čas integracije [s]
Detektor ima 7 vhodnih in izhodnih enot (Slika 3.27).
Nizkocenovni optični spektralni analizator Stran 43
Enota
Ime Št. Izh / Vh Opis
AO 4 Izh Analogni izhod
CLK 3 Vh Ura nadzira prenos naboja, ponovni zagon (ang Reset)
GND 5 Vh Ozemljitev
SI 2 Vh Serijski vhod, ki sproži začetek cikla
SO 6 Izh Serijski izhod, ki obvesti o koncu cikla
VDD 1, 7 Vh Vhodna napetost za analogno in digitalno vezje
Tabela 3.1: Enote detektorja
1 2 3 4 5 6 7
VD
D
SI
CL
K
AO
GN
D
SO
VD
D
Slika 3.27: Enote detektorja
Izhod in ponovni zagon (ang. Reset) integracije nadzira 512 bitni register premika in
logika za ponovni zagon. Izhodni cikel nadzira ura. Cikel se prične s postavitvijo
serijskega vhoda na logično ena. Takrat se naboj, ki je shranjen v kondenzatorjih vsake
fotodiode, ojača in sprosti, kar lahko zaznamo na analognem izhodu detektorja. Ko se
sprosti naboj prve fotodiode, se serijski vhod postavi na logično ničlo in lahko se prične
nova perioda integracije z novo fotodiodo. Ko ura doseže 513-o logično enico, se sproži
serijski izhod, ki pove, da se je cikel integracije končal. Detektor je pripravljen na nov
bralni cikel, ki predstavlja skeniranje vseh 512 fotodiod.
Nizkocenovni optični spektralni analizator Stran 44
SPEKTRALNI ODZIV FOTODIODE
NO
RM
AL
IZIR
AN
OD
ZIV
VALOVNA DOLŽINA [nm]
Slika 3.28: Tipična karakteristika fotodiode
3.2.2 Mikrokrmilnik
V sistemu smo uporabili mikrokrmilnik [12] dsPIC33FJ256MC710 (Slika 3.29)
proizvajalca Microchip. Mikrokrmilnik uporablja Harvardsko arhitekturo, kar pomeni, da
sta podatkovni in programski pomnilnik med seboj ločena. Optimiziran je za programski
jezik C. Mikrokrmilnik uporablja DMA pomnilnik, kar pomeni, da lahko podsistemi
krmilnika neodvisno od glavnega sistema dostopajo do pomnilnika. Mikrokrmilnik
omogoča inicializacijo sedeminšestdeset prekinitvenih rutin in pet zunanjih prekinitvenih
rutin. Prekinitvenim rutinam lahko določamo sedem stopenj prioritet. Med 100 nožicami
na krmilniku, imamo 85 programsko nastavljivih digitalnih vrat oziroma portov. Izhodne
napetostne vrednosti digitalnih vrat so v območju me 3 do 3,6V, vhodne napetosti pa so 5
V.
Programski del mikrokrmilnika uporablja flash pomnilnik velikosti 256 kB. Flash
pomnilnik je vrsta ROM-a. Prepisati ga je mogoče nekaj 100.000-krat preden bo prišlo do
Nizkocenovni optični spektralni analizator Stran 45
napake pri zapisovanju. Flash pomnilnik je prav tako dobrodošel, saj ob izgubi napajanja
še vedno obdrži zapisane vrednosti.
Slika 3.29: Nožice mikrokrmilnika dsPIC33FJ256MC710
Podatkovni del uporablja pomnilnik SRAM velikosti 30 kB, kjer je vključenih 2 kB DMA
pomnilnika. V njem se v naprej določenih mestih nahajajo tudi drugi pomembni registri,
preostali prostor pa je na voljo uporabnikom. V primeru izgube napajanja, se vrednosti
pomnilnika SRAM izberejo naključno. EEPROM pomnilnik je namenjen za shranjevanje
podatkov. V njem se podatki ohranijo tudi, ko pride do izpada napajanja. Ta pomnilnik
lahko prepišemo do 1.000.000-krat.
Na mikrokrmilniku je mogoče uporabiti devet 16-bitnih časovnikov, osem-kanalno metodo
za zajemanje vhodnih signalov (»input capture«), pri čemer sodelujejo 16-bitne funkcije za
obdelavo vhodnih signalov, osem-kanalno metodo za primerjavo izhodnih signalov
(»output compare«), pri čemer se uporablja enojni ali dvojni 16-bitni način primerjave.
Nizkocenovni optični spektralni analizator Stran 46
Mikrokrmilnik je postavljen na ploščo z vezjem (Slika 3.30), kjer je tudi priključek za
serijsko povezavo RS-232, konektor za napajanje in konektor RJ-11, ki ga uporabljamo za
programiranje mikrokrmilnika.
DC KONEKTOR
RJ-11
RS-232
MIKROKRMILNIK
Slika 3.30: Ploščica z mikrokrmilnikom
Digitalne vhodno/izhodne enote mikrokrmilnika je sedem portov (PORTA, PORTB,
PORTC, PORTD, PORTE, PORTF in PORTG). Nekateri izmed portov so multipleksirani
z drugimi vgrajenimi funkcijami mikrokrmilnika. Vsak izmed portov ima svoje nožice. Ali
bo nožica delovala kot vhodna ali kot izhodna določimo v registru TRISx, pri čemer je x
lahko črka A, B, C, D, E, F ali G. To določimo tako, da bitu v registru TRISx določimo
vrednost 1 (vhod) ali 0 (izhod). Napetosti na nožici so v območju med -0,3V in 5,6V. V
optimalnem primeru logični ničli (izhod) pripada vrednost 0V, logični ena (vhod) pa
vrednost napetosti 5V.
Mikrokrmilnik ima dva štiriindvajset kanalna analogno/digitalna pretvornika. Vsakemu
pretvorniku lahko določimo ali je 10 ali 12-biten. Analogno/digitalna pretvorba omogoča
avtomatsko skeniranje kanalov, nastavljiv način kako napolniti pomnilnik z rezultati A/D
pretvorbe, omogoča tip rezultatov pretvorbe (npr. celo število), pretvorba analognega
signala iz 32 analognih vhodnih nožic, itd. Analogno/digitalna pretvorba potrebuje za
delovanje nastavitev bitov v 10 registrih.
Nizkocenovni optični spektralni analizator Stran 47
FUNKCIJA dsPIC33FJ256MC710
Frekvenca delovanja nastavljiva
Programski pomnilnik (flash) 256 kB
Podatkovni pomnilnik (SRAM) 30 kB
Vhodno/izhodne enote Porti A, B, C, D, E, F, G
A/D pretvornik 10 in 12-bitni (24 kanalov)
Izhodno/vhodne enote 85
Število vseh nožic 100
Serijska povezava DA
Napajalna napetost 3V do 3,6V
Ohišje 100- Lead TQFP (14x14x1 mm)
Tabela 3.2: Osnovne karakteristike mikrokrmilnika
3.2.2.1 Komunikacija mikrokrmilnika z drugimi napravami
Z drugimi napravami lahko mikrokrmilnik komunicira s štirimi različnimi moduli:
Serijski periferni vmesnik (SPI)
Dvožični serijski modul (I2C)
Univerzalni asinhroni sprejemnik/pošiljatelj (UART)
Stopenjski lokalno omrežni modul (ECAN)
Serijski periferni vmesnik je sinhroni serijski vmesnik, primeren za komunikacijo z
drugimi perifernimi napravami ali mikrokrmilniki. Te naprave so lahko serijski EEPROM,
registri premika, gonilniki za prikazovalnike, analogno/digitalni moduli. Mikrokrmilnik
vsebuje dva taka vmesnika. Vsak tak vmesnik vsebuje 16-bitni register premika SPIxSR za
vhodne in izhodne podatke, pri čemer je x 1 ali 2 in register SPxBUF, kjer se shranjujejo
zajeti podatki. SPI vmesnik nadzorujejo trije registri; to so en statusni register SPIxSTAT
ter dva kontrolna registra SPIxCON1 in SPIxCON2.
Dvožični serijski modul z 16-bitnim vmesnikom podpira strojni del tako za sužnje, kot za
več-gospodarne načine (»Slave ali Multi-Master«) serijskih komunikacijskih standardov.
Mikrokrmilnik ima dva taka modula. Vsak izmed teh dveh modulov podpira suženj ali več-
gospodarne operacije. Način suženj kot tudi več-gospodaren način omogočata tako 7 kot
Nizkocenovni optični spektralni analizator Stran 48
10-bitno naslavljanje, vrata vmesnika omogočajo neposredno prenašanje podatkov med
sužnjem in gospodarjem, sinhronizacija serijske ure omogoča rokovanje za začasno
ustavljanje in nadaljevanje serijskega pošiljanja podatkov. Vmesnik vsebuje tri registre. To
so en kontrolni register I2CxCON, en statusni register I2CSTAT in register za maskiranje
naslova v suženj načinu I2CxMSK.
Stopenjski lokalno omrežni modul je serijski vmesnik, uporaben za komunikacijo z
ostalimi CAN moduli ali mikrokrmilniki. Protokol oziroma vmesnik je bil zasnovan za
komunikacijo v okoljih z veliko motenj. Na mikrokrmilniku sta dva takšna modula. Modul
omogoča implementacijo CAN protokola, protokola CAN1.2, CAN 2.0A in CAN 2.0B,
omogoča pošiljanje standardnih in razširjenih okvirjev podatkov, vsebuje osem
pomnilnikov za shranjevanje podatkov, programabilno s hitrostjo do 1Mbit/s, itd. Modul
vsebuje enaintrideset registrov.
Univerzalni asinhroni sprejemnik/pošiljatelj je dvosmerni sinhroni sistem, ki lahko
komunicira s perifernimi napravami, kot so osebni računalnik, LIN, RS-232 in RS-485).
Modul omogoča dvosmerno , 8 ali 9-bitno povezavo preko vrat UxTX in UxRX, sodo, liho
ali nobene pariteto, enega ali dva bita za ustavljanje, omogoča avtomatsko zaznavo hitrosti
povezave, prekinitve, itd. UART inicializiramo z nastavitvijo bitov v dveh registrih; v
registru UxMODE in UxSTA
3.2.2.2 RS-232 povezava
V sistemu smo uporabili UART komunikacijo. Z osebnim računalnikom smo komunicirali
preko povezave RS-232.
Povezava RS-232 [13] je namenjena za povezavo med dvema napravama, na optimalni
razdalji med 150 in 300m, odvisno od kvalitete in tipa kabla. Zaradi standardnih portov, ki
jih uporablja RS-232, je značilno, da pogosto uporabljamo vmesnik, ki pretvori RS-232 v
druge tipe (USB je eden izmed takih). Povezave RS-232 uporabljajo nebalansirane linije,
ki so vezane le na električne karakteristike signalov, ki potujejo po teh povezavah. To
pomeni, da je napetost posameznih signalov vezana le na eno linijo, med tem ko imajo vsi
signali skupno maso.
Nizkocenovni optični spektralni analizator Stran 49
RS-232 ima nekatere prednosti:
Najdemo ga pri mnogih napravah. Predvsem stari, tudi nekateri novi osebni
računalniki imajo enega ali več RS-232 priključkov. Pri novih osebnih računalnikih
je v ospredju povezava USB, vendar RS-232 lahko uporabimo za stvari, za katere
USB-ja ne moremo.
Na mikrokrmilnik je enostavno pretvorit napetost 5V za povezavo RS-232
Kot smo že zgoraj omenili, lahko RS-232 uporabimo za razdalje med 150 in 300m.
Druge periferne naprave ne zmorejo takšnih dolžin. Povezave z USB so optimalne
na razdalji do 5m, nekateri tiskalniki lahko uporabljajo povezave med 3 in 5m.
Za dvosmerni promet podatkov potrebujemo le tri žice. Nekatere povezave
potrebujejo do osem žic za prenos podatkov, dva ali več žic za kontrolne signale in
več žic, ki so vezane na maso. Cena takšnih povezav lahko hitro naraste. Tudi
konektorji se zaradi števila žic večajo.
Slabosti RS-232 povezave:
Če kakšna naprava potrebuje paralelno povezavo, moramo serijski prenos podatkov
pretvorit v paralelnega. To lahko na enostaven način storimo z univerzalnim
asinhronim sprejemnik/pošiljateljem (UART)
Uporaba serijskih vmesnikov je zelo velika, zato je včasih težko najti kakšen prost
priključek. Računalniki sicer imajo več priključkov, vendar navadno ne podpira
sočasno upravljanje z več vmesniki. Mikrokrmilniki imajo navadno en serijski
vmesnik.
V povezavi lahko sodelujeta samo dve napravi.
Specifična maksimalna hitrost povezave je lahko 20.000 bitov na sekundo. Pri
večini čipov lahko to hitrost povečamo, vendar s tem moramo skrajšati dolžino
povezave.
Dolge povezave nujno potrebujejo različne vmesnike
Tipični signali vmesnika oziroma povezave RS-232 so našteti v tabeli 3.3
Nizkocenovni optični spektralni analizator Stran 50
9-polni 25-polni Signal Vir Tip Angleški opis
1 8 CD DCE Nadzor Carrier detect
2 3 RD DCE Podatek Received data
3 2 TD DTE Podatek Transmitted data
4 20 DTR DTE Nadzor Data termina ready
5 7 GND - - Signal ground
6 6 DSR DCE Nadzor Data set ready
7 4 RTS DTE Nadzor Request to send
8 5 CTS DCE Nadzor Clear to send
9 22 RI DCE Nadzor Ring indikator
- 1.1-19, 21, 23-
25
/ - - -
Tabela 3.3: Tipični signali RS-232
Standard RS-232 definira tri stvari: imena in funkcije signalov v povezavi, električne
karakteristike signalov in mehansko strukturo, ki vključuje postavitev polov v vmesniku
(Slika 3.31). Standard tudi definira možnost 25 linij v vmesniku, vendar naprave le redko
podpirajo več kot 9 linij. Nekatere naprave uporabljajo samo tri linije ali celo samo dve za
enosmerno povezovanje.
12345
6789
b)
a)
13
25
123456789101112
1415161718192021222324
RxD
Tx
D
CT
S
RT
S
DC
E R
ead
y
Sig
nal
Gro
un
d
DT
E R
ea
dy
TxD
Rx
D
DT
E R
ead
y
Sig
nal
Gro
un
d
DC
E R
ea
dy
CT
S
RT
SRI
RI
CD
CD
Slika 3.31: a) 25-polni in b) 9-polni konektor RS-232
Nizkocenovni optični spektralni analizator Stran 51
3.3 Programski del
Programski del je razdeljen na dva dela in sicer na algoritem na mikrokrmilniku, ki skrbi
za pravilno zajemanje podatkov, za pretvorbo analognega signala v digitalnega, poskrbi za
povprečje zajetih podatkov ter pravilen prenos podatkov iz mikrokrmilnika na osebni
računalnik. Na osebnem računalniku teče program, ki prejete podatke obdela, izračuna
določene parametre ter podatke prikaže v grafični podobi.
3.3.1 Algoritem na mikrokrmilniku
Algoritem na mikrokrmilniku je napisan v programskem jeziku C, v programskem okolju
MPLAB IDE [14]. Za prevajanje programske kode smo uporabili prevajalnik C30 [15].
Naloga tega algoritma je pravilno krmiljenje detektorja, zajete analogne signale pretvoriti v
digitalne, narediti njihov povpreček in jih pravilno preko povezave RS-232 poslati na
osebni računalnik.
Podroben diagram poteka za algoritem na mikrokrmilniku je prikazan na sliki 3.32.
Nizkocenovni optični spektralni analizator Stran 52
START
Inicializacija
spremenljivk
Inicializacija
vhodno/izhodnih
enot
Inicializacija A/D
pretvornika
Inicializacija
oscilatorja
OSCCONbits.LOCK
!= 1
Inicializacija
UART
NE
DA
i < 1000
DA
NE
While(1)
SI = 1
Brisanje
sprememljivk
DA
While (k<5)
DA
i = 0
Povečaj k za 1
While (i<512)
AD povpreček =
PoljeMeritev[z]/5
CLK = 1
DA
Zakasnitev 1ms
Začetek AD
pretvorbe
AD končan
Shrani rezultat AD
pretvorbe v
ADstevilo
DA
NE
ADstevilo shrani v
PoljeMeritev
SI = 0, CLK = 0
Povečaj i za 1
NE
NE
KONEC
OVERRUN
NENE
OERR = 0
DA
Sprejet
podatek
NE
Prejet podatek
shrani v
spremenljivko
sprejem
sprejem = s
DA
z < 512
DA
NE
Pošlji na PC AD
povpreček
sprejem = 0
z < 512
DA
NE
NE
PoljeMeritev[z]=0Povečaj i za 1
Povečaj z za 1
Povečaj z za 1
Slika 3.32: Diagram poteka algoritma na mikrokrmilniku
Algoritem je razdeljen na tri dele. Inicializacija spremenljivk, vhodno-izhodnih enot in
registrov, zajemanje in obdelava podatkov ter pošiljanje teh podatkov na osebni
računalnik.
Pri inicializaciji spremenljivk smo izbrali tiste, ki jih bomo uporabili znotraj glavnega dela
algoritma. Prav tako je potrebno določiti vhodno-izhodne enote, ki določajo, kje bomo
prejemali podatke in preko katerih izhodnih enot jih bomo pošiljali na osebni računalnik.
Potrebno je tudi določiti ali so vhodno-izhodne enote digitalnega tipa ali analognega.
Določili smo tudi pod kakšnimi pogoji bo delovala analogno-digitalna pretvorba, s kakšno
frekvenco bo deloval oscilator in kako bo deloval univerzalni asinhroni
sprejemnik/pošiljatelj.
Ko je inicializacija končana, program po krajši zakasnitvi vstopi v neskončen cikel. Znotraj
tega cikla algoritem 512-krat zajeme analogni signal in ga pretvori v digitalnega. Po
končani pretvorbi se končni rezultat shrani v spremenljivko ADstevilo, ta spremenljivka pa
Nizkocenovni optični spektralni analizator Stran 53
postopoma začne polnit polje velikosti 512. Ta postopek ponovimo pet krat. Po končanem
postopku program čaka na morebitni prejeti podatek. Če podatka ni, se prej omenjeno polje
izbriše, postopek zajemanja in obdelave podatkov se začne od začetka. V primeru pa da
prejmemo določen podatek iz okolja, le tega shranimo v spremenljivko z imenom sprejem.
Če je v spremenljivki sprejem znak »s«, izračunamo povprečje pet krat polnjenega polja,
ga znotraj zanke 512-krat zapišemo v spremenljivko ADsteviloPOV in vrednost
spremenljivke pošljemo na osebni računalnik.
Algoritem na se izvaja tako dolgo, dokler je mikrokrmilnik priključen na vir napetosti
oziroma ga ne ustavimo s kakšnim drugim ukazom.
3.3.2 Algoritem na osebnem računalniku
Algoritem ima funkcijo za prikaz podatkov na grafu. Podatki so pridobljeni od
mikrokrmilnika. Prikazujemo tudi vrednosti indeksov, pri katerih se pojavijo maksimumi
interferenčnega vzorca. Prav tako prikazujemo izračunano razdaljo senzorja.
Algoritem na osebnem računalniku je napisan v programskem okolju Microsoft Visual C#
2010 [16]. Za programsko okolje je značilno objektno programiranje. Na diagramu poteka
(Slika 3.33) je v splošnem prikazano delovanje algoritma.
Nizkocenovni optični spektralni analizator Stran 54
START
Inicializacija
virtualnega
serijskega
vmesnika
Sprejem podatkov
iz mikrokrmilnika in
shranjevanje
podatkov
Isaknje
maksimumov
Izračun razdalje
senzorja
Izris grafa in prikaz
izračunanih
parametrov
Slika 3.33: Diagram poteka algoritma na osebnem računalniku
Algoritem pričnemo z inicializacijo virtualnega serijskega vmesnika. Sledi niz prejemanja
podatkov iz mikrokrmilnika. Podatki so cela števila. Ko so podatki prejeti, začne algoritem
z iskanjem maksimumov. Algoritem na podlagi enačb izračuna še razdaljo senzorja.
Izračunano razdaljo, najdene maksimume prikažemo v uporabniškem vmesniku, kjer prav
tako izrišemo graf oziroma na grafu izrišemo vrednosti prejetih podatkov (Slika 3.34).
Nizkocenovni optični spektralni analizator Stran 55
Slika 3.34: Grafični vmesnik algoritma na osebnem računalniku
Nizkocenovni optični spektralni analizator Stran 56
4 EKSPERIMENTALNI REZULTATI
Ko smo postavili vse komponente sistema, je bilo potrebno napravo umeriti in preizkusiti
njeno delovanje. Za umerjanje smo uporabljali že prej omenjen senzor raztezka, ki temelji
na delovanju Fabry-Perot interferometra.
4.1 Meritve
Za prve meritve je bilo potrebno prvo omejiti izhodno moč superluminescenčne diode. To
smo storili z namenom, da smo lahko brali podatke iz detektorja. Detektor je namreč zelo
občutljiv in za pravilne rezultate je potrebna prava jakost svetlobe, ki vpada na njega. Ko
smo omejili izhodno moč diode, smo lahko pričeli z branjem podatkov. Senzor smo
namestili na spodnjo stran upogljive kovine. V prvem primeru smo senzor pustili v
izhodiščnem stanju.
Dobljene podatke smo vnesli v graf (Slika 4.1)
0
128
256
384
512
640
768
896
1024
0 64 128 192 256 320 384 448 512
Polozaj na detektorju [piksli]
A/D
[k
va
nti
]
Slika 4.1: Meritve v izhodiščnem stanju senzorja
Nizkocenovni optični spektralni analizator Stran 57
Meritve smo nadaljevali tako, da smo senzor rahlo obremenili. Na upogljivo kovino (Slika
4.2) smo položili majhno utež.
UPOGLJIVA KOVINA
UTEŽ POSTAVIMO NA ZGORNJO
STRAN UPOGLJIVE KOVINE
Slika 4.2: Območje, kjer obremenimo senzor
Posledica tega je raztezek senzorja. Rezultat tega je drugačna oblika spektra, kar je vidno
na grafu na sliki 4.3.
0
128
256
384
512
640
768
896
1024
0 64 128 192 256 320 384 448 512
Polozaj na detektorju [piksli]
A/D
[k
va
nti
]
Slika 4.3: Meritve pri manjši obremenitvi
Na grafu so lepo videne različne oblike maksimumov. Posledično se maksimumi tudi selijo
levo in desno, vendar je to iz naših meritev težko pokazati. Tretjo meritev smo naredili
tako, da smo senzor obremenili še z več utežmi. Oblika spektra se ponovno spremeni
(Slika 4.4)
Nizkocenovni optični spektralni analizator Stran 58
0
128
256
384
512
640
768
896
1024
0 64 128 192 256 320 384 448 512
Polozaj na detektorju [piksli]
A/D
[k
va
nti
]
Slika 4.4: Meritve pri večji obremenitvi
4.2 Umerjanje
Za umerjanje smo si pomagali z optičnim spektralnim analizatorjem ANDO AQ6317B.
Način, kako smo ga vključili v sistem, je prikazan na sliki 4.5.
VIR SLD SENZOR
SISTEM – nizkocenovni
optični spektralni
analizator
Komercialni optični
spektralni analizator
ANDO
Optični delilnik
Optični delilnik
Slika 4.5: Shema priključitve komercialnega optičnega spektralnega analizatorja
Nizkocenovni optični spektralni analizator Stran 59
S spektralnim analizatorjem ANDO smo iskali valovne dolžine, ki nastopijo pri različnih
maksimumih, z nizkocenovnim optičnim spektralnim analizatorjem pa smo opazovali pri
katerih pikslih nastopijo ti maksimumi. Podatke, pridobljene iz obeh analizatorjev, smo
vnesli v graf in med njimi poizkusili ugotoviti povezavo (Slika 4.6).
y = 6E-05x2 + 0,3212x + 753,7
835
840
845
850
855
860
865
870
875
225 245 265 285 305 325 345
Polozaj na detektorju [piksli]
Va
lov
na
do
lžin
a [
nm
]
Slika 4.6: Povezava med piksli in valovno dolžino
Ugotovili smo, da povezava med piksli in valovno dolžino ni linearna. Zaradi tega smo
morali narediti interpolacijo dobljene krivulje (rdeča krivulja na sliki 4.7). S tem smo
dobili novo krivuljo (črna krivulja na sliki 4.7). Na sliki lahko opazimo, da se
interpolacijska krivulja dokaj natančno prilagaja prvotni krivulji. Potrebovali smo tudi
enačbo te krivulje, saj smo to enačbo kasneje vnesli v algoritem na osebnem računalniku in
si z njo pomagali pri izračunu razdalje senzorja. Razdaljo senzorja smo izračunali po
enačbi 4.1 [9]. Tako smo umerili naš spektralni analizator, s pomočjo optičnega
spektralnega analizatorja ANDO.
Nizkocenovni optični spektralni analizator Stran 60
12
12
12 ,2
K
L (4.1)
Kjer je:
λ – valovna dolžina spektralnih komponent
L – dolžina senzorja
K – število med sosednjimi vrhovi (če imamo dva sosednja vrhova
K = 1, če imamo vrhova med katerima je še eden vrh K = 2, če sta
vmes dva K = 3, itd)
4.3 Točnost nizkocenovnega optičnega spektralnega analizatorja
Sistem je narejen na zelo preprost način z zelo preprostimi komponentami. Na točnost
sistema vplivajo različni faktorji, kot so velika občutljivost detektorja, zajemanje in
obdelava podatkov na mikrokrmilniku, prenos podatkov na osebni računalnik, algoritem za
izračun maksimumov in tudi umerjanje.
Z izdelkom smo lahko zadovoljni, saj kljub nekaterim odstopanjem, lahko ugotovimo da
spektralni analizator prikazuje spekter dokaj podobno kot spektralni analizator ANDO ,
čeprav vseh spektralnih komponent ni vidnih.
Do popačenj na slikah, ki so prikaz delovanja sistema, prihaja zaradi hitrosti branja
podatkov z detektorjem in povprečenja teh podatkov. Podatke prebiramo mnogo počasneje,
kot to počnejo komercialne naprave. Prav tako povprečimo podatke le 5-krat. Število
povprečenj podatkov, ki jih dobimo iz sistema, določa čas meritve.
Največja odstopanja nastopijo pri izračunih razdalje senzorja, saj je zaradi popačenih
meritev zelo težko natančno določiti vrhove, ki so bistven pomen pri izračunu razdalje
senzorja. Vrhove bi lahko bolje določili, če bi izbrali širše spektralno območje, s čim bi
zagotovili boljše meritve.
Nekatera odstopanja se lahko pojavijo tudi pri prikazu spektra. Pri spreminjanju optične
poti Fabry-Perot interferometra se lahko pri prikazu spektra izgubi kakšen vrh, kar pa pri
analiziranju ni problem, saj nižji vrhovi niso vključeni v izračun optične poti Fabry-Perot
interferometra.
Nizkocenovni optični spektralni analizator Stran 61
Polozaj na senzorju [p iksli]
A/D
[kva
nti]
22-27 p ikslov
Slika 4.7: Spekter sistema
Na sliki 4.7 lahko opazimo, da se oddaljenost med vrhovi giblje med 22 in 27 piksli, kar
pomeni na komercialni napravi (Slika 4.8) približno 10 nm.
Valovna dolž ina [nm ]
Opt
ična
moč
pri
opaz
ovan
i
valo
vni d
olži
ni [n
W] 10 nm
Slika 4.8: Spekter na spektralnem analizatorju ANDO
Kot smo že omenili v prejšnjem poglavju, smo ugotovili povezavo med piksli in valovno
dolžino. Spektralno območje sistema pokriva približno 130 pikslov, kar pomeni približno
50 nm. To je tudi tipična spektralna širina našega vira.
Nizkocenovni optični spektralni analizator Stran 62
5 SKLEP
Cilj diplomske naloge je bil izdelati preprost optični spektralni analizator. V ta namen so
bili uporabljeni enostavni elementi. Sestavni deli so preproste komponente, kot so
enostavna uklonska mrežica, leče in drugi elementi. Optične signale, zajete z detektorjem,
smo pretvorili v električne in jih poslali na mikrokrmilnik. Uporabili smo zmogljiv
mikrokrmilnik dsPIC33FJ256MC710. Odločili smo se, da podatke z njim samo le
zajemamo, jih pretvorimo v pravilno obliko, naredimo njihov povpreček in jih pošljemo na
osebni računalnik. Podatke, ki jih je prejel osebni računalnik, dodatno obdelamo in jih
prikažemo na grafičnem vmesniku.
Z nizkocenovnim optičnim spektralnim analizatorjem smo na začetku imeli veliko težav.
Večjo težavo nam je predstavljala postavitev leč v sistemu. Potrebno je bilo najti pravilno
lego predvsem zbiralne in razpršilne leče ter oddaljenost detektorja od razpršilne leče. Ko
nam je to uspelo, smo lahko z gotovostjo rekli, da je preprost optični spektralni analizator
možno naredit s enostavnimi elementi.
Na zanesljivost meritev optičnega spektralnega analizatorja vpliva veliko dejavnikov.
Največji problem pri detekciji optičnih signalov je povzročil detektor, saj smo ugotovili, da
je visoko občutljiv. Poleg jakosti svetlobe koristnega signala, vpada na detektor tudi jakost
svetlobe nekoristnega signala. Ta svetloba vpada iz okolice in vpliva na naše meritve. Da
bi se izognili nekoristnemu signalu, smo sistem obdali z lesenim ohišjem. Z ohišjem smo
zagotovili temen prostor. S tem smo preprečili vpliv zunanje svetlobe na detektor. Velik
vpliv ima tudi postavitev vseh komponent sistema.
Posebno pozornost smo morali posvetiti tudi optičnim vlaknom. V sistemu smo morali
vlakna večkrat variti. Da nismo izgubljali optične moči, smo morali narediti dobre zvare,
pri tem pa smo morali paziti na sama vlakna, saj so brez zaščite zelo krhka. Prav tako je za
sistem bila zelo pomembna izdelava senzorja.
Nizkocenovni optični spektralni analizator Stran 63
Kljub obilici težav, ki nam jih je predvsem predstavljala postavitev leč, lahko na koncu
rečemo, da smo z izdelanim produktom lahko zadovoljni, saj smo dokazali, da je izdelava
takega sistema možna.
Nizkocenovni optični spektralni analizator Stran 64
6 VIRI IN LITERATURA
[1] Erwin G. Loewen, Evgeny Popov, Diffraction Gratings And Applications, Marcel
Dekker, Inc., New York, 1997
[2] Denis Đonlagić, Miha Završnik, Dali Đonlagić, FOTONIKA, Uvodna poglavja,
Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 1997
[3] Boštjan Batagelj, Optični spektralni analizatorji, Tečaj optične komunikacije,
Ljubljana, 2. do 4. februarja, 1998, Ljubljana, Fakulteta za elektrotehniko, 1998, str.
1-12, ilustr. [COBISS.SI-ID 1334612]
[4] Valdas Sablinskas, Instrumentation, v: G. Gauglitz, T. Vo.Dinh, Handbook of
spectroscopy, Wiley-VCH Verlang GmbH & CO.KGaA, Weinheim, 2009, str. 48-
69
[5] Edvard Cibula, Optični spektrometri, Seminarska naloga, Fakulteta za
elektrotehniko, računalništvo in informatiko, Zlatoličje, 2003
[6] SUPERLUM, Superlum Diodes, LTd.: SLD-37-MP: very-wide-spectrum SLD
modules for 800-870 nm spectral band, Data Sheet
[7] Dannie Jones, Navy electricity and electronics training series, Module 24 –
Introductions to fiber optics, Naval education and training professional
development and technology center, USA, 1998
[8] Tony Owen, Fundamentals of modern UV-visible spectroscopy, Agilent
Tehnologies, Germany, 2000
[9] Edvard Cibula , Uporaba površinske mikroobdelave optičnega vlakna v senzorski
tehniki in fotoniki, Doktorska desertacija, Fakulteta za elektrotehniko,
računalništvo in informatiko, Maribor, 2005
Nizkocenovni optični spektralni analizator Stran 65
[10] Michael Bass, Eric W. Van Stryland, David R. Williams, William L. Wolfe (ur.),
Handbook of optics, Devices, Measurements & Properties, Vol. 2, McGraw-Hill
Inc, USA, 1995
[11] TEXAS ADVANCED OPTOELECTRONIC SOLUTIONS, TSL208R, 512x1
Linear sensor array, Data Sheet
[12] MICROCHIP, dsPIC33FJxxxMCx06/x08/x10, Data Sheet, High Performance, 16-
Bit Digital Signal Controllers
[13] Jan Axelson, Serial Port Complete, Programming and Circuits for RS-232 and RS-
485 Links and Networks, Lakeview Redearch, USA, 1998
[14] MICROCHIP, MPLAB IDE, User's Guide
[15] MICROCHIP, MPLAB C30 C COMPILER, User's Guide
[16] John Sharp, Microsoft Visual C# 2010, Step By Step, Microsoft Press, A Division of
Microsoft Corporation, One Microsoft Way, Washington, 2010
Nizkocenovni optični spektralni analizator Stran 66
KAZALO SLIK
Slika 2.1: Osnovna shema optičnega spektralnega analizatorja .......................................... 4
Slika 2.2: Lom svetlobe pri prehodu skozi prizmo ................................................................ 4
Slika 2.3: Prizemski optični spektralni analizator................................................................. 5
Slika 2.4: Fabry-Perot optični spektralni analizator ............................................................ 6
Slika 2.5: Planarni optični resonator .................................................................................... 7
Slika 2.6: Konfokalni optični resonator ................................................................................ 7
Slika 2.7: Michelsonov interferometer s premičnim zrcalom ................................................ 9
Slika 2.8: Optični spektralni analizator ANDO AQ6317B .................................................. 12
Slika 2.9: Tvorba ravninskih valovnih front pri prehodu skozi prepustno uklonsko mrežico
............................................................................................................................................. 13
Slika 2.10: Valovne fronte na odbojni uklonski mrežici ...................................................... 14
Slika 2.11: Fazna razlika med žarkoma, ki se odbijeta od sosednjih rež ............................ 14
Slika 2.12: Optični spektralni analizator z odbojno uklonsko mrežico ............................... 19
Slika 2.13: Uklon na odbojni uklonski mrežici .................................................................... 20
Slika 2.14: Temna in svetla področja uklonske mrežice ...................................................... 20
Slika 2.15: Uklonski redi ..................................................................................................... 21
Slika 2.16: Uklonski maksimumi ......................................................................................... 21
Slika 2.17: Optični spektralni analizator s prepustno uklonsko mrežico ............................ 22
Slika 2.18: Konkavna uklonska mrežica z polmerom ukrivljenosti R.................................. 23
Slika 2.19: Optični spektralni analizator s konkavno uklonsko mrežico ............................. 24
Slika 3.1: Blokovna shema sistema ..................................................................................... 25
Slika 3.2: Shema optičnega dela.......................................................................................... 26
Slika 3.3: Spontana emisija ................................................................................................. 27
Slika 3.4: Stimulirana emisija ............................................................................................. 27
Slika 3.5: Superluminescenčna dioda SLD-371-MP-DIL-SM-PD ...................................... 28
Slika 3.6: Krmilnik za SLD .................................................................................................. 28
Slika 3.7: Zgradba optičnega vlakna ................................................................................... 29
Slika 3.8: Osnovni rod v enorodovnem optičnem vlaknu .................................................... 29
Slika 3.9: a) Standardno enorodovno vlakno b) posebno enorodovno vlakno .................... 30
Slika 3.10: Največji sprejemni kot vlakna ........................................................................... 31
Slika 3.11: Optični delilnik sistema ..................................................................................... 31
Nizkocenovni optični spektralni analizator Stran 67
Slika 3.12: Dve izmed mnogih tehnik izdelave delilnika ..................................................... 32
Slika 3.13: Senzor ................................................................................................................ 32
Slika 3.14: Fabry-Perot interferometer ............................................................................... 33
Slika 3.15: Prepustna uklonska mrežica sistema ................................................................. 34
Slika 3.16: Uklon rdeče svetlobe na uklonski mrežici sistema ............................................ 35
Slika 3.17: Preslikava predmeta h0 v sliko hi z ustreznima nagibnima kotoma u0 in ui ...... 35
Slika 3.18: Vrste leč ............................................................................................................. 36
Slika 3.19: Kolimator .......................................................................................................... 37
Slika 3.20: Zbiralana in razpršilna leča .............................................................................. 38
Slika 3.21: Leče v sistemu ................................................................................................... 38
Slika 3.22: Sistem z lečami, uklonsko mrežico in detektorjem ............................................ 39
Slika 3.23: Blokovna shema elektronskega dela ................................................................. 39
Slika 3.24: Fotodioda .......................................................................................................... 40
Slika 3.25: Diagram fotodiod v vrsti ................................................................................... 41
Slika 3.26: Detektor TSL208R ............................................................................................. 42
Slika 3.27: Enote detektorja ................................................................................................ 43
Slika 3.28: Tipična karakteristika fotodiiode ...................................................................... 44
Slika 3.29: Nožice mikrokrmilnika dsPIC33FJ256MC710 ................................................. 45
Slika 3.30: Ploščica z mikrokrmilnikom .............................................................................. 46
Slika 3.31: a) 25-polni in b) 9-polni konektor RS-232 ........................................................ 50
Slika 3.32: Diagram poteka algoritma na mikrokrmilniku ................................................. 52
Slika 3.33: Diagram poteka algoritma na osebnem računalniku ........................................ 54
Slika 3.34: Grafični vmesnik algoritma na osebnem računalniku ...................................... 55
Slika 4.1: Meritve v izhodiščnem stanju senzorja................................................................ 56
Slika 4.2: Območje, kjer obremenimo senzor ...................................................................... 57
Slika 4.3: Meritve pri manjši obremenitvi ........................................................................... 57
Slika 4.4: Meritve pri večji obremenitvi .............................................................................. 58
Slika 4.5: Shema priključitve komercialnega optičnega spektralnega analizatorja ........... 58
Slika 4.6: Povezava med piksli in valovno dolžino .............................................................. 59
Slika 4.7: Spekter sistema .................................................................................................... 61
Slika 4.8: Spekter na spektralnem analizatorju ANDO ....................................................... 61
Nizkocenovni optični spektralni analizator Stran 68
PRILOGA A ALGORITEM NA MIKROKRMILNIKU
main.c
#include<p33FJ256MC710.h> #include<libpic30.h> #include<stdio.h> #define CLK LATBbits.LATB0 #define SI LATBbits.LATB1 #define SO PORTBbits.RB2 int i = 0; int k = 0; int z = 0; int m = 0; char sprejem = 0; unsigned int ADstevilo = 0; unsigned int ADsteviloPOV = 0; int PoljeMeritev[512]; // int če 10-bit A/D, unsigned int če 12-bit A/D //////////////////////////////// MAIN PROGRAM //////////////////////////////// int main(void) { //inicializacija portov TRISBbits.TRISB0 = 0; //izhodni port za CLK TRISBbits.TRISB1 = 0; //izhodni port za SI TRISBbits.TRISB2 = 1; //vhodni port za SO AD1PCFGL = 0xFFFF; AD1PCFGH = 0xFFFE; //AN16 analogni //inicializacija AD pretvornika AD1CON1bits.ADON = 0; AD1CON1bits.AD12B = 0; //0 za 10-bit, 1 za 12-bit AD1CON1bits.FORM = 0; //Rezultat je integer AD1CON1bits.SSRC = 7; AD1CON1bits.SIMSAM = 0; AD1CON1bits.ASAM = 0; AD1CON1bits.SAMP = 0; AD1CON2bits.VCFG = 0; AD1CON2bits.CSCNA = 1; AD1CON2bits.CHPS = 0; AD1CON2bits.BUFS = 0; AD1CON2bits.BUFM = 0; AD1CON2bits.ALTS = 0; AD1CON3bits.ADRC = 0; AD1CON3bits.ADCS = 2; AD1CSSH = 0; AD1CSSL = 0; AD1CSSHbits.CSS16 = 1; AD1PCFGHbits.PCFG16 = 0; //AN16 analogni IFS0bits.AD1IF = 0;
Nizkocenovni optični spektralni analizator Stran 69
IEC0bits.AD1IE = 0; AD1CON1bits.ADON = 1; //OSCILATOR __ Fosc = (Fin*M)/(N1*N2) ... Fosc = 80MHz CLKDIV = 0; // N1 = 2, N2 = 2 PLLFBD = 38; // M = 40 OSCCONbits.COSC = 0; OSCCONbits.NOSC = 3; OSCCONbits.CLKLOCK = 0; while (OSCCONbits.LOCK!=1); //komunikavcija UART U2MODEbits.UARTEN = 0; U2MODE = 0; U2STA = 0; U2MODEbits.BRGH = 0; //16 clocks per bit period U2BRG = 129; // (Fcy/(16*BaundRate))-1 ... Baundrate = 19200 __C30_UART=2; U2STAbits.UTXEN = 1; U2STAbits.URXISEL = 0; U2MODEbits.UARTEN = 1; for (i = 0; i < 1000; i++) {}; while(1) { i = 0; k = 0; z = 0; ADstevilo = 0; ADsteviloPOV = 0; while (k < 5) { SI = 1; while (i < 512) { CLK = 1; Delay(1); AD1CON1bits.SAMP = 1; while (AD1CON1bits.DONE == 0); ADstevilo = ADC1BUF0; PoljeMeritev[i] = PoljeMeritev[i] + ADstevilo; SI = 0; CLK = 0; i++; } i = 0; k++; } if (U2STAbits.OERR == 1) { U2STAbits.OERR = 0; } if (U2STAbits.URXDA == 1) {
Nizkocenovni optični spektralni analizator Stran 70
sprejem = U2RXREG; } else if (sprejem == 's') { for (z = 0; z < 512; z++) { ADsteviloPOV = ((PoljeMeritev[z]/5)); printf("%04d\n\r", ADsteviloPOV); } sprejem = 0; } for (z = 0; z < 512; z++) { PoljeMeritev[z] = 0; } } }
delay.s
.ifdef __dsPIC33F
.include "p33fxxxx.inc"
.endif .ifdef __PIC24H .include "p24hxxxx.inc" .endif .set Fcy, 40000000 .set US_K, Fcy/1000000 .set MS_K, Fcy/10000 .global _Delay .global _Delay_Us ;=============================================== ; ms Delay Function ;=============================================== _Delay: ms_oloop: mov #MS_K,w1 ms_iloop: nop nop nop nop nop nop nop dec w1, w1 bra nz, ms_iloop
Nizkocenovni optični spektralni analizator Stran 71
dec w0,w0 bra nz,ms_oloop return ;=============================================== ; us Delay Function ;=============================================== _Delay_Us: us_oloop: .rept (US_K-3) nop .endr dec w0,w0 bra nz,us_oloop return
Nizkocenovni optični spektralni analizator Stran 72
PRILOGA B ALGORITEM NA OSEBNEM RAČUNALNIKU
mSerial.cs
using System; using System.Collections.Generic; using System.IO.Ports; using System.Linq; using System.Text; namespace Grafi.SerialPort { internal class mSerial : IDisposable { public System.IO.Ports.SerialPort Serial; private CircularBuffer crcBuffer; private Form1 _form1backPointer; public mSerial(Form1 frm1In, string portIn, int boudRate) { _form1backPointer = frm1In; crcBuffer = new CircularBuffer(); Serial = new System.IO.Ports.SerialPort(portIn, boudRate); Serial.DataReceived += new SerialDataReceivedEventHandler(Serial_DataReceived); Serial.ReceivedBytesThreshold = 1; Serial.Open(); Serial.DiscardInBuffer(); _retList = new List<int>(); } private List<int> _retList; int bytesRead = 0; void Serial_DataReceived(object sender, SerialDataReceivedEventArgs e) { int tmpBytesRead = Serial.BytesToRead; bytesRead += Serial.BytesToRead; byte[] DataToRead = new byte[tmpBytesRead]; Serial.Read(DataToRead, 0, tmpBytesRead); crcBuffer.CopyDataToBuffer(DataToRead); if (bytesRead >= 3072) { var data = crcBuffer.MaticParser(); if(_form1backPointer != null && _form1backPointer._osUpdateIntList != null) _form1backPointer.Invoke(_form1backPointer._osUpdateIntList, data); bytesRead = 0; } } public void WriteToPort(string dataIn) { bytesRead = 0; Serial.Write(dataIn); } private class CircularBuffer
Nizkocenovni optični spektralni analizator Stran 73
{ static private int _crcBufferSize = 512 * 6; internal byte[] crcBuffer = new byte[_crcBufferSize]; private int cb_putPointer = 0; private int cb_getPoitner = 0; internal void putByte(byte byteIn) { crcBuffer[cb_putPointer] = byteIn; cb_putPointer = (cb_putPointer + 1) % _crcBufferSize; } public int numberOfBytesInBuffer() { return ((cb_putPointer - cb_getPoitner) + _crcBufferSize) % _crcBufferSize; } public void CopyDataToBuffer(byte[] dataIn) { for (int i = 0; i < dataIn.Length; i++) putByte(dataIn[i]); } public List<int> MaticParser() { List<int> dataList = new List<int>(); var tempString = Encoding.ASCII.GetString(crcBuffer, 0, crcBuffer.Length); var strArray = tempString.Split(new char[]{'\n','\r'},StringSplitOptions.RemoveEmptyEntries); foreach (var str in strArray) { int val = 0; if (Int32.TryParse(str, out val)) dataList.Add(val); } return dataList; } } public void Dispose() { _form1backPointer._osUpdateIntList = null; _form1backPointer = null; Serial.DiscardInBuffer(); Serial.DiscardOutBuffer(); Serial.Close(); Serial.Dispose(); } } }
Nizkocenovni optični spektralni analizator Stran 74
Form1.cs
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Grafi.SerialPort; using ZedGraph; namespace Grafi { public partial class Form1 : Form { private mSerial serPort; internal delegate void updateDataIntList(List<int> dataIn); internal updateDataIntList _osUpdateIntList; class ComboBoxItem { public string Name; public int Value; public ComboBoxItem(string Name, int Value) { this.Name = Name; this.Value = Value; } public override string ToString() { return this.Name; } } public Form1() { InitializeComponent(); } private ZedGraphControl zdGraphC; private BackgroundWorker bckGndWorker; private void Form1_Load(object sender, EventArgs e) { string[] theSerialPortNames = System.IO.Ports.SerialPort.GetPortNames(); comboBoxComPort.DataSource = theSerialPortNames; bckGndWorker = new BackgroundWorker(); bckGndWorker.DoWork += new DoWorkEventHandler(bckGndWorker_DoWork); zdGraphC = new ZedGraphControl(); zdGraphC.Size = panel1.Size; zdGraphC.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top); panel1.Controls.Add(zdGraphC); SetupZedGraph(zdGraphC); comboBox1.Items.Add(new ComboBoxItem("Metoda 1", 0)); comboBox1.Items.Add(new ComboBoxItem("Metoda 2", 1)); comboBox1.SelectedIndex = 1;
Nizkocenovni optični spektralni analizator Stran 75
_osUpdateIntList = new updateDataIntList(GetIntList); } private void GetIntList(List<int> dataIn) { double dolzinaFP = 0; double lambda1 = 0; double lambda2 = 0; int indexMax = -1; Point pointMax, pointTmp, pointMaxNext, pointMaxPrevious; pointMax = new Point(); pointMaxNext = new Point(); pointMaxPrevious = new Point(); pointMax.Y = int.MinValue; PointHolder holder = new PointHolder(); for (int i = 0; i < dataIn.Count; i++) holder.PutPoint(i+1, dataIn[i]); var indexes = DisplayCalculations(holder); List<Point> vrhovi = new List<Point>(); foreach (var index in indexes) { pointTmp = holder.pointList.Where(x => x.X == index).Single(); vrhovi.Add(pointTmp); if (pointTmp.Y >= pointMax.Y) { pointMax = pointTmp; indexMax = vrhovi.Count - 1; } } if (indexMax < vrhovi.Count - 1) { pointMaxNext = vrhovi[indexMax + 1]; lambda1 = (0.00006 * (pointMax.X * pointMax.X)) + (pointMax.X * 0.3212) + 753.7; lambda2 = (0.00006 * (pointMaxNext.X * pointMaxNext.X)) + (pointMaxNext.X * 0.3212) + 753.7; dolzinaFP = ((lambda1 * lambda2) / (lambda2 - lambda1)) / 2000; textBox1.Text = Math.Round(dolzinaFP, 2).ToString(); } else { if ((indexMax - 1) < 0) MessageBox.Show("Ne morem izračunat. Poskusi z novim nizom podatkov"); else pointMaxPrevious = vrhovi[indexMax - 1]; lambda1 = (0.00006 * (pointMax.X * pointMax.X)) + (pointMax.X * 0.3212) + 753.7; lambda2 = (0.00006 * (pointMaxPrevious.X * pointMaxPrevious.X)) + (pointMaxPrevious.X * 0.3212) + 753.7; dolzinaFP = ((lambda1 * lambda2) / (lambda1 - lambda2)) / 2000; textBox1.Text = Math.Round(dolzinaFP, 2).ToString(); } } private List<int> DisplayCalculations(PointHolder holder) { int metoda = ((ComboBoxItem)comboBox1.SelectedItem).Value; string indexText = "Indeksi: ";
Nizkocenovni optični spektralni analizator Stran 76
List<int> indexes = null; switch (metoda) { case 0: indexes = FindIdexes(holder, false); AddPoints(holder, indexes); foreach (var index in indexes) { indexText += index.ToString() + ", "; } label1.Text = indexText; break; case 1: indexes = FindIdexes(holder, true); AddPoints(holder, indexes); foreach (var index in indexes) { indexText += index.ToString() + ", "; } label1.Text = indexText; break; case 2: break; } return indexes; } private void DisplayCalculations(int HolderId) { int metoda = ((ComboBoxItem) comboBox1.SelectedItem).Value; string indexText = "Indexes: "; switch (metoda) { case 0: var indexes = FindIdexes(pntHolders[HolderId], false); AddPoints(pntHolders[HolderId], indexes); foreach (var index in indexes) { indexText += index.ToString() + ", "; } label1.Text = indexText; break; case 1: var indexesS = FindIdexes(pntHolders[HolderId], true); AddPoints(pntHolders[HolderId], indexesS); foreach (var index in indexesS) { indexText += index.ToString() + ", "; } label1.Text = indexText; break; case 2: break; } } List<PointHolder> pntHolders = new List<PointHolder>(); private void CreatePointLists(List<string[]> listIn) { pntHolders.Clear(); int numberOfHolders = listIn[0].Length - 1; for (int holCnt = 0; holCnt < numberOfHolders; holCnt++ )
Nizkocenovni optični spektralni analizator Stran 77
{ PointHolder pntHolder = new PointHolder(); pntHolders.Add(pntHolder); } for(int i = 0; i < listIn.Count; i++) { var StrLine = listIn[i]; for(int j=0; j < pntHolders.Count; j++) { var dataOut = pntHolders[j]; dataOut.PutPoint(Convert.ToInt32(StrLine[0]), Convert.ToInt32(StrLine[j+1])); } } } private int MaskSize = 3; private int StartingIndex = 200; private int EndIndex = 380; private double raiseProcent = 1.015; #region Metoda 1 List<int> FindIdexes(PointHolder pntHolderIn, bool Optimize) { int CurrentIndex = StartingIndex; List<int> xVals = new List<int>(); List<Point> raisePoints = new List<Point>(); List<Point> fallPoints = new List<Point>(); int smer = 1; for (int pointCnt = StartingIndex; pointCnt < EndIndex; pointCnt++) { Point curPoint = pntHolderIn.pointList[pointCnt]; int maskAverage = 0; for (int i = pointCnt - MaskSize; i < pointCnt; i++) { maskAverage += pntHolderIn.pointList[i].Y; } maskAverage = (maskAverage / MaskSize); int raiseIndex = pointCnt; if(curPoint.Y > (maskAverage * raiseProcent)) { raisePoints.Add(curPoint); if(raisePoints.Count > 2 && smer == -1) { Point tmpPoint1 = raisePoints[raisePoints.Count - 1]; Point tmpPoint2 = raisePoints[raisePoints.Count - 2]; xVals.Add(CalculateX(raisePoints, fallPoints, Optimize)); raisePoints.Clear(); fallPoints.Clear(); raisePoints.Add(tmpPoint1); raisePoints.Add(tmpPoint2); raisePoints.Add(curPoint); smer = 1; } } else if(curPoint.Y < (maskAverage - (maskAverage * (raiseProcent-1))))
Nizkocenovni optični spektralni analizator Stran 78
{ fallPoints.Add(curPoint); if(fallPoints.Count > 2) smer = -1; raiseIndex = 0; } } return xVals; } private int CalculateX(List<Point> raisePointsIn, List<Point> fallPointIn, bool optimize) { int AverageOnX = 0, AverageOnY = 0; if (optimize) { while (raisePointsIn.Count > fallPointIn.Count) raisePointsIn.RemoveAt(0); while (fallPointIn.Count > raisePointsIn.Count) fallPointIn.RemoveAt(fallPointIn.Count-1); } foreach (var point in raisePointsIn) { AverageOnX += point.X; } AverageOnX = (AverageOnX / raisePointsIn.Count); foreach (var point in fallPointIn) { AverageOnY += point.X; } AverageOnY = (AverageOnY / fallPointIn.Count); return (int)(((AverageOnX + AverageOnY) / 2) - 0.5); } #endregion private int yScaleMin = 0; private int yScaleMax = 1000; private int _xNumberOfSamples = 512; public PointPairList zgPointList = new PointPairList(); public void SetupZedGraph(ZedGraph.ZedGraphControl zedGraph) { // Get a reference to the GraphPane instance in the ZedGraphControl GraphPane myPane = zedGraph.GraphPane; // Set the titles and axis labels myPane.Title.Text = "Meritve"; myPane.XAxis.Title.Text = "Piksli"; myPane.YAxis.Title.Text = ""; // Generate a blue curve with circle symbols, and "Beta" in the legend //LineItem myCurve = myPane.AddCurve("Napetost", zgPointList, Color.Blue, SymbolType.None); myPane.CurveList.Clear();
Nizkocenovni optični spektralni analizator Stran 79
LineItem myCurveX = myPane.AddCurve("Graf", zgPointList, Color.Blue, SymbolType.None); myCurveX.Line.Width = 2; // Fill the symbols with white myCurveX.Symbol.Fill = new Fill(Color.White); // Show the x axis grid myPane.XAxis.MajorGrid.IsVisible = true; // Make the Y axis scale red myPane.YAxis.Scale.FontSpec.FontColor = Color.Blue; myPane.YAxis.Title.FontSpec.FontColor = Color.Blue; // turn off the opposite tics so the Y tics don't show up on the Y2 axis myPane.YAxis.MajorTic.IsOpposite = false; myPane.YAxis.MinorTic.IsOpposite = false; // Don't display the Y zero line myPane.YAxis.MajorGrid.IsZeroLine = false; // Align the Y axis labels so they are flush to the axis myPane.YAxis.Scale.Align = AlignP.Inside; // Manually set the axis range myPane.YAxis.Scale.Min = yScaleMin; myPane.YAxis.Scale.Max = yScaleMax; myPane.XAxis.Scale.MaxAuto = false; myPane.XAxis.Scale.Max = _xNumberOfSamples; // Align the Y2 axis labels so they are flush to the axis myPane.Y2Axis.Scale.Align = AlignP.Inside; // Fill the axis background with a gradient myPane.Chart.Fill = new Fill(Color.White, Color.LightGray, 45.0f); // Enable scrollbars if needed zedGraph.IsShowHScrollBar = true; zedGraph.IsShowVScrollBar = true; zedGraph.IsAutoScrollRange = true; // OPTIONAL: Show tooltips when the mouse hovers over a point zedGraph.IsShowPointValues = true; ClearPoints(zedGraph); zedGraph.AxisChange(); // Make sure the Graph gets redrawn zedGraph.Invalidate(); } private void ClearPoints(ZedGraph.ZedGraphControl zedGraph) { zgPointList.Clear(); } private void AddPoints(PointHolder pntHolderIn, List<int> intersectsIn) { zgPointList.Clear(); zdGraphC.GraphPane.GraphObjList.Clear(); foreach (var point in pntHolderIn.pointList) { zgPointList.Add(point.X,point.Y); } zgPointList.RemoveAt(0); foreach(var lineInt in intersectsIn)
Nizkocenovni optični spektralni analizator Stran 80
{ LineObj lnObject = new LineObj(Color.Red, lineInt, 0, lineInt, 1000); lnObject.Line.Width = 2; zdGraphC.GraphPane.GraphObjList.Add(lnObject); } zdGraphC.Invalidate(); } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { //DisplayCalculations(Convert.ToInt32(((ComboBoxItem)comboBox2.SelectedItem).Value)); } private void button4_Click(object sender, EventArgs e) { if(serPort != null && serPort.Serial.IsOpen) serPort.WriteToPort("s"); } private void button3_Click(object sender, EventArgs e) { string comPort = comboBoxComPort.SelectedValue.ToString(); if (serPort == null) serPort = new mSerial(this, comPort, 19200); _osUpdateIntList = new updateDataIntList(GetIntList); if (serPort.Serial.IsOpen) { label2.Font = new Font("Arial", 12); label2.ForeColor = Color.Green; label2.Text = "PORT OPENED"; } else { label2.Font = new Font("Arial", 12); label2.ForeColor = Color.Red; label2.Text = "PORT CLOSED"; } } private void button2_Click(object sender, EventArgs e) { bckGndWorker.RunWorkerAsync(); label2.Font = new Font("Arial", 12); label2.ForeColor = Color.Red; label2.Text = "PORT CLOSED"; } void bckGndWorker_DoWork(object sender, DoWorkEventArgs e) { serPort.Dispose(); serPort = null; } } class PointHolder {
Nizkocenovni optični spektralni analizator Stran 81
internal List<Point> pointList = new List<Point>(); public void PutPoint(int X, int Y) { Point Pnt = new Point(X,Y); pointList.Add(Pnt); } } }
Nizkocenovni optični spektralni analizator Stran 82
Nizkocenovni optični spektralni analizator Stran 83
Nizkocenovni optični spektralni analizator Stran 84