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
kommt drauf an, was du damit machen willst. Im Prinzip ja, aber oft reicht die Genauigkeit nicht.
eigentlich nur für ein Blinklicht. Das heißt 2 Leds erst blinkt der eine pause der andere einmal pause dann beide zusammen.
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. ...
Ich mach meine UARTS mit nem ATMega8515 und ohne externen Quarz und das geht super. (Auf 4MHz getaktet)
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.
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.
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.
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... ...
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.
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.
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.
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
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.
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.
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?
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. ...
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...
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. ...
@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.
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.
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.