Stránka 2 z 2

Re: Arduino + SD logger + web browser

Napsal: sob kvě 09, 2015 10:11 am
od kodl69
nejlepší je měřit přímo proud do baterie + je +soc a - je -soc. Problém je měření malých proudů po velkou dobu, takže 120mA co mi udává ACS758 někdy + a někdy - podle počasí, to zcela zlikviduje vypočtenou kapacitu za pár dní. Další problém je nastavení kapacity aku a reset pro 0 a 100procent. Podle čeho to určit? Midnite to má při přechodu z bulk do float - ale když napětí zvýším o pár desetin voltu, nacpu do baterek dalších x ah... Naopak při vybíjení už několikrát ukazoval 0 Ah , baterky držely napětí a měřák šel 15Ah do mínusu, než došla šťáva.. (potom trvalo, než se dostal zpátky na 0). Tohle řešila VATA, zkus jí napsat sz, třeba to pustí, a nebude to tutlat jako knowhow....

Re: Arduino + SD logger + web browser

Napsal: ned kvě 10, 2015 8:58 pm
od vata
Já nic netutlám :) Ten princip výpočtu SOC je úplně jednoduchý, mám jej i v dokumentaci k VALCu. Základ je měřit veškerý provoz baterie a napsat si prom. akumulátoru ah. A pak je nutné implementovat detekci plného nabití, což já osobně přenechala regulátoru, resp. osbluze - můj program jednoduše číhá na pokles na float po absorpci, komplikované je to o absorpční čas. A dole se čeká na podkročení nějakého kritického napětí, a pak se vyhlásí 0 SOC. U lithia to funguje uspokojivě.
Problém kumulace nepřesností při měření malých proudů v delším časovém úseku, kdy nedošlo k události plného nabití / vybití, to není problém SW ale kalibrace. Dalo by se to zušlechtit nějakou periodickou rekalibrací SOC podle napětí ze statistických dat SOC/U, ale podle už dvouleté zkušenosti si myslím, že obsluha to zvládne jednodušeji a přesněji.
Další potíž při výpočtu SOC je znalost reálné kapacity baterie. Co provozuju VALC, ještě jsem nevybila, takže jediné co umím říct, že kapacita je víc než o 10% vyšší než ta papírová. U lithia to tedy není problém - stačí se odpíchnout od té nominální a výsledné chování bude pesimističtější než realita, což je dobře. U olova to může být jinak, tam asi neuškodí dělat občasně kapacitní zkoušky a přízpůsobit tomu i SW, aby nechal baterky úplně vybít.
Celý smysl výpočtu SOC spočívá v omezování hloubky cyklů a ve včasném odpojení baterie tak, aby v ní zůstala železná rezerva pro případ výpadku DS, a tohle mi můj SW splňuje na jedničku a kupodivu k tomu není potřeba mít SOC změřené úplně přesně.

Re: Arduino + SD logger + web browser

Napsal: pát kvě 22, 2015 10:00 pm
od rottenkiwi
Viete mi niekto poradit ako vygenerovat nasledujuci graf pomocou Arduina
a nahrat ho na SD kartu, aby ho mohol potom server na Arduine zobrazit ?

Re: Arduino + SD logger + web browser

Napsal: sob kvě 23, 2015 11:07 pm
od rottenkiwi
Tak uz sa mi to podarilo, generuje mi to aj mesacny aj hodinovy graf.
Hodinovy takto:

Kód: Vybrat vše

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Temp demo</title>
  <h1>Arduino Page 2</h1>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["line"]});
  google.setOnLoadCallback(drawChart);

 function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Minute', 'U_bat','A_in'],
	['0',0.00,0.00],
-------- sem zadat celu tabulku, napr. vygenerovat ----------
]);

  	var options = {
          width: 3600,
          chart: {
            title: 'Battery Voltage',
            subtitle: 'U_Batt (V) + A_in'
          },
          series: {
            0: { axis: 'volts' }, // Bind series 0 to an axis named 'distance'.
            1: { axis: 'amperes' } // Bind series 1 to an axis named 'brightness'.
          },
          axes: {
            y: {
              distance: {label: 'V'}, // Left y-axis.
              brightness: {side: 'right', label: 'A'} // Right y-axis.
            }
          }
        };
    var chart = new google.charts.Line(document.getElementById('chart_div'));

    chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="chart_div" style="width: 3600px; height: 900px;"></div>
<p>Go back to <a href="index.htm">main page</a>.</p>
</body>
</html>
A mesačný takto:

Kód: Vybrat vše

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Temp demo</title>
  <h1>Arduino Page 2</h1>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);

 function drawChart() {
    var data = google.visualization.arrayToDataTable([
      ['Date', 'PV','Dist. Net'],
-------- sem zadat celu tabulku, napr. vygenerovat ----------
    ]);

    var options = {
      title: 'PV DC Gen. + DN usage (kWh)',
  	legend: { position: 'bottom' },
	bar: { groupWidth: '65%' },
	isStacked: true
    };
    var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
    chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="chart_div" style="width: 1000px; height: 2700px;"></div>
<p>Go back to <a href="index.htm">main page</a>.</p>
</body>
</html>
A ešte som sa 2 hod. trápil, lebo mi Arduino nechcelo načítať súbory
a potom mi zaplo, že tie subory mozu mat max. 8 znakov meno + 3 znaky priponu
inak to nenacita subor.
napr. datalog_p.txt alebo page2_begin.htm to uplne odignoruje a neotvori ho.

Re: Arduino + SD logger + web browser

Napsal: pát črc 03, 2015 1:04 pm
od rottenkiwi
Doplnil som do svojho merania stavu FVE, meranie SOC.
Su to dva riadky kodu pre Arduino.

Ale neviem prepocitať SOC v Ah na kWh,
pretoze, baterka sa vybíja ako je na obr., ale to je jedna z desiatich a ostatne sa vybijaju inou krivkou.

Tiez ako tam zapocitat nameranu kapacitu z kapacitnej skusky na tych grafoch, aka
je kapacita tychto baterii ?

Ako zahrnúť do SOC starnutie batérií, pri roznych teplotách, úrovniach a dĺžke absorbcie
pri danom prúde a equalizáciu ?