Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Detekcja zaniku zasilania

11 Dec 2007 23:42 5855 23
e-mierniki
  • #1
    User removed account
    User removed account  
  • e-mierniki
  • #2
    teedd
    Level 18  
    Witaj.
    Podstawowa sprawa w tym wypadku to utrzymać zasilanie procesora i wykrycie braku zasilania. To jest oczywiste.
    Można to zrobić np. tak - oczywiście pod warunkiem, że zasilacz jest podłączony do sieci ~230V - czyli do gniazdka w ścianie.
    Transoptor podłączasz z jednej strony do ~230V (zakładam, że wiesz jak) czy też po stronie wtórnej trafo zasilającego - jeśli taki jest. Wyjście transoptora do wejścia przerwania - zakładam, że też wiesz jak. No i jeśli co około 20 (lub 10) ms nie dostaniesz przerwania (daj kilka okresów zapasu) no to na bank zasilanie padło. I procek robi to, co mu każesz.
    To tylko jedno możliwe rozwiązanie Twojego problemu - ale dla ścisłości powinieneś narysować CAŁY schemat zasilania - bo może zasilany jesteś z sieci prądu stałego? I cały mój wywód jest do niczego :(
    Pozdrowienia - teedd
  • #3
    User removed account
    User removed account  
  • e-mierniki
  • #4
    Dr_DEAD
    Level 28  
    Ten układ nie zadziała. Dlaczego? Nie zamieściłeś reszty układu ale podam Ci przykład. Wyobraź sobie że mamy zanik napięcia, do uC podłączony jest wyświetlacz LCD. LCD podłączony jest do VCC, uC do VCC UP. I teraz, napięcie na LCD wynosi 4V a na uC 5V - czyli LCD ma zasilanie na poziomie 4V a sterowany jest liniami I/O procesora o napięciu 5V i robi sie zwarcie bo LCD posiada diody ESD, z porcesora poprzez I/O ciągnięte jest więcej prądu niż normalnie. Czyli npięcie na uC będzie conajwyżej większe od VCC o spadek napięcia na diodach ESD czyli o 0.3V. To był tylko przykład ale możliwe że u Ciebie jest podobny problem, część układu zasilana z VCC przy spadającym napięciu zasila sie z I/O procesora powodując rozładowanie C15.

    Dodano po 6 [minuty]:

    Układ zaproponowany przez teedd jest bardzo dobry i umożliwia bardzo szybką detekcję zaniku zasilania. Innym rozwiązaniem jest podłączenie przerwania tak aby wykrywało (poprzez dzielnika rezystorowy) spadek napięcia przed stabilizatorem. Przykładowo jeżeli przed stabilizatorem jest 12V a za stabilizatorem 5V to dobierając dzielnik tak aby reagował przy 10V będziemy mieli sporo czasu zanim spadek napięcia ujawni się na napięciu 5V.
  • #5
    atom1477
    Level 43  
    Zewrzyj C17 rezystorem 1k, aby napięcie na nim spadało szybciej niż na C15.
    C16 też zewrzyj takim rezystorem.



    Ewentualnie wstaw coś takiego:
    Zewrzyj C17 rezystorem 1k, aby napięcie na nim spadało szybciej niż na C15.
    C16 też zewrzyj takim rezystorem.



    Ewentualnie wstaw coś takiego:

    Detekcja zaniku zasilania

    Zasilanie procesowa idzie przez diodę 1N4007. I tam są duże elektrolity.
    A przez 1N4148 zasilanie do detektora. Tam są małe elektrolity. Jak zaniknie zasilanie to Kondensator 10uF bardzo szybko sie rozładuje przez rezystor 1k. Wtedy przez drugą diodę 1N4148 zapięcie na wejściu mikrokontrolera zostanie zwarte do masy. Ta druga dioda 1N4148 jest niezbędna, żeby nie uszkodzić procesora jak jest zasilanie. Bo napięcie na kondensatorze 10uF w czasie gdy jest zasilanie może być bardzo duże.


    Zasilanie procesowa idzie przez diodę 1N4007. I tam są duże elektrolity.
    A przez 1N4148 zasilanie do detektora. Tam są małe elektrolity. Jak zaniknie zasilanie to Kondensator 10uF bardzo szybko sie rozładuje przez rezystor 1k. Wtedy przez drugą diodę 1N4148 zapięcie na wejściu mikrokontrolera zostanie zwarte do masy. Ta druga dioda 1N4148 jest niezbędna, żeby nie uszkodzić procesora jak jest zasilanie. Bo napięcie na kondensatorze 10uF w czasie gdy jest zasilanie może być bardzo duże.
  • #6
    PiotrPitucha
    Level 33  
    Cześć
    Robisz błąd w sztuce, badasz spadek napięcia z którego zasilasz układ, jeśli chcesz to zrobić elegancko dodaj drugi mostek z małym kondensatorem obciążonym rezystorem, całość dobierz tak by np. po 5 okresach napiecie spadło, oczywiście masy z obu mostków łączysz i na zasilamiu układu dajesz na tyle duży kondensator by program się zdążył wykonać nim napięcie spadnie.
    Na układzie kontroli napięcia dałbym jakieś kształtowanie impulsu aby kryteria przełączenia były ostre.
    Piotr
  • #8
    User removed account
    User removed account  
  • #9
    atom1477
    Level 43  
    I dlatego proponuję dodać tylko 2 diody mimo że spowoduje to niewielkie zmniejszenie napiecia zasilania. Oczywiście napięcie za stabilizatorem się nie zmieni.
    Skoro dotykanie tego pinu powoduje zapis, to znaczy że na płytce są jakieś zimne luty albo układ zbiera zakłucenia.
  • #10
    User removed account
    User removed account  
  • #11
    jacobsek
    Level 22  
    Witam.
    Oby jednak z tymi zakłóceniami to nie była racja, jeśli podłączając miernik z kablami ściągasz jakiś brum sieciowy to masz złudne wrażenie że układ zapisuje do pamięci po zaniku. Pracując na przerwaniu może to doprowadzić do zajechania eepromu w procku po pewnym czasie..
  • #12
    atom1477
    Level 43  
    jacobsek wrote:
    ... ściągasz jakiś brum sieciowy to masz złudne wrażenie że układ zapisuje do pamięci po zaniku.


    To nie jest złudne wrażenie. Gdyby było złudne to by z nim nie bylo problemu. A pewnie nie jest złudne i dopiero wtedy jest problen z zajechaniem epromu.

    Tak na moje oko to ten rezystor 10k (R20) włączony szeregowo z pinem w procesorze to jest zbędny.
  • #13
    User removed account
    User removed account  
  • #15
    PiotrPitucha
    Level 33  
    Cześć
    A dlaczego uważasz że mostek to przesada? mostek ma 4 końcówki a 3 diody które dodałeś 6 końcówek :).
    Co do układu to poprawny, aczkolwiek połączenie 10K, 1N4148 i 1K wymusi na wyjściu tak na oko trochę ponad 1V , w pewnych technolgiach może to być już logiczną jedynką
    Piotr
  • #16
    Dr_DEAD
    Level 28  
    djFoBoS wrote:

    Wiem że można było wykorzystać Drown-Out Detector,
    dla atmega16:3,6V - 4,6V
    dla atmega16L(tak jak wyżej, lub...): 2,5 - 3,6V

    Zasilanie w moim układzie waha się między 4,5 a 5V, dlatego tez użyłem wersji"L", ale w najgorszym wypadku jeśli BOD zadziała przy napięciu 2,5V zapis do pamięci EEPROM się nie powiedzie....

    Jak rozumiem masz BOD'a włączonego albo używasz zewnętrznego układu RESET. Bo jeżeli nie to "Świeć Panie nad zawartością EEPROMU".
  • #18
    Ch.M.
    Level 27  
    M16 obsługuje przerwanie od BOD (to samo co RESET) więc da się coś wykombinować programowo, wystarczą tylko drobne modyfikacje (duża pojemność i odseparowanie pożeraczy prądu) właśnie po to, by dać czas na zapis. Ale osobiście zrobiłbym to na zewnętrznym przerwaniu np. od komparatora (najlepiej zewnętrznego).
  • #19
    User removed account
    User removed account  
  • #20
    atom1477
    Level 43  
    Dlatego mój układ jest do tego dobry. Napięcie za mostkiem prostowniczym zaczyna spadac bardzo szybko. A na procesorze zacznie spadać dopiero wtedy jak stabilizator już nie da razy wystabilizować.
    A że stabilizator ma własnego elektorlita na wejściu, na którym napięcie spada dużo wolniej niż na elektrolicie pomiarowym więc będzie jakiś czas na zapis.
    To napięcie 2V to napięcie na elektrolicie pomiarowym. W czasie gdy na nim napięcie spada poniżej 2V procesor nadal ma zasilanie 5V. I to bardzo długo. U mnie z kilka sekund.

    Detekcja zaniku zasilania
  • #21
    Ch.M.
    Level 27  
    Układ BOD jest konfigurowalny w tym procku tylko na 2,7 oraz 4,0V. Choćby w ATtiny masz chyba z 8 napięć :)
    Swoją drogą najlepszy sposób to zewnętrzny komparator wyzwalający przerwanie: możesz wtedy ustalać minimalny czas "niskiego stanu" zasilania w programie.
  • #22
    User removed account
    User removed account  
  • #23
    Ch.M.
    Level 27  
    Niom pdfy umiem czytać i robiłem to przed poszczeniem :)
    Jeśli sie przyjrzysz ostatniej danej, to zrozumiesz o co mi chodzi :)
    To, że rozrzut w BOT jest tak szeroki w pdfie, to nie znaczy, że taki własnie bywa. Nota jest ze sporym zapasem i na prawdę ciężko znaleźć coś, co by było na krańcu przedziału. Poczytaj choćby o Vref... zakres jest na prawdę spory, ale nie zdarzyło mi się znaleźć większego uchybu niż 10% tego, co opisano w pdfie :) Jest napisane 2,3C-2,9V ale zawsze trqafiał mi sie egzemplarz 2,5xV. Te dane z PDF odnoszą się do pełnego zakresu temperatur. OPrzy stałej nie będziesz miał takiej rozbierzności :) Chyba, że zamierzasz budować swoje produkty w setkach egzemplarzy i exportować na Syberię czy w kosmos :)

    Procki ATmela sa na prawde dobrze opisane i trzymają się wartości katalogowych :)
    Pozdrawiam
  • #24
    gziip
    Level 10  
    Układ w zarysie jest niezły ale po co używać wejścia INT jak można pobrać napięcie z głównego kondensatora filtrującego i przez dzielnik podać na wejście komparatora w procu. Dalej już prosto spada napięcie na głównym powiedzmy do 10V komparator generuje przerwanie i procek zdąży się przygotować do katastrofy zanim napięcie za wyjściem stabilizatora spadnie do krytycznego poziomu. Proste i zawsze działa.