VCO
coolaudio 製 V3340 は、(ミュージック・シンセサイザ用) VCO IC である CEM3340 のコンパチ品で、1 年ほど前から秋月でも扱うようになりました。 単価 980 円と、結構いいお値段するので気軽に試してみる訳にもいかず、これまで手を出していませんでした。 …
8 ビット AVR 用のディジタル SCR プログラムでは、動作を変えるためにはプログラム自体を変更しなければならなかったので、動作モードを表すシンボルを定義して使っていました。 LPC810 のプログラムではハード的に実現しているので、動作の変更は、単に内…
SCT (State Configurable Timer) の H 側カウンタがまるまる空いているといっても、「ディジタル SCR」を実現するためには、以下のようなリソースが必要です。 コンパレータ入力 (アナログ入力) のための入力ピン 2 本あるいは 1 本 SCT イベント 2 個 SCT …
これまで 8 ビット AVR では、6 ピンの ATtiny10 と 8 ピンの ATtiny13 とに対して、コンパレータ + ワンショット・タイマの機能を持つ「ディジタル SCR」プログラムを作成し、VCO の構成要素のひとつとして利用してきました。 「8 ピンつながり」ということ…
今回は、現在実装されている 2 つの VCO 間の「混変調」というか「クロストーク」というか、VCO 間相互の影響について調べてみました。 結果としては、問題になるレベルではありませんでした。 トランジスタ・アレイ TD62507 では、16 ピン・パッケージの中…
これまでは、 ピンポイントの温度における MIDI ノート番号全体に渡る特性の測定 広い温度範囲に渡るオクターブ・スパンの特性の測定 を、それぞれ行ってきましたが、今回は 広い温度範囲での全 MIDI ノート番号に渡るピッチ誤差特性 を リワインド型 VCO リ…
Minimoog の VCO の「高域補償」は、後期型回路では「Franco の補償」を使っていますが、前期型回路ではアンチログ出力電流を検出して CV サミング・アンプにフィードバックする方式になっています。 この方式の回路を LTspice でシミュレーションして、アン…
前回の測定後も測定は続行しており、計 56 時間 (2 日と 8 時間) に渡るデータを収集しました。 温度変化の幅は、最低 23.9 °C から最高 33.6 °C までの 9.7 °C となりました。 9 月 22 日 09 時ごろに測定開始した以降の経過時間と室温とのグラフを下に示し…
オクターブ・スパン誤差の温度変化の測定を始めました。 今回、実験回路は Arduino の「シールド」の形で作成したので、必要なコントロールはすべて Arduino で行い、シリアルで接続する PC は測定結果のロギングだけに使っています。 とりあえず、室温 27.5…
残りの 1 系統にリセット型 VCO を実装して、測定を行いました。 アンチログ出力トランジスタから VCO までの部分の回路図を下に示します。 左側が今回追加したリセット型 VCO です。
PWM CV マルチプレクサ + LPF + アンチログ出力トランジスタ部の回路図を下に示します。 LPF 部は OP アンプを 1 個使用した 3 次アクティブ・フィルタの構成になっています。 OP アンプは、ありあわせで MOSFET 入力の NJU7032 (JRC 製) を使用しています。…
Spice の Ebers-Moll モデルでは、バイポーラ・トランジスタが大電流領域において理想 PN 接合の特性からズレてくる効果を、理想 PN 接合による「真性トランジスタ」の外部に直列抵抗を接続することにより表現しています。 直列抵抗の「実体」としては、端子…
今回は、CV に対する VCO 出力周波数のピッチ誤差の測定結果を示します。 PWM による DA でアナログ CV を作り出すわけですが、今回は ATmega168/328 の 8 ビット・タイマである Timer2 を使って PWM 波を発生させることにしました。 Timer0 は Arduino のシ…
マルチ出力アンチログ回路で、マルチプレクサ → LPF → アンチログ → VCOの系統をとりあえず 1 系統のみ実装した基板を作成しました。 複数出力間の干渉のようすを調べるために、最終的には 2 系統を実装するつもりです。 3 系統以上を実装する予定はありませ…
ATtiny13 を含む多くの AVR マイコンと、ATtiny10 とでは、入力ポートのプルアップの設定に関する設定方法に差があり、それに対応して ATtiny13 用プログラムではディスチャージ用の 3 ステート出力操作を変更する必要があります。 また、ATtiny10 用のプロ…
ATtiny13 版のプログラム・リストを下に示します。 ATtiny13 ではコンパレータ入力として内部バンドギャップ・リファレンス (約 1.1 V) を選択できるので、そのサポートも付け加えてありますが、動作確認はしていません。 外部クロックへの切り替えは、プロ…
約 1 年前 (2012 年 6 月 29 日) に書いた記事 http://d.hatena.ne.jp/pcm1723/20120629 のマルチ出力アンチログ回路の温度特性を調べる実験の準備を始めました。 VCO 回路の簡略化および高精度化を目指して、マイコンによる「ディジタル・サイリスタ」を使…
今回は、各種の誤差要因とその影響について考えてみます。 回路自体は OP アンプにレイル・ツー・レイルタイプではなく、手ごろな LM358 / LM324 / LM2904 / LM2902 を使用した場合でも、精度はともかく動作はするように考慮してあります。 実際、ブレッドボ…
アナログスイッチおよび LPF 部の回路を 1 系統分だけ下に示します。 OP アンプ出力と、アンチログ出力トランジスタのベースとの間の 1 kΩ 抵抗は、前回説明したように、ベース電流を制限してトランジスタを保護するためのものです。 LPF 部は OP アンプを 1…
実際の回路の Vbe(MIN) 側の定電流回路を左に示します。 原理を示すブロック図でのバッファ・アンプは省略されており、定電流回路の OP アンプでトランジスタのベースおよびアナログスイッチ入力をドライブします。 その OP アンプ出力と、負荷回路とは、直…
このところマイコンのプログラムばかり作っていましたが、久々にアナログシンセ回路の実験をしています。 それは、 CA3046、TD62507、TD62501 などのトランジスタ・アレイを使い CV として MIDI2CV からの PWM 信号 (ディジタル値) でドライブする 温度補償…
「scr_tn10.asm」プログラムについて、いくつか補足の説明をしたいと思います。 まず、「SYNC_MODE = 2」、つまり、外部 SYNC 入力モードの場合の波形写真を下に示します。
VCO 回路の「コンパレータ + ワンショット」部分として機能する ATtiny10 のプログラム「scr_tn10.asm」のソースを下に示します。 AVR Studio 4.19 で「Atmel AVR Assembler」プロジェクトとして「scr_tn10」を新規作成し、デフォルトで自動作成される空の「…
VCO 回路の「コンパレータ + ワンショット」部分を ATtiny10 のプログラムとして実現しました。 (gcc の gas ではなく)AVR ネイティブのアセンブラで書いてあり、そのソースリストは次回に掲載します。 タイマ IC 555 を使ったリセット型 VCO 回路なら 555 …
これまで、555 を使ったタイプの VCO については、あまり注目してきませんでした。 その理由は、ソース方向のアンチログ出力電流が求められるため、通常は、PNP トランジスタによる構成でアンチログ回路を実現する必要があるからです。 トランジスタ・アレイ…
いわゆる「山下シンセ」の、定番のタイマ IC 555 を使った VCO 回路で、オリジナルのバイポーラ版の 555 の代わりに CMOS 版の 555 を使うと発振周波数が低い場合、つまり、電流値の小さい領域で不具合が生じるという話題を Chuck さんがブログ 2011-01-20 -…
温度補償回路の温度特性を測定してみて、効果があることが確認できました。 予備実験として、トランジスタ・アレイ内のトランジスタを「ヒーター」として利用して温度設定する方法も試してみたのですが、差動ペアのトランジスタ間に無視できない温度勾配が生…
実験回路を組み上げて、回路動作することは確認しました。 温度特性についての確認はこれからです。 回路図を下に示します。
3.3 V 動作の VCO 回路の次の段階として、通常は温度係数 +3300 ppm/℃ の抵抗 (TEMPCO) を使うオクターブ・スパンの温度補償を、TEMPCO を使わずにトランジスタ・アレイ内の差動ペアを利用して行う回路を考えています。 まだ回路は組んでいませんが、LTspice…
PIC の内部モジュールを使った VCO の 3.3V 電源化を進めました。 当初は、リセット回路に 74HC シリーズの CMOS アナログ・スイッチを試してみたのですが、高性能で高価なアナログ・スイッチとは違って、3.3 V 電源では ON 抵抗は十分低くならず、結局は PN…