[AVR (AVR-GCC)] Einfach aufzubauenden ATtiny Fuse Resetter (HVSP)

OP #3834846
Bei AVR Tiny kann man ja durch programmieren von entsprechenden 
Fuse-Bits dein RESET-pin in einen normalen I/O Pin umkonfigurieren. 
Damit hat man einen I/O Anschluss mehr, was gerade bei der 
ATtiny25/45/85 Serie von Interesse ist. Allerdings lässt sich der AVR 
danach nicht mehr per ISP neu programmierung.

Mit speziellen High-Voltage Serial Programmer (HVSP), z.b. STK500 lassen 
die Fuse Bits zurückstellen und somit kann der HVSP wieder normal mit 
IPS programmiert werden.

Allerdings hat nicht jeder ein STK500 oder einen andern HVSP zur Hand.

Deshalb habe ich mir mittels eines ATmega8 einen einfach aufzubauenden 
High-Voltage Serial programmer (HVSP) für ATtiny AVR gebaut, mit dem 
sich die Fuse-Bits eines ATtiny's wieder auf Werkeinstellung 
zurückstellen lassen. Danach kann der ATtiny wieder normal mittels ISP 
programmiert werden.

Schaltung und Software (AVR-GCC) gibt es auf meiner Homgepage:
http://homepage.hispeed.ch/peterfleury/avr-hvsp-fuse-restore.html

Link ist auch eingefügt unter:
http://www.mikrocontroller.net/articles/AVR_HV-Programmer
#3844607
Hallo Peter,

schönes Minimalistisches Design. Gefällt mir gut! Meistens braucht man 
so etwas ja auch nur sehr selten.

Könnte man die 12V nicht auch irgendwie auf einfache Weise generieren? 
Switcher, der vom Microcontroller gesteuert wird?
Gast #3896460
Hallo,
ich habe die .c gerade im avrstudio kompiliert und auf einen mega328p 
geflasht.
Leider klappt es noch nicht.
soll die LED immer blinken wenn es nicht funktioniert also auch wenn 
teile der Schaltung inkorrekt sind? ODer nur wenn das fusen fehlschlägt? 
bei mir sagt die LED nichts wenn ich den taster drücke...
Gast #3896520
so die LED blinkt, da war ich nur voreilig.
Allerdings resettet er die Fuses nicht.

Sollte man die 12 V am Kollektor messen können? oder ist das zu schnell 
für ein Multimeter?
Gast #3896576
also mit nem mega8 den ich noch rumfliegen hatte hats nun geklappt einen 
tiny13a zurückzusetzten.
Die LED blinkt auch nach einem Tastendruck 8 mal im halbsekundentakt bei 
dem 328p war das blinken schneller.
keine Ahnung ob ich was beim kompilieren einstellen muss damit es auf 
dem arduino nano board läuft oder ob es wegen dem boardlayout nicht 
funktioniert....ein Hinweis dazu wäre willkommen da die nano board mit 
spannungsregler etc nicht viel mehr kosten als ein einzelner mega8, auch 
ein addon board was man leicht layouten könnte würde nur 2-3$ kosten, 
daher wäre es ideal mal was mainstream mäßiges zu machen wie obben schon 
angemerkt war...
Gast #3897409
Tim    schrieb:
> Könnte man die 12V nicht auch irgendwie auf einfache Weise generieren?

Ja, mit einem von den vergossenen Fertigspannungswandlern im normalen 
IC-Format mit 4 Beinen. Auf der einen Seite 5V rein, auf der anderen 12V 
raus, einfacher gehts nicht :-)
OP #3897978
Nach dem Fuse-Reset sollte die LED dauernd leuchten, d.h. das Program 
vergleicht nach dem Reset den gelesenen Fuse-Wert mit dem 
Factory-Default Fuse-Wert.
Allerdings habe ich keinen ATtiny13A zum Testen, ich konnte diesen 
ATtiny Typ nur nach Datenblatt implementieren.
#3996137
Habe die Schaltung nachgebaut, habe aber einen einen 4K7 Widerstand 
durch 1K ersetzt, da ich den Tiny auf dem Board resettet habe, und da 
noch 10k und 100n am Reset dran hingen.

Hat aber alles bestens funktioniert, danke an den Autor.
#3999503
Kann ich damit auch die Fuses eines ATmega8 zurücksetzen?
Wenn ich es richtig sehe, benutzt Du bei den ATtiny (bei denen Du die 
Fuses zurücksetzen willst) die "normalen" Programmier-Anschlüsse MISO, 
MOSI usw. Kann ich dieselben Anschlüsse auch bei einem ver-fusten 
ATmega8 nehmen, um ihn zurückzusetzen?
#6309474
Hallo Peter,

meine AVR Umgebung: Programmierboard von Pollin erweitert um Eigenbau 
Zusatzplatinen. Software AVR Studio 4.17 und PonyProg.
Nun hat es auch bei mir 2 x mal zugeschlagen, sodass eine PonyProg 
Rückmeldung kam, dass er das Device nicht erkennt. Auch das Auslesen mit 
PonyProg/Command/Security and Configuration bits war nicht mehr möglich.
Dank Deines tollen Beitrages habe ich eine kleine Platine für den Tiny13 
aufgebaut, den Atmega8 im Pollin Board mit Deinem Hex file geflasht und 
die Tiny13 HVProg Platine an das Pollin Extension Board angesteckt. Es 
hat auf Anhieb funktioniert.

danke vielmals für Deine Lösung

mfg Joe

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.