PCオーディオレベルメーターの製作
2009年5月 完成編 ※2011/08 記事を改訂 LEDを使った自作レベルメーターの製作記事です。 「Shuttle K45 改造 レベルメータ+デジタル時計」で製作したレベルメータの回路を整理し、改良して作り直しました。予告編ページはここをクリック。 このページでは回路図や部品一覧を公開し、製作のコツや仕組みについて解説します。 【キーワード】 ディスプレイドライバ LM3915、OPアンプ LM358、Intel HD Audio、 レベルメータ、バーメータ、オーディオメータ、VUメータ、バーLED、Shuttle K45 【関連記事】 「ディスプレイドライバ LM3914/LM3915/LM3916について」 LM3914/LM3915/LM3916の使い方について説明した記事です。 レベルメーター製作の参考になると思うのでぜひご覧ください。 おまけで20連オーディオレベルメーターの製作例も紹介しています。 |
製作物の紹介 - 基板の様子 | ||||||||
バーLEDは左右対称に見せるため片方を半回転捻って取り付けます。 バーLEDは片方で11本の配線が必要です。配線にはリボンケーブルがお勧めです。 半田付けした後、数本ごとにスダレ状に裂いておくと捻りやすくなります。またそうすると、捻っても両外側の線に無理な力がかからなくなり、断線防止になります。 ちなみにリボンケーブルの配色は抵抗のカラーコードと同じです。これに気付くと誤配線の可能性が減ります。 ソケット裏面は、片側にLED10個分、反対側に電源線(水色)を10ピン一つながりで配線。 バーLEDの足は通常のICより長いため、ソケットとの間に基板をはさむことができます。
|
製作のワンポイント説明 | ||||||||||||||||||||||
回路図
このレベルメータはPCで使う他、小型ケースに収めて電池で駆動することもできます。その際はおよそ5Vで動作させます。乾電池(1.5V)なら4本(多分3本でも可)、充電池(1.2V)なら4本必要です。006P(9V)はそのまま使えます。 三端子レギュレータで5Vに変換するように作れば、9Vや12VのACアダプタも使用できます。 以下では、本機をPCのフロントパネルのヘッドホン端子と接続して使い、電源はHDD用電源ケーブルから5Vを取るものとして説明します。
1つのICに2個のOPアンプが入っていて、音声R/Lの分がこれ1つで足ります。ヘッドホンアンプを作るわけではないので音質は考えません。回路は、 アンプSHOP ミズナガ(エレクトロニクス知識 - OPアンプ回路のページ) なひたふ電子(電子回路の豆知識 - オペアンプ回路の豆知識のページ) を参考にさせていただきました。 アンプ部の回路定数 公開している回路図は配線の実体がつかみやすいようにICのパッケージの形で描きましたが、OPアンプの記号を使った一般的な回路図は下図のようになります。 LM358を非反転増幅回路にして使います。入力信号は交流信号とします(音声)。 直流成分をカットするコンデンサC、バイアス電流を通す抵抗R10によってハイパスフィルタが形成されます。 入力信号は音声なので人間の可聴域20〜20kHz(20〜20000Hz)に被らないよう、カットオフ周波数が20Hz以下になるようにします。 例 コンデンサCに0.1uFを使うとすると、 f = 1/(2πCR) → 20 = 1/(2π * 0.1uF * R) → R = 80kΩ ここで手持ちの100kΩを使うとするとカットオフ周波数は、 f = 1/(2π * 0.1uF * 100kΩ) = 16Hz …よし、R10 = 100kΩ で行こう(こんな決め方です)。 ※2011/08追記 当時はヘッドホンアンプ類の工作についてあまり理解しておらず、この工作でも回路定数の決め方は「思い切ったな」と思います。 まぁこのときはこれで(^^; 増幅率は 1+(VR/R20) で求めます。 PCのオーディオプロパティでボリュームを30%にしてブレッドボードで実験したところ(*1)、バーLEDが十分に振れるためには増幅率が20倍程度必要でした。 増幅率の分母は一般的に数k〜数十kΩです。分子側(帰還抵抗)は半固定抵抗を使って増幅率を調整できるようにします。ツマミを中立位置にしたとき増幅率が20倍前後であれば調整するのに都合がよいので、 R20 = 4.7kΩ,VR = 200kΩ としました。 (*1) 自分がPCで音楽を聴くときに設定してるマスターボリュームは25〜35%程度です。PC側のボリュームを変えずにレベルメータを十分な振れ幅で動かすことが、この製作の重要なポイントだと自分は決めていました。PC側のボリュームを大きくすれば増幅率が小さくてもバーは十分な幅で振れます。しかしその状態でうっかりヘッドホンを挿すと爆音が耳をつんざきます。 OPアンプの出力を半波整流しています。このダイオードはなくても動作に支障はありません。LEDの光り方に影響します。好みの問題です。
3dBステップで10個のLEDをドライブします。音声R/Lで2組必要です。 データシートの先頭ページに↓こう書いてあります。 The LM3915 is extremely easy to apply. A 1.2V full-scale meter requires only one resistor in addition to the ten LEDs. PC側のボリュームを25%に絞ってもアンプ部を通して1.2V出せました。 よし、これで行こう。抵抗1個で完了だ(こんな決め方です)。 回路はデータシートの7ページ「Block Diagram (Showing Simplest Application)」に掲載されている通りです。 データシートには他にも面白そうな応用例が多く掲載されています。2個つないで20連レベルメータにしたり、ピークホールドらしき動作をさせることもできそうです。ぜひ読んでみてください。 レベルメータ部の回路定数 データシート7ページの回路図と、2ページの回路図及び計算式から、LEDの明るさを決める抵抗の値を次のように導きました。
まず[図P7]でピン8はGNDに直結しています。 これを[図P2]に当てはめて R2 = 0Ω とし、[式P2-V]から VREF = 1.25V VREF(=1.25V) << 2.2kΩ と見なせるので、[式P2-I]は ILED = 12.5V/R1 と近似できます。 この式より R1 = 1kΩ なら ILED = 12.5mA 流れることがわかります。 [式P2-I]を近似せず計算してみます。仮にLEDの上限 ILED = 20mA 流したいと考えると、 20mA = 12.5V/R1 + 1.25V/2.2kΩ → R1 = 643.3Ω これ以上の値で存在する抵抗を選んで R1 = 680Ω となります。 念のため逆算すると、ILED = 12.5V/680Ω + 1.25V/2.2kΩ = 19mA 実際はLEDに19mAも流して使いません。R1を決定するにあたり、もう少し大きな値から検討を始めることにします。ブレッドボード上で実測値は次のようになりました。
バーの動きをなめらかにするには アンプ部からの出力をそのままLM3915に入力すると、バーの動きが速すぎ、LED全体もちらついて見えるので、あまりレベルメータらしく見えません。そこでバーの動きをを滑らかに見せるため、積分回路をはさみます。回路図のコンデンサC2,抵抗R2です。 ちらつきはコンデンサで抑えます。容量が大きいほどLED 1つ1つがクッキリ光りますが、大きすぎると下位側のLEDが点灯しっぱなしの状態になります。 動きの速さ(反応の感度)は抵抗で決めます。値が大きいほど過敏な動きは抑えられますが、大きすぎると電圧降下の差し引きで「1.2Vフルスケール」に足らなくなります。 コンデンサと抵抗の値は具体的に計算するよりも実際に見ながら決めます。好みの光り方になるよう各値を探るだけです(こんな決め方です)。C2 = 0.47uF,R2 = 4.7kΩ としました。 バー表示とドット表示 LM3915はバー表示の他にドット表示ができます。ピン9をV+に接続するとバー表示、無接続にするとドット表示です。回路図ではバー表示にしています。 ドット表示は先端(ピーク)のLEDだけを光らせます。といっても入力信号(音声)は常に変化しており、LM3915は3dB(約1.4倍の電圧変化)ごとに隣のLEDが反応するので、強弱の激しい曲だとLEDは3〜4個の幅でチラチラ揺れて見えます。 しかしこれは上記積分回路のコンデンサ(回路図でC2)の容量を大きくして調整することができます。ブレッドボード上で試してみたところ、C2 = 2.2uF でLEDの点灯は1〜2個に減り、「らしく」見えるようになりました。好みの光り方を追求するなら抵抗R2の値も変えてみるとよいでしょう。 |
関連製作物の説明 - Intel HD Audio と ドングル | |||
Intel HD Audio このレベルメータはPCで再生した音声をフロントパネルのヘッドホン端子と接続して使うことを想定しています。バックパネルの音声出力端子をヘッドホン出力にして使っても構いませんが、そちらはオーディオアンプに常時接続している人も多いと思います。 ところがShuttle K45にはフロントパネルがありません。マザーボードにはフロントパネル用マイク/ヘッドホン端子のピンヘッダが付いています。これの仕様はAC'97ではなくIntel HD Audioです。両方をBIOSで切り替えられるPCもありますが、K45はIntel HD Audio固定です。 AC'97では単純に音声R/L/GNDのピンに線をつないで音声信号を横取りすることができます。Intel HD Audioでは音声R/L/GNDに線をつないだだけでは横取りできません。 Intel HD Audioはマイク/ヘッドホンの抜き差しを検出してドライバに通知し、適切な入力/出力設定をするようになっています。ヘッドホンを挿すと「何をつなぎましたか?」のダイアログが出たりしませんか? それがIntel HD Audioの機能です。この仕組みのため、単にマザーボード上のコネクタとヘッドホンジャックを結線しただけでは動作しません。ドングルが必要です。 仕様書を入手する Intel HD Audio(を含むフロントパネル)の仕様書は↓ここからリンクをたどって入手します。 「デスクトップ・ボード - オーディオのトラブルシューティング」 http://www.intel.com/jp/support/motherboards/desktop/sb/CS-020642.htm そのページの最後の方にある、「Intel Front Panel I/O Connectivity Design Guide - PDF」のリンクを右クリックして保存してください。2009年5月現在、バージョンは「February 2005 / Version 1.3 / Order Number A29286-005」 ※メーカーは予告なくURLを変更することがあります。リンクが無効な場合は検索サイトで仕様書のタイトルを検索してゲットしましょう。 仕様書はフロントパネルに載せる様々なインターフェイスについて書かれていますが、今回の製作に関しては「Front Panel Audio」の章だけ読めばよいです。AC'97のことも書いてあるので違いが分かりやすいです。 また上記リンク先ページで、「Intel Front 〜 PDF」の1行上にある「フロントパネル・オーディオ・ヘッダー・ピン配置」のリンクから見られる図表も参考になります。 ドングルを製作する
ドングルの実装については仕様書に詳しく書いてあります。 上記説明図はマザーボード上のピンヘッダを基板の表面側から見た図です。 PRESENCE#はマザーボード上でプルアップされています。ドングルを挿すと、このピンはGNDとつながり、マザーボードは「ドングルが挿してある」と認識します。 ドングルを製作するとき、ピン4(PRESENCE#)とピン2(GND)を 1kΩの抵抗でつなぎます。
ヘッドホン出力のR/LはPORT2R/PORT2L(ピン5/ピン9)です。PORT1R/PORT1Lはマイク入力用です。 ヘッドホンを抜いてるとき、SENCE_SEND(ピン7)とSENCE2_RETURN(ピン10)はつながっていません。ヘッドホンをジャックに挿すと、この2つのピンはつながります。ドライバはそれを検出して「何を挿しましたか?」のダイアログを表示するわけです。 通常、ステレオヘッドホンジャックの端子はR/L/GNDの3個です。しかしIntel HD Audioで使うジャックはスイッチ付きです(図の点線丸囲みの部分)。このスイッチは音声信号とは無関係にプラグの抜き差しと連動します。プラグを挿したらON、抜いたらOFFです。端子は5個です。 このようなタイプのスイッチ付きステレオジャックはなかなか売っていません。 音声信号の出力先を切り替えるタイプのスイッチ付きステレオジャックならどこでも手に入りますが、それはドングルの製作に使えないので部品購入時は注意してください。店員にも図を見せて説明しないと、違うタイプの(よくある方の)ジャックを出してきます。 ※よくあるタイプの方を何とか使えないか?と思っても難しいでしょう。どちらにスイッチしても音声信号とつながっている以上、プラグの抜き差しと関係なく音声の有無でスイッチON/OFFということになってしまいます。スイッチの状態を見るためといって監視用の電流を音声信号と一緒に流すわけにも行きません。 フロントパネル自体を作るなら目的のジャックを入手するのにこだわるかもしれません。しかしよく考えたら、今回の製作ではヘッドホンジャックは不要です。ピン7(SENCE_SEND)とピン10(SENCE2_RETURN)の間に小型スイッチを入れれば目的を達成できます。ヘッドホン挿入時に手動でスイッチONにするということです。 さらに言えばスイッチである必要はなく、ジャンパーピンでもよいです。 いっそのこと何もはさまず直結でもよいです。この場合はドングルの抜き差しと同時にヘッドホンが抜き差しされたことになります。 ※余談ですが。通常のフロントパネルでSENCE_SENDとSENCE2_RETURNをショートしておけば、ヘッドホンの実際の抜き差しに関係なくOS側には挿しっぱなし状態と認識させることができます。「挿入を検出しない」という設定ができないドライバを使っている場合(そんなドライバがあるかは知りませんが)、抜き差しごとにダイアログが出なくなって便利かも知れません。 マイク端子とEMIフィルタ(電磁ノイズフィルタ)は省略しました。 |
部品について |
全体 基板は25x16穴 (72x47mm)の片面基板を使いました。ギリギリで詰め込んでいます。 電源は、PCに組み込むならHDD用電源ケーブルから取ります。加工しやすいのはSATA用ではなく「大4ピン」などと呼ばれるコネクタの方です。そのコネクタはメス型なので、レベルメータに取り付ける方はオス型です。逆の部品を買わないよう注意してください。 一度PCの中を見て形状を確認してください。SATA用のケーブルしかなかったりオス/メスが分からない人は、PCパーツショップで延長ケーブルか分岐ケーブルを買い、途中で切って使えば手っ取り早いです。 電池駆動にする場合は電池ケースを使います。 アンプ部 一覧表の個数表記はR/Lの2組分です。 LM358は1個のICの中に2個のOPアンプが入っています。 OPアンプはLM358でなくとも、単一電源で動作するものなら何でもよいです。音声R/Lで2組必要になることを忘れないでください。 増幅率は半固定抵抗を使って調整します。 半固定抵抗は一度抵抗値を決めたら、以降は固定値で使うものです。だから「半固定」抵抗と言います。頻繁にいじっているとすぐに緩くなり、壊れます。 このレベルメータを複数のPCや音楽再生機器で使い回そうとすると、その都度増幅率(抵抗値)を変える必要があるでしょう。そのような使い方をする場合、半固定抵抗をBカーブのボリューム(可変抵抗)に変えます。スライド式の2連ボリュームなんて使うと格好いいです。 200kΩの理由は記事に書いたように、ツマミの中立位置(100kΩ)+-100kΩの範囲で調整できるからです。200kΩ前後のボリュームが入手できなければ、47kΩまたは51kΩの固定抵抗+100kΩのボリュームにするなど適当に組み合わせてください。この例だと100kΩ+-50kΩ程度の調整範囲になります。 OPアンプの出力で検波用ダイオードを使っています。 検波用に使えるダイオードなら何でもよいです。ここではショットキバリアダイオード1SS106を使いましたが、例えば秋月電子で1SS108が10個200円です(2009/05現在)。 逆に言うと、必ず検波用のダイオードを使ってください。他の用途のものはダメです。 検波用といえばゲルマニウムダイオードと言われますが、今時はシリコンダイオードが主流で、ショットキバリアダイオードがよく代用されるようです。 一応、共立エレショップでゲルマニウムダイオード1N60が10個283円です(2009/05現在)。 検波用ダイオードの必要性について。 半波整流すると、増幅率を若干抑えてもレベルメータの動きが良く、調整しやすくなった気がしたのでこの製作では付けました。付けなくてもレベルメータは動作します。 レベルメータ部 一覧表の個数表記はR/Lの2組分です。 レベルメータドライバはLM3915を使います。選んだ理由は、 ・ログスケールだから(3dBステップ)。 ・LEDを10個ドライブできるから。 このシリーズは他にリニアスケールのLM3914とVUメータ用のLM3916があり、どちらも回路の変更なしで使えます。ただし音量(入力信号の電圧)とLEDの光る位置の対応が違ってきます。人間の聴覚は音量変化を対数的に捉えるので、LM3914での光りの動きは違和感があるかもしれません。また、本来の用途でいえばLM3916がよいのですが、LM3915が比較的安価に入手できたのでLM3916は見送りました。 若松通商でLM3914/15/16がどれも1個472円です(2009/05現在。ただし在庫未確認)。 LEDをバー表示ではなくドット表示にして使う場合、電解コンデンサC2を 1.0uFか2.2uFにしてみてください。その際、抵抗R2も1k〜4.7kΩ程度で変えてみて好みの光り方を探ってください。 抵抗R1でLEDの明るさを変更できます。変更の仕方は記事中に書いてあるので、そちらを確認して必要な抵抗を買い足してください。 電解コンデンサは同じ容量でも耐圧の違いで複数の商品があります。耐圧が高くて価格が安いものを買えばよいでしょう。今回の製作では16V以上あれば問題なしです。 私が購入したのは耐圧50Vのものです。16Vでも同じ価格でした。 LEDアレイは3色10連のバーLEDを使っています。 この形にこだわらず、10個バラで色も形も大きさも好みのLEDに変えて構いません。 余談ですが5G3Y2EのEはEfficient RedのEです。 Intel HD Audio ドングル これが必要な人はあまりいないかもしれません。 マザーボードに挿すコネクタは、千石電商で「信号伝達コネクタ(黒)2x5 2550-2x5」とそのピンを買いました。通販サイトには出ていませんが店頭にあります。 PCパーツショップで売っているコネクタ(短い延長ケーブル)を使ってもよいでしょう。例えばAinex EX-004。 |
アンプ部 | ||||
部品名 | 部品番号 | 値 | 個数 | 参考価格/備考 |
OPアンプ | U | LM358 | 1 | 5個100円(秋月電子) |
抵抗 | R1,R3 | 100kΩ [茶黒黄金] | 2 | 1個5円/100個100円 |
抵抗 | R2,R4 | 4.7kΩ [黄紫赤金] | 2 | 1個5円/100個100円 |
半固定抵抗 | VR1,VR2 | 200kΩ [204] | 2 | 1個30円 |
ショットキバリアダイオード | D1,D2 | 1SS106 | 2 | 1個35円(イーエレ) |
積層セラミックコンデンサ | C1,C2 | 0.1uF [104] | 2 | 10個100円 |
レベルメータ部 | ||||
部品名 | 部品番号 | 値 | 個数 | 参考価格/備考 |
レベルメータドライバ | U | LM3915 | 2 | 1個320円(イーエレ) |
抵抗 | R1 | 1.2kΩ [茶赤赤金] | 2 | 1個5円/100個100円 |
抵抗 | R2 | 4.7kΩ [黄紫赤金] | 2 | 1個5円/100個100円 |
電解コンデンサ | C1 | 10uF | 2 | 1個10円 |
電解コンデンサ | C2 | 0.47uF | 2 | 1個10円 |
バーLED | LED Array | B-1000M (5G3Y2E) | 2 | 1個150円(秋月電子) |
Intel HD Audio ドングル | ||||
部品名 | 部品番号 | 値 | 個数 | 参考価格/備考 |
抵抗 | -- | 1kΩ [茶黒赤金] | 1 | 1個5円/100個100円 |
小型スライドスイッチ | -- | -- | 1 | ON/OFFできるもの |
コネクタ | -- | -- | 1 | 2.54mmピッチ、2x5穴 |
◆ ◆ ◆ |
OPアンプの回路と回路定数を決定するのが難しかったです。 非反転増幅回路の基本形は分かるのですが、ネットで調べると入力/出力に 抵抗やコンデンサが付いてたり、付いてなかったり、付け方が違ったりします。 なぜその形にしたのか、なぜその値にしたのか、それを考えてよい勉強になりました。 それにしてもやっぱり光り物は面白いです。飽きません。 音楽に反応してよく動く光、最高です。 と書きながら別のレベルメータドライバのデータシートを読んでいたら、 またそちらにも興味が出てきてしまって… もう1個作ろうかな、とか。 |
(C) 『昼夜逆転』工作室 | [トップページへ戻る] |