2023.1.31
前へ
次へ
ホームページトップへ戻る


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第172回]



●PICUSBIO−03(121)ADコンバータ(4)DAC出力をADCに入力する(2)アナログ値に変換する

前回は5ビットのデジタル値をアナログ値に変換してCVREF端子から出力したものをAN7端子に入力して、それをAD変換した10ビットのデジタル値をさらに5ビットに換算してもとのデジタル値と比較するというテストを行ないました。
しかしせっかくのDA変換、AD変換ですのにデジタル値だけで比較するというのもなんだか味気ない感じです。
CVREF端子の出力は[第170回]で、テスターで測定して計算値とともに表にまとめました。
せっかくそこまでやったのですから前回のAN7から入力してデジタル変換した値を計算でアナログ値に換算し直して[第170回]で求めた値と比較してみるというのも面白いのではと思います。
前回は元のデジタル値をDA変換してそれをAD変換したあともとのデジタル値と比較するというデジタル値での比較でした。
今回はそれをアナログ値で比較してみるという試みです。
え?ややこしいですか?
ちょっと考えるとなんだかややこしくて難しいようですが、BASICを使えばなんてこともなく簡単にできてしまいます。
前回の後で作ったプログラムの一部を書き換えました。

120行と130行を少し書き換えただけです。
AN7から入力した値はフルスケール5Vを10ビット(1024)のデジタル値に変換したものですからその値に5/1024を乗じればアナログ電圧値が求まります。
ただそのまま計算すると小数になってしまいます。
そこで5000/1024を乗じて結果をmV単位の整数値で求めるようにしました。
せっかく[第170回]で作成した表がありますから実行結果はその表に並べて比較できるようにしてみました。
左側が[第170回]で作成した表で右側が今回の実行結果です。

表の実測値はCVREF端子の出力値をテスターで測った値です。
右のプログラムの実行結果は同じCVREF端子の出力値をAN7端子から入力してAD変換した値を電圧値に換算したものです。
前回は5ビットのデジタル値での比較でしたが、今回はデジタルテスターでの測定値と10ビットのAD変換値との比較です。
10ビットということは約1000分の1の精度です。
さすがにそれは無理でも1/500〜1/250(9〜8ビット)程度の精度は出ているようです。

PIC−USBIO using BASIC[第172回]
2023.1.31upload

前へ
次へ
ホームページトップへ戻る