20
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET KATEDRA ZA MIKROELEKTRONIKU PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKU LABORATORIJSKI PRAKTIKUM Master inž. Miloš Đorđević Niš, mart 2020.

PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

UNIVERZITET U NIŠU

ELEKTRONSKI FAKULTET

KATEDRA ZA MIKROELEKTRONIKU

PROJEKTOVANJE MATERIJALA ZA

ELEKTRONIKU

LABORATORIJSKI PRAKTIKUM

Master inž. Miloš Đorđević

Niš, mart 2020.

Page 2: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Vežba I

Primena LED diode kao senzor intenziteta osvetljenja

A. Teorijski pregled vežbe

Svetleća dioda, koja se znatno češće zove LED (eng. Light-Emitting Diode) ili

fotoluminiscentna dioda električnu energiju, odnosno električni signal pretvara u svetlosnu

energiju, unutrašnji presek LED diode dat na slici 1.

Elektron u valentnoj zoni ima manju energiju od elektrona u provodnoj zoni za veličinu

širine zabranjene zone Eg. Ako je moguća rekombinacija direktnim prelaskom elektrona iz

provodne u valentnu zonu, a kod svetlećih dioda se biraju upravo takvi poluprovodnički

materijali koji to omogućavaju, oslobađa se tom prilikom električna energija čija je vrednost

jednaka Eg. Ova energija se pretvara u foton svetlosti energije hf = Eg.

Slika 1. Unutrašnji presek LED diode

Da bi poluprovodnik emitovao svetlost, neophodno je da postoji veliki broj pobuđenih

elektrona. Pobuđivanje elektrona sa nižeg na viši energetski nivo najbolje se postiže

injekcijom, dakle pomoću p-n spoja pri direktnoj polarizaciji, sl. 2a. U tom slučaju slobodni

elektroni iz provodne zone n-tipa prelaze u provodnu zonu p-tipa.

Pošto u p-tipu ima mnogo šupljina, porašće intenzitet rekombinacije, te će nastati svetlosno

zračenje − tkzv. spontana emisija. Ukoliko je struja veća, a to je direktna struja diode IF, biće

veća i jačina svetlosti, sl. 2b.

Slika 2. a − Način povezivanja luminiscentne diode; b − zavisnost jačine svetlosti od

struje direktno polarisane diode

Page 3: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Od širine zabranjene zone zavisiće energija fotona, odnosno talasna dužina svetlosti. Prema

tome, izborom poluprovodnika možemo dobiti željenu talasnu dužinu svetlosti, slika 3. Odmah

treba istaći da se LED ne realizuju u silicijumskoj tehnologiji, tako da je njihov napon pri

direktnoj polarizaciji znatno veći od 0.7 V.Drugim rečima, LED se izrađuju od

poluprovodničkih materijala čije su vrednosti energetskih procepa veće nego u slučaju

silicijuma.

Slika 3. Spektralne karakteristike LED u vidljivom delu spectra

B. Praktični deo vežbe

LED dioda pored standardne primene u vidu binarnog indikatora (svetli ne svetli), može se

primeniti i kao senzor intenziteta osvetljenja. Naime, prilikom izlaganja LED diode određenom

intenzitetu svetlosti, na njenim krajevima se generiše napon. Vrednost napona zavisiće od

samog intenziteta osvetljenja, dakle što je veći intenzitet osvetljenja, veći i je napon na njenim

krajevima.

Kao najbolji senzor među LED diodama, pokazala se zelena LED dioda, koja ima najveću

promenu napona na svojim krajevima zavisno od promene intenziteta osvetljenja. Kao potvrda

ove tvrdnje, prilikom izrade vežbe biće iskorišćena zelena i žuta LED dioda, radi poređenja

dobijenih rezultata merenja. Kako ovo merenje imalo smisla, može se pridodati i fotootpornik

(LDR, eng. Light Dependent Resistor), koji se često koristi kao senzor intenziteta osvetljenja.

Električna šema vežbe je data na slici 4. koja će se praktično realizovati na protoploči, kao

demonstracija teorijskog dela vežbe. Kao što se može videti sa električne šeme, kako bi se

merio napon generisan na LED diodama, neophodno je najpre referencirati taj napon. Drugim

rečima, neophodno je izabrati naponski nivo u odnosu na koji se referencira napon koji merimo.

U ovom slučaju je to masa (GND), tako da je katoda LED dioda vezana na nulti potencijal. To

je kasnije neophodno definisati i u kodu priliko definisanja rada A/D konvertora. Sa anoda se

„uzimamo“ napon koji merimo i taj pin je nophodno povezati na jedan od ulaza A/D

konvertora.

Na električnoj šemi je dodat i fotootpornik (LDR), ali u kodu je izostavljen deo namenjen

njemu. U izveštaju o urađenoj vežbi je neophodno dodati deo koda kojim se meri napon na

fotootporniku zavisno od intenziteta osvetljenja.

Page 4: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Slika 4. LED diode kao senzor osvetljenja

Programski kod:

U programskom jeziku Proton Basic dat je programski kod za praktičnu realizaciju vežbe,

na osnovu koga je moguće uporediti rezultata merenja napona generisanih na LED diodama:

Device 18F45K22

Xtal 32

Declare LCD_RSPin PORTD.0 ' RS pin - izbor cipa (citanje/pisanje)

Declare LCD_ENPin PORTD.1 ' EN pin - omogucavanje ispisa

Declare LCD_DTPin PORTD.4 ' DT pin - pinovi za podatke (D.4 - D.7)

Declare LCD_Type Alphanumeric ' Tip LCD-a - Alfanumericki (0)

Declare LCD_Lines 2 ' Broj linija (redova) na LCD-u

Declare LCD_Interface 4 ' Broj linija za komunikaciju uC <> LCD

'============================================

'======== Definisanje AD konvertora =========

'============================================

VREFCON0=%110100000 ' Postavljanje referentnog napona na 1.024V

ANSELD=%00000000 ' Def. Porta D kao digitalni

ANSELA=%00000111 ' Def. Porta A kao digitalni, osim A.0

ANSELB=%00000000 ' Def. Porta B kao digitalni

ANSELC=%00000000 ' Def. Porta C kao digitalni

TRISA=%00000111 ' Def. smera porta A -> ulazni A.0

ADCON1=%00001000 ' Ref. napon (Vref+=>VrefBuf),(Vref- => GND)

ADCON2=%10100010 ' Desno poravnanje, 8Tad, Fosc/32

Page 5: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ '============================================

'======== Definisanje promenljivih ==========

'============================================

Dim TmpW As Word ' Prom. za vrednosti A/D konverzije

Dim LED As Float ' Prom. za vrednosti A/D konverzije

Dim ADUkupno As Dword ' Ukupna vrednost A/D konverzije

Dim TmpW2 As Word ' Prom. za vrednosti A/D konverzije

Dim LED2 As Float ' Prom. za vrednosti A/D konverzije

Dim LDR As Word ' Prom. za vrednosti A/D konverzije

Dim ADUkupno2 As Dword ' Ukupna vrednost A/D konverzije

Dim I As Byte

Dim I2 As Byte

Print At 1,1, " LED dioda kao "

Print At 2,1, "senzor osvetlj."

DelayMS 1000

AD_scan:

While 1=1

'======================================

'========== Zelena LED dioda ==========

'======================================

ADCON0=%00000001 ' A.0

ADUkupno = 0

For I = 0 To 19 Step 1

TmpW = 0

TmpW = ADIn 0 ' Smestanje vr. A/D konverzije u promenljivu

ADUkupno = ADUkupno + TmpW

Next

ADUkupno = ADUkupno / 20

LED = ADUkupno / 1023

'======================================

'=========== Zuta LED dioda ===========

'======================================

ADUkupno2 = 0

ADCON0=%00000101 'A.1

For I2 = 0 To 19 Step 1

TmpW2 = 0

TmpW2 = ADIn 1

ADUkupno2 = ADUkupno2 + TmpW2

Next

ADUkupno2 = ADUkupno2 / 20

LED2 = ADUkupno2 / 1023

Cls

Print At 1,1, "LEDZel: ", Dec3 LED, " mV"

Print At 2,1, "LEDZut: ", Dec3 LED2, " mV"

DelayMS 500

GoTo AD_scan

Wend

Page 6: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Vežba II

Primena Silicijumske (Si) 1N4148 diode kao senzor temperature

A. Teorijski pregled vežbe

Prekidačka dioda 1N4148 je vrsta diode koje u elektronskim kolima prelaze iz provodnog

u neprovodno stanje i obratno, najčešće pod dejstvom impulsne pobudese. Na taj način ove

diode ostvaruju funkciju elektronskog prekidača koji na određeni način razdvaja ili spaja

pojedine delove kola. Značajna primena prekidačkih dioda je u zaštiti elektronskih prekidača

od uticaja induktivnog opterećenja (slika 5.):

Slika 5. Primena prekidačkih dioda

Ostale primene ovih dioda su:

- Diodna logička kola,

- Zaštita naponskih regulatora od inverzne polarizacije,

- Prebacivanje sa mrećnog na baterijsko napajanje,

- ...

Pri direktnoj polarizaciji, porast temperature uzrokuje smanjenje vrednosti napona vođenja

diode, sa približno konstantnim temperaturnim koeficijentom:

𝑑𝑉𝐷

𝑑𝑇 ≈ −2 𝑚𝑉 −1

Pri inverznoj polarizaciji dolazi do porasta inverzne struje zasićenja diode. Vrednost

inverzne struje zasićenja se približno udvostručuje na svakih 10ºC porasta temperature!

B. Praktični deo vežbe

Kako je prethodno navedeno, prekidačke diode se najčešće koriste kao zaštita od inverzne

polarizacije, tj. u kolima komponenata sa induktivnim karakterom (kalemovi), kako bi zaštitile

ostatak kola od pražnjenja komponenata sa induktivnim karakterom nakon isključenja

napajanja preko ostatka kola.

Page 7: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Ove diode se mogu iskoristiti na još jedan način, tj. mogu naći primenu kao senzori

temperature. Povećanje temperature prourokuje smanjenjem napona vođenja diode, koje je

skoro konstantno i iznosi ≈ -2.2 mV/ºC (slika 6.).

Slika 6. Uticaj temperature na smanjenje napona vođenja

Električna šema vežbe za određivanje temperature diodom 1N4148 je data na slici 7.

Slika 7. Električna šema vežbe određivanja temperature primenom Si diode – 1N4148

Kao što se vidi sa električne šeme, povezan je i temperaturni senzor LM35, koji između

ostalog služi i za upoređivanje izmerene vrednosti za temperaturu na 1N4148 diodi. LM35

temperaturni senzor se koristi u izradi vežbe prvenstveno za određivanje referentne vrednosti

napona na diodi na sobnoj temperaturi. Dakle, najpre je neophodno izmeriti napon na krajevima

1N4148 diode na sobnoj temperaturi, a kasnije vrednost tog napon uvesti u jednačinu za

određivanje temperature.

Page 8: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Radi lakšeg razumevanja jednačine za sobnu temperaturu biće uzeta vrednost od 24°C

(TREF):

VAD = (Izmerena_vrednost_naponskih_nivoa_na_diodi(A/D) * 5) / 1023,

Nakon određivanja napona na diodi na sobnoj temperaturi neophodo je dobijene vrednosti

uneti u jednačinu za temperaturu:

TEMPDIODE = TREF + ((VAD – VAD_TRENUTNO) * 50)

Ukoliko je na sobnoj temperaturi izmereno 3.05, znači da je napon na diodi 0.610 V:

VAD = (Vx · 5) / 1023, kako je za VAD = 3.05V, za Vx dobijamo da je:

Vx = (VAD · 1023)/5 => Vx = (3.05 · 1023)/5 = 0.610 V = 610 mV

Programski kod:

Device 18F45K22

Xtal 32

Dim Tmp As Word

Dim LM35 As Word

Dim Temp As Float

Dim TempU As Float

Dim I As Byte

Declare LCD_RSPin PORTD.0 ' RS pin - izbor cipa (citanje/pisanje)

Declare LCD_ENPin PORTD.1 ' EN pin - omogucavanje ispisa

Declare LCD_DTPin PORTD.4 ' DT pin - pinovi za podatke (D.4 - D.7)

Declare LCD_Type Alphanumeric ' Tip LCD-a - Alfanumericki (0)

Declare LCD_Lines 2 ' Broj linija (redova) na LCD-u

Declare LCD_Interface 4 ' Broj linija za komunikaciju uC <> LCD

'======== Definisanje AD konvertora =========

VREFCON0=%11010000 ' Postavljanje referentnog napona na 1.024V

ANSELD=%00000000 ' Definisanje Porta D kao digitalni

ANSELA=%00000011 ' Definisanje Porta A kao digitalni, osim A.0

ANSELB=%00000000 ' Definisanje Porta B kao digitalni

ANSELC=%00000000 ' Definisanje Porta C kao digitalni

TRISA=%00000011 ' Definisanje smera porta A -> ulazni A.0

ADCON1=%00001000 ' Ref. napon (Vref+ => VrefBuf),(Vref- => GND)

ADCON2=%10100010 ' Desno poravnanje, 8Tad, Fosc/32

Main:

ADCON0=%00000001 ' Prvi analogni ulaz -> AN0

Tmp = ADIn 0

Temp = ((Tmp * 5) / 1023)

Temp = 24 + ((3.024 - Temp) * 50)

ADCON0=%00000101 ' Drugi analogni ulaz -> AN1

LM35 = ADIn 1

LM35 = LM35 / 10

Print At 1,1, "LM35 = ", Dec LM35, " ", $B0, "C"

Print At 2,1, "1N4148 = ", Dec Temp, " ",$B0,"C"

DelayMS 500 : Cls

GoTo Main

Page 9: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Vežba III

Primena NTC termistora kao senzora temperature

A. Teorijski pregled vežbe

NTC termistor predstavlja nelinearni otpornik sa negativnim temperaturnim koeficijentom

(eng. Negative Temperature Coefficient). Kod ovog otpornika se otpornost smanjuje usled

povećanja temperature na njemu ili u njegovoj okolini. Proizvode se od polikristalnih oksidnih

poluprovodničkih materijala (Al2O3, ZnO, itd.). Promena otpornosti sa promenom temperature

se može opisati pomoću relacije:

RT = R∞ · eB/T ,

gde su R∞ i B konstante. Konstanta B naziva se temperaturna osetljivost i njena vrednost zavisi

od svojstava otpornog materijala. Temperatura i temperaturna osetljivost se izražavaju u

kelvinima (K = °C + 273). Zavisnost ptomene otpornosti sa promenom temperature je data na

slici 8.

Slika 8. Zavisnost otpornosti NTC termistora sa temperaturom

Najčešća primena ovih termistora jeste kao senzor temperature, ali i za ograničavanje

struje, gde se usled protoka struje kroz NTC termistor on samozagreva.

Neophodno je voditi računa da se temperatura koja se razvija na NTC termistoru predstavlja

u Kelvinima [K] - 0°C = 273 K (konsultovati kod).

B. Praktični deo vežbe

Na slici 9. je data električna šema koju je potrebno praktično realizovati.

Page 10: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Slika 9. Električna šema vežbe za merenje temperature primenom NTC termistora

Programski kod:

Device 18F45K22

Xtal 32

Declare LCD_RSPin PORTD.0 ' RS pin - izbor cipa (citanje/pisanje)

Declare LCD_ENPin PORTD.1 ' EN pin - omogucavanje ispisa

Declare LCD_DTPin PORTD.4 ' DT pin - pinovi za podatke (D.4 - D.7)

Declare LCD_Type Alphanumeric ' Tip LCD-a - Alfanumericki (0)

Declare LCD_Lines 2 ' Broj linija (redova) na LCD-u

Declare LCD_Interface 4 ' Broj linija za komunikaciju uC <> LCD

'======== Definisanje AD konvertora =========

ANSELD=%00000000 ' Definisanje Porta D kao digitalni

ANSELA=%00000011 ' Definisanje Porta A kao digitalni, osim A.0

ANSELB=%00000000 ' Definisanje Porta B kao digitalni

ANSELC=%00000000 ' Definisanje Porta C kao digitalni

TRISA=%00000011 ' Definisanje smera porta A -> ulazni A.0

ADCON1=%00000000 ' Ref. napon (Vref+ => Vcc), (Vref- => GND)

ADCON2=%10100001 ' Right justified, 8Tad, Fosc/8

Dim Vo As Word

Dim LM35 As Word

Dim LM35F As Float

Dim logR2 As Float

Dim R2 As Float

Dim T As Float

Dim Tc As Float

Dim Tf As Float

Symbol C1 = 0.001009249522

Symbol C2 = 0.0002378405444

Symbol C3 = 0.0000002019202697

Symbol R1 = 10000

Main:

ADCON0=%00000001

Vo = ADIn 0

R2 = R1 * (1023.0 / (Vo - 1.0))

logR2 = Log (R2)

Page 11: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ T = (1.0 / (C1 + C2 * logR2 + C3 * logR2 * logR2 * logR2))

Tc = (T - 273.15) * 3.5489595

Tf = (Tc * 9.0)/ 5.0 + 32.0

Print At 1,1, "NTC= ", Dec Tc, $B0,"C"

DelayMS 500 : Cls

GoTo Main

Paramtri C1, C2 i C3 su konstante koje zavise od samog NTC termistora, u ovom slučaju

je korišćen NTC 10k termistor. 10k je oznaka da je u pitanju NTC termistor koji na sobnoj

temperaturi ima otpornost od 10kΩ. Iz tehničke dokumentacije je moguće naći parametre za

ostale termistore (NTC tipa).

Kao izveštaj za ovu vežbu je potrebno dodati temperaturni senzor LM35 i rezultate umesto

na LCD displeju štampati na serisjkom terminalu. Dobijene rezultate uslikati i dostaviti zajedno

sa šemom kojom je vršena simulacija i programski kod. LM35 vezati na PORTA.1 i tu

definisati A/D konvertor.

Page 12: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

IV vežba

Primena razdelnika napona za određivanje nepoznate otpornosti

A. Teorijski pregled vežbe

Razdelnik napona je najčešće primenjivano kolo u elektronici, kako kod primene raznih

senzora, tako i u kolima sa kondenzatorima, itd. Samo kolo se sastoji od dva (ili više otpornika,

slučaj kada je neophodno odrediti ekvivalentnu otpornost veza otpornika, da bi se svelo kolo

na dva redno vezana otpornika) između kojih se meri napon.

Određivanje napona na izlazu iz razdelnika napona je opisno jednačinom:

𝑉𝑂𝑈𝑇 =𝑅2

𝑅1 + 𝑅2∙ 𝑉𝐼𝑁

Razdelnik napona se često primenjuje kada je neophodno meriti napon na nekom od

senzora koji premašuje vrednost od 5V (maksimalna vrednost napona koja se sme dovesti na

A/D konvertor). U tom slučaju je neophodno znati koja je maksimalna vrednost koja se može

očekivati, kako bi se odabrao optimalan odnos otpornika R1 i R2, kako bi se za VOUT dobilo

maksimalno 5V.

B. Praktični deo vežbe

U slučaju kada nam je potrebno da odredimo nepoznatu otpornost R2, moguće je primeniti

upravo razdelnik napona. Merenjem napona na razdelniku, odnosno na otporniku R2, moguće

je vrlo lako odrediti njegovu otpornost:

𝑅2 =𝑉𝑂𝑈𝑇

𝑉𝐼𝑁 − 𝑉𝑂𝑈𝑇∙ 𝑅1

Električna šema ommetra je data na slici 10.

Slika 10. Električna šema ommetra

Page 13: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Programski kod:

Device = 18F45K22

Xtal 32 ' Frekvencija oscilatora

ANSELD=%00000000 ' Svi pinovi porta D su digitalni (LCD displej)

VREFCON0=%11100000 ' Postavljanje referentnog napona na 2.048V

ANSELA=%00000100

TRISA=%00000100

ADCON0=%00001001 'AN2

ADCON1=%00001000

ADCON2=%10111110

Declare LCD_Type 0

Declare LCD_DTPin PORTD.4

Declare LCD_RSPin PORTD.0

Declare LCD_ENPin PORTD.1

Declare LCD_Interface 4

Declare LCD_Lines 2

Dim R As Word

Dim R_float As Float

Print At 1,4, "Digitalni"

Print At 2,5, "Ommetar"

DelayMS 1000 : Cls

Main:

DelayMS 500

ADCON0.1=1

While ADCON0.1=1

Wend

DelayMS 500

R = (ADRESH * 256) + ADRESL

R_float = (R * 2) / 1023

Print At 1,1, Dec8 R_float

R_float = (R_float * 330000) / (5 - R_float)

If R_float < 1000 Then

Print At 2,1, "R= ", Dec1 R_float

Print At 2,12, 244

EndIf

If R_float > 1000 And R_float < 1000000 Then

R_float = R_float / 1000

Print At 2,1, "R= ", Dec1 R_float

Print At 2,12, "k", 244

EndIf

If R_float > 1000000 Then

R_float = R_float / 1000000

Print At 2,1, "R= ", Dec1 R_float

Print At 2,12, "M", 244

EndIf

GoTo Main

U izveštaju je neophodno umesto potenciometra vezati paralelnu vezu otpornika RX1 i RX2,

čije su vrednosti RX1 = 120k i RX2 = 100k. Uslikati dobijene vrednosti i dostaviti sa šemom

simulacije. Sve rezultate štampati na serisjkom terminalu (Serail Com u Proton Basic-u).

Page 14: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

V vežba

Realizacija digitalnog kapacimetra korišćenjem A/D konvertora

A. Teorijski pregled vežbe

Kao što je poznato, kondenzator je pasivna elektronska komponenta koja se sastoji od dve

provodne (ploče) obloge između kojih je izolator, odnosno dielektrik. Kondenzatori se mogu

podeliti u dve osnovne grupe: nepolarizovani i polarizovani, odnosno dele se na keramičke i

elektrolitske kondenzatore. Zavisno od materijala od koga je izolator, zavisi i kapacitivnost

samog kondenzatora. Tako na primer ukoliko je potrebna veća kapacitivnost (elektrolitski

kondenzatori), najčešće je u pitanju Al2O3. S druge strane, ukoliko je potrebno primenjivati

kondenzatore na visokim frekvencijama (iznad 1 kHz), koriste se keramički kondenzatori (do

nekoliko GHz).

Slično otpornicima, kondenzatori imaju pored nazivne vrednosti i nazivnog radnog napona

ima toleranciju, odnosno, odstupanje vrednosti kapacitivnosti od nominalne (nazivne)

vrednosti. Ono što je karakteristično za elektrolitske kondenzatore je da se u praksi mogu vrlo

često sresti kondenzatori koji imaju toleranciju ±20%. U slučaju velikih kapacitivnosti, na

primer 470 µF, odstupanje može uticati na realnu vrednost kapacitivnosti. Tako na primer,

vrednost kondenzatora kapacitivnosti 470 µF je u opsegu 376 µF do 564 µF.

Simboli nepolarizovanog i polarizovanog kondenzatora su dati na slici 11.

Slika 11. Električni simboli nepolarizovanog i polarizovanog kondenzatora

B. Praktični deo vežbe

Vrlo često je neophodno izmeriti realnu vrednost kapacitivnosti kondenzatora, bez obzira

što na kućištu kondenzatora stoji oznaka o kapacitivnosti. Vrlo je nitno znati vrednost

tolerancije kondenzatora, u suprotnom odstupanje može dramatično da utiče na rad

elektronskog kola.

Postoje razni načini za realizaciju kapacimetra, ta rešenja često zahtevaju dodatna digitalna

kola, rezonatorska kola, itd. U ovoj vežbi biće dat primer realizacjie kapacimetra korišćenjem

A/D konvertora. Pored A/D konvertora neophodna je i upotreba tajmera, kojim se meri vreme

punjenja kondenzatora.

Prilikom merenja kapacitivnosti treba odrediti vreme za koje napon na kondenzatoru

dostigne 63.2% napona na koji je priključen (slika 12.).

Page 15: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Slika 12. Karakteristika punjenja kondenzatora

Kao što se može videti da bi se kondenzator napunio na vrednost napona na koji je

priključen potrebno je 5 vremenskih konstanti (5τ). Treba obratiti pažnju da je svaka vremenska

konstanta (τ) na 63.2% od svake prethodne vremenske konstante (slika 13.).

Slika 13. Vreme punjenja kondenzatora

Za nas je od značaja prva vremenska konstanta, odnosno kada napon na kondenzatoru

dostigne 63.2% vrednost napona na koji je priključen, od trenutka kada je kondenzator prazan.

U svrhu merenja vremena koje je potrebno za dostizanje 63.2% vrednosti napona, koristi se

tajmer (eng. Timmer).

Page 16: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________

Kada se izmeri vreme, primenjuje se jednačina za punjenje kondenzatora:

𝑉𝐶 = 𝑉𝑠 ∙ 𝑒−𝑡𝜏

Odavde se za τ može uzeti da je τ = R·C, kako bi se dalje C izrazilo na osnovu poznatih

parametara i dobila vrednost kapacitivnosti kondenzatora. Električna šema kapacimetra je data

na slici 14.

Slika 14. Električna šema kapacimetra

Merenje kapacitivnosti se pokreće tasterom koji je u pull-up konfiguraciji vezan na pin

PORTB.0 mikrokontrolera PIC18F2550. Kao što se može videti punjenje kondenzatora se

kontroliše preko dva otpornika R1 i R3 sa električne šeme. Preko otpornika R1 = 100kΩ

kondenzator se puni, dok je pin na kome je vezan R3 = 330Ω u stanju visoke impedanse.

Prilikom pražnjenja, kondenzator se preko paralelne veze otpornika R1 i R3 prazni.

Programski kod:

Device = 18F2550

'===================================================================

'================== Podesavanja za 8MHz za 18F2550 =================

'===================================================================

Xtal = 8

; 8MHZ (INTOSC) SETTINGS.

OSCCON.6 = 1 ; OSCCON REGISTER (IRCF2)

OSCCON.5 = 1 ; OSCCON REGISTER (IRCF1)

OSCCON.4 = 1 ; OSCCON REGISTER (IRCF0)

Config_Start

PLLDIV = 1 ;No prescale (4 MHz oscillator input drives PLL directly)

CPUDIV = OSC1_PLL2 ;[Primary Oscillator Src: /1][96 MHz PLL Src: /2]

USBDIV = 1 ;USB clock source comes directly from the primary

oscillator block with no postscale

Page 17: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ FOSC = INTOSCIO_EC ;Internal oscillator, port function on RA6, EC used

by USB (INTIO)

IESO = OFF ;Oscillator Switchover mode disabled

BOR = OFF ;Brown-out Reset disabled in hardware and software

WDT = OFF ;WDT disabled (control is placed on the SWDTEN bit)

PBADEN = OFF ;PORTB<4:0> pins are configured as digital I/O on Reset

LPT1OSC = OFF ;Timer1 configured for higher power operation

MCLRE = OFF ;RE3 input pin enabled; MCLR pin disabled

STVREN = OFF ;Stack full/underflow will not cause Reset

LVP = OFF ;Single-Supply ICSP disabled

XINST = OFF ;Instruction set extension and Indexed Addressing mode

disabled (Legacy mode)

Debug = OFF ;Background debugger disabled, RB6 and RB7 configured as

general purpose I/O pins

Config_End

'================================================================

'=============== Podesavanja za 8MHz za 18F2550 =================

'================================================================

'================================================================

'============= Podesavanja za Serijsku komunikaciju =============

'================================================================

' Declare Hserial_Baud 9600

' ' RCSTA register:

' ' 7 bit - SPEN: Serial Port Enable bit

' ' 6 bit - RX9: 9-bit Receive Enable bit

' ' 5 bit - SREN: Single Receive Enable bit

' ' 4 bit - CREN: Continuous Receive Enable bit

' ' 3 bit - ADEN: Address Detect Enable bit

' ' 2 bit - FERR: Framing Error bit

' ' 1 bit - OERR: Overrun Error bit

' ' 0 bit - RX9D: 9th bit of received data (Can be parity bit)

' Declare Hserial_RCSTA= %10010000 ' Enable continuous receive

' RCSTA = %10010000

' ' TXSTA register:

' ' 7 bit - CSRC: Clock Source Select bit

' ' 6 bit - TX9: 9-bit Transmit Enable bit

' ' 5 bit - TXEN: Transmit Enable bit

' ' 4 bit - SYNC: USART Mode Select bit

' ' 3 bit - Send Break Character bit

' ' 2 bit - BRGH: High Baud Rate Select bit

' ' 1 bit - TRMT: Transmit Shift Register Status bit

' ' 0 bit - TX9D: 9th bit of transmit data. Can be parity bit.

' Declare Hserial_TXSTA= %00100100 ' Enable transmit and asynchr. mode

' TXSTA = %00100100

' Declare Hserial_Clear= On ' Clear the buffer before receiving

'=============================================================

'============ Podesavanja za Serijsku komunikaciju ===========

'=============================================================

Declare Adin_Res = 10 ' 10-bit result required

Declare Adin_Tad = FRC ' RC OSC chosen

Declare Adin_Stime = 50 ' Allow 50us sample time

ADCON0 = %00000101

ADCON1 = %00001101

ADCON2 = %10000000

Page 18: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ Declare LCD_RSPin PORTB.2

Declare LCD_ENPin PORTB.3

Declare LCD_DTPin PORTB.4

Declare LCD_Interface 4

Declare LCD_Lines 2

Declare LCD_Type 0

DelayMS 500

Symbol GIE = INTCON.7 ' Global Interrupt Enable Bit

Symbol PEIE = INTCON.6

Symbol TMR1_Enable = PIE1.0 ' TMR1 interrupt enable

Symbol TMR1_On = T1CON.0 ' Enables TMR1 to start incrementing

Symbol CTRLPin = PORTC.1

Symbol Dischr = PORTC.2

Symbol Q = 0.0000144300

Output CTRLPin

Output Dischr

Print At 1,1, "Kapacimetar ADC"

DelayMS 500 : Cls

On_Hardware_Interrupt Interapt

GoTo Init

'==============================

'======== Promenljive =========

'==============================

Dim uS As Dword

Dim t As Float

Dim C As Float

Dim Took_To_Long As Bit

Dim Prom As Word

Dim TMR1_C As Word

Dim ADCap As Word

Dim Cap As Float

Dim A As Byte

'===============================

'======= Interapt rutina =======

'===============================

Interapt:

Context Save

GIE = 0

If PIR1.0 = 1 Then ' TMR1 overflow (Prekoracenje tajmera)

Inc Prom ' Povecaj promenljivu za 1 kada se resetuje

tajmer (TMR1 > 65535)

PIR1.0 = 0 ' Reset tajmera

EndIf

GIE = 1

Context Restore

Init:

TMR1_Enable = 0

GIE = 0

Page 19: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ PIR1.0 = 0

INTCON.6 = 1 ' Periferijski interapt

T1CON.1 = 0 ' 1 = External clock from pin RC0/T1OSO/T1CKI (on the

rising edge)

' 0 = Internal clock (FOSC/4)

T1CON.2 = 1 ' 1 = Do not synchronize external clock input

T1CON.4 = 1 ' 11 = 1:8 prescale value

T1CON.5 = 1 ' 10 = 1:4 prescale value

' 01 = 1:2 prescale value

' 00 = 1:1 prescale value

PIR1.0 = 0

'=======================================

'=========== Glavni deo koda ===========

'=======================================

Main:

If PORTB.0 = 0 Then

Print At 1,1, "Merenje..."

Inc A

TMR1H = 0 ' Resetuj TMR1

TMR1L = 0 ' Resetuj TMR1

TMR1_Enable = 1 ' Omoguci TMR1 interapt

GIE = 1 ' Omoguci globalni interapt

Prom = 0 ' Prom. za TMR1_Overflow (koliko se puta

overflownuo TMR1)

TMR1_On = 0 ' Onemoguci TMR1

DelayMS 500

EndIf

If A = 1 Then

High CTRLPin

TRISC.2 = 1

TMR1_On = 1 ' Omoguci TMR1 - merenje!

ADCON0.1=1

While ADCON0.1=1

Wend

ADCap = (ADRESH * 256 + ADRESL)

DelayMS 250

If ADCap >= 647 Then '640

TMR1_On = 0 'Onemoguci TMR1

uS = Prom * 65535 ' + (TMR1H * 256) + TMR1L

uS = uS + (TMR1H * 256)

uS = uS + TMR1L

t = (1866.667 * uS) / 100000

t = t * 2.1

Low CTRLPin

TRISC.2 = 0

Low Dischr

Cls

If t > 1000 Then

Print At 1,1, "C= ", Dec t/1000, "uF"

EndIf

Page 20: PROJEKTOVANJE MATERIJALA ZA ELEKTRONIKUmikro.elfak.ni.ac.rs/wp-content/uploads/Projektovanje-materijala-Praktikum.pdfKod ovog otpornika se otpornost smanjuje usled povećanja temperature

Elektronski fakultet, Univerzitet u Nišu

Projektovanje materijala za elektroniku

___________________________________________________________________________ If t < 1000 Then

Print At 1,1, "C= ", Dec t, "nF"

EndIf

A = 0

EndIf

EndIf

GoTo Main

Kao što se vidi iz priloženog koda, naredbom On_Hardware_Interrupt Interapt

kompajler zna u koju labelu treba da ode kada se desi interrupt – prekid. Radi lakšeg

razumevanja ove naredbe, nakon On_Hardware_Interrupt može da stoji GoTo, čime se ne

menja sintaksa same naredbe. U delu naredbe gde se izvršava prekid ispituje se da li je došlo

do premašenja (Overflow) registra u kome se smešta vrednost tajmera (0-65535), nakon čega

se vrednost registra resetuje, a vrednost promenljive prom uveća za 1 pri svakom premašenju.

Kada se završi merenje, vrednost promenljive prom se množi sa 65535 kako bi se dobila

konačna vrednost do koje je brojao tajmer, a kasnije i dobilo vreme u sekundama za dalji

proračun kapacitivnosti.

Tajmer se pokreće pritiskom na taster i broji sve dok napon na kondenzatoru ne dostigne

vrednost od 63.2% napona na koji je priključen. Drugim rečima, ukoliko je napon na koji je

priključen kondenzator 5V, tajmer se isključuje kada je napon na njegovim krajevima dostigao

vrednost od 3.16V. Kako A/D konvertor radi isključivo sa naponskim nivoima (0-1023),

potrebno je da se dostigne 647 naponski nivo u datom opsegu, s obzirom da je referentni napon

u odnosu na koji se referencira od 0-5V podeljen na 1024 naponska nivoa.

U izveštaju je potrebno da se napiše deo koda koji bi na osnovu dobijene vrednosti za

kapacitivnost merenog kondenzatora na LCD displeju nakon prikaza kapacitivnosti prikazao

vrednost vremenske konstante τ i vremena punjenja t.