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

Zasilanie Atmegi8 brak reakcji procesora

maciekb2 06 Maj 2012 17:50 1621 17
  • #1 06 Maj 2012 17:50
    maciekb2
    Poziom 8  

    Proszę o pomoc w sprawdzeniu schematu mojego zasilacza do uC. Ostatnio gdy budowałem podobny wszystko działało jak należy, lecz teraz procesor nie reaguje wogóle(gdy odłączam GND zaczyna lekko świecić się zielona dioda ale nie wiem czym to jest spowodowane). Algorytm to narazie tylko włączone diody (testowane na 2 procesorach).
    zasilacz-7,2V
    stabilizator 7805 DIP
    Zasilanie Atmegi8 brak reakcji procesora
    Pozdrawiam Maciek

    0 17
  • Arrow Multisolution Day
  • #3 06 Maj 2012 19:17
    maciekb2
    Poziom 8  

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Kod programu raczej bez błędów, bo ciężko w nim błędy zrobić.
    Co do tego wyjścia MCLR nie wiem które to jest sprawdzałem w datasheet Atmegi i nic tam nie znalezłem, być może to jest błąd lecz wcześniej podłączyłem prąd tylko pod GND i VCC i działało.

    0
  • Arrow Multisolution Day
  • #4 06 Maj 2012 21:01
    nsvinc
    Poziom 35  

    1. Procesory AVR nie mają pina MCLR, tylko RESET; co nie zmienia faktu, że należy takowy pin podłączyć przez rezystor rzędu 4.7kR...22kR do plusa zasilania procesora (w tym przypadku 5V).
    2. Miernikiem uniwersalnym warto zmierzyć czy mikrokontroler ma faktycznie zasilanie; sondy miernika najlepiej przytknąć bezpośrednio do pinów zasilania procka.
    3. Procesorowi trzeba podłączyć zasilanie do wszystkich pinów które są na to przeznaczone. Oprócz pinów 7 i 8 (VCC,GND) są jeszcze piny 22 i 20 (GND,AVCC) które muszą być również odpowiednio podłączone do zasilania!
    To powyższe było już setki (jeśli nie tysiące) razy wałkowany w dziale Mikrokontrolery. Nie działanie mikrokontrolera najpewniej nie jest tematem nadającym się do działu dedykowanego zasilaczom i przetwornicom...

    0
  • #5 06 Maj 2012 22:47
    maciekb2
    Poziom 8  

    Dzięki za odpowiedź po podłączeniu RESETU, AVCC i drugiego GND układ działa, lecz dioda świeci bardzo słabo co jest chyba spowodowane złym filtrowaniem zasilania.
    Ale to już tylko kwestia dobrania kondensatorów.
    Dziękuje na pomoc.
    PS. Proszę modelatora o przeniesienie do właściwego działu.
    Pozdrawiam Maciek

    0
  • #6 07 Maj 2012 10:58
    tmf
    Moderator Mikrokontrolery Projektowanie

    Dioda świeci słabo bo najpewniej nie ustawiłeś portu jako wyjście, tylko naprzemiennie włączasz i wyłączasz pulup przez wpisy do rejestru PORT. Zainteresuj się też rejestrem DIR.
    BTW. Reset nie trzeba podciągać do Vcc, bo takie podciąganie jest wewnętrznie, ale oczywiście nic nie szkodzi (a czasami nawet pomaga) jakiś rezystor 10-20 k).

    0
  • #8 07 Maj 2012 14:33
    mirekk36
    Poziom 42  

    maciekb2 napisał:
    Proszę o pomoc w sprawdzeniu schematu mojego zasilacza do uC.


    Problem w tym, że to co pokazałeś to nie jest żaden schemat :( tylko widok źle wykonanych połączeń na płytce stykowej. Diody podłączasz bez rezystorów :( ...

    zobacz może tutaj jak minimalnie podłączać procesor: Link

    to bardzo ci się przyda ale też popatrz jak łatwo jest robić schematy we własnym zakresie: Link

    0
  • #9 07 Maj 2012 15:07
    nsvinc
    Poziom 35  

    Jeszcze dopowiem, ze jesli uklad miałby w przyszłości pracować w silnie zakłóconym środowisku, e.g. automotive lub w okolicach układów power conversion, to zewnętrzne podciąganie resetu jest konieczne, razem z kondensatorem do masy w celu wygaszania/filtracji impulsów napięcia indukujących się w ścieżce resetu i na PCB i wewnątrz samego scalaka.

    0
  • #10 08 Maj 2012 10:40
    maciekb2
    Poziom 8  

    Witam
    Dziękuję za odpowiedzi. Po zastosowaniu się do nich uklad działa jak należy lecz tylko z czerwonymi diodami z zielonymi jak wyżej ciągle pozostaje problem slabego świecenia. Czym to może być spowodowane?
    Te diody to Dioda LED 5mm zielona
    Parametry:
    Soczewka w kolorze zielonym
    Długość emitowanej fali : 571 nm
    Jasność : 100-150 mcd
    kąt świecenia : 50'
    Temp. pracy : -40' .... +80'
    If : 20mA
    Vf : 2.3-2.5V
    Pozdrawiam Maciek

    0
  • #11 08 Maj 2012 12:10
    nsvinc
    Poziom 35  

    trudno uwierzyć że czerwone LEDy działają a zielone juz nie... chyba że faktycznie nadal machasz pull-up'em zamiast wysterowywać pin portu...

    0
  • #12 08 Maj 2012 15:23
    maciekb2
    Poziom 8  

    Code:
    $regfile = "m8def.dat"                                      'najpierw określamy typ proca
    
    $crystal = 1000000                                          'definiujemy z jakim taktowaniem będzie pracował

          Config Portd = Output
           Portd = &B00000000
            Portd.0 = 1
            Waitms 500
            Portd.1 = 1
            Waitms 500
            Reset Portd.1
            Reset Portd.0
    End

    To kod programu. Raczej wszystko się zgadza.
    Pozdrawiam Maciek

    0
  • #14 08 Maj 2012 15:54
    maciekb2
    Poziom 8  

    Schemat wygląda tak (przepraszam jak trochę nieczytelnie ale paint).
    Na regulatorze mam jeszcze jedną diodę i ta świeci normalnie.
    Zasilanie Atmegi8 brak reakcji procesora

    0
  • #15 08 Maj 2012 16:02
    dondu
    Moderator Mikrokontrolery Projektowanie

    maciekb2 napisał:
    Schemat wygląda tak (przepraszam jak trochę nieczytelnie ale paint).

    No to czas zacząć używać darmowego Eagle


    maciekb2 napisał:
    Na regulatorze mam jeszcze jedną diodę i ta świeci normalnie.

    Regulator także wymaga dodatkowych elementów - zaglądnij do datasheet lub tutaj: Zasilanie mikrokontrolera

    LEDY źle podłączone (odwrotnie) lub podłącz je do +5V, a nie do GND. - to główny powód dlaczego nie świecą.
    Diody wymagają ograniczenia prądu za pomocą rezystorów, bo możesz uszkodzić LEDy i/lub mikrokontroler. Zastosuj w szereg z każdą z nich rezystor 150-330Ω.
    Zobacz błąd nr 3 tutaj: Błędy w schemacie

    Jaki rezystor masz na RESECIE? rysunek jest nieczytelny - czy to 2,2k?
    Jeżeli tak to daj 4k7-10k.

    0
  • #16 08 Maj 2012 16:14
    maciekb2
    Poziom 8  

    Cytat:
    LEDY źle podłączone (odwrotnie) lub podłącz je do +5V, a nie do GND.[/b] - to główny powód dlaczego nie świecą.

    Napisałem u góry, że LEDy świecą i wykonują program taki jak napisałem lecz świecą światłem bardzo słabo widocznym(zielone), lub widocznym normalnie lecz nie zadowalającym i właśnie to jest moim problemem.
    Pewnie jest to spowodowane brakiem paru elementów przy regulatorze dołacze jeszcze te rezystory do LEDów i zobaczymy czy będzie działać.

    0
  • #17 08 Maj 2012 16:16
    dondu
    Moderator Mikrokontrolery Projektowanie

    maciekb2 napisał:
    Cytat:
    LEDY źle podłączone (odwrotnie) lub podłącz je do +5V, a nie do GND.[/b] - to główny powód dlaczego nie świecą.

    Napisałem u góry, że LEDy świecą i wykonują program taki jak napisałem lecz świecą światłem bardzo słabo widocznym(zielone), lub widocznym normalnie lecz nie zadowalającym i właśnie to jest moim problemem.

    Faktycznie napisałeś, ale w takim układzie źle je narysowałeś na schemacie.

    maciekb2 napisał:
    ... dołacze jeszcze te rezystory do LEDów i zobaczymy czy będzie działać.

    Gdyby nadal nie działało pokaż aktualne zdjęcie i postaraj się, by było możliwie ostre.

    0
  • #18 08 Maj 2012 17:37
    maciekb2
    Poziom 8  

    Pewnie masz racje, bo schemat robiony na szybko (już eagle mam). i przez to ta pomyłka.
    Pozdrawiam Maciek
    edit. Dodając rezystory nic się nie zmieniło lecz po dodaniu kondensatorów jasność wzrosła. Niestety zielone dalej prawie nic coś czyje że te dioda słabo działają później sprawdzę jeszcze jakieś inne na razie dzieki za pomoc.
    Może być to spowodowane tym że zasilacz mam na 7.2V a czytałem że ten regulator działa od 8V?

    Dodano po 1 [godziny] 17 [minuty]:

    Już wszystko działa jak należy wadliwy okazał się mikrokontroler.
    Po wymianie na inny wszystko działa jak należy. Dzieki wszystkim za pomoc przynajmniej nauczyłem się budować zasilanie do uC.
    Pozdrawiam Maciek

    0