Arduinoで電圧計を作ってみる その3

公開日: 電子工作 | ,

前回作ったArduino電圧計を、ケースに入れて完全に単体で動くようにしました。

arduino 電圧計1 
これが完成した電圧計です。
青色7セグLED採用。
左下の赤いのは電源ボタンです。

arduino 電圧計2
電源ボタンはモーメンタリ式の物で、押している間だけ電圧が表示されるシンプルな電圧計となっています。

arduino 電圧計3
(中身)表面のレイアウトは割とシンプルですが・・・

arduino 電圧計5
(中身)裏面はこんなですw

パーツリスト

パーツ名 個数 記号 価格
ATMega328P  1   250円
7セグLED  1   250円
78L05  1   15円
2SC1815  4   20円(@4)
チップ抵抗1kΩ 12    
チップ抵抗10kΩ  1    
抵抗30kΩ  1    
抵抗100kΩ  1    
電解コンデンサ 100uF  2   20円(@10)
チップセラコン 0.1uF  1    
セラコン 1uF  1   10円
セラコン 10uF  1   20円
ユニバーサル基板  1   70円
プラねじセット  1   50円
スイッチ  1   85円
ケース  1   195円
ケーブル・その他      

約1000円程かかってますね。
デジタル電圧計としては、そこそこの値段ですね。もう少し安いと思ってましたが・・・w

回路図

arduino 電圧計回路図2

基本的に 12Vバッテリーの電圧を計る為の物なので、VIN と BATTERY +、GND と BATTERY -が共通で、電源電圧を測る設計です。
電源電圧は、レギュレータIC78L05を使っているので 8V~20V となります。
レギュレータを低ドロップタイプの物を使えば、5.5V程度~で動作が可能となりますが、上限は分圧抵抗の比率から21.6Vが限界です。
※当初、トランジスタ(2SC1815)を使った回路だったのですが、あまり意味が無いと言うことが分かったのでトランジスタ無しに修正しました。(2011/10/11)

ちなみに、この回路の動作中に流れる電流は、テスターの実測値で17.5mA程でした。
電源電圧を計る上で多少誤差の素になってるかも・・・

ATMega328P

Arduinoの醍醐味は、買って来た空のATMega328Pにブートローダーを書き込めば、自作Arduinoが作れてしまうこと。
今回は、Arduino Pro 8MHz のブートローダーを書き込み、Fuseを内蔵8MHz発振に指定することで、外付けの発振子を省略しました。
今回の様な用途では、これで十分です。

Arduinoのブートローダーの書き込み方法は

外付けAVRライタ無しでBootloaderを書き込む

を参考にしました。

内蔵8MHzオシレータ利用の際のFuse情報は、

内蔵8MHzでArduino互換 – ikkei blog

を参考にしました。

ArduinoはATMega328Pだけで無く、ATMega168やATMega8にも対応したブートローダーがIDEに同梱されているので、さらに数十円節約することも可能です。
また、ATMega88用にも、コンパイルさえすればブートローダーを作成する事が可能らしいです。

ATmega88(P)用ブートローダ

スケッチ(プログラム)

電圧計のスケッチ(プログラム)は、前回の物をそのまま使っています。

前回、100k + 30k の抵抗で分圧を行った際、無調整で誤差無く計れたのですが、これは偶然だったようです。
今回は、テスターで計った値と微妙に誤差が出てしまったので、テスターで計った電圧と、analogRead()で返される値で調整しました。

int getVoltage()<br />
{<br />
    double value;<br />
    value=analogRead(A0);<br />
<br />
//    value*=0.021158854166666666666666666666667;    //    = 5V / 1024 / 30k&Omega; * 130k&Omega;<br />
    value*=0.020971993410214168039538714991763;    // 12.73 / 607;<br />
    Serial.println(value);<br />
<br />
    return value*100;<br />
}

テスターの読みが12.73の時に、analogRead()で返される値が607だったので、単純に割って数値を出しています。

チップ抵抗

7セグLEDに繋がっている1kの抵抗と、リセット用の10kの抵抗は、省スペースの為に1608サイズのチップ抵抗を使いました。
1608サイズのチップ部品の半田付けは、最初は手間取りましたが、慣れれば十分に手半田が可能だと思います。

手半田した1608チップ抵抗
拡大すると・・・あまりキレイじゃ無いですねorz

1608サイズのチップ部品なら、この様に2.54mmピッチの基板のホールとホールの間に、抵抗を置くことが可能で、2012サイズだと、ホールとホールの間に置くのが若干厳しくなる感じです。(置けないことは無いですが)

最後に

電圧計の作成にかなりの時間を費やしてしまいましたが、分からない事が多くて検索しまくったり試行錯誤の連続で、これを作るだけでも大変勉強になりました。

関連記事

arduino-voltmeter2

Arduinoで電圧計を作ってみる その2

前回作ったArduino電圧計は、出力がシリアルでPCが無いと結果が見られない状態でしたので、今回は

記事を読む

Arduinoコンパチ・ブレッドボード

Arduinoの消費電力

Arduinoにバッテリーを接続した時に流れる電流を計ってみました。 電流計測に使ったのは、MET

記事を読む

分圧回路へ接続

Arduinoで電圧計を作ってみる

今後、色々と太陽電池を使った電子工作をして行こうと思っているのですが、何を作るにしても電圧監視は必至

記事を読む

手作りLEDランタン

LEDランタン その2

先日作ったLEDランタンの電流制限抵抗を変えて明るさを確認してみました。 左から、1k&Ome

記事を読む

LEDランタン

LEDランタンを作ってみる

太陽電池を有効活用する為に、LEDランタンを手作りしてみました。 ランタンの本体となるのは、1

記事を読む

Comment (2件)

  1. 自作好きおじさん

    Futabaさん

    初めまして。
    電圧表示装置を作りたくて、探している時、この記事を
    知りました。
    ほとんどそのまま(分圧抵抗の所だけ変えました)
    使わせてもらいました。
    望みどおりの物が出来て、うれしいです。
    どうも、有難うございました。
    これからも、よろしくお願いいたします。

    自作好きおじさん

    1. Futaba

      コメントありがとうございます。
      参考にしていただけてとても光栄に思います。
      ブログに書いた甲斐があったと言うものです。
      また、何かありましたらよろしくお願い致します。

Message

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

太陽電池パネルにベランダの手摺りの影
太陽電池パネルの発電不良

ここの所、夕方の日没時でもバッテリーの残量が殆ど無い状態が続いていて、

Arduinoコンパチ・ブレッドボード
Arduinoの消費電力

Arduinoにバッテリーを接続した時に流れる電流を計ってみました。

手作りLEDランタン
LEDランタン その2

先日作ったLEDランタンの電流制限抵抗を変えて明るさを確認してみま

LEDランタン
LEDランタンを作ってみる

太陽電池を有効活用する為に、LEDランタンを手作りしてみました。

arduino 電圧計2
Arduinoで電圧計を作ってみる その3

前回作ったArduino電圧計を、ケースに入れて完全に単体で動くように

PAGE TOP ↑