カムロボをソーラーパネルで急速充電!JavaScriptで対応する鉛とニッケル水素バッテリー

Radishのバッテリー充電に味をしめ、

次はカムロボを充電。

// Charge Controller Ni 0.2
ana(5);ana(6); //OUT1,2 to ana

var Vmax=1900*4;  //mV
var Vblk=1350*4;  //mV
var Imax=2000*1;  //mA
var Nstp=6;       //times

function getVs(){
 var r=0;
 var i=32;

 while(i){
  r=r+(ana(5)*3300*10/1023);
  i=i-1;
 }

 return r/32;
}

function getVb(){
 var r=0;
 var i=32;

 while(i){
  r=r+(ana(6)*3300* 5/1023);
  i=i-1;
 }

 return r/32;
}

function getI(){
 var r=0;
 var i=32;

 while(i){
  r=r+(ana(2)*3300*10/1023);
  i=i-1;
 }

 return r/32;
}

// Bulk
function onChrgB(){
 log("[B]");
 var Vs=getVs(); log("Vs:",Vs," ");
 var Vb=getVb(); log("Vb:",Vb," ");
 var I =getI();  log( "I:", I," ");

 if( (Vb<Vmax)*(I<Imax) ){
  d=d+1; if(100<d)d=100;
 }else{
  d=d-1; if(d<0)d=0;
 }
 log("d:",d,"\n");

 pwm(4,d);led(1);
}

function onChckB(){
 pwm(4,0);led(0);
 sleep(1500);

 var Vb=getVb(); log("(B)Vb:",Vb,"\n");
 if(Vb<=vl) sc=sc-1;
 vl=Vb;

 if( sc ) return onChrgB;
 return onChrgF;
}

// Float
function onChrgF(){
 pwm(4,0);led(0);
}

function onChckF(){
 pwm(4,0);led(0);
 sleep(1500);

 var Vb=getVb(); log("(F)Vb:",Vb,"\n");
 sc=Nstp;
 vl=Vb;

 if( Vb<Vblk ) return onChrgB;
 return onChrgF;
}



// main
pwmt(100);
var d=0;          //PWM duration
var m=0;          //charge mode
var c=onChckF;    //check mode
var vl=0;         //last Vb
var sc=Nstp;      //stop count

while( m=c() ){
 var t=tick();
 while( tick()-t < (1000*10) ){
  m();
  if( inkey() + btn() ){pwm(4,0);led(0);sleep(1000);exit(1);}  // for DBG
 }

 if(m==onChrgB) c=onChckB;
 if(m==onChrgF) c=onChckF;
}

pwm(4,0);led(0);

チャージコントローラーのプログラム(IchigoLatte JS)はNiMh用に作り直してこんな感じ。鉛バッテリーとは充電時の挙動が違います。

ネオチャンプ4本をカムロボに積んだまま急速充電、快晴なら同時に3台( 12本)を30分で満タン、これならイベント会場で無限に走れる!

こいつ1つでなんでも充電できちゃう?プログラミングって面白いっ!

もしやられる方は電気の扱いに十分にお気をつけください!!!

なにかの間違いにより火災などに至る可能性があります。










.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s