ATMega328 Externe AREF-Verbindung

9

Aus dem ATMega328-Datenblatt , Abschnitt 24.9.1:

Die internen Spannungsreferenzoptionen dürfen nicht verwendet werden, wenn eine externe Referenzspannung an den AREF-Pin angelegt wird.

Von den Arduino- Referenzseiten :

Alternativ können Sie die externe Referenzspannung über einen 5K-Widerstand an den AREF-Pin anschließen und so zwischen externen und internen Referenzspannungen umschalten. Beachten Sie, dass der Widerstand die Spannung ändert, die als Referenz verwendet wird, da sich am AREF-Pin ein interner 32K-Widerstand befindet. Die beiden wirken als Spannungsteiler, so dass beispielsweise 2,5 V, die über den Widerstand angelegt werden, 2,5 * 32 / (32 + 5) = ~ 2,2 V am AREF-Pin ergeben.

Das ATMega328-Datenblatt bestätigt die Referenz "Interner 32k-Widerstand" in Tabelle 29.16 ADC-Eigenschaften mit: Referenzeingangswiderstand = 32 kOhm.

Davon abgesehen scheinen sich die beiden obigen Aussagen etwas zu widersprechen. Ich habe eine Anwendung mit einigen Sensoren, die 0-5 V im vollen Maßstab ausgeben, und anderen, die 0-1,8 V im vollen Maßstab ausgeben. Die Anwendung würde von der erhöhten Auflösung des Umschaltens auf 1,8 V AREF beim Abtasten der 1,8 V-Sensoren und beim Umschalten auf die interne AVCC-Referenz für die 5 V-Sensoren profitieren.

Die Arduino-Referenzseiten schlagen vor, dass dies in Ordnung ist, wenn Sie über einen 5-kOhm-Vorwiderstand mit dem 1,8-V-AREF verbunden sind und den implizierten Spannungsteiler mit dem internen 32-kOhm-Widerstand berücksichtigen. Ist dies nur ein schlechter Ratschlag aus der Arduino-Referenz, oder ist es tatsächlich eine übliche Praxis, so etwas zu tun? Ist die Aussage von Atmel auf externe Spannungen beschränkt, die ohne externen Strombegrenzungswiderstand an AREF angelegt werden (und wenn ja, warum angesichts des internen Widerstands von 32k)?

Abgesehen davon könnte man natürlich ein ähnliches Ergebnis mit einem richtig konstruierten Operationsverstärker erzielen, um die 1,8-V-Signale auf 5 V zu skalieren, aber die zusätzliche Komplexität und die Teile scheinen verschwenderisch, wenn sie vom integrierten ADC genauso gut gehandhabt werden können unter Ausnutzung der änderbaren Spannungsreferenz. Wenn Sie sich davon überzeugen könnten, dass das erfasste Signal 1,1 V nicht überschreiten würde, könnten Sie auch die interne Spannungsreferenz nutzen. Auch hier erscheint es mir eleganter, den 1,8-V-Regler zu verwenden, mit dem ich meine Niederspannungssensoren versorge, um die Referenz einzustellen.

vicatcu
quelle
Können Sie auch umformulieren: "Ist Atmels Aussage auf ungehinderte externe Spannungen beschränkt, die an AREF angelegt werden?" Ich verstehe nicht "auf ungehindert beschränkt". Vielen Dank.
Telaclavo
@ Telaclavo Ich habe die Aussage klarer gemacht (hoffentlich)
Vicatcu
Ich glaube, ich habe gerade gesehen, woher Ihre Verwirrung kommen könnte, aber können Sie einen Link zum Schema des spezifischen Arduino posten, das Sie verwenden?
Telaclavo
@Telaclavo kein spezifisches Arduino im Sinn, das Uno würde als Beispiel genügen. Auf der Basisplatine ist AREF nicht an eine Spannungsquelle angeschlossen, sondern einfach über einen 100-nF-Kondensator an GND entkoppelt. Wenn ich einen 1,8-V-Regler hätte, zum Beispiel an einer Abschirmung, könnte ich ihn im Prinzip über die Abschirmungsköpfe über einen 5-kOhm-Widerstand mit AREF verbinden, um den ATMega328 ADC auf 1,8 V zu beziehen, und dann auf die interne AVCC-Referenz umschalten (welche wird in der Software mit 5 V an der Uno) verdrahtet, um den ATMega328 ADC auf 5 V zu beziehen.
Vicatcu
Ok, zuerst dachte ich, dass der 5-kOhm-Widerstand in den Arduinos enthalten ist, aber das ist es nicht. Ich habe gerade meine Antwort aktualisiert. Und ich denke, dass Ihre Verwirrung darauf zurückzuführen ist, dass Sie nicht anerkannt haben, dass der 32-kOhm-Widerstand von AREF nach Masse geht . Sonst würde ich Ihr "und wenn ja, warum angesichts des internen 32k-Widerstands?" Nicht verstehen.
Telaclavo

Antworten:

8

Ich sehe kein Problem beim Anlegen einer externen Spannung über einen 5-kOhm-Widerstand an den Arduino-Referenzeingang. Oder besser mit einem Widerstandsteiler, so dass Sie 5 V in Ihre gewünschte AREF-Spannung umwandeln und gleichzeitig einen Quellenwiderstand von ca. 5 kOhm aufweisen. Diese zweite Anforderung muss nicht genau sein. Dies dient nur dazu, den Strom zu begrenzen, der von AVCC über die externen Schaltkreise nach Masse fließt.

schematisch

VAREF=5·R2||32000R1+(R2||32000)=Rsource=R1||R2

Zusammenfassend: Es wäre ein schlechter Rat, wenn etwas beschädigt werden könnte, aber 1 mA wird nichts beschädigen.

Telaclavo
quelle
+1 für das Aufrufen von Abbildung 24-1 ... was mir (auch) nahe legt , dass ein Strombegrenzungswiderstand auf AREF eine sichere Sache ist.
Vicatcu
1
Ich denke, ich würde lieber einen kleinen Spannungsabfall bei AREF akzeptieren und einen einzelnen externen 5-kOhm-Widerstand verwenden, um 1,8 V von einem Regler zu beziehen ... aber ich finde Ihre Antwort
akzeptabel