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

Nie wykrywa mikrokontrolera. ATmega8, WinAVR, RESET.

mały_zrw 25 Kwi 2009 21:40 2114 11
REKLAMA
  • #1 6456645
    mały_zrw
    Poziom 10  
    Witam wszystkich forumowiczów ;]
    Od razu mówię, że szukałem na forum tego problemu ale się nie doszukałem.
    To jest mój pierwszy post więc proszę o wyrozumiałość ;]

    Od niedawna bawię się w programowanie ATmeg.
    Mam problem podczas zapisu programu do mojej ATmegi8.
    Piszę program w WinAVR i za pomocą AVRdude wgrywam plik do pamięci FLASH. Kiedyś proces ten przebiegał bezproblemowo ,ale ostatnio nie wykrywa mi mikrokontrolera.
    Gdy trzymam wciśnięty przycisk RESET to zapis przebiega normalnie. Program się wgrywa i działa dobrze. Po prostu podczas zapisu ATmega sama się nie resetuje....

    A teraz dwie prośby:
    1. Co zrobiłem nie tak (chce uniknąć tego w przyszłości)?
    2. Jak to teraz naprawić?
  • REKLAMA
  • #3 6457746
    mały_zrw
    Poziom 10  
    mirley napisał:
    Witam

    A próbowałeś na innych egzemplarzach ATMEGA8? Może to programator padł i nie wystawia resetu?


    No inne ATmegi zachowują się podobnie....
    Czyli, że co w takim wypadku? Mam uszkodzony programator? :/
  • REKLAMA
  • #4 6457826
    mirley
    Poziom 17  
    Tak od razu to nie da się stwierdzić. Jeśli miałeś podłączony procesor do programatora i wszystko działało. To tak nagle nie mogło przestać. Jeśli na innych procesorach nie działa no to stawiał bym na programator. Nie znaczy to że masz go wyrzucić.

    Jeśli masz dostęp do LPT to zrób prosty programator, a w zasadzie kabelek programujący i podłącz do mikrokontrolera. Jeśli zadziała to winy szukaj po stronie programatora albo połączeń między programatorem a uC.

    Narazie nic innego nie przychodzi mi do głowy. Ja też używam AVRDude, a programuje za pomocą USBASP
  • REKLAMA
  • #5 6457901
    mały_zrw
    Poziom 10  
    No właśnie ja również używam USBasp. Sam go lutowałem z gotowego opisu ze stronki:
    Link
    Jutro będę miał kontakt z kolegami z politechniki, którzy równorzędnie ze mną robili identyczne programatory, to będziemy badać, czy wina leży po stronie programatora, czy też po stronie mikrokontrolera.

    Ja podejrzewałem że pozbawiłem się programowanie ISP, bo przez omyłkę mogłem przestawić RESET na port wyjścia. Jutro dam znać co jest wadliwego...
  • Pomocny post
    #6 6457908
    _Robak_
    Poziom 33  
    Pokaz schemat, ostatnio mialem problem, do resetu byl podlaczonu uklad do generwania resetu (nie pamietam dokladnie jaki) i zeby programator (AVRISP mk II) dzialal, trzeba bylo zewrzec reset z masa. U ciebie moze to byc wina zbyt malej wartosci rezystora podciagajacego reset.
  • #7 6458002
    mały_zrw
    Poziom 10  
    Oba schematu robiłem i obydwa działają niemalże identycznie:
    Link
    Tutaj ten po lewej, bo po prawej jest programator pod LPT bez buforów:
    Link

    Tyle że kiedyś to działało poprawnie, a chyba przez moją głupotę coś zmieniłem w ATmedze lub coś się stało programatorowi...
  • #8 6458044
    _Robak_
    Poziom 33  
    Jak masz programator pod lpt to sciagnij isp programmer dybkowskiego i w nim mozesz recznie sterowac resetem. Sprawdz, zobacz, wszystko bedzie jasne ;)
  • #9 6458481
    janbernat
    Poziom 38  
    "Gdy trzymam wciśnięty przycisk RESET to zapis przebiega normalnie"
    "No inne ATmegi zachowują się podobnie.... "
    "a chyba przez moją głupotę coś zmieniłem w ATmedze lub coś się stało programatorowi..."
    A może jednak użyć omomierza-czy jest przejście...
    I woltomierza- czy programator wystawia na RST 0 i czy to 0 pojawia się na RST procesora.
  • REKLAMA
  • #10 6459517
    mały_zrw
    Poziom 10  
    To jednak chyba wina ATmegi, bo miernikiem sprawdziłem i połączenie jest między programatorem, a ATmegą.
    Napięcie na RESECIE (pomiędzy nogą 1 a 8) podczas zapisu nie mogę zmierzyć, bo miernik nie ma takiego czasu reakcji. Zbyt szybko się to zmienia. Tak jakby programator wysłał jedynie impuls. Wysyła sygnał że ATmega ma być zresetowana przy zapisie, a później zamiast ją resetować i zapisać program, to wywala byka:


    avrdude.exe: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.08s

    avrdude.exe: Device signature = 0x1e0000
    avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
    Double check chip, or use -F to override this check.

    avrdude.exe done. Thank you.

    Nie wiem, czy dobrze myślę, ale chyba przestawiłem RESET, by działał jako port wyjścia. Jutro dam znać co wykombinowałem.....
    Mile widziane pomocne posty :]
  • #11 6460137
    _Robak_
    Poziom 33  
    To napisalem ci co zrobic zeby zobaczyc czy dziala, ale widze ze to olales i nie wiadomo co jeszcze oczekujesz.
  • #12 6462477
    mały_zrw
    Poziom 10  
    _Robak_ napisał:
    To napisalem ci co zrobic zeby zobaczyc czy dziala, ale widze ze to olales i nie wiadomo co jeszcze oczekujesz.


    Nie że olałem tylko wczoraj nie miałem czasu za dużo by nad tym siedzieć.
    Plan miałem taki by sprawdzić ATmegę dziś rano na uczelni, jeśli by była wina ATmegi to bym budował to co poleciłeś.

    Programator mam sprawny bo już przetestowaliśmy.
    ATmega u kolegi również nie chciała się zapisać.
    Wziąłem ze sobą cała płytkę stykową z elementami tak jak to było porozmieszczane wcześniej. Podmieniliśmy mikrokontrolery i jego procek (nówka nie śmigana) również nie chciała się zapisać.
    Dlatego jednoznacznie stwierdziliśmy, że wina stoi po stronie schematu.
    Niestety nie analizowałem co jest źle podłączone, a z emocji powyrywałem przewody z płytki i połączyłem jeszcze raz.....
    Zadziałało ;]
    Tak więc musiałem przez omyłkę podczas zabawy z układem coś poprzestawiać.
    Szkoda że jedynie nie wiem co połączone było nie tak, to bym już na przyszłość wiedział.

    Tym samym problem rozwiązany i dziękuję wszystkim za zaangażowanie i profesjonalną pomoc ;)
REKLAMA