Uživatelské nástroje

Nástroje pro tento web


tristar-mppt-60-pod-openwrt

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
tristar-mppt-60-pod-openwrt [2012/04/17 20:42] dramatristar-mppt-60-pod-openwrt [2012/04/18 03:15] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 7: Řádek 7:
 ===Instalace a konfigurace ukládání dat=== ===Instalace a konfigurace ukládání dat===
   * nejprve nainstalujeme na router OpenWRT (např. upgrade přes webové rozhraní, nebo tftp klientem), více informací lze nalézt na http://wiki.openwrt.org/doc/howto/generic.flashing   * nejprve nainstalujeme na router OpenWRT (např. upgrade přes webové rozhraní, nebo tftp klientem), více informací lze nalézt na http://wiki.openwrt.org/doc/howto/generic.flashing
-  * zprovozníme na routeru síť a to jak přístup na internet tak v lokální síti přístup na Morningstar Tristar MPPT 60+  * zprovozníme na routeru síť a to jak přístup na internet tak v lokální síti (tj. přístup na Morningstar Tristar MPPT 60)
   * pokud budeme data ukládat na USB, zprovozníme USB storage dle http://wiki.openwrt.org/doc/howto/usb.storage   * pokud budeme data ukládat na USB, zprovozníme USB storage dle http://wiki.openwrt.org/doc/howto/usb.storage
   * nainstalujeme collectd démona společně s modulem pro modbus a ukládání do CSV (samozřejmě můžeme nainstalovat jakýkoliv jiný backend např. collectd-mod-mysql):<code>   * nainstalujeme collectd démona společně s modulem pro modbus a ukládání do CSV (samozřejmě můžeme nainstalovat jakýkoliv jiný backend např. collectd-mod-mysql):<code>
Řádek 121: Řádek 121:
 </Host>                                            </Host>                                           
 </Plugin> </Plugin>
- 
- 
 </code> </code>
 +   * nakonec restartujeme collectd démona a podíváme se, zda se data ukládají tam kam mají
 +   * jakmile máme data, je třeba z nich vytvořit grafy např. pomocí gnuplotu
 +   * nainstalujeme gnuplot<code>opkg install 
 +gnuplot</code>
 +   * vytvoříme gnuplot skript a uložíme jej jako /root/grafy.gpt (jedná se o grafy pro 24V systém)<code>TZ=7200
 +set terminal png size 700, 450
 +set style fill solid 1.0 noborder
 +set style function filledcurves y1=0
 +set clip two
 +set key top left Left reverse
 +set output '/tmp/www/fv-napeti-proud.png'
 +set xdata time
 +set xlabel " "
 +set ylabel "Napeti [V]"
 +set y2label "Proud [A]"
 +unset grid
 +set grid
 +set datafile separator ","
 +set ytics nomirror
 +set y2tics
 +set timefmt "%s"
 +set yrange [0:45]
 +set y2range [0:45]
 +plot "modbus/modbus-tsmppt/voltage-voltage-array-".DATUM using ($1+TZ):($2/182.04) with lines title "Napeti panelu" axis x1y1, "modbus/modbus-tsmppt/voltage-voltage-battery-".DATUM using ($1+TZ):($2/182.04) with lines title "Napeti baterie" axis x1y1, "modbus/modbus-tsmppt/voltage-current-battery-".DATUM using ($1+TZ):($2 < 50000 ? $2/409.6 : 1/0 ) with lines title "Proud do baterie" axis x1y2
 +set output '/tmp/www/baterie-napeti-kapacita.png'
 +unset y2tics
 +unset y2range
 +set y2range [23.8:29.7]
 +set yrange [23.8:29.7]
 +set y2label "Kapacita baterie"
 +set y2tics ("100%%" 25.4, "90%%" 25.16, "80%%" 24.9, "70%%" 24.72 , "60%%" 24.56, "50%%" 24.4, "25%%" 24.0)
 +set grid y2tics
 +plot "modbus/modbus-tsmppt/voltage-voltage-battery-".DATUM using ($1+TZ):($2/182.04) with lines title "Napeti baterie" axis x1y1, "modbus/modbus-tsmppt/voltage-target-voltage-".DATUM using ($1+TZ):($2 > 20 ? ($2/182.04)+0.015 : 1/0) with lines title "Cilove napeti baterie" 
 +set output '/tmp/www/fv-energie.png'
 +unset y2tics
 +unset yrange
 +unset grid
 +set grid
 +set y2label "Vykon [W]"
 +set y2tics
 +set ylabel "Energie [Wh]"
 +set yrange [*: *]
 +set y2range [*: *]
 +plot "modbus/modbus-tsmppt/voltage-power-output-".DATUM using ($1+TZ):($2/9.1007) with lines title "Vykon dodavany z FV" axis x1y2, "modbus/modbus-tsmppt/voltage-wh-daily-".DATUM using ($1+TZ):2 with lines title "Energie dodana z FV za den" axis x1y1
 +</code>
 +  * grafy se vytvoří v /tmp/www (viz definice výše) zavoláním ze skriptu<code>#!/bin/sh
 +cd /tmp/csv/
 +DATE=$(date "+%s")
 +if [ $DATE -lt 1300860001 ]; then
 +  exit;
 +fi
 +gnuplot -e "DATUM=\"$DATUM\"" /root/grafy.gpt 2>/dev/null
 +</code>
 +  * výše uvedený skript můžeme rozšířit o generování jednoduché HTML stránky (opět příklad pro 24V systém)<code>
 +WWW=/tmp/www/index.html
 +CAS=$(date +%H.%M)
 +DATUM=$(date "+%Y-%m-%d")
 +WH_DAILY=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-wh-daily-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g')
 +KWH_TOTAL=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-kwh-total-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g')
 +CHRG_STATE=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-charging-state-$DATUM | sed 's/.*,//g')
 +CHRG_STATE=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-charging-state-$DATUM | sed 's/.*,\(.*\)\.0000.*/\1/g')
 +U_BAT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-voltage-battery-$DATUM | sed 's/.*,//g')
 +I_BAT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-current-battery-$DATUM | sed 's/.*,//g')
 +U_TAR=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-target-voltage-$DATUM | sed 's/.*,//g')
 +P_OUT=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-power-output-$DATUM | sed 's/.*,//g')
 +U_ARR=$(tail -1 /tmp/csv/modbus/modbus-tsmppt/voltage-voltage-array-$DATUM | sed 's/.*,//g')
 +U_ARRAY=$(echo "scale=2; $U_ARR / 182.04" | bc | sed 's/^\./0./g')
 +U_TARGET=$(echo "scale=2; $U_TAR / 182.04" | bc)
 +U_BATTERY=$(echo "scale=2; $U_BAT / 182.04" | bc)
 +I_BATTERY=$(echo "scale=2; $I_BAT / 409.6" | bc)
 +P_OUTPUT=$(echo "scale=2; $P_OUT / 9.10" | bc)
 +echo '<html lang="cs" xml:lang="cs" xmlns="http://www.w3.org/1999/xhtml">' > $WWW
 +echo '<meta http-equiv="refresh" content="300;url=index.html">' >> $WWW
 +echo '<head profile="http://gmpg.org/xfn/11">' >> $WWW
 +echo '<title>Měření</title>' >> $WWW
 +echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' >> $WWW
 +echo "Napětí baterie: <b>$U_BATTERY V</b><br />" >> $WWW
 +echo "Cílové napětí baterie: <b>$U_TARGET V</b><br />" >> $WWW
 +echo "Nabíjecí proud baterie: <b>$I_BATTERY A</b><br />" >> $WWW
 +echo "Napětí panelů: <b>$U_ARRAY V</b><br />" >> $WWW
 +echo "Výkon aktuálně dodávaný z panelů: <b>$P_OUTPUT W</b><br />" >> $WWW
 +echo "Dnes vyrobeno energie: <b>$WH_DAILY Wh</b><br />" >> $WWW
 +echo "Celkově vyrobeno energie: <b>$KWH_TOTAL kWh</b><br /><small>Měřeno v $CAS</small>" >> $WWW
 +echo '<p><img src="fv-napeti-proud.png"></p>' >> $WWW
 +echo '<p><img src="teplota.png"></p>' >> $WWW
 +echo '<p><img src="baterie-napeti-kapacita.png"></p>' >> $WWW
 +echo '<p><img src="fv-energie.png"></p>' >> $WWW
 +echo '</body></html>' >> $WWW
 +</code>
 +  * výsledek pak zpřístupníme pomocí HTTP serveru např. nginx nebo lighttpd, více informací lze najít na http://wiki.openwrt.org/doc/howto/http.lighttpd
 +  * příklad funkčního řešení http://postolka.klikva.net/
tristar-mppt-60-pod-openwrt.1334688167.txt.gz · Poslední úprava: 2012/04/18 02:42 (upraveno mimo DokuWiki)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki