Forum: Analoge Elektronik und Schaltungstechnik ATmega328 warum 16Mhz u. nicht 20Mhz (Arduino) und 2 spanungsquellen


von Tiamat E. (tiamatengine)


Angehängte Dateien:

Lesenswert?

Hallo Leute,


ich bin neu und versuche mich mit dem IC's und habe dazu 2 Fragen.

Erste Frage:

auf allen Arduinos mit dem ATmega328(p) ist nur ein Quarz mit 16 Mhz.
Laut den technischen Daten von Atmel wäre auch ein Quarz mit 20 Mhz 
möglich.
Warum wird dann nur ein 16 Mhz Quarz benutzt?

Ich hatte bereits gesucht aber keine richtige/eindeutige Lösung 
gefunden.
Kann es sein das bei 20 Mhz der ATmega328 anfängt ungenau zu werden?

Zweite Frage:

Ich habe ein MOSFET und den möchte ich mit einem Akku spießen.
Allerdings möchte ich noch eine parallele Spannung anlegen (alternativ 
über einen weiteren Akku). Problem ist das beide Akkus mit 
unterschiedlichen Spannungen und wie gelesen habe werden sich beide 
Akkus nicht mögen ;-).

Was das an geht habe ich aktuell eine Temporäre Lösung mit dem jumper.
(Siehe Bild)

Ich habe auch schon mit Sperrdioden gespielt und laut meinem Multimeter 
sieht das wie eine gute Lösung aus.

Jetzt aber der Haken. Ich möchte eine Spannungsquelle bevorzugen, wenn 
zwei da von angeschlossen werden sollten. Was kann man da machen?

MfG
tiamatengine

von Rene H. (Gast)


Lesenswert?

Die 16MHz wegen dem USB. Sollte imho im Datenblatt zu finden sein.

Die zweite Frage habe ich nicht so recht verstanden.

Grüsse,
René

von sebi707 (Gast)


Lesenswert?

Rene H. schrieb:
> Die 16MHz wegen dem USB.

Was für ein USB? Der ATmega328 hat keine USB Schnittstelle. Ich hab 
diesen µC selbst schon mit 20 MHz betrieben und das war kein Problem. 
Eventuell sind die 16 MHz noch ein Überbleibsel aus einem Design mit 
älteren ATmega ICs die nur bis 16 MHz liefen.

von Thomas L. (thomas_hx)


Lesenswert?

USB hat seinen eigenen Controler, der arbeitet mit einem eigenen Takt. 
Die 16 Mhz sind aus Kompatiblitätsgründen, da der erste Arduino auch mit 
16 Mhz lief. So laufen auch die ältesten Sketches noch ohne Probleme.

: Bearbeitet durch User
von Tiamat E. (tiamatengine)


Lesenswert?

Thomas Lembke schrieb:
> USB hat seinen eigenen Controler, der arbeitet mit einem eigenen Takt.
> Die 16 Mhz sind aus Kompatiblitätsgründen, da der erste Arduino auch mit
> 16 Mhz lief. So laufen auch die ältesten Sketches noch ohne Probleme.

So was dachte ich mir schon. Der Nachteil bzw. Inkompatibilität  währe 
bestimmt das der Sketch zu schnell abgearbeitet wird.
Das verstehe ich richtig?

Zur zweiten Frage noch mal.

Ich möchte eine Haupt Spannungsquelle(Akku eins) anschließen. Aber es 
soll möglich sein an einem andrem Pin Header auch noch einen weiteren 
Akku (Akku zwei) anzuschließen. Es wir dann zu 100% zwei Akkus mit zwei 
verschieden Spannungen. Wenn ich das richtig verstanden hatte dann wird 
der mit weniger Spannung aufgeladen. Das soll auf keinen Fall passieren.
Das Problem habe ich mit Sperrdioden gelöst.
Dann wir aber leider immer der Akku (Akku zwei) beansprucht der mehr 
Spannung hat. Das will ich aber nicht, ich möchte immer wenn die Haupt 
Spannungsquelle (Akku eins) auch angeschlossen ist auch nur diese 
beanspruchen.

Eine Lösung wehre natürlich die zweite Spannungsquelle mit einem Relais 
zu trennen kommt aber nicht infrage da diese immer so goß sind...

Gebe es eine andere bessere Lösung?

(Ich hoffe das man das besser versteht)

MfG
tiamatengine

von Adolf S. (juppe)


Lesenswert?

Der geneigte Arduino-User kauft z.B. einen Arduino-UNO und der ist 
standardmäßig mit einem 16MHz Quarz bestückt. Ein Austauschen des 
kleinen 16MHz SMD-Quarzes könnte die meisten User überforderen.

von Peter R. (pnu)


Lesenswert?

Tiamat Engine schrieb:
> Ich möchte eine Haupt Spannungsquelle(Akku eins) anschließen. Aber es
> soll möglich sein an einem andrem Pin Header auch noch einen weiteren
> Akku (Akku zwei) anzuschließen. Es wir dann zu 100% zwei Akkus mit zwei
> verschieden Spannungen. Wenn ich das richtig verstanden hatte dann wird
> der mit weniger Spannung aufgeladen. Das soll auf keinen Fall passieren.
> Das Problem habe ich mit Sperrdioden gelöst.
> Dann wir aber leider immer der Akku (Akku zwei) beansprucht der mehr
> Spannung hat. Das will ich aber nicht, ich möchte immer wenn die Haupt
> Spannungsquelle (Akku eins) auch angeschlossen ist auch nur diese
> beanspruchen.

Akkus verschiedener Spannung parallel zu schalten verursacht eine 
Überlastung oder gar Kurzschluss des Akku mit der höheren Spannung und 
Überladung des andren.

Die Akkus mit je einer Diode an den Verbraucher anzuschließen, führt zur 
Entladung des einen Akku bis auf Unterspannung, dann erst setzt der 
zweite Akku ein. Der tiefentladene Akku wird schnell ruiniert sein.

Es geht also  nur mit einer Überwachung: wenn der eine Akku an die 
Grenze entladen ist, wird umgeschaltet. Nur ist dann der Aufwand an 
Logik+Relais oder Schalttransistoren recht groß, sodass das Niemand 
macht. Auch beim Laden macht eine solche Schaltung Probleme.

von Maik S. (yellowbird)


Lesenswert?

Zu den 16/20MHz

1. Ja der Prozessor geht schneller.

2. Wenn du eine UART Schnittstelle an einem 8Bit AVR betreibst mußt du 
imemr darauf achten, wie die die Taktrate der Schnittstelle erzeugst. 
Die Taktraten erzeugst du über Teiler aus der Frequenz des µC.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART

: Bearbeitet durch User
von Jürgen S. (jurs)


Lesenswert?

Tiamat Engine schrieb:
> auf allen Arduinos mit dem ATmega328(p) ist nur ein Quarz mit 16 Mhz.
> Laut den technischen Daten von Atmel wäre auch ein Quarz mit 20 Mhz
> möglich.
> Warum wird dann nur ein 16 Mhz Quarz benutzt?

Das dürfte historisch begründet sein.

Die ersten Arduino-Boards hatten einen Atmega8 Controller drauf.
Der geht nur bis 16 MHz.

Und um die Portierung der Arduino Core-Libraries und Arduino 
Zusatzlibaries auf Atmega328 und Co. sowohl einfach zu halten als auch 
100% Kompatibilität zu wahren, ist man danach dann erstmal bei 16 Mhz 
Systemtakt für die Boards geblieben.

Bis dann das DUE-Board mit SAM3X Controller und 84 MHz größere 
Änderungen an der Arduino-Software notwendig gemacht hat.

von Paul H. (powl)


Lesenswert?

Was mich viel mehr fuchst ist, wer je auf die Idee gekommen ist eine der 
Pinleisten um 1,27mm zu versetzen (Pin8 bis 13, GND, AREF, SDA, SCL) 
damit man da auch ja kein eigenes Lochraster-PCB drauf verbinden kann. 
Dummerweise hat sich der Mist jetzt etabliert.

von m.n. (Gast)


Lesenswert?

Paul Hamacher schrieb:
> Was mich viel mehr fuchst ist,

Einmal das, und dann ist kein Quarz sondern ein keram. Schwinger 
verbaut, der deutlich mit der Temperatur driftet.
Und wem dies nicht paßt, findet auf der sehr übersichtlicht bestückten 
Platine auch keine Lötpads für Quarz+Lastkapazitäten :-(

Eine Abhilfe für den Uno R3 habe ich beschrieben: der 16MHz Quarztakt 
vom ATmega16U2 wird verwendet. (letzter Abschnitt unter Punkt 7. mit 
Bild)
http://www.mino-elektronik.de/fmeter/fm_software.htm#bsp7

> Dummerweise hat sich der Mist jetzt etabliert.

Es soll eben niemand mit einer Lochrasterplatte schnell mal etwas 
'zaubern' können.

von Paul H. (powl)


Lesenswert?

Find ich total bescheuert. Die Dinger sind open source und eigentlich 
für maximale Flexibilität gedacht aber dann irgendwie.. doch nicht

von m.n. (Gast)


Lesenswert?

Wir können ja einen PauHa-mino machen :-)

von meckerziege (Gast)


Lesenswert?

EIGENTLICH sollte ein anderer Takt kein Problem sein, wenn die Libs 
anständig umgesetzt wurden. Zumindest beim "anständigen" Programmieren 
(sprich ohne das ganze Arduino geraffel) hat man die Möglichkeit, per 
"#define F_CPU TAKTFREQUENZ", den eingestellten Takt den Libraries 
mitzuteilen.

Wie du siehst, kommst du nun auch schon an die Grenzen der Arduinos. 
Wäre also zu überlegen, ob du dir nicht selbst eine Platine mit 
Mikrocontroller baust, die kannst du dann auch GENAU SO gestalten wie du 
willst!

von ./. (Gast)


Lesenswert?

Viel schlimmer:
Selbst ST belaestigt einem mit dem verkorksten Buxenleistenmist.

Ich glaub, ich loet die Dinger einfach aus.
Naehrwert hat sowas ja nicht.

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.