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.

Atmega8 - Układ nie działa po zaprogramowaniu.

yaros79 27 Sie 2012 18:42 4026 18
  • #1 27 Sie 2012 18:42
    yaros79
    Poziom 12  

    To jest pierwsze spotkanie moje z uC, zakupiłem programator AVT988 i adapter AVT 1462. Kompilator i program ładujący to AVR Studio 4.
    Na początek aby sprawdzić działanie programatora, postanowiłem wgrać prosty program "mrugający LED" z książki " Mikrokontrolery AVR i AMR ..." wyd. Helion.
    Podłączyłem programator i adapter , na początek poszedł Atmega8 PU . Program ładujący wykrył sygnaturę, następnie wyczyściłem uC , ( wszystkie linijki były Ok) następnie zaprogramowałem wsadem HEX. ( tu również było OK). To samo zrobiłem dla Atmega8 16 PU ( też było wszystko OK). Teraz zbudowałem na płytce stykowej układ ze schematu z książki.

    oto on:
    Atmega8 - Układ nie działa po zaprogramowaniu.

    a wgrałem taki kod:

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    Wstawiłem po kolei każdy uC do układu a tu dupa, nie działa, żadnej reakcji nawet się nie grzały. Jedynie zaczęły działać jak przyłożyłem metalowy element do końcówki nr 9 uC, wtedy zaczął działać i dioda mrugać.
    Czego brakuje w kodzie lub w schemacie? Może o czymś redaktorzy zapomnieli.

    0 18
  • #2 27 Sie 2012 19:18
    snnaap
    Poziom 25  

    O ja, ale miazga.

    Jest tam gdzieś w tej książce dział jak prawidłowo podpiąć uk?!

    Po pierwsze filtrowanie zasilania - min 100n pomiędzy + a -,
    Po drugie pin 1 uK PC6 (RESET) do + za pomocą rezystora 10k,
    Podłączenie diody w taki sposób to też tragedia, ale jak w książce tak piszą ;).

    Dodano po 31 [sekundy]:

    Jeden plus tego wszystkiego ze zaczynasz od Asemblera.

    Dodano po 4 [minuty]:

    Fusa Bits nie ruszałeś?
    Nie zmieniałeś przypadkiem na zewnętrzny oscylator?

    0
  • #3 27 Sie 2012 19:19
    janbernat
    Poziom 38  

    A minus że korzystasz ze schematów z tej książki które wołają o pomstę do nieba.
    Zasilanie AVCC musi też być podłączone i filtrowane konensatorem 100nF do masy AGND które też ma być podłączona do masy.

    0
  • #4 27 Sie 2012 19:31
    yaros79
    Poziom 12  

    Z Fusami to chyba nic nie ruszałem , ale nie mam pewności, jak coś to jaki oscylatyor zastyosować 8 czy 16 MHz? .
    Chciałem tylko na podstawie tej książki sprawdzić czy działa poprawnie programator i adapter , a uczyć będę się z czego innego. np Bascom zielona łączka, ale narazie nie mogę sobie poradzić z podłaczeniem z innymi kompilatorami, nie widzą programatora.

    0
  • #5 27 Sie 2012 19:48
    dondu
    Moderator Mikrokontrolery Projektowanie

    snnaap napisał:
    O ja, ale miazga.

    Lepiej chyba tego się nie da ująć :)

    To o czym piszą koledzy wyżej jest dokładnie opisane tutaj (czytaj uważnie i nie spiesz się):
    http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

    Gdy już poprawisz i nadal nie będzie działało wstaw nowy schemat i zdjęcia.

    BTW: Możesz podać tytuł, autora i rok wydania tej książki oraz numer strony?

    0
  • #6 27 Sie 2012 19:55
    yaros79
    Poziom 12  

    Helion

    strony nie pamiętam, ale to jest lekcja 4

    0
  • #8 27 Sie 2012 20:19
    yaros79
    Poziom 12  

    Prawdopodobnie masz rację co do nadrzędnej informacji, na początku książki jest schemat adaptera do Atmegi , ale go nie robiłem. Ale zrobię j/w.

    0
  • #10 27 Sie 2012 20:32
    yaros79
    Poziom 12  

    Zrobię na płytce stykowej połączenie uC jak w opisie wyżej, jak zadziała to przyjżę się tej płytce.

    0
  • #11 27 Sie 2012 21:50
    perlon
    Poziom 19  

    Posiadam również tę książkę. Wspomniany adapter zawiera 3 kondensatory filtrujące i rezystor podciągający na resecie oraz zestaw zworek grupujących poszczególne porty nic ponadto. To też była moja pierwsza książka i żałuję że ją kupiłem. Schemat podłączenia LED do uK bez rezystora jest powielany wielokrotnie w części dotyczącej AVR. W części ARM diody LED są już zaopatrzone w rezystor ograniczający prąd. Z czterech książek jakie mam do AVR ta jest najgorsza. Przeczytałem ją raz i więcej do niej nie zajrzę. Polecam zakup dowolnej innej.
    Ale najpierw lektura strony kolegi dondu i co by nie mówić garść cennych informacji na blogu mirekk36

    0
  • #12 29 Sie 2012 03:56
    yaros79
    Poziom 12  

    Żeby nie było:

    Atmega8 - Układ nie działa po zaprogramowaniu.
    Zalecane połączenie Atmegi, na płytce stykowej

    A teraz ustawienia z programu AVR Studio 4 dla mojego uC:
    Atmega8 - Układ nie działa po zaprogramowaniu.

    Atmega8 - Układ nie działa po zaprogramowaniu.

    Atmega8 - Układ nie działa po zaprogramowaniu.


    I nadal nie działa.
    Atmega8 - Układ nie działa po zaprogramowaniu.

    0
  • #13 29 Sie 2012 04:04
    dondu
    Moderator Mikrokontrolery Projektowanie

    :)
    1. dodaj rezystor w okolicach 330Ω w szereg z LED.
    2. Jak programujesz mikrokontroler - nie widać podłączenia programatora i zasilania?
    3. Nie wpiąłeś LED odwrotnie (nie analizowałem Twojego kodu)?
    4. Skoro używasz AVRStudio 4 i masz możliwość skompilowania programu w C to spróbuj:


    Kod: c
    Zaloguj się, aby zobaczyć kod

    Tylko ustaw w opcjach projektu ustaw:
    - typ mikrokontrolera,
    - częstotliwość zegara na jaką masz ustawiony mikrokontroler,
    - włącz optymalizację -0s.
    W opcjach projektu, a nie ISP: http://mikrokontrolery.blogspot.com/2011/03/fcpu-gcc-gdzie-definiowac.html

    Jeżeli nie ruszałeś fusów, to masz 1MHz. Jeżeli tak, to załączam Ci plik .hex do zaprogramowania mikrokontrolera powyższym programem. Jeżeli jednak masz szybszy zegar to dioda będzie migać odpowiednio szybciej. Nie sprawdzałem programu na mikrokontrolerze, ale powinien działać. Program jest tak napisany, że niezależnie w którym kierunku wepniesz LED i tak będzie migał :)

    A na koniec zastanów się, czy może lepiej najpierw nauczyć się C, a dopiero później assemblera.

    0
  • #14 29 Sie 2012 08:37
    snnaap
    Poziom 25  

    No to podłącz jeszcze kwarc, bo Fusa Bits masz ustawione na zewnętrzne źródło taktowania, dlatego przykładając metalowe "coś" do nóżki nr 9 układ ożywa.

    Albo zmień Fusa Bits na LOW 0xE1 HIGH 0xD9.
    To nie są nowe układy prosto z pudełka?

    Dodano po 1 [minuty]:

    PS.

    dondu napisał:
    :)
    A na koniec zastanów się, czy może lepiej najpierw nauczyć się C, a dopiero później assemblera.


    Tak z ciekawości jaka była kolejność nauki u Ciebie Dondu?

    0
  • #15 29 Sie 2012 11:50
    yaros79
    Poziom 12  

    Dzięki za podpowiedzi, ale będę się uczył Basic albo C , assemblera odpaliłem tylko dlatego ze mój programator jak na razie jest prawidłowo rozpoznawany przez AVR studio i tylko chciałem sprawdzić tylko czy wszystko dobrze działa, assemblera nie będę się uczył.
    Zmieniłem Fusy i nic , poczekam na nowe Atmegi i spróbuje z innym kompilatorem.

    A programuję tak:
    Atmega8 - Układ nie działa po zaprogramowaniu.

    0
  • #16 29 Sie 2012 20:11
    dondu
    Moderator Mikrokontrolery Projektowanie

    yaros79 napisał:
    Zmieniłem Fusy i nic , poczekam na nowe Atmegi i spróbuje z innym kompilatorem.

    Innym? Skoro masz kompilator GCC i AVR Studio 4, to jakiego lepszego oczekujesz?
    Za bardzo kombinujesz i w tym leży Twój problem.

    yaros79 napisał:
    A programuję tak:
    Atmega8 - Układ nie działa po zaprogramowaniu.

    I za każdym razem wyciągasz ATmegę i wkładasz do płytki stykowej?
    http://mikrokontrolery.blogspot.com/2011/04/isp-co-to-takiego.html

    Podsumowując:
    Komplikujesz sobie życie, a jednocześnie oczekujesz by działało. Nie tędy droga, ale to Twój wybór ...

    snnaap napisał:
    Tak z ciekawości jaka była kolejność nauki u Ciebie Dondu?

    Według kolejności począwszy od 1983/84r.: Basic ZX Spectrum, Basic Meritum, Assembler Z80, Assembler INTEL 8035, Turbo Pascal PC, Assembler PC, Borland Turbo C, po drodze z musu Turbo Basic w związku z konkretnym projektem dla Wojska Polskiego (takie były czasy) i w końcu C. Kolejność wymuszona przez dostępne w tamtych czasach możliwości.

    0
  • #17 29 Sie 2012 20:53
    yaros79
    Poziom 12  

    Cytat:
    I za każdym razem wyciągasz ATmegę i wkładasz do płytki stykowej?
    http://mikrokontrolery.blogspot.com/2011/04/isp-co-to-takiego.html


    Na chwilę obecną tak, jak uda mi się cokolwiek uruchomić, to zbuduję sobię płytkę testową z wyprowadzonymi pinami PB PC i PD, oraz IPS i także zasilanie ze stabilizatorem, uC będzie na podstawce ZIF, ale najpierw chcę to uruchomić.

    0
  • #19 03 Wrz 2012 00:16
    yaros79
    Poziom 12  

    Dzięki dondu, schemat i kod z twojej strony działa.

    Link


    Ten drugi schemat z książki Heliona też działa tylko pod językiem C, teraz biorę się do nauki języka i zaczynam przygodę z mikro kontrolerami. Dzięki za pomoc.

    Link

    0