Forum: Mikrocontroller und Digitale Elektronik AVR mit zu wenig Spannung betreiben


von Stefan F. (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

es gibt Arduino minis 328p die mit 8MHz 3,3V ausgeliefert werden, denen 
könnte man den Bootloader "ausborgen" und auf den 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.

https://www.google.de/search?q=arduino+mini+8MHz&ie=utf-8&oe=utf-8&client=firefox-b&gfe_rd=cr&ei=8MvkV__jHtKv8wfz2Ac#q=arduino+mini+8MHz&tbs=vw:l,ss:9,p_ord:p&tbm=shop

wird denn unbedingt 16MHz benötigt?

vieles geht mit 8MHz auch

: Bearbeitet durch User
von Pandur S. (jetztnicht)


Lesenswert?

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 ?

von M. K. (sylaina)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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)

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


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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

von Einer K. (Gast)


Lesenswert?

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.

von m.n. (Gast)


Lesenswert?

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.

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


Lesenswert?

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.

von Sascha W. (sascha-w)


Lesenswert?

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

von m.n. (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Einer K. (Gast)


Lesenswert?

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.

von Holger L. (max5v)


Lesenswert?

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.

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


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?


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


Lesenswert?

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.

: Bearbeitet durch Moderator
von Einer K. (Gast)


Lesenswert?

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.

von Lurchi (Gast)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

von Einer K. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von M. K. (sylaina)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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

von M. K. (sylaina)


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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

von M. K. (sylaina)


Lesenswert?

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.

von Michael U. (amiga)


Lesenswert?

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

von 3Komma3Volt (Gast)


Lesenswert?

Den China-Leuten ist das Datenblatt egal.

http://www.ebay.de/itm/DE-Stock-SainSmart-UNO-R3-MEGA328P-AU-ATMEGA16U2-Free-USB-Cable-For-Arduino-/221419113330?hash=item338d9b8b72:g:~e8AAOxyYTRSZMnh

Hier ein Arduino Uno-Board (16MHz), umschaltbar 5V oder 3,3V.
Bei mir seit einem Jahr bei 3,3 Volt problemlos im Einsatz. Vielleicht 
haben andere damit ja weniger Glück :)

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


Lesenswert?

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.

von Joachim B. (jar)


Lesenswert?

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

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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

von Manfred (Gast)


Lesenswert?

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.

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


Lesenswert?

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.

: Bearbeitet durch Moderator
von Lurchi (Gast)


Lesenswert?

Man kann auch die DIV 8 Fuse haben, und dann im Bootloader / Bootcode 
den Teiler auf 2 ändern.

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


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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

von spess53 (Gast)


Lesenswert?

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

von Mike J. (linuxmint_user)


Lesenswert?

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.

von Manfred (Gast)


Lesenswert?

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.

von Herr M. (herrmueller)


Lesenswert?

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:

von Lurchi (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Lurchi, du hast den Thread gar nicht gelesen. Es ist längst alles 
gesagt, nur noch nicht von jedem.

von Patrick (Gast)


Lesenswert?

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.

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


Lesenswert?

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.

von B.A. (Gast)


Lesenswert?

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.

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


Lesenswert?

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.

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.