夕べは、もひとつ不具合が見つかったところで、タイムアウトになってしまった。
電圧測定ポイントは、入力電圧、出力電圧、出力電流(ACS712というICで電流を電圧変換)の3箇所があるが、それぞれにAD(アナログ/デジタル)変換器をつないでマイコンで測定する回路になっている。
動作確認のために、それぞれに対応する可変抵抗(ボリューム)を設置した。ボリュームをまわすと電圧値が変化し、その値によって、蓄電池に充電するモードが定電流モードや定電圧モードに変わったり、充電満了モード、太陽光パネルの電圧が低く(日が暮れた)なって休止モードに変化する ことが確認できる仕組み。
動作確認していると、ひとつのボリュームをまわすと、別のボリュームの値が微妙に変化する現象に遭遇。しかも、他の2つが変化するのではなく、一つだけ。3つのボリュームについて試すと、干渉には規則性がある。
そういえば、利用しているマイコンPIC16F1823には、ハードバグがありAD変換が正常に終了しないことがあるというのを思い出した。そこで、英語のErrataシートを丁寧に読んだら、上記の不具合とは関係なさそうなことが判明。ま、ハードバグの回避策も理解できたので、無駄ではなかっ たのだけど。
知識の宝庫インターネットをググッてみると、複数の入力信号をマルチプレクサで切り替えてAD変換する構造の場合は、信号線を切り替えてから信号線の電位が安定するまでに時間待ちをしなければならないということが判明。
当たり前じゃん。。。。今までは動作クロックがそれほど早くな かったので間に合っていたのが、32MHzと限界速度で動作させるようになったため、追いつかなく なったということ。
そこで、500ページもあるデータシートをきちんと読めば、確かに細かく書いてある。しかも、信号線に挿入する抵抗値から、待ち時間を計算する式まで書いてある。やはり、きちんとドキュメントは読まないといけないことを実感。そういえば、昔プラモデルを作るときに、設計図を見ずに 作って、いつも最後に部品が余ったことを思い出した。。。。(>o<)
とりあえずは、今発生している不具合の回避策は、見つかったので、今晩時間があれば、試してみよう。それはそれとして、「AD変換が終了しないときがある」といういやらしいハードバグの回避は、かなり厄介そう。そもそも、必ず発生するのではなく、「ときがある」というのがなんともはや。。。。今のところ、これに相当する症状には遭遇していないのだけど、100回に1回とかの頻 度だと、見つけるのも一苦労しそう。まだまだ先は長いことだ。
それにしても、本来の設計とは違う使用デバイスの不具合で時間をとられるのは不本意だなぁ。。。あぁ・・・まだまだやらなければならないことが次々発生して、なかなか先に進まない。。。。
前回へ 次回へ
(Visited 349 times, 1 visits today)