Uutiset:

Ei uusia uutisia.

Main Menu

Aurinkopaneelit

Aloittaja weatherc, maanantai, 08.10.2012, 19:40

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Yläpään lukemia (siis 400+ aurinkowattia) saadaan odottaa kevääseen koska ei Silkeborgissakaan päästä kun johonkin 500 wattiin aurinkoisella kelillä tällä hetkellä  ;)

Tuo kaava pikaisena php-versiona jolle syötetään aurinkoteho ja ulos tulee paneelin teho:

function solarpower($raw){
if($raw<10){return 0.0;}
elseif($raw <15){return $raw * 3.2;}
elseif($raw <20){return $raw * 3.3;}
elseif($raw <25){return $raw * 3.4;}
elseif($raw <30){return $raw * 3.5;}
elseif($raw <35){return $raw * 3.6;}
elseif($raw <40){return $raw * 3.7;}
elseif($raw <45){return $raw * 3.8;}
elseif($raw <50){return $raw * 3.9;}
elseif($raw <55){return $raw * 4;}
elseif($raw <60){return $raw * 4.1;}
elseif($raw <65){return $raw * 4.2;}
elseif($raw <70){return $raw * 4.3;}
elseif($raw <75){return $raw * 4.4;}
elseif($raw <90){return $raw * 4.5;}
elseif($raw <110){return $raw * 4.6;}
elseif($raw <130){return $raw * 4.7;}
elseif($raw <150){return $raw * 4.8;}
elseif($raw <180){return $raw * 4.9;}
elseif($raw <210){return $raw * 5.0;}
elseif($raw <240){return $raw * 5.1;}
elseif($raw <270){return $raw * 5.2;}
elseif($raw <300){return $raw * 5.3;}
elseif($raw <330){return $raw * 5.4;}
elseif($raw <360){return $raw * 5.5;}
elseif($raw <390){return $raw * 5.6;}
elseif($raw <400){return $raw * 5.7;}
elseif($raw <400){return $raw * 6.5;}
else {return $raw * 6.5; }
}

Pitkä siitä funktiosta tulee joka tapaukesessa jollei sitten pikkaseen siivoa sitä että hypyt ovat esim 0.2 eikä 0.1 kuten nyt. Tuloksissa ero lienee aika marginaalinen loppujen lopuksi. Loppupään (350+) lukemat odottaa lisää dataa jota Silkeborg lupasi nappailla pystyttäessä.

Jollei muuta niin tuota voi käyttää "realtime" mittariin jossa paneelin tehot koska Daviksen aurinkolukema päivittyy paljon useammin kuin tuo vartin välein päivittyvä csv-filu webboxilta :)

systeemi

#31
Tällä mennään näillä näkymin.


(alustava polynominen )

y = 0.0069x2 + 3.3317x + 8.2859

x= auringonteho ja y saatava voimalateho

(suoran yhtälö)

y= 6,2817*x-159,37

ps. Jos aikoo käyttää yhtä kaavaa aivan optimaalista siitä ei saa. Näillä pitäisi olla heitto n. +-5%
Sääasema Nauska, Kemi

www.kemiweather.fi

WeatherFox

Lainaus käyttäjältä: weatherc - perjantai, 19.10.2012, 12:54
Yläpään lukemia (siis 400+ aurinkowattia) saadaan odottaa kevääseen koska ei Silkeborgissakaan päästä kun johonkin 500 wattiin aurinkoisella kelillä tällä hetkellä  ;)

Tuo kaava pikaisena php-versiona jolle syötetään aurinkoteho ja ulos tulee paneelin teho:

function solarpower($raw){
if($raw<10){return 0.0;}
elseif($raw <15){return $raw * 3.2;}
elseif($raw <20){return $raw * 3.3;}
elseif($raw <25){return $raw * 3.4;}
elseif($raw <30){return $raw * 3.5;}
elseif($raw <35){return $raw * 3.6;}
elseif($raw <40){return $raw * 3.7;}
elseif($raw <45){return $raw * 3.8;}
elseif($raw <50){return $raw * 3.9;}
elseif($raw <55){return $raw * 4;}
elseif($raw <60){return $raw * 4.1;}
elseif($raw <65){return $raw * 4.2;}
elseif($raw <70){return $raw * 4.3;}
elseif($raw <75){return $raw * 4.4;}
elseif($raw <90){return $raw * 4.5;}
elseif($raw <110){return $raw * 4.6;}
elseif($raw <130){return $raw * 4.7;}
elseif($raw <150){return $raw * 4.8;}
elseif($raw <180){return $raw * 4.9;}
elseif($raw <210){return $raw * 5.0;}
elseif($raw <240){return $raw * 5.1;}
elseif($raw <270){return $raw * 5.2;}
elseif($raw <300){return $raw * 5.3;}
elseif($raw <330){return $raw * 5.4;}
elseif($raw <360){return $raw * 5.5;}
elseif($raw <390){return $raw * 5.6;}
elseif($raw <400){return $raw * 5.7;}
elseif($raw <400){return $raw * 6.5;}
else {return $raw * 6.5; }
}

Pitkä siitä funktiosta tulee joka tapaukesessa jollei sitten pikkaseen siivoa sitä että hypyt ovat esim 0.2 eikä 0.1 kuten nyt. Tuloksissa ero lienee aika marginaalinen loppujen lopuksi. Loppupään (350+) lukemat odottaa lisää dataa jota Silkeborg lupasi nappailla pystyttäessä.

Jollei muuta niin tuota voi käyttää "realtime" mittariin jossa paneelin tehot koska Daviksen aurinkolukema päivittyy paljon useammin kuin tuo vartin välein päivittyvä csv-filu webboxilta :)

Koodihan lyhenisi jos noihin tasaisin välein muuttuviin arvoihin sovittasi funktion. Esimerkiksi tuossa välillä 15-75 se näyttäisi olevan ($raw/50)*($raw+145). Samoin sovitus noille 20 ja 30 väleille niin päästään 3 rivillä tuota elseif -rakennetta eikä tarvita tuota kaikkea 27 riviä.

weatherc

LainaaKoodihan lyhenisi jos noihin tasaisin välein muuttuviin arvoihin sovittasi funktion. Esimerkiksi tuossa välillä 15-75 se näyttäisi olevan ($raw/50)*($raw+145).
Lyhenis, lyhenis. Jos osais tuon tehdä ;D
Toisaalta tuo pidempi on helpompi debugata :)

systeemi

Lainaus käyttäjältä: weatherc - perjantai, 19.10.2012, 18:34
LainaaKoodihan lyhenisi jos noihin tasaisin välein muuttuviin arvoihin sovittasi funktion. Esimerkiksi tuossa välillä 15-75 se näyttäisi olevan ($raw/50)*($raw+145).
Lyhenis, lyhenis. Jos osais tuon tehdä ;D
Toisaalta tuo pidempi on helpompi debugata :)


eläs hätäile tässä kun pikkuisen on tätä insinööripornoa, niin etsin sopivaa lauseketta. Seuraavaksi on ajatus jakaa tuo ainakin kolmeen eriosaa jolloin sen saa kolmella suoranyhtälöllä. Tarkuudenkin luulisin olevan riittävä jo siinä versiossa.


Sääasema Nauska, Kemi

www.kemiweather.fi

systeemi

Lainaus käyttäjältä: systeemi - perjantai, 19.10.2012, 18:52



eläs hätäile tässä kun pikkuisen on tätä insinööripornoa, niin etsin sopivaa lauseketta. Seuraavaksi on ajatus jakaa tuo ainakin kolmeen eriosaa jolloin sen saa kolmella suoranyhtälöllä. Tarkuudenkin luulisin olevan riittävä jo siinä versiossa.



Tästä sitten ifelse sen mukaan mikä on aurinkoteho.

0-90w

y= 4,8080838323*x-31,6691616766

100-390w

y= 6,003202847*x-162,9033214709

400-1000w (tässä niin vähän dataa että....)

y = =3,1393674103*x+1360,9149957639

Sääasema Nauska, Kemi

www.kemiweather.fi

weatherc

Hep :)

Tarkuudeksi, onko se

y= (4,8080838323*x)-31,6691616766

vai
y= 4,8080838323*(x-31,6691616766)

? :P


systeemi

Lainaus käyttäjältä: weatherc - perjantai, 19.10.2012, 19:35


oikea!

y= (4,8080838323*x)-31,6691616766



Laskusäännöissä ensin kertolasku sitten jako-, plus ja sitten miinus-laskut
Sääasema Nauska, Kemi

www.kemiweather.fi

weatherc

LainaaLaskusäännöissä ensin kertolasku sitten jako-, plus ja sitten miinus-laskut
Jeesh, php:lle täytyy vaan vääntää ne rautalangasta ettei laske väärin päin.
Muuten, jos php:tä tai js:ää käyttää niin komma pitää vaihtaa pilkuksi muute tulee erroria sivu täyteen ;)

systeemi

Lainaus käyttäjältä: weatherc - perjantai, 19.10.2012, 20:11
LainaaLaskusäännöissä ensin kertolasku sitten jako-, plus ja sitten miinus-laskut
Jeesh, php:lle täytyy vaan vääntää ne rautalangasta ettei laske väärin päin.
Muuten, jos php:tä tai js:ää käyttää niin komma pitää vaihtaa pilkuksi muute tulee erroria sivu täyteen ;)

Niinhän toi on tuon PHP:n kanssa kun sitä kolmiomittaustakin laskeskelin.
Sääasema Nauska, Kemi

www.kemiweather.fi