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


von Peter F. (pfleury)


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)


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)


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)


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)


Lesenswert?


von lui (Gast)


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)


Lesenswert?

...

von verfuster (Gast)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


Lesenswert?

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

Gruß
Andreas

von Philipp M. (spannungsabfall)


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)


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)


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)


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
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
Noch kein Account? Hier anmelden.