2017年12月29日

ラズパイで MCP3208:Facebook で話題

 Facebook の Raspberry Pi グループ で、MCP3208 を使う話題が盛り上がっている。MCP3208 だけでなくて、もっとビット数の多い ADC を使う時の注意点などにも話が広がっていて、たいへん勉強になる。自分も MCP3204 を使う工作をやっている(「ラズパイで MCP3204/MCP4922 を使う (2016/12/24)」)ので、一瞬参入しようかなと思ったんだけど、しなくてよかった(笑)。話のレベルがぜんぜん違うんだもの。

 実はその後「2号機」を作っていて、上記ブログ記事に書いた手順をもう一度最初からたどってみた。効果が再現できたのは次の3つ。

  • 5V 電源を AC/DC から直接取ると、ADC の出力で ±150 ぐらいのノイズが乗る(フルスケールは 12 bit = 4096 なので ±3.5%FS)。NJM2397F で 5V を 4.6V に落としつつ安定化すると、これが ±20 ぐらいまで減る。
  • さらにアナログ回路の電源に使う 5V → ±12V の昇圧を SUW30515 から LT3439(ストロベリーリナックスのローノイズモジュール)にすると、ノイズが ±1 まで減る。
  • アナログ回路が不安定だったが、オペアンプの帰還抵抗にコンデンサを入れることで安定化。

 一方、効果があったかどうか不明なのは次の2つ。まあ、部品点数は増えてしまうけど、「念のため」入れておいてもいいのかな、とは思っている。

  • ADC の Vref とアナログ回路のオフセット基準電圧を NJM431L で作るのと、TA48M033F の 3.3V から分圧して作るのとでは、違いがあるかどうか不明。
  • デジタル GND と アナログ GND の間の BNX016-01 の効果も不明。

 1年半前だと、Facebook フォーラムでの議論には全くついていけなかっただろうな。今は、議論されていることの内容はある程度は理解できる(例えば「LDO で削る」とか)。データ読み出しのところで、単に平均をとるよりもオリンピック方式とか中央値をとる方が有効、という話も出ていたので、参考にさせてもらおう。

posted by toshinagata at 20:33| 日記