出力電圧検出のA/D変換で気をつけるべきこと
DC-DCコンバータは3.3Vと低電圧なものもあれば,45Vや100,200V以上の高電圧まで非常に幅広い.通常,DC-DCコンバータを制御するには,出力電圧を検出する必要がある.検出レンジがでかいまま,ただ何も考えずにマイコンに接続すると破損するので,分圧抵抗で電圧を落としてからA/D変換に入れる.
また,パワー部は強いノイズにさらされているので,フィルタを通すことが普通である.したがって,分圧回路はストレートに考えた場合,このフィルタ部を含めると下図のようになる:
LPFはRとCのセットで機能するが,この回路では,分圧抵抗がRの成分を持っているので特別追加する必要はない.
一方で出力側(\(V_{\rm o_det})にはA/D変換器がぶら下がっている.TI社から供給されているTMS320F2837xSより,A/D変換器の回路は,下図のようになっている:
図からわかるように,A/D変換回路には入力キャパシタ\(C_{\rm p} = 12.9\ {\rm pF}\)※,S/H回路スイッチ抵抗\(R_{\rm on} = 425\ {\rm \Omega} \),S/Hキャパシタ\(C_{\rm h} = 14.5\ {\rm pF}\)が存在する.\(R_{\rm s}\)は,等価入力抵抗で,これはユーザが設定する.
※値はポートによって違う.詳細は参考文献のデータシート参照
以上より,出力電圧を検出してからS/Hキャパシタ電圧まで2段のLPFが構成されていることがわかる.
マイコンに実際取り込まれる値は\( C_{\rm h} \)に印加される電圧であるから,以上の回路をまとめると下図のようになる:
実際にこの回路を回路シミュレータPSIMのACSweep機能を用いて周波数特性を解析した結果,下図のようになった:
ただし,サンプリング周波数は100kHz,ホールド時間は75nsecとし,用いたパラメータは次の通り:
Component | Value | ||
High-side resistor | RH | 51 | kΩ |
Low-side resistor | RL | 2.2 | kΩ |
Filter capacitor | Cf | 1.5 | nF |
Parallel capacitor | Cp | 12.9 | pF |
ON resistor | RON | 425 | Ω |
Hold capacitor | Ch | 14.5 | pF |
(表が貧弱すぎるので後々改善する)
分圧+LPF回路のカットオフ周波数は設計上,50kHzであった.しかし,A/D変換回路を含めたf特を見ると,それよりやや低い30kHzになっていることがわかる.
サンプリング周波数当たりでゲインがバウンドしているのは,ディジタルフィルタ特有のもので,折返し雑音によるものである.また,バウンドがあまりキレイでないのは,ACSweepのサンプル数が少ないことが原因...
いちいちシミュレーションにかけるのが面倒であれば,素直にバッファアンプを用いることが手っ取り早い.ただし,100kHzオーダ以上になるとアンプ自体の特性も考慮しなければいけないので,時間とコストを考慮して使い分ける必要がある.
参考文献
TI社,TMS320F2837xS Delfino™ Microcontrollers datasheet (Rev. G),2018,2019/11/24閲覧