mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Brauche Hilfe bei ATMega8-16


Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Beim ersten Versuch einen Mikrocontroller (ATMEGA8-16) zu beschreiben,
habe ich Fehler gemacht!!!

Ich konnte den AVR einmal lesen und wollte danach die Fusebits setzen
und habe dies wahrscheinlich falsch gemacht. Seither kann ich nicht
mehr auf den AVR zugreifen und bekomme bei PonyProg immer einen
"Device...Fehler(-24)". Zum programmieren benütze ich die abgespeckte
Version des Si-Prog für die serielle Schnittstelle.
(http://s-huehn.de/elektronik/avr-prog/avr-prog.htm)


Nun zu meiner Frage:
Ich habe gehört, dass man die Standardkonfiguration wieder auf den AVR
bekommen und so den AVR wieder zum Leben erwecken kann.

Wer kann mir dabei helfen???

Vielen Dank
Gruß Marcus

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du Glück hast, reicht ein QuarzOszillator (Metallbüchse mit 4 Pins)
von einigen MHz am XTAL1 Pin, wenn Du den ResetPin weggefust hast, hilft
nur noch ein STK500 oder ein anderer HV-Programmer (oder ein guter
Freund mit solchem Teil). Tip am Rand: Kauf Dir einen ordentlichen
Programmer vom Originalhersteller ATMEL, dann hast Du die Probleme in
Zukunft nicht mehr.

Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir soeben den Atmel AVRISP MKII USB bei Reichelt bestellt, also in
Zukunft wird sowas nicht mehr passieren.

Mit dem Quarzoszillator (4mhz) hats nicht funktioniert!

Leider kenne ich keinen mit einem STK500, gibts noch ne andere
Möglichkeit?

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktionsgenerator, irgendwas das 5V-Frequenz erzeugt. Du musst nur den
µC an XTAL1 takten (4x programmierfrequenz), dann kannst'n auch wieder
programmieren.

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mal eine dumme Frage: wer ist eigentlich auf die glorreiche Idee
gekommen, im Tutorial so ziemlich am Anfang die Leute mit den Fuses
rumspielen zu lassen???

Bis zum UART gibt es dafür keinerlei Grund...

Sollte mal jemad ändern. Heißt nicht, daß ich Arbeit auf andere
abwälzen will, wäre aber wohl wirklich besser.

Gruß aus Berlin
Michael

Autor: HolgerH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marcus,

wo wohnst Du denn? Ich bin auf die glorreiche Idee gekommen, mir zum
Anfang ein STK500 zu kaufen (hab's seit ner Woche...).
Einfach weil ich dachte, dass sei eine sichere Möglichkeit sich über
den Programmer keine zusätzlichen Fehler einzubauen.

Wo kommst Du denn her, evtl können wir ja versuchen, mit dem STK 500
Deine Atmel zu retten.

Wobei die Preise eigentlich das Porto für's hin- und herschicken kaum
rechtfertigen würden...

Viele Grüße
Holger

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
alle neueren AVRs laufen in der Standartkonfiguration mit der internen
Taktquelle auf 1 MHz, deshalb sehe ich auch keinen Grund hier dran
rumzuspielen. Allerdings wird im Tutorial noch ein älterer AVR
verwendet der nen externen Takt braucht. Das Problem ist das Ponyprog
oder auch andere Progsoftware ja nicht weiß wie die Fuses eingestellt
sind, also muss man diese erst auslesen bevor man sie wieder schreibt,
damit die alten Fuses übernommen werden.

Habe mal mein altes Ponyprog gestartet und den ATM8 eingestellt welches
ich noch auf der Platte hatte. Dort steht RSTDISBL grau hinterlegt(also
sollte man da nichts verhunzen können), glaube aber beim ATM8 kann man
den RESET-Pin eh nicht alternativ verwenden, beim ATT26 aber wäre es
möglich. Grauenhaft hier muss man für den Takt z.B. jedes Bit selbst
setzen und hat dann auch noch ein ungutes Gefühl ob das ganze nicht
invertiert dargestellt wird, beim AVR-Studio klickt man hingegen auf
die gewünschte interne Taktrate mit der entsprechenden Startverzögerung
und es passt alles.
Ich vermute jetzt das du die Fuses mit SUT00 und CKSEL0000 gebrannt
hast, dann müsste ein externer Takt reichen.

Ich gehe jetzt erstmal vom seriellen Programmer aus, da dieser nicht
extern versorgt wird. Bei der Parallelel Version gibts ja 2erlei mit
und ohne HC(T)244.

Zu deinen Anschlüssen über die Leitung MOSI gelangen die Daten vom
Rechner in den AVR, SCK ist die Taktleitung und MISO ist die Leitung
von der der PC aus dem AVR ließt. VCC, GND und RST sollte klar sein.

Du sagt der PC verschickt Daten dies sieht du an der leuchtenden LED
wenn sie zw. MOSI und GND bzw. zw. SCK und GND hängt. Dann können wir
schonmal ausschließen das du keine Portzugriffe hast.

Da du aber auf der MISO Leitung kein Signal hast, hat entweder der AVR
keinen Strom oder im fehlt der Takt. Es kann aber sein das man diese
Leitung garnicht zum Programmieren braucht. Ich denke das diese Leitung
eher dazu da ist um die Daten auszulesen oder das Verifity
durchzuführen. Deshalb denke ich hast du die Fuses zerschossen als du
auf Ignore gegangen bist.

Bau dir mal einen astabilen Multivibrator auf dann gegen wir das
zusammen nochmal durch.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim AVRISP wird schon bei der Anwahl des 'FUSES'-Reiters der
Istzustand ausgelesen (Error falls nicht möglich), deshalb kommt's da
so gut wie nie zu Missverständnissen.

Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Holger
ich wohne im Raum Stuttgart, vielleicht sind hier noch andere aus dem
Raum Stuttgart die Bereit wären mir zu helfen??

@Thomas
Astabiler Multivibrator ist fertig, LED`s blinken. Habe diese Schaltung
genommen.
http://www.elektronik-kompendium.de/sites/praxis/b...

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok jetzt musst du es nur noch hinbekommen das das ganze schneller
blinkt.

@All: wie hoch müsste die Geschwindigkeit sein? Kann man in Ponyprog
die Geschwindigkeit zum proggen runtersetzen?

Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
von der blink geschwindigkeit habe ich es jetzt so, dass man kaum noch
sieht das es blinkt, oder ist das schon zu schnell???

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Gegenteil.
Viel zu wenig. Treib den Multivibrator so hoch wie du
nur kannst.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon mehrfach erwähnt: gutes Werkzeug ist alles! Original AVRISP
von ATMEL sagt: Taktfrequenz mindestens 4x ISP-Frequenz. Investiert
doch die 40€, dann seit ihr viele Sorgen los!

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
er hat sich ja nen ARVISP bestellt, will aber seinen ATMEGA wieder
erwecken.

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab' mir den Luxus eines GALEP von Conitec gegönnt, der kann die
Teile zuverlässig wiederholen. Ist halt sauteuer! Ansonsten: die
Takfrequenz 4x der ISP-Frequenz, dann sollte es gehen!

Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hoch ist die ISP-Frequenz, wie bekomme ich das heraus?

dann nehme ich einfach einen 22uF Kondensator und 470 Ohm Widerstand,
somit habe ich eine schnelle Blinkfrequenz. Oder immer noch zu wenig!

Ich habe auch noch einen 16Mhz Oszillator da!

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

16MHz-Oszillator lohnt sich zu probieren.
Wenn der AVR nicht allzu schlecht gelaunt ist (ungünstige Verdrahtung,
fehlende 100n-Cs an Ub usw.) kommt er damit durchaus klar.

Falls mit dem Multivibrator: eine LED raus und durch ca. 3,3k ersetzen,
dort den AVR ran, sonst wird es kein sauberer H-Pegel für den AVR.
Natürlich den Multivibrator mit 5V betreiben. Die eine Diode sollte da
immernoch blinken (Rest mit Originalwerten).

Dann die 47µ-Elkos durch 2,2nF oder so ersetzen, er sollte dann
immernoch schwingen. Erkennbar nur noch daran, daß die LED mit
"halber" Helligkeit leuchtet.

Die 2,2n können auch noch kleiner sein, wenn er da noch schwingt.

Du bist dann immernoch irgendwo im oberen NF-Bereich (vermutlich
20-30kHz, keine Lust, zu rechnen), mußt also die ISP-Frequenz weit
genug runter setzen können...

Gruß aus Berlin
Michael

Autor: Hubert.G (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier den Oszillator, das ist der einfachste Weg.
Ein Multivibrator mit den RC wie du geschrieben hast, arbeitet im
unteren kHz Bereich.

Autor: Marcus P. (mapa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok habe nun den 16Mhz Oszillator angeschlossen, was muss ich jetzt tun,
damit der uC wieder funtkioniert???

Autor: Thomas O. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
kannst du kurz nochmal aufzählen wie deine Schaltung aufgebaut ist wo
der ATM8 drinsitzt? Ist da alles ok, kommen nach dem Spannungsregler
auch 5V raus? Hast du die empfolenen Kerkos am Spannungsregler und am
µC dran?

Wenn du jetzt nen richtigen Quarzoszilator hast kanns losgehen. 5V und
GND an die entsprechenden Beinchen des Oszi's am Ausgangpin kommen
jetzt 16 MHz raus diese musst du an den Anschluß XTAL1 hängen und das
mit möglichst kurzen Leitungen. Wenn jetzt die Fuses glücklicherweise
auf CKSEL=0000 und SUT=00 programmiert sind, müsste das auslesen der
Fuses schon gehen. Es sei den der Resetpin und das SPI sind
deaktiviert. Dann hilft wie gesagt nur noch das paralelle
Programmieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.