Forum: Mikrocontroller und Digitale Elektronik AVR Takt einstellung schief gelaufen


von gentleben (Gast)


Lesenswert?

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ß

von Düsendieb (Gast)


Lesenswert?

gentleben schrieb:
> beiden Kondensatoren 22nF

doch eher 22pF?

von gentleben (Gast)


Lesenswert?

ja sorry :)

von Charly B. (charly)


Lesenswert?

externer oszillator an xtal1 anschliesen, irgendwass
zw. 4 - 16 Hhz , oder mit einem sogenannten HV programmiergeraet

vlg
Charly

von gentleben (Gast)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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

von gentleben (Gast)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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'.

von spess53 (Gast)


Lesenswert?

Hi

Was soll eigentlich 'Restiger Fuses' sein?

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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. :)

von gentleben (Gast)


Lesenswert?

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

von Chris (Gast)


Lesenswert?


von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von gentleben (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von gentleben (Gast)


Lesenswert?

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?

von Schorschi (Gast)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

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.