www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Določitev stanja delovanja

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Čet Feb 03, 2005 6:44 pm    Naslov sporočila:  Določitev stanja delovanja Odgovori s citatom

Naletel se na en problemček, ki ga mozgam nekaj časa.
Z PICem bi rad naredil detekcijo omrežne napetosti. Zato sem na omrežno napetost preko usmerniške diode in upora priključil en optosklopnik.

Zdaj iz optosklopnika dobim približno pravokotno napetost frekvence 50Hz. Razmerje 0 in 1 ni 50:50 ampak 45:55. Kako sedaj mikrokontroler prepričati, da je takšna napetost na vhodu eno stanje, če se pa napetost ne spreminja, pa drugo stanje.

Imam sicer že eno zamisel, pa nisem prepričan, da je najboljša.
Ker je frekvenca omrežne napetosti relativno stabilna bi šlo nekako takole:

najprej bere vrednost v zanki toliko časa, da je vrednost =0
potem počaka 22mS *
ponovno prebere vrednost, ki mora prav tako biti 0, v nasprotnem primeru predpostavi, da je bila napaka.

* teh 22mS sem določil takole: en nihaj pri 50Hz traja 20mS. 2ms sem dodal za varnostni faktor, glede na obliko napetosti, ki jo dobim iz optosklopnika - hitrost padanja napetosti in tolerance napetosti, ki jih mikrokontroler vzame za 0 -max0,8V, ter 1-min2V. 2mS je dovolj da bi morala biti napetost v naslednjemnihaju sigurno manj kot 0,8V.

PIC je 12F675 z kalibriranim internim RC oscilatorjem.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Pon Feb 14, 2005 8:38 pm    Naslov sporočila: icon_sad  Odgovori s citatom

No da nadaljujem. Napravica, ki jo izdelujem, je namenjena krmiljenju ojačevalca, ki sem ga pokazal na tem forumu.

Program sem izdelal, dodal še vse ostale funkcije in seveda mi zadeva v enem koraku seveda ne deluje. V simulatorju v MPLAB-u seveda program deluje brezhibno.
Program gledam že približno en teden brez kakšnega vidnega uspeha.

In kaj vezje dela:
1. Preko optičnega sklopnika preverja vklop stikala (tu procesor ob vklopljenemu stikalu dobi vsako polperiodo enkrat nizko stanje dolgo cca 6,5ms)
2. Če je stikalo vklopljeno potem preko releja prizge Katodo
3. počaka 30s med katerimi utripa rumena led dioda
4. preko releja prižge še anodo
5. Ko je anoda prižgana preverja preko dodatnega vezja še prisotnost glasbe.
V kolikor glasbe zmanjka se anoda in katoda čez ~1h ugasneta.
6. Za nadaljevanje bi bilo potrebno vklopno stikalo ugasniti in prižgati nazaj, druga možnost bi bila ponovna prisotnost muzike.

Progam deluje brezhibno, le pri zadnjem koraku se zadeva zakomplicira, ker procesor na koncu namesto, da bi pustill anodo in katodo ugasnjeno skoči na korak prižiganja anode in katode. Tako se cikel prižiganja in ugašanja ponavlja v nedogled. Evil or Very Mad

Sem tudi že mislil, da se ob izklopih relejev kaj čudnega dogaja na vezju, vendar mi osciloskop na napajalni napetosti procesorja ni pokazal nobene motnje.



zakasnitev_3.txt
 Opis:
ASM datoteka progama

Download
 Ime datoteke:  zakasnitev_3.txt
 Velikost datoteke:  7.65 KB
 Downloadano:  12 krat


zakasnilo_vezje.pdf
 Opis:
Shema vezja

Download
 Ime datoteke:  zakasnilo_vezje.pdf
 Velikost datoteke:  69.44 KB
 Downloadano:  13 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Feb 15, 2005 1:35 pm    Naslov sporočila:   Odgovori s citatom

Stvar si do dobra zavozlal Confused Asemblerska koda z množico "goto" skokov je zelo nepregledna. Vse skupaj bi bilo preglednejše, če bi rutine kreiral v podprograme ter le te klical s call. Koliko razumem pravzaprav čitaš dva vhoda. V koliko se vhodih ne dogaja nič je vezje izključeno. Če je en vhod (stikalo) aktivno se vključi rele. 30sec po tem se vključi še drugi rele. Med potekom časa utripa ledica. Če na vhodu dva ni prisotnost signala se po 1h se morata oba releja izključiti.
Sam se bi lotil progama bistevno drugače:
Uporabil bi TMR0 prekinitev. Glede na znano dolžino te prekinitve bi imel tudi časovno bazo . V prekinitvi bi tudi čital vhode. Zunaj prekinitve pa bi uprabljal z tistima dvema relejema.

Če ne boš zadeve prej rešil, bom kodo pregledal čez vikend, ter skušal najti napako. Če pa bom imel čas ti spišem programček.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14673
Aktiv.: 61.95
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Feb 15, 2005 2:12 pm    Naslov sporočila:   Odgovori s citatom

Še vprašanje glede prvega dela sporočila glede detekcije mrežne napetosti. Kaj pravzaprav želiš - le detekcijo prisotnosti napetosti ali detekcijo prehoda skozi nič?
Če se vprašanje nanaša na načrt, ki je priložen potem sklepam, da ti je zanimiva le indikacija prisotnosti napetosti. Poglej primer polnovalnega "mrežnega napajalnika"
Na izhod daš optokopler, kot v tvojem primeru.



91008b.pdf
 Opis:

Download
 Ime datoteke:  91008b.pdf
 Velikost datoteke:  56.49 KB
 Downloadano:  14 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Tor Feb 15, 2005 6:00 pm    Naslov sporočila:   Odgovori s citatom

Glede vezja. Malce sem se prenaglil z izdelavo, in same detekcije nisem preveril pred izgradnjo vezja. Sedaj imam vezje pač takšno, kot sem ga narisal. Sem si mislil, da lahko problem rešim z programom.

Detekcijo muzike sem prej sestavil na protoboardu, in jo tudi preizkusil, tako da sigurno deluje.

Izdelal sem tudi več programov, za testiranje posameznih funkcij in ki delujejo po pričakovanjih. Zapletlo se mi je le ko sem jih sestavil skupaj Rolling Eyes

V skrajni sili imam dve rešitvi. Prva je da v vejo z optokoplerjem vežem še eno diodo. S tem bom dobil ob vklopu samo ničlo, kar bo precej poenostavilo program. Druga rešitev pa je da detekcijo muzike popolnoma ignoriram.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Highlag
Član
Član



Pridružen-a: Pet 23 Jan 2004 20:42
Prispevkov: 4034
Aktiv.: 17.03
Kraj: Črnuče

PrispevekObjavljeno: Pet Feb 25, 2005 10:40 pm    Naslov sporočila:   Odgovori s citatom

Po premisleku sem se le odločil za spremembo dela vezja, ki sporoča procesorju če je prisotna napajalna napetost.

Shemo končne različice pripenjam, če bo mogoče še komu koristila.

Mi pa delovanje moje originalne različice ni dalo miru, ker mi ni bilo jasno zakaj kljub temu, da jaz merim z osiloskopom na vhodu optokoperja ves čas napetost, na izhodu pa dobim lepo razsekano, kot če bi LED dioda znotraj optokoplerja utripala.

Zato sem vezje sestavil v simulatorju multisim, in seveda brez težav ugotovil kaj je bilo narobe. Narobe je bilo to, da je tok čez LED diodo med negativno polperiodo, ko je bila napetost odrezana zaradi polvalnega usmernika preveč upadel. Ni padel na 0 ampak recimo na 10mA, kar je bilo premalo, da bi LED dioda dala dovolj velik signal za vklop izhodnega tranzistorja.

Novo vezje je v bistvu polnovalni usmernik, ki omogoča manjše nihanje toka skozi LED

Program sem zato lahko precej oklestil. In kot kažejo zadnji testi celo deluje brez napake. Wink



shema.gif
 Opis:
Preprost mrežni usmernik za 20-30mA

Download
 Ime datoteke:  shema.gif
 Velikost datoteke:  2.69 KB
 Downloadano:  22 krat


_________________
If at first you don't succeed, destroy all evidence that you tried.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group