MastHead

三角波をサイン波に近づける - その2


10 月 20 日の記事でトランジスタのエミッタをつかって電流を取り込むような形のサイン波形成回路を紹介しました。
その回路での問題点は、エミッタ・ベース間の浮遊容量が大きいため高周波での応答が遅いことです。  それを何とか改善する回路を紹介します。

接合容量が小さくて、等価直列抵抗が小さいダイオードを探していましたが、なかなか見つかりません。  まあ当然といえば当然ですが。 
そんな中で Rohm の 1SS133 が逆電圧 0.5V で 0.8pF という容量でしたので、これの直列抵抗を測定してみました。 

右の図が Ta=19℃ の時の Vf-I 特性です。 ピンクの線は青点の測定値を通るダイオードカーブです。  これで I0 と λ を決めます。  I0 が大きくなるとピンクの線は左にシフトし、λが大きくなると右に倒れます。 両方を動かして青い点に重ねます。  そうすると I0=1.321E-9、λ=1.793 となりました。 トランジスタの時よりも飽和電流が数桁大きく、λもずいぶん大きい数字です。  λが大きいと等価直列抵抗が大きくなります。 左の図はピンクの線を微分して求めた等価交流直列抵抗値です。

トランジスタの時の 1.5 倍程度になります。

でも、何とかこれを使って回路を構成してみましょう。  前にも書きましたが、ダイオードを使った時は、バイアス側の回路の電流が大きくなってかなり難しくなりますが、どうなるでしょうか。



右のような回路構成になります。  等価直列抵抗が高いので、誤差がかなり大きくなってサイン波の頭がちょっととんがった形になりますが、まあこれが限界です。 

下を見てください。 トランジスタの時よりかなり歪みが大きくなりますね。



この図の Error のカーブは、B1~B4 が定電圧だと仮定して出したものです。  実際には若干のインピーダンスを持ちますが、後で検討します。
赤い線の歪み率は右の図の通りです。 9次が -51dB までしか抜けていません。

さて、ダイオードの温度特性を補償し、4つのバイアス回路をトランジスタ1つで作ってみます。  ちょっと工夫してできあがったのが下の回路です。 
ベース電位の決め方は次の通りです。 ダイオードの 100uA 時の順方向電圧降下を室温で計り、これを仮に VD1 とします。  同じ周囲温度で、トランジスタにヒートシンクを付けた状態でエミッタに 20mA 流したときのベース・エミッタ降下電圧を計り、それを仮に VBE1 とします。  ベース電位の設計値を [ 1 + 0.008 - (VD1 + 0.002) + VBE1 ] にします。   この図のものはたまたま私の持っていた部品の場合ですから、実測値を使ってください。  式中の 8mV というのは、上の誤差カーブの右端の量です。  2mV というのはピークでの電流値が 100uA よりわずかに大きいのでその補正量です。


内側のダイオード(D1, D2)については完全な補償になってなくて、9割ほどしか補償していませんが、内側はそれほどバイアスの誤差に敏感ではありませんから問題になりません。  D1、D2 のバイアスを -5V につないであるのは温度によるトランジスタの VBE 変化を効果的にダイオードバイアスに反映するためです。  D3 のバイアスが -5V に行かず、GND につながっているのは電力の節約のためです。
回路としては、右の図のように、テブナンの等価の逆を使っています。  下側の抵抗値を大きくしていますので、 0.5V 側の電圧変化はほとんどそのまま出力に出すことができます。

バイアス回路はオペアンプにしてもよかったのですが、高周波で出力インピーダンスが低くないといけないので、かなり高い周波数応答が求められます。  それでエミッタフォロアで作りました。 出力インピーダンスを低くするには電流を流してやらねばなりません。  上の回路では 20mA ほど流しています。 この電流の時、上側の 2SC3076 は 1.3Ω ほどになります。  下側の 2SA1242 は 1.4Ωです。  さらに、ベース側のインピーダンスが 170Ωぐらいですから、その 1/HFE が上乗せされて、エミッタからのぞき込んだ等価抵抗は 2Ω ちょっと程度になります。

その値がどの程度影響を及ぼすかを評価してみますと、上の誤差カーブが右端で上に 1mV 振れる程度です。  何とか我慢できるぐらいですね。

トランジスタは 0.1W ほど発熱します。  ダイオードの温度からあまり乖離しないように、熱抵抗の低いトランジスタを選び、半田付けで放熱板を付けます。  銅の 0.5mm 厚の 2cm 四方程度でいいでしょう。  コレクタに抵抗を入れて電圧を 2V ほどに下げ、発熱の一部を抵抗側に持っていく手もあります。  温度を上げると安定になるまでの時間がかかるようになります。

トランジスタのベースに入れてある 10uF は、ベース・エミッタの接合容量で抜けてくる信号によってベースが振られるのを防ぐためです。

ダイオードは上側と下側で、対称になるようなペアを組んでいきます。  特に、一番端 (D4:0.5V バイアスの位置) のペアとその次(D3)のペアは大切です。  右の図は 18 個調べた 19℃での Vf の値ですが、0.3mV 以内のものを選びます。
Vf 測定時は、指で触ったり自己発熱があったりしますから電流を流して1分ほどしてから電圧値を読みます。

回路図中に緑の線で書いたガード電極は浮遊容量を少なくする工夫です。


試作して特性を見たのが次のグラフです。 スペクトルの縦軸は 10dB 間隔です。  1kHz ですが、やはり9次のハーモニックが出ています。 レベルは予想したより少し低めです。  この絵を取るときはかなりチューニングしていますので、-60dB 以下は再現性はあまりないものと思ってください。
   
チューニングの仕方は次の通りです。 1時間ほど暖めた後で行ってください。
  1. まず、オフセットを消します。 IC1 の負入力の X をつながずに、正入力を前段から切り離しグラウンドします。 IC1 の出力の電圧を計り、その値が 0mV になるような X を入れて +5V か -5V につなぐのですが、 そのとき 1mV につき 1MΩ を基準とし、オフセット量に反比例した抵抗値を、 オフセットと同じ極性(オフセットが+なら+5V)の電源につなぎます。
  2. 入力の三角波の上がり傾斜の時間と下がり傾斜の時間を正確に同じにします。
  3. Q2 のベースバイアスを設計値に合わせます。 これ以後このポットは動かしません。
  4. Q1 のベース電圧を動かして、2次調波を下げます。
  5. そして IC1 のゲインを動かして3次調波を下げます。 4と5の2つは繰り返します。
  6. 三角波の上がり下がりの時間比を調整して2次調波が最低になるようにします。 もう一度4,5,6,を実行します。
ポットは次のようにしておくと調整しやすいでしょう。  ただし、578 については部品数が多くなって浮遊容量が大きくなりますから発振しやすくなります。  私は 2pF を帰還回路に入れて相殺しています。


高い周波数の反応も見てみました。 下の絵は、左側が1MHz で、少し遅れていますがかなりいい波が出ています。
右側は 5MHz の出力ですが、サイン波の左側が急峻でダイオードの順方向リカバリが問題なのが分かります。 また右側がふくらんでおり逆方向の蓄積が現れています。
   


[余談]
PN 接合のダイオードにはマイノリティキャリア(P領域に入った電子、N領域に入ったホール)による蓄積時間があり、逆方向に切り替わったときにすぐには追従しないという弱点があります。  今回の回路では大量の電流を流しませんので 1MHz 程度まではそれほど問題にはなりません。
この問題を追求すると、ショットキバリアダイオードを使いたくなります。 実際にルネサスの 1SS106 を 40 本ばかり調べてみました。  スイッチング特性はすばらしいのですが、逆方向の漏れ電流がばかにならなくて使えないことが分かりました。 ほとんどのサンプルで、2V ほどの逆電圧をかけると室温でも 8uA 程度漏れてしまいます。   (順方向の等価抵抗も大きいようでしたが、測定したデータがどこかに紛れ込んで見つかりません。)



三角波をサイン波に近づける - その3


上の 5MHz の波形が悪いことについて、ちょっと考えました。 順方向リカバリと逆方向リカバリは PN 接合を使っている限り避けられません。  そこで、ショットキを何とか使えないでしょうか。

1SS106 は逆方向漏れ電流が大きすぎました。 、、、、  と、ここまできて、以前の記事「ショットキバリア、順方向電圧の温度特性」のグラフで 1SS97 が上の方にあることを思い出しました。
上の方にあるということは一般的に逆方向の漏れ電流が小さいのです。 調べてみると案の定 21℃で I0 が 0.7nA です。  おまけにλが 1.05 ほどですので、トランジスタまではいきませんが 1SS133 よりはずいぶん良くて、9次の歪みが下がりそうです。

とりあえず設計してみました。 下の定数です。  この定数はサンプルのダイオードで順方向電圧が 100uA 時に 0.313V だったものを使って計算しています。
   
これで歪みを予測してみますと下のようになります。 計算上は9次の歪みが劇的に下がります。
  
バイアスはトランジスタでは補償が大きすぎますので、同じ 1SS97 を使ってレスポンスの速いオペアンプでバッファリングしてやります。  できた回路は下のようになります。 LC6200 はバイアス電流が大きいので、3.7k はだいぶ調整がいるかもしれません。  本当はもっとバイアス電流の低いものの方が温度ドリフトも小さくていいのですが、手持ちにありませんでした。



実験結果です。 使った抵抗は 2 本だけの直列を使ったので 0.1 から 0.5% の誤差があります。 上側と下側はできるだけ合わせました。   ショットキバリアでちょっと問題なのは、PN 接合型よりも製造技術が成熟していませんので個体間のばらつきが大きいことです。  10 本必要なのですが 60 本ほど購入して選別し、接近したものが 11 本採れました。

下の左の図は 1kHz での歪みです。 予想通り低次の歪みが下がりました。 9 次がずいぶん良くなっています。 右側は 5MHz の波形です。 少し良くなりましたが期待ほどではありませんでした。 どうも1段目のオペアンプでのピーク(高い周波数での位相ずれ)の影響があるようです。
   


それでは 3 つ作ったものを比較しておきます。 どれも 1kHz の高調波歪み特性です。

まず「その1」で作った 2SA942/2SC2240 を使ったケースです。
上下に異なる素子を使って、サボった設計をしているため、偶数次歪みが少し残っています。

スペクトルは横軸は 25kHz のスパンで、縦軸は 10dB/div です。
「その2」で、1SS133 のスイッチングダイオードを使ったケースです。
上下の対称性があるためにやや歪みが下がりましたがダイオードの内部抵抗が大きいため  9 次の歪みが大きく残りました。
「その3」で、1SS97 を使ったケースです。
内部抵抗が低い(λが小さい)のでずいぶん良くなりました。 
最終的にこの回路を使っています。

15 次を下げるようなさらなる改良をするには片側 4 段では無理でしょう。 5 段で設計する必要があります。
これは改良前の MAX038 のサイン波出力端子の歪み特性です。
お話にならないぐらいひどい偶数次歪みが出ていました。