Archives
Categories

Posts Tagged ‘ソーラーパネル’

IoT支える有望なデバイスを使って今度は、ESP-WROOM-02を使ってさらに、MCP3208でAD変換をして多くのアナログデータを制御してみた!

前回、ESP8266のnodemcpバージョンを使って、ソーラーパネルで発電してバッテリーに蓄電する電圧ロガーを作ってみましたが。。。

今回は、また新たにESP8266のESP-WROOM-02バージョンを使って、前回のバッテリー電圧だけじゃなくて、ソーラーパネルの発電量とソーラーパネル周辺の明るさをデーター化できるように新たに作ってみました。。。

 

ESP8266はすでにご存じの通り、アナログ入力のポートは1個しかなくて、アナログセンサーなどを複数つなぐのはちょっと面倒なことをしなけりゃいかんかったんですよね。。。

そんならデジタルデバイスを使えばええやんというご意見が聞こえてきそうですけど、アナログデバイスは、価格が安いとか、回路が簡単いうメリットがあるし、なにより、”味のある数値”(なんじゃそりゃ!)が出るということもあり結構すきなんですよねー!

 

ということもあり、ESP8266で使えるアナログポートを増やして、たんまり、アナログな味に浸れるバージョンを前回の発展形として作ってみました。。

 

今回は、前回3つ入手したうちの2つ目の種類である、ESP-WROOM-02を使ってみます。

今回は、アナログ入力が3つ必要となるので、ESP8266とMCP3208というADコンバーターをSPIで繋いで、アナログポートを増やして作ります。。

 

これは、前回使用した、nodemcpバージョンのように、USBシリアルやら、レギュレータやらは一切なくて、単にチップだけで構成されています。

なので、単純にプログラムを書き込むだけでも、それなりのUSBシリアルを介した回路を組んでやる必要があるんですよね。。

 

詳しくは、ESP8266 書き込み でググってみてください。。

 

まぁ、ネットの情報を元に作ってみたのがこんな感じ。。。

上のブレッドボードのヤツが今回作ってみたやつ!

(下は前回製作した、nodemcuバージョンのやつですな。)

 

右上の青い変な形をしている基盤に乗っかってるのが、ESP-WROOM-02

 

その下のちょっと小さな基盤が、USBシリアルコンバーター

 

こんな感じ。。。

 

 

ブレッドボードのちょうど中心にあるのが、ADコンバーターのMCP3208

こんな感じ。。

まぁフツーのICの形なんで、見た目わかりません。。。

このADコンバーターは8ch分のアナログ入力が可能で、12bitの分解能力がある優れもの!

でも300円弱なんでコストパフォーマンスは高いですな。

 

これに、0chには、バッテリーの端子間電圧

1chには、ソーラーパネルの電圧

2chには、CDSを付けて、明るさを数値化していることにしてみました。。

 

っで、肝心かなめのプログラムは。。。

[html]
extern “C”{
#include <spi.h>
#include <spi_register.h>
}
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h></pre>
char ssid[] = “xxxxxxxxxxxxx”;
char password[] = “xxxxxxxxxxxxxxxxxxxxxxx”;
int wifipin = 16;
int accpin = 5;

void setup() {

Serial.begin(115200);
Serial.println(“”);

spi_init(HSPI);

pinMode(wifipin,OUTPUT);
pinMode(accpin,OUTPUT);

delay(1000);

digitalWrite(wifipin,LOW);
connectWifi();
digitalWrite(wifipin,HIGH);

delay(1000);

}

void loop() {

digitalWrite(accpin,HIGH);

String value_data = get_value();

String acc_url = “http://xxxxxxxxxxxxxxxxxxxxxxx?”;
String url_string = acc_url + value_data;

Serial.println(url_string);

char buf[256];
url_string.toCharArray(buf,256);

String result_data = getPageSource(buf);

Serial.println(result_data);
digitalWrite(accpin,LOW);

delay(60000);

}

void connectWifi() {

WiFi.disconnect();
delay(250);

Serial.println(“”);
Serial.println(“Status : ” + WiFi.status());
Serial.println(“SSID : ” + WiFi.SSID());

WiFi.mode(WIFI_STA);
delay(100);
WiFi.begin(ssid, password);

Serial.println(“ssid : ” + String(ssid));

while (WiFi.status() != WL_CONNECTED) {
Serial.print(“.”);
delay(500);
}
Serial.println(“”);
Serial.println(“connected!”);
}

String getPageSource(char host[]) {

Serial.println(host);

HTTPClient http;

http.begin(host);
int httpCode = http.GET();

String result = “”;

if (httpCode < 0) {
result = Serial.println(“Error!”);
} else if (http.getSize() < 0) {
result = “size is invalid”;
} else {
result = http.getString();
}

http.end();
return result;
}

String get_value() {

uint32 val0 = check(0);
uint32 val1 = check(1);
uint32 val2 = check(2);

String vale_data = “ba=” + String(val0) + “&so=” + String(val1) + “&br=” + String(val2);

Serial.print(” Battery Voltage : “);
Serial.println(val0);
Serial.print(” Solar Pannel Voltage : “);
Serial.println(val1);
Serial.print(” Brightness : “);
Serial.println(val2);

return vale_data;

}

uint32 check(int channel) {
uint8 cmd = (0b11 << 3) | channel;

const uint32 COMMAND_LENGTH = 5;
const uint32 RESPONSE_LENGTH = 12;

uint32 retval = spi_transaction(HSPI, 0, 0, 0, 0, COMMAND_LENGTH, cmd, RESPONSE_LENGTH, 0);

retval = retval & 0x3FF; // mask to 10-bit value

return retval;
}

[/html]

こんな感じ。。。

多くのネットの諸先輩方の献身的な情報公開によってSPIの接続のとこをはちょっと悩みましたけど。。。

なんとか動きました!!!

 

この情報で取得した結果は、前回同様!!

http://norisuke.servehttp.com/denatsu-graph.html に公開してますんで見てみてね!

 

 

いやー大変やった!ソーラーセルをつなぎ合わせてソーラーパネルをDIYしてみた!

ここ最近、日本列島のいろんなところで頻繁に地震が起きているようで、今度こそ首都圏に大きな地震が来そうな気配。。。

ちょっと前に起こった東日本大震災の時には、東京の赤坂から二子玉川まで4時間くらいかけて徒歩で帰宅したことを思いつつ、何か準備しときゃなきゃという思いはあるものの、何をしなきゃいかんのかというのがイマイチぴんとこない・・・

 

そんななか、今やスマホなどの携帯電話などの通信手段は必要不可欠な時代であり、万一の停電の時でも、このデバイスを最低限、稼働させるための電源の確保ができればそれなりに、情報収集ができてそれなりの対応ができるだろうということで、そのための電源確保しようと考えた!

そこで、今回は自然エネルギーである太陽光を利用して、最低限の電気エネルギーを確保するための、ソーラーパネルを利用した電気エネルギー蓄積システムを自作してみた。。。。

 

ちょうど、デサルフェーターの実験用に残しておいたクルマのバッテリーもあるし、これを利用して、ソーラーパネルを利用して常に充電しておけば、万一の時に電源として使えそうですしね。。。

これを使っちゃいましょう!

 

そんな安易な計画で、まずはソーラーパネルを調達することに。。。

 

でも、それなりの発電量を持ったソーラーパネルは結構なお値段。。。。

クルマのバッテリーをそれなりに充電するためには、最低でも40W程度の発電量が必要で、これのパネルの価格を調べてみると、どれもこれも10,000円クラス。。。

貧乏なサラリーマンの小遣いとしてはこの10,000円は高嶺の花です。。。

そんな高価なものをいきなり調達して検証失敗の結果であれば、エンジニアとしては悔しくて仕方ないので、今回は、安く調達して実験してみることを優先する方針でいろいろ調べてみた。。。

そうすると。。。

40Wクラスのソーラーパネルは、完成品でなければ、日本円にして約3000円くらいで中国から調達ができることが分かった!

でも、これは完成品ではなく、36枚の太陽電池セルがバラバラになった状態のもので、これを直列にはんだ付けしてつなぎ合わせて、18Vを作るというDIY製品!

まぁ、電子工作はしょっちゅうやってるんで、はんだ付けなんて問題なしと思って、これは安いということで、ポチってみました。。。

(以下のバナーで solar panel diy で検索すればいっぱい出てきます!)


 

(楽天だとこんなのもありました。。。)

 

>太陽光パネル 太陽光発電 ソーラー学習セット 太陽電池を気軽に体験♪ソーラー発電 ソーラー電池 【02P03Dec16】

価格:3,780円
(2017/2/20 19:05時点)
感想(31件)

発注から約1カ月で中国からようやく来ました!

cimg2034

こんな感じで結構、丁寧な梱包で到着!

ここ最近の中国の運送業界はひどくて、荷物を投げまくって仕分けするなんてことが当たり前のようで、少々心配してましたが、無事到着しました!

発注後に知ったんですが、中国の運送業界の実態はこんな感じみたいです!

https://www.youtube.com/watch?v=TJMoqnc_V-E

もー投げる投げる!!! でもけっこういいコントロールしてます! こんな状態で無事届いたのは奇跡としか言いようがいないっすねー!!

cimg2035

一応は、こんな表示があるんですけど、あの様子を見てるとこんなもんは全く意味をないしてないような気がします。。。

 

とりあえず、開けてみると。。。

cimg2036

こんな感じ!

奇跡ながら全量無事につきました!

 

セルは40枚! 当然全部バラバラ!

このセルは2インチ×6インチのサイズで、1セルあたりの電圧は0.5Vで電流は最大で2.2Aを発電するようです。。。

これを36枚、直列につないで、電圧は、0.5V×36枚で18Vで、電流は2.2Aなので、約40Wの発電をするってことなんですね・・・

 

これに、各セルをつなぎ合わせるタブ線とバス線、はんだ乗りを良くするためのフラックスペンがついてます。。

 

いよいよ、このセルを直列につなぎ合わせていくわけですが。。。

これが大変!!!!!!!

もー大変です!

大変!ってのは、とにかくセルは薄いこと!

例えるなら。。。

 

カルビーのポテトチップの上ではんだ付けしていくようなもの!!!!!

 

ちょっと気が抜けて、油断すれば。。。。

cimg2044

こんな状態。。。

割れまくります。。。

ソーラーセルのはんだ付けは超高度な技術を要します。。。

ちょっとしたはんだの段差でも割れまくります。。。

はんだ付けは結構、自信があったんですけど。。。凹みまくりです。。。。とほほ。。。

40枚のセットだったんで、18Vを作るためには、36枚が必要で、割ってもいい許容枚数はたった4枚!

ますますプレッシャーがかかります。。。。

 

格闘すること約4時間!!!!

 

なんとか、終わりました。。。

ちょっと無理な体勢ではんだ付けを余儀なくされたため、足腰が激痛です。。。

cimg2037

こんな感じで、組んでみた。。。

900mm × 450mm の合板の上に 1列あたり8セルを並べ、これを4列で、32セル

これと4セルを足して合計36セル!

 

これに、セルが割れないように周囲に30mmの高さのゲタを乗せて、セルの上下段にもゲタをかまして、その上に、0.5mm厚の透明PET樹脂を乗せて保護してます。。。

0.5mm厚だと薄いかなーと思ってたけど、ゲタのおかげで結構いい感じに強度が保てました。

 

いよいよこれで発電量を測ってみると。。。

cimg2039

おーーーーーー!!!!

今日はいいお天気だったんで、定格の18Vを上回る20Vを発電してます!!!

こりゃ期待できます!!!!

 

cimg2043

これに、レギュレーターを付けます。。。

これも中国からの輸入です。。。

このレギュレーターなんとMPPT方式です!

(MPPT:https://ja.wikipedia.org/wiki/%E6%9C%80%E5%A4%A7%E9%9B%BB%E5%8A%9B%E7%82%B9%E8%BF%BD%E5%BE%93%E5%88%B6%E5%BE%A1 )

国内で買えば3000~5000円位なんですけど、800円で調達しました。。。

(もう電子部品関係では、中国にはかないませんね。。。)

cimg2042

バッテリーとソーラーパネルをつないで、一応、ちゃんと充電しているようです。。。安心安心。。。。

cimg2040

完成した全景がこんな感じ。。。

まぁなんとかできました。。。

これから、テスト運用をしてみましょうかね。。。。

どんな感じになるかは乞うご期待のほど。。。。

 

でも、今回、セルのつなぎ合わせからのDIYでソーラーパネルを作ってみましたが、良く分かったことがあります。。。。

それは。。。

 

素人がソーラーパネルのDIYでやってもハンパなく手間がかかる!

こんだけの破損率があれば、それなりの値段がするのはよくわかった!

でもこんだけの苦労を考えたら、ハナから完成品を買ったほうが全然いい!

ほーら!

 

>ソーラーパネル40W

価格:10,000円
(2017/2/20 19:09時点)
感想(0件)

 

この分野は難易度が高すぎです!

ソーラーパネルはすぐ割れるんで、割れてもいい許容量を超えてしまうとタダのゴミにしかなりません!

こどもの教育用にはDIYはいいですけど、実用を考えたときには、絶対に完成品を調達したほうがいい!ってことを実感です。。。

 

もう二度とソーラーパネルの自作はしないっす!

でも、いい勉強になって、おもしろかったけどね!

なので、やっぱり、またやるかもしれないっす!