■タグ「レイアウト」

■Owm Pedal ハードウェア編

03s_237_1owmp.jpg
STM32F405という32ビットマイコンを搭載した自作デジタルエフェクター「Owm Pedal」です。名前は同じマイコンを搭載した既存のペダル「OWL Pedal」をもじってつけました。(Owm Pedal ソフトウェア編はこちら

オーディオコーデックはCS4220のセカンドソース品V4220Mです。サンプリングレートが48kHzまでですが差動入出力で価格が安く(秋月電子で240円)、エフェクターに最適だと考えました。

▽回路図
03s_237_2owms.png
<V4220M周辺>
データシートに入出力の回路が記載してあるのですが、抵抗値はよく使う値へと変更しました。バイアス電圧用に8.25kΩの抵抗があるところは、10kΩと100kΩ2個を並列にして8.33kΩとしています。

V4220Mのデータシートでは音量等をコントロールできそうに書いてありますが、実際はできないようです。マスターモードで動作させる場合は8番(DOUT)ピンに47kΩのプルダウン抵抗を入れます。また、CS4220のデータシートには電源オン時に27番(RSTN)ピンを10msの間LOWにしておくように書いてあるため、10uFのコンデンサを入れました。4・5・8・9番ピンからマイコンへ接続しますが、通信線の長さが短いためダンピング抵抗は不要かと思います。

<電源>
電源はレギュレータで以下のように分けました。
・マイコン用→デジタル3.3V(100mA)
・V4220M用→デジタル5V(20mA) デジタル3.3V(5mA) アナログ5V(60mA)
・OPA1678×3用→アナログ5V(20mA)
アナログ5V電源は通常分離する必要はありませんが、万一問題があったとき基板発注し直すのが嫌なので分けています。

▽DSP基板(Owm Borad)レイアウトについて(KiCadデータはGitHubへ)
真ん中あたりに電源、上側がデジタル、下側がアナログという配置となっています。GNDは裏面を一面プレーンにしました。入力のカップリングコンデンサはPMLCAPを使っており、やや大きくて高価ですが歪率は下がるでしょう。残念ながらBIASに接続すべきところをGNDにつなぐというありがちな間違いをしてしまいましたので、内部写真では妙なジャンパー線が写っています(KiCadデータは修正済)。

ピン間隔が狭いICはパッドを1mm程度長くすると半田付けしやすいです。マイコンのピンはほとんど使えるように引き出しました。一応I2C用にプルアップ抵抗の取り付けもできます。マイコン上側のLEDはデバッグ用のつもりです。水晶振動子周りのパターン設計は下記ページを参考にしました。
水晶振動子 ガイド - RSオンライン

▽ポット類基板レイアウト
03s_237_3owml.png
ポット類基板と筐体はRasPd4のものを使いまわしました。回路図は描いていません。無理やりジャンパーを飛ばしてチャタリング対策の抵抗やコンデンサを入れました。下写真のように基板を合体させます。
03s_237_4owmpp.jpg

とりあえず何もエフェクトをかけないスルー音が出るようにプログラミングし、周波数特性と歪率を測定しました。歪率は、クリップしない最大入力約0.7Vrmsでの結果です。
03s_237_5owmf.png
100Hzの歪率が思ったより悪いですが問題ないでしょう。ノイズも測定限界以下だったので、歪み系エフェクトでもおそらく大丈夫だと思います。

■2ループスイッチャー+絶縁型パワーサプライ

02_224_1lpswp.jpg
直列可2ループボックス+パワーサプライのスイッチが経年劣化のためか接触不良となっていました。もう一度配線をやり直す気にはなれなかったので、AVRマイコンを使ったスイッチャーとして生まれ変わらせました。当初はアナログスイッチICを使おうと思っていましたが、バッファーが必要で複雑になりすぎるようです。普通にメカニカルリレーを使うことにして、ついでにパワーサプライ部分はなんとなく絶縁型へと変更しました。

▽回路図
02_224_2lpsws.png
マイコンはATtiny13Aだとプログラムメモリが足りないので、ATtiny85です。ATtiny13Aの使用方法と同様に、Arduino IDEをATtiny85にも対応させます。参考ページ→Arduino IDE で ATtiny 他の開発

5Vレギュレーターは念のため78M05としていますが、9V入力であれば78L05でも大丈夫でしょう。リレー941H-2C-5Dのコイル駆動電流は30mAで、マイコンから直接流し続けるのは無理があるため、トランジスタを使用します。

▽レイアウト(KiCadデータはこちらへ)
02_224_3lpswl.png
パワーサプライ部分は別基板となっています。絶縁型DC-DCコンバータが大きいので内部がかなり窮屈になってしまいました。

▽Arduinoスケッチ
表示/非表示切替(133行)
スイッチに関する部分はMOSリレーバイパスと同じで、長押しの判定はsw_countを増やすだけです。メインループが1msごとなので長押しは1秒となるはずですが、処理に時間がかかるので実測では1.8秒ぐらいでした。

▽操作方法
 ・マニュアルモード(中央LED消灯)
   左スイッチ: ループBのオンオフ切替、長押しで特殊モードへ
   右スイッチ: ループAのオンオフ切替
 ・特殊モード(中央LED点灯)
   左スイッチ: ループA→ループBの順で直列接続
    ※直列切替後は右スイッチでAのみ、左スイッチでBのみオンの状態に戻る
   右スイッチ: ループAのみオンとループBのみオンを切り替え、長押しでマニュアルモードへ

■MOSリレーバイパス

02_223_1mrbP.jpg
ソリッドステートリレーを利用したエフェクトのバイパス方法をバッファーなしで検討していました(別記事参照)が、音漏れやポップノイズの問題が解決できなかったため結局バッファードバイパスにすることにしました。BOSS筐体BD-2に採用しています。あまり利点がないバイパス方式となってしまいましたので、再度作ることはなさそうです。素直にラッチングリレーを使った方がよいでしょう。

▽回路図
02_223_2mrbs.png
秋月電子で安売りしている光MOSFET PS7200K-1Aを使用しましたが、フォトリレーTLP222Aでも問題ないと思います。エフェクト側の入力部分の回路によってはバイパス音に影響が出るので、本来は入力の分岐前にもバッファーを入れた方がよさそうです。バイアス電圧Vbはエフェクト回路から引っ張ってきています。

▽レイアウト
02_223_3mrbp.png

▽Arduinoスケッチ(ATtiny13A用)
#define SW_PIN 3
#define BYPASS_PIN 0
#define FX_ON_PIN 1
#define LED_PIN 4

int sw_value = 0;
long sw_count = 0; // intだとオーバーフローするかも
boolean fx_state = false;

void setup() {
pinMode(SW_PIN, INPUT_PULLUP); // 内部プルアップ抵抗有効
pinMode(BYPASS_PIN, OUTPUT);
pinMode(FX_ON_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(BYPASS_PIN, HIGH); // 初期値はバイパス
digitalWrite(FX_ON_PIN, LOW);
digitalWrite(LED_PIN, HIGH); // 電源オン時LEDが2回点灯
delay(300);
digitalWrite(LED_PIN, LOW);
delay(300);
digitalWrite(LED_PIN, HIGH);
delay(300);
digitalWrite(LED_PIN, LOW);
}

void loop() {
sw_value = digitalRead(SW_PIN);
if (sw_value == LOW) {
sw_count += 1;
} else {
sw_count = 0;
}

if (sw_count == 10) { // 10msスイッチ押すとエフェクト切替(チャタリング対策)
fx_state = !fx_state;
if (fx_state) {
digitalWrite(FX_ON_PIN, HIGH); // HIGHにするピンの順番が逆だとポップノイズあり
delay(2); // これがないとポップノイズあり
digitalWrite(BYPASS_PIN, LOW);
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(BYPASS_PIN, HIGH);
delay(2);
digitalWrite(FX_ON_PIN, LOW);
digitalWrite(LED_PIN, LOW);
}
}
delay(1);
}
チャタリング対策の参考ページ→Arduinoの基礎 – スイッチのオン・オフを読み取る
ATtiny13Aの使用方法はこちらの記事へ

■RasPd3 ハードウェア編

03_220_1raspd3p.jpg
今まで製作したRaspberry Pi搭載エフェクター(RasPd1RasPd2RasPd4)は単一エフェクトのみしか使えませんでしたが、今回のRasPd3は複数のエフェクトを同時に使えてパッチ切替もできる、いわゆるマルチエフェクターを想定したものです。当初はオーディオインターフェースにCS4272を使うつもりでした(別記事参照)が、うまくいかずWM8731を使っています。しかしながらCS4272を使ったオーディオカードTeensy Super Audio Board(SAB)は全データが公開されているので、大いに参考にしました。

▽回路図
03_220_2raspd3s.png
ΔΣ型ADコンバータでは入力のフィルタは簡易なものでよいらしいので、RasPd4より簡略化しました。ギター入力はモノラルですが、WM8731のLR入力を逆位相にして内部プログラム(下図)で足し合わせるという差動入力っぽいことをしています。
03_220_3raspdpd.png

ノイズ対策として、絶縁型DC-DCコンバータやデジタルアイソレータ(Si8662BB、Si8602AB)を用いてRaspberry PiとGNDを分離しました。スイッチについてはチャタリング対策の抵抗とコンデンサを入れています。ロータリーエンコーダは高速回転させるかもしれないので、コンデンサの容量が少なめです。

2.2インチLCDディスプレイモジュールはAmazonで購入しました。SAINSMARTの商品ページのManualに回路図が入っています。回路図中に3.3Vと記載がありますが、実際は3.0Vのレギュレータが使われていました。LEDピンへ抵抗を挿入すると明るさが減り、消費電力を抑えられます。Raspberry Piでの使用方法についてはadafruitのILI9341 TFT display用ページの内容で問題ありませんでした。

▽レイアウト(KiCadのデータはこちらへ)
03_220_4raspd3l 03_220_5raspd3swl.png
WM8731のアナログGNDとデジタルGNDは分離せず、裏面のベタGNDができるだけ一面プレーンになるようにしています。スイッチ類の基板はユニバーサル基板で作成しており、細い線がジャンパーです。ディスプレイモジュールのSDカードソケットは配線の邪魔なので取り外しました。ケースはタカチTD10-15-4Bです。

ノイズについては、劇的ではないですが少しは減少したようです。入力が0.5Vrmsぐらいで歪率1%となりますが、ブースターとして使うことはないので大丈夫でしょう。内部プログラムについてはまだ全然できていません。今までにない規模のプログラミングとなるので、相当時間がかかると思われます。

■Crosstortion

02_215_1crossP.jpg
東京エフェクター「第5回 エフェクタービルダーズ・コンテスト」に向けて製作したエフェクターです。コンテストのテーマは「ハイゲイン」だったのですが、ちょうど回路を考えていた2017年10月頃はBig Muffに注目が集まっていたので、なんとなくBig Muffをベースにすることにしました。また、今回は今までやったことがなかった「クロスオーバー歪み」をコントロールしています。ペダル名は単にcrossover distortionを略したものです。

ルックスもコンテストでは重要となりますが、私にはセンスがないので評価は低いでしょう。ポット周りの図形のカドが目盛りになっているというのをやってみたかったので、角ばったデザインにしました。それと、ウケがいいかもしれないという安易な考えで、適当に黄金比を取り入れています。シールは「手作りステッカー メタリックシルバー」というものを使いました。

▽回路図
02_215_2crossS.gif
オペアンプばかりですが、ICBM(オペアンプマフ)ではありません。トーン回路や周波数特性はトランジスタを使った現行Big Muffとほとんど同じで、歪み部分は個人的に好きな「オペアンプで歪ませる」というものとなっています。参考ページ→Big Muff Pi Analysis
コンデンサは3.9nFを持ってなかったので3.3nFにしたり、まとめ買いしていた10μFをやたらと使っていたり等、ある意味Electro-Harmonix精神も盛り込んでいます。

真ん中あたりの4つのオペアンプとLM317がクロスオーバー歪み関連です。こちらのページの図11と同じ回路で、理想ダイオード回路にLM317で調節した電圧を加算しています。同ページ図12のように波形の半分以上をバッサリとクリップしますが、プラス側とマイナス側を足し合わせることで擬似的にクロスオーバー歪みがある音を生み出しています。小音量の音はクリップする電圧値を超えられず切り捨てられるため、ノイズゲートとしても働きます。倍音については、奇数次倍音のみが出るようです(各クリッピングと倍音の記事最下部に掲載)。コンテスト用の個体は、一応トリマーを追加して最小電圧値を細かく調節しました。

あまり回路検討にかける時間がなかったので、後から見ると粗がある感じがします。入力部のICを変えれば全部5V駆動でよさそうです。あとクロスオーバー歪みを扱うなら素直にトランジスタを使う方がもっと簡単だったんじゃないかと思います。

▽レイアウト
02_215_3crossL.png
▽PCB(横86.4mm縦40.6mm)
02_215_4crossLP.gif
歪みエフェクターは筐体が大きい方が印象に残る気がするので、余裕を持ってHAMMOND 1590BBを使いました。基板は秋月電子にある角型ランドのもので、見た目はなんだかカッコイイですが少し薄い(厚さ1.2mmぐらい)です。

音についてはたぶんBig Muffっぽくなっていると思います。まぁ私は自作ラムズヘッドぐらいしかビッグマフを弾いた経験がないのでよくわかりません。倍音も測定しましたが、少し奇数次倍音が多く普通の歪みという感じでした。ハイゲインだとクリッピングの違いはあまりわからなくなると思います。肝心のクロスオーバー歪みについては、なんともいえないジュワーという感じが付加されます。ゲートファズのようなブチブチ系にもできますが、正直私はあまり好きでなかったです…

---以下2018年3月19日追記---

「第5回 エフェクタービルダーズ・コンテスト」第一次審査の点数を記載しておきます。
コンセプト:17 サウンド:16 ルックス:16 操作性:16
総合点:65 21台中11位

ブログ内検索

メールフォーム

当ブログに関するお問い合わせはこちらからお願いします。 ※FAQ(よくある質問)もお読みください。

お名前
メールアドレス
件名
本文

アクセスカウンター