製作モジュール一覧

ラベル Arduino LFO の投稿を表示しています。 すべての投稿を表示
ラベル Arduino LFO の投稿を表示しています。 すべての投稿を表示

2018年5月6日日曜日

Arduino LFO サンプリングレートを上げてみる。

Arduino LFOのスケッチを書き換えて、サンプリングレートを25kHzにしてみました。以前は15.625kHzでした。

これ以上サンプリングレートを上げるとAVRの中の処理が追い付かなくなるかもしれません。

50Hzのサイン波を出力し、WaveSpectraでFFTしてみました。

Output BoardのOPAMPはNJU7032です。

サンプリングレート:15.625kHz

サンプリングレート:25kHz

15kHz付近にあったピークを25kHz付近にまで追い出せましたが、4.5kHz付近にエイリアスと思われるピークが出てきてしまいました。

はっきりとどちらがいいかとは言いづらいので、運用しながら考えたいと思います。

また、Arduinoのスケッチで出力できる最高周波数を決めやすいように変更しました。
#define MAX_RATE    (20.0f)
#define RATE_RATIO  (1024.0f / MAX_RATE)
MAX_RATEが最高周波数です。

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

2018年4月20日金曜日

ArduinoLFOをBSM02にかけてみた&ArduinoLFOに使うOPAMPを比較

ArduinoLFOでBSM02のCutoff、Resonance、Pulse Widthを変調してみました。フィルターモジュールはSVF DCFです。

XSplitで録音、録画しています(Audioはたぶん96kbpsです)。面白味はありません(^q^;


もともとのPOTと並列にLFOを入れましたがまずまず効いています。

ArduinoLFOのOPAMPを交換


ArduinoLFOのOutput Boardに使っているOPAMPを、NJM13404、NJM2732、NJU7032に交換して比較しました。(単電源もしくはGNDまで使えるフルスイングOPAMP)

NJM13404

NJM2732

NJU7032

NJM13404は波形の下側がクリップしています。これはオーディオ・インターフェイスの入力のACカップリングの影響の様です。

ArduinoLFOの出力をACカップリングしない場合/した場合をオシロで測定しました。

NJM13404 ACカップリングなし RL=10kΩ

NJM13404 10uFでACカップリング、RL=10kΩ

NJM2732とNJU7032を比較すると、高調波歪の出方が違うので悩むところですが、WaveSpectraの表示値を信用してTHD+Nの小さいNJU7032を使うことにしました。

2018年4月2日月曜日

Arduino LFOでけた。

外観

ケース内

ケース内配線図

Arduino NANOのUSBコネクタの位置の関係で配置がキツキツになり、ケース内配線がややこしくなってしまいました。波形表示用のLEDも若干見にくくなってしまいました。

ブロック図

Main Board回路図

Main Board基板図

Output Board回路図

Output Board基板図

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

テスト運用しつつ、近いうちにOPAMPを交換したりして性能を測定してみたいと思います。

ToDo:


BSM01/KIK01に接続して変調してみる。

サンプリングレートを上げられるか検討。

Random(Sample & Hold)ができるか検討。

ArduinoのEEPROMに選択波形を保存?

2018年3月27日火曜日

Arduino LFO モックアップ作製

秋月の「大型ポリカーボネート・ケース 140」に収めるつもりでモックアップを作製しました。

中の基板はケースに入れたままでギリギリArduino NANOにmicroUSBケーブルを挿せるように配置しました。

AD9833ファンクションジェネレータと同じように、電池ケースを背面に貼り付けて天面に傾斜をつけるつもりでです。




ケース内配線図

2018年3月20日火曜日

Arduino LFO Output Board はんだ付け完了

部品面

はんだ面

ケース内配線図

Main Boardと接続

電源電流が32mA程度になっています。Output Boardをブレボで実験していたときは25mA~29mAでしたが、増加分はOutput BoardにつけているLEDの消費分だと思います。

ケースに収める構想

意外と操作子が多いので、秋月のポリカーボネートケース(大)で収まるかどうか悩み中。

2018年3月17日土曜日

Arduino LFO Output Board 基板設計

ブロック図


回路図

LPFは前回の実験から、4次VCVSバターワース特性にしました。

Limitterは+3.3V側のみスイッチまたはジャンパーで有効/無効を切り替えるようにしました。

基板図

部品並べ

ケース内配線

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

2018年3月10日土曜日

Aruduino LFO Output BoardのLPFの検討

Arduino LFOのOutput Boardに入れるLPFを4次RC LPFと4次MFB(Multi Feedback )VCVSバターワース特性LPFで比較してみました。

回路図


4次RC LPF

4次VCVS

<追記:2018.03.12>
回路図では「4th MBF LPF」となっていますが、VCVSの間違いです。
</追記>

OPAMPはすべてNJU7032を使用。
D1、D2のショットキーバリアダイオードは1S4を使用。

1S4の順方向電流は絶対定格で1Aなので、4次RC LPFには一応R9=10Ωを電流制限抵抗として入れました。4次MFBVCVSの方はOPAMP(U3、U4)の出力電流で制限されるので省略しました。(C5でACカップリングしているので直流は流れない)

ブレッドボード配線図


4次RC LPF


4次MFBVCVS


電源は単3×6を使い、Aruduino NANOのVINに入力
電源電圧 5V: 5.02V
電源電圧 3.3V: 3.27V
電源電流 25mA~29mA (自作電流計)

矩形波


4次RC LPF

RiseTime: 400us
FallTime: 440us
OverShoot: 1.2%

4次MFBVCVS

RiseTime: 80us
FallTime: 80us
OverShoot: 4.9%

4次RC LPFは波形のなまりが顕著で、4次MFBVCVSはオーバーシュートが出ています。

ノコギリ波


4次RC LPF

4次MFBVCVS

ノコギリ波でもやはり4次RC LPFはなまりが顕著な上に、波形の下側がGNDまで下降していません。

LTSpiceでシミュレーションしてみると、

4次RC LPF

4次MFBVCVS

となり、やはり下側が下降しきらないようです。LFOとして使うので、波形がGNDまで下降しないと問題となりそうです。

AC特性


50Hzのサイン波を出力して、WaveSpectraでFFTしました。

4次RC LPF

4次MFBVCVS

1kHzより高い周波数では4次RC LPFの方が減衰していますが、1kHzより低い周波数の高調波歪(50Hzの整数倍)は4次MFBVCVSの方が歪が少ないようです。

<追記: 2018.03.12>

比較対象として、LPFをバイパスしたときも測定しました。


追記その2:MFBとVCVSを間違っていました。

</追記>

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