MPPT太陽電池充電器(5)
Posted by arms22 on 2008年04月20日

しばらくブレッドボードでテストしていたMPPT太陽電池充電器ですが、ユニバーサル基板に実装してみました。段ボールが少しださいですが、全体は次のようになりました。
基板の表と裏です。上に降圧回路、下にPICとPICの電源。LEDも2個追加した。
最終回路は次のようになりました。若干、回路定数が変わっただけで、大きく変わった箇所はありません。
降圧回路の効率を上げようとして色々テストしたコイルたち。サイズと効率面で220uH1Aのコイルを選びました。
MPPT太陽電池充電器のソースコード一式です。
http://xfind.hp.infoseek.co.jp/electric/mppt/mppt080419.zip
- 電池電圧1.45V未満で充電開始
- 開放電圧4V以上で充電開始
- 充電中は赤LED点滅
- 開放電圧の66%を動作点とする
- 2秒間はMPPT動作を継続する
- 2秒経過後、PWMデューティが95%以上、2%未満の時、開放電圧を再チェック
- 電池電圧1.45以上で充電終了
- 充電完了、緑LED点灯
Ads by Google
19 Comments
電子工作を始めたばかりの素人なのですが、自力でこのMPPT太陽電池充電器を作りたいと思っています。
できれば、PIC内のプログラムを詳しく教えてください。プログラム言語だとわかりずらいので自分で理解するためにも言葉で教えていただけると嬉しいです。
注文ばかりで図々しくてすみませんm(_ _)m
できれば、PIC内のプログラムを詳しく教えてください。プログラム言語だとわかりずらいので自分で理解するためにも言葉で教えていただけると嬉しいです。
注文ばかりで図々しくてすみませんm(_ _)m
最新のプログラムはこのエントリーからDLできます。
http://arms22.blog91.fc2.com/blog-category-19.html
このプログラムについて簡単に解説します。
プログラムには次の2つの状態があります。
1つは"電圧チェック"状態、もう1つは"MPPT"状態です。
プログラムは動き始めた直後、"電圧チェック"状態にあります。
"電圧チェック"状態では太陽電池の開放電圧をチェックし、最適動作電圧を求め"MPPT"状態に遷移します。
"MPPT"状態では太陽電池の電圧が最適動作電圧になるよう4秒間、負荷を制御します。
4秒経過するとふたたび"電圧チェック"状態に遷移し、開放電圧をチェックします。
以降、これの繰り返しです。
http://arms22.blog91.fc2.com/blog-category-19.html
このプログラムについて簡単に解説します。
プログラムには次の2つの状態があります。
1つは"電圧チェック"状態、もう1つは"MPPT"状態です。
プログラムは動き始めた直後、"電圧チェック"状態にあります。
"電圧チェック"状態では太陽電池の開放電圧をチェックし、最適動作電圧を求め"MPPT"状態に遷移します。
"MPPT"状態では太陽電池の電圧が最適動作電圧になるよう4秒間、負荷を制御します。
4秒経過するとふたたび"電圧チェック"状態に遷移し、開放電圧をチェックします。
以降、これの繰り返しです。
ありがとうございます!
またわからないことが合ったらよろしくお願いします!!m(_ _)m
またわからないことが合ったらよろしくお願いします!!m(_ _)m
度々すみません
回路図にかいてある2.5Vと言うのとVOU+とかかれているのはどこにどのように繋げばよいのでしょうか?
こんなの初歩中の初歩でしょうけど教えていただけないでしょうか
回路図にかいてある2.5Vと言うのとVOU+とかかれているのはどこにどのように繋げばよいのでしょうか?
こんなの初歩中の初歩でしょうけど教えていただけないでしょうか
2.5VはレギュレータIC(8025)の出力なのでPICの電源とリセットIC(8052)の電源に繋いでください。
VOUTはMPPT制御がかかった太陽電池の出力です。負荷側(充電池とか)に接続してください。
VOUTはMPPT制御がかかった太陽電池の出力です。負荷側(充電池とか)に接続してください。
電池電圧ですね。
充電池の+側に繋ぎます。
PICマイコンで充電池の電圧をチェックして、
トランジスタのオンオフを制御していたと思います。
充電池の+側に繋ぎます。
PICマイコンで充電池の電圧をチェックして、
トランジスタのオンオフを制御していたと思います。
完成しました!ありがとうございます!
ただ、LEDがつかないのですが教えてもらったプログラムはではつかないのでしょうか?それとも私のプログラムのしかたがいけなかったのでしょうか...
連続で何度も質問して本当に申し訳ないです。
ただ、LEDがつかないのですが教えてもらったプログラムはではつかないのでしょうか?それとも私のプログラムのしかたがいけなかったのでしょうか...
連続で何度も質問して本当に申し訳ないです。
あ、そうです。
お教えしたプログラムはMPPTの制御に特化したプログラムなので、
LEDの制御、充電池の充電制御は行っていません。
お教えしたプログラムはMPPTの制御に特化したプログラムなので、
LEDの制御、充電池の充電制御は行っていません。
わかりました。
LED制御をプラスに加える場合どのようなプログラムをいれればいいでしょうか?こないだのようなPIC内の処理を教えてもらえればいいです。
面倒くさいでしょうがおねがいします。
LED制御をプラスに加える場合どのようなプログラムをいれればいいでしょうか?こないだのようなPIC内の処理を教えてもらえればいいです。
面倒くさいでしょうがおねがいします。
LEDがPICのGPIOの5(Green)と4(Red)につながっていると仮定して、
LEDを制御したいタイミングでGPIOの出力をH/L切り替えればよいと思います。
点灯
output_high(PIN_A5);
消灯
output_low(PIN_A5);
こんなんでいけるんじゃないかなー。
LEDを制御したいタイミングでGPIOの出力をH/L切り替えればよいと思います。
点灯
output_high(PIN_A5);
消灯
output_low(PIN_A5);
こんなんでいけるんじゃないかなー。
先日までトランジスタって何ぞやと思っていたほどの電子回路初心者なのですが、訳あってMPPT回路を作成しなければならなくなり、このサイトにたどり着きました。
いきなりですが2つほど質問させてください。
①プログラム(main.c)のMPPTの部分で、太陽電池の電圧をA/D変換した値がvmppの値の値よりも大きければPWMのデューティー比を上げていますよね。回路図を見ると、デューティー比を上げればトランジスタがONになる時間が増えて電圧が上がりそうなのですが大丈夫なのでしょうか。
②プログラム(main.c)のcalc_vmpp関数の中身で何しているのかさっぱりなのですが(プログラムが苦手で)、単純に開放端電圧の8割の値を計算しているでよろしいのでしょうか。
お暇なときでいいので返答お願いします。
いきなりですが2つほど質問させてください。
①プログラム(main.c)のMPPTの部分で、太陽電池の電圧をA/D変換した値がvmppの値の値よりも大きければPWMのデューティー比を上げていますよね。回路図を見ると、デューティー比を上げればトランジスタがONになる時間が増えて電圧が上がりそうなのですが大丈夫なのでしょうか。
②プログラム(main.c)のcalc_vmpp関数の中身で何しているのかさっぱりなのですが(プログラムが苦手で)、単純に開放端電圧の8割の値を計算しているでよろしいのでしょうか。
お暇なときでいいので返答お願いします。
> デューティー比を上げればトランジスタがONになる時間が増えて電圧が上がりそうなのですが大丈夫なのでしょうか。
はい。太陽電池の電圧が十分高ければ、トランジスタをONにして負荷に電圧をかけます。負荷に電圧をかければまた太陽電池の電圧が下がります。そしたらデューティー比を下げます。デューティー比を下げればまた太陽電池の電圧が上がります。シーソーみたいですね。
> 単純に開放端電圧の8割の値を計算しているでよろしいのでしょうか。
はい、その通りです。
確かこのプログラムを作った当時、sdccコンパイラが割り算を正しくコンパイルしてくれなかったような気がします。
ありがとうございます。
なるほどトランジスタをONにすると負荷に電圧がかかるから太陽電池の電圧が下がるのですね。
さっそく今日あたり日本橋でパーツ揃えて作成してみます。
なるほどトランジスタをONにすると負荷に電圧がかかるから太陽電池の電圧が下がるのですね。
さっそく今日あたり日本橋でパーツ揃えて作成してみます。
ブログ徘徊中にこのブログを見つけて読ませていただきました!
すごいですね、僕には全然わからないです。
そこで疑問に思ったことがいくつかあるのですが、8025と8052ってそれぞれなにをしている部分なのですか?
また、2.5vと書いているのですがソーラーパネルは3vなんですよね?何故2.5vが出てきたのでしょうか?
それともうひとつ、コイルは降圧回路に使っていて効率を考えると っとあったのですがコイルの巻き数が多かったり少なかったりすると具体的にどう変わるのでしょうか?
物凄く質問してすみません
少し疑問に思っただけなのでお暇なときお答えしてもらえれば嬉しいです。
すごいですね、僕には全然わからないです。
そこで疑問に思ったことがいくつかあるのですが、8025と8052ってそれぞれなにをしている部分なのですか?
また、2.5vと書いているのですがソーラーパネルは3vなんですよね?何故2.5vが出てきたのでしょうか?
それともうひとつ、コイルは降圧回路に使っていて効率を考えると っとあったのですがコイルの巻き数が多かったり少なかったりすると具体的にどう変わるのでしょうか?
物凄く質問してすみません
少し疑問に思っただけなのでお暇なときお答えしてもらえれば嬉しいです。
8025はレギュレータですね。
太陽電池からの不安定な出力を安定した2.5Vにしています。
8052はリセットICです。ある電圧以下になるとPICマイコンにリセットをかけます。
実験した結果はちょっと覚えていないです。。
出力される電力が極端に少なくなったような気がします。
太陽電池からの不安定な出力を安定した2.5Vにしています。
8052はリセットICです。ある電圧以下になるとPICマイコンにリセットをかけます。
実験した結果はちょっと覚えていないです。。
出力される電力が極端に少なくなったような気がします。
成る程そういうことですか!
えっと...、申し訳ないのですが昨日質問し忘れたことも質問していいですか?
PICの7番ピン(?)ANOって書いてある部分ですが何をしてるところですか?
それと、今の説明を読んでから読み返してみて思ったのですが開放電圧4Vとあるのですがソーラーパネルは3vですよね?トランジスタで増幅してるってことですかね?あと、デジタルトランジスタはスイッチングに使ってるってことですかね?
疑問に思って少し調べてみたのですがあってるのかどうか全くわからなくて...orz
そもそも降圧回路は電圧を下げる回路っていう解釈であっているのでしょうか...
えっと...、申し訳ないのですが昨日質問し忘れたことも質問していいですか?
PICの7番ピン(?)ANOって書いてある部分ですが何をしてるところですか?
それと、今の説明を読んでから読み返してみて思ったのですが開放電圧4Vとあるのですがソーラーパネルは3vですよね?トランジスタで増幅してるってことですかね?あと、デジタルトランジスタはスイッチングに使ってるってことですかね?
疑問に思って少し調べてみたのですがあってるのかどうか全くわからなくて...orz
そもそも降圧回路は電圧を下げる回路っていう解釈であっているのでしょうか...
AN0はPICのA/Dコンバータにつながっていて、ここでは太陽電池の出力電圧を測っています。
> それと、今の説明を読んでから読み返してみて思ったのですが開放電圧4Vとあるのですがソーラーパネルは3vですよね?
開放電圧は4V近くあります。負荷をつなげると太陽電池の電圧は下がります。実物の太陽電池があればテスターを使って太陽電池の出力をみてみると体感しやすいですよ。太陽電池の出力はものすごく変動します。
> そもそも降圧回路は電圧を下げる回路っていう解釈であっているのでしょうか...
あっているとおもいます。
しかし今回の場合、電圧を下げるというよりも太陽電池の出力電圧が一定になるように制御しています。
> それと、今の説明を読んでから読み返してみて思ったのですが開放電圧4Vとあるのですがソーラーパネルは3vですよね?
開放電圧は4V近くあります。負荷をつなげると太陽電池の電圧は下がります。実物の太陽電池があればテスターを使って太陽電池の出力をみてみると体感しやすいですよ。太陽電池の出力はものすごく変動します。
> そもそも降圧回路は電圧を下げる回路っていう解釈であっているのでしょうか...
あっているとおもいます。
しかし今回の場合、電圧を下げるというよりも太陽電池の出力電圧が一定になるように制御しています。
私は素人ですが、太陽光発電に興味があります。
まだ、その段階ではないですが、このサイトが素晴らしい情報源だということは分かります。応援しております。
まだ、その段階ではないですが、このサイトが素晴らしい情報源だということは分かります。応援しております。
Leave a reply
該当の記事は見つかりませんでした。