まさはる's Weblog

まさはる's Weblog
Macintoshとオーディオの話題

2026年4月24日

Arduinoを使ってみました(その3)

Category : Arduino / Posted at 2026年4月24日 10:48

 前回、ICの制御等をI2Cですることが出来たので、早速、本命のICのデータシートをマジマジとみて見たところ、I2Cという言葉が全く出てこない...。よく見るとDATAとCLOCKの隣にLATCHっていう端子が出ているし...これ、もしかしてI2Cでないのでは...(-_-;

 ...色々と調べた結果、SPIだと分かりました。まぁ、どっちも出来る事に越したことはないし...という事で、今度はSPIを使う事になりました。

MUSES72320
SSOP32変換基板とMUSES72320

 このMUSES72320は電子ボリュームICで、表面実装用の0.65mmピッチ(SSOP32)です。これまではんだ付けした最小ピッチは0.95mmだったので、うまく出来るかなと思っていましたが、フラックスとDタイプのコテ先を使うとそんなに難しくなくはんだ付け出来ました。

MUSES72320 電子ボリュームの回路図
MUSES72320 電子ボリューム(1/2)の回路図(PDFはこちら

MUSES72320 電子ボリュームの回路図
MUSES72320 電子ボリューム(2/2)の回路図(PDFはこちら

 1枚目の回路図はMUSES72320のアナログ回路とオペアンプの電源回路で、2枚目の、Arduino Nano EveryはUSBからの給電、MUSES72320のデジタル回路はNano Everyからの給電になっています。なお、全くコメントや計算式が書かれていないのは、MUSES72320のデータシートに載っている回路そのままだからですw。

 プログラムは、ライブラリのSPIを使っていますが、その他は前回と同様に自力です。ちなみに、作ってから分かったのですが、GitHubにMUSES72320のArduino用のライブラリがあるので、そちらを使う方が手軽で確実だと思います。私のプログラムはチップアドレスが0000で固定だったりと手抜き満載ですが、ソースはこちらです。

MUSES72320 電子ボリューム
MUSES72320 電子ボリューム

 最初は、MUSES72320は0dBから-111.5dBまでボリューム値を変更できるからと、アナログで読んだ0〜1023の値を全体に割り振っていたのですが、動作させてみるとボリュームを12時の位置以上に上げないと出力が現れません。何でかなと思って販売されているボリュームキットを調べてみると-60dB止まりにしている物がいくつかあったので、この電子ボリュームも最低は-60dB、その下はMuteにしています。

0dB時のA点とB点
0dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点)

-6dB時のA点とB点
-6dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点)

-30dB時のA点とB点
-30dB時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点)

Mute時のA点とB点
Mute時の回路図のA点とB点(CH1(黄色)はA点、CH2(水色)はB点)

 上から3枚目の-30dB時のボリューム位置は12時の状態で、オシロスコープだとほんの少し盛り上がっているのが分かります。後は、実際に音を聞いてみて調整する必要がありそうです。

 ちなみに、この回路は実際のボリュームで分圧された電圧をアナログで読み取って、電子ボリュームの値に単純に変換している関係で、境目あたりで値がふらつきます。プログラムでは、ふらついて頻繁にボリューム値を変更しないよう細工をしています。

はんだ付け状況
0.65mmピッチのはんだ付け状況

 綺麗にはできませんでしたが、ちゃんと動作するので良しとしておきます。

このページのトップに戻る