初版作成日2004年12月25日
最終更新日2008年08月13日

  Top Studio Labo. Music Blog Link  

■PWM MIDI-CVコンバータの実験■

アナログシンセ掲示板でアイデアが出ていたPWM方式によるMIDI-CVコンバータの実験をしてみました。

■回路図

PWM MIDI-CVコンバータ回路図

PWMによるMIDI-CVを実現するには、いろいろなデバイスによる方法が考えられますが、今回は簡単に実現ができそうなPICのPWM機能を使って実験してみることにしました。
回路はPIC16F648A+TL082+GATE用TRを各1個と極めてシンプルにですが、結果は思った以上に良好で、以前製作した簡易MIDI-CV(AD7528DAC)バージョンより、リニアリティ的には優れているような気がします。
PICの仕様で、X'talを20MHz、DUTY分解能を10bitとした場合、PWMの周期は約20kHzとなります。LPFは最初、fc=150HzのRC1次フィルタを3段カスケードにして実験してみたのですが、CVの変化が若干もたつくため、fc=700Hzぐらいとしました。

■ファームウェア

基本的には、以前製作した簡易MIDI-CVコンバータのファームウェアをベースにPWM制御ルーチンを追加しただけです。MIDIノートは7bitの情報ですが、PICのDUTY分解能が10bitとれることから、ピッチベンドにも対応させてみました。ピッチベンドの変化ステップは1/8半音(3bit分解能)になりますが、聞いた感じでは実用上支障が無い程度に、滑らかな変化が得られていると思います。
また、PIC16F648AのVref機能を使用して、モジュレーションホイールの変化により、Vref(pin1)に0〜3.125Vの制御電圧が得られるようにしました。この制御電圧は4bit分解能ですが、OTAなどと組み合わせてモジュレーション量の制御等の利用が考えられます。(Vref出力を利用する場合には、PIC保護のためにバッファを付けることが望ましい。)

PWM MIDI-CVコンバータファームウェア(ASM)
PWM MIDI-CVコンバータファームウェア(HEX)

※ファームウェアは基本的機能しかインプリメントしていません。また一応動いて動いているようですけど、動作の保証は一切ありませんので、利用される方は自己責任でお願いします。

アルゴ算法堂さんによる改良ファームウェア>(2008/08/13追記)

当初公開したファームウェアにはランニングステータスの取りこぼしなど致命的なバグがあります。アルゴ算法堂さんがこれらのバグフィックスをした改良版ファームウェアを公開くださってます。新たに実験される方はこちらのファームウェアを使用するようにしてください。

RJBさん版のPIC−MIDICV
PICでMIDICV ← ここのページより丁寧に解説されています。あわせて参照することをお勧めします。

 

実験基板

主要な部品はPIC16F648AとTL072のみです。
部品代は、1000円でお釣りがくるでしょう。

CV電圧1V時のPWM波形(DUTY 約9.4%)

CV出力へのPWMクロック(約19.53kHz)漏れは、皆無に等しいです。

CV電圧4V時のPWM波形(DUTY 約37.5%)

計算通りのリニアリティが得られます。


Laboratoryに戻る

トップに戻る


©2004-2008 RJB. All rights reserved