2018年2月25日日曜日

Arduino LFO Main Board はんだ付け完了

ブロック図

Main BoardはChannel Aの1チャンネルのみの出力としました。

回路図

基板図

部品面

はんだ面

<追記:2018.03.12>

画像の「ここ」は、はんだ忘れでした。最初の導通チェックは通過しましたが運用開始後、わりとすぐに発見できました。

ユニバーサル基板のはんだ面は記録するのが恥ずかしいですが、画像で記録しておいてよかったと思います。

</追記>

斜めから

Arduino NANOを背の高いピンソケットをかましてMCP4922と段違いにしてUSBケーブルを差しやすくしましたが、MCP4922の出力とVREF設定用のピンソケットと干渉しそうです(^q^;;;

アナログ系の出力ボードをテストしながら製作していきます。

Github:
https://github.com/ryood/ArduinoLFO

2018年2月21日水曜日

Tr回路の実験 差動増幅回路 その2

差動増幅回路をブレッドボードで実験しました。

回路図

ブレッドボード配線図

定電流源に使っているQ3のバイアス回路のR6、R7を12kΩ、33kΩに変更しました。

信号源: PCM5102A PCM5102Aファンクションジェネレータ+4次バターワースLPF
電源電圧: +4.98V / -4.99V
Q1: 2SC1814 GR (β=417 Vf=691mV) (※)
Q2: 2SC1814 GR (β=417 Vf=693mV) (※)
Q3: 2SC1814 GR (β=380 Vf=689mV) (※)

(※)AVRトランジスタテスターで測定

入力

ch1:IN1 ch2:IN2

主にch2:IN2に信号波形が現れていて、ch1:IN1はノイズに埋もれてしまっています。4次バターワースLPFの出力のOUT側をch1、GND側をch2に接続しています。

差動入力なのでこれでいいかと思いましたが、3線のバランス出力(+、-、GND)で出力しないとうまくいかないのでしょうか?

出力

ch1:OUT1 ch2:OUT2

出力はちゃんと差動出力になっています。入力が100mVp-pとすると、OUT1、OUT2それぞれの増幅率Avは Av = 2.18Vp-p / 100mVp-p = 21.8(26.8dB)です。

Trの各端子の電位


Q1、Q2のエミッタ電位

ch1:Ve ch2:OUT2

Q1、Q2のエミッタの電位ch1:Veは-687.6mVで振幅はほとんどありません。AVRトランジスタテスターで測定したVfと近い値になっています。

Q1、Q2のコレクタ電位

ch1:Vc1 ch2:Vc2

Q1のコレクタ電位Vc1の中心値は2.554V、Q2のコレクタ電位Vc2の中心値は3.200Vで656mVの差が出てしまいました。原因はよくわかりません(^q^;

入力を片側だけにする。


信号源からの入力をIN1のみにし、信号源のGND側はGNDに接続しました。

入力

ch1:IN1

出力

ch1:OUT1 ch2:OUT2

出力はOUT1が1.152Vp-p、OUT2が1.144Vp-pで、入力を100mVp-p(信号源の出力は両側に入れた場合からいじっていない)とした場合、OUT1の増幅率Av1、OUT2の増幅率Av2は

Av1 = 1.152Vp-p / 100mVp-p = 11.52(21.2dB)
Av2 = 1.144Vp-p / 100mVp-p = 11.44(22.2dB)

で、差動入力した場合の約半分になっています。←差動入力した場合と片側をGNDに落とした場合は動作が異なる。

オフセット電圧


入力を両方ともGNDに落としてオフセット電圧を測定しました。R2を除去してQ2のベースを直接GNDに落とした場合と比較しました。

R1=10kΩ、R2=10kΩを介してGNDに接地

ch1:Vc1 ch2:Vc2

R2=10kΩのみ除去してGNDに直接接地

ch1:Vc1 ch2:Vc2

R2ありの場合はオフセット電圧は32mVですが、R2を除去した場合は1.501Vと大きなオフセット電圧が発生しました。

OPAMPの反転端子、非反転端子の入力インピーダンスを合わせておけ、というセオリーも納得です(^q^/

OUT1だけを出力として利用


OUT2のコレクタ抵抗R4を除去してOUT1だけ出力として使いました。入力もIN1のみ。


ch1:IN1 ch2:OUT1

シミュレーションと同じく、出力はR4を入れた場合より若干歪んでいる気がしないでもないですが(@@?

周波数特性


信号源をAD9833ファンクションジェネレータ(Bypass出力)に変更して周波数特性を測定してみました。出力が600mVp-p程度なので入力に直列に56kΩのRを入れて減衰させて測定しました。

回路図

@1kHz

ch1:IN1(減衰後) ch2:IN2

増幅率Avは Av = 1.32Vp-p / 64mVp-p = 20.6(26.3dB)。


@1kHzと比較すると測定した最低周波数の500kHzですでに-3dBより下がっているようです。

増幅率が高いのでよくわかりませんが、エミッタ接地回路とくらべても周波数特性は悪化するようです(参考:「Tr回路の実験 エミッタ接地回路 その2」)

ブレッドボードでの実験の限界も感じます。

測定データ

F(kHz) IN(mVp-p) OUT(mVp-p) Av Av(dB)
500 52 268 5.153846154 14.24262901
600 46.4 216 4.655172414 13.35871541
700 46.4 180 3.879310345 11.77509049
800 48 156 3.25 10.23766722
900 46.4 130 2.801724138 8.948507435
1000 42.4 116 2.735849057 8.741842653
2000 30.4 43.2 1.421052632 3.052203264
3000 21.6 27.2 1.259259259 2.002303058
4000 20.8 18.4 0.884615385 -1.064910239

F(kHz) IN(mVamp) OUT(mVamp) Av Av(dB)
500 43.2 260 6.018518519 15.58979202
600 41.6 204 4.903846154 13.81073674
700 38.4 168 4.375 12.81956115
800 37.6 144 3.829787234 11.66349294
900 35.2 126 3.579545455 11.07655763
1000 34.4 110 3.197674419 10.09668485
2000 24 40 1.666666667 4.436974992
3000 14.4 24 1.666666667 4.436974992
4000 13.6 15.2 1.117647059 0.966093591

可変電流源


Q3の定電流源を、自作の可変電流源に置き換えてみましたがうまくいきませんでした。

この差動増幅回路ではうまく使えないのかもしれません。


VEEに引っ張る電流なので、可変電流源の電源の+を差動増幅回路のGND、可変電流源のGNDを差動増幅回路のVEEに接続しました。可変電流源の設定電圧はGNDとVEEを10kΩのPOTで分圧して与えています。

2mA設定時(可変電流源の設定電圧:2.00V)

ch1:OUT1 ch2:OUT2

1mA設定時(可変電流源の設定電圧:1.00V)

ch1:OUT1 ch2:OUT2

1mAに設定したときに出力が歪んでいるのと(2mAの時も歪んでいますが)、OUT2に出力波形が現れていません。

誤算気味(T_T;;;

メモ:


Q3の定電流源の電流を変えてみる(R5の抵抗値を変更)

自作の可変電流源のOPAMPを耐圧の高いものに変更して、電源をVCC / VEEにしてみる。

2018年2月19日月曜日

Tr回路の実験 差動増幅回路

OPAMPの入力段によく使われている回路です。Q1とQ2の入力(ベース)の差分を増幅するので、入力と反対側にフィードバックして負帰還をかけることができます。

OPAMP以外にもLadder Filterの電流制御部やVCAの電流制御増幅器として使われることが多く、アナログ・シンセでもとても重要な回路です。

シミュレーション回路図

入力はIN1、IN2の差動入力で50mVp-p、100mVp-p、200mVp-pのサイン波を入力してパラメータ解析しました。

Q3のあたりは定電流源で2mA程度流す設計になっています。Q1、Q2の増幅率は制限せずQ1、Q2のhFEとエミッタ電流によって増幅率が決まります。

入出力

出力を見ると、入力が100mVp-pで歪み始め、200mVp-pだとクリップしています。

Q1、Q2と入出力の対応を見ると、V(in1)(緑)に対しV(out1)(赤)、V(in2)(青)に対しV(out2)(シアン)で、それぞれ出力が反転しています。←基本的にはエミッタ接地増幅回路。

エミッタ電流

-Ie(Q3)(緑色の線)は定電流源のQ3のエミッタ電流(≒コレクタ電流)で1.7mA程度になっています。

-Ie(Q1)(青色の線)、-Ie(Q2)(赤色の線)はそれぞれQ1、Q2のエミッタ電流で中心は0.85mA程度で、-Ie(Q3)を分け合っています。振幅が大きくなると0mAと-I3(Q3)によって電流が制限されるようです。

Trの各端子の電位

V(Ve)はQ1とQ2のエミッタ電位で、GNDからVbe分低い-633mV程度になっています。←ベースがGNDに接地されているため。

Q1のコレクタ電位V(Vc1)、Q2のコレクタ電位V(Vc2)は3.2V程度です。Q1のコレクタ電流が0.85mAだとすると

Vc1 = Vcc - Ic * R3 = 5V - 0.85mA * 2.2kΩ = 3.13V

定電流源をcurrentコンポーネントにしてみる。


シミュレーション回路図

Q3まわりの定電流源をLTSpiceのcurrentコンポーネントI1に置き換えて、入力を50mVp-pに固定、I1の電流値を1mA、1.5mA、2mAにしてパラメータ解析しました。

入出力

エミッタ電流によって増幅率が変わることがわかります。←電流制御増幅器として使える。

入力を片チャンネルのみにする。


シミュレーション回路図

信号源の片側をGNDに接地してQ1片チャンネルのみの入力にしてみました。

入出力

出力は800mVp-p程度になっています。

また、出力波形を見ると正側と負側で振幅が異なっていて、若干歪んでいるように見えます。

両チャンネルに入力した場合の入出力

Q1、Q2両チャンネルに50mVp-pを入力した場合、出力は1.6Vp-p程度なので、Q1片側のみの入力の場合出力振幅は約半分になっています。

こちらは出力の正負の振幅は同じで、歪も無いようにみえます(@@?

出力を片チャンネルだけ使う。


シミュレーション回路図

「定本 トランジスタ回路の設計」によると、出力を片側だけ使う場合、Q2のコレクタ抵抗R4を取り除いてもOKとあるのでシミュレーションしました。

入出力

2018年2月16日金曜日

Arduino LFO Main Board 基板設計

配線の都合上、MCP4922の出力は1chのみとしました。Arduinoのファームウェアでもそこそこのサンプリングレートで2ch分出力するのは難しそうなので(^q^;

また1ch出力なのでLDACも省略し、CSで出力のタイミングを取るようにしました。

参考「Nucleo F446RE(mbed)の内蔵DACとSPI DACのMCP4922の速度を比較する

Arduino Nano(互換品)のUSB端子とMCP4922が干渉するようなので(USBケーブルが差しにくい)、Arduino Nanoは背の高いピン・ソケットを使ってMCP4922と段違いになるようにしました。

回路図

基盤図

部品並べ(Arduino Nanoを挿入したところ)

部品並べ(Arduino Nanoを外したところ)

※C2(0.1uF)挿入し忘れ

Tr回路の実験 負帰還 ロー・ブースト

負帰還に周波数特性を持った回路を入れて、出力の低域を増幅する回路です。

カットオフ周波数を決めるCcを0.001uF、0.01uF、0.1uFにしてパラメータ解析しました。

シミュレーション回路図

入出力

周波数特性

Ccの容量が上がるとカットオフ周波数が下がります。30Hz以下の低域の減衰はACカップリングによるものです。

帰還電流

一番下のペインのI(R10)は帰還電流です。帰還電流は高域になるほど多くなっています。

真ん中のペインのIe(Q1)はQ1のエミッタ電流です。帰還電流によってコントロールされ、逆に高域になるほど電流が小さくなっています。

一番上のペインのI(R5)は帰還電流とQ1のエミッタ電流が合流したものです。

負帰還に入っている回路



負帰還に入っている回路を抜き出しました。この回路によって負帰還の周波数特性が決まります。

周波数特性

低域のカットオフ周波数fc1は

fc1 = 1 / (2 * π * C1 * R1) ≒ 133Hz

高域のカットオフ周波数は

fc2 = (R1 + R2 + R3) / (2 * π * C1 * R1 * (R2 + R3)) ≒ 531Hz

fc2はシミュレーションではもう少し低い周波数(506Hz付近)になっています。

OPAMPに置き換えてみる

非反転増幅回路の負帰還を上記の回路に置き換えて、OPAMPのロー・ブースト回路をシミュレーションしてみました。

シミュレーション回路図


周波数特性

U1の反転端子への入力の周波数特性

OPAMPを使うとディスクリートより回路がずいぶんすっきりします。

両電源を使ってACカップリングを省いているので低域の減衰がありませんが、特性はほとんど同じです。

2018年2月14日水曜日

Tr回路の実験 負帰還 その2

ブレッドボードで実験しましたが、おかしな結果になってしまいました。

回路図

信号源の出力レベルの調節が難しいので、入力段でR10=200Ω、R11=1.8kΩで1/10に分圧して実験することにしました。

信号源はPCM5102Aファンクションジェネレータ+4次バターワースLPFで、出力インピーダンスはまずまず低い(1kΩ以下)と思います。(参考「PCM5102Aファンクションジェネレータと4次バターワースフィルタのドライブ能力の測定」)

ブレッドボード図


NPN: 2SC1814GR (Vf=693mV β=301)(※)
PNP: 2SA1015GR (Vf=670mV β=293)(※)
信号源: PCM5102Aファンクションジェネレータ+4次バターワースLPF
電源電圧: 15.10V

(※)AVRトランジスタテスターで測定

入力段の分圧


1Vp-pのサイン波を入力して、分圧後と比較してみました。


ch1:IN ch2:分圧後

入力INと比較して分圧後(C4の手前)では約1/10の振幅になっています。

入出力



ch1:IN ch2:OUT

前回のシミュレーションと同じように50mVp-p(分圧前は500mVp-p)のサイン波を入力すると、出力がクリップしてしまいました。入力電圧を下げていくとクリップしなくなります。


ch1:IN ch2:OUT

抵抗による分圧で1/10に減衰させても、入力の振幅が小さすぎて測定しにくいです(^q^;

大体50mVp-pとすると1/10に減衰させているので、5mVp-pの入力に対して4.56Vp-pの出力です。増幅率Avは

Av = 4.56Vp-p / 5mVp-p = 912

ということになってしまいます。本来は R4 / R9 = 100程度になるはずですが。

負帰還


これだけ増幅率が大きいと負帰還がかかっていないのでは?と思ってR4を除去してみました。Q2のコレクタ出力からQ1のエミッタに帰還がかからなくなるのでオープンループゲインになります。


ch1:IN ch2:OUT

Av = 5.84Vp-p / (50mVp-p * (1 / 10)) = 1168

で、R4=10kΩで帰還をかけた場合より大きくなっています。

帰還率を上げてR4=1kΩにしてみると


ch1:IN ch2:OUT

Av = 1.52Vp-p / (50mVp-p * (1 / 10)) = 304

とR4=10kΩのときより小さい増幅率になるので、負帰還がかかっていないとも思えません。

Trの各端子の電位の測定


Vb1

Ve1

Vc1

Ve2

Vc2

中心値(V)
Vb1: 2.714V
Ve1: 2.012V
Vc1: 9.444V
Ve2: 10.37V
Vc2: 4.757V

LTSpiceでシミュレーションしてみると、下図のようになります。


動作点はそれほど大きな差は無いように見えます。

前回のシミュレーションで見た通り、帰還に関わる電圧・電流が微小なのでわたくしには原因を特定するのは難しそうです(^q^;

「定本 トランジスタ回路の設計」では正しく動作している結果が掲載されているので、ブレッドボードボードでの実験では正しい結果が得られないのかもしれません。