試作」カテゴリーアーカイブ

電圧制御充放電回路

電圧制御のエンベロープジェネレータを開発中ですが、今のところすべてマイクロプロセッサで計算して値を出力する予定。現実的ですがもうちょっとアナログでやれないのかとも考えました。以前から何度か挑戦しているんですが。アナログ式は難しいです。

前回検討した時には、簡易的な指数関数回路を使いましたが、あまりうまくゆきませんでした。確か、エンベロープの遷移の最短と最長の差があまり大きくならないのが最大の問題でした。どういうことなのか。シミュレータでちょっと調べてみました。いろいろとパラメータを調整してみましたが直線性と変化のレンジのバランスはこの辺が精いっぱいです。最小と最大で数百倍というところでしょうか。これでは全然足りず、充放電回路もシミュレーションしてみましたがやはり実用にならなさそうです。

ということで、もっときちっとした指数関数回路を使ってみましょう。

今度は直線性がずっと良いし制御電流のダイナミックレンジも1000倍を超えています。もっと大きなダイナミックレンジも取れましたが大きすぎるのもダメなのでの1000倍です。この回路ならいけそうな感じがします。ではこれを充放電回路と組み合わせてみましょう。制御するならマイクロプロセッサでやると思うので、制御電圧も充放電入力も 0 – 5V で設計しています。以下が制御電圧を最大 (5V) にした時の遷移

こちらは、制御電圧を中天にした場合 (2.5V)

こちらは最小にした場合です。

これなら使えそうな気がします。でもこれをマイクロプロセッサで制御するとなると結構面倒な回路になるしプログラミングはそれほど複雑にはならなさそうですが、PWM 出力を 2ch 占有するのはどうにもよろしくないような気もします。あとアタックからディケイへのフェーズ切り替えに比較機を外付けしないといけないし(プロセッサにも内蔵していますが AD 変換器と共有なのでタイミング制御にはちょっと使いたくない)、エンベロープをもっと複雑にしたかったらその比較機にも制御信号をぶち込まないといけないわけで、どうにも中途半端な感じがします。むしろアナログシーケンサみたいなものとつなげたほうがおもしろくならないかな?

ということで、回路を組むところまではやらないと思いますが検討にかなりの時間がかかったので記録に残しておきます。何か別のモジュールを思いついた時のために。

電圧制御エンベロープジェネレータ 基礎検討:アナログ式

色んな用途で使う予定があって、電圧制御エンベロープジェネレータの設計の基礎検討をしています。

エンベロープジェネレータ回路は、アナログシンセサイザーの中では単純なほうですが、通常の単純な設計では電圧制御ができません。コンデンサへの充放電の速さを制御することで振る舞いを変えるので、可変抵抗器を使えば簡単に作れてしまうのですが、もっと速く細やかな制御をしたいときには可変抵抗の抵抗値で、というのはちょっと不都合です。そういうわけで電圧制御の必要性が出てきます。

電圧制御式のエンベロープジェネレータを作るには色々なアプローチが考えられます。いくつかを実際に試作して検討する予定ですが、まずはアナログ式を試してみました。

続きを読む