Tiny

#282623
Lesenswert?

Du brauchst dazu keinen Quarz. Wenn es nicht zu genau sein soll, dann
musst du nichtmal den internen Oszillator calibrieren. Der Takt liegt
dann irgendwo um die 0,8..1MHz.

Willst du es genauer haben, dann solltest du von der Möglichkeit der
Calibration des internen RC-Oszillators Gebrauch machen, dann taktet
der Tiny12 mit 1,2MHz.

Einen Quarz brauchst du erst, wenn es sehr genau sein muss, z.B. für
(Software-) UART oder genaue Zeitgeber. Der kostet dich allerdings
I/O-Pins.

...
Gast #282628
Lesenswert?

Wieso "nie" - es hängt jawohl immer von der Baudrate ab die man
verwenden möchte. Wenn wirklich nur ein paar Byte übertragen werden
sollen, kann man die Baudrate doch auf 300 z.B. herunterstellen. Dafür
kann die Platine kleiner werden falls man wirklich Platzprobleme hat.

Ein allgemeines

> das ist und bleibt Schrott, ich kanns nicht mehr hören.

ist auf jedenfall nicht angemessen.
Gast #282629
Lesenswert?

das ist der nächste Trugschluss, dass sich mit Heruntersetzen der
Baudrate irgend was ändert. Hast du 5% Abweichung der
Oszillatorfrequenz, hast du auch auch 5% bei 300 oder 1 Baud. Das ist
nunmal so, kannst du gerne nachrechnen.
Gast #282633
Lesenswert?

Gut, die 300 waren ein schlechtes Beispiel. Aber bei höheren Baudraten
hab ich - wenn ich "gerade" Oszillatorfrequenzen verwende - eine
sowieso meist höherer Abweichung vom Nominalwert. Also wird bei
geringeren Baudraten die zusätzliche Abweichung der Quarzfrequenz nicht
so viel ausmachen, als bei einer höheren Baudrate.
Persönliche Seite #282634
Lesenswert?

lol? Die Taktgeberabweichung macht bei niedrigen Baudraten genausoviel
aus, wie bei hohen. nämlich (zB) 5% ! Und 5% bleiben 5%. auch bei 300
Baud.

Egal welche Baudfrequenz man wählt, ihre Genauigkeit ist die der
Hauptfrequenz des µCs.

das mit den geraden und ungeraden Oszillatorfrequenzen ist ja ohnehin
schon klar, kann man also jetzt mal hier auslassen.
Gast #282635
Lesenswert?

Und daraus folgt:
Habe ich bei optimalem Takt eine Abweichung zur eingestellten Baudrate
von 0%, habe ich nachher eine Abweichung von 5% -> funktioniert.

Habe jedoch vorher mit einem Quarz bei einer höheren Baudrate schon
eine Abweichung von 5%, habe ich nachher im ungünstigsten Fall 10%
Abweichung -> funktioniert nicht mehr.

Man kann natürlich auch immer eine Abweichung von 0% anstreben, wenns
schön macht.
Gast #282636
Lesenswert?

Ein kleiner Stich ins AVR Land.
Da gibts doch tatsaechlich ganz kleine Micros, die braucht man nicht
selbst zu kalibrieren, die haben ueber den gesamten Temperatur und
Spannungsbereich einen internen Oszillator der weniger als 2.5%
Abweichung hat, bei Auslieferung und Raumtemp weniger als 1%

Die kleinen sind unter der Familie LPC900 zu finden und koennen allemal
mit Tinys mithalten auch wenn man sie doppelt so schnell takten muss.

p.s. ich stimme absolut zu, dass die IRC Oszillatoren in den Tinys fuer
alles was einen Takt mit weniger als 3% braucht (z.B. UART) voellig
unzureichend sind.

Um die urspruengliche Frage nochmals aufzugreifen, die blinker mit 5%
Abweichung sollten immer noch OK sein ;-)

Gruss, Robert
#282637
Lesenswert?

Also, entweder habe ich saumaessig Glück, oder Eure Behauptungen
betreffend interner RC-Oszi muss dochmals unter die Lupe.
Bei einem meiner Geraete konnte ich wegen Platzmangen keinen Quarz
einsetzen (Atmega8 / TQFP). Nach laengeren Tests mit verschiedenen
Umgebungstemperaturen stellte ich fest, dass die Kommunikation (9600
Baud / RS485) die einen Ausreisser hatte.
Nun wird das Geraet in Serie verkauft (keine grossen Stückzahlen, z.Zt.
20 Stück) und es gab noch nie Aerger wegen der Kommunikation.
Temperaturen, denen das Geraet ausgesetzt ist: 10 Grad bis max. 30
Grad.

Ich möchte aber erwaehnen, dass ich den internen Oszi mir OSCAL bei 20
Grad Raumtemperatur auf nahezu 0% Abweichung kalibriere.
Gast #282638
Lesenswert?

jo, wenn du die Kalibrierung ordentlich machst und das Gerät in einem
engem Temperaturbereich betreibst und die Abgleichtemperatur auch noch
in die Mitte dieses Bereichs legst, glaube ich dir das.
Eine weitere Frage: Single oder Multimaster? Wenn Single-Master, ist
das dann ein Gerät mit korrektem Timing (PC z.B.?). Wenn du nämlich 2
Wackelkandidaten miteinander kommunizieren lässt und der eine 10° und
der andere 30° hat, wirds wahrscheinlich auch nicht mehr (sicher)
funktionieren.
Keinen Platz für einen SMD-Keramik-Resonator? Kann ich fast nicht
glauben.
Gast #282639
Lesenswert?

Hallo

Danke für die Zahlreichen antworten aber irgenwie weicht ihr vom Thema
ab. Ich habe leider nicht viel mit avr zutun gehabt außer in meiner
ausbildung mal kurz da hatten wir den avr 4433 und der ließ sich nicht
ohne Quarz ansprechen. Oder? Muss ich beim Tiny wenn Ich edn internen
Taktgeber nutzen will Programm technisch was beachten?
#282640
Lesenswert?

Ein Blick ins Datenblatt des Tiny12 zeigt dir, dass er mit aktiviertem
internen RC-Oszillator ausgeliefert wird. Er rennt also los, sobald er
Betriebsspannung bekommt, ist also sofort einsatzfähig.

Beachten sollte man, dass man einen Keramik-Kondensator von 100nF an
die Betriebsspannungsanschlüsse schalten soll, und zwar möglicht dicht
an die AVR-Pins.

Dann sollte man wissen, dass der interne RC-Oszillator aufgrund der
Fertigungstoleranzen mit einer unbekannten Frequenz läuft (siehe auch
mein Posting oben, das den UART-Streit ausgelöst hat). Um den
Oszillator des Tiny12 auf die vorgeschriebene Frequenz zu trimmen, kann
man ihn calibrieren. Stell das aber erstmal zurück bis du etwas mehr
Detailwissen hast, er läuft auch ohne Calibration, nur eben langsamer
und mit unbekannter Frequenz. Zum Blinken wird das reichen.

...
Gast #282641
Lesenswert?

Hallo zusammen,

Im Datenblatt des Mega8 auf Seite 28 steht sogar, dass sich der Chip
den Kalibrationswert automatisch "zieht", sofern er auf 1Mhz laufen
soll (und man die Clock-Fuses richtig eingestellt hat).
Beim Tiny12 muss diese Kalibration von Hand vornehmen.

During reset, hardware loads the 1 MHz calibration byte into the OSCCAL
Register and thereby automatically calibrates the RC Oscillator. At 5V,
25°C and 1.0 MHz Oscillator frequency selected, this calibration gives
a frequency within ± 3% of the nominal frequency.

Für den Blinker aber von ohne Belang...
#282642
Lesenswert?

Stimmt, Mega8 hat Calibrationsmode 3.0, der calibriert bei Reset
automatisch mit dem 1MHz-Calibrationswert.

Hier ging es aber um den Tiny12 (erstes Posting):

> Benötigt man eigentlich beim Tiny 12 einen Quarz für den Betrieb.
> Ich habe gehört das dieses bei den Mega typen nicht notwendig sei,
> wie ist es bei Tiny?

Und Tiny12 hat Calibrationsmode 1.1 und muss daher manuell calibriert
werden. Nachzulesen im Datenblatt und in Appnote AVR053, Seite 3.

...
#282643
Lesenswert?

@crazy horse

"Single oder Multimaster?" Single-Master, wobei PC der Master ist.

"Keinen Platz für einen SMD-Keramik-Resonator? Kann ich fast nicht
glauben."
Ich lebe in der Türkei und da gibt es keinen Reichelt, Segor, Farnell
etc.
Man nimmt, was man kriegt :)

Uebrigens habe ich kürzlich zum ersten Mal bei CSD-Elektronik bestellt.
Das Ganze lief reibungslos über die Bühne.
Gast #282644
Lesenswert?

Neben der Temperatur spielt auch die Versorgungsspannung eine Rolle, was
die Frequenzstabilität angeht. Wenn die z.B. wegen direktem
Batteriebetrieb zwischen 3-5 Volt schwankt, macht das nochmal einiges
aus.

Ansonsten: Köstlich, wie immer wieder der Denkfehler auftritt, dass bei
niedrigen Baudraten der prozentuale Fehler geringere Auswirkungen hat.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren