Arduino Übertakten?

Hallo,
ich wollte mal fragen ob man einen Arduino übertakten kann und
welche Vorteile dies bringt? Hab hier einen Quarz gefunden der bei
100MHz liegt: Conrad.de

Addi

Die Atmel-Mikrocontroller laufen auch nur innerhalb gewisser Taktbereiche, soweit ich weiß ist bei etwa 20 Mhz Schluss. Näheres ist im Datenblatt des jeweiligen Controllers ersichtlich.

Addi:
Hab hier einen Quarz gefunden der bei 100MHz liegt

Da liegt er gut. Lass ihn liegen!

100 MHz (grins) Da kann man sich dann nicht mal drauf verlassen, dass micros() sich in jedem loop - Durchlauf ändert,

Ein 20MHz Quarz geht wohl ...
Oder 16MHz bei 3.3V ...

Aber das bezieht sich auf den standalone atmega chip, nicht auf einen UNO oder MEGA 2560.
Da würde ich den Resonator lieber drin lassen

100MHz wäre eine Übertacktung von 5x bzw 400%. Welche CPU bzw Microcontroller macht das überhaupt mit?
Auf dieser Seite takten sie den Arduino mit 32MHz; das wäre eine Übertaktung von 1,6x bzw 60%. Antipasto Hardware Blog: My Overclocked, Liquid Cooled Arduino und Arduino Forum
Die Übertaktungsrechnung auf der Seite (2,05x bzw 102,5%) ist insofern falsch, daß der ATmega328 auf 20MHz getaktet werden kann und nicht nur 16MHz wie auf dieser Seite angenommen. Wo die 0,05 bei 2,05 herkommen ist mir auch noch schleierhaft.

michael_x:
Ein 20MHz Quarz geht wohl ...
Oder 16MHz bei 3.3V ...

Berichtigung: 12Mhz bei 3,3V
siehe Figure 28-1. Seite 316 von http://www.atmel.com/Images/doc8161.pdf aus
VCC curve is linear between 1.8V < VCC < 2.7V and between 2.7V < VCC < 4.5V.
und den Werten 10MHz bei 2,7V und 20Mhz bei 4,5V ergibt sich bei 3,3V 13,33MHz.

Grüße Uwe

Berichtigung: 12Mhz bei 3,3V

Das ist aber nicht übertaktet :wink:

Wenn es um "aussserhalb der Spezifikation, aber mit Erfolgsaussicht" geht, ist ( 16MHz /3.3V ) so etwa das einzige, was

  1. gehen könnte (einige positive, keine tatsächlich negative Rückmeldungen im Forum gefunden)
  2. Sinn macht (sowohl 16 MHz als Standard-Arduino Geschwindigkeit, wie Betrieb mit 3.3V haben ihre Vorzüge)

Klar, als verantwortungsbewusster Moderator musst du davon abraten, schon richtig.

michael_x:

Berichtigung: 12Mhz bei 3,3V

Das ist aber nicht übertaktet :wink:

Ok, Das stimmt.
Grüße Uwe

Würde es aber irgewelche Vorteile bringen einen Arduino zu übertakten,
egal um wieviel Prozent?

Addi

Ich halte eine Übertaktung für nicht notwendig.

Es mag sein daß es Anwendungen gibt, die dermaßen Zeitkritisch sind, welche eine Übertaktung sinvoll erscheinen lassen. Dort würde ich allerdings zuallererst durch optimiertem Code versuchen das Allerletzte aus dem Chip herauszuholen.

Eher befürchte ich, daß durch die nicht mehr stimmenden Timings eher Inkompatibilitäten geschaffen werden, die alles nur noch verschlimmern. Die Timer in den Bibliotheken sind für 16 Mhz programmiert worden. Bedenke das Timing an der seriellen Schnittstelle u.s.w. Außerdem benötigt die Schaltung einen höheren Strom.

Ich denke es finden sich noch weitere Argumente, die eher gegen das Übertakten sprechen.

Du kannst ohne weiteres einen typischen Atmel-Chip mit 16 Mhz im Arduino programmieren und anschließend mit 20 Mhz auf einer externen Schaltung betreiben. Aber da stimmt kein zeitkritisches Timing mehr. Es sei denn, Du bist in der Lage die Bibliotheken entsprechend anzupassen. (Ggf. sogar den Bootloader falls notwendig).

Ich sehe keinen praktisch relevanten Nutzen für einen "normalen" Arduinonutzer.

Wenn ich meine Tiny 45 und 44 - Schaltungen so betrachte, komme ich locker mit dem internen Oszillator und 1 Mhz aus. Ok, es sind auch simple Schaltungen die ich damit realisiere. Benötigt einen geringen Strom und weniger Bauteile. Allerdings programmiere ich diesen im Atmel- Studio ohne Arduinoumgebung mittels ISP-Programmiergerät.

Es kommt ganz auf den Einsatzzweck der Schaltung an und die Antwort auf Deine Frage kann hier ganz sicher nicht pauschal gegeben werden. :wink:

Realizer:
Wenn ich meine Tiny 45 und 44 - Schaltungen so betrachte, komme ich locker mit dem internen Oszillator und 1 Mhz aus. Ok, es sind auch simple Schaltungen die ich damit realisiere. Benötigt einen geringen Strom und weniger Bauteile. Allerdings programmiere ich diesen im Atmel- Studio ohne Arduinoumgebung mittels ISP-Programmiergerät.

Warum auf diese Art, wenn ich fragen darf?
Direkt in der Arduino-IDE geht es doch auch (wieder): http://hlt.media.mit.edu/?p=1695

Weil ich aufgrund einens Krankenhausaufenthaltes nicht mehr ganz up to Date bin :wink:

Mit meinem 168`er ging es damals jedenfalls nicht. Und mit den Eigenschaften der neuen IDE muss ich mich ersteinmal vertraut machen.

a Arduino Uno or Duemilanove (w/ an ATmega328, not an older board with an ATmega168).

Derzeit werkelt bei mir immer noch der gute alte Diecimila :slight_smile:

Ich sehe auch den Nutzen von formal nicht übertakteten 20MHz @ 5V als eher unwesentlich an.

Auf die ganzen Level Shifter in einer 3.3V Umgebung verzichten zu können, und trotzdem 16MHz Standard-Timer - Libraries ohne Klimmzüge zu verwenden,
würde mich mehr reizen...

Addi:
Würde es aber irgewelche Vorteile bringen einen Arduino zu übertakten,
egal um wieviel Prozent?

Addi

Wäre ich Mr. Spock vom Raumschiff Enterprise, dann würde ich nun gegenfragen: "Welchen Nachteil würde es Dir bringen, den Arduino nicht zu übertakten ?" :smiley: :wink:

Ne, Quatsch... Ich neige manchmal ein klein wenig zur Übertreibung. Seid mir bitte nicht böse :wink: