|
Regulator
osvetljenja
Namena
Uredjaj za regulaciju osvetljenja sijalica. Ovim uredjajem moguće je
regulisati intenzitet sijanja sijalice. To je primer upotrebe
mikrokontrolera, za prostu funkciju kao što je regulacija osvetljenja.
Osnovna namena članka je da se dobije ideja kako se PIC kontroler još može
iskoristiti. Zato ni softver ni hardver nisu optimizovani. Istu stvar je
moguće ostvariti jednostavnije (triak, diak, par otpora i kondenzatora).
Postoji niz šema koje se bave ovom tematikom. Ali niska cena PIC
mikrokontrolera daje konkurentnost ovakvoj regulaciji. Radi se o uredjaju
koji se napaja iz mreže bez galvanskog razdvajanja. Zahvaljujući tome je
moguće direktno uključivanje triaka, bez optotriaka i sličnih stvari
koje obično karakterišu vezu izmedju mikrokontrolera i triaka.
Zašto se opredeliti za realizaciju mikrokontrolerom? Ovako realizovan
uredjaj prati prolazak kroz nulu mrežnog napajanja. Zahvajujući toj
informaciji sprečava se uključivanje sijalica pri visokom naponu u mreži
(dok je sijalično vlakno hladno). Ovo je bitno jer hladno vlakno ima višestruko
manji otpor nego zagrejano. Tako da u slučaju uključivanja sijalice kada
je napon u mreži visok dolazi do prolaska velike struje i čestog
pregorevanja sijalice. Regulacija mikrokontrolerom daje prigušeno
osvetljenje bez treperenja, mnogo imunije na impulsne smetnje u mreži.
Takodje i regulaciju osvetljenja od potpunog zatamljenja (bez uključivanja
triaka) do maksimalnog sjaja (paljenje na samom početku periode).
Na ovaj način mogu se uključivati i drugi uredjaji kao: grejalice, peći
i sl. Malom modifikacijom šeme (dodavanjem termoelementa) može se
regulisati snaga koja se koristi za grejanje prostorije u zavisnosti od
temperature. Takodje, tu su i sve druge mogućnosti koje pružaju uredjaji
sa mikrokontrolerima: vremenski interval uključivanja i isključivanja,
razna logika, ...
Način rada
Da se vratimo na konkretan primer. Radjen je po uzoru na već postojeće
senzorske regulatore. Kod njih se uključivanje i isključivanje sijalice
vrši naizmeničnim kratkim dodirivanjem senzora. A prilikom dužeg držanja
senzora stisnutim postepeno se menja jačina svetla.
Pri izradi se koristi PIC 16F84-4MHz mada je moguće koristiti i neki
drugi kontroler. Verovatno bi bilo još bolje a i jeftinije da je korišćen
neki od PIC-a u 8 pinskom kućištu.
Mrežno napajanje u Jugoslaviji je 220V-50Hz-a. Ako nije baš tačno tako
kolo će opet raditi dobro. Zbog frekvencije od 50 Hz-a napon ima vrednost
"0" sto puta u sekundi. Odnosno svakih 10ms dodje do prolaska
kroz nulu.
Da bi kontrolisali jačinu kojom sijalica sija potrebno je uključivati
triak sa odredjenim vremenskim kašnjenjem u odnosu na prolazak kroz nulu.
Ukoliko triak uključujemo neposredno nakon prolaska kroz nulu sijalica
sija maksimalno jako a efektivna vrednost napona na njoj je 220V. Struja u
tom slučaju teče celu poluperiodu. Ukoliko triak kasnije uključujemo,
recimo pred kraj intervala, kroz sijalicu struja teče tek samo završni
deo intervala (od trenutka paljenja triaka do promene poluperiode).
Rezultat je prigušeno svetlo. Ovo praktično znači da regulacijom kašnjenja
signala za uključivanje triaka možemo promeniti jačinu svetla.
Proračun parametara
Poželjno je da promenljiva koja odredjuje to kašnjenje bude veličine
jednog bajta. Takt procesora je 4MHz-a. On se interno deli sa 4. Koliki
onda treba da bude koeficjent preskaliranja? 64. Za 64 se dobija da je
sijalica maksimalno utišana, gde je nmax=(10ms/64ms)@157.
U slucaju preskaliranje sa 32 dobija se nmax@312,
što je veće od 1 bajta. Ako bi preskaliranje bilo 128, onda je nmax@79.
Tako je odabrana vrednost 64 jer je opseg promene sjaja najveći (0-157) a
u okviru 1 bajta.
Minimalna vrednost kašnjenja je odredjena time da vrednost napona na
triaku u trenutku uključenja bude dovoljno velika da bi se obezbedilo
sigurno uključenje triaka. Za ovaj slučaj je uzet minimalni napon za
sigurno uključivanje od 20V.
nmax=((1/(2*pi*50))*arcsin(20V/310V))/64ms@4
Maksimalni sjaj sijalice će se dobiti kada
je vreme kašnjnja 4*64ms
a minimalni sjaj je za kašnjenje od 157*64ms.
Software & hardware
Program se sastoji iz četiri dela.
1. Inicijalizacija
2. Osnovni deo programa u kome se prati napon mrežnog napajanja. U istom
delu programa se meri odredjeno kašnjenje nakon koga se uključuje triak.
3. Uključivanje triaka
4. Kontrola tastera i promena parametera. U ovom delu se radi
debaunsiranje tastera. Sve promene do kojih dolazi stiskanjem tastera
(uključivanje, isključivanje, promena sjaja) obradjuju se u ovom delu
programa.
Inicijalizacija (1) podrazumeva postavljanje odgovarajućeg preskaliranja
(64), postavljanje promenljivih koje odredjuju maksimalno i minimalno kašnjenje,
definisanje ulaznih i izlaznih pinova. Ručno se još prilikom
programiranja isključuje WDT, uključuje XT oscilator i uključuje Power
up timer (PWRT).
Uključivanje triaka (3) se vrši u podprogramu Uključi. Bitan je pin
RB0. Inicijalizacijom je RB0 pin definisan kao ulazni pin. U data latch
ovoga pina se upisuje vrednost 1. Ova vrednost se neće nalaziti i na
izlazu pina RB0 jer je on definisan kao ulazni. Sada se samo 8ms pin RB0
definiše kao izlazni pin i to vreme je dovoljno za paljenje triaka. Nakon
toga pin RB0 ponovo se postavlja kao ulazni. Da bi se triak mogao uključiti
u obe poluperiode potrebno je da radi u 4 kvadranta npr. (TIC206M Texas
Instruments, Motorolin MAC15A, ...). U protivnom slučaju uključivaće se
samo jedna poluperioda. Glavni "štos" u celom ovom projektu bi
bilo upravo ovo uključivanje. Ono se može primeniti i za druge potrebe
gde se uz pomoć nekoliko jeftinih delova dobija inteligentni prekidač,
razni svetlosni efekti, ...
Glavni deo programa (2) u kome se prati prolazak kroz nulu ima dva dela od
kojih svaki prati po jednu poluperiodu. Jedan pozitivnu a drugi negativnu.
Za ovu funkciju je dovljan 1 pin. Pinovi na portu A imaju ugradjenje diode
koje štite od prevelikog ili preniskog napona. Upravo se one koriste.
Preko velike otpornosti dovodi se napon mreže na pin porta A. Ukoliko je
taj napon van opsega napona napajanja mikrokontrolera doći će do
provodjenja zaštitnih dioda. Tokom jedne poluperiode puni se
kapacitivnosti na PN spoju. Ona se kasnije sporo prazni za male vrednosti
mrežnog napona. Tako da kontroler ima informaciju da još uvek traje
pozitivna perioda a u stvari je počela negativna i obrnuto. Pa umesto
maksimalnog slabljenja sjaja sijalice dobija se pun sjaj. Pored toga u
idealnom slučaju za kontrolar je sve ispod 2,5V logička 0, a i +2,0V je
već u pozitivnoj poluperiodi. Dodatnim kompenzatornim otpornicima prema
masi i napajanju se rešava ovaj problem. Naravno, isti problem je mogao
biti rešen i softverski. Softversko rešenje je dato u 4 linije koje se
mogu obrisati ukoliko se koriste kompenzatorni otpornici (ovaj deo
programa je obeležen). Ovakvo softversko rešenje je dobro kada se
koristi kvarcni oscilator. U konkretnom primeru to je bolje rešenje ali
ako bi se radilo sa nekim manjim kontrolerom i RC oscilatorom tu bi se već
softversko rešenje malo zakomplikovalo. Vrednosti kompenzatornih
otpornika od 4M7 su eksperimentalno dobijene. Postoji još jedna dioda
vezana za port RB1. Ova dioda se impulsno širinski moduliše. Za razliku
od paljenja triaka koje traje samo 8ms, kada se uključi dioda ona ostaje
upaljena sve do narednog ciklusa. Ona je predvidjena tu samo radi
testiranja uredjaja.
Najkomplikovaniji deo je baš podprogram za kontrolu tastera (3).
Promenljive koje se koriste su:
Smer=1 (zatamljivanje ili pun osvetljaj)
Smer=0 (osvetljavanje, potpuno isključenje)
Vrednost je promenljiva koja pokazuje koliko je prigušenje svetla.
Minimalno prigušenje je predstavljeno sa 4 a maksimalno sa 200. (ne 157
već 200 da bi bili sigurni da se triak neće paliti)
Stisak je promenljiva koja meri vreme koliko je taster stisnut. Ukoliko je
dovoljno dugo stisnut, osvetljenje se postepeno menja. A kratkim
stiskanjima tastera naizmenično se menja minimalno i maksimalno
osvetljenje.
Speedcontrol samo usporava to postepeno menjanje osvetljenja.
Ostale promenljive pamte stanja tastera izmedju dva pozivanja podprograma
(svakih 10ms) i debaunsiraju tastaturu.
Dalja poboljšanja
- softversko rešenje maksimalnog smanjenja sjaja u slučaju rada sa 8
pinskim kontrolerom i lošijim oscilatorom - RC (jeftinije rešenje)
- uključivanje triaka koji ne rade u sva četiri kvadranta
- regulisanje rada kola bez dovlačenja nule. Odnosno, realizacija
napajanja i u slučaju vezivanja na red sa potrošačem (sijalicom)
- dodavanje varistora
- dodavanje filtra
- merenje struje i zaštita od prekoračenja
- bolje kolo za reset
Nešto za kraj
Na kraju bi dao upozorenje onima koji pokušaju da prave ovaj uredjaj. Ceo
uredjaj radi pod visokim naponom. Potrebne su mere predostrožnosti i
odgovarajuća kutija za bezbedan rad. Preporuka je da se prvo isproba cela
šema sa malim naizmeničnim naponom (oko 25V pinove RA1 i RA2 vezati
otporima od 100k umesto 1M5). Lepo se mogu videti i oblici napona na
osciloskopu. Proveriti promenu sjaja na diodi, i tek onda vezati kolo za
upotrebu sa mrežnim naponom.
Download
dim.zip koji uključuje
sledeće fajlove:
dim.sch -protel sch
dim.asm -asmeblerski listing
dimprom.asm -promenljive za dim.asm
dim.hex -hex file za programiranje 16F84
Literatura:
1. Microchip, PIC 16F8X data sheet, 1996
2. Microchip, AN521 - "Interfacing to AC Power Lines"
3. Motorola, Motorola thyristor device data - MAC15A series, rev 1
Za sve informacije i pomoć obratite se autoru:
tel: (013) 812 932 (18-22h)
| Pročitajte
više o ovoj temi |
|
|
|
|