電圧測定

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

 

 今回は電圧を測定します。PICのアナログ入力と分圧回路を使用して、測定対象の電圧を測定します。電圧の測定範囲は0[V]~10[V]としています。

 回路図およびプログラムに関する各種詳細は、以下の記事を参考にしてください。

 

1.今回使用するPICについて

 今回使用するPICは「PIC12F1822」です。

 

2.回路

2.1 電子回路図

 

 

2.2 電子回路の写真

 

 

 

2.3 回路説明

 基本的な回路の考え方(AD変換方法)は「温度センサ」を参考にしてください。

 

2.3.1 使用するパーツ一覧
パーツ名 説明 使用数
PIC12F1822 PIC本体 1
抵抗(10[kΩ]) 分圧回路 2

   

 

2.3.2 PICの配線
PICのピン 接続 補足
VDD 電源 5[V]
RA0 シリアル通信(TxD:送信) 7セグメントディスプレイへデータ転送
RA1 -未使用-  
RA2 -未使用-  
RA3 -未使用-  
RA4 分圧回路からの入力 電圧の測定
RA5 -未使用-  
VSS グランド  

 

2.3.3 電源(VDD)について

 今回、回路を作成しPICで測定した際、測定電圧に大きな誤差(0.2[V]くらい)が発生しました。誤差の原因は電源でした。
 使い勝手がよく楽ということから、スマホなどの充電に使用するバッテリを電源として利用しています。このようなバッテリは安定して5[V]を出力してくれると思っていたのですが、意外と安定していませんでした。電源が安定していないせいで、AD変換時に誤差が生じてしまい、測定電圧の誤差につながりました。
 バッテリなどを電源として利用する場合、以上のような問題が発生する可能性があるので、注意してください。そもそもこのようなバッテリを電源にしているのが問題なのでは?という突込みは置いといて、使用する場合、安定しているか確認する、または安定するような回路を追加するようにしてください。
 電源を変えたところ、誤差は0.02[V]程度になりました。

 

2.3.4 電圧測定方法

 分圧回路(回路図の左下の抵抗が2つある部分)を通してPICが取得した電圧をもとに入力電圧を求めます。

記号 説明
Vin 測定対象の電圧
分圧回路に入力(回路図の0V~10Vと書かれている部分)している電圧
Vout PICに出力する電圧(分圧回路からPICにつながっている部分)
R1 分圧回路の上についている抵抗(入力電圧側)
R2 分圧回路の下についている抵抗(グランド側)

 測定対象のVinの電圧を求めるにはオームの法則を利用し、以下の式を解くことで求めることができます。

Vin : Vout = (R1 + R2) : R2
Vin × R2 = Vout × (R1 + R2)
Vin = Vout × (R1 + R2) / R2

 PICが入力した電圧をVoutに代入することでVinを求めることができます。

注:抵抗値は使用するマイコンや測定したい電圧により変更する必要があります。

 

3.プログラム

 プログラムの基本的な部分は以下の記事を参考にしてください。

 

3.1 プログラムの説明

 プログラムを見ながら以下の説明を見てください。ソースコードは次の節にあるので、そちらを参照してください。

 

3.1.1 グローバル変数の宣言

 定数の宣言およびグローバル変数の宣言。グローバル変数は7セグメントディスプレイへのシリアル通信でのデータ転送用です。

 

3.1.2 シリアル通信の割り込み処理

 シリアル通信でのデータ転送処理です。

 

3.1.3 PICの初期設定

 各種初期設定です。周波数、ポート設定、シリアル通信設定などを行っています。

 

3.1.4 AD変換

 AD変換し電圧の取得を行っています。

 

3.1.5 電圧計算

 取得した電圧から入力電圧を求めています。

 

3.1.6 7セグメントディスプレイへ送信処理

 測定した電圧をシリアル通信を使用して7セグメントディスプレイに送信するためのデータを作成しています。

 

3.2 ソースコード

 プログラムの全文を掲載します。

  プログラム新しいウィンドウで開く

<注意>
ファイル名は必要に応じて変更し利用してください。
本サイトの注意事項を確認してください。
ソースコードや回路図などを使用する場合、上記注意とともに、自己責任でお願いします。

    

 

4.動作確認

 電圧の測定対象はニッケル水素充電池を6本直列接続したものです。テスターと比べてみても最大0.02[V]の誤差で収まっています。

 

 

 

 

 

<更新履歴>

 

 日付  内容
2015年11月17日 新規作成
2016年10月7日 フォーマット変更

 

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)