片電源でされど多少大きな電流を流したい場合の定電流ドライバの回路案を前回紹介しました。別に私のオリジナルというわけではないと思います。ここでは一つのコイルでしたが、こんな回路をちょっと展開すると 3 相モータ用のドライバ回路になったりします。要はプラス電位側をほぼスイッチ動作にして、グランド側を定電流駆動形式にして電圧ロスを少なくする、というアイディアです。
さてもう一度回路図を掲載します。

波形ですが、コイルの両端電圧(V(N003,N004))と電流(I(L1))の関係について確認しておきます。時間軸が飛んでしまいましたが周波数毎に変えています。
100Hz の場合です。

500Hz の場合です。

1KHz の場合です。
見ての通り周波数が上がるにつれて電流と電圧の位相差が開いていきます。コイル=インダクタンスというのはそういうものです。また電流は±500mAp-p ですが、コイル電圧は周波数が上がるにつれて上がっていきます。これも予定通りです。
ですが、こうやってコイルの端子電圧を同時に見てみると、
100Hz の場合です。

500Hz の場合です。

1KHz の場合です。

なんと!周波数が上がるにつれて端子電圧が上昇するまでは良いのですが、電源電圧を越えています。もっともこういうことはインダクタンスやキャパシタンスが存在する場合は珍しくなく、キャパシタンスの場合だったら適当な電圧が充電されていたとするとその片端がスイッチング動作によってどこかの電圧に移動した場合、もう片端はその電位差を保ったまま平行移動するので電源電圧を越えた電圧が発生します。
一番簡単な例では、CR を使った HPF にパルスを与えると出力はゼロ以下という供給されていない電位が発生するというようなものです。
ということで...。ちょっと待ったー!
雰囲気はそれでも良いのですが、もう少し考えておきます。
電圧が先か電流が先かといった場合、にわとりと卵の関係じゃないでしょうけどなんか堂々巡りになりそうな予感です。
この回路はコイルに入力に従って電流を流す回路です。でも基本的にオペアンプは電圧出力なのでフィードバックを使って電流が指定信号になるように電圧を制御しています。付属するトランジスタも似たようなもののはずですので、オペアンプやトランジスタが電源電圧を越えた電圧を出そうとしているとは考えづらいのです。感覚的には。
ただこのようにコイルに 1KHz 500mA を流そうとしているケースでは、まだ↑点(1.85ms 付近)でコイルへの印加電圧はほぼゼロです。しかし位相遅れが出るためコイル電流はではゼロになっていないのですが、これからゼロに向かおうとしていてさらにいずれ反対方向に向かいます。つまり↑のところではコイル印加電圧はゼロですが、いずれマイナスになります。さてここで一番下のウィンドの V(n004) はコイルの片側電圧ですが、この時点ではほぼ 12V の電源電圧です。またコイルの反対側の電圧は V(n003) ですが、これもほぼ 12V です。ここで V(n003) の電位は Q1 で強制的に 12V に張り付けられているので、電流がこの後反対向きに流れるには電圧は先取りしなくてはいけません。どの部品の意思が働いているのか定かではありませんが、とにかくコイルの両端電圧がマイナスになるためには強制 12V になっている V(003) は動けないので、V(004) が 12V を越えるしかありません。そうでないとコイル電流を次に反対方向に流せないからです。
なんか変な解釈ですね。コイルやコンデンサは電流や電圧を一階積分するものなので、現在の値をみて次の値を決めることができますが、現在の値の変化状態を見て次を考えることはできないはずです。なのに...。
これは多分私の理解不足ですので、ちゃんと微分方程式を解けばきっと分かるでしょう。ここでは感覚的な解説にとどめさせてもらうことにします。
本当はどう動いて欲しかったかというと、↑の地点で Q3 がアクティブになって V(n003) が 12V から下がりだし Q2 が ON になって V(n004) を強制的に 12V に張り付いてくれらば良いようです。ただしこれは実際は不可能でセンシング抵抗 R9 の電圧をみてフィードバックしている都合上、U1 と U2 はコイル電流に対して追従するように出力を決めるので、↑のタイミングで U1 と U2 の動作が切り替わることはできません。
コイルのそれぞれの端子電圧が電源電圧を越えて何が問題なのかは次回考えてみようと思います。
さてもう一度回路図を掲載します。

波形ですが、コイルの両端電圧(V(N003,N004))と電流(I(L1))の関係について確認しておきます。時間軸が飛んでしまいましたが周波数毎に変えています。
100Hz の場合です。

500Hz の場合です。

1KHz の場合です。

ですが、こうやってコイルの端子電圧を同時に見てみると、
100Hz の場合です。

500Hz の場合です。

1KHz の場合です。

なんと!周波数が上がるにつれて端子電圧が上昇するまでは良いのですが、電源電圧を越えています。もっともこういうことはインダクタンスやキャパシタンスが存在する場合は珍しくなく、キャパシタンスの場合だったら適当な電圧が充電されていたとするとその片端がスイッチング動作によってどこかの電圧に移動した場合、もう片端はその電位差を保ったまま平行移動するので電源電圧を越えた電圧が発生します。
一番簡単な例では、CR を使った HPF にパルスを与えると出力はゼロ以下という供給されていない電位が発生するというようなものです。
ということで...。ちょっと待ったー!
雰囲気はそれでも良いのですが、もう少し考えておきます。
電圧が先か電流が先かといった場合、にわとりと卵の関係じゃないでしょうけどなんか堂々巡りになりそうな予感です。
この回路はコイルに入力に従って電流を流す回路です。でも基本的にオペアンプは電圧出力なのでフィードバックを使って電流が指定信号になるように電圧を制御しています。付属するトランジスタも似たようなもののはずですので、オペアンプやトランジスタが電源電圧を越えた電圧を出そうとしているとは考えづらいのです。感覚的には。
ただこのようにコイルに 1KHz 500mA を流そうとしているケースでは、まだ↑点(1.85ms 付近)でコイルへの印加電圧はほぼゼロです。しかし位相遅れが出るためコイル電流はではゼロになっていないのですが、これからゼロに向かおうとしていてさらにいずれ反対方向に向かいます。つまり↑のところではコイル印加電圧はゼロですが、いずれマイナスになります。さてここで一番下のウィンドの V(n004) はコイルの片側電圧ですが、この時点ではほぼ 12V の電源電圧です。またコイルの反対側の電圧は V(n003) ですが、これもほぼ 12V です。ここで V(n003) の電位は Q1 で強制的に 12V に張り付けられているので、電流がこの後反対向きに流れるには電圧は先取りしなくてはいけません。どの部品の意思が働いているのか定かではありませんが、とにかくコイルの両端電圧がマイナスになるためには強制 12V になっている V(003) は動けないので、V(004) が 12V を越えるしかありません。そうでないとコイル電流を次に反対方向に流せないからです。
なんか変な解釈ですね。コイルやコンデンサは電流や電圧を一階積分するものなので、現在の値をみて次の値を決めることができますが、現在の値の変化状態を見て次を考えることはできないはずです。なのに...。
これは多分私の理解不足ですので、ちゃんと微分方程式を解けばきっと分かるでしょう。ここでは感覚的な解説にとどめさせてもらうことにします。
本当はどう動いて欲しかったかというと、↑の地点で Q3 がアクティブになって V(n003) が 12V から下がりだし Q2 が ON になって V(n004) を強制的に 12V に張り付いてくれらば良いようです。ただしこれは実際は不可能でセンシング抵抗 R9 の電圧をみてフィードバックしている都合上、U1 と U2 はコイル電流に対して追従するように出力を決めるので、↑のタイミングで U1 と U2 の動作が切り替わることはできません。
コイルのそれぞれの端子電圧が電源電圧を越えて何が問題なのかは次回考えてみようと思います。