2017年8月18日金曜日

Dual OTA VCA 1chのみでテスト

OPAMP+PNP TrのV→I変換のテストが少し変だったので、もう一度、自作の可変電流源ユニットをNJM13600につないで実験してみた。

可変電流源ユニットでテスト


Nucleo F446の内蔵DACからノコギリ波を出力し、10kΩの負荷抵抗をつないで出力レベルを調整。

mbed Repository:
https://developer.mbed.org/users/ryood/code/Nucleo_AnalogOut_SawWave/


ch2:可変電流源ユニットの出力電圧

776.0mVp-p / 10kΩ = 77.6uAp-p

NJM13600に接続



ブレッドボード図

電源電圧: +5.00V / -4.97V


ch1:Wave入力 ch2:Wave出力

660.0mVp-pのサイン波を入力して、2.060Vp-pの振幅変調された波形が出力されている。


ch1:可変電流源ユニットに入力したエンベロープ波形 ch2:Wave出力

ch1はNucleo F446からの出力で、可変電流源ユニットでレベル調整後、電圧→電流変換している。可変電流源ユニットの出力電流は上の通り77.6uAp-p。


ch1:NJM13600のPin1(AMP BIAS INPUT A)の電位 ch2:Wave出力

NJM13600のAMP BIAS INPUTは電流入力なので電位の波形は歪になっている。

OPAMP+PNP Trの電圧→電流回路でテスト


回路図


OPAMP+PNP Trの電圧→電流回路のみで、Nucleo F446の内蔵DACからノコギリ波を出力し、10kΩの負荷抵抗をつないで出力レベルを調整。

ブレッドボード図

負荷をPNP Tr(T1)とGNDの間に入れた場合

ch1:エンベロープの入力電圧 ch2:ブレッドボード図のVOUTの電位

332mVp-p / 10kΩ = 33.2uAp-p

T1のコレクタより、GNDの方が電位が高いので反転した波形になっている。

負荷をPNP Tr(T1)とVEEの間に入れた場合

ch1:エンベロープの入力電圧 ch2:ブレッドボード図のVOUTの電位

GNDから見た電位。下がVEE(約-5V)からの波形になっている。

NJM13600に接続



ブレッドボード図

電源電圧: +5.00V / -4.97V


ch1:Wave入力 ch2:Wave出力

660.0mVp-pのサイン波を入力して、1.940Vp-pの振幅変調された波形が出力されている。


ch1:電圧→電流変換回路に入力したエンベロープ波形 ch2:Wave出力


ch1:レベル調整、LPFフィルタ回路通過後のエンベロープ波形 ch2:Wave出力

電圧→電流変換直前の電圧波形で、888mVp-pになっている。LPFはR8の抵抗値を最小にして効かないようにしている。


ch1:NJM13600のPin1(AMP BIAS INPUT A)の電位 ch2:ch2:Wave出力

エンベロープにLPFを効かせる

ch1:レベル調整、LPFフィルタ回路通過後のエンベロープ波形 ch2:Wave出力

R8の抵抗値を中位にした。振幅変調がなめらかになっている。

メモ:


電源電圧は±3V程度から動作するようだ。

電圧→電流変換の比率をもう少し大きくし(現状だとI=V/10,000)、入力のトリマで減衰させるようにしたほうがいいか?

2017年8月16日水曜日

Dual OTA VCA 電圧→電流変換部のテスト

NJM13600に振幅変調信号を入力するための電圧→電流変換部を実験してみた。

シミュレーション回路図

エンベロープ信号(3.3Vp-pの単電源波形のノコギリ波)を、R4、R5+R6で分圧して入力レベルを調節、C1,R3の1次LPFで波形をなまらせ、U1あたりで電圧電流変換を行っている。

Q1のコレクタが出力で、電位は負電圧になるので、負荷はVEEにつないでいる。(コレクタからVEEに電流が流れる)

U2、U3のボルテージフォロアは、回路を分離するために入れている。Rの値を調整してフォロワーなしでうまいこと出来ないか考えてみたが、レベル調節とLPF、電圧→電流変換の比率の設定が干渉してしまうので、かっこ悪いけどフォロワーで分離した。

過渡解析

入力信号V(in)は4Hzのノコギリ波で、120BPMの8分音符の長さ。I(Rl)は出力電流。V(lpf)はレベル調節とLPFを通過後、電圧→電流変換前の電圧値。

電圧→電流変換の比率は、R1とR2で(ほぼ)決まり、1/10000(1V→100uA)の比率になる。

ブレッドボード配線


入力信号はNucleo F446でノコギリ波を出力して使っている。負荷として1kΩのRを入れているので、I(Rl)=V(Rl)/1000となる。(1Vで1mA)

mbed Repository:
https://developer.mbed.org/users/ryood/code/Nucleo_AnalogOut_SawWave/

測定波形


電源電圧: +4.97V / -5.00V

出力:LPFオフ、Level最大

ch1:入力 ch2:V(Rl)

LPFがオフになるようにRfcを0Ω側にして測定。入力レベルを最大にすると出力波形が頭打ちになる。

出力:LPFオフ、Level歪まない程度

ch1:入力 ch2:V(Rl)

LPFオフ。入力を最大にすると出力波形が頭打ちなるので、入力を適当に絞っている。

電圧→電流変換前:LPFオフ、Level最大

ch1:入力 ch2:V(lpf)

10kΩ(固定抵抗)と10kΩ(半固定可変抵抗)の分圧なのでV(lpf)は入力の1/2の電圧値になっている。

電圧→電流変換前はLevelを最大にしても波形は歪んでいない。

電圧→電流変換前:LPFオフ、Level歪まない程度

ch1:入力 ch2:V(lpf)

出力が歪まない程度にLevelを調節すると、電圧→電流変換前は300mVp-p程度。

出力が頭打ちになって歪むのは電圧→電流変換の部分だと思う。

電圧→電流変換の比率を見ると、

I(Rl) = V(Rl)/Rl = 292mVp-p/1kΩ = 292uAp-p
V(lpf) / I(Rl) = 308mVp-p/292uAp-p ≒ 1000

シミュレーションより10倍ぐらい大きい??何かおかしいか。

出力:LPF最大、Level最大

ch1:入力 ch2:V(Rl)

LPFがよく効くようにRfcを10kΩ側に設定

出力:LPF中間、Level最大

ch1:入力 ch2:V(Rl)

エンベロープ波形を入力

NucleoでKIK01用に作ったAR型のエンベロープを出力して測定してみた。

mbed Repository:
https://developer.mbed.org/users/ryood/code/NucleoF446_EnvelopeGenerator_AR/

LPFオフ

ch1:入力 ch2:V(Rl)

LPF中間

LPF最大

Level最大


入力レベルを最大にしてエンベロープ波形を歪ませてみた。


ch1:入力 ch2:V(Rl)

なんと、ADSRっぽい波形になった。

メモ:


使ったPNP Tr(2SA1015)をAVRトランジスタテスターで測定

B:304
Vf:648mV

シミュレーションと10倍ぐらい違うような気がするが、3.3Vp-pのエンベロープ波形を入れて300uAp-pの電流が出力出来ていると思うので、とりあえず実験続行予定。

2017年8月14日月曜日

ソフト1年、デジタル3年、アナログ8年

ももクリ3年、柿8年ではないですが、ソフト1年、デジタル3年、アナログ8年という格言があります。

正直言ってアナログ回路をちゃんと動かすには8年程度じゃ無理だと思いました。

まあまあ、こんなもんだろと言うレベルまではコピペで行けますが、原因を特定する手段が多岐にわたってしまって収拾がつかなくなる。

原発を動かしてる日立や東芝のメーカーの人は何を考えてるんだかわからない。

どうせ責任取るのはトップだろと、軽い気持ちで考えてるかもしれないですが

トップは責任を取らない仕組みになっています。

実にアナログは予測不能。