【概要】
8ピンのPICを使って、10Vまでの電圧と、100mAまでの電流を計測し、
シリアル通信で外部に送信することができるディジタル電圧電流計です。
【構成と回路図】
構成は至って簡単で、下図のような全体構成となっています。
まず、PIC12F683を使って、電圧と電流の2チャネルのアナログ入力をA/D変換し、
シリアル通信でパソコン等に送信します。
電源にリチウムイオンバッテリを使うことにしましたので、基準電圧が電源電圧が変化
しても変わらないように、電圧標準ICを使って一定の2.5Vを生成してVrefとしています。
これで電源電圧が変動しても正確にアナログ入力をA/D変換することができます。
USARTを内蔵していないので、ソフトウェアでシリアル通信を行うことになりますが
CCS社のC言語を使えば自動的にこのソフトウェアを生成してくれますので
簡単に実現できます。
これをベースにして作成した回路図が下図となります。動作目印用のLED
を1個追加しています。
アナログ入力部は、電圧測定では10V最大としましたので、1/4に分圧して2.5Vにして
から、インピーダンス変換のためゲイン1のアンプを挿入しています。
電流測定には1Ωの抵抗に流れる電流による電圧降下をオペアンプで約25倍に
増幅しています。これで100mAのとき2.5Vになります。
RS232Cのコネクタは本来はDSUBコネクタにするべきですが、大型になるので
小型のコネクタにして外部で変換ケーブルを自作して使うことにしました。
【ハードウェア製作】
製作には基板が必要ですが、プリント基板を作るほどでも無いので、EジスPenで
作成しました。簡単にお絵かきで作成できるのでこういうときには便利です。
できあがった基板は写真のようになります。
左側から電流のゲイン調整用可変抵抗、電流計測用
アンプ、PIC、RS232C用IC、コネクタとなります。
左下にある黄色の円板状のものがポリスイッチのヒューズ
で、その隣が1Ωの抵抗です。
中央上側は電圧標準ICです。
ジャンパ線は少し浮かせて基板のランドとショートしない
ようにします。
パターンは下図のようになっています。
これをアクリルケースに実装して完成です。
【プログラム製作】
このプログラムはCCS社のC言語で作成しました。RS232Cが数行で記述できて
しまいますので、こういうときには非常に便利です。
下記のリストで全部ですので簡単です。
まず最初にA/D変換を10ビットで行う宣言をします。次に#use rs232でシリアル
通信を使う宣言をしていますが、USARTを内蔵していませんから、これだけで
あとは自動的にソフトウェアによるシリアル通信のプログラムを生成してくれます。
次にメイン関数に入って、A/D変換の設定をしています。Vrefを使うように指定します。
あとはメインループに入って、チャネル0とチャネル1を順番にA/D変換しては、
浮動小数点数としてスケール変換の計算をしたあと、printf文でフォーマットを指定して
送信することを繰り返します。
シリアル出力を別項で製作した液晶表示器ユニットも使えるように、全消去と
2行目への移動の制御文字も出力しています。
液晶表示器の全消去のときは、動作に2msec程度を必要としますので、ここで
5msecの待ち時間を挿入しています。
最後に1秒周期で計測を行うように1秒の待ち時間を挿入しています。
このような待ち時間もdelay関数だけでできてしまいます。
★★ プログラムダウンロード