2019年6月17日月曜日

Wave Shaper のこぎり波から三角波への変換

プログラムで波形のバリエーションを増やすのは割と簡単ですが、アナログ回路で実現するにはそれなりの技が必要です。

今まで検証したVCOは、矩形波・三角波発生回路、のこぎり波発生回路の2つです。WaveShaperを使って、これを元に波形のバリエーションを増やします。

今回は、のこぎり波を三角波に変換するWaveShaperをシミュレートします。方法はいろいろありそうですが、Analog2.0で使われているトランジスタの特性を利用したものと、反転・非反転波形をダイオードで整流するものを検証します。

参考
Analog2.0
「Music From Outer Space」さんの「Sawtooth To Triangle Wave Converter


トランジスタの特性を利用


シミュレーション回路図

過渡解析

±5Vp-pののこぎり波を入力して、VREFの電圧値を変化させてのこぎり波→三角波変換を行っています。「達人と作る アナログシンセサイザー自作入門」に回路の動作の説明がありますが、正直よくわかってません。

この回路は、Moogによって設計されたそうです。またもやMoogの恐ろしさを痛感しました。

参考
「CIRCUIT LAB」さんの「Moog sawtooth to triangle converter 01

基本的にはトランジスタ1個で済むので節約できてありがたいのですが、デメリットもあります。入力の振幅や電源/VREFの電圧にシビアで、調整が必須です。

ダイオードで整流


シミュレーション回路図

過渡解析

こちらは、入力波形の振幅が±1Vp-pでも三角波に変換できます。OPAMPを使っているので記事を読めば回路の動作はわかりやすいと思います。波形にギャップが発生していますが、これはダイオードのスイッチング速度によるようです。

2019年6月14日金曜日

TLF01(プリント基板バージョン)はんだ付け完了

tozさんに手焼きしてもらったプリント基板のはんだ付けをしました。

回路図

基板図

部品面(部品なし)

部品面(部品挿入)

ハンダ面

ミニルーターで穴あけ後、銅面にフラックスを塗ってからはんだ付けをはじめました。

はんだ付けの感触は、ユニバーサル基板や業者に製造してもらったプリント基板ともまた違います。VIA以外の部分も銅面がむき出しでハンダが回ってしまうので、ちょっとしたコツが必要な感じです。足の短い部品は楽ですが、抵抗など足の長い部品の方がはんだ付けが面倒でした。

ともあれ、はんだ付け作業にかかる時間は大幅に短縮できました。

作業時間(おおよそ)

ポンチ打ち 40分
ドリル穿孔 60分
部品の仮配置 (Tr選別含む) 120分
はんだ付け 120分
検査 120分

※ユニバーサル基板の場合は「はんだ付け」のみで延べ約12時間。

プリント基板なので導通はしっかりしているので、はんだ付け後の検査はもう少し端折ってもよかったかも?それでも部品の挿入方向が逆なのが1箇所、ハンダ不良が1箇所みつかりました。

入出力の測定


かんたんに入出力波形を計測しました。

テスト用配線


Cutoff POT: 100kΩ/C
Q Ctrl POT: 50kΩ/A
C3~C6: 0.1uF

信号源: PCM5102A-FG のこぎり波1kHz
電源: 電流/電圧計付可変両電源
電源電圧: +9.08V / -9.12V

Cutoff:低 Q:低

ch1:IN ch2:OUT

Cutoff:高 Q:高

ch1:IN ch2:OUT

動作しているようです(^q^/

2019年6月11日火曜日

Dフリップフロップを使った矩形波の分周(CD4013)

Dフリップフロップを使った分周器で、矩形波のサブオシレーターとして使います。入出力の振幅を稼ぐために4000シリーズのCD4013を使いました。

参考:トランジスタ技術2015年8月号 74p



シミュレーション回路図

過渡解析

入力した矩形波に対して、1/2、1/4に分周された矩形波が出力されます。

ブレッドボード図


信号源: SQR_FG
電源: 5V

1/2

ch1:IN ch2:1/2

1/4

ch1:IN ch2:1/4

2019年6月9日日曜日

Analog VCO のこぎり波編 ブレッドボードで実験

前回シミュレーションしたのこぎり波出力のVCOをブレッドボードで実験しました。

回路図

基準電圧VREFは抵抗の分圧をボルテージフォロアで補強、電流源はJFETを使った可変電流源にして使いました。

VREFの点の電位は+5Vになります。

JFET J1の電流を制限する抵抗R8の値は5kΩです。J1のドレインが負電位になると電流が流れなくなるため、J1のソースはGNDではなくVEEに接続しました。

過渡解析

出力は±5Vp-pののこぎり波、J1(定電流源)のドレイン電流(Id(J1))は100uA弱で、のこぎり波リセット時に短いパルス電流が流れています。

ブレッドボード図


J1のドレインとQ1のコレクタの間にテスタ(OWON B35:DC/mAモード)を挿入して、出力波形の周波数を設定する電流を測定しました。

電源: 電流/電圧計付可変両電源
電源電圧: +11.46V / -11.14V
OPAMP: NJM4580DD
Q1: 2SA1050-GR
J1: 2SK170-BL
VREF: 5.0V ±0.2V (変動あり)

Ic=101.2uA

出力振幅は±5Vp-p程度、周波数は1kHz程度です。シミュレーションでは500Hz程度なので約2倍。誤差が大きい?

定電流源のPOTを調節して、吸い込み電流を変えて電流対周波数のグラフをとってみました。


まずまず直線的に比例していると思います。

測定データ

Ic(uA) Frequency(Hz)
4.9 49.42
10 101.4
20.05 207.2
30.2 306.3
51 517
101.2 1017
203 2003
299 2878
499 4658

メモ:


JFETを使った可変定電流源は、抵抗値に対してリニアに出力電流が変わるものだとばかり思っていましたが、どうも指数関数的な変化のようです。

JFETのドレイン電流(ID)対ゲート・ソース電圧(VGS)のカーブに沿っている?(検証はしていません。)

2019年6月6日木曜日

Analog VCOの構想 のこぎり波編

前回やったVCOは三角波と矩形波を発生させるものでしたが、「達人と作る アナログシンセサイザー自作入門」のAnalog 2.0のVCOはのこぎり波を発生させるものです。



「Sawtooth VCO」で検索するといろいろ出てきますが、回路の説明としては「kassu2000」さんのがわかりやすい。

参考
「Kassu2000」さんの「VCO part 1: core

シミュレーション回路図

過渡解析

VREFは基準電位で、5Vに設定しています。

C1が電荷を貯め込む発振の源です。電流源のI1に引っ張られてVc1の電位が徐々に下がっていきます。

このVc1の電位は、U2の非反転増幅器を通してSAW_OUTからのこぎり波として出力されます。

SAW_OUTの電位とGNDをU1周りのコンパレーターで比較して、Q1をONすることによって一瞬C1の両端が短絡されます。

C1の両端が短絡することで貯め込んだ電荷が開放され、Vc1の電位がVREFに戻ります。

過渡解析

Vb1(青色の線)がLowになったときQ1がONして、Vc1(緑色の線)がVREFに戻ります。

この回路はよく設計されていて、OPAMP U2が

  • Vc1の電位のバッファリング
  • 波形の振幅を決める増幅
  • 波形の中点を決めるバイアス

の役割を担っています。その結果GNDを中心とした±5Vp-pののこぎり波がSAW_OUTから出力されます。

U1のプラス側に入力される波形はこんな感じです。(GNDと比較される)

過渡解析

C2はU1まわりのコンパレーターが素早く切り替わって発振してしまうのを抑止します。

C2を取り去った場合

過渡解析

コンパレーターの出力(青色の線)が激しく切り替わって、まともな出力(緑色の線)になりません。

「Kassu2000」さんのVCO


シミュレーション回路図

過渡解析

こちらも同じように電流源I1でC1を充電し、Vs1の電位を徐々にさげていき、U2のボルテージフォロアでバッファリングし、SAW_OUTに出力します。

SAW_OUTがU1まわりのコンパレーターの非反転入力に入力し、反転入力のGNDと比較してQ1をOFFします。Q1がOFFした瞬間J1がONし、C1が放電されます。

この回路では、GNDから+1.4V程度ののこぎり波が出力されます。

2019年6月4日火曜日

アクティブLPFと積分器の違い

ローパスフィルタと積分器は兄弟みたいなものですが、決定的な違いがあります。

時定数がかかっているかいないかです。

シミュレーション


1kHz/2Vp-pの矩形波を入力して応答をシミューレーションしました。

RCフィルタ 一次LPF


抵抗とコンデンサを使ったパッシブLPFです。

回路図

時定数: τ = R * C = 0.1 [ms]
カットオフ周波数: fc = 1 / (2 * π * R1 * C1) ≒ 1.6 [kHz]

過渡解析

アクティブ一次LPF


RCフィルタのような特性で増幅率も設定可です。

回路図

カットオフ周波数: fc = 1 / (2 * π * R2 * C1) ≒ 1.6 [kHz]
増幅率: Av = -(R2 / R1) = -1

過渡解析

反転回路なので、出力は反転していますが、過渡応答はRC LPFと同様です。

積分器


リニアに積分される回路です。積分を数値として扱うなら、時定数がかかっていない「積分器」が一番正確です。でも、「音」という自然現象はそれほどきっちりしていなく、場合によっては、時定数のかかったぬるい波形の方が味があったりすると思います。

回路図

アクティブ一次LPFの帰還抵抗を外した形です。R2 = ∞ とすると、カットオフ周波数 fc = 0 [Hz]、増幅率 Av = -∞です。

.tranコマンドにstartupオプションを付けてシミューレーションしています。

過渡解析

.tranコマンドにstartupオプションをつけないと

過渡解析

出力が正電源側に張り付きます。これは実験でも同じような結果になりました。

ブレッドボードで実験


ブレッドボード配線図

入力: SQR_FG
電源: 電流/電圧計付可変両電源
電源電圧: +11.55V / -11.32V
OPAMP: NJM4580DD

RCフィルタ 一次LPF




ch1:IN ch2:OUT

入力の矩形波がビビっているのはSQR_FGの出力の駆動力不足です。←AVRのGPIO出力を300ΩのPOTで分圧している。

アクティブ一次LPF



ch1:IN ch2:OUT

積分器



ch1:IN ch2:OUT

シミューレーションと同じように出力が正電源側に張り付いています。

1MΩの帰還抵抗を入れると



ch1:IN ch2:OUT

矩形波が積分されてリニアな三角波が出力されます。

この場合、以下のようなアクティブ一次LPFになります。

カットオフ周波数: fc = 1 / (2 * π * R2 * C1) ≒ 16 [Hz]
増幅率: Av = -(R2 / R1) = -100