MPPT太陽電池充電(7)
Posted by arms22 on 2008年10月24日

PCBCARTに発注していたMPPT基板が届きました(ほんとは10/14に届いていたんだけど、やっとこさ部品実装することができました)。発注から基板到着まで8日。OLIMEXと比べてずっと早いし、外形加工も綺麗です。大量に作れば(!)一枚辺りのコストも下がるし、これからどんどんPCBCARTを利用していきたい。基板は片面基板ですが両面レジストしてあります(オプションの設定を間違えただけ)。
部品の実装
実装開始。背の低い部品から実装します。今回抵抗はすべて立てちゃってるので、あんまり背の低い部品がありません。。まぁ、ダイオード、抵抗、コンデンサの順で実装。
次に背の低いIC、コンデンサ、トランジスタ、ICソケットを実装します。ここで基板のミスを発見!IC2の3端子レギュレータのVIN、VOUTが逆さまに。。幸いVIN、VOUT端子が左右対称に位置していたので、向きを逆にして取り付ければ問題なしでした。C3に少し接触してしまいますが、IC2の足をまげて対応します。
残った背の高いコンデンサ、コイル、トランジスタを実装します。コイルが少々窮屈ですが、問題ないでしょう。S+/S-とV+/V-にワイヤを接続して完成です。部品点数が少ないので、30分くらいで実装できました。
部品リスト
IC1 | PIC12F683 | 262 | |
IC2 | AN8025 | 3端子レギュレータ | 63 |
IC3 | S8052ALR | リセットIC | 105 |
Q1 | 2SA1020 | 63 | |
Q2 | 2SC1815 | 21 | |
C1 | 0.1uF | 積セラ | 21 |
C2 | 0.1uF | 積セラ | 21 |
C3 | 6V 10uF | 電解コン | 10 |
C4 | 16V 220uF | 電解コン | 21 |
C5 | 0.47uF | 積セラ | 63 |
C6 | 16V 470uF | 電解コン | 31 |
R1 | 100K | 金皮 | 10 |
R2 | 100K | 金皮 | 10 |
R3 | 1K | カーボン | 5 |
R4 | 100K | カーボン | 5 |
R5 | 47K | カーボン | 5 |
R6 | 47K | カーボン | 5 |
L1 | 1A 220uH | トロイダルコイル | 52 |
D1 | 1GWJ42 | ショットキー | 73 |
合計 | 846 |
部品はすべて共立電子で購入できます。電解コンデンサの耐圧に気を使えば出力18Vぐらいの太陽電池パネルでも使えます。
太陽電池の選択
PICの電源は太陽電池の電圧を3端子レギュレータで降圧して得ています。その為、太陽電池の電圧は3端子レギュレータの出力電圧(2.5V)+0.5V以上必要です。例えば秋月で販売されている太陽電池モジュール2V500mAの場合、電圧を稼ぐ為にモジュールを2枚直列に接続して2V*2=4Vとするなど工夫してください。
追記 2009/2/4
本基板はきわゆる家庭用のkW級の太陽電池パネルには対応していません!出力1~12W程度の小型・電子工作用の太陽電池パネルをお使いください。
R1,R2抵抗
太陽電池の電圧を測るためにR1,R2抵抗によって分圧された電圧をPICのAN0端子に入力します。PICの電源電圧を超えないように抵抗値を設定してください。
追記 2010/2/12
抵抗値を求めるページが無くなっていました。こちらのページを使ってください。
http://sim.okawa-denshi.jp/teikokeisan.htm
抵抗分圧回路についてこちらに詳しい説明があります。
http://homepage2.nifty.com/jh1bhf/denshi/bunatu/bunatu.html
例えば、開放時電圧が4.8Vのパネルの場合
分圧比 = 2.5V / 4.8V = 0.52083... = 約0.5倍先ほど紹介したページで分圧比0.5、抵抗系列E24にして送信します。そうすると沢山の抵抗の組み合わせが表示されます。赤色のセルがもっとも分圧比に近い抵抗の組み合わせとなります。1K:1Kまた10K:10K、100K:100Kなど。
次に開放時電圧18Vのパネルの場合
分圧比 = 2.5V / 18V = 0.1388.. = 約0.13倍同じように先ほどのページで分圧比0.13、抵抗系列E24にして送信します。10:1.5の組み合わせが分圧比にもっとも近そうです。10K:1.5Kまた100K:15Kなど。
PICのプログラム
PICのプログラムは結晶シリコン太陽電池用とアモルファスシリコン太陽電池用の2つがあります。2つのプログラムはMPPTの最適動作点が異なり、結晶シリコン太陽電池は開放電圧の約80%、アモルファスシリコン太陽電池は開放電圧の約68%を最適動作点として動作します。ご使用の太陽電池パネルに合わせて選択してください。
http://dl.dropbox.com/u/14188987/isweb/mttp/mppt081024.zip
結晶シリコン太陽電池用
mppt_mono.hex
アモルファスシリコン太陽電池用
mppt_amor.hex
頒布
完売しました。
メールのタイトルに「MPPT基板希望」と書いて、お名前、ご住所、必要枚数をご記入の上、arms22あっとgmail.comまでご連絡ください。追加発注の予定はないので無くなってしまう前に、どうぞ!その他、質問など気軽にコメントでお願いします。
追記 2008/10/27
注文から支払いまでの流れ。
- ご注文(あなた)
メールのタイトルに「MPPT基板希望」と書いて、お名前、ご住所、必要枚数をご記入の上、arms22あっとgmail.comまでメール。 - 見積り(私)
商品合計金額と梱包・発送費を足した金額を通知。 - 発送+発送通知(私)
注文を受けて翌日くらいに発送。発送通知と振込み先情報をお知らせ。 - 支払い(あなた)
商品が届いて確認したら、お支払いください。
追記 2008/11/4
本文でも書きましたが、IC2のシルクが間違っています。平らな面が基板の内側に向いていますが、正しくは平らな面を基板の外側に向くように部品を実装してください。※次の写真を参照。

MPPT太陽電池充電器(6)
Posted by arms22 on 2008年09月28日

格安で太陽電池パネルを沢山手に入れたので、もう1個、太陽電池充電器を製作中です。前回はMPPTの回路をユニバーサル基板に実装しましたが、今回はPCBCARTに基板の製作を依頼したいと思います。
今回製作する基板はMPPTの機能のみにしぼって設計しています。回路図には電池やLEDなどを置いていません。PICの空きポートは引き出してあるので、後から電池やLEDを接続できるようにしています。
基板のサイズは26mm x 44mm。およそ切手2枚分の広さになります。共立電子で売られているユニバーサル基板のサイズに合わせてみました。右の方の空き領域に2.54mmピッチのランドを設けているのでLED1つか2つなら実装出来そうです。
PCBCARTで簡易見積もりを行った処、100枚で $80.90。初期費用$27.61、基板1枚辺りの単価が$0.53。基板1枚でもOLIMEXより安くなる?100枚もいらないけど、少し多めに注文してこのブログでも何枚か頒布したいと思います。
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点灯
MPPT太陽電池充電器(4)
Posted by arms22 on 2008年03月18日

ある晴れた午後、MPPT回路の動作を確認した。太陽電池を充電池に直結した場合とMPPT回路を通した場合とで、充電電流がどれほど変わるのか確認した。
※少し雲が出ていたので、太陽電池からそれほど電流は取り出せなかった。ビルの窓ガラス越しだとさらに電流が減るみたい。
結果は上記の通り、MPPT回路を通した場合、直結時より約136%ほど充電電流が増えた。もともと太陽電池電圧と充電池電圧の差があまりないので、それほど効果は期待できなかったのだけど、3割も増えたので成功といえる。
また、効率面でも太陽電池の電力の80%を充電にまわす事ができている。効率80%という数字はあまり良くも、悪くもない数字だ。
今後の予定。
- ユニバーサル基板に実装する
- PNPトランジスタをPchMOS-FETに交換する
- 太陽電池の出力が下がってくるとPICが高速にリセットを繰り返す問題を修正する
- PICの電源を2Vにする
- 充電制御を実装する
MPPT太陽電池充電器(3)
Posted by arms22 on 2008年03月16日

電流が期待したほど取り出せなかった問題は解決した。なんてことはないPICの電源用にと用意したDCDCコンバータ(HT7750)が思いのほか電流を消費していたようで、負荷側に流す電流が減っていたみたい。DCDCコンバータを3端子レギュレータに交換して、動作を確認したところ期待したとおりに電流が取り出せた。
MPPT太陽電池充電器(2)
Posted by arms22 on 2008年03月13日

MPPT太陽電池充電器のプログラムを作成中です。まずはMPPT制御処理を実装しました。MPPTには幾つかの追従方式があるようですが、ハード、ソフトとも簡単に実装できる電圧追従方式を採用しました。
4秒周期で太陽電池の開放時電圧をチェックし、その68%を最適動作点とし追従します。アモルファスシリコン太陽電池の場合、開放時電圧の68%が最適動作点になるようです。
MPPT動作中は太陽電池電圧を測定し、PWMデューティを調節、最適動作点を追従します。PICのクロックは内蔵発振で4MHz、PWM周期は19.531kHzとしました。
浮動小数点演算、割り算、掛け算は一切使わないようコーディングした。コンパイラはsdcc 2.6.0を使用。sdccのバグかどうかわからないけど、char型の掛け算が正しく動かないので、掛け算処理は自前で処理した。
簡単に動作確認してみたところ、負荷側に期待したほど電流が流れなかった。入力と出力の電流が同じに。。開放時電圧が4.8vの時、3.2vで最適動作点を追従しているので、MPPT制御はうまくうごいていそうだ。
部品を変えてみてもう少し試行錯誤してみよう。ソースコードの一部を続きに載せておきます。
MPPT太陽電池充電器(1)
Posted by arms22 on 2008年03月11日

現状のダイオード+過充電制御だけだとエネループ2本の充電に10日以上かかるので、MPPT(Maximum Power Point Tracking)太陽充電器の製作をはじめました。
トランジスタ技術2005年9月号などを参考にブレッドボードに回路を組んだ。まずは安定化した電源から降圧して希望の電圧で出力できるか確認した。
制御マイコンはPIC12F683。PICの電源を太陽電池の出力でまかなおうとするといろいろ問題がありそう。PICの電源の候補として以下のような感じ。
1.2.0~3.3vの3端子レギュレータ
メリット
部品点数がすくない。数mA程度の出力なら損失も少ない。
デメリット
太陽電池電圧が2.5~3.8vないと動作しない。
→割り切る。
2.HT7733 or HT7750を使ったstep-up DCDCコンバータ
メリット
太陽電池電圧が2.0v以下でも動作する。
デメリット
HT7733 太陽電池出力がDCDCコンバータの出力以上になった場合、太陽電池電圧がそのまま出力される(降圧されない=ADの基準電圧に使えない)。
→基準電圧を用意する必要がある。
3.安定化電源なし、太陽電池で直接PICを動作させる
メリット
電源用部品不要。
デメリット
太陽電池電圧が2.0v以下でPICが動作しない。基準電圧が必要。
→太陽電池電圧が2.0v以下での動作は期待しない。
→ツェナーダイオードまたはシャントレギュレータで基準電圧をつくる。
4.充電対象電池+step-up DCDCコンバータ(HT7733)
メリット
太陽電池電圧が下がっても安定してシステムを運用できる。
デメリット
充電対象から電力をもらうのはどうかと思う。できれば太陽電池だけで動作させたい。
現状、HT7750を使って太陽電池電圧が1.0~4.8vまで変化しても安定して電力を供給できるようにしている。
関連URL:
Bob’s blog - Experiments on MPPT Solar Charger(3) w/ PIC16F690
MPPT 充電専用コントローラーの製作
トランジスタ技術2005年9月号 - 太陽電池をフルパワー発電させるMPPTの製作
太陽光エネループ充電器(5)
Posted by arms22 on 2008年02月18日

作成した太陽光エネループ充電器の基板です。
最終回路図はこうなりました。
前回から修正した箇所は、
- 充電電流制限抵抗を10Ω
- 太陽電池出力に220uFのコンデンサ追加
- デバッグ用LED追加
結局、曇りの日とかの不安定さはそのままでしばらくいこうと思います。
あと、太陽電池電圧を検出するところの電圧が太陽電池電圧の半分よりずっと低いのは使用したテスターがヘボだったからのようです。会社のテスター(デジタル)ではかったらちゃんと太陽電池の電圧の半分の値がでていました。
太陽光エネループ充電器(4)
Posted by arms22 on 2008年02月05日

先日作成した回路図を少し修正して、基板を作成した。
修正した箇所は次の二つ。
- 太陽電池電圧を検出する分圧抵抗を100kから200kに変更
- 2SC1815のベース抵抗を47kから100kに変更
1つ目は充電電流。電池一本あたり80mAぐらい流れるように抵抗値を決めたはずが、実際には太陽電池の出力が3Vの時に30mA程度しか流れていない。
2つ目は太陽電池電圧を検出するところの電圧が太陽電池電圧の半分よりずっと低いこと。
1つ目はなんとなく分かる。。
3V(太陽電池電圧) - 0.2V(Vce) - 0.5V(Vf) - 1.2~1.5V(Vbat) = 0.8~1.1V
だから
0.8~1.1V / 0.08A = 10~13.75Ω
ってことだよね、たぶん。計算まちがえたな。。
2つめよくわからん。
試しに10K10Kで分圧して計ってみるとちゃんと半分になっていた。テスターの精度の問題か?
あと曇りの日は太陽電池の出力が2V以下になってしまうのでレギュレータが動作しない。ADのVRefは別に設けて、PICは太陽電池の出力でそのままうごかせばいいかな。。これも要検討。
太陽光エネループ充電器(3)
Posted by arms22 on 2008年01月28日

太陽電池充電器の回路図です。
使用する太陽電池はTDKのフィルム太陽電池BCS1808P6。動作電圧3V、動作電流160mA、最大出力480mW。
・マイコン
充電制御にはPIC12F629または12F683を使用する。PICのAD入力で太陽電池電圧、電池電圧を監視する。電池電圧が1.40V~1.45Vになったら充電を終了する。太陽電池の電圧が3V以下になったら充電を停止する。
・電源
動作中の消費電力を押さえる為にPICの電源は2.5Vとした。電源は低ドロップタイプレギュレータのAN8025を使用する。太陽電池の出力でレギュレータを動作させるので曇の日とかは頻繁にマイコンにリセットがかかってしまう。。ここは要検討で。
・充電
T2,T3(2SA1015)でもって充電電流のオンオフを制御する。PICリセットがかかっている状態、また起動直後はT1(2SC1815)がオフなので充電は停止している。
充電電流はR2,R3抵抗で制限する。太陽電池の電圧が3Vの時、電池一本あたり約80mA流れるように抵抗値を決めた。
とりあえずこの回路をブレッドボード上に構築して動作を確認する。
参考資料:
トランジスタ技術 2005年 9月号
回路図はトランジスタ技術2005年9月号を参考に作成した。この号では太陽電池の特集が組まれていてたくさんの製作例が掲載されている。そのうちMPPT(MostMaximum Power Point Tracking)充電器の製作も行う予定だ。
(Transistor Gijutsu) 2008年 02月号 [雑誌]
CQ出版 (2008/01/10)