PICでAD変換動作確認

今日は、家の用事があってお仕事はお休み。

用事の合間を縫ってAD(アナログ/デジタル)変換の実験。

PIC16F1823には、AD変換機が組み込まれている。14ピンの小さなICなのに、内部にはAD変換をはじめ、複数のタイマ、コンパレータ、PWM、割込み、汎用入出力ポートなどなど、データシートは400ページ以上という盛りだくさんの機能が詰め込まれている。それが¥100未満で入手できるなんて、幸せな時代だ。

2つの点を同時に測定するには、2チャンネルのAD変換を同時に実行しなければならないが、特にトラブルが発生することなく難なくクリア。

一気にやらず、自宅の用事の合間合間に時間を見つけながら、細切れ作業なので、用事の間に頭で考えを整理しながら進められるのがうまく行ってる理由かも…

時間があると、ついつい先走って頭でじっくり考える前に、まず手が動いてしまうので、ボンミスが多いのかもしれない。ちょっと反省。

それにしても、サクサクと思い通りに回路もプログラムが動くと、気持ちいい!

376893_219385341521321_1534293290_n

と思ったのもつかの間、AD変換の精度を検証していて、あまり芳しくない状況が発生。

AD変換の結果、値が小さいところは、1ビット当たりの電圧が小さく、比例していない状況が確認された。グラフ化すると、右上がりの直線ではなく、少し上に反ったようなグラフになる。電池の充放電制御に使おうとすると、この精度の低さは大きな問題に発展する可能性がある。
更に、PIC16F1823のエラッタも踏んでしまったようだ。マイクロチップ社から提供されているチップのバグ情報がエラッタという文書で提供されているが、これを確認すると、チップのリビジョンによっては、AD変換が完了しない時があるという不具合があるらしい。

CH1の入力電圧を変えると、CH2の下1桁が安定しない。振れ幅が4ビット分くらい出ているのでこれはおかしいと、インターネットを検索してみたらPIC16F1823チップのリビジョンA6にはそんなバグがあるらしい。手元にあるチップのリビジョンを確認すると、まさにA6.。。。ガ~~~~ン。バグ付チップを買っちまったか。

複数あるチップから、IC表面のプリントが別のチップに差し替えてみたら上記の症状は出ない。

う~~む。Pentiumの計算バグが話題になったことを思い出してしまった。

ま、今回のチップは90円で買ったものなので、とりあえずAD変換以外の用途で流用することであきらめよう。

(Visited 859 times, 1 visits today)
スポンサーリンク

シェアする

フォローする