Tiny nach Fuse setzen tot, oder fuses setzen für Anfänger (wie mich)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Tiny nach Fuse setzen tot, oder fuses setzen für Anfänger (wie mich)

      Hallo zusammen,

      nachdem mir hier gerade sehr geholfen wurde, möchte ich meine Erfahrungen hier teilen.

      Ich habe schon ein wenig Erfahrungen mit Bascom gesammelt, hab mich aber noch nie mit den Fusebits beschäftigt.
      Ich wollte einen ATTiny85 mit den intern möglichen 8 MHz takten. Im Auslieferzustand läuft er ja durch den in den Fusebits eingestellten Teiler nur mit 1 MHz.
      Im Netz habe ich dann eine Anleitung gefunden, in der steht:
      "Beim erstmaligen Fuse setzen ist dieClock Frequencyauf <1/4, d.h. <250kHz zu reduzieren."
      Siehe hier: dl6gl.de/sites/default/files/d…m_und_usbasp_setzen_0.pdf

      Das habe ich vorher gemacht (mit einem jungfräulichen Tiny)
      Danach habe ich das Fusebit H (Divide clock by 8 ) nach dieser Anleitung geändert und dann mit "Write FS auf den Tiny übertragen.

      Letztendlich war der Tiny danach nicht mehr les- und schreibbar. Diese Fehlermeldung erscheint: ":Error: program enable: no answer. 1"

      Folgende Tipps habe ich heute hier im Forum von @'Mitch64 erhalten, die für mich sehr hilfreich waren und auch zum Erfolg geführt haben:
      1.) Clock auf "Auto" lassen
      2.) ZUERST das Programm auf die 8 MHz ändern
      3.) Noch vor die Config xxxx-Zeilen ein "Wait 1" einfügen (Das Wait verhindert dann, dass der Programmer gleich irgendwelche Pulse bekommt. Das mag der vielleicht nicht.)
      4.) Jetzt zuerst das Programm programmieren (wenn auch mit falscher Frequenz).
      5.) Danach erst die entsprechenden Fusebits proggen. Immer erst das eine Fuse proggen, dann das 2. Nie beide auf einmal ändern und dann proggen lassen.

      UND VOR ALLEM: Genau aufpassen wenn man an den Fuses was ändert!!! Vor allem, wenn verschiedene Fuses angesprochen werden.

      Mir hat das SUPER geholfen.
      Im nächsten Schritt werde ich einen externen Quarz dran hängen. Auch dazu muss man an den Fuses etwas ändern.
      Sobald ich den Quarz habe (muss ich noch bestellen), schreibe ich euch meine Erfahrungen hier rein. Da hat mir Mich64 auch schon ein paar Tipps gegeben.

      Und vielleicht hat einer von Euch ja eine Idee, wie man den einen ver"fuseten" Tiny wieder retten kann....

      The post was edited 1 time, last by Bastlbeda ().

    • Bastlbeda wrote:

      Und vielleicht hat einer von Euch ja eine Idee, wie man den einen ver"fuseten" Tiny wieder retten kann....
      Ich habe zu diesem Zweck einen kleinen 1MHz-Quarzoszillator in der Schublade. Dieser kleine Helfer für ein paar Cent hat bisher noch alle AVRs zum Laufen gebracht, die ich aus Versehen auf "Externen Quarz" oder "Externes Clock-Signal" verfust hatte. Mit einer ausreichend niedrigen Programmer-Frequenz (< 250 kHz) ließen sich die Dinger alle wieder einwandfrei zurückfusen.
    • Bastlbeda wrote:

      Klingt gut, das probiere ich. Da bestell ich gleich einen mit. 1,30 € bei Reichelt sind den Versuch Wert.
      Anstatt dieses Oszillators kannst du dir deinen Taktgeber aber auch selbst bauen, mit einem Tiny 25/45/85.
      Das hat den Vorteil, dass du auch einen großen Spannungsbereich (1,8V bis 5V) einen Takt hast.

      Der Tiny 25/45/85 hat ja auch einen Clock-Output-Pin, habe ich gestern im Datenblatt gesehen, den man mit Fuses aktivieren kann.
      Ich denke mal, dann kann man auch den SystemClock, die 1MHz (Clock divide by 8 enabled) oder die 8MHz (Ckock divide by 8 disabled) ausgeben, ohne einen ext. Quarz.
      Der Ausgabepin wäre dann CLKO bzw. XTAL2 Pin.
      Das Fuse-Bit dazu heißt CKOUT.
    • Bei vielen meiner "Rettungsversuchen" habe ich für mich herausgefunden, dass 800 KHz die optimale Frequenz darstellt.
      Die 800 KHz habe ich mit einem Synthesizer eingestellt und einfach an den Clock Eingang über einen 1K Widerstand angelegt.
      Die Programmer Frequenz habe ich auf ~10 KHz gestellt.

      Dies ist nur meinen Tests entsprungen...
      Code first, think later - Natural programmer :D
    • six1 wrote:

      dass 800 KHz die optimale Frequenz
      erstaunlich, ich hielt sie für unkritisch. Wichtig jedoch das die Programmiererfrequenz mindestens viermal kleiner sein muß. z.B. max 4 khz bei einen auf 16khz "gefusten". Den externen Clock nimmt er auch nur an wenn auf exter (bzw Quarz) gefust wurde oder bei HV Programmierer. Dieser kann je nach Auslegung nicht nur Fuses sondern auch die vollständige Programmierung.
    • Soweit richtig. Nur ist es auch möglich den Internen zu weit runter zu setzen oder den Reset abzuschalten. In beiden Fällen reagiert er nicht mehr auf den ISP Programmer und auch nicht mit externen Clock. Beim Verfusen ist ja oft der Fehler unbekannt. Dann bleibt nur ausprobieren oder gleich HV