MicroPythonを使ったINA219による電圧・電流の測定について以前記事にした。
INA219の測定対象は1chだけど、I2Cアドレスを別々に設定して必要な回路数のINA219を使えば複数回路の測定も可能。しかし今回は、CMOSアナログスイッチを用いて電圧・電流の測定対象をデジタル的に切り替える方法を試す。この方法を使うと1つのINA219で複数回路の測定が出来るようになる。
CMOSアナログスイッチとは?
CMOSアナログスイッチはICへのデジタル入力値に応じてアナログ的に回路をOn/Off出来る物で、汎用ロジックICに幾つかラインナップがあり、今回は74HC4052を使う。
https://assets.nexperia.com/documents/data-sheet/74HC_HCT4052.pdf
4052のブロック図
上記74HC4052のデータシートからブロック図を拝借。
s0,s1,Eへのデジタル入力に応じて、1Zは1Yxの何れか、2Zは2Yxの何れかへそれぞれ接続される。真理値表にまとめると以下のような感じ。
E | s0 | s1 | 1Z接続先 | 2Z接続先 | 備考 |
---|---|---|---|---|---|
L | L | L | 1Y0 | 2Y0 | |
L | L | H | 1Y1 | 2Y1 | |
L | H | L | 1Y2 | 2Y2 | |
L | H | H | 1Y3 | 2Y3 | |
H | x | x | – | – | 全てオフ |
伝達可能な電圧は電源電圧の範囲
一点注意が必要なのは、CMOSアナログスイッチで伝達可能な電圧がVEE 〜 VDDの範囲に限られること。通常の74HCロジックと異なり電源電圧として11V迄VDDにかけられるのと、VEEに負電圧をかけておけば交流信号を伝達させる事も出来る。実際、当ブログでも以前の記事にて交流を伝達させる目的で4052に正負電源を供給した回路を組んだ事がある。
電圧・電流測定の切替回路をLTspiceで組んでみる
4052のSPICEモデルをLTspiceで使うための方法は以前の記事で紹介した内容と同様。上の図と信号名のラベリングが微妙に異なるが、動作そのものは全く同一だ。
測定対象を切り替える原理
上記回路ではINA219などの電圧測定端子を4052のX,Y端子に接続しっぱなしのまま、あとは4052のA端子に入力するデジタル信号で測定対象を切り替え可能だ。つまりA端子をESP32などマイコンのIOポートに接続しプログラムでポートのHigh/Lowを制御すればOKということ。
A端子の入力と測定対象の切り替えの関係を改めて表にまとめると以下のようになる。
A(SW) | X接続先 | Y接続先 | 備考 |
---|---|---|---|
L | xio0 | yio0 | RL1の電流を測定 |
H | xio1 | yio1 | RL2の電流を測定 |
xio0とyio0はシャント抵抗Rs1の両端に接続されており、xio0とyio0の電位差を測定するとRs1に流れる電流(=負荷抵抗RL1に流れる電流)とV1の電圧を測定出来る。A=Lの時はxio0とyio0がそれぞれXとY端子に接続されるのでRs1の両端電圧を直接測定しなくてもXとYを介して同じ測定が可能だ。またA=Hの時は同様にRs2に流れる電流(=RL2に流れる電流)がX,Y端子を介して測定出来る。
但し、4052自体に数十Ωのオン抵抗があり大電流を流すことは出来ないため、INA219のようにシャント抵抗を外付けするタイプの電流測定IC以外は使えない。
電源は5V・ロジックは3.3Vに設定
4052のX端子は電源(V1かVDD)に接続されるため、X端子を介して電源電圧の測定も可能だ。VDD(5V)も測定対象にしたいので4052の電源はVDDに設定する一方、ロジック信号に見立てた電圧源Vswの電圧はESP32マイコンをイメージして3.3Vとした。Vswを4052のA入力に接続しており、測定対象を正しく切り替えられるかシミュレーションで確認する。
LTspiceのシミュレーションで動作を確認
測定対象の電源電圧の切り替えを確認
VswがLレベルの時にYとV1が接続されるためV(Y)が3.7Vに、VswがHレベルの時にYとVDDが接続されるためV(Y)が5Vになっており、期待通りに動作していることが確認出来る。
測定対象の電流を確認
測定回路とは無関係にRL1とRL2には電流が流れている事を一応確認。RL1が500mA、RL2が370mA。
電流の測定対象切り替えを確認
シャント抵抗の電位差がXとYの電位差として現れていることを確認する。グラフ前半は370mAに対応したRs1の両端電圧37mV、グラフ後半は500mAに対応したRs2の両端電圧50mVが現れている。0.5msの所で回路が切り替わる瞬間はノイズが乗っている(実測定の時は切り替え後少し時間を空けるのが良さそう)。
まとめ
CMOSアナログスイッチによる電流・電圧の測定対象切り替えの原理をLTspiceで確認した。INA219など1ch用の測定ICであっても、74HC4052を使うとマイコンからデジタル的に制御することで4倍の4chの測定が出来るようになる。74HC4052は汎用ロジックICとして安価に出回っており追加コストも殆どかからない。また、ロジック回路を組めばいくらでもch数を増やせるので、色々応用範囲も広がりそうだ。
コメント