太陽電池に日光を当て、充電実験しました。
回路
DELCの電圧測定部に回路に間違いを見つけたので修正しました。
(誤)IO33=LOWの時 V32=V(DELC) 、IO33=HIGHの時V32=V(DELC)/2
(正)IO33=LOWの時 V32=0V 、IO33=HIGHの時V32=V(DELC)/2
プログラム
measure_Vc2(33,32)で、EDLCの電圧(=充電量)を測定し、WiFi経由でサーバへデータ送信します。
void loop(){ int YN_Wifi; bootCounter ++ ; measure_Vc2(33,32); if(Vc>0){ //<---過放電保護 t1=millis(); YN_Wifi = setupWiFi2(); t2=millis()-t1; } temp=25.0; humid=50.0; pressure=980.0; lux=10000; v1=Vc; v2=bootCounter; v3=0.0; v4=0.0; mk_String2(); if(YN_Wifi==1) Post2(); if(YN_Wifi==1) WiFi.disconnect(); DeepSleep(); delay(1000); }
関数 measure_Vc2(33,32)
32ピンの電圧(=EDLCの1/2)を測定します。
測定している間だけ抵抗に電流を流すため、33ピンでフォトダイオードで制御します。(1)式は補正係数の見直しが必要です。
void measure_Vc2(int Dout, int Ain){ digitalWrite( Dout, HIGH ); delay(100); int A32 = analogRead(Ain); digitalWrite( Dout, LOW ); Vc = (long)A32 * 3.3 / 4096 * 3.63; //<---(1) Serial.print("Vc="); Serial.println(Vc); }
結果 DBrowser
10時から30分間の日照で充電しました。到達電圧は4.15V。
その後曇って放電したのですが、30分で3.6Vまで放電しました。けっこう放電が早くて驚きました。改善しないと使い物になりません。。。