オーディオクラフト工房(268)

更新日:2022年11月21日


13バンド・スペクトラム・アナライザーをリニューアルする
最近連続でオーディオ製作が続いております。今回のターゲットはスペクトラム・アナライザーです。2014年に13バンド仕様で作製しており、この時はOPアンプでバンドパスフィルタを構成してレベルメータ用ICでLEDを点灯させていました。その後2018年に7バンド仕様を作製しました。この時はスペアナ用ICを使用しましたが、バンド数に物足りなさを感じていました。そこで今回は13バンドを目指して色々と研究を重ねた結果、やっと完成しましたので公開いたします。
過去の製作はこちら
7バンド・スペクトラム・アナライザー
13バンド・スペクトラム・アナライザー
今回作製の動作画面をYouTubeで公開しています。
https://youtu.be/WuX0Q00xnQA
今回製作のスペクトラム・アナライザーの内部構成を記します。今回のポイントは7バンド用スペアナIC(MSGEQ7)を2個使用することです。ネットを検索すると、その製作例をみかけます。私もそれに触発されて色々と実験を行っておりました。
(スペクトラム・アナライザーの構成)
MSGEQ7を通常使用する場合は、CR発振で駆動周波数を決めています。ただ、CR発振では周波数の安定は困難であり、1個使用での7バンド表示が無難と思われます。今回は外部から正確なクロックを入力することで周波数を安定させています。それぞれの周波数をずらせば違ったバンド表示をすることが出来るということです。メインマイコンにはPIC32MXを使用します。これはスペクトラム・アナライザーの表示を液晶モジュールで行っているためです。またMSGEQ7にクロックを送ります。そのIC出力電圧をADコンバータで処理しています。電源電圧は液晶モジュールのために3.3Vで統一しています。5Vはバックライト用に使用しているだけです。
(7バンド・MSGEQ7の仕様抜粋)
MSGEQ7は3.3Vでも動作しますので丁度良かったです。とても良く出来たICでオーディオ信号を入力するだけで、7バンドのスペアナ表示が可能です。先にも書きましたがオーディオ用としては7バンドはちょっと物足りない感じがあります。そこでWEBでこのICを2個使う記事を発見しました。このICに外部から違ったクロックを入力することで、スペアナの周波数を変えるというものです。記事には最大のバンド周波数の10倍のクロックを入力すれば良いという内容が書いてありました。そこでクロックはどういうものかと調べました。
(周波数分割)
まず通常使用での最大バンド周波数が16kHzであるので、クロックは160kHzを入力すれば良いことが判ります。周波数分割なので上図のように対数に置き換えると周波数の区分がはっきりと判ります。対数で等分になるように周波数が分割されているのでその間を狙って分割すれば良いのです。その結果クロックを250kHzにすると上手く分割出来ます。
(13バンド分を使用)
25kHzはスペアナ領域には使いませんので、丁度13バンドにすることが出来ました。
(PIC32MXの回路図)
マイコンはPIC32MXを使用します。これは液晶モジュールを駆動するのに必須です。今まで自作ゲーム機に使用していた回路を流用しました。プリント基板もあるのでサクッと仕上げるのには最適です。
(スペクトラム・アナライザーの回路図)
左右のオーディオ信号はそれぞれ22kΩの直列抵抗を経由してMIXします。それをボリュームを介してスペアナ用ICに入力します。最近気が付いたのですが、このICの入力コンデンサは0.01uFになっています。古い仕様書を見ると0.1uFとなっていますが、実験の結果どうやら0.01uFが最適のようです。周波数分割されたレベル毎に電圧が出力されます。出力が安定するように1000pFを入れています。電圧はPICのADコンバータで処理します。周波数ごとの電圧取り出しの手順などは他WEBを参考にして下さい。後でプロジェクトファイルを公開しますので、プログラムを見て頂けるとわかると思います。EEPROMを接続していますので、電源を切っても覚えておくデータを入れています。
(マジョカランタンから摘出した液晶モジュール)
液晶モジュールはマジョカランタンから取り出したものを使用します。320x240ドットの液晶でパラレル制御なので高速処理が可能です。制御の方法などはソースを見て下さい。コネクタ接続はAitendoさんのコネクタ変換基板を使います。回路図に表示しているピン番号はこの変換基板のピン番号を指していますので、間違いのないようにお願いいたします。
(スペクトラム・アナライザーの画面構成)
全点灯した時の画面構成です。電圧レベルは8分割して表示します。表示フォントは20種類用意していますので、音楽を聴きながら見るのがとても楽しいですね。
(MSGEQ7の出力オフセット電圧)
出力電圧の分割について少し注意することがあります。上図はICの仕様書の一部です。出力電圧には0.6V±0.2V(0.8V)のオフセットが存在します。これを考慮しないと正しく出力電圧が処理出来ません。
(表示の電圧分割)
実験の結果、ICを3.3V駆動しても出力電圧はどうやら3.3Vまでは出るようです。5V駆動に比べてダイナミックレンジが狭くなりますが、電源最大まで振れるのは幸いです。その電圧からオフセット電圧の0.8Vを引いた電圧を対数で分割します。計算上最大電圧を+3dBとして-3dB毎の電圧を決めていきます。計算結果は上図のようになりますので、その電圧値に相当するADコンバータ値で表示するフォントの数が決まります。計算上はもっと細かな分割も可能かと思いますので、その辺りは自由に行って下さい。
(PIC32MXのComponents)
PIC32MXでのソフト開発ですので、Harmony 3を使います。私の個人的見解ですが、このHarmonyがないと私はPIC32MXのソフトは組めません。上図のように、ADC,I2C1,OCMP3,OCMP4,TMR2,TMR3のコンポーネントを組み込みます。
(PIC32MXのポート設定)
PIC32MXのポート設定です。Harmonyから簡単に入力が出来ます。
(EEPROMへの記憶)
EEPROMに記憶するのはフォント番号のみです。とても贅沢な使い方です。電源を切っても選択したフォントを再現するのでとても便利です。
(ポートにPWM出力を割り当てる)
スペアナ用ICへのクロックはPIC32MXのPWM機能を使用します。簡単に周波数が決められるのでとても便利です。まずポート設定は上図のようにOC4,OC3に設定します。これをPWM用に設定していくのです。
(OCMP3の設定)
OCMP3のPWM設定です。図中では見えませんが、タイマーにはTimer2を設定します。Compare ValumeにはTimer2で設定したPerido Registerに+1をした数値を設定します。
(OCMP4の設定)
OCMP4のPWM設定です。タイマーにはTimer3を設定します。
(TMR2の設定)
165kHzを出力したいのでTimeを6.25msecを設定します。
(TMR3の設定)
250kHzを出力したいので4msecを設定します。これで正しいクロックを出力することが出来ます。
プロジェクトファイル一式はここにあります。
PIC32MXマイコンは自作ゲーム機で作製した基板を使います。基板上のPIC24Fは使いませんので、2箇所にジャンパー線を取り付けてコネクタから取り出せるようにします。スペアナ基板とはコネクタを介して接続します。
(PIC32MXのマイコンカード基板)
スペアナ基板はユニバーサル基板で組みました。最近プリント基板ばかりの製作だったので久しぶりの配線を楽しめました。スペアナ用ICとEEPROMはプリント基板化した時に使用出来るよう8ピンソケットを使いました。周辺との配線は全てピンヘッダーとソケットを使用して取り外せるようにしました。
(マイコンカード基板とスペアナ基板)
ケースは相変わらず、旧作品の使い回しです。思わぬ所に穴があいているので、アルミ板で塞いでいます。
(前面はこんな感じ)
過去製作の13バンド・スペアナに比べたら、スカスカの内部です。これでも同じようなことが出来ることを考えると技術は進化(?)したと。前面にプッシュSWを配置して表示フォントを簡単に切り換えられるようにしました。
(背面のコネクタ群)
マジョカランタンから取り出した液晶モジュールはケースからはみ出るので工夫して取り付けています。L字金具に樹脂板を両面テープで貼り付けてそれに液晶モジュールを貼り付けています。L字金具はケースにボンドで取り付けます。入力レベルの調整のボリュームは最初の調整でしか使わないので背面に配置しました。モノラル出力はセンターウーファーに接続するためにあります。全体的に軽いので金具をおもりに2枚貼り付けました。
(電源投入後の前面の状態)
前面パネルは透明樹脂板を使用しています。厚みは2mmです。液晶窓以外の部分は黒色の紙を貼り付けています。
(だらしない背面ですみません)
オーディオ入力とモノラル出力のRCAジャックは絶縁タイプを使用しました。
スペアナ用ICの制御、ADコンバータ電圧の処理を含めて、液晶の画面書き換え時間は約26msecですので、それなりのスピードでスペアナの表示は追従していると思います。
(画面書き換え処理時間)
(自作オーディオ機器の配置)
入力レベルの調整はお好みで良いと思いますが、私は一応オーディオスイープ信号を入力してそれなりの表示になるようにしました。最近のCDは音圧レベルが高くて目一杯表示されますが、80年代当時のCDは今ほどはレベルが高くないので、少し寂しい感じがありますので、各自ベストな調整をお願いいたします。
今回も楽しいオーディオ製作でした。今後も自作オーディオ機器で素晴らしい音楽の世界を楽しみましょう。引き続きオーディオクラフト工房をよろしくお願いいたします。

オーディオクラフト工房へ戻る