電流電圧ロガーの製作:回路

回路図


(クリックで大きくなります)

実体配線図


(クリックで大きくなります)

電源

 単四エネループ2本を電源とする(公称 2.4 V)。回路は 3.3 V で動作させたいので、DC-DC コンバータを使って昇圧する。ストロベリーリナックスの MCP1640 2.0V〜5.5V可変DC-DCコンバータモジュールを使うことにした。2.4 V から 3.3 V への昇圧で、300 mA 程度まで出すことができる。今回は、電流は 10 mA 程度でよい。この条件だと、効率は 90% 程度となっている(上記商品ページ記載の資料)。500円+消費税(2015年8月)と価格も手頃である。昇圧タイプの DC-DC コンバータは自作してもなかなか性能が出せないので、このように使いやすいモジュールが市販されているのはたいへんありがたい。

マイコン

 マイコンは ATmega328P-PU を使う。3.3 V, 8 MHz 動作とする。

 経過時間をなるべく正確に測定するため、水晶発振子をつける。内部発振だと、20分で10秒以上狂ってしまうことがわかった。水晶発振子なら、12時間経過しても誤差は1秒未満だった。

 ファームウェアの書き換えができるように ISP 端子をつける。2x3 のピンヘッダを使う。端子配列は AVRISP 準拠。リセット端子は、1 kΩの抵抗でプルアップ。リセットスイッチは特につけない。

 電池電圧をチェックするため、アナログ入力を使う。ATmega のデータシートによれば、ADC を使う時は Vacc にローパスフィルタをつけることとされている (1.1 Pin Description)。1 kΩと 10μF の RC フィルタをつけた。また、Aref はコンデンサを通して GND につなぐこととなっているため (24.5.2 ADC Voltage Reference)、0.1μF のセラミックコンデンサをつけた。

 アナログ入力のリファレンスは、内蔵の 1.1 V を使う。電池電圧は公称 2.4 V で、満充電したエネループを使うと 2.8 V 程度に達する。また、単四のアルカリ乾電池を使うケースも考慮すると、3.0 V までは入力される可能性がある。このため、22 kΩと 47 kΩの抵抗で 1/3.14 に分圧して、PC0 に入れる。ATmega のデータシートによれば、ADC の入力は 10 kΩのインピーダンスが想定されているので、この抵抗は少し大きすぎる。ただ、速い信号に追随するわけではないし、応答速度もそれほど要求されないので、消費電流の抑制を優先させて、大きめの抵抗を使った。

 電流・電圧計測と液晶表示は I2C インターフェースで、SD カードは SPI インターフェースで接続する。スタート/ストップ動作と設定変更(データ取得間隔)はタクトスイッチを使う。これは ATmega の PDx (x = 2,3,5) に直結し、内部プルアップを有効にする。

電流・電圧計測

 ストロベリーリナックスの I2Cディジタル電流・電圧・電力計モジュール を使う。これは TI の INA226 を使ったモジュールで、電圧は 0〜36 V、電流は –3.2A〜+3.2A の範囲を 16 ビットの分解能で測定できる。1000円+消費税(2015年8月)とそれなりのお値段だが、自前で同等の回路を組んで調節する手間を考えると十分な価値がある。

 負荷との接続は「ハイサイド接続」(GND 電位が共通)に限定し、基板の中で配線しておく。外に出す端子は「電源の+・−」「負荷の+・−」の4本とする。

入出力

 液晶表示は、秋月の I2C接続小型キャラクタLCDモジュール(3.3V/5V)ピッチ変換キット を使う。税込み 550 円(2015年8月)。最初、バックライト付きでパラレル接続の LCD 表示器を使って試してみたのだが、信号線が多いし、大きくてかさばるし、本品にくらべてデメリットが多かった。

 IC ソケットを使って少し浮かせて実装すると、液晶面の下に他の部品を実装できる。ディスプレイが薄いので、これでも基板からの高さは 10 mm 程度に収まる。

 入力はタクトスイッチ3個。1個はデータ取得のスタート/ストップボタン、残り2個はデータ取得間隔の設定。スタート/ストップボタンは、1秒長押ししたときに動作するようにした。動作中にうっかり触れてデータ取得が止まってしまうのを避けるため。

SD カード

 秋月の SDカードスロットDIP化モジュール を使う。MicroSD ではなくフルサイズの SD カードにしたのは、FlashAir を使って無線化する可能性を考慮したため。まあでも使わないかな。それなら、「大は小を兼ねる」ということで。

 このモジュールは完成品で、ピンヘッダが付いている。しかし、SD カードの表面側にピンヘッダが出ているので、このまま基板にハンダ付けすると、SD カードを裏向けに挿入することになる。これでは使い勝手が悪いので、ピンヘッダを取り外して、逆向きに新たにピンヘッダを取り付け直した。さらに、ピンヘッダのプラスチック部分を取り除いて、本モジュールが基板に接触する形で取り付けた。両面テープで貼り付ければさらに良かったと思うが、忘れていた。

基板とケース

 基板は秋月の B タイプ(95×72 mm)とする。全体をアクリルケース SK-16 に入れる。先に基板に適当に回路を組んでからケースを探すと、適当なケースを見つけるのにたいへん苦労する。最初からケースに収めた状態を想定して設計しないと、基板を作ったところまでで終わってしまう。ケースに合わせて設計することは大事です。最近ようやくそれがわかってきた。

ケースは CNC フライスで加工した。側面と裏面は加工に失敗して、ちょっと他人様にはお見せできない見苦しい状態になっております。まあ失敗しないとわからないこともありますから(言い訳)。

 単四2個の電池ボックスは基板のハンダ面にネジ止めする。

 ハンダ面を保護するため、電池ボックスと基板の間に透明塩ビ板をはさんだ。

 電池ボックスは基板に直接ハンダ付けするのではなく、2ピンの EI コネクタ(リセプタクルハウジングとプラグハウジング)でつなぐ。基板の回路を手直しするとき、電池ボックスを外せば邪魔にならない。EI リセプタクル/プラグハウジングの対は接合する向きが決まっているので、逆挿しが致命的な電源ラインには都合が良い。