Forum: Mikrocontroller und Digitale Elektronik AVR tot wegen Programmieren ohne Spannung?


von Bernd S. (sensei99)


Lesenswert?

Hallo Leute,
Der Betreff ist vielleicht etwas irreführend. Es geht um folgendes:
Ich habe einen ATMEGA 88PA und programmier ihn mit AVR Studio und dem 
Elektor USB Programmieradapter Art. 080083-71
Die Programmierung funktioniert tadellos - wenn die Versorgungsspannung 
auf dem Board eingeschaltet ist. Und jetzt das Problem:
Wenn die Spannungsversorgung ausgeschaltet ist (weil ich das einfach 
vergessen habe), wird der Controller trotzdem geflasht, allerdings kommt 
nach einem Verify oder irgendwo gegen Ende der Hinweis Byte xxxx should 
be xxxx oder so ähnlich. Dann geht nix mehr.

Bei jedem erneuten Versuch, den Controller zu flashen, kommt die 
Meldung, dass der Programmiermodus nicht erreicht werden kann und das 
wars dann.
Ich bin kein Profi, daher blieb mir beim ersten Mal wo der Fehler 
auftrat nur das Auswechseln des Controllers, dann ging auch alles wieder 
einwandfrei.
Gestern ist mir das wieder passiert. Habt Ihr eine Lösung? Kann man den 
Controller irgendwie "totalresetten"? Wie vermeidet ihr solche Probleme?

Bin für jeden Hinweis dankbar, auch für eine Idee, wie ich in Zukunft 
das Einschalten der Versorgungsspannung nicht mehr vergessen kann 
(Vorschlag für anderen Programmer, ...)

Danke schon mal Voraus!

Gruß
Bernd

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Da werden wohl ein paar Fuses verrutscht sein. Du könntest versuchen, 
einen Takt von 1Mhz an XTAL1 anzulegen und dann mit einer ISP-Frequenz 
von ≤200kHz die Fuses neu setzen. Zukünftig solltest Du das Proggen ohne 
Vcc vermeiden ;-).

von ... (Gast)


Lesenswert?

Spendiert der Proggger denn keine VDD ?

von ... .. (docean) Benutzerseite


Lesenswert?

1k Widerstände in den Proggerleitungen können helfen..also in MOSI MISO 
SCK..

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

... ... schrieb:
> 1k Widerstände in den Proggerleitungen können helfen..also in MOSI MISO
> SCK..

Helfen wobei? Dass man das Einschalten der Spannung nicht vergisst? Nö.

... schrieb:
> Spendiert der Proggger denn keine VDD ?

Welcher macht das denn? Eigentlich wollen die Programmer doch immer 
VTarget messen und nicht liefern.

von Lehrmann M. (ubimbo)


Lesenswert?

Knut Ballhause schrieb:
> Zukünftig solltest Du das Proggen ohne
> Vcc vermeiden ;-).

Ich knall mich weg =) Seit wievielen Jahren entwickelt Atmel nun schon 
an den AVRs ?

Immernoch Kinderkrankheiten ... Verfusen, Programmieren ohne vcc 
ruiniert den AVR, HV Programmierung kann keiner weil man sich zu schade 
ist Ladungspumpen auf den Programmer zu bauen. Ich fass es nicht!

von Carsten S. (dg3ycs)


Lesenswert?

Hi,

Ich bin mir gerade nicht ganz sicher, aber Programmieren ohne Ub 
anliegend zu haben können doch sicher auch einige andere µC nicht gut 
haben.
Wobei natürlich viele andere Programmer (zb. meine von Microchip) dieses 
Problem gar nicht erst entstehen lassen, da dort ja der Baustein vorher 
geprüft wird und bei einem Fehler erst gar nicht der Prgrammiermodus 
aktiviert wird. (Und ohne Ub antwortet der ja nicht...)

Es gibt jetzt zwei Möglichkeiten was mit den Bausteinen passiert sein 
kann.
Erstens -dann gibt es vieleicht Rettung- ist es durch die fehlende 
Betriebsspannung zu einem undefiniertem Schreibvorgang im Controller 
gekommen und es sind tatsächlich "nur" Fuses verprogrammiert.
ggf. kommt man dann noch einmal dran, aber so viel habe ich mit AVR noch 
nicht gemacht. Die zwei Proz. die nach dem Proggen nicht mehr laufen 
wollte habe ich einfach entsorgt.

Oder es ist ZWEITENS folgendes Passiert.
Viele Bausteine vertragen an ihren I/Os ja nur max. Ub plus ein paar mV.
Wenn das nun bei den Atmegas der Fall ist und die Betriebsspannung fehlt 
legt der Progger nun, wenn er mit sagen wir mal 5V arbeitet, immerhin 5V 
mehr an den IO Port als die Momentane Betriebssspannung. Das bedeutet 
für viele IC den tot durch Zerstörung...
Aber ob das bei den Atmegas der Fall ist kann ich wie gesagt nicht 
sicher sagen. Wenn es aber so ist, dann kannst du deine Bausteine 
getrost "Entsorgen"

Gruß
Carsten

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Lehrmann Michael schrieb:
> Immernoch Kinderkrankheiten ... Verfusen...

Datenblatt lesen hilft!

> Programmieren ohne vcc
> ruiniert den AVR,

Zeig mir einen Controller, der sich ohne Spannung proggen lässt und 
dabei nicht herumspinnt.

> HV Programmierung kann keiner weil man sich zu schade
> ist Ladungspumpen auf den Programmer zu bauen.

Viele Hobbyisten nutzen gar keine Programmer von ATMEL, sondern 
selbstmcgyverte. Da sind nicht mal ICs drauf ;-)

von (prx) A. K. (prx)


Lesenswert?

Wenn man ohne Vorsorgungsspannung Pins mit Spannung aus niederohmiger 
Quelle beschickt (die Programmierpins), dann wird der Controller über 
die Schutzdioden der Pins mit Strom versorgt. Für einfachen Betrieb ohne 
stromfressende Periphierie reicht das evtl. bereits aus, insbesondere 
wenn ein Kondensator an VCC die Lücken stopft. Daher kann es auch 
vorkommen, dass die anfängliche Signaturabfrage erfolgreich verläuft. 
Beim Programmiervorgang fliesst aber mehr Strom als üblich, was dann zu 
Spannungseinbruch und zu Problemen wie Fehlprogrammierung führt. Wenn 
das die Fuses betrifft, dann wird es spannend.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Carsten Sch. schrieb:
> Erstens -dann gibt es vieleicht Rettung- ist es durch die fehlende
> Betriebsspannung zu einem undefiniertem Schreibvorgang im Controller
> gekommen und es sind tatsächlich "nur" Fuses verprogrammiert.

Ist zu 99,99% der Fall, weil einfach ein Befehl falsch interpretiert 
wurde. Alle meine fehlprogrammierten AVR-Controller waren bisher zu 
retten.

Carsten Sch. schrieb:
> Viele Bausteine vertragen an ihren I/Os ja nur max. Ub plus ein paar mV.
> Wenn das nun bei den Atmegas der Fall ist und die Betriebsspannung fehlt
> legt der Progger nun, wenn er mit sagen wir mal 5V arbeitet, immerhin 5V
> mehr an den IO Port als die Momentane Betriebssspannung. Das bedeutet
> für viele IC den tot durch Zerstörung...

Das ist zwar richtig, aber praktischerweise teiben die Programmer nicht 
unendlich viel Strom und andererseits ziehen die Port-Schutzdioden im 
AVR die Vcc mit hoch, wenn außer dem AVR kein weiterer Verbraucher in 
der Schaltung hängt. So habe ich noch keinen AVR kaputtbekommen.

von ... .. (docean) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> ... ... schrieb:
>> 1k Widerstände in den Proggerleitungen können helfen..also in MOSI MISO
>> SCK..
>
> Helfen wobei? Dass man das Einschalten der Spannung nicht vergisst? Nö.

dann klappt die versorgung über die Clamp Dioden nicht mehr, daher 
steigt dann der programmer aus, bzw. er schreibt kann nicht erst was

von Bernd S. (sensei99)


Lesenswert?

Hallo Leute,

erstmal vielen Dank für die Infos, hätte nicht gedacht, dass so viele 
helfen.
Ich werde mal versuchen, mit Hilfe eines externen Takts die Fuses neu zu 
setzen - vielleicht geht das ja. Allerdings habe ich wenig Hoffnung, 
denn das was ihr da schreibt hinsichtlich Spannung an den Pins klingt 
einleuchtend.

Ich hätte im Übrigen instinktiv gedacht, dass Ub vorher geprüft wird. Da 
habe ich nich wohl getäuscht :-)

Ich frag mich nur was ich unternehmen kann, damit ich in Zukunft nicht 
wieder vergesse, die Versorgungsspannung einzuschalten...

von g. b. (gunb)


Lesenswert?

Wir haben auch schon einige ATmega's zum Stillstand gebracht, wenn die 
Fuses wie oben schon beschrieben nicht gleich den richtigen Oszillator 
angeworfen haben.

Externer Funktionsgenerator an XTAL1 und GND, Neukonfig und lief.

von Lehrmann M. (ubimbo)


Lesenswert?

Knut Ballhause schrieb:
> Lehrmann Michael schrieb:
>> Immernoch Kinderkrankheiten ... Verfusen...
>
> Datenblatt lesen hilft!

Also ich kenne keinen anderen Mikrocontroller der derart fehleranfällig 
und benutzerunfreundlich ist (in dieser Hinsicht - verfusen, etc.)

Knut Ballhause schrieb:
>> Programmieren ohne vcc
>> ruiniert den AVR,
>
> Zeig mir einen Controller, der sich ohne Spannung proggen lässt und
> dabei nicht herumspinnt.

kein Controller lässt sich ohne Spannung proggen. Ich hab noch keinen 
Controller gesehen den man durch gutes Zureden oder mit Mikrowellen 
programmieren kann. Abgesehen davon dass deine Antwort etwas undeutlich 
formuliert war muss man ganz klar sagen, dass anderen Controller z.B. 
PICs schlicht und ergreifend soetwas nicht passieren kann. Hier ist 
einfach Atmel im Rückstand. Warum auch immer...

Knut Ballhause schrieb:
>> HV Programmierung kann keiner weil man sich zu schade
>> ist Ladungspumpen auf den Programmer zu bauen.
>
> Viele Hobbyisten nutzen gar keine Programmer von ATMEL, sondern
> selbstmcgyverte. Da sind nicht mal ICs drauf ;-)

Ich weiss. Ich hab auch noch einen Programmer für den seriellen Port. Ab 
USB braucht man zwangsläufig einen IC an Bord. Trotzdem kann man mit ein 
paar Transistoren eine sehr gute Ladungspumpe aufbauen. Für den parallel 
/ seriellen Port braucht man nix. Vom PIC kenne ich das ohne solche 
Macken. =)

Ich muss ehrlich sagen, ich hab mit AVR angefangen und den ersten 
verfust. Dascwar mir dann zublöd - Jetzt arbeite ich knapp 8 Jahre mit 
PIC - kein Problem .....

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Lehrmann Michael schrieb:
> Ich muss ehrlich sagen, ich hab mit AVR angefangen und den ersten
> verfust. Dascwar mir dann zublöd - Jetzt arbeite ich knapp 8 Jahre mit
> PIC - kein Problem .....

Der Eine so, der Andere so...

von spess53 (Gast)


Lesenswert?

Hi

>Ich muss ehrlich sagen, ich hab mit AVR angefangen und den ersten
>verfust. Dascwar mir dann zublöd - Jetzt arbeite ich knapp 8 Jahre mit
>PIC - kein Problem .....

Und ich arbeite seit über 10 Jahren mit AVRs. Problemlos. Alllerdings 
mit Original Atmel-Programmern/Boards.

MfG Spess

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.