昨年末に基板を自作しまして。まとめにも書いているように、理屈のうえでは電池のもちがよくなっているはずです。でもどのくらいよくなっているのかがわかりにくいので、実際に測定してみることに。
どうやって測るか
基板から制御する8個のLEDを全開にした(ほぼ)最大負荷の状態で何時間もつかを測ります。通常使用では全開にし続けることはないので、「最低でもこれだけもちます」という時間がわかります。
最初はiPhoneのストップウォッチでいいんじゃねえかと思いましたが、如何せん時間が長い。目を離したすきに電池が切れられても困ります。せっかくXBeeで電圧をモニタしているので、これを利用することに。Node.jsでシリアルポートを監視し、XBeeのパケットを受信したらMongoDBに放り込みます。XBeeからのパケットが途絶えた(=電池が切れた)ところでMongoDBの中身をグラフ化し、何時間動き続けたかを読み返します。
動かしてみた
コードはこんな感じに。
var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/batterytest'); var Packet = new mongoose.Schema({ vol1: Number, vol2: Number, time: { type: Date, default: Date.now }, }); exports.Packet = db.model('Packet', Packet);
var model = require('./model_voltage'); var Packet = model.Packet; serial_xbee.on('data', function(data){ // 受信したパケットが'Data Sample'である if( (typeof data.bytes !== "undefined") && (data.bytes[0] == 0x92)){ // パケット中のA/D変換した読み値でオブジェクトをつくる var newPacket = new Packet({vol1: data.samples.A0, vol2: data.samples.A1}); newPacket.save(function(err){ if(err){ console.log(err); } }); } });
で、とったログをグラフ化。ここはMongoDBからCSVとしてはきだして、Numbersでグラフにしました。Numbersでグラフをつくるのは意外とめんどうでした。Excelほしいです。
5V昇圧をナシにしたFusion PCB試作のほうが、圧倒的に長いあいだ動作できることがわかります。適当なパターンで点滅させるとなれば、もっと動作時間は延びると考えられます。加えて、電池や昇圧ICの特性もみえそうという副産物も。もとの電源が十分に電圧を確保できてる場合、5V電源のほうは出力電圧がビチッと5Vで安定してますね。
おわりに
そういう用途ならばfluentdを使えばとなるのだけれど。シリアルポートがうまく読めなくて苦労しているので、なんとかなったらそこはまた。
0 件のコメント:
コメントを投稿