Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[atmega8a] - Reset układu mimo wyłączonego resetu z pinu PC6.

stachu_15 16 Kwi 2013 12:18 2403 17
  • #1 16 Kwi 2013 12:18
    stachu_15
    Poziom 11  

    Witam,
    może tytuł mówi niewiele... już opisuję o co chodzi.
    Mam poważny problem z atmegą8a w tqfp.
    Układ zasilany z przetwornicy bazującej na a8498. Stabilność napięcia wyjściowego wysoka. W procesor wgrany jest bootloader. Wrzucam wsad przez niego. Wcześniej przez ISP wgrałem boota i wyłączyłem pin PC6 jako reset (teraz pracuje jako normalny I/O). Z racji, że jest niewykorzystywany jako reset nie dawałem żadnego podciągnięcia ani kondensatora, wisi w powietrzu. Podczas pracy zwarcie tego pinu do masy nie zatrzymuje procesora, jednak podczas "smyrania" go np. metalową pęsetą układ co chwila się resetuje... Resetuje się ewidentnie od wyładowania elektrostatycznego, ponieważ po jednym strzale w nóżkę pęsetą na kolejne nie reaguje, muszę np. ruszyć się na krześle i pęseta naładowana do kolejnego resetu procka :/ Mogę identycznie robić z innymi pinami i reset nie następuje. Problem ujawnił się podczas sterowania większym obciążeniem, atmega steruje przekaźnikami. Klikanie ich cewek, lub samo obciążenie powoduje też resety (raczej to drugie, bo bez obciążenia reset następuje rzadko). Oczywiście diody na cewkach obecne.
    Ludzie pomóżcie?!
    Nie mogę udostępnić ani wsadu ani nawet fragmentów schematów - tajemnica służbowa :) - projekt na zamówienie... ale nic nie odbiega od standardowych połączeń zgodnych z ogólnymi zasadami projektowania elektroniki :)
    Może ktoś podrzuci, albo wytłumaczy jak działa wyłączenie resetu z pinu PC6 w Atmega8A (aha kwarc 8 MHz - raczej bez znaczenia przy tym problemie).
    Pozdrawiam

    0 17
  • #2 16 Kwi 2013 12:42
    dondu
    Moderator Mikrokontrolery Projektowanie

    stachu_15 napisał:
    Nie mogę udostępnić ani wsadu ani nawet fragmentów schematów - tajemnica służbowa :) - projekt na zamówienie... ale nic nie odbiega od standardowych połączeń zgodnych z ogólnymi zasadami projektowania elektroniki :)
    Może ktoś podrzuci, albo wytłumaczy jak działa wyłączenie resetu z pinu PC6 w Atmega8A (aha kwarc 8 MHz - raczej bez znaczenia przy tym problemie).

    No to nie będzie łatwo Ci pomóc :|
    A zdjęcia możesz?

    Sprawdź najpierw co tak naprawdę jest przyczyną resetu za pomocą rejestru MCUCSR.

    0
  • #3 16 Kwi 2013 12:43
    lukashb
    Poziom 39  

    No niestety, jak nic nie możesz pokazać, to my nic nie możemy doradzić.....szklana kula się stłukła wczoraj. W internecie jest pełno informacji jak zasilać procesor, jak go okondensatorować w koło itp. Dondu pisał nie raz. Nie licz, że ktoś Ci powie, dolutuj R4 tu i tu a tu usuń C5. Wkońcu sam to robisz, i my nic nie wiemy o tym. Poza tym - sam schemat z przekaźnikami to nie tajemnica i wielkie aj-waj. Co do programu - zgoda.

    0
  • Pomocny post
    #4 16 Kwi 2013 12:45
    PUPILANDER
    Poziom 15  

    Pokaż jak masz skonfigurowany pin PC6.

    stachu_15 napisał:
    nic nie odbiega od standardowych połączeń zgodnych z ogólnymi zasadami projektowania elektroniki :)

    Dobrą zasadą jest niepozostawianie nieużywanych pinów "luzem". Jeśli chcecsz go zostawić niepodłączonego to ustaw go jako wyjście.

    0
  • #5 16 Kwi 2013 12:48
    BlueDraco
    Specjalista - Mikrokontrolery

    lukashb napisał:
    Nie licz, że ktoś Ci powie, dolutuj R4 tu i tu a tu usuń C5.


    Wlutuj diodę szybką, np. 1n4148 albo dowolną Schottky anodą do nogi RESET, katodą do plusa zasilania i napisz, czy pomogło. :)

    0
  • #7 16 Kwi 2013 13:07
    stachu_15
    Poziom 11  

    Przyczyną resetu jest EXTRF w MCUCSR - musiałem zmarnować jedną atmegę, żeby wyłączyć reset a wgrać wsad testujący wykrywający źródło resetu... no bo z bootem nie działa odczytywanie MCUCSR.
    Kondensatory?! Po 100n na nażdy pin VCC w medze plus tantal 4,7uF plus 100n za przetwornicą, przed to samo.
    Przekaźniki? Podłączenie jak na obrazku niżej. Tyle, że NPN BC817 i rezystor 820R.
    [atmega8a] - Reset układu mimo wyłączonego resetu z pinu PC6.
    A już odczuwam pewną nutę niechęci pomocy... nie wiem gdzie lukashb Ty pracujesz, ale niektóre firmy mają bardzo rozbudowaną politykę prywatności i poufności... obowiązują mnie pewne umowy, a stracić pracę to trochę szkoda... nie chcesz mi pomóc to omiń ten wątek.

    Dodano po 3 [minuty]:

    Dondu - bloga znam... śledzę na bieżąco, co do zasilania megi jestem pewien poprawności i stabilności.
    Czy wytłumaczy ktoś zasadę odłączania pinu resetu z nogi PC6 ? Dlaczego odłączeni fusebitami poniekąd nie działa...

    Dodano po 6 [minuty]:

    PUPILANDER napisał:
    Pokaż jak masz skonfigurowany pin PC6.


    Niezależnie od konfiguracji PC6 zawsze na dotknięcie pęsetą się procek resetuje. Sprawdzałem na kodzie:
    Code:
    #include <avr/io.h>
    
    int main(void)
    {
       DDRC |=   (1 << PC6);
       PORTC |= (1 << PC6);

        while(1);
    }


    Ustawiałem wszystkie konfiguracje:
    DDR = 1, PORT = 1;
    DDR = 1, PORT = 0;
    DDR = 0, PORT = 1;
    DDR = 0, PORT = 0;
    Zawsze to samo... czyli reset

    0
  • #8 16 Kwi 2013 13:07
    dondu
    Moderator Mikrokontrolery Projektowanie

    stachu_15 napisał:
    Przyczyną resetu jest EXTRF w MCUCSR - musiałem zmarnować jedną atmegę, żeby wyłączyć reset a wgrać wsad testujący wykrywający źródło resetu... no bo z bootem nie działa odczytywanie MCUCSR.

    Hmm, to sugeruje że jednak nie masz wyłączonego pinu RESET.
    Wiem, że piszesz, że na pewno masz, ale taki jest wniosek :)
    W tym zakresie nie spotkałem się z takim przypadkiem - Twój jest pierwszy.
    Pokaż zdjęcie tego fragmentu płytki gdzie masz pin PC6 obie strony.


    stachu_15 napisał:
    A już odczuwam pewną nutę niechęci pomocy... nie wiem gdzie lukashb Ty pracujesz, ale niektóre firmy mają bardzo rozbudowaną politykę prywatności i poufności... obowiązują mnie pewne umowy, a stracić pracę to trochę szkoda... nie chcesz mi pomóc to omiń ten wątek.

    Ale on ma dobre intencje, tylko pokazuje problem.


    stachu_15 napisał:
    Czy wytłumaczy ktoś zasadę odłączania pinu resetu z nogi PC6 ? Dlaczego odłączeni fusebitami poniekąd nie działa...

    Musi działać.
    Podaj może jakie ustawiasz wartości fusebitów, gdy pin reset wyłączasz.

    0
  • #9 16 Kwi 2013 13:11
    BlueDraco
    Specjalista - Mikrokontrolery

    Wlutuj tę diodę, tak jak napisałem powyżej!

    0
  • #10 16 Kwi 2013 13:13
    dondu
    Moderator Mikrokontrolery Projektowanie

    I zrób to co pisze BlueDraco, bo ten pin nie posiada diody zabezpieczającej, w przeciwieństwie do pozostałych I/O.

    0
  • #11 16 Kwi 2013 13:13
    stachu_15
    Poziom 11  

    Reset odłączony w 100%, podłączam STK500 i mega się nie zgłasza!
    fusy: 04, 3F
    Może zabrzmi śmiesznie - nie mogę udostępnić zdjęcia :)
    Jednak, jak mówię, reset nie następuje samoczynnie gdy układ leży, tylko zawsze podczas rozłączania przekaźnika, lub co gorsza !!! podczas dotknięcia pinu megi, pin jest podłączony z gniazdem goldpinów do przyłączania peryferiów... ale niewykorzystywany w komunikacji z peryferiami, to samo gniazdo w fazie początkowej służy do zaprogramowania bootloadera no i wyłączenia resetu...

    0
  • Pomocny post
    #12 16 Kwi 2013 13:17
    BlueDraco
    Specjalista - Mikrokontrolery

    Przestań się chwalić, czego nie możesz pokazać, tylko wlutuj tę diodę. ;)

    0
  • Pomocny post
    #13 16 Kwi 2013 13:20
    dondu
    Moderator Mikrokontrolery Projektowanie

    OK, rozumiemy co piszesz - nie trzeba wykrzykników :)
    Niestety, bez schematu, PCB, zdjęć i programu, nie doradzę Ci więcej niż to, co opisałem w podanym linku.
    Mam nadzieję, że mnie rozumiesz.

    0
  • #14 16 Kwi 2013 13:40
    stachu_15
    Poziom 11  

    BlueDraco napisał:
    Przestań się chwalić, czego nie możesz pokazać,...

    Mi też nie jest łatwo... ale szefostwo rygorystyczne :)
    BlueDraco napisał:
    ...tylko wlutuj tę diodę. ;)

    Wlutowałem, poniekąd załatwia to sprawę układ jest odporny na wyładowania do tego stopnia, że podłączony do atmegi konwerter UART<> USB mi się "wypiął" spod systemu windows, a mega się nie zresetowała. A piszę poniekąd, bo projekt gotowy i już w produkcji, a tu jeszcze takie problemy się pojawiły :) ale na szczęście jest możliwość naprawy serii :) jest miejsce na wlutowanie diod :)
    dondu napisał:
    ... bo ten pin nie posiada diody zabezpieczającej, w przeciwieństwie do pozostałych I/O.

    To by wiele wyjaśniało...

    Super chłopaki dzięki wielkie za pomoc... myślę, że udało się rozwiązać ten problem, a dla potomnych zostaną pomocnicze posty!
    Pozdrawiam

    Dodano po 1 [minuty]:

    dondu napisał:
    OK, rozumiemy co piszesz - nie trzeba wykrzykników :)
    Niestety, bez schematu, PCB, zdjęć i programu, nie doradzę Ci więcej niż to, co opisałem w podanym linku.
    Mam nadzieję, że mnie rozumiesz.

    Wykrzykniki, znaki zapytania i inne to jakoś tak w nawyku mam i może trochę nadużywam :) nie żebym krzyczał, bo wtedy to bym pisał z CAPSEM :)
    Rozumiem i jeszcze raz dziękuję za pomoc :)

    0
  • Pomocny post
    #15 16 Kwi 2013 14:22
    BlueDraco
    Specjalista - Mikrokontrolery

    No patrz, a "pomógł" nie kliknął... No, ale przynajmniej dobrze wiedzieć, że strzał był trafiony.
    ;)

    0
  • #16 16 Kwi 2013 14:29
    stachu_15
    Poziom 11  

    BlueDraco napisał:
    No patrz, a "pomógł" nie kliknął... No, ale przynajmniej dobrze wiedzieć, że strzał był trafiony.
    ;)

    Wybaczcie :) już klikam :)
    Ale podekscytowany zacząłem testować pozostałe moduły i meldować przełożonemu co odkryłem yyy odkryliście :) ;-)

    0
  • #17 16 Kwi 2013 15:25
    Tomasz Gumny
    Poziom 27  

    Przeczytaj rozdział Parallel Programming -> Enter Programming Mode. Znajdziesz tam m.in.:
    "4. Apply 11.5 - 12.5V to RESET. Any activity on Prog_enable pins within 100 ns after +12V
    has been applied to RESET, will cause the device to fail entering Programming mode."

    0
  • #18 28 Lut 2014 11:32
    stachu_15
    Poziom 11  

    Temat do zamknięcia

    0
  Szukaj w 5mln produktów