発振
発振
製作中のATtiny2313版MIDI2CV(回路図)。現在はパネルの色を塗ろうかねぇという段階にあったものであるが、追試をしてくれた takedaさんから「発振する」という情報が寄せられている。PWMのキャリアを取り除くローパスフィルタである。
筆者の製作ブツではこの発振を確認していなかったのだけれど、完成当初の「動いた動いた」で、デバッグの中心はソフトの方に移ってしまっていた(id:Chuck:20061028#p1)。ろくに検討しておらず、見落としているのかもしれない*1。なお現在はパネル塗装準備のためにバラされている。
フィルタは二種類あって、ひとつはピッチCV用で、CRの3段をアンプってオクターブを合わせているもの。問題のフィルタはピッチでないCV用のもので、なるべく部品点数が少なくなるように*2と採用したサレン・キー・フィルタ。id:Chuck:20060524#p1 で基礎検討を行ったものだ。
「発振する」の情報に対して、当初からどこかに組み間違いや実装上 何かがあるのではないかとか、オペアンプの内部回路によってポール形成か というセンでやり取りしていたのだけれど、どうもそうではないらしい。
takedaさんの実験と教科書*3を踏まえたご指摘を得て考えるに、思い当たるフシが出てきた。
今回のMIDI2CVでは、id:Chuck:20060524#p1 の基礎検討とは違った定数を用いている。基礎検討版ではフィルタゲイン1 で実績ある定数のものを引っ張ってきたのだけれど、MIDI2CV版ではゲインを持たせようと反転入力に抵抗を入れている。どうやらこれが悪さをしているのではないか。ゲインを持たせるとフィルタの特性がズレるとは理解していたのだけれど、どうやら非常に敏感なものらしい。気軽に抵抗を追加してろくに検証していなかったのが発振を呼んだようだ。
筆者の勉強ソース
筆者が参考にしたのは以下の資料。
ADI - Analog Dialogue | Op Amp Applications Handbook の Sections 5-5 to 5-8: Analog Filters (pdf, 1535 KB) の 17-18ページにサレンキーフィルタの説明があって、32ページに設計公式がある。
これの改訂日本語訳の書籍が出版されているのでそちらを参照されても良い。なお TIの Ron Mancini 本*4 のほうが手取り足取りかもしれない。
メモ
資料類の正式名称、URI は後で追記予定
ちょっとフィルタを解析してみる
というわけで、今回MIDI2CVに採用した定数でフィルタを解析(というほどでもない)してみる。なお前掲のMIDI2CVの回路では1次CR LPF と 2次サレン=キー フィルタが連結されているが、解析対象は後者のみである。
ちなみにラプラス・ドメインの算数なんて20年ぶりかも*5。そのくせ実は組んでるバンド*6の名前が Laplacian だったりする罠。
R1 = R2 = R3 = R4 = 10kΩ、C1 = 100nF、C2 = 510pF がMIDI2CVで使っている定数である(部品番号は上記勉強リソースに拠る)。実績ある回路では R3 = 0、R4 = オープン となっている。
MIDI2CVの定数では
で、ただし、
at
となっている。
これの分母のみ取り出して、MIDI2CVの定数を入れると
分母
の解は、 だから、分母 は、
あ、極のネーパ周波数*7 ()が正だ orz たしか s平面の第2第3象限が安定域…
実績ある定数では
実績ある定数では R3 = 0, R4 = オープン で、 なので、伝達関数のsの1次の第3項が0になる。
値を入れて、
こちらは 。
かろうじて左半面に居る。
ということで
この定数では発振してもおかしくないようです。フィルタはきちんと基本にたちかえらないとダメですね。
きちんと設計して定数をはじき出して、ブレッドボード実験しようと思います。
ご迷惑おかけして、どうもすみません (_ _; >takedaさん。