Forum: Mikrocontroller und Digitale Elektronik Probleme mit Atmega8-Zugriff


von Ingo Herberholz (Gast)


Lesenswert?

Hallo,
Ich bin ein absoluter Anfänger bei der Programmierung von MC´s und hab
ein Problem. Ich habe mein Breadboard so bestückt, wie es das Tutorial
dieser Seite beschreibt. Nachdem ich den ersten Programmteil auf den
Chip aufgespielt habe, leuchteten auch die ersten beiden LED´s, so wie
es auch sein sollte. Doch dann habe ich irgendwas verstellt, was dazu
führte, dass der MC nicht mehr erkannt wird. Ich benutze das Programm
yaap und damit hat es am anfang auch gut funktioniert. An den
Einstellugen Fuses&Bits habe ich nur die beschriebenen Veränderungen
vorgenommen, sonst war ich nicht mehr in diesem Fenster.
Kann es sein, dass ich durch einen dummen aufspielfehler den MC kaputt
gemacht habe???
Bei dem Detection-Vorgang blinken die 4. und 6. led auf und erlöschen
dann wieder. Und als fehler wird mir gemeldet: Init failed. Is target
connected and powered on?Also der ISP sollte funktioneren.
Bitte helft mir!

von Khani (Gast)


Lesenswert?

Hallo Ingo,

welche Schaltung verwendest Du ?

Hast Du einen Quarzoszillator (die Dinger mit Blech außen herum und 4
(!) Beinen) oder einen Quarz (Blech außen herum 2(!) Beine) ?

Wenn Du die Fuses so einstellst (beim ATmega8), wie es im Tutorial
beschrieben ist, dann hast Du einen Quarz eingestellt. Wenn Du jetzt
einen Oszillator verwenden willst, dann kann es zu Problemen kommen.
Manchmal geht's manchmal nicht. Hatte ich auch.

Ich habe dann versucht die Fuses zu lesen und als es mal ging habe ich
dann die richtige Einstellung (siehe Datenblatt) zurückgeschrieben. Das
ist aber nicht ungefährlich - wenn man Pech hat, dann geht hinter nicht
mehr viel ;-).

Eine bessere Möglichkeit ist es, sich 2 15pF Kondensatoren und einen
Quarz mit irgendwas unterhalb 16 MHz zu beschaffen und dann mal
anzuschließen. Der Kram ist ja nicht so teuer (wenn Du dann dabei bist,
nimm am besten gleich einen Quarz mit einem "ungeraden" Wert wie diese
11,0... MHz - Teile. Die sind für später sehr praktisch, wenn man mal
was mit dem UART machen will.)

MfG, Khani

von Ingo Herberholz (Gast)


Lesenswert?

Ja, ich habe einen Oszillator. hab nur jetzt keine andern bauteile. also
wenn ich zum lesen das programm ponyprog verwende, blinken ein paar
lämpchen aber auch er sagt mir, dass er den device nicht findet. wenn
ich einen anderen device einstelle z.b. überträgt er irgendwelche daten
von dem mc und zeigt die mir an. keine fehlermeldung. kann ich den chip
nicht durch irgendeinen trick löschen? war vielleicht mein fehler, dass
ich, nachdem ich die hex in yaap geladen hatte sowohl flash, als auch
eeprom beschriben habe?

von Praktikant (Gast)


Lesenswert?

Dieser Thread kommt zur rechten Zeit. Ich wollte auch gerade die
Fusebits in meinem Atmega programmieren.

Aber was ist den nun die richtige Einstellung, wenn man einen
Oszillator verbaut hat?

von Khani (Gast)


Lesenswert?

Hm,

dann bau mal alles weg rund um den µController und lass nur das
wichtigste da (also Versorgung, Reset-Kreis, Oszillator). Dann schaust
Du noch, dass keine starken Störer in der Nähe sind (kleine E-Motoren,
wie Tischventilatoren oder Modellbau - das kann schon was ausmachen).
Wenn Du jetzt Glück hast, kannst Du mit PonyProg (viel verschrien,
trotzdem gut - meiner Meinung nach) die Fuses lesen. Vorher ATmega8
einstellen ! Dann setzt Du sie richtig nach Datenblatt - Achtung : Eine
eins im Datenblatt bedeutet ein Kästchen ohne Haken.

Ansonsten : Bei Reichelt gibts den Qurz-Kram schnell un billig. Dann
kannst Du Dir ja noch ein paar andere Teile (LCD, einen 2. µController,
MAX232, ...) bestellen, damit Du die Versandkosten voll machen kannst.

MfG, Khani

von Ingo Herberholz (Gast)


Lesenswert?

was mich halt nur wundert ist, dass die paar leds blinken, sobald ein
zugriff von dem programm ( ponyprog, yaap) erfolgt!? also muss die
verbindung doch stehen, da ich nichts an der schaltung verändert habe,
als es noch funktionierte.
du meinst also echt, dass es am quarz liegen könnte? mmh...hab ich denn
ne chance den mc wieder in den ursprungszustand zu bringen?

von Khani (Gast)


Lesenswert?

@Praktikant und alles sonst die es interessiert.

Das Datenblatt (ATmega8) sagt auf Seite 24 unter dem Punkt "clock
sources"

External Clock (also auch Oszillatoren) : 0000
Das bedeutet in Ponyprog von www.lancos.com (andere weiß ich nicht,
aber ohne Garantie gilt das auch für yaap) : die Kästchen  CKSx müssen
alle mit Häkchen bestückt werden.

Das macht man so : Erst den richtigen µController einstellen. Dann die
Fuses lesen. Dann NUR die Fuses ändern, bei denen man sich sicher ist.
Dann die Fuses wieder schreiben. Fertig.

MfG, Khani

P.S.: Gute Datenblätter zu den ATmegas erhält man bei www.atmel.com ;-)
Wenn man diese sorgfältig liest, dann entgeht einem fast nichts.

von Khani (Gast)


Lesenswert?

Das Geflackere an den LEDs kann daran liegen, dass sich LEDs und
Programmierleitungen die Pins teilen.

Oder irgendwas stimmt mit der Schaltung sehr grundlegend nicht ;-).
Poste mal die Schaltung, oder ob es eine bekannte Schaltung ist.

MfG, Khani

von Ingo Herberholz (Gast)


Lesenswert?

nun, die schaltung ist diese ausgangsschlatung:
http://www.mikrocontroller.net/tutorial/equipment.htm
und dann halt noch
http://www.mikrocontroller.net/tutorial/io-basics.htm
dazu.

von Khani (Gast)


Lesenswert?

Ingo,

dann ist es klar, dass die LEDs beim Zugriff durch Programmiersoftware
flackern.

Wie gesagt - miss erst mal alles durch (oder bau es noch mal neu auf),
nimm vielleicht einmal ein Oszilloskop (wenn Du eins hast) und schau,
ob der Oszillator noch geht. Wenn das nix hilft, dann bau die LEDs weg
und versuch es noch einmal.

Du hast ja gesagt es ging schon mal, oder ?

MfG, Khani

von Ingo Herberholz (Gast)


Lesenswert?

jo, es ging. ich meine, ob ich vielleicht mit der software was so
verändert hab, dass der mc nicht mehr beschreibbar, bzw. zu lesen ist.

von Khani (Gast)


Lesenswert?

Hi Ingo,

also es ist schon möglich, den µController so zu beschreiben, dass man
nichts mehr draufbekommt. Stichwort "Lock-Bits"
Dann ist er nur noch im High-Voltage Parallel Programming Modus zu
retten. Da braucht man dann allerdings noch so etwas wie das STK500.

Aber schmeiß die Flinte nicht gleich so weit fort und versuch erst mal
die Sache mit dem Quarz oder den anderen Möglichkeit der
Taktgenerierung. Außerdem gibt es hier und auf www.avrfreaks.net
kiloweise Threads, welche sich mit der Rettung von vergurkten
Controllern beschäftigen.

MfG, Khani

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.