昔オペアンプを使ってアナログ回路を設計していた頃は、電源電圧は±15V ありました。それから光ディスクドライブを組み込み型として設計するようになると片電源 +12V で設計しなくてはいけなくなりました。
その辺りの経緯は次の記事に少し書いてあります。

片電源をどうやって使うか>「回想録」

http://blogs.yahoo.co.jp/susanoo2001_hero/6457862.html

さて、それでも小信号は何とかなるのですが問題はモータやアクチュエータを駆動するときです。±15V あったときはコイルに順方向に電流を流すとすると +15V - ドライバ - コイル - グランド、逆方向に電流を流す場合はグランド - コイル - ドライバ - -15V に流せば良かったのですが、片電源ともなるとそうもいきません。+12V - ドライバ - コイル(順接続) - グランドと +12V - ドライバ - コイル(逆接続) - グランドとを切り替えながら流すことになります。しかし切り替えは大変です。

そこで使っているのが次の回路です。
イメージ 5

やさしく考えるアナログ回路:オペアンプ定電流回路のバリエーション2
http://blogs.yahoo.co.jp/susanoo2001_hero/5682271.html

当時ドライバ型オペアンプとしていくつか製品はあったのですが、もちろんそんなに大電流が流せるわけではありません。またそれぞれのオペアンプの出力はいわゆるレール・トゥ・レールではないので、上下のオペアンプでそれぞれ 1V ~ 1.5V 消費してしまいます。その分コイルのインダクタンスに打ち勝って電流を流そうとすると印加電圧が不足しがちです。
さらに最近は電源電圧そのものが +5V だけだったりすると余裕が全くありません。

そこで今回は及ばずながらも少しでも何とかならないかと考えてみたのが次の図です。
イメージ 1

お得意の差動増幅器を使って、入力電圧に対して順逆の信号を作ります。たとえば左側のオペアンプがアクティブになっているときは右側のオペアンプはほとんど出力はマイナス(この場合はグランド)に張り付いているし、入力の極性が変われば逆の状態になります。
そうしておいて、オペアンプがアクティブの場合は次に接続されている NPN トランジスタを駆動し、エミッタ電流を検出してフィードバックを掛けることで電流駆動にしています。
オペアンプがマイナス側に張り付いているときは、それを利用してコイルの反対側を PNP トランジスタを使って電源側に接続させます。
こうしてコイル電流の流れとしては、+12V - スイッチ(トランジスタ) - コイル - ドライバ(トランジスタ) - グランドという経路になりますが、PNP トランジスタがスイッチとして働いているのがミソでそこでの電圧ロスは最小限に抑えられます

が、実はこの回路あまり上手くいきません。
理由はトランジスタの入力電圧が低いためオペアンプとしても大きな電圧を掛ける必要がないため、上側の PNP トランジスタから見ると大きなスイッチング指示信号に見えないからです。で、NPN トランジスタの前に抵抗アッテネータを入れたり、ツェナーダイオードを入れたりしてオペアンプの出力電圧振幅を大きく取るべく苦労した思い出があります。上側の PNP トランジスタが二つともほぼ常時アクティブになっていて、コイルにちっとも電流が流れずにトランジスタで電力を消費していたなどという笑えないことをやっていました。

今だったら閾値が高めの NMOS トランジスタを使うというのも検討に値するでしょう。
こんな感じです。

イメージ 2
PNP トランジスタの代わりに PMOS を使うと制御がしやすいと思います。この辺りの MOS トランジスタの駆動はこの記事が参考になると思います。

ペア MOS チップで駆動してみる
http://blogs.yahoo.co.jp/susanoo2001_hero/8931090.html

また片電源であることを考慮すると、オペアンプもレール・トゥ・レールを使わないと出力電圧が十分マイナス側(グランド電位)に行きません。それでいてコイル電流の最大値をトランジスタの hfe で割った分の電流はトランジスタのベース電流に流さなくてはいけませんので、それなりの出力電流が取れるものでないと困ります。またフィードバック回路に色々部品が付くので位相マージンのあるものを選んでおかないと発振気味になって苦労します。

PNP トランジスタも PMOS トランジスタも hfe、閾値などのばらつきを考慮すると定数決めが結構難しいかも知れません。

そこでちょっと複雑になってしまいますが、こんな回路はどうでしょうか。
イメージ 3

PNP トランジスタの駆動が問題なのでもう一つ NPN トランジスタを追加して確実に ON / OFF しようというものです。
少なくとも PNP の ON / OFF の関しては定数決めは楽になります。
波形はこんな感じです。回路図中 V(L1) とあるのは、コイル両端電圧でグラフでは V(N003, N004) のことです。
イメージ 4

入力電圧 ±0.5V の指示に対してセンシング抵抗が 1Ω ですから、±0.5A の電流が流れています。
コイル両端電圧は電流に対して位相が進んでいますので、電気理論通りですね。周波数を上げるとこの差は大きくなります。

もちろん、オール MOS にすればさらに楽になりそうです。

え、どうして DC / DC コンバータでもめた同時スイッチングなどを問題視しないかって?
単に扱っている周波数が低いから気にならないだけです。キリ!
波形を細かく見るとパルスが出ていたり、クロスオーバー歪みが出ていたりします。ですが駆動対象がモータやアクチュエータなら気にしない、ということでどうでしょうか。
もう少し云うと、もし電源電圧が 5V と低くてツェナーダイオードや余計な部品が減らせればかなりきちんと動かすことが出来ます。これは DC / DC コンバータの検討でも出てきました。レベルシフタが不要ならスイッチング動作も楽になるということです。

実はこの記事を書きながらシミュレーションしていたら当時気がつかなかった波形が観測されました。この続きは次回もう少し詳しくやります。