Mit USBasp Fuses setzen

Hallo,
jetzt habe ich eine Anfängerfrage und hoffe die richtige Kategorie gefunden zu haben:

kann ich mit dem USBasp-Adapter die Fuses im ATmega168 20U setzen?
Konkret geht es um die Nutzung eines externen Quarzes mit 20Mhz.
Gelesen habe ich etwas von "Verzögerungszeit" etc.
Ich stehe da jetzt ein wenig auf dem Schlauch.
Geht das mit einfachen Tools?
Danke schon einmal für die Hilfe
LG
Günter

Das geht mit der passenden Boarddefinition, auch aus der IDE heraus.
Werkzeuge-> Bootloader-brennen setzt die Fuses.

Hallo,
ich habe den "Arduino NG or older" ausgewählt.
Dann kann ich nur den Atmega168 weiter anwählen.
Bei anderen Boards geht nur Atmega168 16MHz
oder liege ich da falsch?
LG
Günter

Sage ich ja: "Das geht mit der passenden Boarddefinition"
Du hast das offensichtlich keine passende.

Wenn du keine findest:
.... könntest dir eine bauen .....

Höchstwahrscheinlich wird noch ein "Core" gebraucht, wo du die Einstellungen auswählen kannst, die du haben willst.
Wenn es um um ATmega168 und 20 MHz geht, dann kann es mit MiniCore gehen:

Andere Möglichkeit AVRDUDE direkt über die Kommandozeile ansprechen oder ein Grafisches User Interface dafür verwenden, z.B. AVRDUDESS:

Auch dann braucht man eine passende Boarddefinition.
Sonst stimmen sicherlich millis() und der andere Zeitkram, wie Baudrate und ADC Takt nicht mehr.

Stimmt.
Jedoch war die Frage:

Ja, das geht!

Wobei, weil ihm hier im Arduino Forum aufgeschlagen ist, dachte ich ihm würde die Arduino IDE nutzen wollen.
Scheine mich wohl geirrt zu haben.

Das allerdings spricht für mein These.

Hallo,
ja, ich wollte die IDE nutzen.
Habe jetzt auch den MiniCore installiert und "external 20MHz" ausgewählt.
So wie ich es verstanden habe, muss man dann den Bootloader brennen, um die entsprechenden Fuses zu setzen.
Jetzt ist der Atmega tot! Läßt sich nicht mehr ansprechen.
Ich habe mir jetzt den AVRDUDESS heruntergeladen.
Der kennt auch den USBasp-Adapter. Auslesen eines neuen 168er geht.
Jetzt traue ich mich nicht die Bits zu setzen, da ich noch keinen Hinweis auf 20MHz gefunden habe.
Alle Angaben beziehen sich auf 16MHz.
CKSEL0...3 0111 wäre eine Vermutung. Ist das richtig?
Außerdem bleibt für mich das Problem mit den SUT0 und SUT1, die, wie ich es verstanden habe eine Verzögerung des Hochlaufens einstellen.
LG
Günter

Welche Fuses werden denn dann gesetzt?
Und auch einen externen Takt dran?

Erstmal die längste Zeit einstellen.

keine Ahnung, ich habe "nur" Bootloader brennen gestartet, danach war der Chip tot.

ist denn CKSEL0...3 = 0111 richtig für 20MHz?
Danke
LG
Günter

Ausführliche Ausgaben aktivieren, dann siehst du die Kommandozeile, mit den Fuses.

https://www.engbedded.com/fusecalc/

Für 20MHz benötigst du einen Oszillator, oder einen Quarz.
Wenn du nicht weißt, ob du so einen montiert hast, dann wird da auch keiner sein.
Dann ist der Chip erstmal tot. (für dich)
Ja!

ich habe den Chip noch nicht in die Schaltung gesteckt.
Er meldet sich im Programmer gar nicht mehr.

Der Chip braucht jetzt den Oszillator oder den Quarz. Ohne geht es nicht mehr. Auch nicht im Programmer.

Um den Chip ohne Oszillator oder Quarz zu bespielen oder Fuses ändern, gibt es die High Voltage Programmierung oder man kann den Takt simulieren.

Ah, das Problem mit der Säge und dem Ast auf dem man sitzt!
Ich werde den Chip einmal in die Schaltung einsetzen, mal sehen ob er taktet
Danke
LG
Günter

So, jetzt möchte ich einen kurzen Zwischenbericht geben:
Der AVRDUDESS funktioniert super und ist leicht zu bedienen.
Ich habe mein Programmieradapter mit einem Quarz versehen und konnte einen 48er auf 20MHz stellen und verhält sich ohne Quarz wie der „irgendwie“ eingestellte 168er. Der gehimmelte 168er bleibt in den ewigen Jagdgründen.
Ich kann jetzt weitermachen und bedanke mich bei den helfenden hier.
Eine Frage hätte ich noch:
Gibt es so etwas wie „Urlöschen“ bei einem Atmega?
LG
Günter

Weiß nicht genau, was du damit meinst.

Manchmal passiert es, dass nach bestimmten Setzen von Fuses, ein Mikrocontroller nicht mehr mit den "normalen Mitteln" programmierbar ist. (Manchmal macht man das auch ganz bewusst z.B. bei ATtiny25/45/85 um den Reset-Pin auch als zusätzlichen Ausgang nutzen zu können).
In so einem Fall können mit einem HVSP Fuse Resetter (HVSP = high-voltage (12 Volt) serial programming) zum Beispiel die Fuse-Settings bei Auslieferungszustand wieder hergestellt werden. Danach lässt sich der Mikrocontroller wieder "ganz normal" ansprechen.
Das funktioniert bei manchen, aber nicht bei allen AVR-Mikrocontrollern.

Ein paar Links zum Weiterlesen gibt es z.B. hier:

Die Atmel mit 20 oder mehr Pins möchten meist HVPP.
HVSP ist für die mit weniger Pins.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.