- ベストアンサー
太陽電池の計算シミュレーションと実験データの比較
関連するQ&A
- 太陽電池のモデル実験をしたいと思っています。
太陽電池のモデル実験をしたいと思っています。 I = Iph - Is {exp(v/n*Vt)-1} - v/Rsh Iph;光電流、Is;逆方向飽和電流、n;ダイオード因子、Vt;kT/q(k;ボルツマン定数、q;電荷素量、T;絶対温度)、Rsh;シャント抵抗 という方程式を用いて、計算シミュレーションすることで、実験値と比較したいと考えています。 質問は以下です。 方程式を使用して、実際の太陽電池のIV特性を調べるために、その太陽電池の各パラメータが必要になりますが、その測定法がわかりません。 (1)光電流;Iphは太陽電池の端子に電流系を直列に接続し、測定する。で大丈夫でしょうか。 (2)逆方向飽和電流;Ishの測定方法は何もわからないので、どのように測定すれば良いか教えてください。 簡単な質問を。と思うかもしれませんが、インターネット等で調べたつもりですが分かりませんでしたので、初心者ということでよろしくお願いします。
- ベストアンサー
- その他(学問・教育)
- 理想ダイオード因子について
太陽電池の等価回路は左図のようになる。最も単純なモデルでは抵抗成分を無視して、電流源Iph と(理想ダイオードではない)ダイオードのみで表される。抵抗成分を無視した太陽電池の暗電流は、Io を逆方向飽和電流、qを電気素量、Vを電圧、nを理想ダイオード因子、kをボルツマン定数、Tを温度として・・・・・ という文が太陽電池について調べていたら出てきました。 理想ダイオード因子っていったい何ですか? また物理的な意味とかってあります?
- ベストアンサー
- 物理学
- 太陽電池 温度特性
太陽電池の温度特性を計算によって求めたいと思っています。 太陽電池は理論通りだと、温度が上昇すると最大電力は下がっていくはずです。 実際に実験を行うと、温度に比例して最大電力は小さくなっていました。 そして、これを計算によって求めようと思い、下の式にパラメータの値を代入して、 プログラムを組んで最大電力を求めてみました。 その結果、最大電力は温度が上昇するにつれ、上がってしまうというおかしい結果になりました。 実験結果と、シミュレーション結果を比較したいので、理論どおりに行かないシミュレーションでは、 問題があります。 そこで、どのようにすれば、シミュレーションが理論どおりの値を示してくれるでしょうか? 一応使用したプログラムも貼り付けておきます。 よろしくお願いします。 以下、使用した式です。 I = Iph - Is * [ exp { ( V + Rs * I ) / n * Vt } - 1 ] - ( V + Rs * I ) / Rsh Iph;光電流、Is;逆方向飽和電流、n;ダイオード因子、k;ボルツマン定数、q;電荷素量、T;絶対温度、Rsh;シャント抵抗、Rs;直列抵抗 上のパラメータは全て値は決定しているとします。(IとVが変数です) 以下プログラムです。 #include <stdio.h> #include <stdlib.h> #include <math.h> #define eps 1.0e-6 //収束条件 double Iph=0.25; //[A] double Rsh=45; //[Ω] double Rs=0.3; //[Ω] double Is=100e-12; //[A] double nVt=0; //[V] double V=0,vx=0; //[V] double a=0; double f(double x); void nibun(void); int main() { nibun(); return 0; } void nibun(void) { int count; double x0,x1,m; double p,pmax,i; double t; double q=1.60217733e-19; //電荷素量 double k=1.3806504e-23; //ボルツマン定数 double n=1.97; //ダイオード因子 printf("温度?\n"); scanf("%lf",&t); nVt = n * ( (k/q) * (t + 273.15)); for(V=0;m>0;V+=0.0001){ count=0; x0=-2*Iph; x1=Iph; do { count++; m=(x0+x1)/2.0; if(f(m)*f(x0)<0) x1=m; else x0=m; //700回ループで未収束→終了 if(count==700) { printf("Error\n"); exit(1); } } while (!(fabs(x0-x1)<eps)); //収束後ループ終了 p=V*m; if(p>0){ if(pmax<p){ pmax=p; i=m; vx=V; } } } printf("最大電力点 : V=%lf I=%lf P=%lf",vx,i,pmax); } double f(double x) { return(Iph - Is*(exp(((V+x*Rs)/nVt)-1)) - (V+x*Rs)/Rsh - x); }
- ベストアンサー
- その他(学問・教育)
- 実験での太陽電池の課題である宿題で困っています。
太陽電池モジュールで測定したものですが、分からないことがあっていろいろ困っています。後、来週まで(10月31日)なんで即、回答がほしいです。来週出来なければ即減点なります。どうかお助け下さい。 電圧,電流,電力で測定した表です。 電圧 V 電力 W 電流 mA 17.95 32.31 1.8 17.92 35.84 2 17.88 40.23 2.25 17.86 46.0788 2.58 17.83 53.3117 2.99 17.79 63.8661 3.59 17.75 79.3425 4.47 17.7 106.023 5.99 17.61 156.5529 8.89 17.35 252.269 14.54 17.09 383.1578 22.42 16.69 544.4278 32.62 16.46 583.0132 35.42 15.94 691.796 43.4 15.24 745.236 48.9 14.47 717.712 49.6 13.95 694.71 49.8 13.24 664.648 50.2 12.37 622.211 50.3 11.47 578.088 50.4 10.78 544.39 50.5 9.47 482.97 51 8.57 441.355 51.5 7.4 385.54 52.1 6.61 347.686 52.6 5.49 291.519 53.1 4.45 237.63 53.4 3.483 187.0371 53.7 2.462 133.9328 54.4 1.473 81.1623 55.1 0.607 33.5671 55.3 0.1117 6.18818 55.4 以上がこの結果であります。早速質問でありますが、先生が「RsとRshを出して理論値を求めよ」と宿題に出されました。そのRs(直列抵抗値)とRsh(並列抵抗値)の求め方や太陽電池での理論値の求め方が全然わかりません。ヒントの紙(もしくはパソコンでhttp://www.ni.com/white-paper/7230/ja)を見ていてもなかなか手掛りが見つかりません。 先生や先輩のヒント言っても全然分からないので、その為にこの質問を投稿しようと思いました。 初めての投稿ですが、どうかこの質問に分かりやすい回答があれば幸いであります。 後、正直私も言語力や文章力(日本語)が全然ダメであるので、詳しい回答を来週の月曜までどうかよろしくお願いします。 不足があったらまた投稿します。
- ベストアンサー
- その他(学問・教育)
- 太陽電池について
太陽電池の電圧-電流特性がわかりません。与えてあるのは絶対温度、短絡電流密度、逆飽和電流密度が既値です。これに詳しいHPのアドレスでもかまいませんので、教えてください。
- ベストアンサー
- その他(学問・教育)
- 卓上電卓の不要な太陽電池による充電方法
捨てられた電卓の太陽電池を利用して、単3ニッケル水素電池1.2Vを充電できないかと考えています。 用意した太陽電池は、1.5V、5mAのものと、2.5V、20mAのものです。 ショットキーダイオードと抵抗で作ろうとしていましたが、太陽電池自体の電流値が充電しようとしている充電池の電流値2000mAh(?)に対し非常に小さい気がします。 これでは太陽電池2個を直列でつないで4Vとしたとしても、充電できないのではないでしょうか?? 何か良い方法はあるのでしょうか? また、充電池に書いてある「2000mAh」の意味はなんでしょうか? またまた、間に入れている抵抗の値は、どのように決めればよいのでしょうか? なんとか、もったいなく捨てられるものを利用したいと、素人ながらにやろうとしています。 アドバイスをお願いします!
- ベストアンサー
- 電気設計