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

[atmega8] Problem z uruchomieniem

dOnMeNdOzA 12 Cze 2009 15:46 1762 17
REKLAMA
  • #1 6646849
    dOnMeNdOzA
    Poziom 10  
    Witam!

    Mam problem żeby uruchomic procesor atmega8. Otóż, podłączam zasilanie do VCC, AVCC. Oraz mase do GND, AGND. Reset przez rezystor 20kΩ. Kondenastor 100 nF przy nozkach. Mam dwa takie procesory. Jeden ma program ktory ma jedynie zaswiecic diody na wszystkich pinach (z wyjatkiem kilku pinow), drugi ma inny program, ale to nieistotne jaki. Po podaniu zasilania (sprawdzalem miernikiem; jest rowne 5V) na jednym z prockow, diody na wszystkich pinach szybko migają (migaja na wszystkich pinach, a jak juz to na kilku nie powinny i ogolnie to powinny sie ciagle swiecic, a nie migac). Na drugim procku, zupelnie nic sie nie dzieje, jakby wogole nie bylo zasilania. Macie jakis pomysl co jeszcze moge sprobowac zrobic? Z gory dzieki
  • REKLAMA
  • #2 6646955
    _Robak_
    Poziom 33  
    ATmega8 ma wlaczonego watchdoga standardowo, wylacz go.
  • REKLAMA
  • #3 6646966
    Wersik
    Poziom 12  
    Na początek podłącz tylko 5V do Vcc, masę do GND i zobacz wtedy.

    Poniżej masz działajacy schemat i program w bascomie do sterowania diodami.

    [atmega8] Problem z uruchomieniem
    [atmega8] Problem z uruchomieniem
  • #4 6647303
    janbernat
    Poziom 38  
    _Robak_ napisał:
    ATmega8 ma wlaczonego watchdoga standardowo, wylacz go.

    Chyba nie.
  • #5 6647318
    _Robak_
    Poziom 33  
    Masz racje, myslalem ze jest wlaczony :) W kazdym razie sprawdzenie fuse bitow polecam.
  • #6 6647331
    janbernat
    Poziom 38  
    No nie mam żadnej nieużywanej ATmegi8-nie mogę sprawdzić.

    Dodano po 2 [minuty]:

    Donmendoza-schemat i program daj.

    Dodano po 5 [minuty]:

    Wersik-niech Donmendoza da schemat-nie wiadomo czy robił to z książki M. Wiązani i czy płytkę ma ZL2AVR czy inną.
  • REKLAMA
  • #7 6647698
    dOnMeNdOzA
    Poziom 10  
    Schemat:
    [atmega8] Problem z uruchomieniem
    Kod programu:
    #include <avr/io.h> 
    #include <avr/sfr_defs.h>
    
    int main(void)
    {
    DDRB = 0b11111111;
    DDRC = 0b11111111;
    DDRD = 0b11111111;
    PORTB = 0b11100111;
    PORTC = 0b11111111;
    PORTD = 0b11111111;
    }
    

    Prosciej to juz chyba nie mozna. Przysiegam ze dokladnie ten program jest w procku i schemat jest zmontowany dokladnie jak na rysunku. Napiecie na stabilizator podawalem od 6 do 12V. Takze to nie to. Tymbardziej, ze miernikiem sprawdzalem i jest dokladnie 5V na girkach procka :D Myslalem o tym watchdogu, ale mowicie ze jest domyslnie wylaczony, to tez nie to.
  • #8 6648435
    wicy
    Poziom 22  
    Mnie to 20k na resecie coś nie pasuje. Ja bym dał 10k max.
  • #9 6648985
    dawid512
    Poziom 32  
    Proponuję dodać zarówno przed jak i po stabilizatorze kondensatory rzędu kilkuset µF oraz zmniejszyć rezystor na resecie. Po za tym robisz własny make-file czy korzystasz z tego w AVR Studio?
  • #10 6650028
    dOnMeNdOzA
    Poziom 10  
    Ten rezystor, nawet mi się nie podoba, ale w datasheet od atmegi było napisane, że od 1 - 20k powinno byc przy resecie. Mam tylko rezystor 20k, dlatego go użyłem. Próbowałem też wogóle bez rezystora i było tak samo. To nie o reset chodzi. Próbowałem dawac większe kondensatory, ale to również nic nie dało. Z resztą nawet bez kondensatorów powinny się diody świecić. Przynajmniej na atmega16 mi tak działało. Używam makefile z AVR Studio. Czy to ma jakies znaczenie?
  • REKLAMA
  • #11 6650734
    janbernat
    Poziom 38  
    A jak to programujesz?
    Na schemacie nie ma złącza programatora.
  • #12 6651432
    _Robak_
    Poziom 33  
    I nie ma diodek ;)
  • #13 6651663
    dj_west
    Poziom 17  
    A ja proponuję na koniec funkcji main() dodać pętelkę:


    Zgadnij co się u Ciebie dzieje po dojściu do końca głównej funkcji... :)
    I zostawcie te rezystory w resecie, Panowie :) 20k jest tak samo dobre jak i 10k.
  • #14 6653928
    dOnMeNdOzA
    Poziom 10  
    Na schemacie rzeczywiście nie ma złącza programatora. Posiadam programator ISP, taki prosty z Allegro. Działa na tej zasadzie, że procek wpinam do podstawki i następnie do programatora. Następnie przez USB, za pomocą programu ProgISP, programuję. Nie mogę zatem debugowac, czy jak się to tam zwie. Mniejsza z tym. Nie zamieściłem programatora na schemacie, bo procek ma wgrany program taki, a nie inny i już :D Nie ma diodek, bo nie chciało mi się ich rysowac. Podłączałem jedną diodę i po kolei podpinałem pod nóżki. Także szukanie dziury w całym mija się z celem.
    Teraz zgadnę co się dzieje u mnie po dojściu do końca głównej funkcji. Hmm... aha, już wiem! Zapalają się diody na portach. Nie interesuje mnie czy coś jeszcze się dzieje. Tylko to co widzę :D
    Ok, a teraz poważnie. Udało mi się rozwiązac problem. Okazało się, że problemem był włączony watchdog. Nie jestem taki obcykany, żeby wiedziec dlaczego nie pozwalał na prawidłową pracę procka, ale za to wiem dlaczego był włączony. Otóż w programie ProgISP, po wybraniu procka, program sam wybiera domyślne parametry dla fuse bitów. Ktoś napisał wcześniej w tym poście, że watchdog jest domyślnie wyłączony. Ja tak założyłem. Okazuje się jednak, że program domyślnie włącza watchdoga. Po jego wyłączeniu wszyskie diody świeciły jak trzeba :D Nie wiem tylko co się dzieje z drugim prockiem. Watchdog nie powinien tutaj wpływac na dzialanie programu. W każdym bądź razie nie mogę go zaprogramowac, bo mi jakieś błędy program wywala. Prawdopodobnie jest po prostu uszkodzony, dlatego nie mogę nic z nim zrobic. I to by bylo tyle.
    Dziękuję za zainteresowanie tematem. Pozdrawiam
  • #15 6654159
    _Robak_
    Poziom 33  
    I musialy minac 3 dni i tyle postow zebys sprawdzil co od razu napisalem ;) Jesli chodzi o petle nieskonczona to widze ze nie jest konieczna, program nie powinien pojsc pod blizej nieokreslony adres.
  • #16 6656696
    janbernat
    Poziom 38  
    dOnMeNdOzA napisał:
    "Otóż w programie ProgISP, po wybraniu procka, program sam wybiera domyślne parametry dla fuse bitów"
    Powinieneś to wytłuścić i napisać z !!!
    Muszę to zapisać żeby nigdy tego programu nie używać.
    Nie do zniesienia jest jak program chce być mądrzejszy od użytkownika.
  • #17 6656947
    maly_elektronik
    Poziom 23  
    Daj mniejszy rezystor na reset :) Może przez to nie możesz zaprogramować procka :)
  • #18 6658022
    dOnMeNdOzA
    Poziom 10  
    Wedle życzenia wytłuściłem to zdanie. Rzeczywiście jest to bardzo irytujące, że program robi coś, o co nie został poproszony :D Pozdrawiam
REKLAMA