A/Dコンバーターの精度

A/Dコンバータの精度はデータシートに総合誤差などが書いてありますけども
一般的なA/Dコンバータ精度のtyp値は標準偏差で、max値は±3σ水準(99.73%)あたりだと認識しています。

さて、データシートの精度よりも、さらに精度あげるにはどうすればいいでしょう?
   ・複数回(奇数)サンプリングしてメジアン(中央値)を採用
   ・複数回サンプリングして最大値からn個と最小値からn個を削って、残りを平均
まぁ、サンプリング回数が多くなれば、どちらもほぼ同じ値に収束していきそうですけども、王道はこんな感じですよね。

ほんとは温度毎、電圧毎にオフセットとかフルスケールの変動傾向(プラスなのかマイナスなのか)の情報があればいいんですけど
「TA = -40~+85 ℃,1.8 V≦VDD≦5.5 V」とか電圧範囲と温度範囲をまとめて書いてあると、ぱっと見、最悪値が分かりやすい反面、
ソフトで電圧や温度による補正を加えるのが難しくて、精度アップできないんですよねー。

Parents
  • Kirinさん どの機種のA/Dコンバータをお使いでしょうか?

     ルネサスのマイコン内蔵のA/Dコンバータの精度は、カタログスペックよりずっといいです。

     一般に、常温で通常電源電圧(3.3Vとか5.0V)なら10ビットA/Dコンバータはほぼ10ビット

    精度が取れています。12ビットA/Dコンバータは、ほぼ11ビット精度が取れています。(つまり絶対精度、最大積分誤差が12ビットのほぼ±1LSBに入っているということです)

     実装の基板の状況、ノイズや電源、A/DのVrefの安定化などにもよりますが、十分気を付けて

    動かせば、いい特性が取れます。 実装状況の確認は固定電圧を入れて、1000回のヒストグラムを見るなどすれば、ノイズの影響などが把握できます。

     平均化は精度アップには有効ですね。

    ブレンド

  • ブレンドさん

    そうなんですよ、ルネサスのA/Dスペックは相当保守的なんですよ!

    例えばRL78/G13の10bitADを常温で動かしてみると、個体のバラつき(再現性)は量子化誤差の0.5LSBに収まっていますし、
    ロット内でも積分直線性誤差が1LSB以内に収まっているので相当優秀なことは分かっているんですけれども
    どの条件でやったらワーストになるかを教えてほしいですT_T

    電圧依存性はある程度ありそうなんですけれども、それでも±7LSB(@G13)も誤差を出せませんし。
    やっぱり、ブレンドさんのおっしゃるようにロジック電源からのノイズの回りこみがA/D悪化の主要因なんでしょうかね。
    それだったら、AVREFP/AVREFMを使えば解決できそうですけれども、、、、
    やっぱり高温時の特性も気になります。温度をふった評価はちょっと大変なのでデータシートに温度と特性の関係が分かるグラフをのっけてもらいたいです。

    問題は、データシートにワースト値が書いてあると、そのチップを使った製品のスペックは、順当に考えるとチップのスペックよりも良くはできないので、
    チップメーカーが保証しているスペックよりも、そのチップを使用した製品のスペックを良く見せるには勇気(?)が必要、ってことですね。
    逆にデータシートにワースト値が書いてないと、ないで、そんな信頼性のない部品は使えないということにもなって、社内を説得するのがめんどくさいんですけどねー。

  • Kirinさん

    RL78のA/Dの特性曲線についてです。

    RL78/G1Aの12bitA/Dはアプリケーション・ノートが発行されていて,そこに測定結果が掲載されています。

    documentation.renesas.com/.../r01an1843jj0100_rl78g1a.pdf

    その他の製品の10bitA/Dについては,「RL78マイコン特性データ」のページに掲載できないかの検討依頼をしておきました。

    http://japan.renesas.com/products/mpumcu/rl78/rl78g1x/rl78g13/child/rl78_char.jsp

  • チョコさん

    情報ありがとうございます。
    G1Aはがんばって作ってありますね!

    高温でリークが出て、もっと精度が悪化するのかと思いきや、案外と温度依存性がないのがビックリでした。
    やっぱりキャパシタアレイだと性能が良くなるんですね。

    G13の情報も期待してますね♡

  • そういえば、

    japan.renesas.com/.../rl78_char.jsp

    の注意事項で、
    >上記内容に合意の上で,ご使用ください。
    って書いてあるんですけども、「同意の上で」ですよね。
    「合意の上」を使う文脈って、ちょっと、、、♡

Reply Children
  • 過去に使ってきた10bitA/Dでは2LSBは切って捨てる…というのが自論でした。

    私はソフトメインなのでよく分かりませんが、実システムで揺らぎのないVrefってのは可能なんでしょうか?

    折角の高性能(分解能、繰り返し精度)A/Dがあってもスペックを使い切ったことがないのです。

    ここまで書きましたが、A/D自体の精度とはちょっとお話しが違いましたね^^;

    すみません。。。

  • すとさん

    なんて、根本的な問いかけを!

    サーミスタを使って±0.3℃の精度で温度計を作るみたいな場合は単なる分圧なのでVrefの絶対値は不要ですけども
    外部入力のアナログを見る場合は、揺ぎ無い絶対値が必要ですよねー。
    まぁ、世の中には0.05%とかの精度を誇るVrefはありますけども、
    ほんとうに?精度が必要なら高精度なVref内蔵のΔΣを外付けする必要がありますね。

    一方、動作波形を監視する場合は、外から入ってくる正弦波みたいなものを
    如何に忠実に(歪なく)デジタル値にできるか、の方に重きをおくので、多少のオフセットが出ても問題なかったりしますけども。

  • ペダルの踏込量によって回転速度が変わるシステムを考えた時、高分解能にすれば回転数の遷移も滑らかになりますが、

    モーター負荷や電磁ノイズ、環境温度によってVrefが変動するようなことがあると、この変動を踏まえた分解能しかとれないんですよね。

    「もっといい電源を積め!高機能フィルタを組め!」と言われれば、それまでですが…¥との絡みですね^^;

  • こんばんは

    本件はどんな環境で使う事を想定してるのでしょうか?

    やはりノイズが少ない実験室環境?

    オボチャンの研究室みたいな

    エアコン完備で静かな環境?

    数十kwクラスのベクトルインバータモータがギャオンギャオン叫ぶ環境じゃあないよね

    夏に暖房入れて室温40℃超え

    もちろんわざわざ暖房入れてるわけじゃあ無いけれど

    樹脂成型機や熱処理炉など熱い機械満載

    そんな強ノイズ環境だと

    信号にノイズが乗ってるとかじゃあなくて

    ノイズの嵐の中から信号を発掘するような

    ひたすら移動平均の繰り返し

    移動平均したのを更にまた移動平均してたりして

  • lumiheartさん

    おもちゃ的な何か(安いもの)ですけども、
    NTCサーミスタを使って精度±0.2℃もしくは0.3℃の温度センサが作れるかの検討ですね。
    NTC自体は0.1%精度なので、残るはADC側でどこまで稼げるかに掛かっています。
    お外用で-40度~60度くらいが測れればいいかなと思ってます。

    温度なので100回でも1万回でも平均は取れますから、外来ノイズはキャンセルできると思っています。
    10bitADCのサンプリング回数を増やして12bitとか14bitイメージにすれば分解能的にはOKですけども
    総合誤差の壁があるので、やっかいなんですよねー。
     
    温度のキャリブレーションは非常に大変(コストアップ)なので、出荷検査時にキャリブレーションはやりたくないんですよね。
    でも本来の目的は温度センシティブな別のセンサーの温度補正をしたいんです。
  • Kirin said:

    そういえば、

    japan.renesas.com/.../rl78_char.jsp

    の注意事項で、
    >上記内容に合意の上で,ご使用ください。
    って書いてあるんですけども、「同意の上で」ですよね。
    「合意の上」を使う文脈って、ちょっと、、、♡


    Kirin様

    いつも、Renesas Rulzのご利用有り難うございます。

    不適切な表現で申し訳ございません。ご指摘の通り、修正させて頂きました。

    ご指摘、有り難うございました。 回答が遅れ申し訳ありませんでした。

  • Kirinさん>

     既にご存じとは思いますがお節介までに

    product.tdk.com/.../ntcds

    サーミスタは直線性が悪い

    なので、リニアライザとか余分な機能が必須

    余分な機能=精度低下の原因

    ダイオード温度計

    ednjapan.com/.../news130.html

    直線性はコッチの方が良い

    ダイオードの方が安価なハズなのに

    何故かあまり普及してない?

    温調器の零接点にはダイオードが使われるが

    それ以外ではあまり見かけません

    CPU素子内蔵の温度センサはダイオードらしいが?

  • Kirinさんlumiheart さん

    温度計で最初はダイオードセンサ使用の温度IC使用していました、とても便利なICでADを内臓しており

    I2C通信でデジタル値で温度を読み出せます、ただこれが-40から+60で最大+-1℃と誤差が多い

    気象検定では白金型でないと通らないのでPT100を使用しましたが、これでも微妙に特性が傾いている

    誤差を0.1℃にするなどは不可能に近いといっていいのではないでしょうか、一時サーミスタも使用しましたが

    計算式が複雑になりました、便利なのはデジタル出力の温度ICと思います

  • lumiheartさん

    そうなんですよね、直線性でいけばダイオードいいですよね。
    NTCにする場合は、B定数を使った演算をすると誤差が大きいので、0.02℃か0.05℃くらいの粗さでテーブルを作ろうかなと思ってます。
    あわせて温度ごとに測定範囲(窓)を変えればADCの分解能が低下しないかなと考えています。

    ダイオードにすると、すとさんもおっしゃっていましたけれどもVREFに供給する電圧の精度を高めないといけなくなる問題があって
    電源電圧精度を無視できるNTCとどっちがいいか悩んでいます。
    コストが安くて精度がよくて電池の持ちがいいのがいいんですよね。

  • IKUZOさん

    ICは便利でいいですよね。探せば0.3℃くらいの精度のものとかありますし。
    Pt100の4線式とかも魅力的です。

    ただ、外付け部品がマイコンより高くなっちゃうので、コスト的に悩みどころではありますね。
    精度0.1℃は無理だとしても、0.2か0.3にはしたいですねー。