「
ヘッドフォンアンプとソーラー充電コントローラー」で作成したソーラー充電コントローラーで疑問が生じたので検証しました
をよく見ていると、電源電圧が11.5V付近で負荷が切断され、再び電圧を上げてゆき12.7V付近で再度負荷が接続される様子がわかると思います
一見正常に動作していると思っていたのですが、よくよく考えるとソースコードの中では
満充電電圧>13.6V
再充電電圧(負荷再接続)>13.2V
過放電電圧>12.0V
と定義していたはずです・・・
実験の後、実際のバッテリーに繋いでソーラー側にも12V~13Vの電源を繋いでも一向に充電が始まらないのもおかしいと思っていました
すでにバッテリーの電圧は再充電電圧を下回っているにもかかわらず、充電を示すLEDが点灯しないのです
オリジナルの回路から少し変更して基板にした影響か?と焦りましたがとりあえずポイントとなりそうなPIC周りの電圧を測定してみることにしました
殆ど想定通りの値だったのですが、一箇所微妙ですがオリジナルと決定的に違う部分がありました
PICの電源電圧です
オリジナルでは5Vになるはずですが、今回の回路では4.88Vしか有りませんでした
5Vの3端子レギュレーターを使用しているのですが、不思議です
たった0.12Vですが、PICのA/D変換は電源電圧を基準に255段階(8bit)で電圧を取得するので、0.12VはPIC上では6の誤差が出てしまいます
今回の回路では、バッテリーの電圧を1/5にしてPICへ読ませています(余裕を持って20VでもPICが破壊されないように)
なので設計通りの値で13.6Vを計算すると、式は
(13.6V / 5) * (255 / 5V)
となり
139
が13.6Vの値になります
同様に13.2Vは135、12.0Vは122となります
これを今回の回路の電源電圧4.88Vで計算しなおしてみると
(13.6V / 5) * (255 / 4.88V)
となり
142
が13.6Vの値になります
同様に13.2Vは138、12.0Vは125となります
ここで、動画中で変化の起きた値、11.5Vと12.7Vで計算してみると
11.5Vは120、12.7Vは133となります
電源電圧5Vで計算した過放電電圧12.0V(122)と実際の値で変化が起きた電圧11.5V(120)がほぼ近い値になることがわかります(2少ないのは電源の数値が小数点第一位までしか表示していないため 2 = 約0.04V)
同様に再充電電圧13.2V(135)と変化の起きた12.7V(132)も近いです (3 = 約0.06V)
これで仕様と違った原因がわかりました
スッキリ<=( ´∀`)
解決方法は簡単です
PICなので、ソースコード内で電圧を定義している場所の数値をそれぞれ
13.6V = 139
13.2V = 135
12.0V = 122
へ変更し書き換えるだけです
これで無事仕様通りの動きをするようになりました