ATmega328 warum 16Mhz u. nicht 20Mhz (Arduino) und 2 spanungsquellen

OP #3759315
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
Angehängte Dateien:
Gast #3759354
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.
OP #3759379
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
#3759456
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.
#3766053
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.
#3766534
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.
Gast #3766556
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.
Gast #3767565
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!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren