PIC16F84電子遊戯(76)
最終更新日:2002年7月6日
電圧可変型簡易DC電源(1ページ)へ (2ページ) (3ページ)へ

電圧可変型簡易DC電源の基本仕様
1)DC電源の出力電圧が1.3Vから10Vまで可変出来ます。
2)出力電圧をデジタルで表示します。(0.1Vステップです。)
3)出力はSWを付けてON/OFF出来るようにしました。
電圧可変型簡易DC電源のポート割付
ポート名 入出力 機能
RA0 OUT 7セグ上位桁制御
RA1 OUT 7セグ下位桁制御
RA2 IN/OUT コンデンサ充放電制御
RA3 IN OPアンプ出力より
RA4 OUT NC
RB0 OUT 7セグ(e)
RB1 OUT 7セグ(d)
RB2 OUT 7セグ(c)
RB3 OUT 7セグ(b)
RB4 OUT 7セグ(a)
RB5 OUT 7セグ(g)
RB6 OUT 7セグ(f)
RB7 OUT 電圧オーバー表示
10V以上の表示が7セグメントでは出来ませんので、10Vを超える時は緑色LEDを点灯することにします。このとき7セグメントの表示は1Vの桁と0.1V桁のみとなります。
電圧可変型簡易DC電源の電圧計測
電圧の違いにより、コンデンサ充電による電圧が一致するまでの時間を測ることにより簡易A/Dコンバータを構成しています。計測の概略は次の通りです。
タイマー割り込みでインクリメントされるカウンタをクリアする
RA2ポートを出力Lにする(コンデンサの放電)
時間待ち
RA2ポートを入力にする(コンデンサの充電スタート)
タイマー割り込みを有効にする
RA3がLになるまで待つ
タイマー割り込みを禁止する
上記の処理により、タイマー割り込みでインクリメントされるカウンターの値が充電時間と比例関係を取ることが可能になります。
電圧可変型簡易DC電源のコンデンサ充電の検証
今回の簡易A/Dコンバータの回路について電子回路シュミレータで検証しておきましょう。
いかがでしょうか。電圧が1.5Vの時のシミュレーションです。充電時間は約1.3msec。
次が10Vの時のシミュレーションです。充電時間は約11msecです。
電圧可変型簡易DC電源の電圧データ測定
実際に回路を組むとなかなか計算通りには行きません。
毎度お馴染みのテストプログラムでデータを測定することにしましょう。
コンデンサの充電時間を8bitカウンタで測定したデータをそのまま7セグメント2桁に16進表示するように作ってあります。
データ測定プログラムはこちらです。圧縮しています。展開するとHEXが生成されますので、そのままPICに書き込んでください。
デジタルテスターで出力電圧と8bitデータを測定しているところです。
上の表はエクセルで作成したものです。出力電圧からOPアンプに入る電圧を計算した値をもとにコンデンサの充電に掛かる時間を導きカウント値を出したものです。
まずは皆さんの回路でこの値を実測してみて下さい。
私の場合は表中のピンクの部分です。どうでしょう。多分計算値とは少し違うはずです。
次にこれを補正します。表の左上に「CR=****」の表記部分があります。
この値を少しずつ変化させて、実測値と計算値が出来るだけ同じ値になるように調整します。全範囲に渡って誤差が小さくなるようにしましょう。
調整が終わればこの値を用いて実際のプログラムに反映することになります。
実測校正用計算エクセルデータはこちらです。圧縮していますので展開して下さい。
ということで今回はここまでとしましょう。次回以降もよろしくです。
これからも益々面白くなる「PIC16F84電子遊戯」をよろしくお願いいたします。

不明点などあればメールお願いいたします。nonchansoft@nifty.com