Hallo! Ich möchte euch um Hilfe bitten! Ich habe vor dem verfassen des Beitrags natürlich nach ähnlichen oder gleichen Problemen gesucht aber leider auch nichts gefunden. Zum Problem: Ich habe eine Grundschaltung mit einem ATmega88 aufgebaut: -ATmega88 -10-poliger ISP Stecker -rote LED + Vorwiderstand Programmiert habe ich mit AVRStudio 4.13 Build528 Programmieradapter ist der USBprog 3.0 (AVRISP MKII Klon) Die Schaltung wird über den Programmieradapter mit Spannung versorgt! (Könnte das Problem sein?!) Hat auch alles wunderbar geklappt und die LED hat geblinkt. Da hab ich dann verschieden Delays eingestellt um mich mal mit den Grundlagen zu befassen... Dann hab ich die Schaltung um einen 20MHz Quarz erweitert. Den Quarz hab ich auf dem Steckbrett mit XTAL1 und XTAL2 verbunden und auf die andere Seite über 22pF Kondiensatoren mit Masse. Dann hab ich den Fehler gemacht die Fuses nicht einzulesen bevor ich sie programmiere. Ich nehme an, dass deswegen nichts mehr geht oder weil ich die Schaltung über den Programmieradapter mit 5V versorge und das für den 20MHz Quarz nicht reicht? Auf jeden Fall hab ich die Fuse für den external Full Swing Crystal angehakt und den Haken bei: internal RC-Oscillator weggemacht. Danach hab ich auf programm geklickt und seit dem rührt sich nichts mehr. Der ATmega lässt sich jetzt nicht mehr ansprechen. Es kommt die Meldung: Man solle die ISP-Programmierfrequenz überprüfen, ich hab gelesen ihr kennt die Meldung ja alle ;-) Vielleicht kann mir jemand von euch einen Tipp geben?! Ob es an der Versorgung liegt oder an der falschen Fuse?! Nochmal das Fuse das gesetzt wurde: Im AVRStudio die letzte Wahlmöglichkeit für den Full Swing Crystal CKSEL3..1 011 Full Swing Crystal Oscillator CKSEL0 1 Crystal Oscillator slowly rising power SUT1..0 11 Starup: 16kCK Additional 14CK+65ms Vielleicht hab ich auch nur SUT1..0 falsch gewählt? Ich wusste nicht wie schnell der Quarz sich einschwingt und hab laut datenblatt dann slowly rising power gewählt... Hoffe mir kann jemand helfen. Danke.
Reaktivieren bei fehlerhaften Taktquellen-Fuse Einstellungen http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
Hi! Ja das hatte ich schon gelesen. Ich poste nicht wenn ich nicht sicher bin, dass es nötig ist. (Versuchs zumindest :-) Vielmehr würde mich interessieren ob es daran liegen kann, dass die Schaltung über den Programmieradapter versorgt wird und deshalb eventuell für den 20MHz Quarz zu wenig abbekommt (Laut datenblatt müssen es dann unbedingt 5V sein und ja nicht weniger). Ich weiß schon, dass ihr nicht hellsehen könnt aber ich dachte fragen kostet nichts. Noch fürs verständnis: Auch wenn der ATmega komplett zugemüllt wurde (durch programmieren der fuses ohne sie vorher einzulesen...) kann ich ihn mit einer externen Taktquelle wiederbeleben? Wenn nicht, hilft mir der Artikel der gepostet wurde (und den ich schon gelesen hab) auch nicht! Also die 2 Fragen sind noch unbeantwortet. Danke nochmal und lg. Richard
Wenn 5V ankommen am ATmega, dann ist es ja egal, woher die Spannung kommt. Evtl. mal die Spannung messen, evtl. sogar mit einem Oszi. Wenn die Spannung in Ordnung ist, kann das schon mal ausgeschlossen werden. Es gibt auch andere Möglichkeiten, den ATmega88 zu "verfusen". Wenn die Reset_Disable Fuse gesetzt wird oder die Debug Wire eingeschalten ist, funktioniert das ISP nicht mehr!
Kann das passieren wenn man fused ohne vorher einzulesen? Ich hab wirklich nur (und da bin 100% sicher) die fuse für die Taktquelle geändert. Wenn ja, könnte das das Problem sein. Dann hilft wahrscheinlich nur mehr HV programmieren oder? Ich habe gerade erst angefangen mich mit µCs zu beschäftigen. Verfüge leider über kein Oszi. Mit dem Mulitmeter hab ich gemessen und da scheint die Versorgung in Ordnung zu sein. Scheinbar ist es am besten nen neuen zu nehmen und diesmal die Fuses einzulesen, sie danach zu ändern und gucken ob es dann funktioniert.?! Kann jemand die Fusebiteinstellung bestätigen? Full Swing Crystal: CKSEL: 0111 SUT: 11 Für den 20MHz Quarz: http://www.myavr.de/shop/article.php?artDataID=32 Nicht, dass es daran liegt und ich noch einen verfuse... Danke. EDIT @Tobi: Es hat die ganze Schaltung nicht mehr funktioniert! Das heißt die Led hat vorher noch geblinkt, dann hab ich neu programmiert mit der neuen Fusebiteinstellung für den Quarz. Also nicht nur ISP weg sondern ganz aus!
Beim neuen AVR Studio (4.14 Build 589) sind default-mässig alle Fuses gesetzt. Das würde bedeuten, Reset-Disable UND Debug Wire ist gesetzt. Wenn du so programmiert hast, hilft nur noch HV-Programmierung. >Full Swing Crystal: CKSEL: 0111 SUT: 11 passt. --> Datenblatt Seite 33. Gruß Tobi
Hallo, Quarz wirklich so dicht wie möglich an den AVR-Anschlüssen? Die 22p auch dicht am Quarz und kurze Verbindung zum AVR-GND? Die 100n dicht an den AVR-Spannungsanschlüssen dran? Auf einem Steckbrett muß man sich da schon Gedanken machen, wie man die Teile anordnet, 20MHz sind da schon eine ganze Menge... Quarz also direkt neben die Anschlüsse stecken, die 22p direkt zur GND-Schene daneben, die 100n direkt an Vcc und GND. Wenn möglich, mach mal ein Bild vom Aufbau oder steck eine Quarz mit 3-4MHz rein, wenn Du einen zur Hand hast. Gruß aus Berlin Michael
Ich weiß, ich hab das Datenblatt ja gelesen!^^ Aber im AVRSTUDIO gibts dann doch mehr Einstellungen als ein Einsteiger verkraften kann^^ Ich hab wie gesagt AVRStudio in der Version 4.13 verwendet (Build 528) Ich war mir sicher, dass es ein Full Swing Crystal ist. Aber ich war mir wegen der Startup Time nicht sicher also hab ich das höchste gewählt... Steht auch im Datenblatt auf Seite 33. Noch eine Zwischenfrage: 16k CK steht schon für 16000 Clockcycles oder? Na gut, dann bau ich heut mal die Schaltung so um, dass ich den verfusten µC nochmal einsetze und es mit einer externen Versorgung versuch. Hab mir gestern noch ein netzteil gekauft aber noch nicht angebaut. Vielleicht liegts ja wirklich daran, dass die Schaltung zuwenig Spannung abbekommt. Wer weiß, ich werds mal ausprobieren und wenns daran nicht liegt probiers ich mit nem neuen und dem einlesen der fuses bevor ich neu fuse. Wenns daran auch ned liegt dann melde ich mich wieder. Was jetzt nicht heißt, dass bis dahin hier keiner posten darf^^ Ausnahmslose Postingerlaubnis erteilt :-) Gruß, Richard Edit: Ich hab hier grad was gefunden?!: http://www.myavr.info/myForum/viewtopic.php?p=1850&sid=c16db4434c974d946084ab3d484b44d7 Da steht was ganz anderes!!!
Hallo Michael! Ja die 100nF sind so dicht dran, dass der µC am Anfang geweint hat weil er Angst hatte der würde vom Kondensator gefressen. :-) (Spaß muss sein) Der Quarz musste ein wenig weiter weg ca 2cm von den Eingängen des µC(Steckbrettbedingt) die 22pF Kondis waren ganz dicht am Quarz und die Leitungen waren auch alle so kurz wie möglich. Eine Frage noch: Wenn die jemand mit "ja, du nap" beantwortet geh ich heim weinen... Muss ich die Fuse -"internal RC- Oscillator" gesetzt lassen so wie es von Anfang an war oder darf ich die "abhaken" wenn ich eine andere Taktquelle einstelle? Weil das würde dann auch erklären warum nichts mehr funktioniert... Ich hab grad in der AppNote AVR099 gelesen, dass der µC die CPU Frequenz nutzt um die 16k CK/ 14 CK + 65ms zu zählen!?!?!?!?!?! Und wenn ich ihm nicht erlaube den internen Takt zu verwenden (indem ich die Fuse "internal RC- Oscillator" abhake) dann is klar das nichts mehr geht?! Oder lieg ich hiermit komplett falsch? ich hoffe doch Besten gruß, Richard
Es lässt sich nur eine der Taktquellen auswählen, mehrere aktivieren geht nicht.
Die Startverzögerung die du da ansprichst wird nicht dein Problem sein. Teste wirklich 'mal mit einem 4 MHz Quarz. Ich wäre auch mit 20 MHz auf dem Steckbrett vorsichtig. Die Kontaktreihen haben eine nicht zu vernachlässigende Kapazität.
Richard, was ist denn das für ein Steckbrett? Kann es sein, dass das schon so viel Kapazität zwischen den Anschlüssen hat, dass die zusätzlichen 22pF zu viel werden und der Oszillator nicht mehr schwingt? Probiere doch mal die Hälfte. Servus, Helmut.
Hey danke leute, da kommen ja immer mehr gute Ideen. Als erstes möchte ich mich bereits jetzt mal bei allen bedanken. Super nette Community hier! Also das Steckbrett ist nicht mehr das neueste.... ich versuchs mal ohne oder mit der hälfte. Leider bin ich noch nicht so gut ausgestattet (gerade erst begonnen mein "Labor" einzurichten) Jetzt müsst ich wegen jedem Bauteil in die Stadt fahren :-) Aber ich werd mir mal einen 4MHz Quarz und einen Grundbedarf an Kondis besorgen (hätt ich sowieso schon machen sollen) Aber wie ihr bestimmt wisst, ist das Zeug in gewissen "Massen" (ja wollt ich so schreiben) auch nicht gerade billig g Danke für die Aufklärung wegen der Taktquelle. Das wär so ein Fehler gewesen wo man sich hätte in den A***** beißen können... Stellt euch vor man sperrt sich aus dem µC weil man ihm eine andere Taktquelle angibt und dann geht nichts mehr weil man ihm die eigene Eingebaute wegnimmt die er benötigt um zu zählen wann er die neue Taktquelle benutzen darf ^^ Ich werd die Schaltung heut nochmal aufbauen und dann mal ein Foto machen. Dann sieht man welches Steckbrett es ist und wie die Bauteile angeordnet sind. Bis dahin danke nochmal. Lg. Richard
Hi nochmal! Also danke nochmals für die tolle Hilfe und die Unterstützung sowie die guten Vorschläge. Das Problem ist gelöst: Ich versorge die Schaltung jetzt extern (118W PC-Netzteil) mit Spannung und es hat auf anhieb geklappt. Ich hab aber, dass muss ich dazusagen, die Ratschläge befolgt und das ganz neu aufgebaut und alles so knapp aneinander wie möglich gesetzt. Also ich weiß jetzt nicht ob es daran liegt oder an der besseren Spannungsversorgung (schlechtes Netzteil --> liefert keine 5V sonder 5,5V) Aber ich bin einfach nur froh und kann mich jetzt weiteren Aufgaben stellen. Also noch mal einen herzlichen Dank, es wird sicher noch ein paar Probleme geben mit denen ich dann gerne wieder hierher zurückkomme. Diese Schaltung war ja nur der Tropfen auf dem heißen Stein ^^ Ich hänge ein Bild an, da seht ihr was als nächstes ansteht :-) Beste Grüße aus Graz, Richard
Noch ein paar Bilder weil ich so froh bin :-)
Und das erste größere Projekt wo die Programmierung noch fehlt... kann also noch dauern ;-) Soll eine Lüfterregelung für den PC oder vergleichbare Systeme werden. Lg.
Hallo, die Quarzanordnung so ist ok, sieht auf meinen Steckboards auch immer so aus und macht mit 20NHz auch noch keine Probleme. Was anderes: Du hast offenbar AVcc und AGND nicht angeschlossen? Mach das generell, auch wenn Du den Port C im Augenblick nicht benutzen willst. So vermeidest Du Fehlersuche, wenn Du nicht mehr daran denkst und außerdem weiß man nie genau, welche geheimnisvollen Wege der Strom im AVR nimmt, die der Hersteller nicht eingeplant hat, wenn nicht alle GND/VCC-Anschlüsse angeschlossen sind... Gruß aus Berlin Michael
Hi Michael! Ich nehme an du meinst auf dem Steckbrett? Da hab ich für den Versuch ob es an der Versorgung liegt nicht alles angeschlossen. Aber ich werde den Rat in Zukunft beherzigen. Lg. Edit: Ich sehe gerade, dass ich das beim größeren Aufbau auch weggelassen hab. mir selber auf die Finger hau Werd ich ändern, danke für den Tipp.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.