10ビットADコンバータ

PIC

新しいPIC本の第9章に入った。428ページ「9-1 センサなどの電圧や電流を計測したい — 10/12ビットADコンバータの使い方」をやってみる。
まずいろいろ読んでみると、毎度のことながら、今のPICの中身は素晴らしすぎて感心するばかりだ。まあ、昭和時代じゃないんだからなwww(^^♪

で、431ページ「9-1-2 10ビットADコンバータ・・・」をやってみる。まずは本の記載で、10ビットADCはPIC16F18857には実装されていないので、・・・PIC16F1938に変更・・・と書いてある。

これは正しいようで正しくないようで。確かに、PIC16F18857には、素の10bit ADCは入っていないが、その代わり、10bit ADCCが入っている。これはこの本の次の章の435ページにもはっきりと書いてある。なのでここでは、チップを差し替えないで、PIC16F18857のままでADCCをADCとして扱う方法でやることにした。
なので、具体的には432ページ「9-1-3 例題による10ビットADCモジュールの使い方」をやる。

まずは加速度センサ。本ではKXTC9-2050を使うと書いてある。で、手元にあるのも秋月で買った同じデバイス。なので、今回は本の通りのままだ。但し、前回と同様、またまた半田付け作業がある。でも今回は、既にICが変換基板上に載っているので、ピンヘッダを付けるだけなので少し気が楽。こんなふうになった。

作ったのでお次はハードウエア配線。こんなふう。

雰囲気は、前回のフラッシュメモリの時とほぼ同様だ。で、ここからが少し違う。本ではPIC16F1938を使っているが、こちらではPIC16F18857でやっているので、クロック設定のところとADCC設定画面が少し違って、こういうふうにした。

ピン配置はこんなふうで、本と同じ。

で、コンパイルが通らないので見てみると・・・これは明らかに、ADCじゃなくてADCCを使ったのが原因なので、そのように直す。

ここに波線がでるのでadcc.cファイルを見てみると・・・

こうなっているので、ADCC_GetSingleConversionに書き直す。これ。

すると、コンパイル・書き込みが通った。TeraTermはこんなふうになった。

この赤い矢印のところが、手でブレッドボードを持ち上げて角度を付けたところ。10秒くらい持ち上げた後に元に戻した。

というわけで、完璧に成功だ

加速度センサのピンヘッダの半田付け、素のADCの代わりにADCCを使う点・・・など、全部うまく行った。ありがとうございます。(^^♪

※追記・・・ところで、「加速度センサ」って誰も疑問を持たないで書いてあるけど、これってちょっと考えると不思議。多分中身はこの本の433ページの上にほうに書いてあるような「地磁気に対する加速度」っていうことなのでホール素子が入った磁気センサー?なのだろうが、「重力加速度の方向(≒地磁気ベクトル)からのずれの量を3軸出力する」から加速度センサ?っていうノリなのか?
もし地磁気が絡まない加速度センサなら、慣性系(おもり)が中に入っている所謂ジャイロセンサーのはずなんだけど、そういう用語の使い方がまたまた昭和時代とは様変わりなのかも?まあいいけどw(^^♪

コメント

タイトルとURLをコピーしました