SX-150 の VCO の温度補償 (13) -- その他の補償 (1)
これまでは、ベース電流補償のような回路的な要因による誤差を扱ってきましたが、ここでは、トランジスタ自体の持つ誤差の補償を考えてみたいと思います。
理想的な ΔVbe - Ic 特性を阻害する要因のひとつとして、「エミッタ直列抵抗」としてシミュレーションではモデル化されるものがあります。
これは、左の図のように、内側の点線で示したトランジスタを理想的な PN 接合だけからなる「真性トランジスタ」として、モデル外部へのベース、エミッタ、コレクタ各電極に直列に純抵抗分を付加するものです。
外側の点線がトランジスタモデルとしての範囲です。
PN 接合から直接に電極を引き出せるわけではありませんから、各直列抵抗によって、
をモデリングしているわけです。
エミッタ電流を とすると、この電流により、エミッタ直列抵抗 の両端に だけの電圧降下が生じ、内部の真性トランジスタに加わる 電圧がその分だけ目減りすることになります。
当然、エミッタ電流 が大きいほどこの誤差も大きくなりますから、大電流域、つまり、VCO の発振周波数が高い領域で、正規の音程よりも下がってくるという現象になります。
このエミッタ直列抵抗の値は、LTspice 付属のライブラリでは、汎用小信号用 NPN トランジスタの 2N2222 では 1 Ω 、2N3904 では 0.1 Ω となっています。
通常の使用では問題にならない値ですが、エミッタ電流 1 mA を仮定すると、エミッタ直列抵抗 1 Ω では電圧降下は 1 mV となり、Vbe - Ic 特性では 1 オクターブが約 18 mV、半音で約 1.5 mV であることから計算すると、約 67 セント音程が下がることになります。
同様に、ベース電流 についても による電圧降下で は だけ目減りします。
ベース直列抵抗は周波数特性に影響を与えますが、DC 的な の目減りという点については、 による寄与と、 による寄与との区別はつきません。
の関係により、
の式で相互に変換できます。
たとえば、上の式で を に変換した場合には、新しいベース直列抵抗値は となり、新しいエミッタ直列抵抗値は となります。
この直列抵抗分による誤差の補正は、原理としては簡単で、たとえばエミッタ電流 をセンスして に相当する電圧を作り出し、外からドライブしているベース・エミッタ間の電圧にそれを上乗せしてやればいいのです。
簡単な回路で Q2 のエミッタ電流をセンスするのは難しいので、Q2 のベース電流を供給している Q902/M902 のコレクタ/ドレイン電流を代わりに利用することにします。
左にその回路を示します。
この回路では Q2 のドライブに NMOS を使っていますが、バイボーラ版でも同じことです。
M902 のドレイン電流を PNP トランジスタ Q907、Q908 のカレントミラーで折り返し、R908 で電圧に変換します。
補正量はこの抵抗値で調整します。
この電圧を R909 でアンチログの入力側に加算してやります。
LTspice で「チャンピオン・データ」を求めるシミュレーションをしてみました。
回路は (→こちら) です。
LTspice 付属のライブラリの小信号用 NPN トランジスタでは 2N3904 が特性の曲がりが一番少なかったので 2N3904 をアンチログ・ペアとして使いました。
ベース電流誤差のない NMOS ドライブとし、設定電流の温度特性の微調整が可能な Wilson 型 PNP カレントミラーを使った回路を選択しました。
1 μA の設定電流の変動のグラフを下に示します。
緑が -7℃、青が 27℃、赤が 57℃です。
±30℃ の温度変化、10 オクターブの範囲での変動が約 100 pA 以内におさまっています。
出力電流の偏差を音程のセント単位で表示したグラフを下に示します。
青色の 27℃のグラフは 1 セントもずれていません。
±30℃ の温度変化、10 オクターブの範囲での変動が +2 セントから -10 セント以内におさまっています。
この状態にするために、R901 の温度係数と R905 の値を細かくいじりました。
抵抗値はともかく、抵抗の温度係数を実際には任意にいじれるわけではありませんから、この「チャンピオン・データ」の再現は不可能です。
CV 入力はパッシブ・ミキサとなっているため TEMPCO の温度補償効果が薄められるので、一般的な 3300 ppm/℃ の TEMPCO を使うと最高音では ±30℃ の温度変化に対して ±100 セント程度の変動となります。