ワイヤレスイヤホンを使ってワイヤレススピーカーを作ってみようと思います。
とっても安価なワイヤレスイヤホン
以前$5以下で購入できるBluetoothワイヤレスイヤホン TWS Pro4の音の評価をした時に、スピーカーから出る音は良くありませんでしたが、スピーカーを駆動する元の音声信号はとてもいいことがわかりました。
ということは、このワイヤレスイヤホンの信号を増幅してスピーカーを鳴らせば、いい音のBluetoothワイヤレススピーカーになるのではないでしょうか。
PAM8304
ワイヤレスイヤホンの出力は、省電力化と大音量化のために、おそらくD級アンプになっていると思われます。
そのため、差動入力のパワーアンプを選びます。PAM8304は、差動入力のD級パワーアンプで、入力につける抵抗値によってゲインも変えられて、2.6Vから6Vとバッテリー動作も可能な便利なパワーアンプICです。
このパワーアンプICを使って、Bluetoothイヤホンの出力を増幅したいと思います。
ブレッドボードで実験
まずは音が出るのかどうか、ブレッドボードで回路を組んで実験してみようと思います。
PAM8304はMSOP8というとても狭いピッチのICなので、DIPに変換する基板にはんだ付けして、ブレッドボードに刺します。
Bluetoothイヤホンを分解して、スピーカー出力の線をブレッドボードに刺さるよう改造します。
Bluetoothイヤホンのスピーカーの線をパワーアンプ回路につなぎます。
パソコンにBluetoothイヤホンをBluetooth接続し、パソコンで正弦波を再生させます。
Bluetoothイヤホンの音声波形がPAM8304で増幅されて、スピーカーから正弦波の音が出るという仕組みです。
回路はPAM8304のデータシートにある通りです。入力の抵抗はとりあえず100kΩにしてみました。SDはVDDに接続します。
しかし、音が出ません。
入力の抵抗を小さくするれするほど、ゲインが上がります。そこで、100kΩではなく、10kΩにしてみます。
やはり音が出ません。
もっと小さく1kΩに変えてみます。
でも音が出ません。
もう片方のイヤホンからは正弦波の音が出ています。
こんな単純な回路なのに、動作しません。
ICが壊れているのかな?
もう1個ICを変換基板にはんだ付けして、交換してみます。
やはり音が出ません。さらにもう1個も試しましたが、同じです。
ICが壊れているわけではなさそうです。
ブラウンアウトリセットしているっぽい
オシロスコープで、PAM8304の出力端子のOUT+とOUT-の波形をみてみます。
上の図はデータシートにある波形です。D級アンプの場合、上の水色と紫の波形のように、常にONとOFFを繰り返しているはずです。しかし、ブレッドボードの回路では、一定の電圧が出ているだけです。たまに大きなパルスが1回出るだけです。
どうやら、ICの内部が動作しようとして、パルスが1回出るものの、リセットしてしまうという動作を繰り返しているようです。
要は電源のインピーダンスが高く、D級動作すると電源電圧が低下し、制御回路がリセットするということです。
そこで、ブレッドの電源のピンに大きな容量のコンデンサを追加したり、いろいろしましたが、動作しません。
これでやっと動作しました
データシートでは、制御回路の電源ピンVDDとパワーアンプ出力用のPVDDの2つの電源ピンに、まとめて1つだけ1uFのコンデンサが接続されています。
しかしコンデンサが共通のため、D級動作が開始すると電圧が低下し、VDDもつられて低下してしまいます。これが原因です。
そのため、VDDとPVDDそれぞれに1uFを接続しました。さらにそれらをまとめた後に10uFのコンデンサも追加しました。
電源もブレッドボードの中で中継するのではなく、このコンデンサへ直接給電します。
音が鳴りました
パソコンで再生した音声が、Bluetoothイヤホンを経由して、PAM8304で増幅され、スピーカーから出ました。
やっと目的の動作をしました。
Bluetoothイヤホンの電源電圧を測定
毎回ワイヤレスイヤホンを充電するのは不便なので、ワイヤレスイヤホンに電気を供給する回路もついでに作ります。
ワイヤレスイヤホンに付いているリチウムポリマ電池の電圧を測ってみます。一般に4.2Vで満充電なので、その通りの4Vくらいでした。
基板を作る
これまでの実験を踏まえて、KiCadで回路を描きます。
電池4本で動作するPAM8304のパワーアンプ回路と、ワイヤレスイヤホンに電気を供給するレギュレーター回路です。
パワーアンプのノイズがワイヤレスイヤホンの電源に入らないように、パワーアンプへつながるラインと、ワイヤレスイヤホンのレギュレータ回路へつながるラインとを明確に分離してみました。
パワーアンプのボリウムは、基板からつまみが普通に飛び出る実装と、なるべく飛び出ない実装の2つができるようにしました。
音量がいつでも調節できる使い方と、1回設定したらもう変更せずスピーカーボックスに入れてしまうという使い方ができるようにしました。
中国の基板屋さんは、10cm以内であれば安価に基板を製造してくれます。今回の基板は小さいので、4つ面付けして10cm以内の基板にしました。
JLCPCBに発注
JLCPCBに基板を発注します。ガーバーデータをアップロードすると、基板のイメージが表示されます。
今回は面付けした基板なので、「Delivery Format」を「Panel by customer」にします。
面付けは2x2なので、「Column」を「2」、「Row」を「2」に設定します。
基板の色はブルーにしました。色を変更すると、画面の基板の色も変わってわかりやすいです。
JLCPCBは金メッキ基板も安価に製造してくれます。今回は「Surface Finish」を「ENIG」にしてみました。
メタルマスクも一緒に注文します。メタルマスクは通常はとても大きいので、扱いやすいように、基板のサイズ+5cmにいつもカットしてもらっています。そのため、「Customized size」を「Yes」に変更し、サイズを「150mm x 150mm」に設定します。
部品は基板の表面にしかないので、「Stencil side」を「Top」に変更します。
基板とメタルマスクは画鋲で位置合わせするように基板を設計しているので、メタルマスクにデータ通りに穴が開くよう「Fiducials」を「Etched Through」に設定します。
この画鋲を使った基板とメタルマスクの位置合わせのデータの作り方は、こちらをご覧ください。
以上で、設定が完了です。「SAVE TO CART」をクリックしてカートに入れて、支払いへと進みます。
「Secure Checkout」をクリックします。
発送先、配達業者を選択肢、3のSubmit Orderで、「Review Before Payment」を選択することをお勧めします。このあとJLCPCBでデータのチェックが行われるのですが、設定のミスや基板の設計パラメータによっては費用が変更になる場合があります。「Pay Directly」は費用の変更があった場合に、後から増加分を支払います。「Review Before Payment」は、料金が確定してから支払いを行います。後から支払うため、もし自分の設計ミスで料金が想定を超えてしまった場合に、データの変更が可能です。
「Continue」をクリックします。
ステータスが「Reviewing」になり、JLCPCBでデータのチェックが始まります。
しばらくすると、チェックが終わりメールが届きます。レビューにパスすると支払いを行います。PayPalかクレジットカードを選択し、「Pay」で支払いが完了します。
製造が開始されました。
あとは基板が届くのを待つだけです。うまく動くといいなぁ。
コメント