こんにちは
シンです
3月の初旬に構想を初めてから、しこしこ2ヶ月間の地道な作業を続け、ようやくイコライザーが完成しました!
なかなかの出来栄えになったのではないかと
自己満に過ぎませんが、製作記を書いておきましょう
もし作ってみたい!という奇怪な方がおられましたら手助けします。
マイコンのプログラムも無償で行います
*******************************************************************
注1 今回の日記は内容的に多くの写真を含みますので、
携帯からではなくパソコンからの閲覧を推奨します。
注2 内容が非常に専門的になりますので広い目で見てやって下さい。
注3 シンは内容に関して一切の責任を負いません。真似をしてケガをして
も財布がさみしくなってもしらないからね。^^
*******************************************************************
・そもそもイコライザーとは何ぞや?
イコライザーはequalizerとスペリングします。すなわち、等しく(equal)するもの(izer)ということですね。では何を等しくするのか、というと周波数利得です。
一昔前、CDやカセットといったデジタルAV機器が普及する前の時代、音楽を保存しておくメディアは主にレコードだったということは御存知かと思います。
このレコードは音を実際にレコード盤に書き込む(彫りこむといったほうが正確か)ことでアナログ的に音楽を保存していたわけですが、それにはいくつか欠点がありました。その1つが、振幅の強度スペクトルが周波数によってかなり違っていたということです。簡単に言っちゃえば、高い周波数だと適切にレコードに彫りこまれず、低い周波数だと余計にレコードに記録されてしまうということです。そのため、レコードの波形をそのまま増幅してスピーカーにつなげると低い音が強調されたかたちになり、原音とはかなり違った音になってしまいます。
そこで、考えだされたのがアンプのゲイン(増幅率)を周波数によって変化させ補償してやる、という発想です。
低い周波数帯はあんまり増幅せず、高い周波数ほど増幅率を高める。こうすることで周波数特性がフラットになり原音に近い音に復調できるということになるのです。
このアンプこそ、まさに今回作るイコライザーだったのですね。
え゛シンはレコード持ってんの?
と思う方もおられるかもしれませんが・・・・・
んなこたぁないです。
そんな上品なものをもつ場所もお金もありませんから。
本来は周波数利得を等しくする、という目的で用いるイコライザーですが、むしろ積極的に利得を変えることで音づくりを楽しもうというわけです。
はっきり言ってしまえばこんなものわざわざ作らないでもwindows media player(以下WMP)にイコライザーはついています。
よって・・・・
イコライザーそのものにはあまり意義はないと言っていいでしょう 笑
それでも、せっかく作るのですからWMPにも対抗できるように次のポイントをもたせてみることにしました。
1.デジタル的に周波数特性をコントロールしていると思われるWMPは歪率の面でdisadvantageを抱えています。今回は打倒WMPということでそこに勝利の隙を見出します。イコライザー部を直接アナログ的に組み上げることにします。
2.電源を切っている時はイコライザー回路には繋がないようにし、音質の劣化を防ぐようにする。
3.マイコンで処理をし、デジタル表示を搭載する。カッコよくして利用意欲をかき立てるように。
・構想と設計方針
@周波数利得を変えるバンドは次のように分けるようにした。おおむね指数関数的に変化するようにすると人の聴感と一致するはずです。
単位はヘルツ
BAND1 0〜100
BAND2 100〜300
BAND3 300〜1000
BAND4 1000〜3000
BAND5 3000〜9000
BAND6 9000〜20000
@デジタルポテンショメータを利用し各バンドを分配しCRを利用したLPF、HPFでBPFを形成します。
Aインピーダンス変換にはOPAMPを用いることにするが、大量に用いるのであまり高価なものは使えない。そこで、秋月電子で1つ75円で購入することのできるNJM5532というICを使います。安価ながら高級オーディオアンプにも採用されたりするなど実績のあるICです。
BデジタルポテンショメータはMAXIMのDS1806を2つ用います。
C現在の状態は液晶ディスプレイで表示。
DDS1806の分解能が6ビットなので各バンドは2^6=64通りのボリューム設定値をもたせることができるように。
Eスイッチを押すごとに現在のBANDが変わるようにし、そのときに状態が反映されるようにする。
Fボリューム設定値はロータリーエンコーダを用いる。
G全体の制御はPICマイコン16f886で行い、プログラミングはアセンブラで行う。
H各ボリュームの設定値はマイコンのEEPROMに保存し、電源を切ってもデータが保持されるようにする。
さて、全体の構想がまとまったので実際の製作に入っていきましょう。
*****************************************************************
イコライザー 〜製作編〜
下図に今回製作するイコライザーの回路を示します。
電源部およびデジタル部回路
アナログ部回路
・簡単な説明・
電源部は工夫もなにもない至って標準的な回路です。マイコン、ポテンショメータは5V電源が必要なのに対し、アナログ部は正負の電源を確保しなければならないのでそれぞれ独立したトランス、回路を用意します。
各々のトランスの出力はブリッチダイオードで整流され、コンデンサで平滑したのち三端子レギュレータでノイズを低減され出力されます。
平滑用コンデンサには大きめの容量10000μFをつかいましたが、今回の用途ではそこまで大きい必要はないでしょう。おそらく1000μFでも問題はないかと。電解コンデンサは周波数特性がわるいのでセラミックコンデンサを抱かせます。
デジタル部も至ってシンプルです。1つのマイコンでほとんど全ての仕事をしてもらっています。具体的には
ロータリーエンコーダーの読み取り
ボタンの読み取り
液晶表示
DS1806の駆動
ですが、マイコンの速度が十分過ぎるくらい早いので(20MHz)全く問題ありません。
アナログ部はいくらかこだわった作りになってます。入力から入ってきた音声信号は電源オフ時は直接出力に直結するようになっていますが、電源が投入されると入力と出力は切り離されイコライザ回路に接続されます。その役割を担っているのがリレーG5V-2です。サージ対策としてダイオードをつなげるのは常識ですね。
ところでCDプレーヤーの入力信号レベルは約2Vppくらいなのですが、DS1806の入力端子の最大定格がマイナス側で0.5Vなので少しばかり危険です。そこで入力信号を1/6にして最終的に増幅するようにしました。ノイズレートが高くはなりますが致し方ないでしょう。
入力信号は抵抗で分圧され、DS1806に入力されます。6CHにもわたる出力は各々63段階の設定が可能ですが、内部回路は抵抗と等価なのでインピーダンスが段階によって異なります。このままBPFを通すと周波数特性が乱れてしまうので各チャンネルボルテージフォロワをかませます。なお、NJM5532はボルテージフォロワで使う際は出力と-入力をショートさせてはならないとデータシートにあるので抵抗4,3kをかませています。OPアンプの種類によってはこの抵抗は省略可能です。ヴォルテージフォロワでインピーダンス変換された信号はまずLPF(ローパスフィルタ)で高域を除かれます。LPFを通過後信号は再びインピーダンス変換され、HPFを通過、最終的にミキシングされるという流れになっています。
なお、BAND1とBAND6は各々20Hz以下、9kHz以上ということにしていますからHPF、LPFはそれぞれ不要です。
回路図でピンク色で書いた部品は音質にクリティカルに関わってきますから、音響用の高級品を利用しました。そこは財布と相談ですね。
ちなみに、フィルタの時定数は結構厳密な計算に基づいています。各バンドでのエネルギー和が等しくなるように設定されており、テーラ展開ー3次のオーダーまでエネルギー利得が平坦になるようにしました。
(といっても位相が結構ずれるので本質的に重要かどうかといわれれば怪しいですが・・・)
ま、その辺はわかる人だけわかればいいよね。
*****************************************************************
まずは部品集めです。大抵の部品なら家のジャンクボックスに溜まってますが幾らか買い足す必要があります。
そのために何度か秋葉原にGOですわ。
余談ですが、最近は秋葉原は電気街ではなくただのオタク街になり下がってしまっていますね。オタク文化をさげすむというわけではないですが、電子部品を購入するひとまでアニオタで括られるのは虚しい・・・
秋月に行く途中のみちではいつも
「おいしくなぁぁぁれ。萌え萌えきゅーん」
っていう音が流れ続けている 泣
別に興味ないからねw
今回用いた部品はどれも入手性が良いものばかりですが、DS1806だけは秋葉原でも手に入らないと思われます。今回はサンプルとして無償提供されているのを利用しました。マキシムは登録するだけで、サンプル品を無料にプレゼントしてくれます。ほんといい会社。偉くなったら沢山使ってあげよ
それ以外の部品は主に
秋月電子
http://akizukidenshi.com/catalog/default.aspx
千石電子
http://www.sengoku.co.jp/
で手に入ります。
オーディオ用の抵抗、コンデンサは
海神無線
http://www.kaijin-musen.jp/
で多く扱っているのでよく利用してます。
そしてこれがDS1806。今回の主役。これが無ければ始まりません。
さて、いよいよ部品が集まりました。実際の製作に入っていきましょう!
******************************************************************
製作編(電源部)
集めた部品
トランス、電解コンデンサ、ブリッチダイオード、レギュレータ、チップコンデンサ、中古の基盤。
回路からもわかるように非常にシンプルですから即効で作業が終了するはずです。人間でいえば心臓にあたる、一番重要な部位ですし、パワーを扱う部分ですから間違えると非常に危ないです。
良く確認して作ります。
して、完成!!
コンデンサがでかいのでパンパンです。レギュレータはほとんど発熱しないので放熱処理はしていませんが、気持ち悪ければつけた方が良いかもしれません。
表面
裏面
ケースに実装した様子。
電源動作確認も兼ねて表示灯の点灯チェック
無事に完成です。
*****************************
製作編(アナログ部)
ここが一番大変な部位です。
なんせOPアンプの使用量が12個なのに加え、DS1806のピン配置が絶妙にウザいので苦労しました。
部品
黄色いのがオーディオ用のフィルムコンデンサ、8本足のICがオペアンプ、白いのはリレー、抵抗は重要な部位のみ高級品を利用し、それ以外の場所はチップ抵抗を多用しました。
緑色のカッコいいのがオーディオ用の無極性電解コンデンサMUSE。あんま高くはないです。
そしてこれが完成図。
表面
裏面
出来れば使いたくはなかったのですが数本ジャンパーコードがあります。
汚いって?
これでも10年近くはやってますよ。ハイ。
これでも手先は器用だとのたまっておりますが何か問題でも?w
簡単に完成!といってはおりますが、この基盤一枚を作るのも1週間くらいかけてちまちまやってます。意外と大変なんですわ。
********************************
製作(デジタル部)
部品たち
アナログ部と異なり、デジタル部にはICは1つしか用いません。部品も少ないのでアナログ部より遥かに簡単です。
なお、ICはプログラムを書き込まないとウンともスンとも言いません。
プログラムを書き込むには専用のライターが必要ですがそれもちゃんと持ってます。
で、完成したのがこれ
表面
裏面
*************************************
これで取りあえずハードは完成しました。
実際にケースに収めたのが下図。
どうです?高いケースを買っただけあってかっくいいでしょ?
たしか7000円くらいでした。言うまでも無く今回のパーツの中で一番高いです。結局世の中見た目が全てなんですね。
ここまでで全体の仕事の約半分。
ここからはプログラミングという重要な課題が残っております。
実はプログラミングが今回の作業の中で最も危惧していたパートでした。だって自分で本格的にプログラミングをしたことが無いんだもん。
今までは偉ーい方の作っていただいたプログラムをつぎはぎする程度でしたが、今回は違います。全部自分で考案した回路だけに1から10まで全て自分の手で作り上げねばなりません。
*****************************************************************
ソフトウェア開発編
PICマイコンのプログラムはMPLABという専用のアセンブラプログラムを利用します。これはMicrochipのhpで無償配布されているので助かります。
Microchip
http://www.microchip.com/
MPLAB
それではプログラミングをはじめていきます。
まずはメインルーチンから。
プログラムの大まかな流れは次のようになっています。
START
↓
マイコンの初期化
↓
液晶の初期化
↓
EEPROMからVOLデータを読み出し反映させる
↓
DS1806にデータを送信
↓
ディスプレイに表示
↓
(ここからメインルーチン)
1.スイッチの変化チェック 有→CHKSWのルーチン
↓無いなら
2.エンコーダーの変化チェック 有→ENCODERのルーチン
↓無いなら
1.に戻る
CHKSWのルーチン
スイッチが押された時に発動し、現状態をDS1806に送信するとともに、BANDを切り替えます。そののち液晶にデータを送信。
ENCODERのルーチン
ロータリーエンコーダの変化があると発動します。現在のBAND状態のVOLデータを変化させ、液晶にデータを送信します。
プログラムが見たかったら言ってください!ミクシーでは画像以外のデータをアップできないので。
*************************************************************
で、プログラムが完成しました!
もちろん出来上がるまでにはいろいろ紆余曲折はあり、なんどもなんどもデバッグ(プログラムのミスをなおすこと)をさせられました^^。ドMにはたまらない仕打ちです。
こいつで書き込みをします。
書きこんでいるところ
いざ、ICを装着して・・・・!
かんせーーーーーーーい(^O^)/
後ろ
前
BAND1
BAND2
BAND3
BAND4
BAND5
BAND6
写真ではあまり表示は美しくはありませんが、実際はかなりきれいです。
どう?カッコよくない?
カッコいいでしょ。
これなら使いたくなるというものです。
ちょっと聞こえにくいかもしれませんが、たしかに音質が変わっているのがわかると思います。
音質の劣化はほとんどありませんね。
ただ、片チャンネルあたりOPアンプを12個も用いているだけあってノイズはそれなりにあります。それでもボリュームをマックスにしないと聞こえないくらいですが。
自家製ヘッドホンアンプ
自家製スピーカアンプ
とCDプレーヤー意外は全て自家製。
この調子でCDプレーヤーも作ろうかな?
******************************
終わりに
最後まで読んでくれてありがとう
あんまりわかんなかったらごめんなさい 笑
もし俺も私も作りたい!
という方がいればお金以外は助けるので 笑
のんびりジャズを聴きながら勉強もいいですな〜
それでは!
P.Sそろそろバイトしないと・・・
|