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


PIC−USBIO using BASIC

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

[第175回]



●PICUSBIO−03(124)ADコンバータ(7)’FVR’入力

前回はADコンバータのチャネルE(’1110’)にDAC出力を直接入力する設定をテストしました。
今回は同様にしてADコンバータのチャネルF(’1111’)にFVR出力を直接入力する設定をテストします。

前回でDACのプラス側電源としてFVR=1.024Vを使うように設定したプログラムをもとにして今回のテストに合うように変更します。

前回は10行でDACについての設定をしましたが今回はDACは関係ありませんから10行は削除します。
15行でFVR出力を1.024Vに設定します。
REFCON0のbit7=1にするとFVR出力が有効になり、<bit5:bit4>を’01’にするとFVR=1.024Vになります。
60行〜100行はADCの入力をチャネルF(’1111’)に変更します。
ADCON0の<bit5:bit2>を’1111’に設定するとFVRの出力がADCに入力されます。
前回までのプログラムはDACの出力値を変化させながらその値をADCに入力してAD変換された値を表示するというプログラムでしたが今回はFVRの「固定値」を出力してそれをAD変換するだけですからプログラムはうんと簡単なものになります。
110行でAD変換後のデジタル値を読み込んでそれを120行で電圧値に換算します。
130行ではデジタル値とそれを電圧値に換算した値を表示します。

プログラムリストの下のところでプログラムを実行しました。
ADコンバータに入力されたFVR(1.024V)をAD変換して得られたデジタル値は’00D5’でそれを電圧に換算した値は1040(mV)です。
入力値(1024mV)に対して約1.6%の誤差です。
これがDACかまたはFVRそのものの誤差なのかDACの電源(USBの+5V)によるものかはわかりません。
こんなものなのかなと思います。

FVRの値を2.048Vに変更するのは簡単です。

上のプログラムの15行を変更するだけです。
REFCON0の<bit5:bit4>を’10’にするとFVR=2.048Vになります。

プログラムを実行しました。
ADコンバータに入力されたFVR(2.048V)をAD変換して得られたデジタル値は’01AA’でそれを電圧に換算した値は2080(mV)です。
入力値(2048mV)に対して約1.6%の誤差で、これは1.024Vのときと同じです。

最後にFVRの値を4.096Vに変更します。

15行を変更するだけです。
REFCON0の<bit5:bit4>を’11’にするとFVR=4.096Vになります。

プログラムを実行しました。
ADコンバータに入力されたFVR(4.096V)をAD変換して得られたデジタル値は’034C’でそれを電圧に換算した値は4121(mV)です。
入力値(4096mV)に対して約0.6%の誤差で、上記の2回のテストよりかなり良い精度が出ました。

PIC−USBIO using BASIC[第175回]
2023.2.3upload

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