Skip to content

Archives

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Categories

  • Brak kategorii
Trend RepositoryArticles and guides
Articles

John Errington’s Experiments with an Arduino

On 28 listopada, 2021 by admin

Precyzyjny pomiar napięcia za pomocą płytki Arduino.

Mikrokontrolery z serii Arduino posiadają wejścia analogowe, które można wykorzystać do pomiaru napięcia. Możemy to wykorzystać do zbudowania woltomierza.
Funkcja analogRead() odczytuje napięcie i konwertuje je na liczbę z zakresu od 0 do 1023.

Tutorial Arduino (1) http://arduino.cc/en/Tutorial/ReadAnalogVoltage ma taki przykład:

To jest BŁĘDNE! Dla lepszego wyniku użyj (sensorValue + 0.5) * 5.0 / 1024.0 – zobacz wyjaśnienie tutaj

To prowadzi nas do przekonania, że odczyt 0 odpowiada napięciu wejściowemu 0.000V; a 1023 odpowiada napięciu wejściowemu 5.000V. Nie jest to do końca prawdą. Spójrzmy na arkusz danych i zobaczmy, co on nam mówi.

Układ ATMEGA zastosowany w Arduino ma wejścia analogowe, które mogą być użyte do dokładnego pomiaru napięcia

Mikrokontroler Arduino jest wyposażony w przetwornik analogowo-cyfrowy (ADC) typu successive approximation, który ma następującą specyfikację. Odniesienia pokazane w nawiasach w ten sposób (2: 26.1) odnoszą się do sekcji arkusza danych AtMega 2560.
(2: 26.1): ATMega328 i 32U4 mają podobne wartości.

Specyfikacje te mówią nam, że Arduino jest w stanie mierzyć napięcia z dokładnością
o ± 2 LSB – więc maksymalny błąd wynosi 2 bity (4 dziesiętne) w 10 bitach (1024 dziesiętne)
Więc najgorszy przypadek dokładności konwertera wynosi 4 / 1024 lub 1 część na 256, tj. 0,25%.

Jednakże granica dokładności pomiaru zależy od użytego odniesienia napięcia.

Arduino ma własne referencje napięciowe – ale nie są one zbyt precyzyjne

Układ – w zależności od typu – jest wyposażony w JEDNO z następujących napięć referencyjnych (6)
DEFAULT: domyślna analogowa referencja 5 V (na płytkach Arduino 5 V) lub 3.3 V (na płytkach Arduino 3.3 V)
INTERNAL: wbudowana referencja, równa 1.1 V na ATmega168 lub ATmega328 i 2.56 V na ATmega8 i 32U4.
jest ona wytwarzana wewnętrznie przez wzmocnienie referencji 1.1 V. 2.56V jest tylko wartością „typową”.
EXTERNAL: napięcie przyłożone do pinu AREF (tylko od 0 do 5V). (MicroPro 32U4, NodeMCU i ESP32 nie mają pinu dla zewnętrznego odniesienia – zobacz poniżej po więcej informacji.)

Dokładność odniesienia, względem którego mierzone jest napięcie – używając któregokolwiek z powyższych odniesień – wynosi w najlepszym przypadku tylko 5.25 – 5.0/5.0 * 100 = 5% – znacznie gorzej niż 0.25%, które zapewnia ADC. Jest oczywiste, że jeśli chcemy mierzyć napięcia z dokładnością zapewnianą przez Arduino, referencje on-chip nie są wystarczająco dobre. Poniższy wykres pokazuje te błędy w porównaniu do referencji 4.096V opisanej poniżej.

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Archiwa

  • styczeń 2022
  • grudzień 2021
  • listopad 2021
  • październik 2021
  • wrzesień 2021

Meta

  • Zaloguj się
  • Kanał wpisów
  • Kanał komentarzy
  • 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