2024年6月22日土曜日

DAISO 300円スピーカーのエンクロージャーを自作する

以前、スピーカーのエンクロージャーを自作したことについてまとめましたが、その後もスピーカー作りにハマって作り続けています。
#徐々に試してみたいことが増えてきて(複雑になってきて)、1つのスピーカーを完成させるのに時間がかかるようになってきています。

普段メインで使っている自作PCには、YouTubeなどでも大人気なDAISO300円スピーカー(税込330円)をつないでいました。特に不満もなく快適に使えていたのですが、他のスピーカーを試すために抜き差ししたり移動したりしているうちに調子が悪くなり、音が出にくくなってしまいました。分解して中を見ると、スピーカーの導線が断線していました。この状態から、単純に修理するだけではつまらないと思い、修理のついで(?)にエンクロージャーを自作してみることにしました。

材料は、いつものようにDAISOで扱われている木箱や木の板、キルト芯(圧縮タイプ)などを使いましたが、コネクタやケーブルは、秋月電子Amazonで購入したオーディオ用のものを使いました。その他に、バスレフポートを付けたり密閉性を高めるために隙間テープを使用したりして、チープなスピーカーユニットを常用するための工夫を盛り込んでみました。出来上がりはこんな感じになりました。

アンプについては、Amazonで見つけて2,670円で購入したVbestlife(←Amazonのショップページ)のZK-MT21(←YouTube動画)というBluetooth対応2.1chパワーアンプ(←これまで使っていたもの=TPA3116D2搭載)ではなく、同じくAmazonで見つけて1,699円で購入したSinilinkXINYI Sini Audio(←YouTube動画=XY-C50L)というBluetooth、USBメモリ、AUX-INに対応したステレオD級アンプ(AP3050D搭載←データが見つかりません…)を使って音の確認をしました。
#同じアンプがいろいろなところで販売されています。私が買ったものよりもさらに安く扱っているところもあるようです。

同じスピーカーユニットでも、エンクロージャーとアンプを変えるとこんなにも音が変わるのかと思うほど、好みの音で鳴ってくれるようになりました。エンクロージャーの容積が約2Lくらいに大きくなったことで、音の響きが良くなったのかもしれません。300円スピーカーに付いているアンプは、低音を抑えてあるのであまり低音が響かなかったのですが、今回使ったアンプとバスレフポートの組み合わせで低音もよく鳴るようになったと思います。

反面、ボーカルの入った楽曲では楽器の音に厚みを感じるものの若干歌声が埋もれてしまうような印象でした。ナレーション入りの動画などでは特に問題は感じませんでしたが、ボーカルが入った曲をしっかり聴きたい場合はイコライザーなどで調節する必要があるように感じました。
#その後、ボンドで取り付けた側面の板に隙間があることがわかったので、密閉するために木工パテで埋めたところ、音の輪郭がはっきりするようになってボーカルもだいぶ聴きやすくなりました。

DAISO 300円スピーカーは、もともと値段の割に良い音で鳴ることで有名なスピーカーなので、低音が響かない代わりにボーカルがしっかりと聴こえます。そもそもこのスピーカーは、そういうバランスで作っているとも言えるので、バランスの調整はなかなか奥が深いと思いました。

2024年6月16日日曜日

「micro:bitでフィジカル・コンピューティング」のためにいろいろなブレイクアウトボードを使ってみる

以前から、micro:bitを使ってロボットカーを動かすなどさまざまな実験をしてきましたが、簡単にいろいろなものをつないで試用するために地味に重要なのは「ブレイクアウトボード」でした。私の場合は、以前から秋月電子通商の「micro:bit マイクロビットブレイクアウトボードキット(AE-MBIT-BREAKOUT_V)」を使っていますが、自宅には他にも同じような機能をもつブレイクアウトボードをいくつか買ってあります。今回は、それらを紹介しつつ使用感の違いなどを比べてみたいと思います。

1つ目は、先ほど紹介した秋月電子の「AE-MBIT-BREAKOUT_V」ですが、1個650円で購入しました。縦型で安定感もあり、一番良く使っています。ブレイクアウトボードとして完成されている感があるので、ロボットの中に組み込むことはあまり想定されていない設計になっているように思います。私は、樹脂製のワンタッチスペーサをつけて使っていますが、スペーサではなくネジ止めで固定することも可能です。

このブレイクアウトボードは、micro:bitを挿して前面と背面にピンコネクタなどが接続できるようになっています。前面側には、「0」「1」「2」「3V」「GND」の二極ネジ端子台(ターミナルブロック)があり、背面側には、「P3」〜「P16」「3V」「P19」「P20」「GND」のピンソケットがあります。それぞれ二極ずつ挿せるようになっているので、接続するものの配置を工夫することもできます。(同時に2つのものをコントロールできるかどうかは試していません)

2つ目は、SparkFunの「Qwiic micro:bit Breakout」で、Switch Scienceで1個1,155円でした。シンプルで割り切ったデザインになっているので、ロボットの中に組み込むのには向いていると思います。スペーサ用の穴は2つだけなので、固定の仕方には工夫が必要かもしれません。

こちらのブレイクアウトボードは、ピンヘッダが1列についていて、左側から「GND」「GND」「3V3」「0」〜「16」「19」「20」と並んでいます。私が取り組んでいるロボットカーを動かすような用途であれば、このブレイクアウトボードが1番シンプルでわかりやすく、初学者向きなのではないかと思いました。

3つ目は、Kitronikの「Edge Connector Breakout Board for the BBC micro:bit」で、Switch Scienceで1個715円でした。エッジコネクタは自分でハンダ付けするタイプのもので、ハンダ付けが苦手でなければお買い得感はあると思います。ただ、教材としての使用を想定すると、ハンダ付けが必要な箇所が多いため、あらかじめハンダ付けされているものを選んだ方が幸せになれると思います。

こちらのブレイクアウトボードは、二極のピンヘッダがついていて、左側から「3」「0」「4」〜「7」「1」「8」〜「12」「2」「13」〜「16」「3V」「0V」「0V」と並んでいます。この並び方は、micro:bitの端子部分の並び方(入出力端子)と同じになっています。これをわかりやすい/使いやすいと思うか、そうでないかは意見が分かれるところではないかと思いました。

これらの試用をまとめている間に、「カードエッジコネクタ」だけを使えば、安価に目的に合った使い方ができることを教えてもらって、ちょっと目からウロコ状態になりました。調べてみると、いろいろなところで取り扱いがあるのですが、今回はSwitch Scienceで1個330円で購入しました。モータドライバICモジュールをカードエッジコネクタをつけてしまえば、ロボットカー作りに特化したブレイクアウトボードが出来上がってしまうのではないか、これで配線ごちゃごちゃ問題も一気に解決するのではないかと期待を膨らませています。(カードエッジコネクタのピンのピッチとユニバーサル基板の穴のピッチが合わないのが難点ですが…)

2024年6月9日日曜日

Linux MintのSSDをより大きなものに換装する(SSDのお引越し)→結局再インストール

様々な作業で常用している自作PCLinux Mintで動かしている)には、256GBのM.2 SSD(SATA)を載せていたのですが、安く手に入れたものを実験的に載せたまま使っていました。楽器の試用アンプ&スピーカーの実験ロボットカー作りなどなど、いろいろなことをやっている中で、要所でPCが必要になる状況があって、ソフトをインストールするにも作業環境を整えるにもファイルを作るにも、SSDの容量不足が作業効率に影響するようになってきてしまいました。この容量不足を解消するために、起動SSDを容量の大きなものに換装(引っ越し)することにしました。

今回の作業は、技術評論社の⁠gihyo.jp⁠で公開されている「より大きな容量のSSDにデータ移行する」を参考にしました。コピー先として、512GBの普通のSATA SSDをPC内部に接続して、USBメモリにLinux Mintのブートイメージを焼いておいたものをPCに挿して起動しました。ここからの作業は、以下の通りです。
#PC内部に接続したコピー先として用意したSSDは、フォーマットされていなかったので先にFAT32でフォーマットしておきました。この作業が必要かどうかは検証していないので不明です。

  1. Linux Mint(Lm)メニューから「GParted」を検索して起動する。
  2. 起動したGPartedで、「GParted」メニューから「Devices ▶」とたどって、コピー元とコピー先のSSDが認識されているか確認する。(「View」メニューから「Device Infomation」にチェックを入れておくとこの後の作業が楽になります)
  3. コピー元のM.2 SSDのパーティションテーブルを確認し、コピー先のSATA SSDも同じ設定にする。(「Device」メニューから「Create Partition Table」を選択して、「partition table type」のプルダウンメニューから同じパーティションテーブルを選んで「Apply」ボタンをクリックします)
  4. コピー元の1つ目のパーティションの上にマウスカーソルをもっていって右クリックし、「Copy」を選択する。
  5. コピー先の未設定のパーティションの上にマウスカーソルをもっていって右クリックし、「Paste」を選択する。パーティションのサイズ変更などができるウィンドウが開くので、設定を変更せずのそのまま「Paste」ボタンをクリックする。
  6. コピー元の2つ目のパーティションの上にマウスカーソルをもっていって右クリックし、「Copy」を選択する。
  7. コピー先の未設定のパーティションの上にマウスカーソルを持っていって右クリックし、「Paste」を選択する。パーティションのサイズ変更などができるウィンドウが開くので、パーティションサイズを最大にしてから「Paste」ボタンをクリックする。
  8. GParted画面中央あたりにある緑色のチェックマークをクリックするとコピー作業が始まる。(気長に待つ)
  9. コピーが完了したら、起動に使ったUSBメモリを抜いて、コピー元のSSDをPCから外す。(Flagsの設定が引き継がれなかったので、「Partition」メニューから「Manage Flags」を選択して、「boot」と「esp」にチェックを入れました)

これで起動SSDのクローンは終わったはずです。この状態から、PCの電源を入れて起動させました。電源は入るものの、UEFIの設定をして起動ドライブの確認をしてから保存&再起動してもLinux Mintは起動してくれませんでした。電源ONの後、起動プロセスが動き出さない感じで、SSDのクローンは失敗したと判断しました。
#GPartedでM.2 SSDを見たときに、UEFIを使う場合の本来の設定とは違う設定になっていて違和感を覚えたのですが、それが原因かどうかは検証していないのでわかりません。

仕方がないので、OSの再インストール作業をすることにしました。幸い、もともと使ってたM.2 SSDはそのまま手元にありますので、USBに変換する基盤に乗せてPCに挿せば、中のデータを使うことができます。インストール先となるSATA SSDは、いろいろといじってしまったのでフォーマットからやり直してクリーンインストールすることにしました。無事にインストール作業が完了し、はじめに行う様々な設定を終わらせましたが、以前の状態に戻すにはまだ時間がかかるので、ぼちぼちやっていきたいと思います。

2024年6月1日土曜日

格安アンプIC(PAM8610)モジュールとDC-DCコンバータIC(MT3608)モジュールを使うときのノイズ対策

このところ、アンプとスピーカーの実験にハマっているところですが、Amazonで見つけた格安アンプIC(PAM8610)モジュールにDC-DCコンバータIC(MT3608)モジュールを組み合わせてパワーアンプシステムを使ったときに、ノイスがひどくて困ったところから偶然に対策が見つかったので、本当にその対応で良いのかを含めて考えてみたいと思います。
#いつものことながら、間違えている可能性もありますので真似される場合は自己責任で。

アンプとスピーカーの実験の音源として、Linux Mintで動かしている自作PCから、Bluetoothでスピーカーにつないで音を出しているのですが、電波状況によって音が割れたり遅延が発生したりとなかなか手強い状態で、これを何とかできないかといじりだしたのが始まりでした。
#自作PCには、Bluetooth 2.1対応のドングル(PLANEXBT-MicroEDR1X)を挿して、RYECHER K16というオーディオ信号をBluetooth化する機器に接続しています。これまでは、ここにDAISO300円スピーカーを接続して使っていました。

これまで使っていたDAISOスピーカーを外してPAM8610アンプICモジュールとMT3608 DC-DC ICモジュールを組み合わせてパワーアンプシステムを作成し、自作エンクロージャーに収めたスピーカーをつなぎました。MT3608 DC-DC ICモジュールの出力電圧は、12Vに設定しました。(テスターで電圧を測りながら、ポテンショメータを回して調節しました)この状態で電源を入れると、スピーカーから発振しているような音が出ました。過去にアンプとスピーカーをつないで電源を入れたときに出てきた音(ノイズ)とはちょっと違う印象を受けました。以前は、アンプのボリュームを上下させると、ノイズ自体の音量が上がったり下がったりするだけだったのですが、今回は、ボリュームの上下で音程が変化しました。(シンセサイザーみたい←これはこれで研究してみたい気もします)

そこで、発振している可能性があるとするとDC-DC コンバーターかなと当たりをつけて、ポテンショメータを回してノイズの変化をみることにしました。すると、電圧を低くするとノイズは消えていくのですが、完全にノイズが消えたところでスピーカーから何の音も出なくなりました。おそらくアンプ回路を動かすための最低電圧を下回ってしまったものと思います。逆に電圧を高くしていくと、発振の拍の間が長くなっていき発振が収まることがわかりました。このときの電圧がだいたい24Vでした。12Vの2倍ということも、発振が収まった理由なのではないかと直感的に感じました。
#その他の対策として、MT3608 DC-DC ICモジュールの出力側のケーブルにフェライトコアをはさんでみました。「サー」っというホワイトノイズのような音が少し軽減された感じで音量を上げなければ気にならない程度までノイズを減らすことができました。

さて、問題はこの対処方法で良いのかどうかという点です。通電したまま数時間使ってみたところ、MT3608 DC-DC ICモジュールのICやコイル部分などの部品ははほんのり温かくなるものの、異常発熱しているよう箇所は見つけることができず、PAM8610アンプICモジュール側も小さなヒートシンクや電子部品に多少の温かみを感じるものの、こちらも問題を見つけることができませんでした。PAM8610アンプICの動作電圧は、15Vまでのはずなのですが問題なく動いているのはなぜなのか、どこかで電圧降下しているのか、回路を追って確認してみるしかないのかもしれません。(時間と知識が足りていないorz)

これまで、さまざまなアンプ(ICモジュールを含む)の実験で使用していた電源は、YAZAWA(YZW)のACM1000というACアダプタでしたが、今回のような問題は発生したことがありませんでした。K16からのUSB給電 5V(別のUSB電源でも結果は同じ)をMT3608 DC-DC ICモジュールに入れてDC12Vを作り、これをPAM8610アンプICモジュールに入れて使うと発振してしまうということです。USB 5Vの給電が悪いのか、MT3608 DC-DC ICモジュールに発振を防止する回路が足りないのか、MT3608 DC-DC ICモジュールで作った12Vの電気がPAM8610アンプICには合っていないのか、どこかに問題があって発振してしまうのだと思います。(MT3608 DC-DC ICモジュールのスイッチング・レギュレータのPWM制御と関係があるような気がしているのですが、どうだろうか…)これが、24Vだと発振せずにしかも問題なく音が出るということがどういうことなのか、勉強しなければならないことがまだまだたくさんあると思いました。
#その後1ヶ月以上使っていますが、ノイズが発生することはなく異常発熱などの問題も発生していません。スイッチング・レギュレータの発振問題については、そもそも有名な問題らしくAmazonで扱われているMT3608 DC-DC ICモジュールについても、発振してしまうことを問題点として報告しているレビュアーもいました。

〈参考資料〉