Skip to content

Archives

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

Categories

  • カテゴリーなし
Trend RepositoryArticles and guides
Articles

John Errington’s Experiments with an Arduino

On 11月 28, 2021 by admin

Arduinoボードで精密な電圧測定

マイコンのArduinoシリーズには電圧測定に使用できるアナログ入力が用意されています。 これを利用して電圧計を作ることができます。
analogRead() 関数は電圧を読み取り、0から1023までの数値に変換します。

Arduino tutorial (1) http://arduino.cc/en/Tutorial/ReadAnalogVoltageにこの例があります:

This is WRONG ! より良い結果を得るには、(sensorValue + 0.5) * 5.0 / 1024.0 を使用します – ここ

これにより、0 の読みは 0.000V の入力に対応し、1023 は 5.000V の入力電圧に対応すると考えることができます。 これは完全に正しいわけではありません。

Arduinoに搭載されているATMEGAチップは、電圧を正確に測定するためのアナログ入力を持っています

Arduinoマイコンには、以下の仕様の逐次比較型ADC(アナログ・デジタル・コンバータ)が搭載されています。 (2:26.1)はAtMega2560のデータシート
(2:26.1)に記載されている箇所です。 ATMega328と32U4は同様の値です。

これらの仕様から、Arduinoは±2LSBの精度で電圧を測定できることがわかります。つまり、最大誤差は10ビット(1024進数)で2ビット(4進数)
なので、変換器の最悪の場合の精度は4 / 1024または256分の1すなわち0.25%です

ただし、測定精度の限界は使用する電圧基準によって変化します。

Arduinoは独自の電圧リファレンスを持っていますが、あまり正確ではありません

チップは、タイプによって、次のリファレンス電圧のいくつかを備えています (6)
デフォルト:5ボルト (5V Arduinoボード上) または3.のデフォルトアナログ基準。3ボルト(3.3V Arduinoボード上)
INTERNAL: ATmega168またはATmega328で1.1ボルト、ATmega8と32U4チップボード上で2.56ボルトに等しい内蔵基準、
これは1.1ボルト基準を増幅して内部で生成されます。 2.56Vはただ「典型的な」値です。
EXTERNAL: AREFピン(0~5Vのみ)に適用される電圧です。 (MicroPro 32U4、NodeMCU、および ESP32 には外部基準用のピンがありません。詳細は以下を参照してください。)

上記の基準のいずれかを使用して、電圧を測定する基準の精度は、せいぜい 5.25 – 5.0/5.0 * 100 = 5% だけで、ADC の 0.25% よりはるかに悪い値です。 Arduinoが提供する精度で電圧を測定したい場合、オンチップのリファレンスでは不十分なのは明らかです。 下図は、4.096Vのリファレンスと比較したときの誤差を示したものです。

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

アーカイブ

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • 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