Skip to content

Archives

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Categories

  • Keine Kategorien
Trend RepositoryArticles and guides
Articles

John Erringtons Experimente mit einem Arduino

On November 28, 2021 by admin

Präzise Spannungsmessung mit dem Arduino-Board.

Die Mikrocontroller der Arduino-Reihe bieten analoge Eingänge, die zur Spannungsmessung verwendet werden können. Damit können wir ein Voltmeter bauen.
Die Funktion analogRead() liest die Spannung und wandelt sie in eine Zahl zwischen 0 und 1023 um.

Das Arduino-Tutorial (1) http://arduino.cc/en/Tutorial/ReadAnalogVoltage hat dieses Beispiel:

Das ist FALSCH! Für ein besseres Ergebnis verwenden Sie (sensorValue + 0.5) * 5.0 / 1024.0 – siehe Erklärung hier

Das führt uns zu der Annahme, dass ein Wert von 0 einer Eingangsspannung von 0.000V entspricht; und 1023 entspricht einer Eingangsspannung von 5.000 Volt. Dies ist nicht ganz richtig. Schauen wir uns das Datenblatt an und sehen wir, was es uns sagt.

Der ATMEGA-Chip, der im Arduino verwendet wird, hat analoge Eingänge, die verwendet werden können, um die Spannung genau zu messen

Der Arduino-Mikrocontroller ist mit einem Analog-Digital-Wandler (ADC) des Typs sukzessive Annäherung ausgestattet, der die folgende Spezifikation hat. Die Verweise in Klammern (2: 26.1) beziehen sich auf Abschnitte des AtMega 2560-Datenblatts.
(2: 26.1): ATMega328 und 32U4 haben ähnliche Werte.

Aus diesen Spezifikationen geht hervor, dass der Arduino in der Lage ist, Spannungen mit einer Genauigkeit
von ± 2 LSB zu messen – der maximale Fehler beträgt also 2 Bits (4 dezimal) in 10 Bits (1024 dezimal)
Die Worst-Case-Genauigkeit des Wandlers ist also 4 / 1024 oder 1 Teil in 256, also 0,25%.

Die Grenze der Messgenauigkeit hängt jedoch von der verwendeten Spannungsreferenz ab.

Der Arduino hat seine eigenen Spannungsreferenzen – aber sie sind nicht sehr genau

Der Chip ist – je nach Typ – mit EINIGEN der folgenden Referenzspannungen ausgestattet (6)
DEFAULT: die Standard-Analogreferenz von 5 Volt (auf 5V Arduino Boards) oder 3.3 Volt (auf 3,3V Arduino-Boards)
INTERNAL: eine eingebaute Referenz, die 1,1 Volt auf dem ATmega168 oder ATmega328 und 2,56 Volt auf den ATmega8- und 32U4-Chipboards entspricht.
Dies wird intern durch Verstärkung der 1,1V-Referenz erzeugt. 2,56V ist nur ein „typischer“ Wert.
EXTERN: die an den AREF-Pin angelegte Spannung (nur 0 bis 5V). (Der MicroPro 32U4, NodeMCU und ESP32 haben keinen Pin für eine externe Referenz – siehe unten für weitere Informationen.)

Die Genauigkeit der Referenz, gegen die die Spannung gemessen wird – unter Verwendung einer der oben genannten Referenzen – ist bestenfalls nur 5,25 – 5,0/5,0 * 100 = 5% – viel schlechter als die 0,25%, die der ADC liefert. Wenn wir Spannungen mit der vom Arduino gebotenen Genauigkeit messen wollen, sind die On-Chip-Referenzen eindeutig nicht gut genug. Das folgende Diagramm zeigt diese Fehler im Vergleich zu einer 4,096V-Referenz, die weiter unten beschrieben wird.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Archive

  • Januar 2022
  • Dezember 2021
  • November 2021
  • Oktober 2021
  • September 2021

Meta

  • Anmelden
  • Feed der Einträge
  • Kommentare-Feed
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress