Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC16F1823のFVRがちょっとうれしい

PICにはまって2週間だ。
実は当初はAVRとどっちにするのか悩んだものだが、結局、これから始める初心者にどっちがいいかなんてわかろうはずも無く、秋月で売ってるICの個数を数えたら、AVRはDIPタイプのものだけを数えると17個、PICは数える気もうせるほどに大量だったので、やっぱり「まだ」PICなんだなと信じてPICをやり始めた。

いまだにPIC12F675とPIC16F887とPIC16F1823の3つしか使ったことが無いのだから、秋月の在庫が17種類だろうが数え切れないほど多かろうが何の根拠にもなってなかったわけだが、少なくとも、下手すりゃ100円にも満たないICでこれだけ遊べるのには満足している。

さて、今回は、PIC16F1823のAD変換をやってみてデータ・シートを読んでいたら、FVRの機能がうれしいので覚書しておくことにした。

14.0 FIXED VOLTAGE REFERENCE (FVR)
The Fixed Voltage Reference, or FVR, is a stable voltage reference, independent of VDD, with 1.024V, 2.048V or 4.096V selectable output levels. The output of the FVR can be configured to supply a reference voltage to the following:
• ADC input channel
• ADC positive reference
• Comparator positive input
• Digital-to-Analog Converter (DAC)
• Capacitive Sensing (CPS) module
The FVR can be enabled by setting the FVREN bit of the FVRCON register.

PIC16F1823は10bitのAD変換ができるのだが、電源電圧が5Vだとして、それをそのままReference Voltageに設定すると0~5Vが1024分割されて、大体5mV単位で測定できる計算になる。
ところがセンサーなどの入力範囲が狭くて0~2Vだとすると、せっかく5Vまでの計測が可能だというのに2~5Vの間は使われずに無駄になる。
そこで、1つは増幅してセンサーからの電圧を5Vまで大きくする方法だが、これは回路が増えて面倒だ。もうひとつはReference Voltageを2V近くに下げてやる方法だが、これもわざわざ電源電圧以外の電圧を用意するにはそのための回路が必要だ。

ところが、データ・シートによれば、このPICでは外付けの回路無しにプログラムの変更だけで1.024V、2.048V、4.096Vそして電源電圧の4種類をReference Voltageとして使うことができるらしい。

1823ref1024v1823ref2048v1823ref4096v
可変抵抗で分圧したものをデジタルマルチメーターと1823によるAD変換での表示とで比較したのが上の写真だ。
PICからの値が計算してなくて分かりにくいが、左が上位2ビット、右が下位8ビットの値だ。1024のうちの、上から908、973、997と、ほぼ一番高い値に近づくように可変抵抗で電圧を調節してあり、それぞれの下がそのときテスターで計った実際の電圧で、上からそれぞれ約1V、2V、4Vを示している。
回路は測定する電圧を決める可変抵抗の値以外まったく同じで、プログラムでFVRCONのADFVRの値をちょっといじるだけだ。
それだけのことで測定レンジが変更できるというわけだ。
しかも、independent of VDD と書いてあるから、電源電圧とは独立して電圧が保たれるのだろう。その点でもお手軽度が増す。

くどいようだが、これを書いている時点のPIC16F1823の秋月電子通商での価格は、1個たったの90円だ。

このエントリーをはてなブックマークに追加

Posted under: mikroBasic


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.