Hi ich hab mir ein Quarz und die dazu passenden Kondensatoren besorgt
und an meinen Mikrocontroller gebastelt.. jetzt wollte ich die
Taktfrequenz bei den Fuses einstellen. Habe dann im AVR Studio 4 bei
meinem Programmiergerät den Restiger Fuses ausgewählt und bei SUT_CLKSEL
eine Änderung vorgenommen auf: External Cyrstal/Resonator High Freq.:
Start-up time: 16k CK + 64ms
Wie kann ich das jetzt wieder auf das intere umstellen. Der ATmega32
lässt sich jetzt nicht mehr programmieren, weil die Fehlermeldung mit
der ISP Frequenz kommt.
Das Quarz ist 16000000 und die beiden Kondensatoren 22nF wies sein
soll... Wie kann ich mir jetzt noch helfen und wie mache ich es in
Zukunft richtig??
Gruß
was ist ein externer oszilator genau nicht das wir an einander vorbei
reden.. verstehe ichd as richtig ein quarz oder muss ich mit einem
andern controller eine solche frequenz generieren?
gentleben schrieb:> was ist ein externer oszilator genau
irgendwas, was einen Takt generiert. Zur Not kann das ein zweiter µC
sein, der einen Pin toggelt oder ein 555 der eine möglichst hohe
Frequenz generiert, oder was auch immer. Hauptsache Takt
Muss der Takt einen bestimmten Pegel haben? Ich hätte hier noch ein
Launchpad liegen das könnte ich so programmieren.
Allerdings läuft mein AVR auf 5V und das Pad nur auf 3,3V
Wenn ich dann einen solchen Takt habe kann ich das das Fuse wieder
umstellen?
gentleben schrieb:> Muss der Takt einen bestimmten Pegel haben? Ich hätte hier noch ein> Launchpad liegen das könnte ich so programmieren.>> Allerdings läuft mein AVR auf 5V und das Pad nur auf 3,3V
Probiers aus.
Ist zwar nicht ideal, aber könnte hoch genug sein.
Zur Not kannst du ja noch eine Transistorstufe dazwischen schalten, die
die Pegelanpassung vornimmt.
> Wenn ich dann einen solchen Takt habe kann ich das das Fuse wieder> umstellen?
ISP Frequenz im Brennprogramm runterdrehen (darf nur maximal 1/4 der
Taktfrequenz sein) und dann sollte dich der µC wieder 'reinlassen'.
gentleben schrieb:> ja sorry :)
Wenn du da 22-pF-Kondensatoren dran hast, muss das eigentlich auch
funktionieren.
Hast du die hexadezimalen Werte der Fuses noch, die du eingestellt
hast? (Gibt das AVR Studio mittlerweile auch mit aus.) Diese
Prosa-Einstellungen sind manchmal etwas verwirrend.
spess53 schrieb:> Was soll eigentlich 'Restiger Fuses' sein?
Hatte ich auch gerätselt. Soll wohl "Reiter Fuses" sein. :)
ja sollte ursprünglich Register Fuses heißen^^
Also ich habe das Quarz und die Kondensatoren wie auf diesem Bild
angeordnet:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/fuse_lock_bits_2/ext_quarz.gif
und es funktioniert nicht. Ich habe leider keine Werte bekommen oder
kann mich dran erinnern. Ich habe nur das oben erwähnte ausgewählt und
auf Program geklickt.
Seit dem geht nix mehr und die Fehlermeldung mit der ISP Frequenz kommt
immer. Ich bin diese ja schon gewöhnt und muss bei jedem Start des AVR
Studio 4 die Frequenz manuel auf 57,6kHZ einstellen.
Ich werde mich gleich mal dran setzen und versuchen das mit dem
Launchpad zu retten.
Könnt ihr mir eine Anleitung schicken wo ich mal richtig lerne wie man
die Taktfrequenz einstelle.
Gruß und vielen Dank für die Hilfe
gentleben schrieb:> Also ich habe das Quarz und die Kondensatoren wie auf diesem Bild> angeordnet:
Passt so. Kann man ja auch nicht viel falsch machen.
Was für ein Quarz ist es denn?
> Seit dem geht nix mehr und die Fehlermeldung mit der ISP Frequenz kommt> immer. Ich bin diese ja schon gewöhnt und muss bei jedem Start des AVR> Studio 4 die Frequenz manuel auf 57,6kHZ einstellen.
Das ist schon reichlich seltsam. Was für ein Programmiergerät hast
du denn? Teile wie STK500 oder AVRISPmkII merken sich normalerweise
die letzte eingestellte Frequenz freiwillig, und auch mit einem AVR
im Auslieferungszustand (mit 1 MHz Takt) sollte man nicht so niedrig
gehen müssen (man muss kleiner 250 kHz bleiben, abzüglich ggf. der
Toleranzen des internen RC-Oszillators).
> Könnt ihr mir eine Anleitung schicken wo ich mal richtig lerne wie man> die Taktfrequenz einstelle.
Dazu müssten wir erstmal wissen, was du denn falsch gemacht hast.
Das ist nämlich bislang keineswegs ersichtlich.
Ich benutze ein ISP Programmiergerät das ich auf ebay gekauft habe. Das
war das einzige unter vielen was mal funktiert hat.
Er benutzt das Protokoll des STK500 soweit ich das verstanden habe.
Bisher habe ich immer den internen Takt genommen und einen Kondensator
zwischen VCC und GND gelegt. Was ich immernoch in der Schaltung habe.
Kann es daran liegen, das es nicht mehr funktioniert? Jetzt hab ich die
Einstellung für die Fuses gemacht und seit dem funktioniert nix mehr.
Auch nicht das Programm was ursprünglich auf den Controller war. Es war
ein Programm welches ein LCD programmiert, sollte aber irrelevant sein
denke ich.
Meine Vermutung zu dem was ich falsch gemacht habe ist. Das ich eine
falsche Einstellung genommen habe.
Habe bei Fuses
SUT_CLKSEL
External Cyrstal/Resonator High Freq.:
Start-up time: 16k CK + 64ms
Daher dachte ich es gäbe zum einstellen des Taktes eine Anleitung die
alles genau erklärt.
Gruß und danke
gentleben schrieb:> Ich benutze ein ISP Programmiergerät das ich auf ebay gekauft habe. Das> war das einzige unter vielen was mal funktiert hat.
Offenbar reichlich billig, wenn er sich nichtmal die ISP-Frequenz
merkt. Naja, klappen sollte es trotzdem.
> Kann es daran liegen, das es nicht mehr funktioniert?
Nein.
> Jetzt hab ich die> Einstellung für die Fuses gemacht und seit dem funktioniert nix mehr.
Irgendwie schwingt dein Quarz nicht. Kann natürlich auch ein
kaputter Quarz sein, oder irgendwas anderes passt da nicht. Daher
die Frage nach dem genauen Quarztyp (am besten ein Link zum Shop
des Händlers, wo du ihn gekauft hast).
Und versichere dich nochmals, dass die Kondensatoren wirklich 22 pF
haben!
Wie sieht denn der Aufbau aus?
> Habe bei Fuses>> SUT_CLKSEL>> External Cyrstal/Resonator High Freq.:> Start-up time: 16k CK + 64ms
Klingt erstmal plausibel, aber ich mag diese Automatismen nicht.
Ich finde es immer noch am sichersten, das Datenblatt zu studieren,
genau zu verstehen, welche Fuses man wie einstellen muss, und
dann genau diese zu programmieren. Wie geschrieben, mittlerweile
geht das auch mit'm AVR Studio, und sie zeigen auch an, welche
Fuse-Werte exakt programmiert werden.
Danke dann werde ich mal nachharken was ich genau eingestellt habe.
Also ich habe die Sachen hier bestellt bei ebay..
http://www.ebay.de/itm/180902150729?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Da waren direkt die Kondensatoren bei und auf dem Kondensator ist auch
die 22 daher denke ich mal das es der richtige ist.
Ich habe wegen Platzmangel die Quarz-Anordnung mit auf dem Breadboard
und per Kabel an die Pins geführt. Liegt es daran?
Hi,
deine Einstellungen scheinen im ersten Augenblick richtig zu sein.
Die Verdrahtung des Quarzes ist aber nicht optimal. Da könnte ev. die
induktive bzw. kapazitive Last der Verbindungsstellen auf dem Board und
das Stück kabel das Quarz zu stark belasten so dass ein Schwingen
vollständig vergindert wird. Versuche das Quarz direkt an die Pins zu
legen. Es geht, so mach ichs auf meinen Breakoutboards auch und es
funktioniert.
Gruß,
Schorschi.
gentleben schrieb:> Also ich habe die Sachen hier bestellt bei ebay..> http://www.ebay.de/itm/180902150729?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
Dann könntest du zumindest noch den zweiten Quarz testen.
> Ich habe wegen Platzmangel die Quarz-Anordnung mit auf dem Breadboard> und per Kabel an die Pins geführt. Liegt es daran?
Da nähern wir uns dem Problem wohl ... "Breadboard", damit meinst
du sicher so ein Steckbrett? Die Dinger haben unsäglich hohe
parasitäre Kapazitäten. Du kannst mal probieren, die normalen
Last-Kondensatoren einfach wegzulassen; mit etwas Glück ist das
ganze Gebilde dann mit den parasitären Kapazitäten in einem
schwingfähigen Bereich.
Ansonsten Kondensatoren und Last-Kondensatoren unter Umgehung des
Steckbretts auf kurzem Weg direkt an den Controller klemmen oder
löten.
Warum steht eigentlich im Forum und auf den Wiki-Seiten von
mikrocontroller.net immer "22 pF"?
Die AVR-Datenblätter empfehlen "12 bis 22 pF".
Die Bauteiltoleranzen der billigen Kondensatoren sind selten besser als
20 %, das heißt, ein Kondensator, auf dem "22 pF" aufgedruckt ist, kann
gerne auch mal 26 pF haben. Meistens macht das gar nichts – aber eben
nicht immer.
Aus dem Grund empfehle ich normalerweise 18-pF-Kondensatoren zu
verwenden.
Markus W. schrieb:> Warum steht eigentlich im Forum und auf den Wiki-Seiten von> mikrocontroller.net immer "22 pF"?
Weil sich keiner traut, 42 pF hinzuschreiben.
> Die AVR-Datenblätter empfehlen "12 bis 22 pF".
Ist genauso falsch.
Der notwendige Wert bestimmt sich nach dem Quarz. Jeder Quarz hat
eine Nenn-Lastkapazität, die er "sehen" muss. Diese bildet sich
aus der Reihenschaltung dieser beiden Cs, denen allerdings noch
weitere parasitäre Kapazitäten parallel liegen. Da das AVR-Datenblatt
oder die Wiki-Seiten hier weder die exakten parasitären Kapazitäten
deiner Platine kennen noch die Nenn-Last deines Quarzes, sind
all diese Angaben "Hausnummern".
> Die Bauteiltoleranzen der billigen Kondensatoren sind selten besser als> 20 %,
Das ist, mit Verlaub, Blödsinn.
N0P-Kerkos werden in üblichen Toleranzen ausgeliefert. Kann ja sein,
dass Feld-, Wald- und Wiesenlieferanten wie Tante Reichelt die
Toleranz nicht ausweisen (weil sie die Teile heute dieses und morgen
jenes Herstellers ausliefern und sich da nicht festlegen wollen), aber
wenn ich mir beispielsweise bei RS mal alle verfügbaren 22-pF-Kerkos
in 0603 ansehe, dann sind die billigen Typen (4 Cent das Stück)
mit ±5 % angegeben. ±2 % gibt's auch, ist aber deutlich teurer.
Schlechter als ±5 % gibt's keine dort.
Ein völlig anderes Blatt sind natürlich die hochpermeablen Kerkos
(X5R und so). Diese sind sehr breit toleriert, und die Kapazität
schwankt stark mit Temperatur und Betriebsspannung. Hat aber mit den
hier benutzten N0P-Teilen außer der grundlegenden Bauform nichts
gemein.