測定誤差との戦い、解決編

結論から言うと、解決しましたあ。多分(笑)。ええっと、これで完璧!
現象としては、3つ。

1.充電中電圧が、かなり高く表示されるよー(放電中電圧は低く表示されるよー)
2.なんか、測定電圧が不安定になる。現象が、1週間ぐらい続くよー。で、なぜか、気が付いた頃には直ってるよー
3.まだ元気な電池を4本いれたら、なぜか、充電中電圧が不安定になるよー。くたびれた電池だと大丈夫な場合が多いし、3本だけ入れても大丈夫だしい、、、なぜ?

1.充電中電圧が、かなり、高く表示されるよー(放電中電圧は低く表示されるよー)

グラフの上のほうに明るく表示されてるのが、充電中の電圧です。テスターで測ったより、異常に高い数値がでてます。実際は0.25Vぐらいかな。
で、55分あたりで赤色のslot1の電池の充電が終わると、他の3本の電池の測定値が、かくんと、下がってます。

これ、実は原因は、一番簡単なはずなのに、最後まで、気が付かなかったです。なんともはや、経験値が不足してるなあ。

この電池ボックス見ただけで、わかる人は、わかるんだろうなあ。私は、このページの最後の3の問題を解決するべく、あがいてるときに、偶然、わかった、という感じなんですけど。

ええっと、答えは、
「パソコンのATX電源から来てるGNDの黒いコードの抵抗が無視できない。」
です。

いや、こんなテスターでもすぐわかるようなのを、「漏れ電流」だと思ってた俺が恥ずかしいよー

ちなみに、13分あたりと19分あたりで、グラフがかくっとしてるのもこのせいで、なにをしたかというと、電池ケースとか電源あたりの位置を変えたりしてました。ちょっと曲がり方がかわるだけで抵抗が変わるみたい。

解決策として考えられるのは、いくつかあって、

  1. 黒いGNDのコードを思いっきり太く短くして、抵抗が無視できるようにする。
  2. 黒いATX電源のGNDのコードを4本使い電池ごとに、(ATX電源内部で)一点アースする。
  3. ソフトウェアで、補正する。(例えば、処理の最初に、4つの全スロット充電、3つのスロット充電1つは休ませる、などとし、GND線の抵抗を測定する。)
  4. オペアンプで、電池のプラス極とマイナス極の差を引き算し、測定する。

1の方法は、ATX電源の中から、かなり太い線をひっぱってこなきゃいけないので、大変。
2の方法は、1つの充電の電池の充電が終わると、他の3本の電池の測定値がカクンと下がる、という問題を解決するが、測定値自体は、やっぱりGNDの線を太くしないと、正しい値にはならない。で、正しい値にしようとすると、太く短く、の原則が、、、これも大変。
3の方法は、ソフトウェアは複雑になるが、コードの引き回し等を考えると一番いい。
4の方法は、部品点数が増える。もうこの基板にこれ以上乗らないよう。

で、3の方法を中心ににプラス1の方法とすることにしました。
あと、2の方法を使うと、ソフトウェアで補正はできないですよね。ソフトウェアは単純になるんですけど。

ちなみにGNDの線はあまってるので、4本にして、短くしてみたら、かなり誤差もすくなくなって、2の方法でもまあ、よかったかな、、、と。

2.なんか、測定電圧が不安定になる。現象が、1週間ぐらい続くよー。で、なぜか、気が付いた頃には直ってるよー

これ、実は、原因は、回路作るときから、実は、問題になりそうだなあ、と、頭の隅にいれとこ、ともってて、、、、あまりにも隅のほうにいっちゃって、すっかり忘れてました。

右のグラフで現象は一目瞭然ですよね。原因は、
「DAコンバーターのカウンターパルスが、測定電圧に近いところからはじめると測定結果が安定しない。」
です。
解決策はソフトウェアで、2.5Vの基準電圧のコンパレーターの返しをみているところで、値が、HからLになったとき(つまりカウンターにパルスを順次上げていくと、DAコンバーターの電圧が0から3.3Vまで順番に上がっていき、次に0Vになるので、コンパレーターの返しが、Lになる。)の、カウンターパルスの回数が、4096回じゃなければ、最初からやり直し、というようにしただけ。

実は、最初に回路作るときに、カウンターのMSBをPCに返して、これを判断しようとしてたんだが、回路から出力できるのは5つだけなので、2.5V測ってるから、これで代用したらすむじゃん。プログラムは後で修正しよ、とおもってほったらかしにしてたのでした。


3.まだ元気な電池を4本いれたら、なぜか、充電中電圧が不安定になるよー。くたびれた電池だと大丈夫な場合が多いし、3本だけ入れても大丈夫だしい、、、なぜ?

ええっと、これはこんな現象です。

ええっと、クリックしてもらって、グラフを拡大してもらえばよくわかるのですが、(firefoxの場合はさらにクリックして等倍表示、IEの場合は、画像にカーソルを置いて、拡大アイコンをクリックなのかな?とにかく、等倍表示します。)
左が安定してる状態、右が安定していない状態です。

ちなみに、電池を4本入れても安定するときもあります。でどういったときに安定するかというと、
  3本以下なら必ず安定する。
  4本入れると、そのなかに「だめな子」の電池が一本でも混じってると安定する。
ということがようやく解るまでが大変。これが判明したら、すぐ、原因を思いつきました。
(ちゃんと、いろんな測定器(オシロスコープとか)もってたら、わりと簡単にわかるのかなあ?わからんけど。)

この回路図の中に問題があります。おそらく、詳しい人なら、一目でわかるレベル。


ええと、答えは、
「コンパレーターの入力インピーダンスが、高すぎるために、ちょっとしたノイズも拾ってしまう。でこの場合はおそらく、マルチプレクサーの漏れ電流を拾ってしまうのでは?」
です。というか、だと思います、が正しいんだけど、、、ええっと、半分、想像で書いてて、しかもいい加減な説明でご了承を。
コンパレーターの入力端子からは微弱な電流が流れ出(すか、吸い込むか?)します。で、もし、4つのスロットすべてに同じぐらいの電圧のものが入力として来た場合には、この電流が、漏れ電流になるのか、本来の測定対象電池のほうにながれるのか、といった、微妙な状態を引き起こします。
これが、もし、1つのスロットに電池がつながっていなかったり(電池がつながっていない場合は、ショットキーバリアダイオードの漏れ電流のため、高い抵抗がつながってるのと同じ状態)、ダメな子の電池があると(ダメな子の電池電圧は充電中は、高いです。)、微妙な状態は、なんらかの理由で、解消される、ということだと思います。
で、そもそも、そんな微妙な状態を作らないように以下のような抵抗をつなげば、解決!

これによる測定誤差は、1000分の1でちょっと微妙(2Vのものを測定するのに、2mVの誤差。ADコンバータの測定限界は0.8mV)なんだけど、その気になれば、全然ソフトで補正できる話だし、絶対的な値がその程度ずれても全然問題ない。前後の関係で、それだけずれたら問題だけど。
あと、コンパレーターに流れるバイアス電流は、データシートみたところ、25nA(Typical)、100nA(MAX)なので、測定対象の電圧が2Vとしても、2V÷4.7MΩ=400nA、で、微妙な状態を解消するには十分かなと。

で、なんだかんだで、私なりの講釈をたれましたが、もっと、(私レベルの素人でも)解りやすいような解説があれば、おしえてー。