Uživatelské nástroje

Nástroje pro tento web


tristar-mppt-60-pod-openwrt
no way to compare when less than two revisions

Rozdíly

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


Předchozí verze
Následující verze
tristar-mppt-60-pod-openwrt [2012/04/17 21:05] drama
Řádek 1: Řádek 1:
 +====Ukládání a vizualizace dat z regulátoru Morningstar Tristar MPPT 60 pod OpenWRT====
 +
 +===Požadavky na hardware===
 +  * regulátor Morningstar Tristar MPPT 60
 +  * router, na kterém běží Linuxová distribuce OpenWRT (nejlépe s USB a rozumným množstvím paměti např. Linksys WRT 160-NL) - viz http://wiki.openwrt.org/toh/start
 +
 +===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
 +  * 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
 +  * 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>
 +opkg update
 +opkg install collectd collectd-mod-modbus collectd-mod-csv</code>
 +  * upravíme konfigurační soubor /etc/collectd.conf<code>BaseDir     "/var/lib/collectd"           
 +PIDFile     "/var/run/collectd.pid"       
 +
 +# data ukládat každých 120 sekund, není-li specifikováno jinak
 +Interval    120       
 +ReadThreads 2
 +
 +# nahrajeme používáné moduly
 +LoadPlugin modbus
 +LoadPlugin csv
 +
 +# kam ukládat data, v tomto případě do /tmp/csv
 +<Plugin "csv">        
 +  DataDir "/tmp/csv"  
 +  StoreRates true     
 +</Plugin>
 +
 +# definice vyčítání dat z regulátoru, adresy dle dokumentace na stránkách výrobce
 +<Plugin modbus>                                      
 +<Data "voltage-input-1">                             
 +  RegisterBase 0x018                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "voltage-battery"                      
 +</Data>                                           
 +                                                  
 +<Data "voltage-input-2">                          
 +  RegisterBase 0x01b                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "voltage-array"                        
 +</Data>                                           
 +                                                  
 +<Data "current-input-1">                          
 +  RegisterBase 0x01c                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "current-battery"                      
 +</Data> 
 +
 +<Data "kwh-input-1">                                 
 +  RegisterBase 0x039                                 
 +  RegisterType Uint16                                
 +  Type voltage                                    
 +  Instance "kwh-total"                            
 +</Data>                                           
 +                                                  
 +<Data "temp-input-1">                             
 +  RegisterBase 0x023                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "temp-chladic"                         
 +</Data>                                           
 +                                                  
 +<Data "temp-input-2">                             
 +  RegisterBase 0x025                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "temp-battery"                         
 +</Data>        
 +
 +<Data "wh-input-1">                                  
 +  RegisterBase 0x044                                 
 +  RegisterType Uint16                                
 +  Type voltage                                    
 +  Instance "wh-daily"                             
 +</Data>                                           
 +                                                  
 +<Data "wh-input-2">                               
 +  RegisterBase 0x03A                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "power-output"                         
 +</Data>                                           
 +                                                  
 +<Data "charge-input-1">                           
 +  RegisterBase 0x032                              
 +  RegisterType Uint16                             
 +  Type voltage                                    
 +  Instance "charging-state"                       
 +</Data>              
 +
 +<Data "charge-input-2">                              
 +  RegisterBase 0x033                                 
 +  RegisterType Uint16                                
 +  Type voltage                                    
 +  Instance "target-voltage"                       
 +</Data>
 +<Host "modbus">
 +   # IP adresa regulátoru                                   
 +   Address 192.168.1.100
 +   # interval ukládání                          
 +   Interval 60                                    
 +                                                  
 +   <Slave 0x01>                                   
 +      Collect  "voltage-input-1"                  
 +      Collect  "voltage-input-2"                  
 +      Collect  "current-input-1"                  
 +      Collect  "kwh-input-1"                      
 +      Collect  "temp-input-1"                     
 +      Collect  "temp-input-2"                     
 +      Collect  "wh-input-1"                       
 +      Collect  "wh-input-2"                       
 +      Collect  "charge-input-1"                   
 +      Collect  "charge-input-2"                   
 +      Instance "tsmppt"                           
 +   </Slave>                                       
 +</Host>                                           
 +</Plugin>
 +</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 vytvoříme v /tmp/www (viz definice výše) zavoláním ze skriptu<code>#!/bin/sh
 +DATE=$(date "+%s")
 +if [ $DATE -lt 1300860001 ]; then
 +  exit;
 +fi
 +gnuplot -e "DATUM=\"$DATUM\"" /root/grafy.gpt 2>/dev/null
 +</code>
  
tristar-mppt-60-pod-openwrt.txt · Poslední úprava: 2012/04/18 03:15 autor: 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki