mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino Nano auf 20 Mhz?


Autor: Me (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

der Arduino Nano kommt mit einem 16 Mhz Quartz, laut Datenblatt kann der 
ATmega328P allerdings 20 MHz.

Gibt es irgend einen sinnvollen Grund für diese Beschränkung des Nano 
oder könnte man diesen auch einfach durch einen 20 MHz Quartz ersetzen?

Danke!

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Alle Arduino Module liefen ursprünglich mit 16MHz, und die ersten 
konnten auch nicht schneller. Man hat das sicher beibehalten, um hier 
keine unnötige Verwirrung zu stiften.

> könnte man diesen auch einfach durch einen 20 MHz Quartz ersetzen

Kann man, dann aber vermutlich mit anderen Lastkapazitäten und du 
brauchst einen modifizierten Bootloader.

Autor: Rufus Τ. F. (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
3 lesenswert
nicht lesenswert
Quarz ohne "t".

Ein Grund, bei 16 MHz zu bleiben, könnte die in diversen Libraries etc. 
vorhandenen Berechnungen für die Timerprogrammierung und für 
Verzögerungen etc. sein, die bei anderem Takt angepasst werden müssten.

Ansonsten sind 20 MHz gerade mal 25% mehr als 16 MHz, das kann man 
messen, aber nicht in Form schnellerer Reaktionszeit o.ä. spüren.

Autor: Joachim B. (jar)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Ansonsten sind 20 MHz gerade mal 25% mehr als 16 MHz, das kann man
> messen, aber nicht in Form schnellerer Reaktionszeit o.ä. spüren.

die größte Zeitvernichtung bleibt delay() und ungünstige Programmierung.

Meist reicht ein kleinerer Takt und bessere Programmierung, das versteht 
heute keiner mehr weswegen immer mehr nach GHz gerufen wird.

Ein guter Grund den Quarz zu tauschen wäre nur Baudratenquarz um seriell 
kleinere Fehler bei hohen Baudraten zu bekommen, aber dazu müsste der 
Bootloader neu gemacht werden.

Rufus Τ. F. schrieb:
> Ein Grund, bei 16 MHz zu bleiben, könnte die in diversen Libraries etc.
> vorhandenen Berechnungen für die Timerprogrammierung

sollte mit F_CPU und angepasster Board.txt eigentlich kein Problem sein, 
der mini 328p mit 8MHz kanns ja auch.

Autor: c.m. (Gast)
Datum:

Bewertung
-3 lesenswert
nicht lesenswert
könnte es sein, dass 16MHz eine bessere zeitbasis für UART liefern? 
weiss ich jetzt nicht auswendig.

Joachim B. schrieb:
> Meist reicht ein kleinerer Takt und bessere Programmierung, das versteht
> heute keiner mehr weswegen immer mehr nach GHz gerufen wird.

GHz braucht man vor allem wenn man fette frameworks für sehr 
hochsprachige aufgaben verwenden will. für kleine pipi-programme auf 
microcontrollern sicher nicht.
obwohl… ich fände es schon schön wenn marlin mehr steps/sekunde 
rausklöppeln könnte.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
c.m. schrieb:
> GHz braucht man vor allem wenn man fette frameworks für sehr
> hochsprachige aufgaben verwenden will. für kleine pipi-programme auf
> microcontrollern sicher nicht.

und deswegen werden die kleinen µC immer mehr verachtet?
man kann es ja beobachten auch das gehts rasant aufwärts oft ohne Not 
ESP vs. AVR

ich gebe aber zu mehr Leistung und mehr RAM ist nicht zu verachten, 
preislich nimmt sich das ja für Hobbyuser nichts.

Übrigens kleiner µC wenn in milionenfach verkauften Küchenmaschinen 
MUM44 ein PIC eingesetzt wird regt sich keiner auf.

Autor: Erwin D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
c.m. schrieb:
> ich fände es schon schön wenn marlin mehr steps/sekunde

Wer ist 'marlin'?

Autor: c.m. (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Erwin D. schrieb:
> c.m. schrieb:
>> ich fände es schon schön wenn marlin mehr steps/sekunde
>
> Wer ist 'marlin'?

3d drucker firmware. google.

Autor: Joachim B. (jar)
Datum:

Bewertung
-6 lesenswert
nicht lesenswert
Joachim B. schrieb:
Bewertung -1

:P na und :)

Autor: Luki (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Läuft der Nano nicht mit 3.3V?
Da wäre max 16Mhz lt. Datenblatt

Figure 32-1. Maximum Frequency vs. VCC

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Luki schrieb:
> Da wäre max 16Mhz lt. Datenblatt
>
> Figure 32-1. Maximum Frequency vs. VCC

16 MHz macht er ziemlich sicher nur bei 4,5 V. Ohne ins Datenblatt 
geschaut zu haben, machen die AVRs eher maximal 12 MHz bei 3,3 V.

Autor: Korinthen Kacka (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
avr schrieb:
> 16 MHz macht er ziemlich sicher nur bei 4,5 V.

Nach dem Prinzip "Prinzipienreiter" ja. In der Paxis gehen
die Dinger bei 3.3V auch noch mit 20 MHz. Nicht garantiert,
und nicht in allen erdenklichen Lebensumständen, aber mit
ausprobieren schon ziemlich gut ..... es soll auch Leute
geben die lassen sie sogar mit mehr als 20 MHz (bei 5V)
laufen.

Autor: avr (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Korinthen Kacka schrieb:
> Nach dem Prinzip "Prinzipienreiter" ja. In der Paxis gehen
> die Dinger bei 3.3V auch noch mit 20 MHz.

Man könnte auch zwischen Pfusch und professionell unterscheiden. Und wer 
sich dessen bewusst ist, sollte keine Designs im Internet 
veröffentlichen, die bei manchen Leuten möglicherweise nicht 
funktionieren.

Autor: ochje (Gast)
Datum:

Bewertung
-6 lesenswert
nicht lesenswert
avr schrieb:
> Korinthen Kacka schrieb:
>> Nach dem Prinzip "Prinzipienreiter" ja. In der Paxis gehen
>> die Dinger bei 3.3V auch noch mit 20 MHz.
>
> Man könnte auch zwischen Pfusch und professionell unterscheiden. Und wer
> sich dessen bewusst ist, sollte keine Designs im Internet
> veröffentlichen, die bei manchen Leuten möglicherweise nicht
> funktionieren.

Spar dir den Atem, das ist die Arduino - Fraktion.
Pfusch per Definition. Da erwartet man nix anders, als dass das Zeug 
absemmelt, wenn eine Fliege daneben hustet. Oft mit einer Rauchfahne. 
Für diese Leute ist das normal, da wird nicht mal nach dem Fehler 
gesucht.
Und wenn jemand gescheit arbeit - dann ist das "Korinthenkackerei".

Was die EIGENTLICHE Frage angeht:
Was spricht gegen den Arduino Due? Der hat einen dicken 32-Bit-ARM 
drauf, der deutlich schneller sein sollte.
https://store.arduino.cc/arduino-due
Wennn man Ansprüche an die Perfomance hat, hier wird man geholfen.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Man könnte auch zwischen Pfusch und professionell unterscheiden.

Ich musste gestern umlernen und zur Kenntnis nehmen, dass 
"professionell" etwa so viel wie "damit Geld verdienen" oder 
"berufsmäßig ausführen"  bedeutet.

Wenn ich so sehe, was bei Amazon, Ebay und Aliexpress an Elektronik, 
Spielwaren und Kleidung verkauft wird, befürchte ich, dass Pfusch leider 
häufig professionell ist.

Dann gibt es als zweite Bedeutung "fachmännisch anerkannt". Deutsch 
nervt!

: Bearbeitet durch User
Autor: Herr B. (herr_barium)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefanus F. schrieb:
> Deutsch
> nervt!

это правильно. Вот почему говорят по-русски!
:)

Autor: Manfred (Gast)
Datum:

Bewertung
-5 lesenswert
nicht lesenswert
Joachim B. schrieb:
> die größte Zeitvernichtung bleibt delay() und ungünstige Programmierung.

Du hast schon mitbekommen, dass es auch bei Arduino einen Timer gibt, 
den man abfragen kann? Spätestens, wenn man Tasten abfragen und / oder 
eine Regelschleife bauen will, wird delay() wenig glorreich enden.

> sollte mit F_CPU und angepasster Board.txt eigentlich kein Problem sein,
> der mini 328p mit 8MHz kanns ja auch.

In der Board.txt sehe ich aber auch, dass der ProMini_8MHz einen anderen 
Bootloader hat.

Luki schrieb:
> Läuft der Nano nicht mit 3.3V?
> Da wäre max 16Mhz lt. Datenblatt

Der Nano hat 5 Volt. Wenn Du das Datenblatt lesen würdest, wäre klar, 
dass 16MHz @5V von Atmel nicht garantiert sind.

Korinthen Kacka schrieb:
> Nach dem Prinzip "Prinzipienreiter" ja. In der Paxis gehen
> die Dinger bei 3.3V auch noch mit 20 MHz.

Mein Bedauern. Es wurde schon korrekt gesagt:
avr schrieb:
> Man könnte auch zwischen Pfusch und professionell unterscheiden.

ochje schrieb:
> Spar dir den Atem, das ist die Arduino - Fraktion.
> Pfusch per Definition.

Was soll das denn? Meine Nanos oder ProMini stecken auf Lochrasterkarten 
mit selbst entwickelter Peripherie, welche einer groben Nachrechnung 
stets Stand hält.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> In der Board.txt sehe ich aber auch, dass der ProMini_8MHz einen anderen
> Bootloader hat.

ja und wenn der Bootloader angepasst wird....

Joachim B. schrieb:
> Ein guter Grund den Quarz zu tauschen wäre nur Baudratenquarz um seriell
> kleinere Fehler bei hohen Baudraten zu bekommen, aber dazu müsste der
> Bootloader neu gemacht werden.

liest du auch oder schreibst du nur?

Autor: spess53 (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
Hi

>Der Nano hat 5 Volt. Wenn Du das Datenblatt lesen würdest, wäre klar,
>dass 16MHz @5V von Atmel nicht garantiert sind.

Welches Datenblatt vom ATMega328 benutzt du? Oder woher stammt diese 
"Erkenntnis"?

Meine Datenblätter vom ATMega328(P) sagen einheitlich

 0 - 20MHz @ 4.5 - 5.5V

MfG Spess

Autor: Manfred (Gast)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
spess53 schrieb:
>>Der Nano hat 5 Volt. Wenn Du das Datenblatt lesen würdest, wäre klar,
>>dass 16MHz @5V von Atmel nicht garantiert sind.
>
> Welches Datenblatt vom ATMega328 benutzt du? Oder woher stammt diese
> "Erkenntnis"?

Ich nehme alles zurück und behaupte das Gegenteil - hier war die 
Schreibhand schneller als mein Hirn. Da hätte stehen sollen 16MHz @ 
3,3V.

Ich hänge das Diagramm mal an.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> Der Nano hat 5 Volt

nicht wenn er von USB Spannung bekommt

https://www.arduino.cc/en/uploads/Main/ArduinoNano...

da ist noch eine Diode im Weg (und meine Messungen haben nicht an jedem 
USB 5V ergeben, so das 16 MHz sicherer sind am USB)

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> da ist noch eine Diode im Weg (und meine Messungen haben nicht an jedem
> USB 5V ergeben, so das 16 MHz sicherer sind am USB)

Wir nehmen also zur Kenntnis, dass die Entwickler des A* die 16MHz 
sinnvoll gewählt haben und man sie nicht verändern sollte, OK?

Autor: Alex G. (dragongamer)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Manfred schrieb:
> Joachim B. schrieb:
>> da ist noch eine Diode im Weg (und meine Messungen haben nicht an jedem
>> USB 5V ergeben, so das 16 MHz sicherer sind am USB)
>
> Wir nehmen also zur Kenntnis, dass die Entwickler des A* die 16MHz
> sinnvoll gewählt haben und man sie nicht verändern sollte, OK?
Wenn man mit den standardboards arbeitet und auf Numemr sicher gehen 
will, ja.

Wenn man aber schon den Quarz auslöten und ersetzen will, könnte man 
natürlich auch andere Teile verändern und die Spannungsversorgung 
sichergehen.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex G. schrieb:
> Wenn man aber schon den Quarz auslöten und ersetzen will, könnte man
> natürlich auch andere Teile verändern und die Spannungsversorgung
> sichergehen.

jau
https://www.pololu.com/product/2115

Autor: Philipp K. (philipp_k59)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manfred schrieb:
> Wir nehmen also zur Kenntnis, dass die Entwickler des A* die 16MHz
> sinnvoll gewählt haben und man sie nicht verändern sollte, OK?

Das geht, die Library ist sogar so intelligent das die das merkt.

Allerdings gehen nur volle Mhz zahlen die durch 2/4 Teilbar sind genau 
genug soweit ich das weiß.

Man muss nur einen optiboot Bootloader für 20 Mhz 
anpassen/kompilieren/Downloaden und die Boards.txt ändern.

Gegebenfalls muss man mal eine Library zu Fuß anpassen, wobei fast jede 
auch nur FCPU benutzt da man 8Mhz oder 16Mhz haben kann.

Das kann man dann ja sehen.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp K. schrieb:
> Gegebenfalls muss man mal eine Library zu Fuß anpassen

das musste ich bei meinem arduino mighty mini 1284p clone machen weil 
der Zugriff auf fastLED für die WS2812b um 10% verlangsamt war,

https://www.mikrocontroller.net/attachment/244099/...
Beitrag "Arduino FastLED LIB vs. WS28xx LIB"

ich hatte einfach die entsprechende Stelle um F_CPU * 9L/10L erweitert 
und schon passte das Timing wieder
Beitrag "Re: Arduino FastLED LIB vs. WS28xx LIB"

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.

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