google-site-verification: google3bd66dd162ef54c7.html
fc2ブログ

Arduino UNO R4 のアナログ入力特性

◆まえがき
Arduino UNO R4 の性能の調査の2回目、前回はCPUの実行速度を測定しましたが、今回はアナログ入力の特性を調べます。

ボードはR4 MINIMA の互換品で調べましたが、実質的にはルネサスの RA4M1 のADC特性を測定していることになると思います。
・調査したチップ
R4のCPU
チップのマーキングは R7FA4M1AB3CFM でロット番号?は222AZ00 です。

格安の互換ボードに搭載されていたチップなので本物かどうか判断出来ません。真贋判定できる方のご意見を伺いたいところです。

◆UNO R4のアナログ入力特性
アナログポートに電圧を加え、Arduino から AnalogRead() で読んだ値をプロットしてみました。なお、分解能はデフォルトの10ビットの状態です。

・ADC特性、全体
ADC特性、全体
5Vではなく4.7Vあたりでフルスケールに達していますが、この理由は後で触れます。

一番心配していたゼロボルト付近にオフセットが生じるような挙動は無く、素直な特性に見えます。グラフの直線性が少し悪い感じもありますが、詳しく調べてはいません。たぶん測定誤差なんでしょう。

・ゼロボルト付近を拡大
ADC特性、ゼロ付近
原点付近でごく僅か直線性が悪くなっている(不感帯が5mVくらいある?)感じですが、問題無いレベルというか素晴らしい特性だと思います。流石ルネサスが作っているだけのことはあります。

これが当たり前と思われても困るので他のチップを調べた結果を示します。

◆ESP32
ESP32のアナログポートの特性調査-入力感度特性からグラフだけ抜粋
ESP32のAnalogRead特性
とんでもない非線形があるレンジがあります。

下記は同じグラフの原点付近を拡大したものです。
ESP32のAnalogRead特性(原点付近)
80mV以上の不感帯があります。

◆Raspberry PI pico
RP2040のADCの誤差の確認と簡単な補正プログラムのテスト
チップのエラッタに記載されていますが、ADCの直線性に大きな問題があって12ビット出力ですが、実力は7-8ビットくらいしかありません。

◆UNO R3 (ATmega328P)
ちゃんと評価したデーターは持ち合わせていないのですが、このチップのADC特性に大きな破綻は無かったと思います。

◆UNO R4のADCのフルスケールが4.7V付近になる理由
ADC の Vref を電源電圧の +5V から取っていますが、USBから給電した場合、ショットキーバリアダイオードが直列に入るのでVfの量だけ電圧が下がってしまっているのだと思います。

実測してみると、USBから給電してその電圧が5.183Vの時、R4のボード上の+5Vピンの電圧は4.847Vでした。つまりSBDの電圧降下が0.336Vあると言うことになります。なお、DCジャックから給電した場合はDCDCコンバーターの出力電圧が+5Vに供給されるので、5Vに近い電圧になると思います。

以上説明したように、UNO R4のADCのVrefを電源電圧の5Vで使う時(これがデフォルト)は要注意です。ちなみにUNO R3ではオペアンプとFETスイッチを使った切り替え回路が入っているので、このような問題は起こらないです。

◆まとめ
Arduino UNO R4のアナログ端子の特性を測定してみました。ゼロボルト付近の不感帯は数mV程度なので、小さな電圧から安心して使えると思います。ただ、Vrefを電源電圧の5Vとした場合はフルスケール感度に注意が必要です。

今回の調査はADCの分解能が10ビットの状態しか調べていません。12ビット、14ビットの時にどうなるかは判らないですが、この感じなら大丈夫な気がしてます。
関連記事

コメントの投稿

管理者にだけ表示を許可する

Arduino UNO R4 はまだ買ってない

Arduino UNO R4 はまだ未体験です。
  ブートローダーの書込みとか。
  チップ単体では使いにくそうなんで。
ADCですが、中央値だけで良いので、入力に対し直列に抵抗を入れた時の挙動が知りたいです。
2.5Vにつないで直結、1k,10k,100kと直列抵抗を大きくしたときの変換値がどうなるか・・・
同じか下がるか上がるか。
ADCの入力バイアス電流の調査というところでしょうか。
誘導ノイズよけに大きめのコンデンサは要るかな。

re:Arduino UNO R4 はまだ買ってない

入力バイアス電流ですか。確かに気になるので測ってみようとしたら、うちのR4のシリアルが何故か読めなくなってました。
直ったら調べてみます。

ちなみに、入力抵抗が低いという噂があったので調べてまして、Xの方でこんなやり取りがあります。
https://x.com/radiopench1/status/1752884897142993379
数MΩくらいには見えている感じでした。

R4のアナログ入力

今回もネット情報になってしまいますが、こちらの方がR4のアナログ入力を検証されています。
(14bitはふらつくようです。)
https://www.jh4vaj.com/archives/40994

ちなみに、Arduino公式HPのR4のチップにはルネサスのマークが入っていますが、自宅の純正R4はラジオペンチさんのMCUとまったく同じ(フォントも)表示で3行目が「243AZ00」です。

re:R4のアナログ入力

パオさん、情報ありがとうございます。

R4のアナログ入力の入力インピーダンスについて調べているのですが、CRによるローパスフィルタが入っていて、analogReadする都度スイッチが接続される感じの動きになっているようです。

記事にするなら正確な内容を書きたいので、よく調べてから内容を公開したいと思います。気長にお待ちください。

10kΩ+0.1uFでお手軽に

16bit ADC「LTC2460」での入力電流の影響を無くすため、CRフィルタを前置するのにバッファアンプを入れたという体験があります。
http://igarage.cocolog-nifty.com/blog/2021/08/post-829a85.html

ATmega328P(他のAVRマイコンも)だと「10kΩ+0.1uF」を入れておけばノイズ低減ができて隣接チャンネルの影響を無視できるということがありますんで、お手軽です。

別種のルネサスのマイコン(RX220)ですが、AVRマイコンと同等にお手軽フィルタがOKですんで。

rv10kΩ+0.1uFでお手軽に

この件、入力バイアス電流みたいな高級な話では無いようです。
どうも、測定の直前にADCの入力コンデンサをディスチャージして再チャージしてADC実行という動作になっている感じです。信号源のインピーダンスが高いと再チャージが不充分となって誤差が出るようです。
図と波形で説明しないと判り難いので今その準備中で、整理できたら記事で紹介しますのでしばしお待ちを。
カレンダー
03 | 2024/04 | 05
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。
記事の内容のご利用は読者の自己責任でお願いします。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード