Go Down

Topic: Arduino Übertakten? (Read 1 time) previous topic - next topic

Addi

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
/ \    _|  _| o
 /--\ (_| (_| |

sth77

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.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

jurs


Hab hier einen Quarz gefunden der bei 100MHz liegt


Da liegt er gut. Lass ihn liegen!

michael_x

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

uwefed

#4
Dec 12, 2012, 11:47 pm Last Edit: Dec 13, 2012, 12:01 am by uwefed Reason: 1
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%. http://antipastohw.blogspot.it/2010/02/my-overclocked-liquid-cooled-arduino.html und http://arduino.cc/forum/index.php?topic=7843.0
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.


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

michael_x

Quote
Berichtigung: 12Mhz bei 3,3V

Das ist aber nicht übertaktet ;)

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.

uwefed


Quote
Berichtigung: 12Mhz bei 3,3V

Das ist aber nicht übertaktet ;)

Ok, Das stimmt.
Grüße Uwe

Addi

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

Addi
/ \    _|  _| o
 /--\ (_| (_| |

Realizer

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. ;)
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

sth77


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
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Realizer

#10
Dec 13, 2012, 01:45 pm Last Edit: Dec 13, 2012, 01:58 pm by Realizer Reason: 1
Weil ich aufgrund einens Krankenhausaufenthaltes nicht mehr ganz up to Date bin ;)

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

Quote
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 :)
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

michael_x

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

Realizer


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 ?" :D ;)

Ne, Quatsch... Ich neige manchmal ein klein wenig zur Übertreibung. Seid mir bitte nicht böse ;)
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

Go Up