「オペアンプ内蔵PICマイコンでCCCV充電器を作った!」の解析
#Ni-MH充電器
オペアンプ内蔵PICマイコンでCCCV充電器を作った! by Asi_a | elchikaの回路やプログラムを解析・勉強するためのページ
記事より図「メインディッシュ」
https://gyazo.com/896e4c159b3bd0a3a2fb7f26a7e44380
以下の通り計算すると$ V_\mathrm{OUT} = \frac{R_4}{R_3}\left(V_\mathrm{BAT+} - V_\mathrm{BAT-}\right)
オペアンプ5番端子の電位 $ V_5 = \frac{R_4}{R_3+R_4}V_\mathrm{BAT+}
$ R_5の電流 $ I_{R_5} = \frac{V_\mathrm{BAT-} - V_6}{R_5}
5番端子と6番端子はバーチャルショートにより$ V_5=V_6なので$ I_{R_5} = \frac{V_\mathrm{BAT-} - V_5}{R_5}
したがってオペアンプの出力電位は$ V_\mathrm{OUT}=V_6 - R_6 I_{R_5} = \frac{R_5+R_6}{R_5}V_5-\frac{R_6}{R_5}V_\mathrm{BAT-}
$ R_3=R_5、$ R_4=R_6なので $ V_\mathrm{OUT}=\frac{R_3+R_4}{R_3}V_5 - \frac{R_4}{R_3}V_\mathrm{BAT-} = \frac{R_4}{R_3}\left(V_\mathrm{BAT+} - V_\mathrm{BAT-}\right)
R3=10k、R4=4.7kとして4.7/10に電圧を落としている理由は?
ADCが4.096Vまでしか読めないから?
しかし、電池の電圧は公称3.6Vだから、4V程度に収まるのでは?
しなぷすさんの記事によれば、充電終止電圧は1.45V程度だから、1.45×3=4.35V程度までは読み取れるようにしたい!
記事より、関数 ADC の実装
code:C
int ADC2mV(int mV) {
//回路: in->(4.7/10.0)->ADC(0-4.096V,10bit)
//実測: 0-5.110V:0-620
return mV * 33 / 4;
}
引数にADCの出力を渡すと、電池の電圧$ V_\mathrm{BAT}=V_\mathrm{BAT+}-V_\mathrm{BAT-}に変換してくれる関数だろうか?
ADCの設定は0~1024が0~4.096Vに対応するような設定?
つまりADCの1は4mVに対応
ADCの入力端子には $ \frac{4.7}{10}V_\mathrm{BAT} が印加される
ADCの出力xは $ x=\frac{4.7}{10}V_\mathrm{BAT} \div 0.004 = 117.5V_\mathrm{BAT}
ADCの出力を$ V_\mathrm{BAT}に mV 単位で変換するには $ 1000V_\mathrm{BAT}=\frac{1000}{117.5}x \approx 8.51x
分圧抵抗をR3=20k、R4=10kとすれば$ 1000V_\mathrm{BAT}=8x
コード中の 33/4 はこの係数か?
33/4 = 8.25
結構近い値だが、どちらかと言えば 17/2 = 8.5 の方が近い。
実測値(5.110V→620)で計算?
$ V_\mathrm{BAT}=kxとすると、$ V_\mathrm{BAT}=5.11のとき$ x=620なので、$ k\approx 8.24\times 10^{-3}
これなら33/4が良い近似になっている
mV * 5110/620 とした方がより正確では?
あるいは mV * 511/62
mVの取り得る最大値を700と見積もると、$ 700 \times 511 \ge 2^{15}
XC8コンパイラのint型は16ビット(値の範囲は$ -2^{15}\le X \lt 2^{15})なので溢れる
XC8コンパイラの整数データ型
33/4の場合は$ 700 \times 33 \lt 2^{15}となり、溢れない
オペアンプのオフセット電圧の影響
PIC16F1705内蔵のオペアンプの入力オフセット電圧は±3mV Typical, ±9mV Max
オペアンプの-端子からみた+端子の電圧にこのオフセットが乗ると考える
電池電圧4Vとかに対するオフセットなので気にしなくてよさそう
LM358Nもほぼ同等の入力オフセット電圧なので代替できる
手元にある2SK2231&LM358N&SBM1045VSSで作る場合
table:部品表
Q1 MOSFET 2SK2231
OP オペアンプ LM358N HTC
D1 SBD SBM1045VSS
2SK2231のデータシートより、ID-VGS特性
https://gyazo.com/e587e23db97cf5a57e0a5fc681c670fa
ID=0.2Aのところでは、25℃でVGS=2.2V程度。
ID-VDS特性も見てみる
https://gyazo.com/bf0efbc331caae6f84f0f737cfc131bc
今回の回路ではVDSは極端に低い
充電終止電圧4.35V、D1の順方向電圧0.23V、電流検出抵抗による電圧降下0.2Vとすると、5-(4.35+0.23+0.2)=0.22
オペアンプの最大出力電圧がVCC-1.5=3.5Vとすると、VGS=3.5-0.23=3.27Vが最大値
上記グラフのVGS=3.3の曲線が近い
VDSが0付近では、グラフの傾きは1(A)/0.2(V)=5(A/V)程度
5(A/V)×0.22(V)=1.1(A)なので、0.2A流す余裕はありそう
HHR-P104の充電グラフ
ほとんど空の状態から充電開始
https://gyazo.com/110593a877247f229c36fe6c25e8c06c
最初の10分くらいで3V→4.1V程度に急上昇
4.15V付近からはごく緩やかな電圧上昇
充電電流64mA(理論値)は、電源に用いているAnalog Discovery 2の出力上限が500mWだから
5V 100mA