 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
kose19 Član


Pridružen-a: Sre 02 Mar 2005 19:37 Prispevkov: 1228 Aktiv.: 5.18 Kraj: okolica Kobarida
|
Objavljeno: Pet Jan 30, 2015 9:03 pm Naslov sporočila: Kako prožiti interupt ob padcu napetosti? |
|
|
Situacija je sledeča. Imam mikrokontroler, na katerem teče ura in šteje pulzev na enem od prekinitvenih vhodov. V primeru, da pride do izpada napajanja, bi rad shranil v eeprom vrednosti ure in stanje števca. Programsko imam že rešeno, muči me kako prožiti prekinitev, da bo program shranil 5 spremenljivk.
Poskusil sem z diodo ločit napajanje mikrokontrolerja in zraven dodal večji elektrolit. Teoretično bi se napetost Vcc pred diodo sesedla hitreje kot za diodo, saj bi omenjen elektrolit zdržal še toliko, da bi se izvedla prekinitev.
Pa to v praksi ne gre. Imam pa na voljo še +24V, katere reguliram na +5V.
Baterija ne pride v poštev, ker bi se ob daljšem izklopu izpraznila.
Za uro imam kasneje namen, ko bo več "enot", dodati RTC modul na i2c vodilu.
Google ni dal nobenih koristnih zadetkov (ali nisem pravilno iskal). Mogoče je kdo od vas že imel tak primer in ga tudi uspešno rešil.
_________________ - Absens, carens -
- Tisti, ki ga ni, bo prikrajšan - |
|
Nazaj na vrh |
|
 |
Peter123 Član


Pridružen-a: Tor 13 Jan 2009 15:34 Prispevkov: 1442 Aktiv.: 7.21 Kraj: Lj.
|
Objavljeno: Pet Jan 30, 2015 9:08 pm Naslov sporočila: |
|
|
Skoraj prav.
Torej opazuješ 24V, ko ta napetost pade npr. pod 20 ali 18V sprožiš interupt ali pa relativno pogosto bereš nek digitalni vhod, ki ima vrednost napetosti.
Da ti ostane dovolj časa da zapišeš pa uporabiš zadosti velik elektrolit na 5V.
Ko vse zapišeš si prižgi kako led da boš vedel da si sigurno vse "pospravil", pa daš procesor v kak sleep mode.
No to je eden od načinov, jih je pa vsekakor več.
Eden je tudi da šteješ oziroma preverjaš prehode skozi nulo ampak se mi zdi da je izvedba malenkost dražja (optokopler).
Mogoče še kdo napiše kako.
|
|
Nazaj na vrh |
|
 |
protoncek Član

Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 42.77 Kraj: Mengeš
|
Objavljeno: Pet Jan 30, 2015 9:47 pm Naslov sporočila: |
|
|
ena izmed možnosti je mogoče tudi "goldcap" - kakšne 0.1F bo dovolj, da procesor naredi svoje.
Če imaš kakšne večje porabnike (osvetlitev LCD itd) lahko te napajaš posebej, ločeno od napajanja procesorja, da ti ne praznijo elektrolita.
|
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 16.00
|
Objavljeno: Pet Jan 30, 2015 9:57 pm Naslov sporočila: |
|
|
Ko boš zanesljivo zaznal izpad napetosti, najprej vse porte nastavi kot vhode oziroma spravi vse izhode v takšno stanje, v katerem preostalo vezje porablja najmanj energije (izklopljeni releji, osvetlitev LCD-ja, ...).
Običajno pri tem poraba tako upade, da lahko potem v miru postoriš še marsikaj, četudi imaš le nekaj 100uF elektrolit.
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
siljo Član



Pridružen-a: Tor 28 Okt 2003 8:08 Prispevkov: 1035 Aktiv.: 4.37 Kraj: Ribn'ca
|
Objavljeno: Pet Jan 30, 2015 9:58 pm Naslov sporočila: Re: Kako prožiti interupt ob padcu napetosti? |
|
|
kose19 je napisal/a: |
...t. Teoretično bi se napetost Vcc pred diodo sesedla hitreje kot za diodo, saj bi omenjen elektrolit zdržal še toliko, da bi se izvedla prekinitev.
Pa to v praksi ne gre. ....... |
mogoče to pomeni, da mogoče ne delaš (ali ne dela) tako kot je treba! Mislim na SW strani! Mogoče moraš tukaj iskati rešitev! Mimogrede: kakšen MCu sistem pa uporabljaš?
_________________ Lep pozdrav! |
|
Nazaj na vrh |
|
 |
kastor Član

Pridružen-a: Ned 24 Apr 2005 20:10 Prispevkov: 153 Aktiv.: 0.65 Kraj: Maribor
|
Objavljeno: Pet Jan 30, 2015 10:42 pm Naslov sporočila: |
|
|
Stanje napajanja je dobro preverjati čim bliže izvoru. Prehod skozi nulo, kot je bilo že omenjeno, je verjetno eden od najzaneslivejših metod. Mogoče bi lahko uporabil komparator in preverjal napetost 24V pred regulatorjem proti napetosti VCC na mikrokontrolerju (in paziti, da ti brown-out reset ali kaj podobnega prej ne resetira čipa). Kakšen 5V regulator si uporabil (linearni ali stikalni)?
Lp Marko
|
|
Nazaj na vrh |
|
 |
kastor Član

Pridružen-a: Ned 24 Apr 2005 20:10 Prispevkov: 153 Aktiv.: 0.65 Kraj: Maribor
|
Objavljeno: Pet Jan 30, 2015 11:06 pm Naslov sporočila: |
|
|
Ali pa vežeš med 24V in 5V diodo (v napajalno linijo), pred diodo narediš napetostni delilnik in sredinski odcep delilnika pelješ na mikrokontroler. Med normalnim obratovanjem bo vhod na logični ''1'', pri izpadu napajanja pa bo dioda zaporno polarizirana in posledično vhod mikrokontrolerja vezan na GND - logična ''0''. Na vhodu mikrokontrolerja vežeš še en mali kondenzator, da bo filtriral kratkotrajne motnje, izpade omrežja.
Lp Marko
|
|
Nazaj na vrh |
|
 |
kose19 Član


Pridružen-a: Sre 02 Mar 2005 19:37 Prispevkov: 1228 Aktiv.: 5.18 Kraj: okolica Kobarida
|
Objavljeno: Pet Jan 30, 2015 11:32 pm Naslov sporočila: |
|
|
Imam atmega8. Najprej sem samo bral en vhod na katerem je bil stalen +. Je delovalo, vendar ne zmeraj. Očitno je ves program (ura, štetje pulzev, izpis na display in nekaj if stavkov s katerimi nastavljam uro) predolg, da bi zanesljivo shranjeval.
Ko sem dodal še diodo in kondenzator še toliko slabše, ne shranjuje. Očitno je prevelik padec napetosti na diodi.
To s komparatorjem se mi dopade. Nekaj v tem smislu kot v priponki. Če bi na - vhod komparatorja (preko delilnika) pripeljal 24V, na + pa referenco. V datashetu za lm385 nisem zasledil max. napetosti. Ali je 24V preveč? 5V linijo bi rad čimmanj obremenjeval. Regulator je linearni 7805.
Bom pa tudi poskusil prilagodit SW kot je predlagal @igo, da bo v INT rutini takoj shranjeval.
Opis: |
|
Velikost datoteke: |
58.96 KB |
Pogledana: |
0 krat |

|
_________________ - Absens, carens -
- Tisti, ki ga ni, bo prikrajšan - |
|
Nazaj na vrh |
|
 |
kastor Član

Pridružen-a: Ned 24 Apr 2005 20:10 Prispevkov: 153 Aktiv.: 0.65 Kraj: Maribor
|
Objavljeno: Pet Jan 30, 2015 11:48 pm Naslov sporočila: |
|
|
Uporabi komparator v mikrokontrolerju.
Lp Marko
|
|
Nazaj na vrh |
|
 |
igo Član

Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3641 Aktiv.: 16.00
|
Objavljeno: Sob Jan 31, 2015 1:19 am Naslov sporočila: |
|
|
Ne uporabi navadnega 19*R + 5*R uporovnega delilnika.
MCU bo zaznal izpad šele ko bo 24V napetost upadla pod 11,52V (2,4V na vhodu MCU).
Ena možnost je 21,2*R + 2,8*R uporovni delilnik.
Druga možnost je delilnik 20V zener dioda + 4V/4mA=1k upor .
Obakrat bo na vhodu MCU napetost upadla pod 2,4V pri več kot 20V.
Samo potem poskrbi, da bo tistih 24V dovolj stabilnih.
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
 |
Profesor Einstein Član


Pridružen-a: Ned 24 Sep 2006 0:13 Prispevkov: 1437 Aktiv.: 6.30 Kraj: Rogaška Sl.
|
Objavljeno: Sob Jan 31, 2015 11:16 am Naslov sporočila: |
|
|
Mogoče bi bilo (za generiranje opozorilnega signala) uporabno namensko vezje s priponke.
Za širši temperaturni razpon (-40°, 85°) je primernejši MC33064.
Lp.
Opis: |
|
 Download |
Ime datoteke: |
MC34064 - Undervoltage Sensing Circuit.pdf |
Velikost datoteke: |
161.65 KB |
Downloadano: |
12 krat |
_________________ --
"Če bi volitve kaj pomagale, bi jih prepovedali." (Mark Twain) |
|
Nazaj na vrh |
|
 |
kose19 Član


Pridružen-a: Sre 02 Mar 2005 19:37 Prispevkov: 1228 Aktiv.: 5.18 Kraj: okolica Kobarida
|
Objavljeno: Sob Jan 31, 2015 1:07 pm Naslov sporočila: |
|
|
Odločil sem se za primer, ki ga je dal @igo
igo je napisal/a: |
Ko boš zanesljivo zaznal izpad napetosti, najprej vse porte nastavi kot vhode |
in
igo je napisal/a: |
Ena možnost je 21,2*R + 2,8*R uporovni delilnik |
Prvi je enostavno sofwerski in ni problemov pri spremembi, drugi pa zahteva samo dva upora, ki sem ju skril pod vezje in povezal na prosti INT vhod.
Sem pa še dodal števec v prekinitveni rutini, da bom lahko na daljši rok videl ali je napetost +24V dovolj stabilna. Z izpisom na displeju.
_________________ - Absens, carens -
- Tisti, ki ga ni, bo prikrajšan - |
|
Nazaj na vrh |
|
 |
|
|
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: 496 dni
Powered by phpBB © 2001, 2005 phpBB Group
|