Forum: Mikrocontroller und Digitale Elektronik Fusebits - ein controller nach dem anderen raucht mir ab :'(


von Fate-Man (Gast)


Lesenswert?

moin allesamt;

Ich hab einen atmel atmega8 mit einem 16Mhz Quarzoszillator 
(Kondensatoren: 22pF) auf welchem ein primitives testprogramm läuft. 
Programmiert wird er per ISP über den Parallel-Port am PC (RESET->16; 
SCK->1; MISO->11; MOSI->2) mit dem Programm uisp (version 20050207).

Ich versuche vergebens den controller dazu zu bewegen, meinen externen 
crystal als Taktquelle zu verwenden. Mit dem Fusebit-Calculator 
(http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega6490&P=ATmega8&V_LOW=41&V_HIGH=99&V_EXTENDED=FF&M_LOW_0x3F=0x00&M_LOW_0x40=&M_LOW_0x80=0x00&M_HIGH_0x01=&M_HIGH_0x06=0x00&M_HIGH_0x08=&M_HIGH_0x10=&M_HIGH_0x20=0x00&M_HIGH_0x40=0x00&M_HIGH_0x80=&M_EXTENDED_0x01=&M_EXTENDED_0x0E=0x0E&B_CLKDIV8=P&B_JTAGEN=P&B_SUT1=P&B_SPIEN=P&B_SUT0=P&B_CKSEL3=P&B_CKSEL2=P&B_BOOTSZ1=P&B_CKSEL1=P&B_BOOTSZ0=P)
hab ich bereits die "quickeinstellungen" und die einstellungen nach 
datenblatt versucht (ich weiß nun nicht mehr welche das waren)!

Jedenfalls mein erster versuch war:
# uisp -dprog=dapa --wr_fuse_l=0xfd

super! nun war der atmel garnicht mehr anzusteuern:
# uisp -dprog=dapa --rd_fuses
An error has occurred during the AVR initialization.
 * Target status:
   Vendor Code = 0xff, Part Family = 0xff, Part Number = 0xff

 Check if the programmer is properly connected.
 The wiring may be incorrect or target might be 'damaged'.


Dann nahm ich diesen aus dem sockel und warf ihn in den müll!
Mit dem nächsten hab ich dann die Fusebits so gesetzt bekommen, dass 
zumindest der interne LC-Schwingkreis verwendet wird mit 8Mhz.
Also wagte ich mich wieder an den externen quarz:
# uisp -dprog=dapa -dpart=atmega8 --wr_fuse_l=0xed

Doch wenn ich nun die Fusebits auslese, dann steht alles auf "0xff" und 
das programm läuft auch nicht mehr (auf dem atmel)!
# uisp -dprog=dapa -dpart=atmega8 --rd_fuses
Atmel AVR ATmega8 is found.

Fuse Low Byte      = 0xff
Fuse High Byte     = 0xff
Fuse Extended Byte = 0xff
Calibration Byte   = 0xff  --  Read Only
Lock Bits          = 0xff
    BLB12 -> 1
    BLB11 -> 1
    BLB02 -> 1
    BLB01 -> 1
      LB2 -> 1
      LB1 -> 1

Ich kann zwar neue Bits setzen, aber wenn ich sie dann auslese, sind es 
wieder die alten (0xff):
# uisp -dprog=dapa -dpart=atmega8 --wr_fuse_h=0xd9
Atmel AVR ATmega8 is found.

Fuse High Byte set to 0xd9

# uisp -dprog=dapa -dpart=atmega8 --rd_fuses
Atmel AVR ATmega8 is found.

Fuse Low Byte      = 0xff
Fuse High Byte     = 0xff
Fuse Extended Byte = 0xff
Calibration Byte   = 0xff  --  Read Only
Lock Bits          = 0xff
    BLB12 -> 1
    BLB11 -> 1
    BLB02 -> 1
    BLB01 -> 1
      LB2 -> 1
      LB1 -> 1

Den hab ich dann auch in den müll geschmissen!
Bei dem neuen wollte ich dann --wr_fuse_l=0xfe setzen und bei dem trat 
dann das gleiche auf :(

jetzt traue ich mich nicht mehr was zu setzen, weil der vierte atmega8 
mein letzter ist XD


Kann mir jmd. sagen, was ich falsch mache und wie ich die 0xff-dinger 
evtl. doch noch wieder ans laufen bringen kann (noch is der müll da ;) 
)?

_________
thx
mfg Fate-Man

von Benedikt K. (benedikt)


Lesenswert?

Besorg dir einen ordentlichen Programmer, dann bist du all die Probleme 
los. Ein guter Programmer kann dann auch den HV Mode, mit dem kann man 
die verprogrammierten AVRs wieder retten.

von Fate-Man (Gast)


Lesenswert?

hallo,

meinst du en Hardwareprogrammer oder ein anderes Programmer-Programm 
(z.B. avrdude)??


Auf einen Softwarewechsel könnte ich mir einlassen, aber die Hardware zu 
verändern, wäre eher schlecht, weil ich bereits eine Platine (mit 
erheblichen Aufwand, da ich nicht selbst ätzen kann) gebaut habe mit 
einem herausgeführten Anschluss für meinen "selbstgebauten Programmer".

Gibt es denn keine Möglichkeit die ICs mit dieser verkabelung zu retten 
und zu richtig fusen?
Oder das "Retten" ist auch erstmal sekundär von Bedeutung, aber es muss 
doch möglich sein, meinen atmega8 über die angegebene verkabelung 
richtig zu fusen?!

von Benedikt K. (benedikt)


Lesenswert?

Probier mal eine andere Software aus, vielleicht funktioniert die (da 
Timing Problem), wenn nicht, liegen es an der Hardware die geändert 
werden muss.

Bevor du weitere AVRs verprogrammierst: Finde raus, wiso dein bisheriger 
Programmer solche Probleme macht.

http://www.mikrocontroller.net/articles/AVR_Fuses

von Fate-Man (Gast)


Lesenswert?

Also ich hab mal avrdude bei den "kaputten" ausprobiert:
# avrdude -P /dev/parport0 -p m8 -c dapa -F -e

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude: Device signature = 0xffffff
avrdude: Yikes!  Invalid device signature.
avrdude: erasing chip
avrdude: AVR device not responding

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


scheint wohl, dass ich mir en programmer kaufen muss, um zumindest die 
"kaputten" avrs wieder ans laufen zu kriegen. (werd mal den trick mit 
dem zweiten avr als "taktgeber" ausprobieren (hab noch en tiny hier 
rumfliegen))

desweiteren werd mal versuchen meinen letzten atmega8 mit avrdude zu 
programmieren.


In dem artikel ist die Rede von "Quarzen" und "Quarzoszillatoren".. ich 
hab so en zweipoliges, silbernes dingen mit zwei kondensatoren dran und 
beim fuse-calculator hab ich "Crystal/Resonator" ausgewählt. War das 
denn falsch?

von Rolf Magnus (Gast)


Lesenswert?

> Ich hab einen atmel atmega8 mit einem 16Mhz Quarzoszillator
> (Kondensatoren: 22pF)

Wozu die Kondensatoren? Oder meinst du vielleicht keinen 
Quarzoszillator, sondern nur einen Quarz?

> # uisp -dprog=dapa --wr_fuse_l=0xfd

Also cksel3..1 = 110 und ckopt = 1 (default-Wert in fuse_h), laut 
Datenblatt für einen Frequenzbereich von 0,9 bis 3 Mhz geeignet.

> Mit dem nächsten hab ich dann die Fusebits so gesetzt bekommen, dass
> zumindest der interne LC-Schwingkreis verwendet wird mit 8Mhz.

Du meinst RC.

> Also wagte ich mich wieder an den externen quarz:
> # uisp -dprog=dapa -dpart=atmega8 --wr_fuse_l=0xed

Der einzige Unterschied ist jetzt die "startup time".

> # uisp -dprog=dapa -dpart=atmega8 --rd_fuses
> Atmel AVR ATmega8 is found.

Daß er den Prozessor findet, meldet er eigentlich immer, wenn man den 
Typ explizit angibt. Man kann das auch weglassen. Dann erkennt er den 
Prozessor automatisch, wenn dieser funktioniert.

> Kann mir jmd. sagen, was ich falsch mache

Du stellst nur die lfuse um. Du mußt auch in der h-Fuse das cksel-Bit 
löschen.

> und wie ich die 0xff-dinger evtl. doch noch wieder ans laufen bringen
> kann (noch is der müll da ;)

So wie ich das sehe, sollten sie mit einem niederfrequenteren Quarz 
(<3Mhz) funktionieren. Alternativ mit einem parallel-Programmer die 
Fuses reparieren.

von Branko Golubovic (Gast)


Lesenswert?

@Fate-Man

Hast du alles auf eine Lochrasterplatine aufgebaut?
Sind die Quarzanschlusse nicht zufällig mit einer Zinnbrücke miteinander 
oder mit GND kurzgeschlossen. In dem Fall kann Oszillator nicht 
schwingen.
Ich werde auf deine stelle „Platine“ optisch und mit einem Messgerät 
überprüfen.

Gruß Branko

von Fate-Man (Gast)


Lesenswert?

@Rolf Magnus:
> Wozu die Kondensatoren? Oder meinst du vielleicht keinen
> Quarzoszillator, sondern nur einen Quarz?

Seit meinem letzten Beitrag weiß ich nun, dass ich einen Quarz habe (ich 
kannte bis dahin nicht den unterschied ^^)

> Du meinst RC.

Also eig. meine ich den internen schwingkreis mit einer Spule (L) und 
einem Kondensator (C) ... wir in der schule nennen das immer 
LC-Schwingkreis

> Du stellst nur die lfuse um. Du mußt auch in der h-Fuse das cksel-Bit
> löschen.

Dies täte ja sehr gerne, aber leider kann uisp den avr nichtmehr 
ansteuern (warum auch immer).

> Alternativ mit einem parallel-Programmer die
> Fuses reparieren.

wie stelle ich das denn an? uisp und avrdude können die fuses nicht mehr 
setzen.

# avrdude -P /dev/parport0 -p m8 -c dapa -t -F

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude: Device signature = 0xffffff
avrdude: Yikes!  Invalid device signature.
avrdude> dump lfuse
>>> dump lfuse
0000  ff                                                |. 
|

avrdude> dump hfuse
>>> dump hfuse
0000  ff                                                |. 
|

avrdude> write hfuse 0 0x89
>>> write hfuse 0 0x89
avrdude (write): error writing 0x89 at 0x00000, rc=-6
avrdude (write): error writing 0x89 at 0x00000 cell=0xff

#uisp -dprog=dapa --rd_fuses
An error has occurred during the AVR initialization.
 * Target status:
   Vendor Code = 0xff, Part Family = 0xff, Part Number = 0xff

 Check if the programmer is properly connected.
 The wiring may be incorrect or target might be 'damaged'.

Ich würd gerne die Fuses irgendwie wieder auf die default werte stellen



@Branko Golubovic:
Das prüfe ich immer nach dem löten (mit messgerät). Aber hab nochmal 
nachgesehen und gibt keine ungewollten brücken. ;)

von Joachim B. (jar)


Lesenswert?

Fate-Man wrote:
>> Alternativ mit einem parallel-Programmer die
>> Fuses reparieren.
>
> wie stelle ich das denn an? uisp und avrdude können die fuses nicht mehr
> setzen.
> Ich würd gerne die Fuses irgendwie wieder auf die default werte stellen

2 Aufnahme Platinen Lochraster basteln

1. mit Quarz und Ableitkondis Quarz so um 1 MHz , Kondis von 15-27 pF
2. mit TTL ClockGenerator

entweder kannst du ihn über 1 ansprchen , wenn auf Quarz steht oder über 
2 wenn auf externen Clock steht

von Andreas K. (a-k)


Lesenswert?

> Also eig. meine ich den internen schwingkreis mit einer Spule (L) und
> einem Kondensator (C) ... wir in der schule nennen das immer
> LC-Schwingkreis

Da ist kein Radio drin, sondern ein Oszillator. Und der arbeitet der 
Einfachheit halber mit einem R/C-Glieb. R für Widerstand.

> Ich würd gerne die Fuses irgendwie wieder auf die default werte stellen

Es gibt hier irgendwo einen Artikel, wie man sich verfusete AVRs wieder 
zurechtbiegt. Mit externem Oszillator (ja diesmal wirklich) am 
Quarzanschluss.

von Raccoon (Gast)


Lesenswert?

"Verfuste" AVRs schiebt man nicht in den Müll. Auch wenn du viel Zeit in 
den Programmer gesteckt hast, kann der schon das Problem sein. Könnte 
z.B. nicht richtig programmieren -> Fuses falsch gesetzt.
Ist die Spannung stabil?
Kann auch sein, dass dein Quarz nicht anschwingt. Dann könntest du 
versuchen statt dem Quarz einen richtigen Quarzoszillator (den 
vierbeinigen! - 1Mhz reicht) ranzuhängen und dann versuchen ihn wieder 
zu programmieren. Kostet so um die 1,50€ oder man guckt auf alten 
Platinen ob ein passender drauf ist. Alte Rechner haben welche drauf, 
meist sind die aber zu schnell.

Da du "Schule" schreibst nehme ich an, dass du Schüler bist. Vielleicht 
habt ihr in Physik einen Frequenzgenerator. Den kann man auch als 
Taktquelle verwenden.

AVRs haut man auch nicht gleich in die Tonne. Dann lieber sparen und 
etwas richtiges holen. Auch wenn es als Schüler schmerzt, kann ich dir 
ein STK500 für den Anfang ans Herz legen. Da kannst du viel 
experimentieren, der kann auch HV programmieren, um die alten AVRs zu 
retten und im AVRStudio werden die Fuseeinstellungen richtig gut 
angezeigt!

Überleg dir das mal...

von Rolf Magnus (Gast)


Lesenswert?

> Also eig. meine ich den internen schwingkreis mit einer Spule (L) und
> einem Kondensator (C) ...

So einen gibt es aber im AVR nicht. Es gibt nur einen internen 
Schwingkreis mit einem Widerstand (R) und einem Kondensator (C). Der 
Oszillator, der den benutzt, wird daher sinnvollerweise "internal RC 
oscillator" genannt.

> wir in der schule nennen das immer LC-Schwingkreis

So nennt man es eigentlich überall, aber nur dann, wenn es auch einer 
ist ;-)

>> Du stellst nur die lfuse um. Du mußt auch in der h-Fuse das cksel-Bit
>> löschen.
>
> Dies täte ja sehr gerne, aber leider kann uisp den avr nichtmehr
> ansteuern (warum auch immer).

Weil du eben nur die lfuse umgestellt hast und der AVR so nicht mit 
einem 16Mhz-Quarz läuft. Du mußt beide auf einmal umstellen.

>> Alternativ mit einem parallel-Programmer die
>> Fuses reparieren.
>
> wie stelle ich das denn an? uisp und avrdude können die fuses nicht
> mehr setzen.
>
> # avrdude -P /dev/parport0 -p m8 -c dapa -t -F

Mit "parallel-Programmer" ist nicht ein Gerät gemeint, das am 
Parallelport des PCs hängt, sondern eines, das den AVR nicht per ISP, 
sondern im Modus "parallel programming" programmiert. Für diesen wird 
kein Takt gebraucht, also geht das auch, wenn die Taktfuses falsch 
eingestellt sind.

> Auch wenn es als Schüler schmerzt, kann ich dir ein STK500 für den
> Anfang ans Herz legen.

@Raccoon:
Alternativ wäre auch der AVR-Dragon empfehlenswert. Der ist billiger und 
kann zusätzlich auch noch debugwire und JTAG.

von Fate-Man (Gast)


Lesenswert?

Aber ich befürchte, dass es zu diesen Programmern nur Windows oder 
zumindest nur GUI-Software gibt. Das problem ist, dass ich:
a) linux benutze
b) meinen LPT am PC mit x-server geschrottet habe, weshalb ich alles auf 
meinem server (ohne x-server/gui) über die kommandozeile (ssh) compile 
und auf den avr spiele.

ich bräuchte also meine gewohnten (avrdude oder uisp) oder andere 
command-line-tools, um meine avrs zu programmieren. Aber bei diesen 
Programmern steht immer nur was über WinAVR ("Win" .. toll -.-) und 
AVRStudio  und selbst wenn davon was für linux wäre, dann kann ich mit 
gui nichts anfangen :/


@Raccoon:
Werd mal versuchen, ob in der schule die geräte kurz benutzen darf. dann 
kann ich auch mal mit nem Oszilloskop gucken, ob das mit dem Quarz 
funzt. nur leider sind grad ferien ^^

von Matthias (Gast)


Lesenswert?

..linux benutze..
Tja, Pech gehabt.

..meinen LPT am PC mit x-ser..
Wieder Pech gehabt. Kauf dir ein ordentliches Programmierdongle.

..nur leider sind grad ferien..
Selten, von Schülern sowas zu hören ;-)

von tex (Gast)


Lesenswert?

<< Mit "parallel-Programmer" ist nicht ein Gerät gemeint, das am
Parallelport des PCs hängt, sondern eines, das den AVR nicht per ISP,
sondern im Modus "parallel programming" programmiert. Für diesen wird
kein Takt gebraucht, also geht das auch, wenn die Taktfuses falsch
eingestellt sind. >>

Geht es auch dann noch, wenn er die JTAG - Fuse erwischt hat?

von Karoly Kovacs (Gast)


Lesenswert?

> Das problem ist, dass ich:
> a) linux benutze

:))) Warum hast Du es nicht gleich am Anfang geschrieben?
Viele Leute versuchen Dir helfen, und dann, nach "hundert" Einträge
gibst Du diese wichtige Information endlich aus. :)))

Karoly

von Simon K. (simon) Benutzerseite


Lesenswert?

Raccoon wrote:
> Auch wenn es als Schüler schmerzt, kann ich dir
> ein STK500 für den Anfang ans Herz legen. Da kannst du viel
> experimentieren, der kann auch HV programmieren, um die alten AVRs zu
> retten und im AVRStudio werden die Fuseeinstellungen richtig gut
> angezeigt!
>
> Überleg dir das mal...

Wenn es rein um das programmieren mit AVR-Studio geht, taugt auch ein 
AVRISP mkII (ca. 40€)

EDIT: Ja, AvrStudio läuft natürlich nicht utner Linux.

von Fate-Man (Gast)


Lesenswert?

Ich dachte, dass das nicht von bedeutung sei, weil es die progs ja auch 
unter windows gibt, und die das da wohl kaum anders handhaben werden.

zudem steht beim avrdude als parameter "/dev/parport0" ^^

aber tut mir leid, wenn das wichtig ist.


PS: mein letzter atmega8 hat sich grad auch verabschieded, obwohl ich 
die fusebytes gleichzeitig geschrieben habe. ich habe mich noch hundert 
mal vorher im datenblatt vergewissert und die werte auch zusätzlich mit 
hand ausgerechnet (weil ich dem fusebit-calc. nicht vertraut habe):
# uisp -dprog=dapa --wr_fuse_h=c9 --wr_fuse_l=1f

jetzt muss ich auf neue liefurungen warten -.- ... meine teuren 
atmega644's sollte ich wohl lieber nicht zum experimentieren nehmen

von Rolf Magnus (Gast)


Lesenswert?

> Aber ich befürchte, dass es zu diesen Programmern nur Windows oder
> zumindest nur GUI-Software gibt.

Da befürchtest du falsch. Ich habe gar kein Windows auf meinem Rechner, 
und mein Dragon funktioniert dort prima mit avrdude.

> Das problem ist, dass ich:
> a) linux benutze

Das tue ich ebenso, nur ist das bei mir nicht das Problem, sondern die 
Lösung. ;-)

> b) meinen LPT am PC mit x-server geschrottet habe, weshalb ich alles
> auf meinem server (ohne x-server/gui) über die kommandozeile (ssh)
> compile und auf den avr spiele.

Dann ist der Dragon ja prima geeignet. Der wird per USB angeschlossen. 
Übrigens geht GUI ja auch problemlos mit remote-X.

> # uisp -dprog=dapa --wr_fuse_h=c9 --wr_fuse_l=1f

Sieht eigentlich gut aus.

> nur leider sind grad ferien ^^

So ein Mist aber auch ;-)

von Fate-Man (Gast)


Lesenswert?

>> Das problem ist, dass ich:
>> a) linux benutze

> Das tue ich ebenso, nur ist das bei mir nicht das Problem, sondern die
> Lösung. ;-)

hehe .. das hab ich wohl ein wenig doof formuliert ^^ als problematisch 
erachte ich dabei nur, dass die ganze welt meint, alle würden windoof 
benutzen :/


>> # uisp -dprog=dapa --wr_fuse_h=c9 --wr_fuse_l=1f

> Sieht eigentlich gut aus.

Ja also nach datenblatt ist das doch alles in ordnung so?! oO
Ich werde mir aber erstmal ein AVR-Dragon kaufen. Kann ich die atmels 
auch damit wieder "geradebiegen" (über den avrdude oder uisp)? Dann kann 
ich die ja sooft kaputtfusen bis die endlich mal funzen (ohne angst um 
mein geld haben zu müssen ;) ).


@Matthias
>> ..linux benutze..
> Tja, Pech gehabt.

wieso pech? ganz im gegenteil :p ^^

von pumpkin (Gast)


Lesenswert?

Wenn du über eine Investition in Richtung Hardware nachdenkst dann schau 
mal bei www.segor.de nach. Die haben den Dragon und das STK500 gerade im 
Paket - und das relativ günstig.

pumpkin

von Rolf Magnus (Gast)


Lesenswert?

> Kann ich die atmels auch damit wieder "geradebiegen" (über den avrdude
> oder uisp)?

Der unterstützt "parallel programming" und "high voltage serial 
programming". Ich hab's bisher noch nicht ausprobiert, weil ich noch 
keinen kaputtgefused habe.

von Peter D. (peda)


Lesenswert?

Wen Du Probleme mit dem Fusen hast, solltest Du erstmal einen 
fabrikneuen AVR einlesen und die Fuses mit den Defaulteinstellungen 
vergleichen.

Wenn es dann schon Ungereimtheiten gibt, dann kann ja beim Umfusen nur 
Mist rauskommen.

Auch solltest Du daran denken, daß neuere AVRs einen Prescaler haben und 
erstmal sehr langsam takten.
Dann muß die Programmersoftware auch auf langsamen Takt gesestzt werden, 
sonst gibts Datenmüll.


Peter

von Fate-Man (Gast)


Lesenswert?

> Wen Du Probleme mit dem Fusen hast, solltest Du erstmal einen
> fabrikneuen AVR einlesen und die Fuses mit den Defaulteinstellungen
> vergleichen.

das habe ich bereits getan, aber da war alles in ordnung!

> Auch solltest Du daran denken, daß neuere AVRs einen Prescaler haben und
> erstmal sehr langsam takten.
> Dann muß die Programmersoftware auch auf langsamen Takt gesestzt werden,
> sonst gibts Datenmüll.

gilt das nur beim fusen? weil ich hab den atmega8 (der ja unwissentlich 
auf 1Mhz immer lief) immer programmiert bekommen (ohne probleme). Auch 
als ich mal die fuses auf den internen clock mit 8Mhz gesetzt habe (und 
das ist das einzige, was hier mal funktioniert hat), da lief er mit 8Mhz 
und ich konnte fröhlich weiterprogrammieren. oO

von Fate-Man (Gast)


Lesenswert?

EDIT:

Ich habs auch gerade nochmal ausprobiert (mit nem neuen atmega8 (sind 
heute angekommen ^^)). Also ich kann den internen Takt ohne Probleme auf 
8Mhz kalibrieren (läuft auch, weil mit F_CPU=16e6 Mhz dauert eine 
sekunde auch nun (ca) eine sekunde und nicht 16 sekunden)


Könnte es denn auch ein Problem mit dem Quarz sein? Ich habe einen 16Mhz 
Quarz an zwei 22pF Kondis und die verbindungen stimmen alle! Vll. zuviel 
oder zuwenig Kapazität?

von Fate-Man (Gast)


Lesenswert?

Nochmal EDIT (sry):

Ich meine mit F_CPU=8e6 dauerts nicht mehr 8 sekunden!!!

von Hannes L. (hannes)


Lesenswert?

Fate-Man wrote:
> Nochmal EDIT (sry):
>
> Ich meine mit F_CPU=8e6 dauerts nicht mehr 8 sekunden!!!

Solange Du selbst nicht weißt was Du tust und schreibst, kann Dir sowiso 
keiner helfen. Du solltest etwas sorgfältiger arbeiten.

...

von Fate-Man (Gast)


Lesenswert?

>> Nochmal EDIT (sry):
>>
>> Ich meine mit F_CPU=8e6 dauerts nicht mehr 8 sekunden!!!

> Solange Du selbst nicht weißt was Du tust und schreibst, kann Dir sowiso
> keiner helfen. Du solltest etwas sorgfältiger arbeiten.

beruhig Dich mal.
Mein erstes edit war nur ein Anhängsel, weil mir nach meinem Post noch 
die Idee kam (die kommen manchmal was spät vll.) den atmel auf 8Mhz zu 
stellen.
Leider hab ich mich beim schreiben dann vertippt (mir geistert halt so 
einiges im kopf rum, und da kann es ja wohl mal passieren, dass man sich 
ich vertut!)
In der Hinsicht weiß ich sehr wohl, was ich tue -.-

von Düsentrieb (Gast)


Lesenswert?


von Rolf Magnus (Gast)


Lesenswert?

> Könnte es denn auch ein Problem mit dem Quarz sein?

Ja. Wie ist er denn angeschlossen? Wie lang sind die Leitungen zum Quarz 
und zu den Kondensatoren?

> Vll. zuviel oder zuwenig Kapazität?

Was ist ein V11?

von Raccoon (Gast)


Lesenswert?

:oD Ich hau mich weg...

V11 = Abkürzung für "Vielleicht"

von Fate-Man (Gast)


Lesenswert?

>> Könnte es denn auch ein Problem mit dem Quarz sein?

> Ja. Wie ist er denn angeschlossen? Wie lang sind die Leitungen zum Quarz
> und zu den Kondensatoren?

Ich hab leider keine Kamera zur Hand ^^ aber ich versuch' es mal zu 
schildern:
Der Quarz ist vom Controller 5 "Lochrasterabstände" entfernt. Der Quarz 
steht parallel zum Controller. Ich hab (um Zinn zu sparen) die Drähte 
des Quarz zum Controller hingebogen. Zwei Lochrasterabstände hinter dem 
Quarz kommen die Kondensatoren (parallel) und der zweite Pol der Kond. 
kommt an die Masse.


Also ca. so:

AVR      Qu   Kondis
...
o
o--------o----o||o---+
o----+   =           |
o    +---o----o||o---+
o                    | (GND)
...

Nochwas:
GND und VCC sind durch einen 10µF Kond. verbunden.

Sonst sind auf der Platine nur noch die ports durch stiftleisten 
herausgeführt.
(einen Spannungsregler hab ich nicht.)

von Hannes L. (hannes)


Lesenswert?

> Nochwas:
> GND und VCC sind durch einen 10µF Kond. verbunden.

Zusätzlich zum (oder anstatt des) erforderlichen 100nF 
Keramik-Kondensator?

...

von Fate-Man (Gast)


Lesenswert?

100nF? oO
Ich hab hab da nur en 10µF drin

Auf der Seite 
http://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht 
hab ich folgendes gelesen:
"Es schadet nicht, wenn man den Elko einige Nummern größer wählt, man 
ist dann quasi für alle Fälle gerüstet. So sind Werte zwischen 100 uF 
und 2200 uF durchaus denkbar."

Die 100nF seh ich da nur im Zusammenhang mit dem Spannungsregler (den 
ich nicht habe) und ich hatte grad nur en 10µF zur hand. Den Controller 
hab ich allerdings direkt an nem PC-Netzteil. Von daher sollte das 
stabil sein. Oder können auch erhebliche Störungen durch elektrische 
Felder auftreten oder ist das unerheblich?
Sonst löte ich irgendwo nen >=100µF raus.

von Hannes L. (hannes)


Lesenswert?

Fate-Man wrote:
> 100nF? oO
> Ich hab hab da nur en 10µF drin
>
> Auf der Seite
> http://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht
> hab ich folgendes gelesen:
> "Es schadet nicht, wenn man den Elko einige Nummern größer wählt, man
> ist dann quasi für alle Fälle gerüstet. So sind Werte zwischen 100 uF
> und 2200 uF durchaus denkbar."

Das hatte sicher einen anderen Zusammenhang. Denn jede dort gezeigte 
Schaltung hat den 100nF-Kondensator. Der ist sooooooo 
selbstverständlich, dass man ihn kaum noch erwähnt. Ein Elko kann seine 
Funktion nicht ersetzen, dafür ist er zu langsam.

>
> Die 100nF seh ich da nur im Zusammenhang mit dem Spannungsregler (den
> ich nicht habe) und ich hatte grad nur en 10µF zur hand.

Der Spannungsregler braucht "seine eigenen" 100nF-Keramik-Kondensatoren 
(direkt an den Pins, sonst sind sie unwirksam), um seine Schwingneigung 
zu unterdrücken. Dies aber nur nebenbei, Du hast ja keinen 
Spannungsregler drin.

> Den Controller
> hab ich allerdings direkt an nem PC-Netzteil.

Das ist nun die schlechteste Lösung, besonders für Anfänger, die auch 
mal einen Kurzschluss fabrizieren.

> Von daher sollte das
> stabil sein.

Irrtum, die 5V vom PC sind arg verseucht.

> Oder können auch erhebliche Störungen durch elektrische
> Felder auftreten oder ist das unerheblich?
> Sonst löte ich irgendwo nen >=100µF raus.

Tipps zum Betrieb am PC-Netzteil gebe ich Dir nicht, ich will nicht 
schuld sein, wenn Dir der Mist abbrennt.

...

von Fate-Man (Gast)


Lesenswert?

>> Den Controller
>> hab ich allerdings direkt an nem PC-Netzteil.

> Das ist nun die schlechteste Lösung, besonders für Anfänger, die auch
> mal einen Kurzschluss fabrizieren.

Auf dem weg zum avr hin is ne sicherung (1A) zwischengeschaltet.


Also soll ich en 100µF Elko und 100nF Keramik parallel an GND und VCC 
schalten?

Ist der Spannungsregler denn zwingend erforderlich beim 
PC-Netzteil-Betrieb (ich übernehme auch die Verantwortung für mein 
Handeln ;) )?
Ich hab nun mal keine andere 5V-Spannungsquelle.

von Matthias L. (Gast)


Lesenswert?

>r Spannungsregler denn zwingend erforderlich

Nicht unbedingt. Aber die 100nF Abblockkondensatoren an JEDEM (A)Vcc-GND 
Paar!

von Fate-Man (Gast)


Lesenswert?

Was meinst du denn mit "an JEDEM"? an jedem des Controllers? und dann so 
nah wie möglich am Controller, oder ist das egal?

von Hannes L. (hannes)


Lesenswert?

Fate-Man wrote:
> Was meinst du denn mit "an JEDEM"? an jedem des Controllers? und dann so
> nah wie möglich am Controller, oder ist das egal?

Alle Deine Fragen sind schon 'zigmal in diesem Forum beantwortet worden. 
Hier nur zwei der vielen Threads:

Beitrag "Minimalbeschaltung Mega8"
Beitrag "µC (AVR) an Autobatterie (ohne Auto) ?? Hilfe benötigt ..."

Du solltest langsam damit beginnen, Dir Deine Informationen 
selbstständig zu beschaffen. Dies erreicht man z.B. durch Suchen, durch 
Lesen anderer Beiträge usw.

...

von Matthias L. (Gast)


Lesenswert?

> Was meinst du denn mit "an JEDEM"? an jedem des Controllers? und dann so
> nah wie möglich am Controller, oder ist das egal?

Du hast atmega8:

Er hat:
Pin7   Vcc & GND Pin8
Pin20 AVcc & GND Pin22
sowie Aref.

JEDE dieser Spannungsversorgungen MUSS mit einem Abblockkondensator SO 
DICH WIE MÖGLICH an den BEIDEN Pins abgeblockt werden.

Also benötigst du exakt drei 100nF Kondensatoren für den mega8.

von Fate-Man (Gast)


Lesenswert?

Ok danke.

Das ist mir neu. Ich habe sehr wohl schon viel im Internet gesucht und 
das hör ich zum ersten mal.
Ich werd alles jetzt mal exakt so bauen.

Vielen Dank schonmal bis hierhin an alle!

von Matthias L. (Gast)


Lesenswert?

>Ich habe sehr wohl schon viel im Internet gesucht..

Scheinbar ja nicht, denn da du ja atmel nimmst:

http://www.atmel.com/dyn/resources/prod_documents/doc1619.pdf

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.