[V] PCB für "fusebit doctor" zum Resetten verfuster AVR-Controller

OP Persönliche Seite #2961135
Lesenswert?

Für den von mir nachgebauten fuse-bit-doctor von manekinen

[http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en]

habe ich ein paar Leiterplatten-Sets abzugeben.
Für ein Platinenset (2 Platinen, die kleine ist die Zusammenfassung der 
beiden DIL-Aufsteckplatinen der Origiginalseite) möchte ich 5€ haben 
incl. Verpackung, dazu Versand wie von Dir z.B. gewünscht (DHL 
unversichert 50g Brief 0.90€ nicht empfohlen, als Einwurfeinschreiben 
2.50€ und als Übergabeeinschreiben 2.95€.
Die nötigen Bestückungs-Unterlagen als pdf-Datei per Mail.

Volker
Angehängte Dateien:
OP Persönliche Seite #2988871
Lesenswert?

Ralf E. schrieb:
> Sind bei deiner Version die Änderungen für die neue Firmware 2.1x schon

Ja, die Leiterplatten sind nach aktueller Schaltung und mit 
Softwarerevision 2.11 jetzt schon mehrfach erfolgreich aufgebaut worden.


f-k-m schrieb:
> Hallo Volker,
> ich würde gern einen o.g. Leiterplattensatz von Dir erwerben.

Dazu brauche ich eine gültige Mailadresse von Dir bzw. melde Dich als 
angemeldeter User über eine PN.


Gruß Volker
#3123703
Lesenswert?

Ich würde mit Unterstützung von Volker nochmal eine 10er 
Sammelbestellung des Platinensets organisieren, falls genügend 
Leute/Platinen zusammen kommen.

Wer Interesse an einem Set hat (zu den gleichen Konditionen wie von 
Volker beschrieben), melde sich bitte per PN bei mir.

Grüße - Bernhard
#3331288
Lesenswert?

Hallo,

nachdem ich nun doch noch ein Platinenset abbekommen konnte, war ich 
etwas erstaunt, das meine selbst erstellte PCB ohne Probleme 
funktionierte, diese hier dagegen aber leider nicht.

Dies zeigte sich so, das ein Mega 8 als Fusebitdoctor-Chip in allen 
Situationen verfuste Megas und Tinys retten konnte , ein Atmega 328 und 
Atmega 328P dagegen nicht. Beide Chips funktionierten aber in meiner 
eigenen Platine.
Schlussendlich habe ich erkennen müssen, das bei dem erhaltenen 
Platinenset Pin 20 (AVCC) des Megas nicht an VCC angeschlossen war, 
sondern in der Luft hing.
Das gleiche bei R25, hier hing das masseseitge Ende einfach in der Luft 
und war nicht mit GND verbunden.
Dies waren keine Unterbrechungen, sondern die Leiterbahnen sind schlicht 
und einfach wohl vergessen worden zu routen - bei meinem Set jedenfalls.

Dies soll keine Kritik sein, bin froh ein Set abbekommen zu haben. Aber 
vielleicht hilft die Info jemand anderen bei der Fehlersuche.

edit: achja, der Fehler ist nicht gleich offensichtlich. Aufgefallen ist 
der Fehler bei einem Mega 8 mit den Fusebits Low:36 High:3F
Es gab Fusebitsettings, wo die verfusten Chips grundsätzlich mit Fusebit 
00 00 ausgelesen wurden und auch keine Signatur lesbar war. Jeder 
Schreibversuch schlug fehl. Nach Anschluss beider Leitungen alles OK.
Gruß Dirk
OP Persönliche Seite #3332753
Lesenswert?

Hallo in die Runde, Hallo Dirk,

habe es gerade in Schaltung und Layout überprüft, Dirk hat vollkommen 
recht, die beiden Pins sind nicht angeschlossen, ein Layoutfehler von 
mir. Verwunderlich ist, daß es offensichtlich bei niemandem vorher 
aufgefallen ist - bzw. die Schaltung mit dem sicher meist verwendeten 
Atmega 8 als Programmspeicher trotzdem funktioniert.

Danke für die Fehlersuche, Dirk.

Gruß Volker
#3332808
Lesenswert?

Hallo Volker,

AVCC nach VCC ist laut readme nur beim Mega168/328 notwendig, fällt 
daher wohl beim Mega8 nicht auf. Wobei diese Korrektur allein bei mir 
nicht ausreichte, auch der R an der Basis musste angeschlossen werden.
Grund für den M328 war die Erweiterung um die Ausgabe der Namen der 
erkannten Chips per RS232. Wer das Gerät Standalone betreibt, für den 
reicht auch der Mega8 ohne Korrektur der Platine. Die zwei Drahtbrücken 
sind mit Fädeldraht aber schnell gemacht.

Gruß Dirk
#3332952
Lesenswert?

dann "opfere" bitte gleich mal einen Mega8 oder anderen Chip und setze 
im Menüpunkt 2  oben genannte Fusebits und schaue ob der Fusebitdoctor 
anschließend den Chip noch auslesen kann. Das ging bei mir nur mit Mega8 
als Doctor. Voraussetzung ist natürlich, das die Platine noch nicht 
korrigiert wurde. Ich denke mal, das sich hier m168 und m328 gleich 
verhalten.
Gruss Dirk
#3342925
Lesenswert?

Oops, danke für den Hinweis. Da werde ich auch noch 2 Strippen ziehen! 
Bisher hatte ich keine Probleme damit. Ich werde aber das Beispiel mal 
ausprobieren.

Ich habe außerdem die Erfahrung gemacht, dass mit der Firmware von 
manekinen die Chips der ATmega8-Familie nach Setzen der DWEN- oder 
RSTDISBL-Fuse nicht mehr erreichbar (und damit auch nicht wiederbelebar) 
sind. Müsste eigentlich bei jedem so auftreten, da ich das Ganze auf 
einer zweiten Platine repliziert habe.

Das scheint aber ein reines Softwareproblem zu sein. Meine neu 
geschriebene eigene Firmware (läuft leider nicht auf Atmega8, sondern 
nur auf Atmega328) hat das Problem nicht. Falls jemand Interesse hat: 
https://github.com/felias-fogg/RescueAVR

Die Firmware ist mit der Arduino IDE entwickelt worden und kann damit 
auch geändert und verbessert werden. Zum Installieren braucht man aber 
nur den Hex-File zu flashen und die CLKDIV8-Fuse deaktivieren, damit der 
Prozessor mit 8MHz läuft.

P.S.: U.U. ist es doch das gleiche Problem und ich habe manekinen 
Unrecht getan. Ich habe leider keinen M8 da, aber die angegeben 
Fuse-Werte aktivieren ja auch RSTDISBL und DWEN. D:h. es ist das gleiche 
Phänomen wie bei mir.
#3343795
Lesenswert?

Hallo Dirk,

die fehlende Verbindung von R25 zu GND ist wohl das Hauptproblem, da 
dadurch der Eintritt in die Hochvoltprogrammierung völlig jenseits der 
Spezifikation liegt. Eigentlich soll es am Vcc-Eingang des Targets von 0 
Volt nach 1.8V  innerhalb von 20µs gehen, wobei dann nach weiteren 
20-60µs die 12V an Reset anzulegen sind. Jetzt ist der Vcc-Eingang 
anfänglich aber völlig offen. Dass das Board überhaupt oft genug das 
tut, was es soll, ist mir deshalb ein Rätsel.

Abhängig vom Examplar (!) des Doctor-Chips (bei mir ging mancher M328P, 
andere wieder nicht), von der Software (manekinen's oder meiner), und 
von der Fuse-Kombination des Targets (speziell RSTDISBL aktiviert bei 
M328P) scheint dann manchmal der Eintritt in die Hochvoltprogrammierung 
schief zu gehen.

Mit der Verbindung von R25 zu GND hat es dann in allen von mir 
probierten Kombinationen geklappt. Ich werde aber nichtsdestotrotz auch 
noch Vcc and AVcc beim Doctor-Chip verbinden. Man muss ja nichts 
herausfordern.

Vielen Dank nochmal für deine Analyse, Dirk. Ich werde den anderen auch 
noch Bescheid sagen, dass die zwei Verbindungen fehlen.

Grüße - Bernhard
#3344047
Lesenswert?

Hallo Bernhard,

danke für Deine tiefere Fehleranalyse.
Ich hatte wirklich schon an meinem Verstand gezweifelt, konnte es ja 
eigentlich nicht sein, wenn das Teil doch von vielen schon erfolgreich 
nachgebaut wurde, daß die PCB einen Fehler aufweist. Also suchte ich den 
Fehler erst einmal bei mir ;-)

Ich bin aktuell im Urlaub und habe daher keine Arduino-IDE dabei. ;-)
Kannst Du bitte kurz beschreiben, was Deine Firmware besser/anders macht 
als die Originalfirmware von manekinen? Werden ggf. weitere Chips 
unterstützt?

Gruß Dirk
#3344175
Lesenswert?

Hi Dirk,

ich hatte die Firmware geschrieben, weil ich der Überzeugung war, dass 
es sich um einen Softwarefehler handeln müsse, da zwei gleich aufgebaute 
Platinen das selbe Ergebnis lieferten. Naja, ich lag richtig damit, dass 
es kein Lötfehler war ;-).

Tatsächlich hat meine Software dann ja auch in den problematischen 
Fällen richtige Ergebnisse geliefert. Warum genau, ist nicht 
offensichtlich. Aber bei offenen Pins kann ja alles mögliche passieren. 
Ist ja jetzt aber auch nicht mehr relevant.

Besser macht meine Firmware erstmal nichts. Aber man kann sie einfacher 
erweitern oder ggfs. korrigieren. Für neue Prozessoren muss man 
lediglich Signatur, Anzahl der Fuses, Default-Fuses, und einen Namen 
eintragen. Ich werde sie jetzt auch noch so umschreiben, dass man sie 
für Arduino-Boards zusammen mit einem Steckbrett nutzen kann. Auf jeden 
Fall hab ich ein bisschen was über HVPP- und HVSP-Programmierung gelernt 
;-)

Grüße - Bernhard
Gast #3472077
Lesenswert?

Mein eigenes PCB nach V11 funktioniert nicht, genauso wie die drei 
vorher.

Kann mir jemans sagen, was ich wo messen kann, wenn zumindest das hex 
richtig gebrannt wurde? Auch funktioniert bei mir keine einzige LED, 
sollte aber ohne angeschlossenen "toten" AVR wenigstens die rote 
blinken?

Hat noch jemand ein Platinenset?, oder kann ich jemandem Fachkundigen 
mein Sprint Layout senden das es ueberprueft wird?

Vielen Dank!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren