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

Martwa Atmega8

16 Paź 2007 11:22 4261 9
  • Poziom 9  
    Witam,

    Ostatnio postanowiłem skonstruować prosty wyświetlacz LCD sterowany przez USB. Zaczerpnąłem schemat z http://www.linuxfocus.org/Polish/March2003/article286.shtml

    Jedyną zmianą jaką wprowadziłem była zmiana mikrokontrolera na ATMEGA8. Programuje w C. Do programowanie używam programatora STK200 i aplikacji uisp.

    Niestety napotkałem poważny problem! Jeżeli wgrywam do mikrokontrolera proste programy napisane własnoręcznie które wykonują komunikacje via UART, zapalają diodę, współpracują z przełącznikami wszystko jest ok.
    Gdy wgrałem aplikację autora projektu która współpracuje z LCD Atmega zmarła (uisp ani PonnyProg jej nie wykrywa). Fusebity ustawione są ok, własne aplikacje wgrywałem do atmegi kilkadziesiąt razy.

    Przyznaję się że nie przeanalizowałem schematu przed konstrukcją i teraz zauważyłem że LCD jest podpięty do tych samych wyjść mikrokontrolera, które uzywane są do programowania.

    Schemat układu: Martwa Atmega8

    PYTANIA:

    1. Czy to może powodować problem?
    2. Orginalnie autor używał kabla bezpośrednio wpiętego do LPT więc na schemacie są oporniki podpięte do linii SCK, MISO, MOSI. Czy one mogą zakłócać pracę programatora jeśli używam programatora STK200 zakupionego na Allegro ?
    3. Czy powinienem podłączać GND z programatora (układ jest zasilany z USB) ?
    4. Czy usmażyłem tą Atmegę czy poprostu jest zblokowana przez wgraną aplikację. Czy można ją ożywić, nie chcę stracić następnego mikrokontrolera.

    Dziękuję za wszelką pomoc i wyrozumiałość. Jestem mało zaawansowanym elektronikiem, wolę programować :).

    Pozdrawiam
  • Poziom 42  
    1. absolutnie nie może to powodować problemu, że piny do LCD są także wykorzystywane do programowania (co najwyżej w trakcie programowania na wyświetlaczu zobaczysz jakieś ptaszki-krzaczki)

    2. jeśli używasz programatora STK200 obojętnie gdzie kupionego to absolutnie pozbądź się tych rezystorów wpiętych szeregowo w linie do programatora

    3. Musisz zapamiętać raz na zawsze że prograując za pomocą STK musisz podłączać nie tylko linie sygnałowe MOSI, MISO, SCK i RESET ale także i to koniecznie GND oraz VCC !

    4. jeśli nie poleciał jakiś siwy dym po twoich operacjach to na pewno jej nie usmażyłeś a gdy się zastosujesz do poprzednich punktów to może się okazać że ona "ożyje" ;)

    jedyne czym mogłeś ją zablokować to poprzez złe ustawienie fusebitów ale to też nie niszczy fizycznie procka i zwykle nadal jest on w prosty lub bardziej skomplikowany sposób do odratowania

    pozdrawiam
  • Poziom 9  
    Hej

    Dzięki ci wielkie za odpowiedź. Fusebity są ustawione ok na 100%, gdyż przed wgraniem softu autora projektu moje aplikacje działały. Zgodnie z twoimi sugestiami pozbędę się rezystorów, mam tylko jedno pytanie:

    Autor projektu, co widać na schemacie, nie przewidział podłączenia VCC z programatora STK200. Układ jest zasilany z USB w momencie programowania. Czy powinienem podłączyć VCC z ST200 do VCC w układzie skoro zasilanie idzie z USB (Boje się że usmażę programator)?

    Z góry dzięki za odpowiedź (Odpowiedź na to pytanie rozwieje wszystkie moje wątpliwości).
  • Poziom 28  
    Programator MUSI dostać zewnętrzne napięcie zasilania gdyż nie jest zasilany z portu LPT. Zatem musisz tą linie zasilania co idzie do procesora podłączyć również do programatora (na programatorze powinno być opisane w którym miejscu we wtyczce należy podać VCC).
  • Poziom 42  
    dokładnie tak jak powiedział wyżej kolega snow - programator STK200 najnormalniej w świecie potrzebuje napięcia zasilania bo w środku jest scalak - i najspokojniej w świecie możesz mu podać zasilanie z tego układu czyli z USB czyli +5V oraz GND i zapewniam cię że będzie to działało i nic się nie usmaży. Jeśli wcześniej robiłes coś tym progrmatorem i nie zasilałeś go z układu +5V to miałeś poprostu fuksa - bo wystarczało mu na tyle siły zasysając resztki miliamperów z LPT zadziałał gdy podłączałeś np samą ATmegę ;)

    autor projektu nie korzystał z zasilania bo jak widzisz podłączał się na tzw "wampira" do LPT co może czasem przy małej nieuwadze skończyć się usmażeniem LPT a wtedy jest gorzej ;) bo zwykle tylko jeden LPT masz w kompie. Dlatego milion razy lepiej jest programować przez STK200 bo masz wtedy bufor po drodze w postaci scalaka którego jak wspominałem trza zasilić ;)

    pozdrawiam i powodzenia
  • Poziom 9  
    Dzięki wielkie. Nie miałem pojęcia że STK200 bierze prąd z programowanego układu. Widać miałem fuksa, bo podłączałem tylko GND + linie programujące:). W sumie to powinienem się zorientować że coś jest nie tak bo PonnyProg często zwracał błąd przy weryfikacji zapisanego HEX'a. Dzięki wielkie. Jak wrócę do domu z roboty to sprawdzę.

    Pozdrawiam i dzięki za wyrozumiałość :)
  • Poziom 9  
    Witam,

    Układ został zmodyfikowany zgodnie z instrukcjami, niestety Atmega jest martwa. Jak nabiorę doświadczenia może uda mi się ją ożywić. Na razie poeksperymentuję z drugą. Wygląda na to że teraz programator działa poprawnie, nie otrzymują błędów z uisp.

    Ma ktoś może jakiś pomysł co mogło się stać z tamtą Atmegą (Wykluczając źle ustawione fusebity) ?

    Pozdrawiam
  • Poziom 42  
    jeśli układ jest dokładnie zmontowany jak na schemacie to naprawdę ten procek nie powinien być uwalony.

    rozumiem że próbujesz go programować gdy on siedzi w układzie tak? i dobrze - ale aby się upewnić czy może nie dzieje się tak przez jakiś błąd jednak w układzie wyjmij procka (lub wylutuj) i podłącz go bezpośrednio (samego) do STK200 oczywiście podając zasilanie i GND do procka i programatora +5V. Możesz go włożyć w podstawkę i do nóżek podstawki podłączyć MOSI, MISO, SCK, RESET, VCC i GND - wtedy będziesz miał 100% pewności czy coś jest nie tak z samym prockiem czy może coś z układem.
  • Poziom 9  
    Niestety nie będzie to takie proste, bo mikrokontroler ma przestawione fusebity do używania zewnętrznego kwarcu 4Mhz. Zrobię tak jak mówisz, jak w następnym miesiącu zakupię płytkę do montażu na pająka (na razie brak kasy :) ). Może wtedy coś mi się uda zdziałać. Na razie zaprogramowałem kilka razy drugi mikrokontroler i hula ok. Miejmy nadzieję że nie zejdzie po kilkunastu cyklach programowania jak poprzedni.

    Pozdrawiam i dzięki za wszystkie bardzo wartościowe sugestie!
  • Poziom 42  
    jako ciekawostkę podpowiem ci tylko, że nawet tak na pająka gdy podłączysz sam procek do STK200 a jest on zaprogramowany na kwarc zewnętrzny to wystarczy tylko tego kwarca (BEZ KONDENSATORKÓW) podłączyć do nóżek XTAL i też będzie chulało bez najmniejszych problemów.

    ostatnio w jakimś poście rozmawiałem tu na elce z kolegą prokopcio i to on mi to podpowiedział - hyhyhy od tej pory do testów również nie bawię się z podłączaniem kondensatorków przy kwarcu