Forum: Mikrocontroller und Digitale Elektronik ATmega8 kann nicht programmiert werden


von ich d. (tracktorad)


Angehängte Dateien:

Lesenswert?

Hi leute,

Ich bin ein Neueinsteiger in der microcontroller Technik und möchte 
erstmal nur meinen ATmega8 ans laufen kriegen. Ich habe schon viele 
Beiträge zu dem Thema gesehen und gelesen aber nicht hab geholfen.

Ich benutzt atmel studio 6 und als ISP Schnittstelle AVRISP mk2
Wenn ich die ID von meinem microcontroller auslesen will kommt folgende 
Fehlermeldung: Unable to enter programming mode.

               Timestamp:  2012-05-27 21:49:44.767
               Severity:        INFO
               ComponentId:  20100
               StatusCode:  0

Ausprobiert hab ich:
- den mega8 ausgetauscht
- alle möglichen Frequenzen ausprobiert
- Schaltung mehrmals ab und aufgebaut

Mein Schaltplan habe ich Angehängt

von error (Gast)


Lesenswert?

Verbinde am CON1 Pin 4 und 6 mit GND.
Siehe "Application note AVR042: AVR Hardware Design Considerations"

von ich d. (tracktorad)


Lesenswert?

was ist con1?
sry, bin neueinsteiger :)

von Umpa Lumpa (Gast)


Lesenswert?

Schau auf deinen Schaltplan.

von al3ko (Gast)


Lesenswert?

CON1 ist die ISP Schnittstelle. Irgendwie musst du ja deinen AVRISP mkII 
mit dem µC verbinden :)

Dein AVRISP mkII, wie viele Pins hat der? Ist das ein 6 Pin Header?


Gruß

von ich d. (tracktorad)


Lesenswert?

Ja das ist ein 6-pin aber das macht doch eigentlich keinen unterschied 
oder?
sry hätte ich noch dazu sagen müssen.

von ich d. (tracktorad)


Lesenswert?

Ich hab bei mir noch einen atmega168  gefunden bei dem kann ich die ID 
mit der selben Schaltung auslesen... ich kapiers einfach nich :)

von error (Gast)


Lesenswert?

Man kann nicht einfach einen 6 fach Stecker in eine 10 fach Buchse 
stecken.
Es bracht einen Adapter damit die Leitungen auch stimmen.

Die Belegung kann man dem Application note AVR042 entnehmen.

von ich d. (tracktorad)


Lesenswert?

Ich hab einen 6-pin wannenstecker benutzt, .... mit dem atmega168 hat es 
ja geklappt.

von Al3ko -. (al3ko)


Lesenswert?

Lass den Atmega168 mal außer Acht.

Hier ist ein Dokument zum AVRISP mkII
http://www.jedmicro.com.au/AVRISPmkII_UG.pdf

Schau dir Seite 26 an. Dort ist die Pinbelegung des CON1 beschrieben. 
Siehst du einen Unterschied zu deiner Belegung im Eingangspost?


Gruß

von ich d. (tracktorad)


Angehängte Dateien:

Lesenswert?

hi.. danke für die Antwort... ich habe mal 2 Bilder von meiner Schaltung 
hochgeladen. So ist es doch richtig oder ? Funst aber noch nicht :)

von ich d. (tracktorad)


Lesenswert?

Hab gerade gesehen das ich noch eine Warnung bekomme:

11:26:14: [WARNING] The device [atmega8] is not supported in ASF Version 
[2.11.1] that is used in the project LED-Dauerhaft

kann das was damit zu tun haben ?

von holger (Gast)


Lesenswert?

>So ist es doch richtig oder ?

Nein, dein Programmer versorgt den uC nicht mit Spannung.
VTrg ist nur zum messen der Spannung. Du musst also noch
5V auf dein Brett einspeisen.

von schmitti (Gast)


Lesenswert?

Taktfrequenz des Programmers überprüft? Sollte nicht größer als 1/4 des 
Systemtakts sein (hier möglicherweise interner Takt von 8Mhz / 8 ==> 1 
MHz)

von Jojo (Gast)


Lesenswert?

Hallo,
ich behaupte mal der ATMega bekommt keine Spannung.
Die 5er Segmente der Stromschienen müssen gebrückt werden.

von ich d. (tracktorad)


Lesenswert?

holger schrieb:
> Nein, dein Programmer versorgt den uC nicht mit Spannung.
Ich trottel hab vergessen bei dem Foto die Spannung anzulegen.. ich hab 
3V anliegen

Jojo schrieb:
> Die 5er Segmente der Stromschienen müssen gebrückt werden.
Ne die linke und die rechete Stromschiene ist durchgehend

Thx für die schnellen Antworten... weiß vielleicht einer was über die 
Meldung:

ich du schrieb:
> 11:26:14: [WARNING] The device [atmega8] is not supported in ASF Version
> [2.11.1] that is used in the project LED-Dauerhaft

von Hans Peter B. (Gast)


Lesenswert?

Ich nehme an der Satz: "ich hab 3V anliegend" ist ein Schreibfehler, 
denn der von dir eingesetzte ATmega8 braucht im Minimum 4.5V.
Weiter wird der ATmega8 von deinem "AVR Software Framework"-Version 
nicht mehr unterstützt.
Warum setzt du auch eine Multi-Plattform-IDE zum Programmieren eines 
Baby-Controllers ein - du wärst zum Beginnen mit dem AVR-Studio 4.xx 
wesentlich besser bedient.

Hans Peter

von Al3ko -. (al3ko)


Lesenswert?

(1) Du hast einen Atmega8, keinen Atmega8L. Laut Datenblatt braucht der 
Atmega8 4.5-5V Versorgungsspannung. Deine 3V sind m.E. zu wenig.
(2) Woher hast du dein Projekt LED-Dauerhaft?
(3) Hast du mal ein neues Projekt erstellt und geguckt, ob sich der 
Fehler ggf.  dadurch lösen lässt?

Dass der Programmer schon mal grün leuchtet, ist gut, denn deutet darauf 
hin, dass die Pins richtig angeschlossen sind.

Gruß

von ich d. (tracktorad)


Lesenswert?

Danke.. ich hab 3V anliegend (falsches Datenblatt :))..
ich setz eure Vorschläge um und sag dann nochmal bescheid

von ich d. (tracktorad)


Angehängte Dateien:

Lesenswert?

Also ich hab jetz 4,5V anliegen und benutzt avr studio 4
Ich bekomme aber trotzdem noch eine Fehlermeldung (siehe Anhang)

von Guest (Gast)


Lesenswert?

Hast du ein paar LEDs übrig? Dann benutze sie zur Fehlersuche, indem du 
sie mit einem 1 kOhm Serienwiderstand versiehst und zwischen die Signale 
der ISP Schnittstelle und GND hängst. Die LEDs werden mit den großen 
Widerständen nicht besonders hell leuchten, dafür aber die Signale nicht 
all zu sehr beinflussen. Könnte aufschlussreich sein, mit angeklemmten 
LEDs einen Lesevorgang im AVR Studio zu starten. (Das alles unter der 
Annahme, dass du kein Oszilloskop zur Verfügung hast)

Ist zwar mit Sicherheit nicht die Ursache des Problems, aber gewöhne dir 
an den 100 nF Kondensator so dicht wie möglich am Controller zu 
platzieren damit er seine Wirkung entfalten kann und dem Controller eine 
stabile Versorgungsspannung zur Verfügung stellt (wegen der 
impulsförmigen Stromaufnahme von CMOS Schaltungen). VCC und GND liegen 
ja am AVR zum Glück direkt nebeneinander :). Also einfach den 
Kondensator genau dort anschließen.

Ich hab jetzt leider kein AVR Studio 4 zur Hand, aber in dem ISP 
Dialogfenster gibt es unter den Reitern "Advanced" oder "HW Settings" 
eine Option zum Einstellen der ISP Taktfrequenz. Setze die einfach mal 
testweise auf einen Wert um die 10 kHz. Dann dauert die Übertragung 
länger, mit dem Debug-LEDs wird's dadurch aber leichter den 
Datentransfer zu erkennen.

Hoffe, das bringt sich etwas weiter.

von spess53 (Gast)


Lesenswert?

Hi

>Ich hab jetzt leider kein AVR Studio 4 zur Hand, aber in dem ISP
>Dialogfenster gibt es unter den Reitern "Advanced" oder "HW Settings"
>eine Option zum Einstellen der ISP Taktfrequenz.

Ist auf dem Tab 'Main' zu finden.

MfG Spess

von ich d. (tracktorad)


Lesenswert?

Guest schrieb:
> Hast du ein paar LEDs übrig? Dann benutze sie zur Fehlersuche, indem du
> sie mit einem 1 kOhm Serienwiderstand versiehst und zwischen die Signale
> der ISP Schnittstelle und GND hängst.

Ich hab das mal gemacht aber ich weiß jetzt nicht was das heißt:
  SCK                LED leuchtet kurz
  Mosi               LED leuchtet kurz
  Miso               nichts passiert
  Reset(ohne 10kohm) led an und geht dann kurz aus

kann mir das vielleicht noch einer erklären?

von Guest (Gast)


Lesenswert?

Der Programmer führt also einen Reset durch, dann taktet er Daten per 
MOSI und SCK in den AVR. Soweit also in Ordnung. Der AVR gibt aber 
leider auf MISO keine Antwort raus.
Ist der Atmega8 neu oder war er schon mal irgendwo im Einsatz?

von spess53 (Gast)


Lesenswert?

Hi

Was ist nun mit der ISP-Frequenz?

MfG Spess

von ich d. (tracktorad)


Lesenswert?

spess53 schrieb:
> Was ist nun mit der ISP-Frequenz?

sry, meine Freq. ist 125khz

Ist der Atmega8 neu oder war er schon mal irgendwo im Einsatz?

der ist schon gebraucht, aber der hat noch funktioniert als ich den 
weggepackt hab (asuro roboter)

ich hab aber zwei... bei beiden das selbe Resultat.

Ich hab mir vorsichtshalber noch ein paar neue bestellt :)

von ich d. (tracktorad)


Lesenswert?

muss mich verbesser:
Bei meinem zweiten ATmega leuchtet die LED an Miso sehr schwach und 
kurz...
bei den anderen(reset,mosi und sck) leuchtet die stärker

von pom p. (pompete)


Lesenswert?

...und die "gebrauchten" Atmegas waren in der letzten Schaltung nicht 
zufällig mit Quarz oder anderer externer Taktung betrieben??
Ich frag nur,da Du auch keine solche Taktung auf Deinem Board hast?

von Michael D. (etzen_michi)


Lesenswert?

hast du schonmal versucht beim Programmieren einfach mal ein ~1MHz 
Rechtecksignal an XTAL1 anzulegen?

von pom p. (pompete)


Lesenswert?

Michael D. schrieb:
> hast du schonmal versucht beim Programmieren einfach mal ein ~1MHz
> Rechtecksignal an XTAL1 anzulegen?

...Er stöbert bestimmt in seinen Bastelkisten und sucht die alten 
Schaltungen ;-)
Lassen wir ihm noch ein wenig Zeit...

von ich d. (tracktorad)


Lesenswert?

O:-) ich bin unschuldig!! (oder auch nicht)

pom pete schrieb:
> ...und die "gebrauchten" Atmegas waren in der letzten Schaltung nicht
> zufällig mit Quarz oder anderer externer Taktung betrieben??

so isses ich hatte ein Quarz angeschlossen

nur wieviel Herz weis ich nicht mehr..

pom pete schrieb:
> ...Er stöbert bestimmt in seinen Bastelkisten und sucht die alten
> Schaltungen ;-)
ich suche noch die Schaltpläne :)

kann ich das auch im avr studio umstellen ?... oder brauche ich die 
Genaue Frequenz ?

von Al3ko -. (al3ko)


Lesenswert?

Wenn du einen alten Quarz angeschlossen hast, wird der Atmega sicherlich 
seine Fuses verstellt haben.

Entweder gibst du ihm den nötigen Takt oder wartest, bis die fabrikneuen 
Atmegas eingetroffen sind.

Gruß

von ich d. (tracktorad)


Lesenswert?

habs gefunden: ein ztt 8.0 mt wurde verwendet ... ich denke das heißt 
8Mhz
also einfach den Quarz mit der richtigen Schaltung anschließen dann 
sollte es klappen??

von pom p. (pompete)


Lesenswert?

Klaus Dietmar schrieb:
> Wenn du einen alten Quarz angeschlossen hast, wird der Atmega sicherlich
> seine Fuses verstellt haben.
>
> Entweder gibst du ihm den nötigen Takt oder wartest, bis die fabrikneuen
> Atmegas eingetroffen sind.
>
> Gruß

...so ist es, damit du wieder auf "internen Takt" stellen kannst muss er 
erst einmal laufen, was aber mit fehlenden "externen Takt" nicht möglich 
ist...

Jetzt kommt die idee von Michael ins Spiel:

Michael D. schrieb:
> hast du schonmal versucht beim Programmieren einfach mal ein ~1MHz
> Rechtecksignal an XTAL1 anzulegen?

....oder halt alternativ ein Quarz und Kondensatoren probieren...

letzte Option:

Klaus Dietmar schrieb:
> Entweder gibst du ihm den nötigen Takt oder wartest, bis die fabrikneuen
> Atmegas eingetroffen sind.

von pom p. (pompete)


Lesenswert?

ich du schrieb:
> habs gefunden: ein ztt 8.0 mt wurde verwendet ... ich denke das heißt
> 8Mhz
> also einfach den Quarz mit der richtigen Schaltung anschließen dann
> sollte es klappen??

...ja,wenn alles andere richtig angeschlossen ist.....vergiss aber die 
zwei Kondensatoren vom Quarz zu GND nicht ;-)

von ich d. (tracktorad)


Angehängte Dateien:

Lesenswert?

Also laut Schaltplan sollte das so aussehn aber im Internet finde ich 
ganz andere Ansteuerungen mit einem Quarz... brauch ich einfach nur die 
drei Pinchen verbinden oder noch etwas anderes machen??

von spess53 (Gast)


Lesenswert?

Hi

>Also laut Schaltplan sollte das so aussehn aber im Internet finde ich
>ganz andere Ansteuerungen mit einem Quarz...

Das sind auch keine Quarze, sondern Keramikresonatoren. Quarze haben im 
allg. 2 Beine.

MfG Spess

von Guest (Gast)


Lesenswert?

Was du da im Schaltplan hast, ist ein Keramikresonator. Die sind 
einfacher zu handhaben, sind aber recht ungenau. Für deinen Zweck aber 
erst mal egal und daher ausreichend :).

von ich d. (tracktorad)


Lesenswert?

Leute,... Mega Applaus an alle :)
Er klappt und ich bin dreimal so schlau wie vorher!! hab ne menge 
gelernt

thx

nur ähhm, noch so eine dumme Frage :) wie kann ich jetzt einstellen das 
ich den internen takt nutze??

von Guest (Gast)


Lesenswert?

Sollte selbsterklärend sein: 
http://www.mikrocontroller.net/wikifiles/5/51/Avrstudio4.13.png

Aufpassen: Ein Quarz ist KEIN "Clock", sondern ein "Crystal" (Für den 
Resonator ebenfalls diese Einstellung wählen). Ansonsten lieber zu lange 
Startup-zeiten einstellen als zu kurze. Kurze machen nur Sinn, wenn der 
Controller alle Ewigkeiten mal sehr kurz aufwachen soll um etwas zu tun 
und dann weiterzuschlafen. Dann machen die gesparten 50 ms schon etwas 
aus ;).

von spess53 (Gast)


Lesenswert?

Hi

>Ansonsten lieber zu lange
>Startup-zeiten einstellen als zu kurze. Kurze machen nur Sinn, wenn der
>Controller alle Ewigkeiten mal sehr kurz aufwachen soll um etwas zu tun
>und dann weiterzuschlafen. Dann machen die gesparten 50 ms schon etwas
>aus ;).

Was hat das das Aufwachen aus einem Sleep mit dem 'Additional Delay from
Reset', der mit den Fuses eingestellt wird, zu tun?

MfG Spess

von Guest (Gast)


Lesenswert?

spess53 schrieb:
> Was hat das das Aufwachen aus einem Sleep mit dem 'Additional Delay from
> Reset', der mit den Fuses eingestellt wird, zu tun?

Zitat Datenblatt zum Atmega8L:
"When waking up from Power-down mode, there is a delay from the wake-up 
condition occurs until the wake-up becomes effective. This allows the 
clock to restart and become stable after having been stopped. The 
wake-up period is defined by the same CKSEL Fuses that define the Reset 
Time-out period, as described in “Clock Sources” on page 26."

Getestet und nachgemessen habe ich es noch nicht, ließt sich aber als 
hätte dieser Wert auch einen Einfluss auf das Reaktivieren des 
Oszillators nach einem wake-up event. Oder hab ich's falsch verstanden?

von ich d. (tracktorad)


Lesenswert?

Ok..

Nochmal vielen Dank Leute :)

von ich d. (tracktorad)


Lesenswert?

sry, wenn ich mit noch nem problem ankomme aber ich hab bei fuses : 
sut_cksel also der taktfrequenz zu viel rumgespielt und jetzt kann ich 
nichts mehr machen egal was ich einstelle...

von spess53 (Gast)


Lesenswert?

Hi

> Oder hab ich's falsch verstanden?

Nein, ich revidiere mich. Gilt aber nur für den Power-Down-Mode.

MfG Spess

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.