mikrofluidni nizkopretoČni fotometer - core.ac.uk · frekvence (rf). fotometer je naprava, ki...
TRANSCRIPT
Andrej Šmit
MIKROFLUIDNI NIZKOPRETOČNI FOTOMETER
Diplomsko delo
Maribor, maj 2012
I
Diplomsko delo univerzitetnega študijskega programa
ELEKTROTEHNIKA
Študent: Andrej Šmit
Študijski program: UN ŠP - Elektrotehnika
Smer: Avtomatika
Mentor(ica): red. prof. ddr. Denis Đonlagić
Maribor, september 2009
II
III
ZAHVALA
Zahvaljujem se mentorju za pomoč in vodenje
pri opravljanju diplomskega dela. Zahvala gre
tudi vsem zaposlenim v Laboratoriju za elektro-
optične in senzorske sisteme. Hvala tudi Alešu
Doliški za pomoč pri kemijskem delu. Zahvalil
bi se rad tudi Anji Kuhar za pomoč pri urejanju
besedila.
Posebna zahvala velja staršem, starim staršem in
Premogovniku Velenje, ki so mi omogočili
študij.
IV
MIKROFLUIDNI NIZKOPRETOČNI FOTOMETER
Ključne besede: Mikrofluidika, fotometer, spektroskopija, absorpcija,
transmisija, laserska dioda, fotodetektor, filter, pH, indikator
UDK: 681.785.4:681.542.8(043.2)
Povzetek
V diplomskem delu je predstavljena izdelava mikrofluidnega nizkopretočnega fotometra
za kvalitete vode, kjer se meri pH, prisotnost aluminija, železa, svinca, amonijaka, itn..
V delu smo podrobno opisali izdelavo optičnega in mehanskega dela, elektronskih vezij,
programa za mikrokrmilnik in osebni računalnik in priprave indikatorja, ki se obarva
glede na pH vrednost.
Merilnik smo na koncu preizkusili kot merilnik pH vrednosti. Podali smo tudi pogrešek
merilnika.
V
MICROFLUIDIC ONLINE PHOTOMETER
Key words: Microfluidic, photometer, spectroscopy, absorption, transmission,
laser diode, photodetector, filter, pH, indicator
UDK: 681.785.4:681.542.8(043.2)
Abstract
Diploma work describes development of microfluidic online photometer for water
quality analysis where we measure pH value presence of aluminum, iron, lead
ammonium etc. We described manufacturing of optics and mechanics, electrical circuit,
program for microcontroller and personal computer and indicator preparation which
changes color depending on pH value.
Photometer was also tested as pH meter. At the end we stated photometer’s accuracy.
VI
VSEBINA
1 UVOD ...................................................................................................................... 1
2 OSNOVE SPEKTROSKOPIJE ............................................................................ 1
2.1 SVETLOBA ......................................................................................................... 1
2.2 INTERAKCIJA SVETLOBE S SNOVJO ..................................................................... 1
2.3 ABSORPCIJA ....................................................................................................... 1
2.4 SPEKTROMETER ................................................................................................. 4
2.5 NAPAKA PRI MERJENJU ABSORPCIJE - IZBIRA VALOVNE DOLŽINE ...................... 6
2.6 KONCEPTI PRETOČNE SPEKTROMETRIJE ............................................................. 6
3 MIKROFLUIDIKA ................................................................................................ 8
3.1 LAMINARNI PRETOK .......................................................................................... 9
3.2 MEŠANJE TEKOČINE ......................................................................................... 10
4 ZASNOVA MIKROFLUIDNEGA NIZKOPRETOČNEGA FOTOMETRA . 1
5 MEHANSKI SKLOP FOTOMETRA .................................................................. 1
5.1 CELICA .............................................................................................................. 1
5.2 KOMORA ........................................................................................................... 3
5.3 NADZOR PRETOKA IN MEŠANJE .......................................................................... 4
5.4 VENTILI ............................................................................................................. 7
6 ELEKTRONSKI SKLOP FOTOMETRA ........................................................... 9
6.1 STABILIZATOR ELEKTRIČNE NAPETOSTI ............................................................. 9
6.2 MIKROKRMILNIK ............................................................................................. 10
6.2.1 Algoritem .................................................................................................... 11
6.2.2 Komunikacija med mikrokrmilnikom in osebnim računalnikom ................ 13
6.3 VIR IN DETEKTOR ............................................................................................ 13
6.3.1 Laserska dioda ............................................................................................ 13
6.3.2 Fotodetektor ............................................................................................... 15
6.4 A/D PRETVORNIK ............................................................................................ 16
6.4.1 SPI .............................................................................................................. 17
6.5 FILTER ............................................................................................................. 19
VII
6.6 TISKANO INTEGRIRANO VEZJE ......................................................................... 22
6.7 PROGRAM ZA OSEBNI RAČUNALNIK ................................................................. 22
6.8 KORAČNI MOTORJI ........................................................................................... 24
7 MIKROFLUIDNI NIZKOPRETOČNI FOTOMETER .................................. 27
7.1 MERJENJE PH Z INDIKATORJEM ....................................................................... 28
7.2 IZDELAVA UMERITVENE KRIVULJE ................................................................... 31
7.3 OPIS DELOVANJA ............................................................................................. 33
8 PREDSTAVITEV REZULTATOV .................................................................... 34
9 ZAKLJUČEK ....................................................................................................... 35
9.1 IZBOLJŠAVE ..................................................................................................... 36
10 LITERATURA ..................................................................................................... 36
11 KAZALO SLIK .................................................................................................... 37
12 KAZALO TABEL ................................................................................................ 39
13 PRILOGE .............................................................................................................. 39
13.1 PRILOGA A. MEHANSKI SISTEM ....................................................................... 40
PRILOGA B. SHEME IN TIV .......................................................................................... 53
13.2 PRILOGA C. SPI SIGNALI ................................................................................. 55
13.3 PRILOGA D. PROGRAM .................................................................................... 56
13.3.1 Main.c ..................................................................................................... 56
13.3.2 Spi_andrej.c ............................................................................................ 70
13.3.3 Motor.c ................................................................................................... 71
13.3.4 Fuses.c .................................................................................................... 74
13.3.5 AD.c ........................................................................................................ 75
13.3.6 Prekinitve.c ............................................................................................. 75
13.3.7 pH.c ........................................................................................................ 76
13.4 NASLOV ŠTUDENTA ......................................................................................... 76
13.5 KRATEK ŽIVLJENJEPIS...................................................................................... 76
VIII
UPORABLJENI SIMBOLI
E – energija valovanja,
h – Planckova konstanta ( 346,626 10 Js ) ali višina,
f– frekvenca,
c– hitrost svetlobe ( 82,9979 10 /m s ) ali molarna koncentracija,
– valovna dolžina,
– valovodno število,
I – svetlobni ali električni tok,
– molarni absorpcijski koeficient,
l – optična pot ali dolžina,
T – transmisija,
n – lomni količnik,
Re – Reynoldsovo število,
– gostota,
– viskoznost,
Q – pretok ali kvaliteta ojačevalnika,
r – premer in
g – gravitacijski pospešek (9,81 /m s ).
IX
UPORABLJENE KRATICE
UV – ultravijolična svetloba,
VIS – vidna svetloba,
IR – infrardeča svetloba,
PZT –ime zvočnika iz kvarca,
A/D – analogno/digitalno,
ICD –ime MPLAB-ovega programatorja,
LCD – prikazovalnik s tekočimi kristali
USB – univerzalno serijsko vodilo,
COM –serijski komunikacijski vmesnik,
LED – dioda, ki seva svetlobo,
SPI – serijski periferni vmesnik,
SCLK – serijski urin takt,
MOSI – gospodar izhod, suženj vhod,
SDO – izhodni podatkovni signal,
MISO – gospodar vhod, suženj izhod,
SDI – vhodni podatkovni signal,
SS – signal za izbiro sužnja,
EOC/INT – signal za konec pretvorbe,
GBW – ojačenje pasovne širine in
TIV – tiskano integrirano vezje.
Mikrofluidni nizkopretočni fotometer Stran 1
1 UVOD
Spektroskopija je obširno področje, ki se ukvarja z merjenjem frekvenčne razporeditve
moči oddanega ali absorbiranega sevanja. Najpogostejše meritve se opravljajo z merjenjem
vidnega spektra in drugih območij elektromagnetnega sevanja. Področja
elektromagnetnega sevanja, ki se najpogosteje uporabljajo, so γ-žarki, X-žarki,
ultravijolična (UV), vidna (VIS), infrardeča (IR) svetloba, mikrovalovi in radijske
frekvence (RF). Fotometer je naprava, ki namesto spektra za meritev, uporablja samo eno
valovno dolžino [1].
Cilj diplomske naloge je izdelava mikrofluidnega nizkopretočnega fotometra, namenjenega
za industrijo, s katerim bomo lahko sprotno merili pH ali kakšne druge snovi v vodi
(odvisno od uporabljenega indikatorja). Kar se tiče točnosti smo si zadali cilj, da bi lahko
izmerili pH natančnejše od barvnih lestvic, ki so priložene indikatorjem.
V začetnih treh poglavjih se bomo usmerili na razlago pojmov, ki jih srečamo v
spektroskopiji oz. fotometriji, optiki in mikrofluidiki. Predstavili bomo način izvedbe
meritve. V kasnejših poglavjih se bomo osredotočili na izvedbo mehanskih komponent. Tu
bomo na kratko opisali tudi izvedbe, ki smo jih preizkusili in se niso obnesle. Sledilo bo
večje poglavje, v katerem bomo opisali elektronske komponente in kako smo jih povezali v
delujočo enoto. Naslednje poglavje smo posvetili umerjanju merilnika. Nato bomo podali
rezultate in zaključek.
Mikrofluidni nizkopretočni fotometer Stran 1
2 OSNOVE SPEKTROSKOPIJE
Leta 1666 je Isaac Newton s pomočjo prizme ustvaril mavrico. Ta poskus je pokazal, da je
vidna/bela svetloba sestavljena iz več barv oz. valovnih dolžin. Od takrat naprej so lahko
ljudje opazovali spekter. Leta 1802 in 1814 sta William Wollaston in Joseph Fraunhofer
opazovala temne črte v sončnem spektru. To so bili začetki spektroskopske analize.
Nemški znanstvenik August Beer je leta 1852 objavil članek, kjer je pokazal, da je količina
absorbirane svetlobe proporcionalna količini topljenca v raztopini. Sedem let kasneje sta
nemški fizik Gustav Robert Kirchoff in kemik Robert Wilhelm Eberhard von Bunsen
odkrila, da so spektralne črte edinstvene za posamezen element. [2].
Kasneje so spektroskopijo uporabili za odkrivanje novih elementov, kemijske in biološke
analize, DNK analize, farmacijo…
2.1 Svetloba
Svetlobo lahko razložimo na dva načina, in sicer kot delec (foton) ali kot valovanje. Vidna
svetloba je majhen del spektra elektromagnetnega valovanja, ki ga lahko zaznamo z očmi.
Za razlago pojavov bomo svetlobo včasih pojmovali kot foton, drugič kot
valovanje.Valovanje opišemo z lastnostmi, kot so valovna dolžina, frekvenca, hitrost in
amplituda. Foton ima energijo, ki jo lahko opišemo z (2.1) [1].
Mikrofluidni nizkopretočni fotometer Stran 1
(2.1)
kjer je:
- Planck-ova konstanta ( ),
– frekvenca v ,
– hitrost svetlobe (
),
– valovna dolžina v in
– valovno število v .
Zgornja enačba nam pove, da je energija fotona premo sorazmerno odvisna od frekvence.
2.2 Interakcija svetlobe s snovjo
Med interakcijo svetlobe in snovi se lahko odvije več pojavov: odboj, sipanje, absorpcija,
fluorescenca/fosforescenca in fotokemična reakcija. Odboj je vsem poznan pojav, kjer se
svetloba od nekega predmeta ali površine odbije. Do sipanja pride kadar oddano valovanje
ne seva več v isti smeri kot vpadno, ampak v vse smeri. Kadar svetloba prehaja skozi snov,
jo ta absorbira. To pomeni, da je izstopni svetlobni tok manjši od vstopnega. Koliko
svetlobe je snov absorbirala lahko opišemo z absorpcijo ali transmisijo.
2.3 Absorpcija
Najpogosteje in najlažje se v spektroskopiji izmeri spektralna transmisija oz. absorpcija.
Pojav, pri katerem vpadna svetloba oz. foton vzbudi elektron iz nižje molekulske ali
atomske orbitale v višjo, imenujemo absorpcija. Energija fotona (2.1) mora biti natanko
enaka energijski razliki ene in druge orbitale. Pri UV in VIS pride do elektronskega in
vibracijskega prehoda. Pri IR v glavnem ne pride do elektronskega prehoda, pride pa do
vibracije in rotacije atomov. Pri UV in vidni svetlobi pride do elektronskega (electronic
transition) in vibracijskega prehoda (vibrational transition), med tem, ko pri IR v glavnem
ne pride do elektronskega prehoda, pride pa do vibracije in rotacije atomov v molekulah.
Do rotacij (rotational transition) atomov pride pri nižjih energijah, ki jih lažje ustvarimo z
Mikrofluidni nizkopretočni fotometer Stran 2
mikrovalovi. Slika 2.1 prikazuje prehode med energijskimi nivoji, Slika 2.2 pa
elektromagnetni spekter.
Slika 2.1: Prehajanje med energijskimi prehodi [1], stanj je več kot jih prikazuje slika
Slika 2.2: Elektromagnetni spekter [3]
Na Sliki 2.1 lahko vidimo, da so najvišji prehodi pri valovnih dolžinah od λ1\\ do λ4
\\, ki
pripadajo ultravijolični svetlobi. Prehod iz energijskega nivoja E0 v energijski nivo E1 ali
E2 je posledica elektronskega prehoda oz. tranzicije. Prehode znotraj posameznega
energijskega nivoja E0, E1 ali E2 imenujemo vibracijski prehodi, števila 0, 1, 2 in 3 pa
predstavljajo vibracijske nivoje. Vsak vibracijski nivo je sestavljen iz več rotacijskih
nivojev, ki pa jih ni na sliki. Slika 2.3 prikazuje spekter, ki bi ga dobili, če bi izmerili
absorpcijo energijskih nivojev.
E2
E1
E0
IR VIS UV
1 λ λ1 λ4 λ1 λ4
Mikrofluidni nizkopretočni fotometer Stran 3
Slika 2.3: Spekter energijskih nivojev [4]
Prehodi med nivoji niso strogi in del vidne svetlobe lahko povzroči elektronske in
vibracijske prehode, IR svetloba, ki je razdeljena na več pasov, pa vibracijske in rotacijske
prehode.
Enačba (2.2) predstavlja Beerov zakon, (2.3) pa Lambertov zakon.
10
0
logI
A lcI
(2.2)
kjer je:
A - absorpcija,
– začetni svetlobni tok ali elektromagnetno sevanje v
,
– svetlobni tok ali elektromagnetno sevanje v
,
– molarni absorpcijski koeficient v
,
– optična pot v in
– molarna koncentracija v
.
0 0/ 10 ali % ( / ) 100lcT I I T I I (2.3)
kjer je:
– transmisija in
– transmisija v procentih.
Mikrofluidni nizkopretočni fotometer Stran 4
Iz Beerovega zakona lahko razberemo, da se absorpcija spreminja linearno z optično potjo
in koncentracijo. Če v (2.2) namesto
vstavimo , lahko vidimo, da logaritemska funkcija
povezuje transmisijo in absorpcijo. Absorpcija nima enote, njena vrednost se lahko giba
med 0 (svetloba ni absorbirana) in (vsa svetloba je absorbirana). Tudi transmisija je brez
enote, vendar se pogosteje uporablja vrednost v odstotkih (%T). Absorpcijo običajno
merimo glede na destilirano vodo. Začetni svetlobni tok je tok skozi vzorec destilirane
vode.
O elektronski spektroskopiji govorimo, kadar imamo opravka z elektronskim prenosom
energije (electronic transition) elektrona. Elektronska spektroskopija izkorišča UV/VIS
fotone, ki imajo višje energije kot fotoni v IR področju (krajša valovna dolžina).
2.4 Spektrometer
Spektrometer je naprava, ki posname in prikaže spekter. Spekter posnamemo na principu
absorpcije ali transmisije, pri katerem pa se razlikuje način spreminjana energijskih
nivojev. V območju radijskih valov se spreminja energija v obliki spina jedra, v
mikrovalovnem območju se spreminja spin elektrona, v IR območju se spreminja vibracija
molekul, v vidnem in UV območju pa se spreminjajo atomski ali molekulski elektronski
nivoji, kot prikazuje Tabela 2.1 [5].
Tabela 2.1: Tipi spektroskopije preko elektromagnetnega spektra [5]
Območje Spektroskopija Proces
Radijski
valovi
Nuklearno magnetno resonančna Sprememba orientacije spina jedra
Mikrovalovi Resonančno spinsko elektronska Sprememba orientacije spina elektrona
Rotacijska Sprememba molekulskega rotacijskega stanja
IR svetloba Vibracijska Sprememba molekulskega vibracijskega stanja
UV svetloba Elektronska Sprememba molekulskega ali atomskega
elekronskega stanja
Mikrofluidni nizkopretočni fotometer Stran 5
X žarki Notranje elektronska Sprememba elektronskega stanja ali oddajanje
elektronov
Gama žarki Mössbauerjeva Sprememba nivoja jedrske energije
Spektrometer je v grobem sestavljen iz: vira, izbiralnika valovne dolžine, vzorca in
detektorja. Emisijski in absorpcijski spektrometer prikazuje Slika 2.4. Glede na to ali se
meri absorpcija ali transmisija, se opazuje svetloba v smeri vstopne svetlobe ali pravokotno
na njo.
Slika 2.4: Absorpcijski in emisijski spektrometer [5]
Disperzni element (monochromator na sliki) je lahko prizma ali uklonska mrežica, ki
vpadno belo svetlobo razdeli na sestavne valovne dolžine. Reža (slit) izloči ozek pas
valovnih dolžin. Držalo za vzorec (sample holder) je običajno kiveta, v katero nalijemo
tekočino, ki bi jo radi analizirali.
Mikrofluidni nizkopretočni fotometer Stran 6
2.5 Napaka pri merjenju absorpcije - Izbira valovne dolžine
Pri merjenju absorpcije lahko dobimo napačen rezultat zaradi sipanja svetlobe, slabe izbire
valovne dolžine, neprimerne koncentracije indikatorja itn. Svetloba se sipa v primeru, ko
so delci v snovi majhni v primerjavi z valovno dolžino (Rayleighovo sipanje) ali veliki v
primerjavi z valovno dolžino (Tyndallovo sipanje). Učinek sipanja lahko zmanjšamo tako,
da vzorec postavimo čim bližje detektorju ali obratno [4].
Pri izbiri valovne dolžine naletimo na dve lastnosti, in sicer linearnost in maksimalna
absorpcija. Večina literature navaja, da se uporablja valovna dolžina, pri kateri je najvišja
absorpcija. Zaradi tega ni nujno, da bomo imeli najboljšo linearnost, saj lahko uporabimo
valovno dolžino, ki je blizu vrha, in se bo absorpcija pri tej valovni dolžini spreminjala
linearno, vendar bo manjša. Linearnost lahko izboljšamo na več načinov. Lahko uporabimo
notranjo referenčno valovno dolžino ali pa se zatečemo h kalibracijski krivulji [4].
Linearnost in absorpcija sta odvisni od snovi/indikatorja, ki jo/ga uporabljamo. Če
uporabljamo valovno dolžino, ki je blizu najvišje absorpcije, bomo imeli najmanjšo napako
pri meritvi zaradi spremembe same valovne dolžine, saj se tu absorpcija ne bo spremenila
veliko, kot se to zgodi v primeru največje strmine absorpcijske krivulje.
2.6 Koncepti pretočne spektrometrije
V kemiji, biologiji, medicini in še na mnogo drugih področjih se v večini analizira
tekočinske vzorce. Te se lahko prelije v viale, ki se jih nato vstavi v spektrometer in
analizira. S pretakanjem vzorca lahko dosežemo boljši nadzor, saj lahko nadziramo pretok
in s tem porabimo manj indikatorja ali reagenta. Znanstveniki so ustvarili pretočne
spektrometre, ki jim v stroki pravijo tekočinski valovodni senzorji (Liquid Waveguide
Sensors). Pri teh senzorjih se vzorec pretaka skozi cev, izhod cevi pa enostavno usmerimo
v odplake oz. zbiralnik.
Z namenom miniaturizacije so med temi senzorji postale zelo popularne kapilare. Kapilare
so cevi z zelo majhnimi premeri (nekaj desetink milimetra ali manj). Kapilare so zanimive,
Mikrofluidni nizkopretočni fotometer Stran 7
ker lahko analiziramo majhne vzorce, zaradi česar je tudi poraba indikatorja sorazmerno
manjša. O majhnih pretokih in pripadajočih lastnostih je posvečeno naslednje, 3. poglavje
z naslovom Mikrofluidika. Prednost takšnega miniaturnega sistema je tudi majhna količina
odpadkov.
Material, iz katerega je izdelana kapilara, je večinoma SiO2 (steklo). Silicijevo steklo se
uporablja tudi za izdelavo optičnih vlaken. Da lahko optično vlakno vodi svetlobo, mora
imeti jedro višji lomni količnik (n) od obloge. Na meji med plastema z različnima lomnima
količnikoma, pride do popolnega notranjega odboja. Pri tekočinskih valovodnih senzorjih
jedro odstranimo in ga zamenjamo z vzorcem, ki teče skozi kapilaro. Da takšen valovod
uspešno vodi svetlobo, mora imeti vzorec primeren lomni količnik. Obstaja tudi izvedba
senzorja, ki izkorišča evanescentno polje. Pri tem senzorju se svetloba razširja po oblogi in
s pomočjo evanescentnega polja prodre v jedro, kjer pride v stik z vzorcem. Globina
evanescentnega polja je veliko krajša od valovne dolžine valovanja. Kadar si
predstavljamo in rišemo odboje so ti nezvezni. Svetloba se ne more razširjati po takšni
poti, zato se odbije v loku. Najlažja analogija bi bila z žogico za tenis. Ko se ta odbije od
tal se stisne, deformirajo pa se tudi tla. Svetloba se odbije tako, da se razširja tudi po
drugem materialu. Razlago prikazuje Slika 2.5.
Slika 2.5: Evanescentno polje
Na voljo so tudi senzorji, ki so na zunanji strani prevlečeni s kovino. Takšen sloj deluje kot
zrcalo in preusmeri svetlobo nazaj v jedro. V tem primeru lomni količnik tekočine ni tako
pomemben. Takšne celice so bile prve valovodne s tekočinskim jedrom, saj jih je
enostavno izdelati. Na takšnem principu deluje naš merilnik. To izvedbo se da izboljšati
Mikrofluidni nizkopretočni fotometer Stran 8
tako, da se notranja stran prevleče s kovino, vendar mi nismo imeli na razpolago
tehnologije, s katero bi to lahko izdelali. Izvedbo valovoda, s komoro in detektorjem,
prikazuje Slika 2.6.
Slika 2.6: Izvedba valovoda
S tem, ko se svetloba odbija od sten kapilare (notranje ali zunanje), se poveča interakcijska
dolžina. Pri teh senzorjih govorimo o dolžini samega senzorja in o optični poti. Dolžina
senzorja nam pove, koliko meri v dolžino, optična pot pa nam pove dolžino poti, ki jo
prepotuje žarek, ko potuje skozi celico z vzorcem.
Obstajajo tudi celice, pri katerih žarek opravi več preletov, imenujemo jih večpreletne
celice (multipass cells) . Takšne celice imajo vgrajena ogledala na obeh koncih. Na primer,
pri dolžini senzorja 0,5 m lahko dosežemo optično pot 20,5 m. Takšnim celicam lahko
nastavljamo optično pot, odvisno od absorpcije vzorca. [1] Najpogosteje se uporabljajo pri
analizi plinov, saj so plini redkejši od tekočin, kar pomeni, da je interakcija med svetlobo
in plinom slabša. Pri takšnih analizah se indikatorji ne uporabljajo.
3 MIKROFLUIDIKA
Beseda optofluidika se je prvič pojavila leta 2003. Namen novega področja je bila
združitev optike in mikrofluidike za izdelavo novih optičnih naprav [6]. Mikrofluidika je
omogočila razvoj novih naprav, ki jim pravimo laboratorij na čipu (ang. Lab On Chip).
Značilnosti teh »laboratorijev« so zelo nizki pretoki, tudi reda piko litra. Takšne naprave se
Mikrofluidni nizkopretočni fotometer Stran 9
že uporabljajo v praksi za analizo krvi, biokemične analize itd. Pacient si lahko sam, v
domačem okolju, izmeri, na primer, vsebnost litija v krvi. Takšni sistemi so cenovno
ugodni, uporabi se majhna količina krvi, so miniaturni itn. V prihodnosti se jih namerava
uporabiti za analizo DNK in hitrih analizah bolezni.
3.1 Laminarni pretok
Pri majhnih pretokih, kakršni so v mikrofluidiki, govorimo o laminarnem toku. Obstaja
tudi turbulentni, ki se pojavi pri večjih pretokih. Reynoldsovo število lahko izračunamo na
osnovi enačbe (3.1), s čimer lahko ugotovimo, ali bo tok laminaren ali turbulenten. V
grobem velja, da je pretok laminaren, ko je Re<2000, pri Re>2000 pa je tok turbulenten.
Rel
(3.1)
kjer je:
- povprečna hitrost pretoka v m
s,
l - dolžina kanala v m ,
- gostota tekočine v 3
kg
m in
- dinamična viskoznost v Pa s .
Slika 3.1 prikazuje laminarni tok, kjer lahko vidimo, da se indikator (obarvan rdeče) ne
meša z vodo. Vsak tok (vode in indikatorja) teče po svojem »tiru«.
Slika 3.1: Laminarni tok
Mikrofluidni nizkopretočni fotometer Stran 10
Pri turbulentnem toku se zaradi vrtinčenja tekočina meša, pri laminarnem toku pa tega
pojava ni. Zaradi tega moramo mešanje v našem mikrofluidnem sistemu zagotoviti na
drugačen način.
3.2 Mešanje tekočine
Načine mešanja v mikrofluidiki ločimo na pasivne in aktivne. V sistem lahko vstavimo
mešalni element, izkoristimo difuzijo, posebej oblikujemo kanal itn.
Pri difuziji se zmešata tekočini z različnima gostotama delcev. Če je v eni tekočini več
delcev, kot v drugi, se bodo ti sčasoma preselili v tekočino, kjer jih je manj. To se zgodi
zaradi Brownovega gibanja. Delci se porazdelijo tako, da je povprečna koncentracija v
nekem volumnu konstantna. Slika 3.2 prikazuje mešanje dveh tekočin z difuzijo.
Slika 3.2: Difuzija [7]
Takšno mešanje je lahko tudi dolgotrajno, zato smo se odločili in izdelali svoj mešalni
element, ki ga prikazuje Slika 5.5 (podrobneje je razložen v poglavju 5.3).
Mikrofluidni nizkopretočni fotometer Stran 1
4 ZASNOVA MIKROFLUIDNEGA NIZKOPRETOČNEGA
FOTOMETRA
Ker imamo opravka z optičnim sistemom, smo morali zagotoviti čim manjši vpliv zunanje
svetlobe, zato smo potrebovali nekakšen zaprt prostor/komoro. Vir je lahko v komori ali
zunaj. Dobro bi bilo, če bi lahko imeli več virov, s katerimi bi lahko merili več kemičnih
lastnosti. Ker bomo morali v celico, ki bo v komori, dozirati indikator in vodo v pravem
razmerju, bomo potrebovali tlačni sistem z ventili. Celica mora biti pretočna in čim
manjša, da bomo porabili čim manj indikatorja in vode. Zraven bomo potrebovali še
elektroniko, s pomočjo katere bomo krmilili ventile, vir, opravljali izračune, komunicirali z
osebnim računalnikom itn.
Najprej smo se odločili, da bomo izdelali celico, ki je najpomembnejši del merilnika. Po
številnih poskusih smo prišli do izvedbe s kapilaro iz silicijevega stekla. S tem smo
zagotovili, da bo tekočina lahko stekla iz merilnika v odplake in majhen volumen. Komoro
smo izdelali iz aluminija. Indikator in vodo smo dozirali preko cevnega sistema, mešalno
razmerje smo določili z dolžinami in premeri cevi. Za dovajanje tekočin smo uporabili
ventile, s katerimi smo ustavili dotok vode ali indikatorja. Na koncu smo potrebovali še
elektroniko. Odločili smo se za mikrokrmilnik, s katerim smo lahko opravljali meritve in
pošiljali rezultate osebnemu računalniku, saj smo želeli, da je sistem primeren za
industrijo. Slika 4.1 prikazuje blokovno shemo merilnika. Slika končnega merilnika je v
Prilogi A.
Mikrofluidni nizkopretočni fotometer Stran 1
Komora
Voda Indikator
LD2 LD1
Slika 4.1: Blokovna shema merilnika
5 MEHANSKI SKLOP FOTOMETRA
5.1 Celica
Ker je naš sistem pretočni, smo celico izdelali iz kapilare. Kapilaro (zunanjo steno), s
premerom od 250 µm do 500 µm, smo prevlekli s srebrom. Slika 5.1 prikazuje posrebreno
kapilaro. Posrebrili smo jo s kemičnim postopkom, kjer smo zmešali tri zmesi (A,B in C) v
enakem razmerju (1:1:1).
A: 2
3
1
3
dl H O
g AgNO
B:
3
2
0,25 24 % koncentracija
0,75
4
dl NH
dl H O
g KOH
Mikrofluidni nizkopretočni fotometer Stran 2
C: 21
15
dl H O
g glukoze
Zmes smo pripravili v epruveti, po abecednem vrstnem redu (najprej A in B). Ko je nova
zmes postala prozorna, smo vstavili kapilaro in dodali zmes C. Nato smo počakali nekaj
minut (ko se je stena epruvete posrebrila, je bilo postopka konec) in nato iz epruvete vzeli
kapilaro. Da smo preprečili srebrenje notranje stene kapilare, smo kapilaro na koncu
zalepili z Neostikom.
Slika 5.1: Posrebrena kapilara
Sloj srebra je bil krhek in je ob kontaktu začel odstopati. Da bi srebro ostalo na kapilari,
smo jo potopili v lak za kovino. Nato smo kapilaro premazali z barvo za kovino. Barva je
bila namenjena za popolni stik med kapilaro in luknjo v komori, kamor smo jo vstavili, da
vanjo ni vstopala svetloba iz okolice. Da je svetloba lahko izstopila iz kapilare in jo je
lahko zaznal detektor, smo na dolžini približno 1,45 cm odstranili sloje barve, laka in
srebra z nožem. Izdelano celico prikazuje Slika 5.2, Slika 5.3 pa valovodno lastnost naše
celice.
Slika 5.2: Izdelana celica
Mikrofluidni nizkopretočni fotometer Stran 3
Slika 5.3: Valovodna lastnost celice
Optično pot smo dobili tako, da smo najprej izmerili absorpcijo na obstoječem
spektrometru (UV-VIS CARY 50) pri valovni dolžini naše laserske diode, ki je znašala
λ=532 nm in optični poti 1 cm. Nato smo isto tekočino vbrizgali v našo celico in izmerili
absorpcijo. S pomočjo (2.2) lahko izračunamo razmerje med absorpcijama, kar predstavlja
razmerje dolžin optičnih poti oz. dolžino optične poti celice v centimetrih. Pri dolžini
celice ~1,45 cm je optična pot znašala ~1,6 cm. Optična pot je daljša zaradi odboja
svetlobe od stene kapilare, ki predstavlja zrcalo.
5.2 Komora
Kot smo že omenili v prejšnjem poglavju, smo celico vstavili v komoro, da smo izločili
svetlobo iz okolice. Komoro prikazuje Slika 5.4, kjer lahko vidimo še postavitev vira in
zbiralnik tekočine z odtokom. Nosilec za lasersko diodo pod zbiralnikom tekočine služi za
nastavitev kota med lasersko diodo in kapilaro.
Slika 5.4: Komora z virom
Mikrofluidni nizkopretočni fotometer Stran 4
Mehanske dele smo načrtovali s programom za 3D modeliranje. Načrti in slike so v Prilogi
A.
5.3 Nadzor pretoka in mešanje
Pretok indikatorja in vode smo določili računsko na osnovi Hagen-Poiseuillovega zakona,
ki ga opisuje enačba (5.1). Pretok je odvisen od upornosti cevi in razlike v tlaku. Upornost
cevi nam prikazuje (5.2). Enačba (5.1) se uporablja za laminarne pretoke in cevi, katerih
premeri so veliko manjši od dolžine cevi in okrogli. Če si pomagamo z analogijo
električnih vezij, si lahko predstavljamo, da je razlika v tlaku ΔP enaka razliki dveh
potencialov (napetosti) U, pretok Q pa si lahko predstavljamo kot električni tok I.
Analogijo nam prikazuje (5.3).
4
8 lQP gh
r
(5.1)
Kjer je:
- viskoznost tekočine v Pa s ,
l - dolžina kapilare v m ,
Q - pretok v 3m
s,
r - polmer kapilare v m ,
- gostota v 3
kg
m,
31000 vode
kg
m ,
g - gravitacijski pospešek v 2
m
s (
29,81
m
s) in
h - višina vodnega stolpca v m .
4
8 lR
r
(5.2)
kjer je:
R - upornost cevi v 3
Pa s
m,
Mikrofluidni nizkopretočni fotometer Stran 5
( )P R Q U R I (5.3)
Celoten sistem cevi in kapilar, prikazan na Sliki 5.5, je bil sestavljen iz daljše steklene cevi
z razširjenim vrhom, ki je deloval kot rezervoar, silikonske cevi, polietilenske cevi z
majhnim polmerom in kapilare (ta je bila uporabljena samo za cevni sistem, kjer smo imeli
indikator). Vse skupaj je bilo priključeno na mešalni element in celico.
Slika 5.5: Tlačni sistem
Spodaj so prikazani izračuni za upornosti cevi za vodo, indikator in dolžino kapilare (Δx) s
katero določimo mešalno razmerje 1:62,5. Več o tem razmerju bo predstavljeno v poglavju
7.1. Mešalno razmerje je pogojeno z nivojema tekočin (voda in indikator), ki morata biti
enaka (enak tlak). Predpostavili smo tudi, da je viskoznost obeh tekočin enaka. Ker je
premer zadnje cevi in kapilare majhen, pomeni, da bosta upornosti visoki. Tako si lahko
privoščimo, da z določitvijo dolžin in premerov ostalih cevi in premera kapilare
izračunamo dolžino kapilare. Spodaj je prikazan izračun za dolžino zadnje kapilare, glede
na premere in dolžine izbranih cevi. Tlačno razliko (ΔP) smo določili s poskusi, kjer smo
primerjali izračunane in izmerjene vrednosti pretokov. Eksperimentalno smo določili
hitrost vode vv=2 cm/s skozi celico s premerom d≈0,5 mm. To pomeni, da smo na koncu
kapilare morali zagotoviti pretok Q≈16 nm3/s. To smo lahko dosegli z višino stolpca h≈1 m
in premeri cevi in kapilar, ki so navedeni v spodnjem izračunu.
Mikrofluidni nizkopretočni fotometer Stran 6
Izračun dolžine kapilare:
411
4 4 4 4 33 3 3 3
13
3
413
3
8 8,9 10 s 0,03 0,238 0,807 0,1 6,1922 10
13 10 3 10 0,5 10 0,14 10
62,5 3,87 10
8 8,9 10 0,03 3,87 10
vode
pH reagenta vode
Pa m m m m Pa sR
mm m m m
Pa sR R
m
Pa s Pa s m
m
4 4 4 4 4
3 3 3 3 6
0,177 0,851 0,2
13 10 3 10 0,5 10 0,14 10 42,5 10
5,396
m m m X
m m m m m
X cm
Mešalni element smo izdelali iz kapilare, optičnega vlakna in PZT elementa in je prikazan
Slika 5.6. PZT je piezoelektrični element, ki se uporablja za oddajanje zvočnih valov
visoke frekvence.
Slika 5.6: PZT mešalni element brez in z vibratorjem
Na PZT smo nalepili kapilaro, v katero smo vstavili kos optičnega vlakna. Nalepljena
kapilara je bila zakrivljena, da tekočina in vibracije ne morejo potisniti kosa optičnega
vlakna naprej po cevi, saj bi s tem lahko zaprli izhod iz mešalnega elementa. Tekočino
zmešamo s tresljaji, ki jih povzroča PZT in dodatno z optičnim vlaknom, ki vibrira v
kapilari. V Prilogi B je shema elektronskega vezja z NE555, ki smo ga uporabili za
vzbujanje PZT-ja. Najvišjo amplitudo vibracij smo dosegli tako, da smo PZT vzbujali z
resonančno frekvenco.
Kasneje smo preizkusili tudi različico z vibracijskim motorjem, ki se je izkazala za
uspešno. Pri tej izvedbi nismo potrebovali dodatnega vezja, saj smo že imeli izdelano
Mikrofluidni nizkopretočni fotometer Stran 7
stabilizacijsko vezje za 3 V, ki smo ga uporabili za lasersko diodo (glej Sliko 6.1).
Vibracijski motor smo s sekundnim lepilom pritrdili na PZT. Slednja rešitev je bila manj
moteča, saj je PZT oddajal višje frekvence, ki so bile moteče za posluh.
Pri spajanju cevi je bilo kar nekaj izzivov. Stekleno cev smo na silikonsko pritrdili s
silikonom. Ker se je silikon dolgo trdil, smo morali paziti, da se cevi nista ločili. Spajanje
polietilenskih cevi s silikonskimi smo rešili s posebnimi nastavki tako, da smo enostavno
eno cev vstavili v drugo. Pred tem smo poskusili s sekundnim lepilo, ki je bilo neuporabno
in silikonom, ki pa ni imel dovolj dobrega oprijema s cevjo. Včasih se je zgodilo, da se je
polietilenska cev z lahkoto iztaknila iz silikonske, nazaj pa smo jo vstavili s težavo, pri tem
pa nismo morali zagotoviti, da vanjo ni prišel kakšen delec, ki bi jo lahko zaprl.
Združevanje kapilare in polietilenske cevi pa je predstavljajo največji izziv. Tu smo sprva
uporabljali sekundno lepilo, pri katerem smo morali paziti, da ga ni posesalo v kapilaro
zaradi kapilarnega učinka. Ko nam je spoj uspel, smo ugotovili, da ni tako močan kot smo
si želeli. Odločili smo se za uporabo dvo-komponentnega epoksidnega lepila. Takšna lepila
se razlikujejo po času strjevanja. Za najboljše so se izkazala takšna, ki so se strdila v času
petih minut. Epoksidno lepilo, ki se strdi v eni minuti ni bilo praktično, saj smo morali biti
zelo hitri pri uporabi, z daljšimi časi pa so se pojavile težave s kapilarnim učinkom.
Epoksidno lepilo, ki se trdi dalj časa, ima majhno viskoznost (je bolj tekoč). Pri
združevanju cevi za vodo in indikator pred mešalnim elementom je prihajalo do
problemov, kjer je epoksidno lepilo steklo v eno izmed kapilar in jo zaprl, včasih pa je
stekel na notranje stene cevi za vodo in spremenil premer cevi ter tako spremenil mešalno
razmerje.
5.4 Ventili
Najprej smo se usmerili v komercialne mikro-ventile, ki pa so bili dragi. Na začetku smo
zapirali polietilensko cev s stiskanjem z matico in vijakom. To je bila hitra, vendar
neustrezna rešitev. Polietilenska cev je preveč toga in se ji je zaradi stiskanja spremenil
polmer, kar se je odrazilo na mešalnem razmerju. Reševanje tega problema nam je vzelo
nekaj časa, saj smo razloge iskali v gostoti indikatorja, vode in tlaku. Na koncu smo prišli
Mikrofluidni nizkopretočni fotometer Stran 8
do izvedbe, kjer stiskamo silikonsko cev. Slika 5.7 prikazuje izvedbo ventilov brez
motorjev.
Slika 5.7: Ventila
Idejo za ventil smo dobili po komercialnih izvedbah. Obstaja veliko izvedb, mi smo se
osredotočili na ventile narejene iz vijakov (screw valve) in takšne, ki stisnejo cev (pinch
valve). Ker nimamo opreme s katero bi lahko napravili profesionalni ventil, smo izdelali
improviziranega iz vijakov, matic, pleksi-stekla in silikonske cevi. Na koncu smo dodali
motorje, na os katerih smo pritrdili vijak. Rešitev prikazuje Slika 5.8.
Slika 5.8: Ventila z motorjem
Takšni ventili so veliko bolj robustni od izvedb s polietilensko cevjo. Zaradi ohišja iz
pleksi-stekla nimamo problemov s premikanjem cevi. Pri prejšnji izvedbi se je cev lahko
tudi premaknila iz primernega položaja, kar je pomenilo, da se cev ni dovolj zaprla ali pa
se je zaradi tega hitreje poškodovala. Ker imajo polietilenske cevi majhne premere, je bilo
zelo pomembno, da smo bili pazljivi pri zategovanju. Koraki motorja so morali biti
nastavljeni zelo točno. Kadar smo motor zavrteli s premajhnim številom korakov cev ni
bila dovolj zaprta, v obratnem primeru pa smo cev poškodovali. Pri zdajšnji izvedbi pa ni
pomembno, če cev malo preveč stisnemo, saj je silikonska cev veliko bolj elastična in
zdržljiva. Polietilensko cev smo, zaradi takšne izvedbe ventila, morali razrezati in vstaviti
Mikrofluidni nizkopretočni fotometer Stran 9
v silikonsko. Takšna izvedba je bila tudi modularna, kar nam je omogočalo enostavno
menjavo cevi.
6 ELEKTRONSKI SKLOP FOTOMETRA
V tem poglavju bomo opisali glavne elektronske komponente in vezja, ki sestavljajo
fotometer. Osredotočili se bomo predvsem na mikrokrmilnik, njegov program oz.
algoritem, A/D pretvornik, vir in detektor. Opisali bomo tudi SPI komunikacijo med
mikrokrmilnikom in A/D pretvornikom ter komunikacijo med mikrokrmilnikom in
osebnim računalnikom.
6.1 Stabilizator električne napetosti
Za napajanje vezij smo potrebovali 3 V, 5 V in 12 V napetostne vire, zato smo se odločili za
uporabo regulatorjev LM78XX in LM317. Slika 6.1 prikazuje shemo stabilizacijskih
vezij.
Slika 6.1: Stabilizacijska vezja
Mikrofluidni nizkopretočni fotometer Stran 10
Ker je pri največji porabi vsa elektronika potrebovala več kot 2 A, smo morali z
močnostnima tranzistorjema preusmeriti večino toka mimo LM7812 in LM7805, saj nista
izdelana za tokove višje od 1 A. Uporabili smo tranzistorja BD538 in upora, s katerima
smo nastavili tok, pri katerem sta začela tranzistorja prevajati. Upora sta imela upornost 6
Ω, kar je pri toku 100 mA povzročilo padec napetosti UBE=0,6 V, to pa je dovolj, da se
tranzistorja odpreta. S tem smo dosegli, da je skozi napetostna regulatorja tekel maksimalni
tok v vrednosti 100 mA. Tranzistorja smo hladili z večjimi hladilnimi rebri, za hlajenje
LM7805 smo uporabili manjše hladilno rebro, LM78012 pa ga ni potrebovalo, če je bila
vhodna napetost okoli 15 V. LM7805 se je bolj grel, saj se je na njem pojavila potencialna
razlika 7 V. LM317 je bil vezan kot nastavljiv napetostni stabilizator, izhodno napetost
smo bolj natančno nastavili s potenciometrom. Upornosti v grobem, določimo z (6.1).
2
1
1,25 (1 )izh
RU
R (6.1)
kjer sta:
1 2 in R R - upornosti v .
6.2 Mikrokrmilnik
Za naše potrebe smo izbrali mikrokrmilnik PIC18F4550 (TQFP). Izbrali smo ga zaradi
števila digitalnih vhodov in izhodov (30), USB izhoda, ki smo ga uporabljali za RS-232
komunikacijo z računalnikom, knjižnic, ki so na voljo, enostavnega programiranja in
odpravljanja napak (načina za razhroščevanje) preko modula ICD 2. Na voljo smo imeli 2
MB programskega spomina in 32 KB Flash spomina. Na začetku smo iskali tudi možnost
SPI komunikacije, vendar tega nismo uporabili, saj je imel A/D pretvornik daljši SPI
podatkovni paket, zato smo morali napisati svoj protokol. Slika 6.2 prikazuje razporeditev
nogic mikrokrmilnika.
Mikrofluidni nizkopretočni fotometer Stran 11
Slika 6.2: Razporeditev nogic in njihove funkcije [8]
Kot smo že omenili, nam je koristila velika zbirka knjižnic, ki je na voljo, saj smo z
lahkoto priključili LCD prikazovalnik in povezali mikrokrmilnik z računalnikom preko
USB/RS-232.
Razvojno orodje, v katerem smo programirali, je bilo MPLAB IDE, prevajalnik CCS C,
programski jezik pa je bil C.
Uporabili smo skoraj vse digitalne vhode/izhode mikrokrmilnika, programski pomnilnik
smo skoraj zapolnili in izkoristili smo dva od treh časovnikov. Mikrokrmilnik smo
uporabili tudi za osnovne računske operacije in logaritmiranje, nanj smo priključili
dvovrstični šestnajst znakovni LCD zaslon. Shema vezave mikrokrmilnika je v Prilogi B.
6.2.1 Algoritem
Algoritem delovanja prikazuje Slika 6.3. Program za mikrokrmilnik je napisan tako, da
lahko z računalnikom nastavljamo korake posameznega motorja/ventila in smer, merimo
temni in svetli tok, napetost na izhodu OPT101 in absorpcijo, s pritiskom na posamezno
Mikrofluidni nizkopretočni fotometer Stran 12
tipko lahko vklopimo in izklopimo mešalni element/vibrator in lasersko diodo, izpišemo
rezultate zadnje meritve (absorpcijo in pH vrednost) ali sprožimo izvajanje celotne
meritve. S posebnim ukazom lahko tudi izvedemo kalibracijo fotometra pri pH 7 ali pH 8.
Bolj natančen opis algoritma oz. delovanja fotometra je v poglavju 7.3, kjer opisujemo
delovanje fotometra.
Slika 6.3: Programski algoritem
Program za mikrokrmilnik se nahaja v Prilogi D.
START
TIPKA1=1 TIPKA2=1 TIPKA3=1
DA
NE NE NE
Nastavi se
časovnik T3
START T3
DA
TIPKA2=1
NE
STOP T3
T3<=25
Preklopi PIN B2 Preklopi PIN B3
DA NE
Izmeri se
temni tok
Ventil za vodo
odprt?
DA
Odpre se
ventil za
vodo
NE
Nastavi se
časovnik T1
START T1
T1=2740
NE
DA
Odpre se ventil za
reagent
Vklopi se mešalni
element
Izmeri se svetli tok
Nastavi se T1
START T1
T1=2750
NE
DA
Izklopi se mešalni element
Izmeri se absorpcija
Izračuna se pH vrednost
Zapre se ventil za reagent
Zapre se ventil za vodo
Ukaz preko
tipkovnice
Ukaz se razreši
DA
Izpis
absorpcije in
pH vrednosti
VENTILI
MERITVE
IZPIS
NE
Izbira željenega
ventila
Nastavitev smeri
Nastavitev vrtljajev
IZVEDBA
UKAZA
DA
DA
NE
NE
pHSvetli tok
Temni tok
Napetost
Absorpcija
NE
NE
NE
Omogoči
CS'
SPI
Onemogoči
CS'
Izpis
napetosti
St=0
St=10NE
NE
P
O
V
P
R
E
Č
E
N
J
E
DA
PIN_B2=1
PIN_B2=0
DA
Izpis
napetosti
Izpis
absorpcije in
pH vrenosti
Zanka za
Temni tok
Zanka za
Svetli tok
Absorpcija
Izpis
absorpcije in
pH vrednosti
NE
Mikrofluidni nizkopretočni fotometer Stran 13
6.2.2 Komunikacija med mikrokrmilnikom in osebnim računalnikom
Mikokrmilnik in osebni računalnik komunicirata preko USB povezave z RS-232
protokolom. USB/RS-232 protokola nismo sami napisali, ampak smo vključili knjižnico
usb_cdc.h, ki jo vsebuje sam prevajalnik CCS C. V programu smo morali inicializirati
usb_cdc knjižnico z ukazom usb_cdc_init() in sam USB, z ukazom usb_init(). Knjižnica
usb_cdc.h nam doda virtualni COM priključek na osebnem računalniku preko USB z
uporabo CDC (»communication device class«).
6.3 Vir in detektor
6.3.1 Laserska dioda
Fotonika se je razširila ravno z razvojem in izdelavo laserskih diod. Laserska dioda je v
primerjavi z laserji cenejša, ima visok izkoristek, preprosto napajanje, majhne dimenzije, je
izjemno hiter in za modulacijo preprost element. Laserska dioda sveti zaradi pojava
imenovanega luminiscenca. Ta pojav je razdeljen na dva dela: vzbujanje in emisija. Glede
na vzbujanje poznamo več vrst luminiscence: fotoluminiscenca, katodna luminiscenca,
elektroluminiscenca in druge oblike luminiscence (kemična itd.). Do luminiscence pri
polprevodnikih pride, kadar elektron iz prevodnega pasu preide v valenčni pas. Temu
pojavu pravimo rekombinacija. Pri rekombinaciji elektron odda energijo v obliki fotona.
Poenostavljeno grafično predstavitev prehodov lahko vidimo na Sliki 6.4.
Slika 6.4: Pasovi in prehodi v polprevodniškem kristalu [9]
Mikrofluidni nizkopretočni fotometer Stran 14
Vzbujeni polprevodnik seva večjo spektralno širino kot npr. vzbujeni plin. Izsevano
valovanje ima valovno dolžino, ki je ustrezna (približno) energijski reži (λ≈hc/Er). [9]
Za vir smo izbrali lasersko diodo CW532-020, ki je prikazana na Sliki 5.5. Iz imena lahko
razberemo, da ima laserska dioda valovno dolžino 532 nm in moč do 20 mW. Za ta vir smo
se odločili, ker ima ta valovno dolžino najbližje indikatorju(fenol rdeče), ki ima najvišjo
absorpcijo pri λ=560 nm. Viri z višjimi valovnimi dolžinami blizu λ=560 nm so na voljo,
vendar so zelo dragi.
Slika 6.5: Laserska dioda CW532-20
Lasersko diodo s pripadajočo elektroniko smo morali napajati z napetostjo U=3 V. Shema
vezja je prikazana na Sliki 6.1.
Pred izvedbo z lasersko diodo smo preizkusili dve možni izvedbi. Prva je bila izvedba z
optičnim vlaknom in evanescentim poljem. Tu smo pridobili nekaj znanja iz varjenja
vlaken, ki so zamaknjena po osi. Uporabljali smo posebno vlakno, katero smo morali
privariti izven jedra, ki je v sredini. Na žalost eksperimenti niso dali želenih rezultatov.
Takšen senzor bi lahko usposobili za delovanje, vendar smo imeli preveč težav z izdelavo.
Za težavno se je izkazala tudi izdelava ohišja za takšen senzor in črpalke. To vse bi bilo
časovno dolgotrajno in potencialno drago, zato smo se odločili za izvedbo z LED diodo in
zrcalom. Uporabili smo močno LED diodo, kateri smo želeli skoncentrirati snop izsevane
svetlobe. To smo izvedli s paraboličnim zrcalom, ki je imelo luknjo skozi center, kamor
smo vstavili celico. Slika 6.6 prikazuje takšno izvedbo v eksperimentalnem stanju, kjer se
lahko vidi LED, zrcalo in celico, ki je speljana skozi zrcalo.
Mikrofluidni nizkopretočni fotometer Stran 15
Slika 6.6: Izvedba z LED in paraboličnim zrcalom
Da smo sklopili vsaj malo svetlobe v celico, smo morali zrcalo zelo dobro spolirati. Na
žalost nam ni uspelo sklopiti dovolj svetlobe v celico, da bi nadaljevali s takšno izvedbo.
Kot je bilo omenjeno, je poskus z lasersko diodo dal veliko boljše rezultate.
6.3.2 Fotodetektor
Kot detektor nam je služila foto-dioda s komercialnim imenom OPT101. Lastnosti
OPT101:
enojno napajanje od +2,7 do +36 V,
velikost foto-diode 0,09 x 0,09 palca,
pasovna širina 14 kHz pri povratnem uporu 1 FR M ,
notranji povratni upor 1 FR M in
majhen tok v stanju mirovanja: 120 A .
Spektralni odziv OPT101 nam prikazuje Slika 6.7, kjer lahko vidimo, da je detektor
primernejši za IR območje. Na Sliki 6.8 je prikazana vezalna shema.
Mikrofluidni nizkopretočni fotometer Stran 16
Slika 6.7: Spektralni odziv OPT101 [9]
Slika 6.8: Shema OPT101 [9]
Kadar je OPT101 v popolni temi, na njegovem izhodu izmerimo napetost ~7,5 mV.
Napetost temnega toka je odvisna od temperature, pri 20° C znaša 7,5 mV.
6.4 A/D pretvornik
PIC18F4550 ima notranji A/D pretvornik z 10 bit-no ločljivostjo. Pri referenčni napetosti
2,048 V ima en bit vrednost 2 mV, kar je premalo, saj je napetost na izhodu fotodetektorja
7,5 mV. Poleg ločljivosti imamo še motnje zaradi oscilatorja in ostale močnostne
elektronike, analognega signala ne moremo speljati na A/D pretvornik z dolgo povezavo,
saj bi s tem povišali vpliv motenj. Odločili smo se za izdelek Texas Instruments ADS7280.
Vezalna shema je prikazana na Sliki 6.9. Prednost pretvornika je velika hitrost vzorčenja (1
MHz pri napajanju nad 3 V), notranji takt, SPI komunikacija, dva vhoda/kanala in TAG bit
Mikrofluidni nizkopretočni fotometer Stran 17
(če je omogočen nam pove na katerem kanalu je bila opravljena pretvorba). Za referenco
smo uporabili LM4040-2.0. Referenčna napetost elementa je 2,048 V. Shema z vezavo
reference je v prilogi B.
Slika 6.9: Shema ADS7280 [10]
6.4.1 SPI
Je način komunikacije med dvema napravama, kjer ena prevzame vlogo gospodarja, druga
pa sužnja. SPI se uporablja pri komunikaciji, kjer je na voljo majhno število povezav in
želimo relativno hiter prenos podatkov. Komunikacija poteka v tako imenovanem full
duplex načinu. To pomeni, da je komunikacija dvosmerna brez čakanja ukaza od
gospodarja. Slika 6.10 prikazuje SPI povezavo med gospodarjem in sužnjem.
Slika 6.10: SPI povezava
SCLK je takt, ki ga generira gospodar, MOSI (MasterOutput Slave Input-Gospodar Izhod
Suženj Vhod). SDO je podatkovna linija, preko katere gospodar pošlje podatek sužnju,
MISO (MasterInput Slave Output-Gospodar Vhod Suženj Izhod). SDI je podatkovna linija,
preko katere suženj pošlje podatek gospodarju. SS' (Slave Select-Izbira Sužnja) je linija,
Mikrofluidni nizkopretočni fotometer Stran 18
preko katere gospodar izbere sužnja. V primeru, da gospodar komunicira z dvema ali več
sužnji, mora imeti za vsakega svojo SS' linijo. Slika 6.11 prikazuje časovni diagram SPI
komunikacije ADS7280.
Slika 6.11: SPI časovni diagram za ADS7280 [10], A/D je v funkciji sužnja
Ker je TAG bit posebnost, smo morali napisati svojo SPI funkcijo, ki smo jo
implementirali po časovnem diagramu, prikazanem na zgornji sliki. Diagram velja za način
delovanja, kjer so izbrane funkcije:
samodejna izbira kanala,
notranji oscilator,
ročno proženje preko CONVST',
EOC/INT' aktiven na nizek nivo in
TAG bit omogočen.
Koda za spi komunikacijo je v Prilogi D (spi_andrej.c).
Prvi štirje biti, ki jih pošljemo A/D pretvorniku, imajo vrednost 1101, kar je ukaz za »pošlji
vrednost A/D pretvorbe«. Sočasno s pošiljanjem ukaza že prejemamo vrednost rezultata
pretvorbe, kot je razvidno iz časovnega diagrama na Sliki 6.11. PIN_C1 služi kot SDO,
Mikrofluidni nizkopretočni fotometer Stran 19
PIN_C2 kot SDI, PIN_C7 kot takt (CLK), PIN_C0 pa kot signal za izbiro A/D pretvornika
(CS'). Za posamezne signale (SDO, SDI, CLK itn.), ki smo jih posneli,glej Prilogo C.
6.5 Filter
Pred A/D pretvornikom smo vezali filter, ki je izločil motnje, da bi bila izmerjena vrednost
bolj točna. Uporabili smo NP (nizko-pasovni) filter 2. reda z mejno frekvenco 10 Hz.
Odločili smo se za Sallen-Key topologijo (filter z enojno pozitivno povratno vezavo) in
Chebyshev tip filtra z vrednostjo valovitosti 1 dB. Izvedbo filtra prikazuje Slika 6.12. Za
takšne tipe filtrov obstajajo tudi tabele koeficientov, ki jih vstavimo v enačbo za izračun
filtra. Za filter 2. reda smo se zgledovali po (6.2), ki predstavlja prenosno funkcijo filtra.
Slika 6.12: Sallen-Key topologija [11]
0
2
1 1 2 0 1 2 1 2 1 2
( )1 1
OUT
IN
V Alp
V C R R A R C s R R C C s
(6.2)
Kjer je:
40
3
1R
AR
- enosmerno ojačenje filtra,
2 cs j f in
1 2 1 2
1
2cf
R R C C - mejna frekvenca v Hz .
Mikrofluidni nizkopretočni fotometer Stran 20
Velikokrat si olajšamo delo, da poenostavimo enačbo in določimo R1=mR, R2=R, C1=C in
C2=nC, s tem se tudi poenostavi prenosna funkcija. Enačba (6.3) je že poenostavljena
enačba za kvaliteto, sledita ji še (6.4) in (6.5). [11]
01 (1 )
mnQ
m mn A
(6.3)
1
2cf
RC mn (6.4)
0
2 2 2
0
( )1 1 1
OUT
IN
V Alp
V RC m A mnRC s mnR C s
(6.5)
Filtre se lahko načrtuje tudi na drugačen način, in sicer s pomočjo tabel. Iz prenosne
funkcije se izpišejo karakteristični polinomi, katerih koeficienti so izračunani v tabelah za
filtre. Pri takšnem postopku načrtovanja se moramo odločiti za tip (Chebyshev,
Butterworthov…), vrednost valovitosti in stopnjo filtra.
Za hitrejše načrtovanje in preizkušanje filtrov smo se obrnil na program FilterPro od
podjetja Texas Instruments. V programu smo preko čarovnika nastavili želene parametre
(mejno frekvenco, tip filtra, topologijo, red filtra itn.), ki nato izračuna vrednosti
elementov. Dobrodošla je tudi funkcija za realne elemente, ki preračuna vrednosti uporov
in kondenzatorjev v standardne vrednosti elementov, ki jih lahko kupimo. Slika 6.13
prikazuje shemo filtra, ki nam jo je podal FilterPro.
Mikrofluidni nizkopretočni fotometer Stran 21
Slika 6.13: Shema filtra 2. reda
FilterPro tudi poda lastnosti ojačevalnika (npr. GBW), ki so nam koristile pri nakupu
ojačevalnika. Odločili smo se za OPA4376. Integrirano vezje je sestavljeno iz štirih
operacijskih ojačevalnikov, ima nizek šum, majhno »offset« napetost, lahko deluje pri
unipolarnem napajanju in ojači napetost od zelo nizke napetosti, do skoraj napajalne.
Spodnja meja napetosti na izhodu ojačevalnika je minimalno 10 mV. Ker temni tok pri
OPT101 znaša 7,5 mV, smo morali filtru nastaviti ojačenje večje od 1, da smo lahko
izmerili temni tok brez težav. Odločili smo se za A=4,65. Celoten izračun filtra z
ojačevalnikom:
0
0
2
2
2
1,2
1
1.) Izberemo 0,7, 4,65 in n=4
/ 1 (1 )1 (1 )
3,65 /
.
.
.
90,63 17,328 0,49 0
( 17,328) ( 17,328) 4 90,63 0,49
2 90,63
Q A
mnQ mn mn A
m mn A
Qm Q Qmn mn
m m
m
m
2
0,157 0,698 Pri negativnem Q vezje oscilira.
0,035 0,714 Približno takšen kot smo si ga izbrali.
Q
m Q
Mikrofluidni nizkopretočni fotometer Stran 22
2
1
2.) 56 , 10
110 759570
2
26584
c
c
C nF f Hz
f R RRC mn
R
Na koncu filtra smo dodali še en ojačevalnik, ki je dvignil skupno ojačenje na A=10.
V Prilogi B je shema A/D pretvornika in filtra, ki je drugačna. Predvidevali smo, da bomo
imeli več težav z motnjami, zato smo se odločili za izvedbo tiskanine, kjer smo izkoristili
vse ojačevalnike, ki jih ponuja OPA4376, in izdelali filter 6. reda. Po načrtovanju in
izvedbi filtra 2. reda, pa se je izkazalo, da takšen filter zadostuje našim potrebam. Celotna
napaka z A/D pretvornikom, povprečenjem z mikrokrmilnikom in filtrom, pri A=10, je
znašala ±3 mV . Uporabljeni A/D pretvornik je zato, namesto 14 bitne ločljivosti, deloval z
efektivno 12 bitno ločljivostjo.
6.6 Tiskano integrirano vezje
Pri izdelavi TIV smo posvečali pozornost analognim in digitalnim signalom ter motnjam.
Pri ključnih delih vezja, predvsem pri filtru in A/D pretvorniku, smo skušali digitalne
signale povezati stran od analognih. Uporabljen A/D pretvornik ima notranji takt, ki
ustvarja motnje, te pa bi lahko prešle na analogen del. Odpravili smo jih tako, da smo masi
analognega in digitalnega dela vezja povezali v eni (majhni) točki. Za dodatno odpravo
motenj v analognem delu smo uporabili čim manjše SMD elemente, da smo jih lahko
povezali čim bolj skupaj. Prostor na tiskanini, ki ni bil zaseden s povezavami, smo
namenili masi, tako smo imeli na obeh straneh TIV velika območja mase. Končne izvedbe
TIV so prikazane v Prilogi B.
6.7 Program za osebni računalnik
Fotometer je namenjen za industrijo, kjer pa je zaželeno, da se merilnike nadzoruje na
daljavo. Zato smo se odločili, da bomo izdelali program za osebni računalnik, preko
Mikrofluidni nizkopretočni fotometer Stran 23
katerega bomo krmilili merilnik in prejemali stanje merilnika in meritve. Za izdelavo
programa smo izbrali programsko okolje LabView. Uporabniški vmesnik prikazuje Slika
6.14, blokovni diagram pa prikazuje Slika 6.15.
Slika 6.14: Čelna plošča programa v LabViewu
Mikrofluidni nizkopretočni fotometer Stran 24
Slika 6.15: Blokovni diagram programa v LabViewu
Odločili smo se za RS-232 komunikacijo, ki je potekala preko USB. LabView že ima
izdelane bloke za takšno komunikacijo. Izdelali smo ukaze za tipke, da smo z njimi
enostavno odpirali in zapirali ventila, ter izvedli meritev pH vrednosti. Dodali smo še
ukazno polje, kamor lahko vnesemo bolj specifičen ukaz.
6.8 Koračni motorji
V praksi obstaja veliko izvedb koračnih motorjev (s trajnimi magneti, z mehko magnetno
kotvo in hibridni). Odločili smo se za motor s trajnimi magneti. Slednji se tudi največ
uporabljajo, predvsem zaradi relativno dobrega izkoristka ter statičnih in dinamičnih
lastnosti. Imajo tudi posebno lastnost, ki se ji reče zadržni (lepilni) vrtilni moment. En
obrat rotorja je sestavljen iz točnega števila korakov, ki pa je različno od gradnje motorja.
Koračni motor je dober most med digitalno informacijo in inkrementalnim mehanskim
pomikom, kar smo s pridom izkoriščali. Slika 6.16 prikazuje stator in rotor našega
koračnega motorja. [12]
Mikrofluidni nizkopretočni fotometer Stran 25
a.) b.)
Slika 6.16: a.)Stator dvofaznega koračnega motorja b.) in rotor za koračni kot 1,8°
Da lahko tak motor zavrtimo, ga priključimo, na dvojni polni mostič in ga krmilimo s
signali, ki so prikazani na Sliki 6.17. Slika 6.18 prikazuje zgradbo mostiča, ki smo ga
uporabili.
Slika 6.17: Krmilni signali koračnega motorja [13]
Signal A ustreza eni veji mostiča, vsak mostič pa je sestavljen iz dveh vej. Ker je osem
preklopnih tranzistorjev, bi lahko krmilili mostič z osmimi signali, vendar se po dva
diagonalna izključujeta, da ne pride do kratkih stikov. Na ta način se število signalov
razpolovi na štiri.
Slika 6.18: Mostič [14]
Mikrofluidni nizkopretočni fotometer Stran 26
Mostič, ki smo ga uporabili, je znan pod komercialnim imenom L298. Krmilnih signalov
nismo generirali sami z mikrokrmilnikom, ampak smo to nalogo zaupali krmilniku, ki je
izdelan ravno s tem namenom, L297. Vezalno shemo krmilnika in mostiča prikazuje Slika
6.19.
Slika 6.19: Shema krmilnika koračnega motorja z mostičem [14]
Za krmiljenje ventilov smo uporabili koračne motorje japonskega proizvajalca Japan Servo
z oznako KP35FM2-044. Tehnični podatki:
24 U V ,
Dvofazno (bipolarno) navitje,
Koračni kot znaša 1,8 ,
500 I mA ,
8 fazeR ,
7,8 fazeL mH in
držalni 0,0686 M Nm . [15]
Zanje smo se odločili zaradi pravilnega zapiranja in odpiranja, ki nam ga omogoča koračni
motor. Pri naši izvedbi ni dobro, če se ventil preveč zapre, saj se lahko poškoduje cev. Po
Mikrofluidni nizkopretočni fotometer Stran 27
drugi strani pa si ne moremo privoščiti, da ventila nebi dovolj zaprli in dovolili indikatorju,
da steče v celico npr. pri meritvi »svetlega toka«. Na Sliki 6.16 lahko vidimo, da ima naš
motor osem statorskih polov, vsak pol ima pet zob, rotor pa jih ima petdeset. Med podatki
za motor lahko zasledimo, da ima dvofazno navitje, kar pomeni, da so tuljave na
posameznem statorskem polu stkane tako, da tvorijo takšno navitje.
Elektroniko za krmiljenje motorjev, mikrokrmilnik, lasersko diodo in vibrator smo vstavili
v ohišje. Slika ohišja je v Prilogi A.
7 MIKROFLUIDNI NIZKOPRETOČNI FOTOMETER
pH vrednosti ne moremo izmeriti z nobeno termodinamično metodo. Oznaka pH se nanaša
na aktivnost vodikovih ionov ( H ) v raztopini. Definicijo pH podaja enačba (7.1). [16]
10log HpH a (7.1)
kjer je:
Ha - aktivnost vodikovih atomov v raztopini v /mol L .
pH vrednost se giblje med vrednostjo 0 in 14. Kadar govorimo o aktivnostih vodikovih
ionov, govorimo o kislosti in bazičnosti. Pri pH 7 je raztopina nevtralna, nad pH 7 je
bazična, pod pH 7 je kisla. Koncentracijo vodikovih ionov in pripadajočo pH vrednost
prikazuje Tabela 7.1.
Mikrofluidni nizkopretočni fotometer Stran 28
Tabela 7.1: pH skala [17]
območje pH
0 1 0,00000000000001
1 0,1 0,0000000000001
2 0,01 0,000000000001
kislo 3 0,001 0,00000000001
4 0,0001 0,0000000001
5 0,00001 0,000000001
6 0,000001 0,00000001
nevtralno 7 0,0000001 0,0000001
8 0,00000001 0,000001
9 0,000000001 0,00001
10 0,0000000001 0,0001
bazično 11 0,00000000001 0,001
12 0,000000000001 0,01
13 0,0000000000001 0,1
14 0,00000000000001 1
H koncentracija [ / ]mol LOH koncentracija [ / ]mol L
pH lahko izmerimo na dva načina, in sicer na elektrokemični (z uporabo posebnih
elektrod) in optični način (z merilnimi lističi ali indikatorji, ki jih zmešamo z raztopino). V
grobem, pri elektrokemičnem procesu merjenja merilna elektroda reagira z vodikovimi
ioni v raztopini. Med to in referenčno elektrodo se pojavi napetost, ki jo izmeri mV-meter.
Pri optičnem merjenju pH izmerimo posredno preko obarvanosti indikatorja. Proizvajalci
priložijo barvno skalo.
7.1 Merjenje pH z indikatorjem
Kot indikator smo uporabili fenol rdeče, ki smo ga zmešali z destilirano vodo.
Komercialnih proizvodov nismo uporabili, saj nismo uspeli pridobiti dovolj podatkov
zanje, ker je rdeči fenol zmešan z drugimi sestavinami in je to poslovna skrivnost
proizvajalca. Prav tako so bili podatki komercialnih proizvodov navedeni za določeno
valovno dolžino in optično pot. Ker nismo merili absorpcije pri »zahtevanih« pogojih, smo
se odločili uporabiti samo rdeči fenol, za katerega smo imeli dovolj podatkov [18]. Tu je
šlo predvsem za poznavanje koncentracije, ki jo je bilo potrebno vnesti v spektrometer.
Zmešali smo 0,4 g fenola rdeče z enim litrom destilirane vode. Fenol rdeče je glavna
sestavina indikatorjev, ki se uporabljajo za merjenje pH od 6,8 do 8,4. V tem območju
pride do največje spremembe v barvi. Za preprosto domačo uporabo se indikator uporablja
v kombinaciji z barvno lestvico, kjer so pobarvani krogi za pripadajočo pH vrednost. Na
Mikrofluidni nizkopretočni fotometer Stran 29
takšen krog postavimo stekleničko navadne oz. destilirane vode, na belega pa vzorec vode
z indikatorjem. Če se barvi ujemata, preberemo napisano vrednost nad obarvanim krogom.
Primer barvne skale prikazuje Slika 7.1.
Slika 7.1: Barvna skala
Za uporabno meritev smo indikator zmešali z vodo v razmerju 1:62,5 (delež vode je višji
od deleža indikatorja). Do takšnega mešalnega razmerja smo prišli s primerjavo
komercialnega indikatorja. Pri takšnih analizah ni dobro, če je v vzorcu preveč indikatorja,
saj lahko pride do zasičenja, če ga je premalo je slabša absorpcija. Kot smo že omenili v
poglavju 6.3.1, je valovna dolžina za fenol rdeče, pri kateri je absorpcija najvišja, λ=560
nm, mi pa smo merili absorpcijo pri λ=532 nm. Odločili smo se, da bomo izmerili, ali se
absorpcija pri tej valovni dolžini spreminja linearno s koncentracijo pri določeni pH
vrednosti. Dobili smo rezultate, ki jih prikazuje Slika 7.2. Slika 7.3 prikazuje obarvanost
indikatorja pri različnih pH vrednostih in c=0,0178 mmol/L.
Mikrofluidni nizkopretočni fotometer Stran 30
Slika 7.2: Meritve koncentracij pri različnih pH vrednostih in koncentracijah
Rezultati niso bili najbolj obetavni. Ker so vsi grafi, razen pri pH 6,4, nelinearni, pomeni,
da tu Beer-Lambert-ov zakon ne drži, smo pa na meji. Rezultati niso porazni, saj je tu
velika sprememba v koncentraciji. Prej smo omenili, da smo mešali indikator z vodo v
razmerju 1:62,5. Na grafu to predstavlja prvo točko, kjer koncentracija znaša 0,0178
mmol/L. Pri zadnji točki, kjer je koncentracija 0,068 mmol/L, je bilo razmerje samo še
1:15,26. Koncentracija se je zvišala za faktor 3,8. Pomembno je omeniti tudi to, da je
koncentracija določena z dolžinami in premeri cevi in kapilaro ter vodnima stolpcema vode
in indikatorja. Ker je malo možnosti, da se spremeni koncentracija, je verjetnost, da se bo
posledično spremenila absorpcija, razmeroma majhna.
Slika 7.3: pH vzorci z indikatorjem (od leve proti desni pH 8,4, pH 7,5, pH 7, pH 6,4)
0
0,02
0,04
0,06
0,08
0,1
0,12
0,14
0,16
0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08
Ab
sorp
cija
koncentracija [mmol/L]
pH 6,4
0
0,05
0,1
0,15
0,2
0,25
0,3
0,35
0,4
0,45
0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08
Ab
sorp
cija
Koncentracija [mmol/L]
pH 7
0
0,2
0,4
0,6
0,8
1
1,2
0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08
Ab
sorp
cija
koncentracija [mmol/L]
pH 7,5
0
0,5
1
1,5
2
2,5
0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08
abso
rpci
ja
koncentracija [mmol/L]
pH 8,4
Mikrofluidni nizkopretočni fotometer Stran 31
7.2 Izdelava umeritvene krivulje
Po izmerjeni absorpciji pri znani koncentraciji (0,0178 mmol/L), valovni dolžini (λ=532
nm) in optični poti (1 cm), smo lahko izračunali »približno« krivuljo absorpcije glede na
pH vrednost. Rezultat prikazuje Graf 1. Graf 2 smo dobili tako, da smo meritve iz
spektroskopa pomnožili z mnogokratnikom naše optične poti (1,6).
Graf 1: Prikaz meritev spektrometra
Graf 2: Prikaz meritev fotometra
Ko smo pisali program za mikrokrmilnik smo želeli, da bi lahko koeficiente enačbe, za
izračun pH vrednosti, spreminjal uporabnik brez ponovnega programiranja. Zaradi tega
smo v enačbo, ki jo prikazuje Graf 2, vstavili koeficient Kp. Končno enačbo, za izračun pH
vrednosti, prikazuje (7.2).
y = 47,907x3 - 37,422x2 + 12,235x + 5,998
6
6,2
6,4
6,6
6,8
7
7,2
7,4
7,6
7,8
8
8,2
8,4
0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5
pH
Absorpcija
y = 11,795x3 - 14,753x2 + 7,7011x + 5,9919
6
6,2
6,4
6,6
6,8
7
7,2
7,4
7,6
7,8
8
8,2
8,4
0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
pH
Absorpcija
Mikrofluidni nizkopretočni fotometer Stran 32
3 2
11,795 14,753 7,7011 5,9919p p p
A A ApH
K K K
(7.2)
kjer je:
A - absorpcija in
pK - koeficient za popravek.
Enačba za absorpcijo (2.2) je sestavljena iz treh koeficientov, ki jih zmnožimo. Lahko si
zamislimo svojega in ga nadomestimo s poljubnima dvema. Ta »nova« enačba je
matematično pravilna, vendar izgubimo fizikalno ozadje. Takšno umerjanje je prikladno,
kadar se merilniku podre razmerje indikator/voda ali spremeni optična pot, saj lahko
enostavno z enim koeficientom spet umerimo merilnik. Zakaj bi se lahko porušila
koncentracija indikatorja ali optična pot? Recimo, da pride do poškodovanja cevi ali celice
in jo moramo zamenjati. Težko zagotovimo, da bomo lahko novo cev odrezali na enako
dolžino kot prejšnjo in izdelali celico enake dolžine. Ker določamo koncentracijo
indikatorja v vodi z upornostjo cevi, vsaka sprememba dolžine cevi ali premera, vpliva na
razmerje med indikatorjem in vodo ali optično pot, kadar govorimo o menjavi celice, kar
lahko privede do napačne meritve. Po tem, ko celico ali cevi zamenjamo, vanje nalijemo
indikator in pH referenco (npr. pH 7 ali 8) ter izmerimo pH. Glede na dobljeno vrednost
spremenimo koeficient z imenom popravek. V primeru enakega rezultata ostane takšen kot
je bil, če ga prej nismo spreminjali ostane na vrednosti 1. Ker se koncentracija ne
spreminja linearno, mi pa uporabljamo Kp za linearen popravek, nas je zanimala napaka, ki
pri tem nastane. Spodaj sta tabeli, ki prikazujeta odstopanja od pravih vrednosti.
Tabela 7.2: Odstopanje pri pH 6,4 zaradi koncentracije
c [mmol/L] K A Enačba za
pH Razlika
0,0178 1 0,0594 6,40003361 prvotna krivulja
0,035 1,9663 0,0593 6,399078405 krivulja A/K -0,000955205
0,1166 6,399985715 prava krivulja -4,78957E-05
0,0517 2,904494 0,059235 6,398758955 krivulja A/K -0,001274656
0,1720 6,400022447 prava krivulja -1,11629E-05
0,068 3,820225 0,059208 6,398598443 krivulja A/K -0,001435167
0,2262 6,399974214 prava krivulja -5,93964E-05
Mikrofluidni nizkopretočni fotometer Stran 33
Tabela 7.3: Odstopanje pri pH 7 zaradi koncentracije
c [mmol/L] K A Enačba za
pH Razlika
0,0178 1 0,188994 7,000026522 prvotna krivulja
0,035 1,9663 0,1675 6,923283536 krivulja A/K -0,076742986
0,329319 6,999980581 prava krivulja -4,59417E-05
0,0517 2,904494 0,159549 6,892958248 krivulja A/K -0,107068274
0,46341 7,000004607 prava krivulja -2,19149E-05
0,068 3,820225 0,179107 6,965723227 krivulja A/K -0,034303295
0,684228 6,999953743 prava krivulja -7,2779E-05
Prva vrsta v zgornjih tabelah predstavlja krivuljo, ki smo jo dobili pri optični poti l=1,6 cm
in c=0,0178 mmol/L. Poimenovali smo jo prvotna krivulja. Za izračun pH vrednosti smo
uporabili enačbo (6.2). Krivulje, ki smo jih poimenovali prava krivulja, smo dobili tako, da
smo najprej izračunali absorpcije pri dani koncentraciji. Iz novih/pravih absorpcij smo
sestavili novo krivuljo, ki je bolj točna, saj upošteva nelinearnost koncentracije. Preprosto
povedano, uporabili smo enak postopek kot pri izdelavi krivulje pri c=0,0178 mmol/L, še
za ostale koncentracije. Krivulja A/K je enaka prvotni, le da smo A delili s koeficientom K.
K smo dobili tako, da smo delili novo koncentracijo s c=0,0178 mmol/L. V primeru, da bi
se koncentracija spreminjala linearno, bi bila razlika enaka 0. Opazimo lahko, da je
najvišja razlika, ki smo jo izračunali za pH vrednost, znašala 0,1. S tem smo dobili
potrdilo, da lahko pH izmerimo z napako ±pH 1.
Za določitev koncentracije smo na celico priključili cevi in izmerili pH referenčnega
vzorca. S to meritvijo smo dobili zadnji podatek za merilnik. Koncentracija, ki smo jo
ustvarili s cevnim sistemom, je imela vrednost c=0,038 mmol/L. Koeficient Kp je imel
vrednost 2,13. Koncentracija je bila višja od načrtovane, vendar ni povzročala problemov z
absorpcijo.
7.3 Opis delovanja
Kadar želimo izmeriti pH, pritisnemo na tipko 1 ali pa to opravimo z ustreznim ukazom
preko računalnika. Program najprej preveri, če je odprt ventil za vodo. V primeru, da ni
Mikrofluidni nizkopretočni fotometer Stran 34
odprt, se najprej ventil odpre in počaka, da steče dovolj vode skozi celico, da jo spere. S
tem pripravimo celico na novo meritev. Nato se odpre ventil za indikator, vklopi se
mešalni element in izmerita se temni in svetli tok. Ko preteče dovolj časa, se izmeri
absorpcija in iz umeritvene krivulje izračuna pH, ki se nato izpiše na računalniku in LCD
zaslonu. Za konec se izklopi mešalni element, zapre ventil za indikator in čez nekaj časa še
ventil za vodo. Med samim delovanjem ne moremo izvajati drugih ukazov, ker smo jih
onemogočili, da nebi zmotili programa med izvajanjem. Izklopili smo tudi izpis zadnje
izmerjene pH vrednosti (ker se ta meri) ter vklop in izklop mešalnega elementa in laserske
diode.
Kadar smo uporabljali destilirano vodo, čiščenje ni bilo potrebno. V primeru merjenja pH
vode, je bilo potrebno celico očistiti z destilirano vodo, da se na steno ne bi nabral vodni
kamen. V primeru, da se na stene nabere vodni kamen, moramo celico očistiti s kislino,
npr. 0,5 % žvepleno kislino.
8 PREDSTAVITEV REZULTATOV
V prejšnjem poglavju smo izračunali razred točnosti, ki bi ga lahko dosegli. To smo se
odločili tudi preizkusiti. Cev za vodo, v kateri je bila referenca za umerjanje, smo
izpraznili in nalili navadno vodo. Izmerili smo pH 8,3. Nato smo pripravili referenčen
vzorec, pri c=0,0178 mmol/L, da smo lahko primerjali barvi. Dobili smo rezultat, ki ga
prikazuje Slika 8.1. Opazimo lahko, da sta oba vzorca obarvana vijolično, vendar je
vzorec, kjer je voda, bolj svetle barve. Visoka pH vrednost vode nam pove, da voda
vsebuje veliko vodnega kamna.
Mikrofluidni nizkopretočni fotometer Stran 35
Slika 8.1: Primerjava vzorcev
Z našim merilnikom smo lahko določili pH vrednost bolj točno, kot bi jo lahko z barvno
lestvico.
9 ZAKLJUČEK
Pred izdelavo diplomske naloge smo si zadali cilj, da bomo izdelali mikrofluidni
nizkopretočni fotometer, ki bo namenjen za industrijsko uporabo, z njim pa bi želeli
izmeriti točneje, kot lahko določimo pH vrednost z barvnimi lestvicami, ki so priložene
indikatorjem.
Uspelo nam je izdelati fotometer, ki je opravil meritev majhnega vzorca. Imeli smo tudi
boljšo točnost kot pri uporabi barvnih lestvic. Na žalost naš prototip ni povsem namenjen
za industrijsko uporabo, glede na način kako smo dovajali vodo in indikator v merilnik.
Usposobiti nam ni uspelo več meritev hkrati, da bi lahko izmerili še prisotnost kakšne
druge snovi. Tu nam je spodletelo zaradi časovne stiske.
Materialni stroški, ki smo jih imeli z izdelavo, so znašali približno 550 €. V teh stroških ni
všteta programska oprema za osebni računalnik. Cene ročnih fotometrov za analizo
vzorcev se pričnejo pri okoli 300 €. Če bi se odločili za proizvodnjo, bi morali napraviti še
nekaj izboljšav, predvsem pa bi morali opustiti aluminijasto ohišje, cene TIV in
elektronskih komponent bi bile nižje, če bi jih kupovali v višjih količinah.
Mikrofluidni nizkopretočni fotometer Stran 36
9.1 Izboljšave
Da bi merilnik lahko začeli uporabljati v industriji, bi morali predvsem izboljšati dovajanje
vode in indikatorja. Tu bomo opisali nekaj idej. Namesto steklenih čaš bi uporabili
plastične posodice, v katere bi lahko preko ventilov dovedli vodo. Reagent bi lahko
preprosto dolili ročno. Na posodice bi priključili kompresor, s katerim bi zagotovili
konstanten tlak. S tem bi se izognili uporabi visokega cevnega sistema, ki smo ga
uporabljali. V ceveh bi lahko merili pretoke. S tem bi lahko celo lažje nadzirali
koncentracijo indikatorja v vodi, vendar bi se cena izdelka dvignila. Za vir bi morali
uporabiti predvsem več laserskih diod, da bi lahko opravili meritve pri drugih valovnih
dolžinah, saj imajo različni indikatorji najvišje absorpcije pri različnih valovnih dolžinah.
Nekaj dela bi morali vložiti v izboljšan postopek izdelave celice.
10 LITERATURA
[1] Douglas A. Skoog, AnalyticalChemistry, An Introduction, sedma izd., Sounders
College Publishing, Orlando Florida, 2000.
[2] Zgodovina spektroskopije, Naslov:
http://spectroscopyonline.findanalytichem.com/spectroscopy/article/articleDetail.js
p?id=381944&pageID=1&sk=&date=[Dostopano: 25.07. 2011].
[3] J. M. Hollas, Modern Spectroscopy, četrta izd., John Wiley & Sons Ltd, Hoboken
New Jersey, 2004.
[4] T. Owen, Fundamentals of UV-visiblespectroscopy, Primer, Agilent Technologies,
Nemčija, 2000.
[5] David W. Ball, TheBasicsofSpectroscopy, SPIE, Bellingham Washington, 2001.
[6] Yeshaiahu Fainman, Luke P. Lee, Demetri Psaltis, Changhuei Yang, Optofluidics,
Fundamentals, Devices,andApplications, McGraw Hill, New York, 2010.
[7] Andrew E. Kamholz and Paul Yager, TheoreticalAnalysis of MolecularDiffusion in
Pressure-DrivenLaminarFlow in MicrofluidicChannels,Biophysical Journal,
Volume 80, Januar 2001.
[8] 18F4550 podatkovni list,
Naslov:http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf
[Dostopano: 24.08. 2011].
[9] OPT101 podatkovni list, Naslov: http://www.ti.com/lit/ds/sbbs002a/sbbs002a.pdf
[Dostopano: 24.08. 2011].
[10] ADS7280 podatkovni list, Naslov: http://www.ti.com/lit/ds/symlink/ads7279.pdf
[Dostopano: 24.08. 2011].
[11] James Karki, Analysis of the Sallen-Key Architecture, Application Report, Texas
Instruments, 2002.
Mikrofluidni nizkopretočni fotometer Stran 37
[12] Ivan Zagradišnik in Bojan Slemnik, Električni rotacijski stroji, četrta popravljena
izdaja, Fakulteta za elektrotehniko, računalništvo in informatiko, Maribor, 2007.
[13] Podatki za koračni motor, Naslov:
http://www.jameco.com/Jameco/catalogs/c291/P74.pdf [Dostopano: 13. 04. 2012].
[14] L297 podatkovni list, Naslov:
http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXryyss
.pdf [Dostopano: 13. 04. 2012]
[15] L298 podatkovni list, Naslov:
http://www.cse.dmu.ac.uk/~mgongora/Resources/L298N.pdf [Dostopano: 13. 04.
2012]
[16] R. P. Buck (predsednik), Measurement of pH. Defnition, standards, and procedures
(IUPAC Recommendations 2002), International union of pure and applied
chemistry, 2002.
[17] A guide to pH measurement, Naslov:
http://www.alliancets.com/site/files/408/29497/109873/159912/Guide_to_pH_Mea
surement.pdf [Dostopano: 26.01. 2012]
[18] Merck, Naslov: http://www.merck-chemicals.com/slovenia/phenol-
red/MDA_CHEM-107241/p_uuid [Dostopano: 06.03. 2012]
11 KAZALO SLIK
Slika 2.1: Prehajanje med energijskimi prehodi [1], stanj je več kot jih prikazuje slika ...... 2
Slika 2.2: Elektromagnetni spekter [3] .................................................................................. 2
Slika 2.3: Spekter energijskih nivojev [4] ............................................................................. 3
Slika 2.4: Absorpcijski in emisijski spektrometer [5] ........................................................... 5
Slika 2.5: Evanescentno polje ................................................................................................ 7
Slika 2.6: Izvedba valovoda................................................................................................... 8
Slika 3.1: Laminarni tok ........................................................................................................ 9
Slika 3.2: Difuzija [7] .......................................................................................................... 10
Slika 4.1: Blokovna shema merilnika .................................................................................... 1
Slika 5.1: Posrebrena kapilara ............................................................................................... 2
Slika 5.2: Izdelana celica ....................................................................................................... 2
Slika 5.3: Valovodna lastnost celice ...................................................................................... 3
Slika 5.4: Komora z virom .................................................................................................... 3
Mikrofluidni nizkopretočni fotometer Stran 38
Slika 5.5: Tlačni sistem ......................................................................................................... 5
Slika 5.6: PZT mešalni element brez in z vibratorjem .......................................................... 6
Slika 5.7: Ventila ................................................................................................................... 8
Slika 5.8: Ventila z motorjem ................................................................................................ 8
Slika 6.1: Stabilizacijska vezja .............................................................................................. 9
Slika 6.2: Razporeditev nogic in njihove funkcije [8] ......................................................... 11
Slika 6.3: Programski algoritem .......................................................................................... 12
Slika 6.4: Pasovi in prehodi v polprevodniškem kristalu [9] .............................................. 13
Slika 6.5: Laserska dioda CW532-20 .................................................................................. 14
Slika 6.6: Izvedba z LED in paraboličnim zrcalom............................................................. 15
Slika 6.7: Spektralni odziv OPT101 [9] .............................................................................. 16
Slika 6.8: Shema OPT101 [9] .............................................................................................. 16
Slika 6.9: Shema ADS7280 [10] ......................................................................................... 17
Slika 6.10: SPI povezava ..................................................................................................... 17
Slika 6.11: SPI časovni diagram za ADS7280 [10], A/D je v funkciji sužnja .................... 18
Slika 6.12: Sallen-Key topologija [11] ................................................................................ 19
Slika 6.13: Shema filtra 2. reda ........................................................................................... 21
Slika 6.14: Čelna plošča programa v LabViewu ................................................................. 23
Slika 6.15: Blokovni diagram programa v LabViewu ......................................................... 24
Slika 6.16: a.)Stator dvofaznega koračnega motorja b.) in rotor za koračni kot 1,8° ......... 25
Slika 6.17: Krmilni signali koračnega motorja [13] ............................................................ 25
Slika 6.18: Mostič [14] ........................................................................................................ 25
Slika 6.19: Shema krmilnika koračnega motorja z mostičem [14]...................................... 26
Slika 7.1: Barvna skala ........................................................................................................ 29
Slika 7.2: Meritve koncentracij pri različnih pH vrednostih in koncentracijah................... 30
Mikrofluidni nizkopretočni fotometer Stran 39
Slika 7.3: pH vzorci z indikatorjem (od leve proti desni pH 8,4, pH 7,5, pH 7, pH 6,4) .... 30
Slika 8.1: Primerjava vzorcev .............................................................................................. 35
12 KAZALO TABEL
Tabela 2.1: Tipi spektroskopije preko elektromagnetnega spektra [5] ................................. 4
Tabela 7.1: pH skala [17] .................................................................................................... 28
Tabela 7.2: Odstopanje pri pH 6,4 zaradi koncentracije ..................................................... 32
Tabela 7.3: Odstopanje pri pH 7 zaradi koncentracije ........................................................ 33
13 PRILOGE
Mikrofluidni nizkopretočni fotometer Stran 40
13.1 Priloga A. Mehanski sistem
Mikrofluidni nizkopretočni fotometer Stran 41
Mikrofluidni nizkopretočni fotometer Stran 42
Mikrofluidni nizkopretočni fotometer Stran 43
Mikrofluidni nizkopretočni fotometer Stran 44
Mikrofluidni nizkopretočni fotometer Stran 45
Mikrofluidni nizkopretočni fotometer Stran 46
Mikrofluidni nizkopretočni fotometer Stran 47
Mikrofluidni nizkopretočni fotometer Stran 48
Mikrofluidni nizkopretočni fotometer Stran 49
Mikrofluidni nizkopretočni fotometer Stran 50
3D model:
Slika komore z lasersko diodo in zbiralnikom z odtokom:
Mikrofluidni nizkopretočni fotometer Stran 51
Slika ohišja za elektroniko:
Slika cevnega sistema:
Mikrofluidni nizkopretočni fotometer Stran 52
Slika merilnika:
Mikrofluidni nizkopretočni fotometer Stran 53
Priloga B. Sheme in TIV
Shema vezave mikrokrmilnika:
Vezje za PZT:
Mikrofluidni nizkopretočni fotometer Stran 54
Vezje za A/D pretvornik:
Shema filtra 6. reda:
Zgornja stran tiskanine:
Mikrofluidni nizkopretočni fotometer Stran 55
13.2 Priloga C. SPI signali
Signal SPI-sdo (uK)
Signal SPI-sdo (uK)-zoom: Signal SPI-sdi (uK) z TAG bit-om:
Signal SPI-sdi (uK)-brez TAG bita: Signal SPI-sdi (uK)-zoom podatek:
Mikrofluidni nizkopretočni fotometer Stran 56
Signal SPI-sdi (uK)-podatke in TAG bit: Signal SPI-CS':
Signal CONVST': Signal EOC:
13.3 Priloga D. Program
13.3.1 Main.c
#include<18F4550.h>
#include<stdlib.h>
#include<math.h>
#use delay(clock=48000000) //ura je večja od prave zaradi USB-ja
#include<D:\PICC\Drivers\usb_cdc.h>
#include<D:\PICC\Drivers\lcd.c>
#include<D:\PICC\Drivers\internal_eeprom.c>
#include<D:\FAKS\PIC_andy\test_laptop\spi_andrej.c>
#include<D:\FAKS\PIC_andy\test_laptop\motor.c>
#include<D:\FAKS\PIC_andy\test_laptop\fuses.c>
#include<D:\FAKS\PIC_andy\test_laptop\AD.c>
#include<D:\FAKS\PIC_andy\test_laptop\prekinitve.c>
Mikrofluidni nizkopretočni fotometer Stran 57
#include<D:\FAKS\PIC_andy\test_laptop\pH.c>
#include<D:\FAKS\PIC_andy\test_laptop\pomoc.c>
float pH=0;
float kanal0[10];
float kanal1[10];
float inic0[10];
float inic1[10];
float inic_pov0=0;
float tem0[10];
float tem1[10];
float I0=0;
float A0;
float vmes0;
float nap0;
float popravek;
float izpis;
float H;
float a1,b1,c1,d1;
float A7,A8;
unsigned int32 vrtljaji=0;
unsigned int32 ref=0;
unsigned int32 test=0;
int smer;
int n=0;
int k0=0;
int k1=0;
int z=0;
short ch=0;
short kal=0;
short kalibracija=0;
short izvedi=0;
char vnos[3];
char obrati[4];
char pop[6];
char V;
char a2[8],b2[8],c2[8],d2[8];
char A71[6],A81[6];
#define naslov 10
#define naslov1 20
#define naslov2 30
#define naslov3 40
#define naslov4 50
#define naslov5 60
#define naslov6 70
//_______INICIALIZACIJA PORTOV_____________________________________//
#use fast_io(a)
#use fast_io(c)
Mikrofluidni nizkopretočni fotometer Stran 58
#use fast_io(b)
//_______INICIALIZACIJA PORTOV_____________________________________//
//____________________GLAVNI DEL PROGRAMA__________________________//
void main()
{
//_______INICIALIZACIJA PINOV______________________________________//
set_tris_a(0x00) ; //0=Izhod, 1=Vhod
set_tris_b(0x01);
set_tris_c(0x04);
set_tris_e(0x07);
//_______INICIALIZACIJA PINOV______________________________________//
lcd_init(); //Inicializacija LCD-ja
usb_cdc_init(); //Inicializacija USB-ja za "RS-232 emulator"
usb_init(); //Inicializacija USB-ja
output_high(PIN_C0);
output_high(PIN_B1);
output_low(PIN_C1);
output_low(PIN_C7);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_A5);
output_low(PIN_A3);
output_low(PIN_A1);
//_______A/D PINE OZ. PORTE NASTAVIM NA DIGITALNE__________________//
setup_adc(ADC_OFF);
setup_adc_ports(NO_ANALOGS);
//_______A/D PINE OZ. PORTE NASTAVIM NA DIGITALNE__________________//
printf(lcd_putc,"\f MIKROFLUIDNI");
delay_ms(1500);
printf(lcd_putc,"\n NIZKOPRETOCNI");
delay_ms(1500);
printf(lcd_putc,"\f FOTOMETER");
delay_ms(1500);
printf(lcd_putc,"\nT1:pH T2:LD T3:M");
delay_ms(1500);
for(i=0;i<=2;++i)
vnos[i]=0;
//_______NASTAVITEV ČASOVNIKA 1____________________________________//
enable_interrupts(GLOBAL);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
disable_interrupts(int_timer1); //časovnik kasneje vklopim, ko ga potrebujem
set_timer1(0);
//_______NASTAVITEV ČASOVNIKA 1____________________________________//
//_______NASTAVITEV ČASOVNIKA 3____________________________________//
Mikrofluidni nizkopretočni fotometer Stran 59
setup_timer_3(T3_INTERNAL|T3_DIV_BY_8);
disable_interrupts(int_timer3);
set_timer3(0);
//_______NASTAVITEV ČASOVNIKA 3____________________________________//
popravek=read_float_eeprom(naslov); //koeficient za popravek absorpcije preberem iz eeproma
a1=read_float_eeprom(naslov1);
b1=read_float_eeprom(naslov2);
c1=read_float_eeprom(naslov3);
d1=read_float_eeprom(naslov4);
A7=read_float_eeprom(naslov5);
A8=read_float_eeprom(naslov6);
while(1) //Primer ukaza: VZ125000-Ventil zapri 1 2500 korakov
{
if(rocno==1)
{
printf(lcd_putc,"\fT1:pH T2:LD T3:M");
printf(lcd_putc,"\n POTEKA MERITEV ");
delay_ms(200);
}
else
{
printf(lcd_putc,"\fT1:pH T2:LD T3:M\n "); //Izpis možnosti za tipke s puščicami
lcd_send_byte(0x11,0xC6);
printf(lcd_putc," ");
printf(lcd_putc,"VI");
lcd_send_byte(0x11,0xC6);
printf(lcd_putc,"BRA");
printf(lcd_putc," ");
lcd_send_byte(0x11,0xC6);
delay_ms(200);
}
if(usb_cdc_kbhit()) //Ali je bila tipkovnica uporabljena-USB/RS 232 komunikacija
{
delay_ms(50);
if(rocno==0) //Vnos preko USB/RS 232 komunikacije
vnos[0]=usb_cdc_getc(); //Vnos prvega znaka
switch (vnos[0]) //Prvi znak
{
case 't':printf(usb_cdc_putc,"Komunikacija je vzpostavljena. "); //Test komunikacije
break;
case 'N':AD(1); //Izpišem napetost na "prvem" izmerjenem kanalu
break;
case 'A':printf(usb_cdc_putc,"Merjenje absorpcije... "); //Absorpcija
printf(lcd_putc,"\f Merjenje \n absorpcije");
k0=0;
k1=0;
Mikrofluidni nizkopretočni fotometer Stran 60
for(i=0;i<=9;++i) //Vrednosti postavim na 0
{
kanal0[i]=0;
kanal1[i]=0;
}
if((rocno==1)&&(ponovitev==7))
++ponovitev; //ponovitev=8;
output_high(PIN_B2); //VKLOP LASERSKE DIODE!!!
delay_ms(200);
for(n=0;n<=9;++n) //Izmerim 10 vrednosti
{
AD(0);
kanal0[k0]=vrednost;
++k0;
}
//izračunam povprečje 1. desetih vrednosti
for(i=0;i<=9;++i)
kanal1[k1]+=kanal0[i];
kanal1[k1]=kanal1[k1]/10;
++k1;
k0=0;
for(n=0;n<=8;++n) //Opravim eno meritev manj
{ //Premikajoče povprečje
AD(0);
kanal0[k0]=vrednost;
for(z=0;z<=9;++z)
kanal1[k1]+=kanal0[z];
kanal1[k1]=kanal1[k1]/10;
++k0;
++k1;
}
output_low(PIN_B2); //IZKLOP LASERSKE DIODE!!!
//Povprečje premikajočega povprečja
nap0=0;
for(i=0;i<=9;++i)
nap0+=kanal1[i];
nap0=nap0/10;
nap0=nap0*faktor; //Izračunano povprečje premikajočega povprečja
nap0-=I0; //Odštejem temni tok
vmes0=nap0/inic_pov0 ; //Razmerje svetlobnih tokov oz. napetosti
A0=(-1)*log10(vmes0);
pH=izr_ph(A0,popravek,a1,b1,c1,d1); //Izračun pH vrednosti
printf(usb_cdc_putc,"U1=%0.8f V A=%0.4f ",nap0,A0);
delay_ms(100);
printf(lcd_putc,"\f Izmerjena \n A = %0.4f",A0);
delay_ms(1500);
printf(usb_cdc_putc,"pH=%0.2f ",pH);
delay_ms(100);
printf(lcd_putc,"\f pH = %0.1f",pH);
Mikrofluidni nizkopretočni fotometer Stran 61
delay_ms(1500);
usb_cdc_kbhit()=0;
if(kalibracija==1)
{
izpis=popravek;
if(ref==7)
{
H=abs(pH-7);
if(H>=0.2)
{
popravek=A0/A7; //kalibracija absorpcije
kal=1;
}
}
if(ref==8)
{
H=abs(pH-8);
if(H>=0.2)
{
popravek=A0/A8; //kalibracija absorpcije
kal=1;
}
}
if(kal==1)
{
printf(usb_cdc_putc,"Po meritvi A je bilo napravljeno umerjanje! ");
pH=izr_ph(A0,popravek,a1,b1,c1,d1); //Izračun pH vrednosti
printf(usb_cdc_putc,"Zelite shraniti nov koeficient? D/N ");
while(usb_cdc_kbhit()!=1);
V=usb_cdc_getc();
if(V=='D')
{
write_float_eeprom(naslov,popravek); //če je popravek vredu ga shranim
printf(usb_cdc_putc,"D koeficient JE bil SHRANJEN v eeprom ");
}
else
printf(usb_cdc_putc,"N Koeficient NI bil SHRANJEN (se pa uporablja) ima
vrednost %0.4f. \nStar keoficient je imel vrednost %0.4f. ",popravek,izpis);
}
if((ref!=7)&&(ref!=8))
printf(usb_cdc_putc,"Napacna vrednost reference ");
kalibracija=0;
kal=0;
printf(usb_cdc_putc,"Nova vrednost pH=%0.2f ",pH);
delay_ms(100);
printf(lcd_putc,"\fNov pH = %0.1f",pH);
delay_ms(1500);
usb_cdc_kbhit()=0;
}
Mikrofluidni nizkopretočni fotometer Stran 62
break;
case 'V':for(i=1;i<=2;++i) //preberem ostale vrednosti
vnos[i]=usb_cdc_getc();
for(i=0;i<=3;++i)
obrati[i]=usb_cdc_getc();
if(rocno==1) //Skočim iz zanke če poteka merjenje!
break; //Drugače imam probleme s štetjem spremenljivke ponovitev
vrtljaji=atoi32(obrati);
test=atoi32(obrati);
if(vrtljaji>1000.0) //VARNOST: da ne bo preveč koratkov za motor
{
vrtljaji=0;
printf(usb_cdc_putc,"Koraki so bili omejeni na vrednost 0. \n");
printf(usb_cdc_putc,"UKAZ:%c%c%c%c%c%c
\n",vnos[0],vnos[1],vnos[2],obrati[0],obrati[1],obrati[2],obrati[3]);
printf(usb_cdc_putc,"koraki=%lu ",test);
vnos[2]='4'; //Napačen ukaz;
}
switch (vnos[1]) //Drugi znak
{
case 'Z':smer=0; //Zategujem/zapiram, pogled od zgoraj LEVO
break;
case 'O':smer=1; //Odtegujem/odpiram, pogled od zgoraj DESNO
break;
default:printf(usb_cdc_putc,"Napacen ukaz! ");
smer=3;
break;
}
switch (vnos[2]) //Tretji znak
{
case '1':motor(1,smer,vrtljaji);
break;
case '2':motor(2,smer,vrtljaji);
break;
case '3':motor(3,smer,vrtljaji);
break;
default:printf(usb_cdc_putc,"Napacen ukaz! ");
break;
}
usb_cdc_kbhit()=0;
break;
case 'T':printf(usb_cdc_putc,"Merjenje zacetne moci. "); //zmerim moč z vodo v kapilari
if((rocno==1)&&(ponovitev==5))
++ponovitev; //ponovitev=6
k0=0;
k1=0;
for(i=0;i<=9;++i) //Vrednosti dam na 0
{
inic0[i]=0;
Mikrofluidni nizkopretočni fotometer Stran 63
inic1[i]=0;
}
output_high(PIN_B2); //VKLOP LASERSKE DIODE!!!
delay_ms(200);
for(n=0;n<=9;++n) //Izmerim 10 vrednosti
{
AD(0);
inic0[k0]=vrednost;
++k0;
}
//Izračunam povprečje 1. desetih vrednosti
for(i=0;i<=9;++i)
inic1[k1]+=inic0[i];
inic1[k1]=inic1[k1]/10;
++k1;
k0=0;
for(n=0;n<=8;++n) //Opravim eno meritev manj
{ //Premikajoče povprečje
AD(0);
inic0[k0]=vrednost;
for(z=0;z<=9;++z)
inic1[k1]+=inic0[z];
inic1[k1]=inic1[k1]/10;
++k0;
++k1;
}
output_low(PIN_B2); //IZKLOP LASERSKE DIODE!!!
delay_ms(200);
//Povprečje premikajočega povprečja
inic_pov0=0;
for(i=0;i<=9;++i)
inic_pov0+=inic1[i];
inic_pov0=inic_pov0/10;
inic_pov0=inic_pov0*faktor; //Izračunano povprečje premikajočega povprečja
inic_pov0-=I0; //Odštejem temni tok
printf(usb_cdc_putc,"Napetost U0=%0.8f V. ",inic_pov0);
delay_ms(100);
usb_cdc_kbhit()=0;
break;
case 'D':printf(usb_cdc_putc,"Poteka merjenje temnega toka. ");
k0=0;
k1=0;
if((rocno==1)&&(ponovitev==1))
++ponovitev; //ponovitev=2
for(i=0;i<=9;++i) //Vrednosti postavim na 0
{
tem0[i]=0;
tem1[i]=0;
}
Mikrofluidni nizkopretočni fotometer Stran 64
for(n=0;n<=9;++n) //Izmerim 10 vrednosti
{
AD(0);
tem0[k0]=vrednost;
++k0;
}
//Iračunam povprečje 1. desetih vrednosti
for(i=0;i<=9;++i)
tem1[k1]+=tem0[i];
tem1[k1]=tem1[k1]/10;
++k1;
k0=0;
for(n=0;n<=8;++n) //Opravim eno meritev manj
{ //Premikajoče povprečje
AD(0);
tem0[k0]=vrednost;
for(z=0;z<=9;++z)
tem1[k1]+=tem0[z];
tem1[k1]=tem1[k1]/10;
++k0;
++k1;
}
//Povprečje premikajočega povprečja
I0=0;
for(i=0;i<=9;++i)
I0+=tem1[i];
I0=I0/10;
I0=I0*faktor; //Izračunano povprečje premikajočega povprečja
printf(usb_cdc_putc,"Napetost temnega toka Ud=%0.8f V. ",I0);
delay_ms(100);
usb_cdc_kbhit()=0;
break;
case 'p':if(rocno==0) //Merjenje pHja
{
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
if(D=='7')
ref=7;
if(D=='8')
ref=8;
if((D=='7')||(D=='8'))
{
kalibracija=1;
printf(usb_cdc_putc,"Pripravljanje na meritev s kalibracijo. ");
}
else
{
kalibracija=0;
printf(usb_cdc_putc,"Pripravljanje na meritev. ");
Mikrofluidni nizkopretočni fotometer Stran 65
}
rocno=1;
ponovitev=0;
usb_cdc_kbhit()=0;
}
else
printf(usb_cdc_putc,"Izvaja se meritev, ukaz ni mogoc! ");
usb_cdc_kbhit()=0;
break;
case 'S':if(vzaprt1==1) //Stanje ventilov
printf(usb_cdc_putc,"V1 ZAPRT ");
else
printf(usb_cdc_putc,"V1 ODPRT ");
if(vzaprt2==1)
printf(usb_cdc_putc,"V2 ZAPRT ");
else
printf(usb_cdc_putc,"V2 ODPRT ");
/* if(vzaprt3==1)
printf(usb_cdc_putc,"V3 ZAPRT ");
else
printf(usb_cdc_putc,"V3 ODPRT ");*/
break;
case 'K':usb_cdc_kbhit()=0; //Vnos koeficienta popravek
printf(usb_cdc_putc,"Vnesi vrednost K = ");
while(usb_cdc_kbhit()!=1);
for(i=0;i<=5;++i)
pop[i]=usb_cdc_getc();
popravek=atof(pop);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f. ",popravek);
delay_ms(50);
printf(usb_cdc_putc,"Zelite shraniti vrednost K? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
if(D=='D')
{
printf(usb_cdc_putc,"K je shranjen! ",popravek);
write_float_eeprom(naslov,popravek);
}
else
printf(usb_cdc_putc,"K ni bil shranjen! ",popravek);
break;
case 'k':izpis=read_float_eeprom(naslov); //Izpis koeficientov za popravek
printf(usb_cdc_putc,"Shranjen K = %0.4f, uporabljen K = %0.4f. ",izpis,popravek);
break;
case 'H':navodila();
break;
case 'f':printf(usb_cdc_putc,"a=%0.4f b=%0.4f c=%0.4f d=%0.4f ",a1,b1,c1,d1);
break;
Mikrofluidni nizkopretočni fotometer Stran 66
case 'F':printf(usb_cdc_putc,"Vnesi vrednosti v obliki pH=a*(abs)^3+b*(abs)^2+c*abs+d ");
printf(usb_cdc_putc," a = ");
usb_cdc_kbhit()=0;
while(usb_cdc_kbhit()!=1);
for(i=0;i<=7;++i)
a2[i]=usb_cdc_getc();
a1=atof(a2);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",a1);
printf(usb_cdc_putc,"b = ");
while(usb_cdc_kbhit()!=1);
for(i=0;i<=7;++i)
b2[i]=usb_cdc_getc();
b1=atof(b2);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",b1);
printf(usb_cdc_putc,"c = ");
while(usb_cdc_kbhit()!=1);
for(i=0;i<=7;++i)
c2[i]=usb_cdc_getc();
c1=atof(c2);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",c1);
printf(usb_cdc_putc,"d = ");
while(usb_cdc_kbhit()!=1);
for(i=0;i<=7;++i)
d2[i]=usb_cdc_getc();
d1=atof(d2);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",d1);
printf(usb_cdc_putc,"Zelite trajno shraniti vnesene vrednosti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
if(D=='D')
{
write_float_eeprom(naslov1,a1);
write_float_eeprom(naslov2,b1);
write_float_eeprom(naslov3,c1);
write_float_eeprom(naslov4,d1);
printf(usb_cdc_putc,"Vrednosti so trajno shranjene! ");
}
else
printf(usb_cdc_putc,"Vrednosti niso trajno shranjene! ",popravek);
break;
case 'U':printf(usb_cdc_putc,"Vnesi A7 = ",popravek);
usb_cdc_kbhit()=0;
while(usb_cdc_kbhit()!=1);
for(i=0;i<=5;++i)
A71[i]=usb_cdc_getc();
Mikrofluidni nizkopretočni fotometer Stran 67
A7=atof(A71);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",A7);
printf(usb_cdc_putc,"A8 = ");
while(usb_cdc_kbhit()!=1);
for(i=0;i<=5;++i)
A81[i]=usb_cdc_getc();
A8=atof(A81);
usb_cdc_kbhit()=0;
printf(usb_cdc_putc,"%0.4f ",A8);
printf(usb_cdc_putc,"Shranim? D/N ");
D=usb_cdc_getc();
if(D=='D')
{
write_float_eeprom(naslov5,A7);
write_float_eeprom(naslov6,A8);
printf(usb_cdc_putc,"Shranjeno !");
}
else
printf(usb_cdc_putc,"Koeficienta nista bila shranjena! ");
break;
case 'u':printf(usb_cdc_putc,"A7=%0.4f A8=%0.4f ",A7,A8);
break;
case 'v':printf(usb_cdc_putc,"V 2.0 ");
break;
default:printf(usb_cdc_putc,"Napacen ukaz! ");
break;
}
}
usb_cdc_kbhit()=0; //Ukaz za uporabljeno tipkovnico postavim na 0
tag=0;
if(input(PIN_E0)&&(rocno==0)) //Meritev pH-ja preko tipke
{ //Meritev se ne bo izvedla,
rocno=1; //če je bila že zahtevana oz. se izvaja.
ponovitev=0;
printf(lcd_putc,"\fPripravljanje na\n meritev");
delay_ms(2000);
}
if(input(PIN_E0)&&(rocno==1))
{
printf(lcd_putc,"\f MERITEV SE \n ZE IZVAJA!");
delay_ms(1000);
}
if(input(PIN_E1)&&(rocno==0)) //Vklop/izklop laserske diode
{ //Če se izvaja avtomatsko merjenje,
t3=0; //se diode ne more vklopiti oz. izklopiti.
set_timer3(0);
enable_interrupts(int_timer3);
while(input(PIN_E1)==1)
Mikrofluidni nizkopretočni fotometer Stran 68
printf(lcd_putc,"\f");
disable_interrupts(int_timer3);
if(t3<=20)
{
output_toggle(PIN_B2);
printf(lcd_putc,"\f DIODA SVETI\n NE SVETI");
delay_ms(1000);
}
else
{
output_toggle(PIN_B3);
printf(lcd_putc,"\f VIBRA TRESE\n NE TRESE");
delay_ms(1000);
}
}
if(input(PIN_E1)&&(rocno==1))
{
printf(lcd_putc,"\f UKAZ NI MOGOC!\nPOTEKA MERJENJE");
delay_ms(1000);
}
if(input(PIN_E2)&&(rocno==0)) //Prikaz zadnje meritve absorpcije in pH-ja
{ //Zadnje meritve med novo meritvijo ne izpišem
printf(lcd_putc,"\f A = %0.4f\n pH = %0.1f",A0,pH);
delay_ms(5000);
}
if(input(PIN_E2)&&(rocno==1))
{
printf(lcd_putc,"\fIZPIS NI MOGOC!\nPOTEKA MERJENJE");
delay_ms(1000);
}
if((rocno==1)&&(ponovitev==0))
{//Dodelim naslednji ukaz-izmerim temni tok (temni tok->motorji->"I0"->pH)
usb_cdc_kbhit()=1;
vnos[0]='D';
++ponovitev; //ponovitev=1
}
if((rocno==1)&&(ponovitev==2))
{//Dodelim naslednji ukaz-odprem reagent
if(vzaprt2==1) //Če je ventil za vodo zaprt ga odprem
{
printf(usb_cdc_putc,"Ventil za vodo ni bil odprt, meritev bo trajala malo dlje. ");
motor(2,1,1000); //rocno=1, ponovitev=2
set_timer1(0);
enable_interrupts(int_timer1); //Odštevam za pretok vode do konca cevi
izvedi=1;
}
if((vzaprt2==0)&&(izvedi==0))
{
++ponovitev; //ponovitev=3
Mikrofluidni nizkopretočni fotometer Stran 69
izvedi=1;
motor(1,1,750);
}
}
if((rocno==1)&&(ponovitev==2)&&(LD==1))
{
disable_interrupts(int_timer1);
izvedi=0;
LD=0;
++ponovitev; //ponovitev=3
motor(1,1,750);
}
if((rocno==1)&&(ponovitev==4))
{//Dodelim naslednji ukaz-izmerim svetlobni tok "I0"
usb_cdc_kbhit()=1;
vnos[0]='T';
++ponovitev; //ponovitev=5
output_high(PIN_B3); //VKLOP VIBRE!!!
set_timer1(0);
enable_interrupts(int_timer1); //Začnem s "odštevanjem" časa, ko bo dovolj reagenta v celici
}
if((LD==1)&&(rocno==1)&&(ponovitev==6)) //LD==1
{//Dodelim naslednji ukaz-izmerim pH
disable_interrupts(int_timer1); //Izklopim časovnik
output_low(PIN_B3); //IZKLOP VIBRE!!!
usb_cdc_kbhit()=1;
vnos[0]='A';
++ponovitev; //ponovitev=7
LD=0;
}
if((rocno==1)&&(ponovitev==8))
{//Dodelim naslednji ukaz-zaprem motor z reagentom
++ponovitev; //ponovitev=9
motor(1,0,750);
set_timer1(0); //Poženem časovnik za izpiranje reagenta iz celice.
enable_interrupts(int_timer1);
}
if((rocno==1)&&(ponovitev==10)&&(LD==1))
{//Dodelim naslednji ukaz-zaprem motor z vodo
disable_interrupts(int_timer1);
LD=0;
++ponovitev; //ponovitev=11
motor(2,0,1000);
}
if((rocno==1)&&(ponovitev==12))
{//POMEMBNO-S TEM IZKLOPIM PROCES MERJENJA!
rocno=0;
ponovitev=0;
printf(usb_cdc_putc,"Meritev je koncana. ");
Mikrofluidni nizkopretočni fotometer Stran 70
}
}
}
//____________________GLAVNI DEL PROGRAMA__________________________//
13.3.2 Spi_andrej.c
//_______FUNKCIJA ZA SPI KOMUNIKCIJO_______________________________//
int tag=0;
int i=0;
int nule=255; //Vrednost mora biti 0, s tem preverim ali je to res
unsigned int16 beri_spi() //implementiran ukaz: 1101b-preberi podatek
{//Prvo preberem PIN_C1 nato zapišem PIN_C2
//Podatkovni list ADS7280 stran 13: auto channel select TAG enabled
unsigned int16 prejeto=0;
output_high(PIN_C1); //PIN_C1 dam na začetku na 1
output_low(PIN_C0);
output_high(PIN_C7);
prejeto=prejeto|input(PIN_C2);
output_low(PIN_C7);
prejeto=prejeto<<1;
output_high(PIN_C7);
prejeto=prejeto|input(PIN_C2);
output_low(PIN_C7);
prejeto=prejeto<<1;
output_low(PIN_C1);
output_high(PIN_C7);
prejeto=prejeto|input(PIN_C2);
output_low(PIN_C7);
prejeto=prejeto<<1;
output_high(PIN_C1);
output_high(PIN_C7);
prejeto=prejeto|input(PIN_C2);
output_low(PIN_C7);
prejeto=prejeto<<1;
//-------------Oddano-1101b---------------------------------------//
output_low(PIN_C1); //Izhod postavim nazaj na 0
for(i=0;i<=9;++i)
{
output_high(PIN_C7);
prejeto=prejeto|input(PIN_C2);
output_low(PIN_C7);
if(i!=9) //Zadnjega vnosa ne zamikam!
prejeto=prejeto<<1;
Mikrofluidni nizkopretočni fotometer Stran 71
}
//-------------Prejeta-vrednost-A/D-pretvornika-------------------//
for(i=0;i<=2;++i)
{
output_high(PIN_C7);
tag=tag|input(PIN_C2);
output_low(PIN_C7);
if(i!=2)
tag=tag<<1;
}
//-------------TAG-bit-je-sprejet---------------------------------//
for(i=0;i<=6;++i)
{
output_high(PIN_C7);
nule=nule|input(PIN_C2);
output_low(PIN_C7);
if(i!=6)
nule=nule<<1;
}
//-------------Za-vsak-slučaj-sem-prenesel-še-7-ničel-------------//
output_high(PIN_C0);
return prejeto;
}
//_______FUNKCIJA ZA SPI KOMUNIKCIJO_______________________________//
13.3.3 Motor.c
//_______MOTOR_____________________________________________________//
char D;
short vzaprt1=1; //Spremenljivka za zaprt ventil 1
short vzaprt2=1; //Spremenljivka za zaprt ventil 2
short vzaprt3=1; //Spremenljivka za zaprt ventil 3
short rocno=0;
int ponovitev=0;
void motor(int kateri,short kam,unsigned int32 koraki)
{
unsigned int32 t=0;
if((rocno==1)&&(ponovitev==3))
++ponovitev; //ponovitev=4;
if((rocno==1)&&(ponovitev==9))
++ponovitev; //ponovitev=10;
if((rocno==1)&&(ponovitev==11))
++ponovitev; //ponovitev=12;
switch(kateri)
{
case 1:switch(kam)
{
case 0:if(vzaprt1==1)
Mikrofluidni nizkopretočni fotometer Stran 72
{
printf(usb_cdc_putc,"Zgleda da je ventil 1 zaprt. Ga zelite vseeno zapreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
output_low(PIN_A2); //CW/CCW-smer
vzaprt1=1;
break;
case 1:if(vzaprt1==0)
{
printf(usb_cdc_putc,"Zgleda da je ventil 1 odprt. Ga zelite vseeno odpreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
output_high(PIN_A2); //CW/CCW-smer
vzaprt1=0;
break;
}
output_high(PIN_A5); //Enable M1-shemaM3
break;
case 2:switch(kam)
{
case 0:if(vzaprt2==1)
{
printf(usb_cdc_putc,"Zgleda da je ventil 2 zaprt. Ga zelite vseeno zapreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
output_low(PIN_A0); //CW/CCW-smer
vzaprt2=1;
break;
case 1:if(vzaprt2==0)
{
printf(usb_cdc_putc,"Zgleda da je ventil 2 odprt. Ga zelite vseeno odpreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
Mikrofluidni nizkopretočni fotometer Stran 73
output_high(PIN_A0); //CW/CCW-smer
vzaprt2=0;
break;
}
output_high(PIN_A3); //Enable M2-shemaM2
break;
case 3:switch(kam)
{
case 0:if(vzaprt3==1)
{
printf(usb_cdc_putc,"Zgleda da je ventil 3 zaprt. Ga zelite vseeno zapreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
output_low(PIN_B4); //CW/CCW-smer
vzaprt3=1;
break;
case 1:if(vzaprt3==0)
{
printf(usb_cdc_putc,"Zgleda da je ventil 3 odprt. Ga zelite vseeno odpreti? D/N ");
while(usb_cdc_kbhit()!=1);
D=usb_cdc_getc();
usb_cdc_kbhit()=0;
}
else
D='D';
output_high(PIN_B4); //CW/CCW-smer
vzaprt3=0;
break;
}
output_high(PIN_A1); //Enable M3-shemaM1
break;
default:
printf(usb_cdc_putc,"Ventil st. %d ne obstaja! ",kateri);
break;
}
if(D=='D')
{
printf(usb_cdc_putc,"Ventil st. %d se ",kateri);
if(kam==0)
printf(usb_cdc_putc,"zapira! ",kateri);
if(kam==1)
printf(usb_cdc_putc,"odpira! ",kateri);
for(t=1;t<=koraki;++t)
{
output_high(PIN_B5);
Mikrofluidni nizkopretočni fotometer Stran 74
delay_ms(10);
output_low(PIN_B5);
delay_ms(10);
}
printf(usb_cdc_putc,"Ventil je ustavljen ");
}
else
printf(usb_cdc_putc,"Ventil st. %d je ostal v istem polozaju. ",kateri);
output_low(PIN_A5); //Enable pine postavim na 0
output_low(PIN_A3);
output_low(PIN_A1);
//printf(usb_cdc_putc,"koraki:%w ",koraki);
usb_cdc_kbhit()=0;
}
//_______MOTOR_____________________________________________________//
13.3.4 Fuses.c
#FUSES HS //Hihgh speed USB
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES HSPLL //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES DEBUG //Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES NOPBADEN //PORTB pins are not configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL5 //Divide By 12?(48MHz oscillator input)
#FUSES CPUDIV1 //System Clock by 4
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES VREGEN //USB voltage regulator enabled
Mikrofluidni nizkopretočni fotometer Stran 75
13.3.5 AD.c
//_______A/D_PRETVORNIK_____________________________________________//
float napetost=0;
float faktor=0.000125007; //VREDNOST ENEGA BITA PRI REFERENCI 2,048 V
unsigned int16 vrednost=0;
int st=1; //Števec meritev do 255
void AD(int izpis)
{
output_low(PIN_B1);
delay_cycles(2); //Zakasnitev mora trajati 40 ns, tu je malo več
output_high(PIN_B1);
while(input(PIN_B0)==0); //Čakam na PIN_B0=1
vrednost=beri_spi();
napetost=vrednost*faktor;
if(izpis==1) //Včasih je izpis željen, spet drugič ne
printf(usb_cdc_putc,"U=%0.8f V TAG=%u st=%u biti:%Lu",napetost,tag,st,vrednost);
izpis=0;
++st;
delay_ms(50);
}
//_______A/D_PRETVORNIK_____________________________________________//
13.3.6 Prekinitve.c
//_______PREKINITVENA ZANKA 1_______________________________________//
float stevec1=0;
unsigned int16 t3=0;
short LD=0;
#int_timer1
void isr_timer1()
{
disable_interrupts(int_timer1);
stevec1=stevec1+1;
if(stevec1==4000) //Pri tem programu in vrednosti 114
{ //se funkcija if izvede v 5. sekundah.
stevec1=0; //Po kompleksi if zanki, v mainu, bo mogoče trajalo dlje.
LD=1; //Vrednost 4000 pomeni malo manj kot 3 minute.
}
enable_interrupts(int_timer1);
}
//_______PREKINITVENA ZANKA 1_______________________________________//
//_______PREKINITVENA ZANKA 3_______________________________________//
#int_timer3
void isr_timer3()
{
disable_interrupts(int_timer3);
t3=t3+1;
Mikrofluidni nizkopretočni fotometer Stran 76
enable_interrupts(int_timer3);
}
//_______PREKINITVENA ZANKA 3_______________________________________//
13.3.7 pH.c
//_______IZRAČUN pH VREDNOSTI_______________________________________//
float izr_ph(float abs,float popr,float a3, float b3, float c3, float d3)
{
float ph1;
abs/=popr;
ph1=a3*abs*abs*abs;
ph1+=b3*abs*abs;
ph1+=c3*abs;
ph1+=d3;
return(ph1);
}
//_______IZRAČUN pH VREDNOSTI_______________________________________//
13.4 Naslov študenta
Andrej Šmit
Šalek 91
3320 Velenje
Tel.: 040/687-282 ali (03) 586 26 31
e-mail: [email protected]
13.5 Kratek življenjepis
Rojen: 7. 10. 2012 v Ljubljani
Osnovna šola: 1992-2000 OŠ Šalek Velenje
Srednja šola: 2000-2004 Šolski center Velenje, Poklicna in tehniška, elektro in
računalniška šola Velenje, program elektrotehnik
elektronik
Fakulteta: 2004-2012 Fakulteta za elektrotehniko, računalništvo in informatiko,
Univerza v Mariboru, univerzitetni študijski program
elektrotehnika, smer avtomatika
Mikrofluidni nizkopretočni fotometer Stran 77
Mikrofluidni nizkopretočni fotometer Stran 78
Mikrofluidni nizkopretočni fotometer Stran 79