Arduino 周波数/周期カウンタ (6)

LPF 出力部の OP アンプの直線性が気になったので、LMC662 を使った場合と、 TLC272 を使った場合との、出力電圧が小さい領域での直線性の測定を行い、比較してみました。
結果のグラフを下に示します。

LPF は Sallen-Key タイプの 3 次フィルタとなっており、その出力部は、ゲイン2倍の非反転アンプですが、LM358 を使用した場合に出力段が A 級動作をするように OP アンプ出力とグラウンドの間に 4.4 kΩ の抵抗負荷が接続されています。
このアンプ出力を以前紹介した 4 1/2 桁分解能の LCD パネル・メータ (フルスケール 199.99 mV) で「手動」測定しました。
グラフは、青い線で示してある TLC272 のデータにフィッテイングさせた回帰直線のパラメタを使い、赤い線で示した LMC662 の誤差データとともにプロットしてあります。
DA データが 100 程度以上の領域では、TLC272 の出力電圧が LMC662 の出力電圧より約 1 mV 低かったので、その分の補正をして、グラフ上では両者のプロットが重なるようにしています。
具体的な値としては、DA データが 241 のとき、TLC272 出力が 15.43 mV、LMC662 出力が 14.39 mV です。
「オフセット電圧」の量としては LMC662 の方が少なくて優秀なのですが、DA データが 100 程度以下の場合に誤差が大きくなっています。 といっても 0.17 mV 程度ですが、出力電圧自体が小さい領域なので影響は出てきます。
破線で 16 ビット PWM DAC としての ±1/2 LSB の誤差の範囲をプロットしてありますが、TLC272 出力での誤差は 1 LSB に比べて十分小さく、16 ビット解像度 (以上) が得られていることが分かります。
誤差の値は ±0.01 mV 程度に終始しており、これは 199.99 mV フルスケール表示での避けることのできない最下位桁の読み取り誤差の程度で、ほぼ測定誤差のみが現れていると考えられます。
今後は、199.99 mV フルスケールで測定できる限界の、DA データ 3400 程度まで範囲を広げて測定してみたいと思います。