google-site-verification: google3bd66dd162ef54c7.html

Raspberry Pi で太陽光発電のデーターロギング

 Raspberry Piの使い方の勉強の続きです。シリアルポートからのデーターの読み込みUSBメモリへのデータの書き込み方法が判ったので、今回は合わせ技。簡単なデーターロガーを立ち上げてみます。

 使うデーターは自作のグリッドタイインバーターがUSBに流している運転状態のデーターです。

▼GTIの上にラズパイを展開
GTIの上にラズパイを貼り付ける
 ラズパイ使う時、ケーブルがあちこちにいっぱい出て収まりが悪くて困ります。場所があればこんなふうに要所をテープで止めれば多少は扱い易くなります。

 GTIからデーターは1秒毎に流れてきます。ただ日時の情報が入っていないので、毎回のデータの先頭に日時情報をエクセルの日付関数で読める形式で挿入します。

 pythonで作ったプログラム(140520usb.py)

# -*- coding: UTF-8 -*-
# Read Serial on ttyUSB0 port

import serial
import datetime

def main():
todaydetail = datetime.datetime.today()
# con=serial.Serial('/dev/ttyUSB0', 9600, timeout=10) # USBのシリアルポート タイムアウト10秒
con=serial.Serial('/dev/ttyUSB0', 9600) # USBのシリアルポート
print con.portstr # ポートのステータスを出力
while 1: # 無限ループで
str=con.readline() # シリアルから一行読む
todaydetail = datetime.datetime.today() # 日時を取得
print todaydetail.strftime("%Y/%m/%d %H:%M:%S"), # Excel形式で日時を出力
print str, # 元データを出力

if __name__ == '__main__':
main()

 これを以下のようなコマンドで起動します。
$ nohup python 140520usb.py > /media/usb0/140524.csv&
 出力をリダイレクトしてUSBメモリに作成。ログアウトしてもプログラムが動き続けるように nohupで起動します。プログラムを止めたい時はps alxでPIDを調べてkillすればOK。

▼作成されたファイル
収集されたデーター

 これをWindowsに取り出すにはsambaでファイル共有すれば便利ですが、とりあえずTeraTeramのSSHに付いているSCPで受信しています。

▼SSH のSCPで受信
SSHのSCPでデーター受信
 Receiveボタンで転送開始します。 ファイルを一つ抜き出すくらいならこの方法が簡単。

 で、こうやって取得したデータの内容が結構衝撃的でした。

▼発電量をエクセルでグラフ化
発電量のグラフ
 これは昨日の発電量のグラフです。終日晴れだったのにかかわらず、12時過ぎからしか本格的に発電していません。12時以前の発電は散乱光によるものでしょう。この日の発電量はたった92Wh。

 ちなみに、冬至の頃でも発電量は102Whあり、9時過ぎからきっちり発電していました。また、3月の中旬だと150Whも発電した日もあった訳で、この調子なら夏至になればかなりの発電量になるかも。ひょっとしたら200Wh越すかも、と楽しみにしていました。

 これ、何が起こっているのかというと、マンションのベランダで太陽光発電する場合の大きな問題。庇(ひさし)の影の影響でした。

 どういうことかと言うと、夏至の前後では太陽高度がかなり高くなります。すると、ベランダの庇の影がパネルに落ちるために発電量が低下する現象が発生してしまいます。パネルの一部でも影になると出力は大きく低下してしまうので影響は甚大です。

 ちなみに南向きのベランダだと正午前後の発電量が下がって左右対称のグラフになると思います。ところがうちのベランダは南西に向いているので、直射日光が入り始める頃にはもうかなり太陽高度が高く、最初から庇の陰がパネルにかかってしまいます。ということで午前中は発電出来ない状態になっています。

 ラズパイいじりはまだまだ続きますが、発電量のデーターについては別の記事でレポしたいと思います。やっぱりきちっとデーターを取ることは大事ですね。
関連記事

コメントの投稿

管理者にだけ表示を許可する

私の家も影でした。

こんばんは。私も最近データをロギング開始して、グラフが朝6時過ぎから発電している時と、9時近くまで発電してない時とがあり、なんか変だと思っていたのですが、ラジオペンチさんと同じベランダソーラーなので屋根の影の影響でした。
どんより曇っている時でもちゃんと発電してバッテリの電圧も上がるけど、晴れて凄くいい天気なのに影が無くなるまで発電量0のままです。
データを取るまでは何も分からなかったのですが、ほんとロギングって面白いですね。

一つ聞きたいのですが、せっかくソーラー発電しているので、インバーターを使って扇風機(サーキュレーター)を繋いでみたのですが、回っている時にスイッチを中から弱とか強から中に切り替えると、インバーターが緊急停止してしまいます。たぶん、モーターの逆起電力の関係だと思うのですが、これを防ぐ方法って考えつきますか?
コンデンサー?が有効と思うのですがどう使っていいのかも正直わからないです。

re:私の家も影でした。

hiroさん、こんばんは。ログを取るといろんなことが判って面白いですよね。

現在ログをWebに記録できるxivelyに取り組んでます。スマホから発電量が見えるのでこれまた面白いです。

インバーターがトリップしちゃう件、何が起きているのか判らないのでアドバイスはムリっぽいです。
ひとつ思いつくのは、15Wくらいの電球負荷をパラにつないでおくと落ちなくなるかも知れません。まあつけっぱなしにするわけにはいかないので、原因調査ってことで。

ありがとうございます。

いつも親切にアドバイスありがとうございます。
ちょっと電球がなかったので20ワットの半田ごてを付けてテストしてみたのですが、スイッチを強から弱にするとインバーターの電源が切れてしまう現象は変わりませんでした。アマゾンで一番売れている安いサーキュレーターなので、作りがシンプルな分、保護回路が無いのでしょうね。どちらにしても、扇風機中強では、電力が足りなくなり実用出来そうもないので、そのまま我慢することにしました。

つい最近運用始めてラジオペンチさんのSDカードロガーを改造したarduinoとraspberrypiでロギングしているのですが、なんだかんだずーと晴れていたので、電力持っていましたが、関東も明日から雨が続くらしいので、発電がたりるかちょっと心配。50wのパネルなのですが、グラフを見た感じ、10ワットの消費で抑えないと常用するのには難しそう。数値が目に見えてしまうと逆に心配事も増えるんですね(笑
コストの元取るには難しいと思うけど゛、マイコン、無線ルーターやlanハブなどソーラー電池で賄えるのは楽しいです。

re:ありがとうございます。

hiro さん、おはようございます。

抵抗負荷を並列に入れておけば急な負荷変動が緩和されるし、ノイズの吸収効果もあると期待したのですが、ダメでしたか。

このところ好天が続いていたのですがいよいよ梅雨入りみたいですね。夏至が近くても発電量が伸びなくて、痛いですね。

No title

ラズパイ、使っていらっしゃるのですね。

先日、久しぶりにお邪魔させて頂いたのは、I2C関連で検索していて、ヒットしたからでした。

ラズパイで標準的なツールでは、LPS331のようなデバイスはi2c-getでよみだせるのですが、デバイス上の(I2CのRAMでいうところの)単一アドレスを連続読みだししないと、2byteなり3byteのデータが得られないデバイス(SHT21)があり、困っているところでした。デバイス上のあるアドレスに特定のコードを書き込むと、湿度の測定が始まります。普通は、変換が済むまでクロックをホールド(ストレッチ)させてから、続けて2byteなり3byteを読み込みます。この方法は標準的なツールでもサポートされているのですが、ラズパイのチップはクロック引き延ばしに対応していません。やむなく、i2c-setでコマンド書き込んでから、しばらく待ってからi2c-getで読み込みましたが、上記のような連続読み込みでないと、正しく読み取れませんでした。i2c-getでは、
(I2CのRAMでいうところの)アドレスの書込みを行うことなしに、複数バイトの連続読み込みを行うことができませんでした。結局、他のツール(関数)のお世話になりました。

なさっておられるように、センサからの取り込み部分は、外付けマイコンにまかせた方が、よいのかもしれません。

長文、失礼いたしました。

多摩地区住人さん、おはようございます

うちのラズパイはグリッドタイインバーターの一部になってずっと動いてるので、半年以上いじってないんです。
http://radiopench.blog96.fc2.com/blog-category-29.html
ということで、もう一台買おうかと思案中です。

ラスパイだとI2Cのアドレスマップがコマンド一発でいいなー、なんて思ってましたが、I2Cの仕様の一部をカバーできていないんですね。なるほど、参考になります。

No title

いつも返信、誠にありがとうございます。

ラズパイのクロックストレッチ不可の問題は、SHT21(湿度センサ)をつなごうと検索していると、出てきました。

I2C関連では、SMB(SMBus)と呼ばれる規格もあるようで、両者は微妙に異なっているようです。TSL2561(照度センサ)のデータシート(下記)を見ると、両者の違いが少しでています。
http://www.ams.com/eng/content/download/250094/975485/file/TSL2560_Datasheet_EN_v1.pdf

これをラズパイにつなぐ際には、"notSMB"というライブラリをpythonから呼んで使いました。

ラズパイをご使用の際に、もしも何かのお役に立つようでしたら、幸いに存じます。

多摩地区住人さん、おはようございます

情報ありがとうございます、いろいろといじられているんですね。

今後ラズパイを使うことがあったら参考にさせていただきます。
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード