logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zrealizować podtrzymanie zasilania MCU po wciśnięciu switcha lub kontaktronu?

mleko64 14 Wrz 2017 22:41 1992 8
REKLAMA
  • #1 16699994
    mleko64
    Poziom 2  
    Witam!
    Od paru dni borykam się z problemem podtrzymania zasilania przez MCU. Generalnie chcę osiągnąć taki scenariusz:
    1) Na początku układ nie działa
    2) Po wciśnięciu switch-a lub zadziałaniu zestyku kontaktronowego, układ wraz ze stabilizatorem napięcia powinien dostać zasilanie i tym samym powinno zostać zasilone MCU
    3) Gdy MCU zostanie zasilone, to na określonym pinie powinien ustawić się odpowiedni stan logiczny
    4) Ustawiony przez MCU stan logiczny powinien wymuszać podtrzymanie zasilania bez względu już na to, czy switch lub kontaktron jest zwarty czy nie.
    5) Gdy MCU skończy swoją robotę, to na określonym wcześniej pinie powinien ustawić odpowiedni stan logiczny (przeciwny od poprzedniego) i tym samym odciąć sobie sam zasilanie.

    Szukałem w Internecie kilka rozwiązań, lecz żadnego nie udało mi się pomyślnie zrealizować.
    Korzystałem z takich układów:
    Jak zrealizować podtrzymanie zasilania MCU po wciśnięciu switcha lub kontaktronu?Jak zrealizować podtrzymanie zasilania MCU po wciśnięciu switcha lub kontaktronu?

    Niestety, żaden nie chciał prawidłowo działać.
    Czy ma ktoś może jakąś swoją wizję na rozwiązanie tego problemu?
    Dziękuję i pozdrawiam,
    Marcin Drobiec.
  • REKLAMA
  • #2 16700050
    ZeeWolf
    Poziom 28  
    Wykonałem takie podtrzymanie z powodzeniem na ATmedze i przekaźniku.
    Ogólna zasada działania jest taka - wyzwalacz (przycisk, kontaktron) załącza cewkę przekaźnika. Do styku wejściowego przekaźnika jest podłączone zasilanie stałe. Wyjście załączające przekaźnika jest podpięte do zasilania MCU i jednocześnie do zasilania cewki przekaźnika. Brakuje nam jeszcze rozłączenia "na życzenie" MCU - "masa" cewki przekaźnika jest sterowana przez MCU pośrednio przez tranzystor.
  • REKLAMA
  • #3 16700072
    kpodstawa
    Poziom 33  
    Wprawdzie nie znam się na mikrokontrolerach, więc wlazłem na nie swój teren, ale najwyżej mi się dostanie. Niezależnie od układu wykonawczego załączającego-wyłączającego zasilacza (właśnie przekaźnik), może być potrzebny prosty układ sterujacy - logiczny - w postaci przerzutnika (np. asynchronicznego RS) z zerowaniem. Skojarzył mi się układ "555", ponieważ jest bardzo elastyczny i można go stosować nie tylko jako układ czasowy. Sprzężenie zwrotne od MCU może wejść na zerowanie układu. Wyzwalanie - zarówno impulsem, jak i poziomem. "555" ma bardzo dużą bibliotekę schematów zastosowań, więc może znajdziesz coś do adaptacji. Krzysztof Podstawa
  • #4 16700285
    mleko64
    Poziom 2  
    Pomysł z przekaźnikiem wygląda spoko, lecz niestety nie posiadam żadnego na stanie. Jestem w posiadaniu tranzystorów MOSFET (z kanałem typu P jak i N) i chciałem je wykorzystać do zbudowania takiego rozwiązania. Ogranicza mnie już czas i budżet.
    Pomysł z układem "555" również ciekawy, lecz wydaje mi się, że jest to chyba mały przerost formy nad treścią :)
  • #5 16700295
    TvWidget
    Poziom 38  
    Ten pierwszy układ będzie działał gdy rezystor R1 podłączysz do masy. Program w uP po uruchomieniu musi ustawić stan wysoki na wyjściu D3.
  • REKLAMA
  • #6 16700351
    mleko64
    Poziom 2  
    TvWidget napisał:
    Ten pierwszy układ będzie działał gdy rezystor R1 podłączysz do masy. Program w uP po uruchomieniu musi ustawić stan wysoki na wyjściu D3.

    Faktycznie, nie zwróciłem na to uwagi (późno już wczoraj było, więc i myślenie się wyłączyło :)). Przed chwilą udało mi się znaleźć w Internecie jeszcze jedno rozwiązanie:
    Jak zrealizować podtrzymanie zasilania MCU po wciśnięciu switcha lub kontaktronu?
    Ten układ działa bardzo fajnie. Dodatkowym autem jest to, że można obserwować na pinie D0, czy nie został ponownie wciśnięty przycisk. Jeżeli tak, to możemy (według oczywiście programu) wyłączyć sami cały układ. Czyli jednym przyciskiem włączamy układ, układ się zatrzaskuje wystawiając na pinie A0 stan wysoki i można go wyłączyć na 2 sposoby (albo ustawiając stan niski na pinie A0 lub ponownie nacisnąć przycisk, którym włączaliśmy układ).
    Całość znalazłem na stronie: Link
    Załączam również program (gdyby w przyszłości podana strona już nie działa) do proponowanego układu. Program jest niestety przeznaczony na platformę Arduino (mimo, że temat dotyczy AVR), ale myślę, że jak ktoś będzie szukał rozwiązania, to nie będzie miał problemu z przetłumaczeniem go na czyste C w AVR.
    Dziękuję wszystkim za pomoc i pozdrawiam!
  • #7 16700356
    BlueDraco
    Specjalista - Mikrokontrolery
    Tranzystor PMOS sterowany z bramki diodowej - wspólna anoda do bramki, jedna katoda do przycisku zwierającego do masy, druga katoda do kolektora tranzystora npn, którego baza jest podłączona do wyjścia uC. Rysować mi się nie chce. Ogólnie jedna podwójna dioda (np. BAT54A), jeden PMOS, jeden rezystor plus albo PDTC114 albo zwykły npn i rezystor. Dodatkowo do programowego testowania stanu przycisku przyda się jeszcze jedna dioda połączona katodą z przyciskiem i anodą do wejścia uC.
  • REKLAMA
  • #9 16700713
    krzysiek_krm
    Poziom 40  
    Witam,
    są gotowe, specjalistyczne układy do tego celu:
    http://www.linear.com/products/Pushbutton_Controllers
    wybór jest dość duży, niektóre parametry można "dostroić" do własnych potrzeb.
    Jedną z zalet tych układów jest śmiesznie mały pobór prądu.

    Pozdrawiam
REKLAMA