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
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.
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?!
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
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?
> 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.
@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
@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. ;)
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
> 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.
"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...
> 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.
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 ^^
..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 ;-)
<< 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?
> 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
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.
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
> 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 ;-)
>> 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 ^^
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
> 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.
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
> 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
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?
Nochmal EDIT (sry): Ich meine mit F_CPU=8e6 dauerts nicht mehr 8 sekunden!!!
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. ...
>> 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 -.-
guck mal auf http://palmavr.sourceforge.net/cgi-bin/fc.cgi?P_PREV=ATmega8&P=ATmega8&V_LOW=FE&V_HIGH=99&M_LOW_0x3F=0x3E&M_LOW_0x40=&M_LOW_0x80=0x80&M_HIGH_0x01=&M_HIGH_0x06=0x00&M_HIGH_0x08=&M_HIGH_0x10=0x00&M_HIGH_0x20=0x00&M_HIGH_0x40=0x00&M_HIGH_0x80=&B_WTDON=P&B_SPIEN=P&B_BOOTSZ1=P&B_BOOTSZ0=P&B_CKSEL0=P wenn du noch nen mega8 testen willst: schreib h fuse auf 0x89; lesen ok? dann l fuse 0xfe mit deinen "alten": teste mal mit externem 2 oder 3,xx mhz quartz...
> 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?
:oD Ich hau mich weg... V11 = Abkürzung für "Vielleicht"
>> 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.)
> Nochwas: > GND und VCC sind durch einen 10µF Kond. verbunden. Zusätzlich zum (oder anstatt des) erforderlichen 100nF Keramik-Kondensator? ...
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.
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. ...
>> 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.
>r Spannungsregler denn zwingend erforderlich
Nicht unbedingt. Aber die 100nF Abblockkondensatoren an JEDEM (A)Vcc-GND
Paar!
Was meinst du denn mit "an JEDEM"? an jedem des Controllers? und dann so nah wie möglich am Controller, oder ist das egal?
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. ...
> 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.
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!
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.