Posts Tagged ‘バッテリー’
古いバッテリーを再生する???本当か?デサルフェーターを試してみる!!!
以前よりかなり気になっていたデサルフェーターなるもの!!!
クルマのバッテリーに使われている鉛蓄電池を長期使用可能にするといったものであったり、劣化した状態のモノを復活させるといったようなことを可能にするよいうもんですな。。。
Alastair Couperさんという方が、ずいぶん以前に実証実験されてそれなりに効果があったということで、電子工作に詳しい方々がいろんな改良を加えて亜種が巷で発生してますね。。。
そもそも、鉛蓄電池というものは、充電しているときではない状態(放電中ですね)では、電極の鉛に結晶ができてしまう状態となって、それが電池そのものの容量を減少させてしまう原因となってしまう性質なようです。。。
これをサルフェーションようで、この結晶を電気的な衝撃によって破壊して、元の状態に戻すための装置をデサルフェーターとか、パルサーとかいうようです。。。
(小生は高校生の時は化学が得意で、高校生の3年間の定期試験で唯一、100点をとった科目ではあるものの、今となっては、なんの役にはたってないですね。。。)
小生は、毎日のようにクルマにはお世話になっているので、E51エルグランド君のバッテリーは、あまりこのサルフェーションというような状態にはならないとは思えるものの、以前に作成した自作ソーラーパネルで使用しているバッテリーは、太陽光が当たっていない夜間は、ぜんぜん充電されないんで、ほぼ放電状態となり、サルフレーションは当然ながら発生してしまうんですよね。。。
ということいで、今回は、ソーラーパネル用のバッテリーのデサルフェーターを作ろうととりあえず計画してみた。。。
ネット先人の情報を集めて、いざ製作してみようと部品を探してみると。。。。
この仕組みの肝である、電力を集めていっきに吐き出す役割のコイルがどうやっても入手できません。。。
ネットの情報なんかでは、いろんなバージョンがあるようで、トロイダルコイルで9A1000uHを使ってなんてものもありましたが、とても、おなじみの秋葉原の秋月でも町田のサトー電気でもそんな規格のモノは入手できず。。
さらにいろいろネット情報で調べるも、いろんなバージョンがあってもう訳がわかりません。。。。ホンマに効果のあるバージョンってどれなんやろか。。。さっぱりわかりまへん。。。
基本的な動作原理は、一定周期でパルスを発生させて、そのパルスに続く余韻(?)で、固着したサルフェーションを溶解して元の希硫酸に還元させるってことなんでしょな。。。
その還元させるためのパルスがどのくらいの周期でどのくらいの電圧で与えればいいのかってことで、いろんなバージョンがあるってことなんでしょう。。
まぁいづれにせよ、この手のモノのノウハウは全くと言っていい程、ないので、なんか実績のあるものを元にいろいろと改良をした方が、この手のモノを理解できる早道かと思い、いつもの中国のaliexpressで完成品があるか調べてみました。。。。
やっぱりあるもんですね。。。
Alastair Couperさんのオリジナル回路に近いものが製品化してるようです。。。
っで、入手してみたのがこれ!
US$で10$弱くらいなんで、日本円にして1000円ちょっと!
(上記のバナーをクリックして検索条件に”desulfator”と入力すれば出てきますよ!!!)
これなら、部品集めのためにアキバへ行ったり、秋月の送料払ってたりするより安いんで、まずはこれを買ってみました。。
ホンマに効果があるかもわからんですしね。。
そんで、以前に作ったソーラーパネルに。。。。
(製作した時の記事はこちら いやー大変やった!ソーラーセルをつなぎ合わせてソーラーパネルをDIYしてみた! )
繋がってるバッテリーにつないでみました。。。
こんな感じ。。。。
これも2年間くらい充電もしてないような放置状態でしたが。。。。
いちおうは、端子間電圧で13.14V!!!
まぁお日様が結構当たってるときやったから、まぁまぁ発電してる状態だったんでね。。。ええかんじやったんかね。
つないだら、コイルから発生するキーンっていう高周波な音がして動作してるんやなーって感じです。。。
念のために比重を計ってみるのと電極の状態をみてみると。。。
>【照明・電工関連】 AP バッテリーハイドロメーター [アストロプロダクツ・ASTROPRODUCTS] 価格:518円 |
プラス側から1番目は。。。
全然イケるやん!!!あんまりサルフレーションないカモね、、、
2番目は。。。。。。
おっ!これはギリギリってとこの比重!!!
電極の見た目は特にサルフレーションはないみたいやけどなー
3番目は。。。
これもなかなかええ感じ。。。
これも、電極の見た目は特にサルフレーションはないみたい。。。。
4番目は。。。。。
これもなかなかええ感じ。。。
これも、電極の見た目は特にサルフレーションはないみたい。。。。
5番目は。。。
これもなかなかええ感じ。。。
これも、電極の見た目は特にサルフレーションはないみたい。。。。
最後!6番目。。。。
まぁこれも大丈夫かな。。。
ということで、バッテリー自体は特に問題はなさそう。。。
でも、太陽電池で充電してることもあるので、太陽光が無い夜間は放電してしまうんで、とりあえずデサルフェーターつけときゃサルフレーションはつかないかな。。。。
まぁしばらくつけといてどうなるか観察してみよー!!!
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 に公開してますんで見てみてね!