ちょっと Tea Time!? どれが正しいの?(MAX6126AASA21を買ってみる) 2025.6.13

よく使うテスタは3台ありますが、どれが一番精度がいいだろう?
と思って、おもむろに同じ電圧源を測定してみました.
まあ、それぞれ個性がありますなあ〜。


左からFLUKE83V、SANWA CD732、METEX M-3870D
AD8865で測定した値は3.0102でした。



左からFLUKE83V、SANWA CD732、METEX M-3870D
AD8865で測定した値は1.4818でした。

METEXは秋月で買った中華製です。トランジスタのhFEやコンデンサの容量が計れるということで、
便利そうなので入手しましたが、FLUKEやSANWAとは全然値が違います。こりゃあ、計測器としては
全然つかいものになりそうにないなあ〜。

FLUKEとSANWAを比べると、僅かに差があります。AD8865(16BitADC)の出力との差をみると、
FLUKEが近いけど、どちらが正しいのだろう?

やっぱり基準となる電圧源が欲しくなってきます。

MAX6126AASA21を買ってみましょう!

DIGIKEYで基準電圧なるものを探してみました。
精度が0.01%のものもありましたが、2万円を越えそうなので、ちょっとパスです。
その下の0.02%なら2000円程度なので、買えそうです。
ということで、MAX6126AASA21なるものを買ってみました。
出力電圧が2.048Vで±0.02%なので
保証値は2.04759V〜2.04841Vです。


0.02%の基準電圧源を買ってみましょう!


DIGIKEYから到着しました。今回は1個だけの購入です。

使ってみましょう!

MAX6126のパッケージはSO-8なので変換基板に実装です。

変換基板に実装です。

FLUKEがいいのかなあ?

MAX6126の電圧をテスター等で測定です。


FLUKEだと2.046Vと2.047Vでフラフラとしました。


SANWAは2.050Vです。これはちょっと高いなあ〜


AD8865(1000点の平均値)は,ほぼFLUKEと同じです。

どれを信じるの?

FLUKEとAD8865がほぼ同じ値ではありますが、どちらも2.046〜2.047Vということで、
基準値(と思われる2.048V)から1mV違います。約0.05%の違いです。
この0.05%という値はMAX6261の保証値0.02%より大きいから、やっぱりMAX6261が正しいとみるのかなあ?

ん〜悩むなあ?

ちなみに、TL431はどんな精度? 2025.6.16

基準電源、というか定電圧電源としてよくつかうのがTL431というシャントレギュレータです。
基準出力は2.495Vでグレードによって違いますがおよそ1%の精度があります。
これって、実力的にはどのくらいの精度なのか調べてみましょう。
ちょうど、部品箱の中にはこのTL431が100個以上あります。
なぜ、そんなにあるかって? なぜだろう?


TL431が部品箱には、まだまだあります。


テープ品で買いましたが、テープは嵩張るので切り離しています。
グレードはACです。


秋月でもTL431を売っています。1個15円とすこし高くなっています(以前は10円だった記憶があります)。

手持ちはTL431ACが主体で、保証値は2.470〜2.520Vになっています。
ということで、100個ほど測定してみました。手持ちの全部を測定しようかと思いましたが、
最後の方で疲れてしまって、全部とはいきませんでした。

ちなみに、測定値は画面をタッチすれば、PCに送付するようにしています.
流石に、キーボードで測定値を入力するのは、面倒過ぎますからね.


測定結果は画面をタッチすればUSB経由でPCに転送です。

測定結果は?

測定結果をプロットしてみましたが、基準値2.495Vが中央値とならなくて、
なぜか低い値に分布が偏っているようです。中には保証値である2.470〜2.520V
を越えているものが2個ほどあります。ひょっとして、違うグレードのものも数個買った記憶が
あるので、紛れ込んだのかもです。測定結果を確認してから、PCに転送すればよかったなあ〜。
もう、機械的に測定していたので、そこまで気が回りませんでした。

とりあえず持っているTL431は1%以下の誤差であることが確認できました。
1個10円で1%の誤差ですから、十分でしょう。1%の精度だとすれば、
電源基板につかったとしても、.1%の抵抗器の分圧でも所定の電圧が得られます。
一般的なツエナーだと誤差が5%くらいはあるので、どうしても固定抵抗だけでは
値がずれるので半固定抵抗で微調整が必要になってきますからね。


基準値の2.495Vより低い値に分布が偏っていました。なんでだろう?
まあ、保証値内だから文句はありません。2個ほど飛び出ているのは、違うグレードが混入かな?


基準電圧器をつくりましょう!

折角、高価なMAX6126(0.02%)を買ったこともあるので、その値を信じて基準電圧器をつくりましょう。
出力電圧が2.048V固定ではつかいにくいので、16BitのDAC(DAC8831ICD)も搭載して、可変電圧源にします。
このDACも精度が1LSB以下のものを選んでいますので、ちょっと高かったなあ〜(2500円くらい)。
ここまで、散財しているのだから、バッファーアンプも虎の子をOPA627をつかうことにします。

基板には、ついでにADC(16Bit)も搭載です。さらに、拡張IOポートも追加です。
これで、例えばオーディオDACの精度なんかも調べてみたいと思っています。
なんせ、最近では分解能は32Bitが主流になっていますが、分解能ではなくて、
実際の精度がどの程度なのかデータシート等には記載がありませんからね。


回路図です.まだまだ変更があるでしょう.


標準サイズのボードに組み立てました。


メインの部分です。基準電圧源(MAX6126)とDACとバッファーアンプは1つの変換基板にコンパクトに実装です。


SVGAパネルのタッチ機能をつかうので、スイッチ類はありません。


SVGAをとりつけると、RP2040ボードのスイッチが押せなくなるので、
BOOTとRUNスイッチは外に引き出しておきました。


配線チェックとソフト製作

配線チェック完了し、ソフト製作です。
ソフトはゲインフェーズアナライザのものを、ほぼそのまま流用です。
そのため、不要なサブルーチンが山のように入っていますが、まあ無視です。
電圧の出力は±2Vと±10Vの両方あるので、内蔵のADCを使いながら校正しつつ、
出力電圧の微調整を行います。DACおよびADCの精度は1LSB以下ですが、
途中でOPアンプもあるので、そのオフセットが乗ってくるので、それらの補正が必要です。

問題なく基準電圧源のソフトも完成です。


電圧出力1000mV(1V)出力です。


電圧出力10000mV(10V)出力です。

DACとADCの組み合わせ精度は?

DACとADCはそれぞれ16Bit分解能のものですが、どちらも精度は±1LSB以下です。
そこで、DACの出力を直接ADCに入れて、動かした場合の誤差の発生状況をチェックです。
DACとADCではレンジが異なりますが、ほぼコンパラと考えました。

DAC(DAC8831+OPアンプ): -2.048V〜+2.048V(0〜65535)
ADC(ADS8685ダイレクト) 2.56Vレンジ -2.56V〜+2.56V(0〜65535)


どちらも±1LSB誤差ですから、2つあわせても±2LSB程度には収まっていることでしょう。


 DACの出力とADC出力(10回加算)の相関です。これは直線になって当たり前すが、
誤差をみてみると、とんでもないことに〜。


あれええ〜
 DACとADCの相関は見かけ上は直線ですが、それを細かくみて、
誤差を評価です。すると、とんでもない結果です。


片側に大きな誤差がでています。最大で13LSBくらいあるなあ〜。反対側はあまりありません。

なんで、こんなに片側に誤差がでているのだろう?もしノイズなら両側にでているはずなんだけどなあ〜。
もうすこし、誤差の発生状況を細かくみてみることに。


大きな誤差がでるのは値で128毎です。Bit7の誤差かな?

誤差の発生は、どうやらSETTLING TIMEに関係していそうです。
データシートを眺めていて、値が変わるときは、DACへの設定値が上昇する局面と下降する局面では、
DACの誤差出力方向がかわるようです。今回の測定はDACの出力が0から増やしていますので、
誤差が片側に発生したようです。一応、セットリングタイムは2uSとしてみましたが、
もうちょっと、増やす必要がありそうです。


どうやらDACの設定値が完全にかわるのに数usの時間がかかります。

そこで、DACのセッティングタイムを変化させて、誤差の発生状況を調べてみました。
DACの設定値0-65535すべてで測定するのは、すこし面倒なので0-9000の範囲で実施です。

1)セットリングタイム0usの場合:最大で13LSBほどの誤差がでています。


2)セットリングタイム10usの場合:誤差は減りました。10LSBくらいかなあ〜


3)セットリングタイム20usの場合;誤差はぐっと小さくなりました。最大で4LSB程度です。


4)セットリングタイム40usの場合:誤差はほぼ2LSB以下に収まりました。


この調査結果から、DACの出力を十分に安定させるためにはセットリングタイムは長めに設定する必要があることが
わかりました。とはいえ、セットリングタイム0usの場合でも、発生する誤差は13LSBであることなので、動的にDACを
動かす場合にはあまり関係ないかもしれません。というのも13LSBというのは、±2.048Vの出力DACにしてみれば、
0.8mVですから、あまり影響はないかもです。

(補足)
ここでセットリングタイムと言っているのは、狭義のDACのセットリングタイムだけでなく、DACの値変化時の
グリッジならびに、バッファーアンプの時定数(発振止にいれたコンデンサの影響など)も含めた、
最終段でのDACの出力が安定するのに必要となる時間のことを意味していますので、あしからず。

DACとADCの真の実力は?

DACのセットリングタイムが重要であることはわかりましたが、基準電圧源として用いる場合は関係ありません。
DACに値を設定して数10us後に、その出力電圧を用いることなんてほぼありません。とはいえ、正確な出力を
得るにはDACのセットリングタイムが重要であることがわかりました。反対にいえば、DACのセットリングタイムを
十分にとれば、真のDACの性能がわかるかもしれません。
 ということで、DACのセットリングタイムを100usとして、ADCのサンプル回数も10->100回に増やして、測定です。
その結果は、DAC+ADCのトータルの誤差は±1LSB以下に収まることがわかりました。やはり、データシートの
保証値は確かだなあ〜。

DACのセットリングタイムを100us、ADCのサンプル回数を100にした場合の、DAC+ADCのトータル誤差です。


結構、いい値がでているので、折角なので0-65535の全域で測定です。
結果としては、DACの設定値で誤差が変化しますが、全域で2LSB以下に収まっています。
互いに±1LSB以下ということは大丈夫でしょう。
しかし、これだけのデータをあつかうとEXCELも重たく感じます。というかPCが非力だからかなあ〜。
なんせ、Core i-7とはいえ第2世代のノートPCだもんなあ〜。

DAC+ADCのトータルエラーです。最大でも2LSBに収まっています。

とりあえず完成 2021.6.21

欲しかった機能を追加して、とりあえずは完成です。
何を追加したかったといえば,PCからデータを転送して、任意の波形(電圧)を出力(DAC)する機能です。
そして、同時にその電圧を収集(ADC)する機能です。データ点数は32767点までとれるようにしたので、
色々な波形がだせるはずです。ただ、さすがに、ソフトですべてこなすので、DACとADCを動かすと、
最小時間は6us毎になりました。まあ、約160kHzで出力できるからよしとしましょう。

任意波形発生器さえつくれば、あとはオシロをつかえば済む機能ではありますが、これをつかうことで
データをPCに送信することができまし、なんせ16BitのADCでのサンプルですから、かなりの精度の数値
データとして扱うことができます。とはいえ、自己満足の世界ではありますが。


矩形波を出力して、同時にC(0.1uF)とR(1kΩ)でのHPFの出力を観測です。横軸は500us/divです。

まあ、こういったものは作ることがほとんど目的ではありますが、いろいろと便利に使えることが今後あるでしょう。

(とりあえず、おしまい)