最近マイコンに少々慣れてきたので実用的な工作をしようかと思う次第。車がアイドリングストップするので、駐車している間に太陽電池から鉛電池へと充電してやろうとおもうわけです。はい。
真のMPPTは太陽電池の電圧と流れる電流を測定し、取り出せる電力が最大になるように制御をするのだが、ハイサイドの電流センサが面倒くさいから、電圧ベースで制御してやろうと思う。
太陽電池は開放電圧の80%程度の電圧(トラ技によると77%ほど)で使ってやるとまあ大体最大電力ポイントになるようだ。アルゴリズムはシンプル。
太陽電圧の開放電圧を測定→開放電圧の80%になるようにPWMのDutyを制御(Duty比が安定する程度にここでサイクルを回す)→一定時間待つ→初めに戻る
80%の計算だが、浮動小数点は演算が重いので、整数での演算とする。以下のような感じ。
目標値=ADC値 - ADC値÷5
外にも演算方法いろいろあるとおもうけど。4倍して5で割るとかね。78%狙うなら39倍して50で割るなど。整数演算16ビットに収まればまあいいでしょう。
ADCをして目標値との乖離を測定し、乖離があればPWMのDuty比を変更していく。
夜暗くなったときなどに動作に支障を来たさないようにリセットICを入れる必要があるな。
ちょっと週末がんばってみようかな。