Als Beispiel nehmen wir mal den ATmega328P mit 16Mhz Quarz.
Ich entnehme dem Datenblatt, dass 3,3V Versorgungsspannung zu wenig
sind.
Experiemntiell habe ich herausgefunden, dass er trotzdem zuverlässig
startet. Wie lange er dann durchhält, weiß ich allerdings nicht.
Nun bin ich auf die Idee gekommen, ganz am Anfang des Programms den
Clock-Prescaler zu ändern, so dass der Systemtakt ausreichend
herabgesetzt wird.
Kann das gehen? Läuft der Quarz-Oszillator und der Presclaer mit 3,3V
und 16Mhz zuverlässig? Dazu habe ich im Datenblatt keine Antwort
gefunden.
Die spezifizierten Betriebsbereiche sind so weil
-sie durch ALLE Expemplare
-im gesammten Temperaturbereich
bis auf diese Spannung hinunter funktionieren.
Das bedeutet waehrend die genannte spannung bei diesm Expelar genuegen
mach, muss das bei einem anderen Expemplat nicht der Fall sein, und auch
nicht ueber den gesammten Temperaturbereich.
Ist also nichts fuer eine Serie.
Wozu muss man die Taktrate denn ausreizen ? Ein Furz fuer maximale
Pseudo-Performance ?
Stefan U. schrieb:> Kann das gehen? Läuft der Quarz-Oszillator und der Presclaer mit 3,3V> und 16Mhz zuverlässig?
Es kann passieren, dass du mal einen erwischst, der nicht zuverlässig
mit den 3,3V läuft.
Deiner Frage nach zu urteilen gehst du aber auch falsch an die Thematik
ran: Nicht die zu Verfügung stehende Spannung bestimmt den maximalen
Takt sondern die Aufgabe, die der µC zu bewältigen hat. Als schöner
Randeffekt sinkt dabei auch gleich noch der Strombedarf des µCs
deutlich.
Kleines Pseudo-Beispiel: Ein µC soll mit Hilfe eines LM35 alle 10 ms die
Temperatur messen und auf einem Display anzeigen, außerdem soll noch ein
Lüfter angesteuert werden.
Das Problem lässt sich natürlich mit einem µC mit 16 MHz locker regeln.
Es lässt sich aber auch mit nur 128 kHz regeln. Im Falle des Atmega328
ist das bei gleicher Spannung von z.B. 5V ein Stromunterschied von rund
9 mA zu rund 0.1 mA, es ist also mal eben 90 mal weniger Leistung
erforderlich nur weil man die geringere, ebenfalls ausreichende,
Taktrate benutzt.
Stefan U. schrieb:> Läuft der Quarz-Oszillator und der Presclaer mit 3,3V> und 16Mhz zuverlässig? Dazu habe ich im Datenblatt keine Antwort> gefunden.
Doch, das Datenblatt ist da eindeutig. Und du hast es doch selber schon
gefunden.
Stefan U. schrieb:> Als Beispiel nehmen wir mal den ATmega328P mit 16Mhz Quarz.> Ich entnehme dem Datenblatt, dass 3,3V Versorgungsspannung zu wenig> sind.
Warum glaubst du dem DB nicht.
Warum glaubst du dir selber nicht.
(habe da extra keine Fragezeichen hinter gemacht, denn ich will es gar
nicht wissen)
Stefan U. schrieb:> Nun bin ich auf die Idee gekommen, ganz am Anfang des Programms den> Clock-Prescaler zu ändern, so dass der Systemtakt ausreichend> herabgesetzt wird.
Genau das macht doch die CKDIV8-Fuse. Lass sie also einfach
gesetzt.
Jörg W. schrieb:> Genau das macht doch die CKDIV8-Fuse. Lass sie also einfach> gesetzt
Im Datenblatt steht, frei übersetzt:
"3,3V und 16MHz tuts nicht"
Da steht nicht:
"Mit Vorteiler tuts das"
Wer unbedingt 3,3V und 16MHz will, wird offensichtlich in der AVR Welt
nicht glücklich. Viele (alle?) ARM können das.
Also?
Dem findigen Entwickler fällt schon was ein.....
> wird denn unbedingt 16MHz benötigt?
Nein, aber die (Arduino Nano clone) Module, die ich derzeit sehr gerne
einsetze, sind halt so bestückt und ich möchte sie nicht umbauen. So
winzig kleine Bauteile kann ich nicht verarbeiten und die Module
verwende ich, weil sie letztendlich viel billiger sind, als einzelne
Bauteile in groß (DIL).
> Genau das macht doch die CKDIV8-Fuse.
Ich würde die Fuse auf jeden Fall verwenden, wenn das Umschalten des
Prescaler durch das Programm versagen würde. Dann muss ich allerdings
auf den Bootloader verzichten oder ihn umschrieben - was freilich nicht
den Weltuntergang bedeuten würde.
Es bleibt aber immer noch die ursprüngliche Frage offen, ob ich den
Quarz-Oszillator zuverlässig mit 16Mhz bei 3,3V betreiben kann und ob
der Prescaler mit "zu wenig" Versorgungsspannung richtig funktioniert.
> Wer unbedingt 3,3V und 16MHz will, wird offensichtlich in der> AVR Welt nicht glücklich.
mir würden 1Mhz reichen, aber die Module sind mit 16Mhz Quarz bestückt.
Ich möchte klären, ob ich unbedingt den Quarz auswechseln muss.
Stefan U. schrieb:> sind halt so bestückt und ich möchte sie nicht umbauen.
Die Fuses auf internen Takt umstellen und den den Bootloader gegen eine
8 oder 1MHz Variante tauschen.
Lass den Quarz doch einfach nur einen Krümel Sand sein.
Stefan U. schrieb:> Es bleibt aber immer noch die ursprüngliche Frage offen, ob ich den> Quarz-Oszillator zuverlässig mit 16Mhz bei 3,3V betreiben kann und ob> der Prescaler mit "zu wenig" Versorgungsspannung richtig funktioniert.
Dazu steht auch nichts im Datenblatt.
Die Einen meinen, es ist nur möglich, was ausdrücklich erlaubt ist, und
werden nie sehen, daß hinter dem Tellerrand noch viel mehr Suppe ist.
Die Anderen versuchen die Funktion insgesamt zu verstehen und zu
bewerten.
Ich würde testen, ob der Oszillator bei 2 - 2,5 V Versorgungsspannung
noch sicher schwingt. Wenn ja, hätte ich keine Bedenken den µC mit 3,3 V
@ 16 MHz mit Vorteiler 1:2 zu betreiben.
Stefan U. schrieb:> Es bleibt aber immer noch die ursprüngliche Frage offen, ob ich den> Quarz-Oszillator zuverlässig mit 16Mhz bei 3,3V betreiben kann und ob> der Prescaler mit "zu wenig" Versorgungsspannung richtig funktioniert.
Oszillator und Prescaler sind da nicht das Problem. Die Limitierung
entsteht (in erster Linie) durch den Flash.
m.n. schrieb:> Stefan U. schrieb:>> Es bleibt aber immer noch die ursprüngliche Frage offen, ob ich den>> Quarz-Oszillator zuverlässig mit 16Mhz bei 3,3V betreiben kann und ob>> der Prescaler mit "zu wenig" Versorgungsspannung richtig funktioniert.>> Dazu steht auch nichts im Datenblatt.
Das kann man so nicht sagen, es gibt eine Tabelle die die maximale
Frequenz für externen Takt nennt und der unterliegt dort den selben
Beschränkungen. Also ist davon auszugehen das die internen Komponenten
(Oszillator, Vorteiler) schon nicht für 16MHz@3.3V spezifiziert sind.
Sascha
Sascha W. schrieb:> Also ist davon auszugehen das die internen Komponenten> (Oszillator, Vorteiler) schon nicht für 16MHz@3.3V spezifiziert sind.
Das ist Deine Vermutung und keine Aussage des DBs.
m.n. schrieb:> Die Anderen versuchen die Funktion insgesamt zu verstehen und zu> bewerten.
Darum geht es.
Jörg W. schrieb:> Oszillator und Prescaler sind da nicht das Problem. Die Limitierung> entsteht (in erster Linie) durch den Flash.
So ist es. Ein simpler Vorteiler wird nicht das Problem sein.
Arduino F. schrieb:> Die Fuses auf internen Takt umstellen und den den Bootloader gegen eine> 8 oder 1MHz Variante tauschen.
schrieb ich schon, will er aber wohl nicht wissen
Joachim B. schrieb:> nano umflashen mit> fuse auf 8 MHz intern, oder den Quarz oder RC resonator tauschen.> Optiboot für 8MHz ginge auch, ISP Prommer wird benötigt.
Joachim B. schrieb:> schrieb ich schon, will er aber wohl nicht wissen
Doppelt hält besser!
@: Stefan Us, also nochmal:
Warum fixierst du dich so dermaßen auf den 16MHz Quarz?
Dabei musst du den noch nicht einmal ignorieren.
m.n. schrieb:> Jörg W. schrieb:>> Oszillator und Prescaler sind da nicht das Problem. Die Limitierung>> entsteht (in erster Linie) durch den Flash.>> So ist es. Ein simpler Vorteiler wird nicht das Problem sein.
Ich kann mir da allerdings schon vorstellen das der Vorteiler durch die
Spannung beeinflusst wird.
Was allerdings interessant ist, nach Figure 9.1 im Datenblatt scheint
der RC Oszillator direkt auf den Flash und EEprom zu gehen, bei den
externen scheint das nicht der Fall zu sein.
Allerdings würde ich es bei Einzelexemplaren einfach ausprobieren,
messen und ein wenig beobachten.
Holger L. schrieb:> Was allerdings interessant ist, nach Figure 9.1 im Datenblatt scheint> der RC Oszillator direkt auf den Flash und EEprom zu gehen
Das ist nur dafür da, das write timing festzulegen.
M. K. schrieb:> Das Problem lässt sich natürlich mit einem µC mit 16 MHz locker regeln.> Es lässt sich aber auch mit nur 128 kHz regeln. Im Falle des Atmega328> ist das bei gleicher Spannung von z.B. 5V ein Stromunterschied von rund> 9 mA zu rund 0.1 mA, es ist also mal eben 90 mal weniger Leistung> erforderlich nur weil man die geringere, ebenfalls ausreichende,> Taktrate benutzt.
Und dann braucht das Backlight des Displays 50 mA und der Lüfter 200 mA,
und kein Hahn krähnt mehr nach den 9 mA des µC. Nicht immer ist der
Stromverbrauch signifikant.
> Die Fuses auf internen Takt umstellen
Geht nicht, weil dann der serielle Port nicht mehr zuverlässig
funktioniert.
> Warum fixierst du dich so dermaßen auf den 16MHz Quarz?
Weil der R/C Oszillator für die serielle Schnittstelle ungeeignet (oder
zumindest nicht empfehlenswert) ist und ich den Quarz nicht umlöten
kann. Ich habe wohl zu dicke Wurstfinger.
> Ich würde testen, ob der Oszillator bei 2 - 2,5 V> Versorgungsspannung noch sicher schwingt.
Meine Versuche mit 2,8V liefen alle gut, sogar ohne den Prescaler zu
benutzen (also mit 16Mhz Systemtakt). Aber was heisst das schon? Ich
habe kein anständiges Equipment um das ordentlich zu testen. Deswegen
bin ich unsicher.
Anscheinend bin ich nicht der Einzige, der im Datenblatt keine klare
Antwort finden kann. Dann muss es wohl bei dieser Unsicherheit bleiben.
Ist mir lieber, als den R/C Oszillator zu verwenden. Bei dem fällt die
serielle Schnittstelle schon aus, wenn ich den Fön mal kurz drauf halte
um den Chip auf geschätzte 40°C anzuwärmen.
Stefan U. schrieb:> Anscheinend bin ich nicht der Einzige, der im Datenblatt keine klare> Antwort finden kann.
Die klare Antwort willst du bloß nicht wissen. Die lautet, dass du
nicht davon ausgehen brauchst, dass für den internen Quarzoszillator
mehr garantiert würde als für den externen Takt, und da ist es
eindeutig, dass bis herab zu 2,7 V maximal 10 MHz zugelassen sind.
Die Aussage, dass bei kleinen Spannungen eher der Flash das Begrenzende
ist denn Oszillator oder Teiler ist eine reine Praxissaussage, keine
Garantie des Herstellers.
Stefan U. schrieb:> Geht nicht, weil dann der serielle Port nicht mehr zuverlässig> funktioniert.
Na na na .....
Bei 9600 Baud tuts das mit internen 1MHz gut genug.
Und mit 4800 erst recht.
Und wenn du ganz pingelig bist, nutzt du den internen Thermosensor, oder
den Watchdogtakt, zur Kompensation.
So eindeutig sind die Datenblätter (zumindest die Versionen die ich
kenne) nicht. Der RC Takt scheint auch schneller zu laufen als der Rest
des µC - sonst würde die DIV8 Fuse keinen Sinn machen um den µC mit
wenig Spannung und dann 1 MHz laufen zu lassen. Der Teiler hat also
schon mal keine Probleme mit 2,x V und 8 MHz. Es wäre ja auch komisch
wenn der einfache Teiler nicht schneller laufen könnte als eine
komplette CPU.
Ich würde davon ausgehen, dass auch der Quarz Oszillator höhere
Frequenzen verträgt als die CPU. Von daher sollte mit 16 MHz Quarz ,
Vorteiler und DIV8 Fuse schon funktionieren. Die eindeutige Bestätigung
dafür habe ich aber dafür in DB nicht gefunden, es wäre aber logisch.
Das Gegenteil steht aber auch nicht im DB - da fehlt einfach die Angabe.
Beim Quarzoszillator hängt es auch von der externen Beschaltung ab - da
können ggf. bei 3,3 V die Anforderungen an den Quarz etwas höher sein.
Es ist also nicht der µC alleine der festlegt ob es mit 3 V und 16 MHz
noch geht. Mit einem ganz schlechten (defekten) Quarz geht es ggf. auch
bei 5 V nicht, auch wenn das DB sogar 20 MHz bei 5 V erlaubt.
Arduino F. schrieb:> Stefan U. schrieb:>> Geht nicht, weil dann der serielle Port nicht mehr zuverlässig>> funktioniert.> Na na na .....> Bei 9600 Baud tuts das mit internen 1MHz gut genug.> Und mit 4800 erst recht.
mit internen 8MHz geht auch 19K2 und wer den internen Oszi anzweifelt
der justiert ihn eben mit der Korrektur, also wirklich......
Hier ist das passende Werkzeug (für die Arduino IDE) um deinen Nano bei
3,3V zum flitzen zu bekommen.
Datei->Voreinstellungen
Sketchbook-Speicherort merken
Mit dem Dateimanager dahin flitzen
Dort findest du ein "hardware" Verzeichnis.
Da rein kommt das "breadboard" Verzeichnis aus meiner Zip.
Arduino F. schrieb:> Wer unbedingt 3,3V und 16MHz will, wird offensichtlich in der AVR Welt> nicht glücklich.
Schau noch mal genauer hin ;)
Rolf M. schrieb:> Und dann braucht das Backlight des Displays 50 mA und der Lüfter 200 mA,> und kein Hahn krähnt mehr nach den 9 mA des µC. Nicht immer ist der> Stromverbrauch signifikant.
Richtig, nicht immer ist der Stromverbauch signifikant. Aber es schadet
auch nicht auf geringen Stromverbauch zu achten. ;)
Stefan U. schrieb:> Weil der R/C Oszillator für die serielle Schnittstelle ungeeignet (oder> zumindest nicht empfehlenswert) ist und ich den Quarz nicht umlöten> kann. Ich habe wohl zu dicke Wurstfinger.
Na dann setz doch den Prescaler auf z.B. 2. Dann bist du bei 8 MHz und
da reichen 3.3 V völlig. Ich sehe dein Problem immer noch nicht. Warum
ist überhaupt das CLKDIV8 aus? So wie ich es bisher hier gelesen hab
würden dir auch 1 MHz reichen, mit dem CLKDIV8, welches werksmäßig
gesetzt ist, hättest du 2 MHz. Was überlegst du da also noch ob der
Atmega328 bei 16 MHz mit 3.3V zuverlässig läuft wenn dir auch eine
deutlich geringere Taktrate genügt? Einfach den Prescaler passend
einstellen und gut ist.
> Der RC Takt scheint auch schneller zu laufen als der Rest> des µC - sonst würde die DIV8 Fuse keinen Sinn machen
Interessante Überlegung, klingt logisch.
> mit internen 8MHz geht auch 19K2 und wer den internen Oszi anzweifelt> der justiert ihn eben mit der Korrektur, also wirklich.....
Es geht mir um eine Bastelanleitung, die ich Anfängern geben möchte.
Wenn irgend möglich, möchte ich ihnen diese Arbeit ebenso ersparen, wie
das Umlöten des Quarzes und das Herumfummeln an den Fuses.
> Na dann setz doch den Prescaler auf z.B. 2.> Dann bist du bei 8 MHz und da reichen 3.3 V völlig.
Witzbold! Genau davon habe ich doch geschrieben! Meien Frage war, ob
Prescaler und Quarz-Oszillator bei 3,3V die 16Mhz schaffen.
> Warum ist überhaupt das CLKDIV8 aus?
Wer lesen kann ist klar im Vorteil. Aber für dich wiederhole ich es
gerne nochmal: Weil es sich um ein Arduino Nano Modul handelt, das so
verkauft wird.
Wenn es ein Eigenbau wäre, hätte ich einfach einen anderen Quarz z.B.
mit 4Mhz verwendet.
Stefan U. schrieb:> Es geht mir um eine Bastelanleitung, die ich Anfängern geben möchte.> Wenn irgend möglich, möchte ich ihnen diese Arbeit ebenso ersparen, wie> das Umlöten des Quarzes und das Herumfummeln an den Fuses.
Es wäre vielleicht ganz gut wenn du uns erstmal alle Randbedingungen
nennen würdest.
M. K. schrieb:> Ich sehe dein Problem immer noch nicht.
es weiss wohl keiner genau ob der flash auch bei 16MHz Quarz mit 16MHz
beschrieben wird oder mit weniger wenn clkdiv8 gesetzt ist!
Mit 2 MHz ist die mögliche Baudrate auch geringer als mit 8MHz.
Die Arduino IDE geht bei F_CPU aber immer noch von 16MHz aus, es bleiben
also Fragen offen!
Der IDE muss der Takt mitgeteilt werden über ein Board.txt, so
jedenfalls beim mighty 1284p.
> Es wäre vielleicht ganz gut wenn du uns erstmal alle> Randbedingungen nennen würdest.
Steht noch nicht fest. Ich möchte Bastelanleitungen erstellen, bei denen
Arduino Nano Clones verwendet und 4 Batterien Größe AA mit
Spannungsregler oder 3 Batterien Größe AA ohne Spannungsregler verwendet
werden. Die Anleitungen sollten einigermaßen Nachbausicher sein.
Das sind die Randbedingungen, die feststehen.
> Die Arduino IDE geht bei F_CPU aber immer noch von 16MHz aus
Ja, die ist mir allerdings egal. Ich nutze die Arduino Software gar
nicht außer vielleicht den Bootloader. Aber der wäre nur ein nettes
Goodie, nicht wirklich notwendig.
Stefan U. schrieb:> Witzbold! Genau davon habe ich doch geschrieben! Meien Frage war, ob> Prescaler und Quarz-Oszillator bei 3,3V die 16Mhz schaffen.
Na klar schafft der das, warum sollte der Teiler das nicht schaffen?
Wenn du erst den Prescaler einstellst ist das kein Problem. Der ist da
recht unkritisch.
Hallo,
das datenblatt sagt, was Atmel garantiert. Über den kompletten
Temperatur- und Spannungsbereich in jeder möglichen Kombination.
Ganz prkatisch? Mir ist noch kein Mega328 begegnet, dder bei 3,3V und
Zimmertemperatur nicht stabil mit 16MHz lief.
Ob der es auch noch bei 3V macht? Oder bei -10 Grad? oder bei +50 Grad?
Keine Ahnung, ich hatte die Anwendung nicht, sonst hätte ich den Kram in
den Backofen oder das Gefrierfach gelegt.
Die Frage ist doch: geht es um eine Serie, um etwas, das verkauft oder
verschenkt werden soll, um eine Bauanleitung, die 101% sicher laufen
soll oder um ein Privarprojekt, wo man komplett Herr der Dinge bleibt.
Vom C64-SwinSID sind mehr als genug Exemplare gebaut worden. Da wird ein
Mega88 mit 25MHz, teilweise mit 32MHz getaktet (bei 5V).
Die Klangqulität der SID-Emulation ist zwar nicht gerade so 1005tig,
aber über Ausfälle wegen der Taktfrequenz ist nichts zu finden.
Von Motorola 68xxx CPU und FPU war bekannt, daß man die problemlos um
20% übertakten konnte, ohne irgendwelche internen Probleme (ok, auf die
Kühlung mußte man speziell bei den 68040 schon achten...).
Es hängt eben auch stark von der Technologie und den Prüfkriterien der
Hersteller ab, Atmel scheint da durchaus auf Stabilität zu setzen und es
ist Luft nach oben.
Gruß aus Berlin
Michael
Stefan U. schrieb:> Meien Frage war, ob Prescaler und Quarz-Oszillator bei 3,3V die 16Mhz> schaffen.
Die werden es schon schaffen. Allerdings nützt dir das im
Zweifelsfalle rein gar nichts. Du willst den Prescaler ja nicht per
Fuse, sondern erst zur Laufzeit runtertakten lassen. Dafür jedoch
brauchst du bereits einen funktionierenden Flash, denn woher sonst
sollten die für diese Aktion notwendigen Befehle herkommen wenn nicht
aus diesem?
So gesehen kannst du dir die ganze Aktion aber auch sparen und das
Ding gleich mit 16 MHz laufen lassen. Wenn der Prozessor das nicht
schafft, dann sitzt du so oder so auf dem Trockenen.
Stefan U. schrieb:> Ich möchte Bastelanleitungen erstellen, bei denen> Arduino Nano Clones verwendet und 4 Batterien Größe AA mit> Spannungsregler oder 3 Batterien Größe AA ohne Spannungsregler verwendet> werden. Die Anleitungen sollten einigermaßen Nachbausicher sein.
Nachbausicher und 16MHz bei 3,3V schliessen sich IMHO aus, aber nun gut!
mit 4 AA geht der Atmel auch ohne Spannungsregler wenn ENELOOPs genommen
werden die bleiben auch voll in dem Spannungsbereich vom Atmel und
laufen NIE aus, Alkaline ausgelaufen haben mir schon manches Gerät
zerstört!
4 Alkaline frisch haben fast 7V, da sind mir Eneloops lieber.
Entladeschlußspannung bei Eneloops sind 0,8V bis 0,9V also läuft der
Atmel von voll mit 4x AA bis 3,2V oder 3,6V sicher bei 8 MHz ohne
Stress, wie gesagt Optiboot für 8MHz drauf und gut ist
Stefan U. schrieb:> Es geht mir um eine Bastelanleitung, die ich Anfängern geben möchte.
Ich kann dich nur herzlich bitten, Anfängern NICHT das Ignorieren der
Spezifikationen als erstes bei zu bringen.
Unabhängig davon, ob das dann doch irgendwie funktioniert.
> Du willst den Prescaler ja nicht per> Fuse, sondern erst zur Laufzeit runtertakten lassen.
Wenn es zuverlässig geht: ja. Wenn nicht würde ich die Fuse umstellen
und auf den Bootloader verzichten.
> Nachbausicher und 16MHz bei 3,3V schliessen sich IMHO aus
Das sehe ich auch so, solange das Datenblatt dies nicht klar zulässt.
Ich hatte halt die kleine Hoffnung, dass ich den erhofften Hinweis im
Datenblatt einfach übersehen hatte. Aber dem ist wohl nicht so. Was
nicht drin steht gilt auch nicht.
> Ich kann dich nur herzlich bitten, Anfängern NICHT> das Ignorieren der Spezifikationen als erstes bei zu bringen.
Ja das sehe ich ein.
Stefan U. schrieb:>> Nachbausicher und 16MHz bei 3,3V schliessen sich IMHO aus>> Das sehe ich auch so, solange das Datenblatt dies nicht klar zulässt.>> Was nicht drin steht gilt auch nicht.
Was immer das Geplärre hier soll - unter "28.3 Speed Grades" sehe ich im
Datenblatt ein eindeutiges Diagramm der zulässigen Frequenz, Punkt.
Wenn Du 3,3V willst, passt der Nano schon wegen des USB-Interfaces
nicht.
Kaufe Dir beim Chinesen Pro-Mini-Module, die gibt es in 3,3V @ 8MHz. Bis
auf die fehlende USB lassen die sich wie ein nano programmieren.
Aufpassen: Die China-USB-Adapter mit CH340 haben CTS nicht
herausgeführt, da muß zum Programmieren per USB der Reset von Hand
gemacht werden.
Manfred schrieb:> Was immer das Geplärre hier soll - unter "28.3 Speed Grades" sehe ich im> Datenblatt ein eindeutiges Diagramm der zulässigen Frequenz, Punkt.
Das bezieht sich auf den effektiven Takt. Andernfalls dürftest du
das Teil niemals unterhalb 2,5 V aus dem internen 8-MHz-Oszillator
betreiben, auch nicht mit dem 1:8-Prescaler, mit dem er ausgeliefert
wird.
Aber wie oben schon dargelegt, da er sich drauf verlassen müsste,
dass nicht nur der Oszillator (und später Prescaler), sondern auch
der Flash mit 16 MHz funktioniert (damit man überhaupt Firmware
ausführen kann), ist die Sache in der Tat eindeutig.
Lurchi schrieb:> Man kann auch die DIV 8 Fuse haben
Dann lies' doch erstmal den ganzen Thread durch …
Er wollte gern Arduinos so benutzen, wie sie geliefert werden, und
da haben sie nun einmal den 16-MHz-Quarz aktiviert und die
CKDIV8-Fuse abgeklemmt.
Jörg W. schrieb:> Lurchi schrieb:>> Man kann auch die DIV 8 Fuse haben>> Dann lies' doch erstmal den ganzen Thread durch …>> Er wollte gern Arduinos so benutzen, wie sie geliefert werden, und> da haben sie nun einmal den 16-MHz-Quarz aktiviert und die> CKDIV8-Fuse abgeklemmt.
So wie ich das verstanden habe, will er da nur nicht dran rumlöten. Dass
er keine Fuses ändern will, lese ich nirgends. Im Gegenteil:
Stefan U. schrieb:> Ich würde die Fuse auf jeden Fall verwenden, wenn das Umschalten des> Prescaler durch das Programm versagen würde. Dann muss ich allerdings> auf den Bootloader verzichten oder ihn umschrieben - was freilich nicht> den Weltuntergang bedeuten würde.
> So wie ich das verstanden habe, will er da nur nicht dran rumlöten.
Richtig. Wenn die Fuses und Bootloader unverändert bleiben können wäre
super, muss aber nicht unbedingt sein. Ein bisschen flexibel will ich ja
auch sein :-)
Ich denke, ich habe meine Antwort längst bekommen.
Hi
>Ich hatte halt die kleine Hoffnung, dass ich den erhofften Hinweis im>Datenblatt einfach übersehen hatte.
Schon mal bei den AppNotes von Atmel nachgesehen. Davon gibt es einige
mehr als als Datenblätter.
MfG Spess
Stefan U. schrieb:> Meine Versuche mit 2,8V liefen alle gut, sogar ohne den Prescaler zu> benutzen (also mit 16Mhz Systemtakt). Aber was heisst das schon? Ich> habe kein anständiges Equipment um das ordentlich zu testen. Deswegen> bin ich unsicher.
Ich habe den ATmega644PV schon mit 26MHz betrieben, aber es gab dabei
Probleme mit dem Flash da manche Methoden übersprungen worden sind.
Ich gehe davon aus dass die interne Logik auch mit höheren Frequenzen
funktionieren würde, aber das bringt mir ja nichts wenn der Flash Ärger
macht.
Den 1:8 Teiler von 16 auf 2MHz kannst du ruhig nutzen.
Meine ATmega8 laufen auch bis runter zu 2.7V mit 12MHz (mein
Standardquarz), aber ich betreibe sie mit 3.3V da ich da noch 0.6V Luft
nach oben habe.
Ich bin aber auch nicht gerade sparsam mit den Abblockkondensatoren,
jeder AVR-Controller bekommt einen 47µF Elko und ein paar 100nF + 4.7µF
Kerkos an Vcc und an AVcc.
Wenn ich diese Schaltung in einem kommerziellen nutzen würde, dann würde
ich aber kein Risiko eingehen da man durch solche Schlampereien ganz
böse verklagt werden kann.
Also zu Hause wenn ich mir selbst sicher bin: Ja
Auf Arbeit aber immer streng nach Vorschrift.
Mike J. schrieb:> Auf Arbeit aber immer streng nach Vorschrift.
Jede Schaltung, egal, ob Zuhause oder auf Arbeit, sollte einer
überschlägigen Betrachtung der Datenblattwerte standhalten. Wer das
nicht akzeptiert, soll sich ein Stück Holz besorgen und Figuren
schnitzen.
Stefan U. schrieb:> Es geht mir um eine Bastelanleitung, die ich Anfängern geben möchte.> Wenn irgend möglich, möchte ich ihnen diese Arbeit ebenso ersparen, wie> das Umlöten des Quarzes und das Herumfummeln an den Fuses.Rolf M. schrieb:> So wie ich das verstanden habe, will er da nur nicht dran rumlöten. Dass> er keine Fuses ändern will, lese ich nirgends. Im Gegenteil:
Ohne setzen der DIV8 Fuse ist man mit 16 MHz Quarz und 3.3 V knapp
außerhalb der Spezifikation. Meistens geht das noch gut, aber nicht
immer.
Das Setzen der Fuse ist etwas Aufwand und braucht einen ISP Programmer,
denn auch nicht jeder hat. Der Bootloader beim Arduino ist ja gerade ein
Weg den einzusparen. Damit könnte man dann den µC mit 2 MHz oder 8 MHz
(mit geänderten Programm) laufen lassen und wäre damit wieder in Spec.
Ggf. ändert sich damit die Baudrate.
Die Alternative dazu wäre halt den Quarz auf z.B. 12 oder 8 MHz zu
ändern. Damit ändert sich aber die Baudrate. Mit 12 MHz Quarz könnte ein
unüblicher Wert raus kommen der ggf. Probleme bereitet.
Anstatt sich außerhalb der Spezifikationen aufs Glatteis zu bewegen,
könntest du doch die Spannungsregelung statt mit Spannungsregler mit
einer Z-Diode und Vorwiderstand machen, da brauchst du nicht so eine
hohe Spannungsdifferenz. Wenn der uC keine großen Lasten steuern muss,
macht das eher Sinn als hart auf 3,3 Volt zu regeln und zu hoffen.
Patrick schrieb:> Spannungsregelung statt mit Spannungsregler mit einer Z-Diode und> Vorwiderstand machen, da brauchst du nicht so eine hohe> Spannungsdifferenz
Hmpf.
Nein, ein Lowdrop-Regler funktioniert anders, ganz anders.
Z-Diode ist allemal schlechter als jeder popelige Normalo-Regler.
Solch ein LowDrop-Regler kostet 3 Cent, das sollte machbar sein.
Es gibt aber auch fertige Arduinos mit 3.3V Regler und 8MHz Quarz.
Kosten etwas mehr als 2Euro ... ist doch genau was du suchst.
B.A. schrieb:> Solch ein LowDrop-Regler kostet 3 Cent, das sollte machbar sein.
Vorsicht, es bezeichnet sich so ziemlich jeder heutzutage als
“low drop[out]”, wenn er weniger als die 3 V braucht, die ein
originaler LM317 oder 7805 mal benötigt hat. Nicht jeder davon
geht wirklich komplett in die Sättigung, wenn die Eingangsspannung
so klein wird, dass die Regelung nicht mehr funktioniert.