WinAVR Atmega8 "AVR device not responding"...

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
GVolt
Użytkownik
Posty: 172
Rejestracja: 06 paź 2005, 17:13
Lokalizacja: z kątowni

WinAVR Atmega8 "AVR device not responding"...

Post autor: GVolt » 18 sty 2008, 22:21

Witam.

Wykonałem sobie multimetr do zasilacza ze strony elfly.pl. Ściągnąłem odpowiedni plik hex dla wyświetlacza 1x16. Przy próbie zaprogramowania procka WinAVR'em avrdude wywala mi błąd:

<screen1>

Po użyciu opcji -F dostaję takie coś:

<screen2>

Dodam, że programuję tym <link>. Na początku zasilałem układ z portu lpt, ale potem podłączyłem zewnętrzny zasilacz i odpiąłem układ od linii 2-5 LPT, lecz dalej to samo :(

Awatar użytkownika
RcTomek
Moderator
Posty: 243
Rejestracja: 27 wrz 2007, 21:15
Lokalizacja: Głogów / Wrocław

Re: WinAVR Atmega8 "AVR device not responding"...

Post autor: RcTomek » 18 sty 2008, 22:50

GVolt pisze:Na początku zasilałem układ z portu lpt, ale potem podłączyłem zewnętrzny zasilacz i odpiąłem układ od linii 2-5 LPT, lecz dalej to samo :(
Przecież na LPT nie ma zasilania (tylko masa i końcówki sterujące). Na USB za to masz +5V.

GVolt
Użytkownik
Posty: 172
Rejestracja: 06 paź 2005, 17:13
Lokalizacja: z kątowni

Re: WinAVR Atmega8 "AVR device not responding"...

Post autor: GVolt » 19 sty 2008, 9:51

Ddevil pisze:Przecież na LPT nie ma zasilania (tylko masa i końcówki sterujące). Na USB za to masz +5V.
Cytat ze strony patron.net.pl:
Jak widać w powyższym układzie mikroprocesor jest zasilany bezpośrednio z portu LPT komputera PC. W tym celu zostały równolegle połączone piny 2-5. Niekiedy zdarza się ,że port drukarki nie jest w stanie dostarczyć odpowiedniego natężenia prądu do zasilania mikrokontrolera. W takiej sytuacji konieczne jest podłączenie zasilania zamiast do pinów 2-5 do zwykłej bateryjki 4,5 V. Baterię podłącza się minusem do Gnd oraz plusem do Vcc. Oczywiście piny 2-5 nie są wtedy podłączane do mikrokontrolera.
Wie ktoś dlaczego avrdude nie chce mi zaprogramować tego procka?

Awatar użytkownika
RcTomek
Moderator
Posty: 243
Rejestracja: 27 wrz 2007, 21:15
Lokalizacja: Głogów / Wrocław

Post autor: RcTomek » 19 sty 2008, 11:05

Tak, ale to nie jest napięcie wprost z zasilacza. I tak jak napisałeś, ma ograniczoną wydajność prądową.
Pierwszy raz masz taki problem? Najpierw poszukałbym problemu po stronie sprzętowej. Mikrokontroler masz nowy, nie zmieniałeś ustawień fusebitów?

Próbowałeś innym programatorem?

GVolt
Użytkownik
Posty: 172
Rejestracja: 06 paź 2005, 17:13
Lokalizacja: z kątowni

Post autor: GVolt » 19 sty 2008, 11:49

Taki problem mam pierwszy raz. Kiedyś już programowałem atmege8 tym samym programatorem i problemu nie było.

Procka tego muszę zaprogramować przez ISP bo całość już jest zmontowana. Połączenia sprawdzałem i są ok (no chyba, że coś przeoczyłem :roll: ). Spróbuję później zaprogramować innym programem.

Procek nówka, ani razu nie zaprogramowany.

Awatar użytkownika
Krystian1989
-
Posty: 47
Rejestracja: 06 kwie 2007, 8:56
Lokalizacja: TBG
Kontakt:

Post autor: Krystian1989 » 19 sty 2008, 17:40

O ile się nie mylę to można zaprogramować Atmegę z poziomu BASCOM-a, posiadając tylko wsad *.hex.
W głównym menu kompilatora wybieramy "Manual Program" .
Wyświetli się okienko tak jak w załączniku.
Pierwszą czynnością będzie przyciśnięcie przycisku "Clear Buffer". Następnie przyciskamy "Load file into buffer" , wyskakuje nam kolejne okienko , na dole tego okienka zmieniamy rozszerzenie pliku na *.hex i otwieramy nasz wsad.
Następnie przyciskamy przycisk "Write buffer to flash ROM" i po kłopocie.
Załączniki
Schowek01.jpg

GVolt
Użytkownik
Posty: 172
Rejestracja: 06 paź 2005, 17:13
Lokalizacja: z kątowni

Post autor: GVolt » 19 sty 2008, 21:27

Spróbowałem przed chwilą zaprogramować BASCOM'em, ale nic z tego :/ Niby programuje ale na samym końcu jak czyta zawartość procka to wywala: "Diference at 0000", a jak kliknę "Identify chip", wyskakuje: "Could not identify chip with ID:FFFFFF"

Co sie z tym dzieje ?!??

Czyżby procek od nowości spieprzony?

edit: wziąłem procek na 100% dobry, wsadziłem do programatora. BASCOM odstawiał dalej to samo, a avrdude coś tam zrobił. Tylko że nie programowałem teraz ISP tylko osobno procka bez układu. Autor multimetru pisał o programowaniu isp, nie wiem czy ma jakieś znaczenie jak zaprogramuję normalnie i potem wlutuję. Spróbuję, tylko teraz muszę wylutować tą mege co siedzi w układzie :/

Załączam screena tego co dał mi teraz avrdude. Coś poszło, tylko tam jest coś o zapisie do pliku i pisze failed, więc zaprogramowało czy nie?

<screen>

a i jeszcze pisze coś o tym hexie "Invalid format" :/

edit kolejny:
Zapomniałem przed chwilą o giveio, teraz zaprogramowało :) Trzeba teraz tylko podmienić procka w układzie.

teraz mam: <screeeen>

[ Dodano: 2008-01-20, 12:33 ]
EDIT:

Przed chwilą obejrzałem płytkę i schemat układu i okazało się, że nie miałem szans zaprogramować tego procka przez ISP :evil: . Autor pisze o programowaniu ISP a sam taką możliwość zablokował :roll: . Nóżki MISO i /RESET są wpięte do VCC, a MOSI do GND :!: . Przeciąłem na płytce te ścieżki i spróbowałem zaprogramować. Tym razem poszło ale na końcu avrdude pyta się o fusebity :/ Proszę o jak najszybszą pomoc. Mam wybrać "yes" czy "no" ???

>> >>FUSE<< <<


Dodam, że autor napisał:
# ustawić fusebity tak, żeby µC pracował z wewnętrznym zegarem 1MHz;
# włączyć układ "Brown Out Detector". Próg zadziałania ustawić na 4V;
# wykonać weryfikację zapisu;
# odłączyć multimetr od programatora.
fusebity mam chyba ustawić na końcu, więc co to mi wyskoczyło? dlaczego?

[ Dodano: 2008-01-20, 13:54 ]
Nie chciało mi się długo czekać na odpowiedź, więc porobiłem coś sam i spróbowałem zaprogramować jeszcze raz. Tym razem nic o fuse'ach nie wyskoczyło. Spróbuję teraz zaprogramować fusebity na osc wewn 1MHZ i Brown-Out Detection.

Ustawiłem lfuse 0x21, hfuse 0xD9. Sprawdzę, może wkońcu zadziała.

Edit: nie działa. Podświetlenie w wyświetlaczu się włączyło, ale lcd nic nie wyświetla.

Już lepiej zrobię sobie sam od podstaw multimetr do zasila. Już mam dość tego, że jak zrobie kogoś projekt to przeważnie nie działa.

ODPOWIEDZ