2022年2月25日金曜日

sLFO シンプルなLFOの構想

LFOとして、自作のArduinoとSPI DACを使ったLFO(Arduino LFO)を使用しています。自作のモジュールはEurorack化を進めていて主なモジュールではLFOを残すのみとなりました。

一応要求仕様として、(1)Eurorackにマウントできること、(2)出力波形の振幅が±5Vあること、(3)複数製作しやすいようにPCBで製作する、ということにしています。

あまりにもシンプルなので製作するかどうかわかりませんが、実験してみました。

LFOの動作


シミュレーション回路図

積分器とヒステリシス付きコンパレータの組み合わせです。LTSpiceでのシミュレーションでは発振回路の場合uic(Skip initial operation point solution)を有効化します。これをつけないと発振のシミュレーションができません。

過渡解析

シミュレーションの結果、コンパレータの出力は電源電圧の正負に振れ、積分器では正側、負側が切り替わって積分された波形が出力されます。積分器は反転回路なので、矩形波が正のとき放電、負のとき充電になります。

実験に使った回路

シミュレーション回路図

Analog 2.0を参考にしました。帰還抵抗がレオスタット(可変抵抗器)ではなくポテンショメータ(可変分圧器)に置き換わっています。分圧器により積分器に注入される電圧を可変としています。大体の場合、可変抵抗は分圧器として使ったほうが精度や安定性が向上します。

R8は出力保護抵抗です。短絡してしまったり出力端子に他の信号を入力してしまった場合に悲惨な結果になる可能性を減らせます。

R6、R7の抵抗による分圧で出力される矩形波の振幅を三角波と同程度にしています。出力保護抵抗も兼ねています。

R2、R3は可変分圧器です。中間の場合をシミュレーションしてみます。

過渡解析

実験


ブレッドボード配線


出力波形


POT:最小

POT:中間付近


POT:最大

周波数は0.7Hz~83Hz程度の可変となりました。もう少しR1の値を大きくして発振周波数を下げたほうが良さそうです。

OPアンプは低ドリフト品の方がいいかもしれません。


2022年2月23日水曜日

AS3340(CEM3340互換) 動作確認

CEM3340互換のAS3340を入手したので動作確認を行いました。


AS3340はALFAというラトビアのメーカーの製品です。テストはLMNCさん及びElectric Druidさんの記事を参考にしました。

参考
Electric Druid: CEM3340 VCO (Voltage Controlled Oscillator) designs: https://electricdruid.net/cem3340-vco-voltage-controlled-oscillator-designs/

テスト回路図

ブレッドボード配線

CEM3340でも同様だと思いますが、データシートから注意点を抜粋します。

電源について。VEEは-5Vが推奨されます。VEEに7.4Vのツェナーダイオードが内蔵されているので、VEEに-12Vを接続する場合は電流制限抵抗を入れる必要があります。
REE = (VEE - 7.4) / .008
-12Vの場合、REE = 575Ωとなります。今回のテストでは680Ωとしています。

CV入力PINの絶対定格は±6Vとなっており±5V程度で使うのが良いと思います。

PWM入力の0%設定が0V/typ.100%設定5.0V/typ.となっており0V~5Vで使うのが良いと思います。-1V~+6Vの範囲外では電流がかなり大きくなるそうです。※今回のテストでは+4V付近でパルス幅100%になりました。

RV1(100kΩのPOT)でCVの基準値を設定します。RV2(10kΩのトリム)でScale Factorを調整します。Scale1とScaleに同じ電流が流れるようにしますが、CVに電圧を加えて出力の周波数を見てScaleを調整するのが良いと思います。

Hard Sync、Soft Sync、LinearFM、High Frequency Trackは今回は使用していません。

出力波形


簡単にRV1、RV2を調整して出力の様子を観測しました。CV=1Vとしています。

Triangle

C1:Triangle(10Pin) C2:CV

Sawtooth

C1:Sawtooth(8Pin) C2:CV

Pulse

C1:Pulse(4Pin) C2:CV

PWM(5Pin)=2Vです。ここをオープンにしたままだとパルス幅が0になるので矩形波を出力する場合は適当な電圧を与えておきます。

V/Oct


CVの値を変えて出力周波数を測定しました。

CV(V) 期待周波数(Hz) 実測周波数(Hz) 誤差(Hz) 誤差(%)
-5 6.875 7.0411 0.1661 2.42%
-4 13.75 14.068 0.318 2.31%
-3 27.5 28.04 0.54 1.96%
-2 55 55.879 0.879 1.60%
-1 110 110.93 0.93 0.85%
0 220 220.76 0.76 0.35%
1 440 439.3 -0.7 -0.16%
2 880 874.28 -5.72 -0.65%
3 1760 1738.3 -21.7 -1.23%
4 3520 3451.9 -68.1 -1.93%
5 7040 6860 -180 -2.56%


誤差は-2Vぐらいまでは線形ぽいので、もう少し調律できるかもしれません。

メモ


-5V電源を用意したほうが入力保護に使いやすそう。

Scaleの調整用のRV2は多回転タイプが良さそう。

波形によって振幅が異なるので後段のアンプで合わせる必要あり。

Electric Druidさんの記事によると実機でLinear FMが使われている例は少ない。Hard Sync / Soft Syncはちょっと怪しい?

2022年2月15日火曜日

PT2399 Echo 2台目製作 AliExpressの互換品を使用

PT2399 Echoの2台目を製作しました。



いつもはダイソーのクリップボードをカットして利用してますが、ポリカーボネート製のものが入手困難となったため、今回は透明アクリルをパネルに使ってみました。ラックにマウントしたとき中の様子が見られて実験用には便利だと思います。

回路図

EffectのMIX時のACカップリングを除去


回路図上側のMIX回路は+2.5Vのバイアスをかけており、PT2399の入出力も+2.5Vのバイアスがかかっているため、ACカップリング用のC8をバイパスしました。パルス波を入力してC8を入れた場合とバイパスした場合の応答を観測しました。

C8(1uF)を入れた場合

C1:IN C2:C8とR15の間

C8をバイパスした場合

C1:IN C2:C8とR15の間

C8を入れた場合、応答に微分波形が現れています。C8を入れても問題はないので雰囲気で決めて良いかもしれません。

Inv Outの利得を修正


1台目の定数ではInv Out(エフェクト音のみ位相を反転して原音とMIX)のエフェクト音の利得が小さくなっていました。恥ずかしながら計算で値を求める方法がわからないので、カット&トライで反転、非反転のレベルが同じになるように調整しました。

FX_OUT端子に信号を入力してエフェクト音の利得のみを比較しています。

OUT(非反転出力)

C1:FX_OUT C2:OUT

INV OUT(反転出力) R4=47k(1号機の定数)

C1:FX_OUT C2:INV_OUT

INV OUT(反転出力) R4=150k

C1:FX_OUT C2:INV_OUT

R4=150kでOUT、INV_OUTが同じ利得になるようです。R4=150kでパルス波を入力して出力を観測しました。

OUT R4=150k

C1:IN C2:OUT

INV_OUT R4=150k

C1:IN C2:INV_OUT

一発目の原音は同位相で、以降の遅延がかかったエフェクト音が逆位相で同じ程度の振幅になっています。

AliExpress購入のPT2399互換品


秋月で購入したPTCのPT2399とAliExpressで購入した互換品と思われるPT2399です。刻印がそれぞれPTC、HLFとなっています。同じパラメータでICを入れ替えて出力を比較しました。

PTC

C1:IN C2:OUT

HLF

C1:IN C2:OUT

Delay時間が多少異なるようですが、十分代替できるのではないでしょうか。

2022年2月8日火曜日

8to3エンコーダ 74HC148を使う

FV-1は2進3bitで8つのプログラムを選択できます。スイッチ3個で選択するのもレトロな感じで面白いかもしれませんが、つまみで選択できたほうが便利です。

マイコンでロータリーエンコーダを使うのもありですが、8to3エンコーダというロジックICがありロータリースイッチの切り替えを3bit値に変換できます。

回路図

74HC148は2Vから6Vで使えますので、FV-1の動作電圧3.3Vで使用します。

ブレッドボード配線


7(Pin4)が最低位となっているので、ロータリースイッチの1番を7(Pin4)、2番を6(Pin3)という風に接続します。ロータリースイッチが6Pのものしか手持ちがないので実験では線数が足りていません。上位bitは入力ピンをケーブルでGNDに落としてテストしました。

EI(5Pin)はイネーブラー(Active Low)なのでGND、GS(14Pin)とEO(15Pin)は同じICを連結して使うためのものでOpenにしておきます。

74HC148の論理表

メモ:


他にもロータリースイッチとダイオードで8to3エンコードされている作例もあります。

2022年2月7日月曜日

FV-1 WET/DRY回路を接続

FV-1テスト用基板WET/DRY基板を接続して入出力のようすを見てみました。

FV-1のPrg#5は「Test」となっています。音出ししてみると特にエフェクトがかかっている様子はありません。おそらくADC→DSP→DACの経路をたどり、DSPは無処理で通過しているものと思われます。

自分でプログラムしてEEROMに書き込めばよいのですが、まだFV-1でEEPROMからプログラムを読み出したり、EEPROMに書き込む環境を整えていません。

周波数特性 FV-1テスト基板 Prg#5 


Analog Discovery 2のNetwork機能で、1Vppの設定でFV-1テスト基板のIN-OUT周波数特性を測定しました。2Vppにすると低域(100Hz以下)でクリップするようです。


位相が乱れているように見えますが、デジタル処理の遅延のようです。180°以上遅れると進み位相に見えるのでグラフがギザギザしていますが、どんどん位相が遅れている結果です。同じ遅延時間なら周波数が高くなるほど位相角が大きくなります。

FV-1のデータシートで「ADC-DAC HF response (-3dB)」14.5kHz/Min、15.5kHz/Maxとある通り、15kHz以上の帯域はばっさり切られています。

100Hz以下で周波数特性のグラフが乱れていますが、低域ではFV-1テスト基板の出力がかなり歪むようで、これが原因だと思います。

周波数特性 FV-1テスト基板 + WET/DRY基板 Prg#5


FV-1テスト基板とWET/DRY基板を接続し、WET/DRY基板のIN-OUT周波数特性を測定しました。こちらは6Vpp入力の設定です。WET/DRY基板のIN Level最大。WET最大。


周波数特性のグラフが少し乱れています。原因を探る必要がありそうです。

音出し


ERK01の出力をFV-1に入れて音出ししてみました。1ch分しか作っていないので、今回はモノラルのエフェクトとなります。

すべてDRY→WETに変化させています。


2022年2月2日水曜日

FV-1 WET/DRY回路の製作

エフェクタでよく使うWET/DRY回路です。エフェクト音と原音をミックスして出力します。シンセの出力波形±5Vppを入力信号と想定していますが、FV-1の入力信号は最大3.0Vppとなっているため、入力信号を一旦減衰させ、出力時に再び増幅します。


LVLとWETの3Pのピンヘッダには、それぞれ50kΩ/A、50kΩ/BのPOTを接続します。

回路図
入力アンプ(反転)U2Aで1/3.3に減衰させています。ミキサ(反転)U2Bで3.3倍に増幅してもとの信号レベルに戻しています。入力、出力ともFV-1のテスト基板でACカップリングしてるので、C10は本来は必要ありません。

基板図

入出力の測定

  • 電源: ERK01_PSU ±12V
  • 入力(IN): 1kHz/10Vpp サイン波
  • FX入力(FX_IN): 3kHz/3Vpp サイン波
  • FX出力(FX_OUT): オープン
  • OPアンプ: NJM4580DD

DRY最大

C1:IN C2:OUT

WET最大

C1:IN C2:OUT

DRY/WET中間

C1:IN C2:OUT

FX出力(FX_OUT)

C1:IN C2:FX_OUT

FX_OUTは振幅が3/10(1/3.3)の反転波形になっています。

周波数特性


入出力(DRY)

C1:IN C2:OUT

10Hz~100kHzの帯域で-2dB以内です。

エフェクト・リターン(WET)

C1:FX_IN C2:OUT

エフェクト音は3.3倍(約10dB)増幅されます。10Hzで目盛りで2dB程度ですのでフラットな帯域から見て-8dBです。やはりACカップリング不要ならC10は取り除いたほうが良いです。

反転回路1発なので位相は180°回ります。

メモ:


WET/DRY調節用のPOT RV2の足が逆。現状では左いっぱいでWET最大になる。

出力信号のレベルが低くなる場合があるので、利得可変の出力アンプがあったほうが良さそう。