Forum: Projekte & Code [AVR (AVR-GCC)] Einfach aufzubauenden ATtiny Fuse Resetter (HVSP)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter F. (pfleury)


Bewertung
4 lesenswert
nicht lesenswert
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

von Lohntütentänzer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das ist schön.
Hier gibt es ein ähnliches Gerät, was aber eine größere Vielfalt an
Kontrollern "behandeln" kann:
http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en

von Peter F. (pfleury)


Bewertung
0 lesenswert
nicht lesenswert
@Lohntütentänzer
ich kenne diese Seite. Dieses Projekt ist aber ein kombinierter 
HVSP/HVPP Programmer, der entsprechend aufwendiger ist im Aufbau. Auch 
ist kein Source-Code dabei.

von Tim  . (cpldcpu)


Bewertung
1 lesenswert
nicht lesenswert
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?

von Kurt (Gast)


Bewertung
0 lesenswert
nicht lesenswert

von lui (Gast)


Bewertung
0 lesenswert
nicht lesenswert
funktioniert der auch für tiny13?

macht einer dafür ein eagle layout? oder ein addon board für nen arduino 
nano oder so?

von lui (Gast)


Bewertung
0 lesenswert
nicht lesenswert
...

von verfuster (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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...

von verfuseter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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?

von verfuseter (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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...

von Schreiber (Gast)


Bewertung
0 lesenswert
nicht lesenswert
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 :-)

von Peter F. (pfleury)


Bewertung
0 lesenswert
nicht lesenswert
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.

: Bearbeitet durch User
von Julian B. (julinho)


Bewertung
0 lesenswert
nicht lesenswert
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.

von Armin H. (armin_h)


Bewertung
0 lesenswert
nicht lesenswert
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?

von Marc S. (marc_s86)


Bewertung
0 lesenswert
nicht lesenswert
Armin H. schrieb:
> Kann ich damit auch die Fuses eines ATmega8 zurücksetzen?

wenn ichs richtig im kopf hab brauchst du dafür HVPP

von Armin H. (armin_h)


Bewertung
0 lesenswert
nicht lesenswert
Das ist schade. Ich hatte mal diagonal ins Datasheet gekuckt, dort aber 
nichts passendes gefunden.
Danke für die Info!

von Marc S. (marc_s86)


Bewertung
0 lesenswert
nicht lesenswert
Armin H. schrieb:
> Kann ich damit auch die Fuses eines ATmega8 zurücksetzen?

hab mal nachgeschaut: datenblatt seite 219 findest du die belegung für 
hvpp

von Joachim R. (bastelbaer)


Bewertung
0 lesenswert
nicht lesenswert
Hier auch noch ein altes Projekt mit led und seriell mit tiny2313 als 
Controller
Beitrag "Einfacher Serial-HV-Fuse-Progger für AVR"

von Andreas B. (bitverdreher)


Bewertung
0 lesenswert
nicht lesenswert
Kurt schrieb:
> Hier ein kleiner:
>
> http://www.simpleavr.com/avr/hvsp-fuse-resetter

Sehe ich das richtig, daß hier Emitter und Collector des 2N2222 
vertauscht sind?

Gruß
Andreas

von Andreas B. (bitverdreher)


Bewertung
0 lesenswert
nicht lesenswert
Sorry, gerade gesehen: die haben es schon bemerkt aber im Schaltplan 
nicht geändert.

Gruß
Andreas

von Philipp M. (spannungsabfall)


Bewertung
0 lesenswert
nicht lesenswert
Kann man damit auch Attiny10 reseten? Wenn nein, wie aufwändig wäre es 
das einzubauen? Die haben ja statt ISP dieses TPI-Interface.

von Andreas B. (bitverdreher)


Bewertung
0 lesenswert
nicht lesenswert
Komplett andere Baustelle.
Schau mal besser hier rein:
Beitrag "Attiny 4, welche Programmiertools gibt es?"
Dort wird ein einfacher Tiny4-10 HV Programmer beschrieben.

von Apollo M. (Firma: @home) (majortom)


Bewertung
-1 lesenswert
nicht lesenswert
... mir gefällt die ardino variante hier besser,
z.b. nano und dann direkt powered von usb ...

https://sites.google.com/site/wayneholder/attiny-fuse-reset-with-12-volt-charge-pump

von Josef F. (tiny_joe)


Bewertung
0 lesenswert
nicht lesenswert
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

: Bearbeitet durch User

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.