www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tiny


Autor: ensan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

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?

Danke

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kommt drauf an, was du damit machen willst. Im Prinzip ja, aber oft
reicht die Genauigkeit nicht.

Autor: ensan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich nur für ein Blinklicht. Das heißt  2 Leds erst blinkt der
eine pause der andere einmal pause dann beide zusammen.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich mach  meine UARTS mit nem ATMega8515 und ohne externen Quarz und das
geht super. (Auf 4MHz getaktet)

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ächtz
das ist und bleibt Schrott, ich kanns nicht mehr hören.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
full ack.

UART nie mit unkalibrierten Taktgebern verwenden, danke.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das Problem ist ja, dass es im Einzelfall wirklich funktioniert. Aber
eben nicht mit jedem  MC und nicht bei Temperaturschwankungen.
Empfehlen kann man es keinesfalls.

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was hat das alles mit dem Tiny12 zu tun??

;-)

...

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gar nix, nur mit dem internen RC-Osz allgemein.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, da gibt es immer wieder Unbelehrbare. Und das Thema kommt auch alle
paar Wochen wieder auf. Und dummerweise immer OT, so dass man es beim
Suchen meist nicht findet...

...

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ensan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Mehmet Kendi (mkmk)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.