投稿者 スレッド: MiniBoardIIの回路  (参照数 122 回)

thunder

  • 初心者
  • *
  • 投稿: 9
    • メール
MiniBoardIIの回路
« 投稿日:: 11月 05, 2017, 05:50:24 pm »
こんにちは。
MidiCV変換回路を自分でも作ろうと思い、MiniBoardIIを参考にしているのですが、1点わからないことがあります。
CVを出力するために、マイコンから2つPWM出力をしている点です。PWM一つでは電圧をうまく調整できないのでしょうか?ご回答頂けると幸いです。よろしくお願いします。

Gan

  • 管理人
  • 常連メンバー
  • *****
  • 投稿: 182
    • メール
Re:MiniBoardIIの回路
« Reply #1 投稿日:: 11月 06, 2017, 03:08:54 pm »
PWM 一個でもできないことはないと思うのですけれども、それなりに難しくはあると思います。

miniboard は、もともとは note に対応した7ビットの PWM 一個でできていました。MIDI のデータは7ビット分しかないのでこれだけで正確な音程が取れるのです。
ピッチを決めるのに最大 128 段階というのは一見荒すぎて乱暴ですが、利点もあって、ビット数が少ないとPWMの周期が短くなるので平滑用のフィルタの時定数を小さくできるため、MIDI のノートを変えた時の CV の応答が速くなります。

最初の設計をしたあとで、ピッチベンドにも対応したほうが良いな、と考えたのですが、8ビットPWMでは、1/2 半音ごとのピッチしかとれないのでもっと細かい精度の PWM が必要になります。
ATTiny2313 の場合、Timer1 を使えば8ビットよりビット数の多い PWM ができます。選べるのは 9, 10, 16 ビット、10ビットと16ビットを試してみましたが、10ビットでは半音が8分割できるだけで細かさが全然足りず、16ビットにするとこんどは応答が遅すぎて、鍵盤を弾くとポルタメントのようにきこえてしまいます。

平滑フィルタには、単純な RC フィルタを使っていますが、応答速度を重視したアクティブフィルタ回路もあります。それらを試してみましたが、オーバーシュートがどうしても出てしまい、これが、音程を変えた時の出だしのピッチのふらつきとして聞こえてしまいます。

フィルタの設計を突き詰めてゆけば良い応答が得られたかもしれませんが、ここを試行錯誤している間に「二系統混ぜちゃえば簡単じゃない?ピッチベンドなんて遅くていいんだし」と思ってしまいました。やって見たらうまく行ったので、その設計をそのまま使ってしまいました。

そういうわけで、応答速度の調整をするために PWM を二系統にして、一系統めからは速度重視の note 信号、二系統めからは精度重視のピッチベンドが出力されています。フィルタには応答が素直で目立たない RC フィルタを使いました。

つまり二系統は手を抜くための設計でした。まだまだ改良の余地はあると思います。

ちなみに二系統めはピッチベンドだけではなく、LFO を仕込んだりして遊んだりもできると思います。ON/OFF などのうまい操作法が思いつかなくてファームウェアには実装されていませんけれども。
« 最終編集: 11月 06, 2017, 03:26:57 pm by Gan »

thunder

  • 初心者
  • *
  • 投稿: 9
    • メール
Re:MiniBoardIIの回路
« Reply #2 投稿日:: 11月 08, 2017, 01:23:13 pm »
早速のご回答ありがとうございます。
片方はピッチベンド用だったんですね。詳しくご説明頂き助かりました。今analog2.0をどんどん改造していっているので、また何かあったとき質問させてください。