Top Page Index About Link Mail Form |
スピーカーと FMチューナーを内蔵して超小型ラジカセ風にまとめた
2006.5.28 新規
MP3プレーヤーを自作して楽しいのはメーカー品と遜色無い音質のものが作れるからです。デコーダチップ自体はメーカー品と変わりありませんので、ヘッドフォンにそれなりのものを使用し、電源とコンデンサに気を使えば音質はオーディオ機器と称しても恥ずかしくないものができます。デザインや機能はともかくとして。
しかし、ヘッドフォンを使わずに気軽にスピーカーで音楽を聴きたいこともよくあります。聴く、というより、BGMとして音楽を流して本を読むとか仕事や家事をするとか。その為、スピーカー内蔵型の MP3プレーヤーをそのうちに作ってやろうと試作機開発当初から考えていました。
スピーカーで Hi-Fiを追求しようとすると少なくともスピーカーのコーン径は 8cm以上でエンクロージャも密閉型だのバスレフ型だのと、大型でケース加工も大変になります。その為、音質は最初からあきらめて、とにかく小型で卓上で健気に鳴るのがあればいいなと思っていました。
タカチの SW-130Sというプラスチックケースがあります。200円程度で売っているものですが、ある日これを見ているうちにこの細長いケースの両端にスピーカーを組み込むといいかもしれないと思いつきました。ついでに真ん中に液晶表示を設けてやり、FMチューナーも内蔵してロッドアンテナをつけるとラジカセっぽくなって面白いということで製作を開始しました。市販の MP3プレーヤーにもこういった物は無いし(たぶん)。
MP3モード | FMモード | |
---|---|---|
主要LSI |
MCU:ATmega64L(ATMEL) DSP/DAC:VS1003(VLSI) DC-DC converter:MAX1674EUA(DALLAS MAXIM) FM Tuner Module:NS953M(新潟精密) Flash Memory:M25P20-VMN6TP(STMicroelectronics) LCD:Nokia 3310 LCD unit Audio AMP:NJM2073D(新日本無線) |
|
主な機能 |
MMC/SDメモリーカード SPIモード 容量:8〜512MBで動作を確認 フォーマット:FAT12, FAT16 ビットレート 320kbpsまでの MP3に対応 VBR対応 WMA, STD-MIDIも演奏可能(制限あり) ID3タグのトラック番号による曲順ソート 階層ディレクトリ対応(1段のみ) 最大 240分のスリープタイマ |
受信周波数:76.0〜108.0MHz ステレオ対応 チューニングは以下の3モード ・チャンネルモード ・100kHzステップモード ・オートスキャンモード 最大 240分のスリープタイマ |
操作ボタン |
赤:電源ON/OFF 青:FMモード切り替え 黄:ポーズ 緑:逆方向曲送り 橙:順方向曲送り 音量調整ダイヤル |
赤:電源ON/OFF 青:MP3モード切り替え 黄:チャンネル/スキャン モード切り替え 緑:逆方向チャンネル/ステップ/スキャン 橙:順方向チャンネル/ステップ/スキャン 音量調整ダイヤル |
液晶表示 |
ID3タグ v1.0/1.1, v2.2/2.3/2.4対応 アーティスト名と曲名表示 Shift_JIS, UTF-8, Unicode(LE/BE)自動認識 ID3タグが無い場合は LFN表示 カード中の曲数とその曲のサンプルレート /ビットレート、演奏経過時間表示 バッテリーインジケータ表示 |
周波数とその放送局名を表示 周波数と放送局名は MMC/SDメモリーカードの 対応表ファイルから読み込み可能 ステレオインジケータ表示 バッテリーインジケータ表示 |
サイズ |
130mm(W) x 26mm(D) x 50mm(H) (アンテナを畳んだ状態) (タカチ SW-130Sを使用) 質量:未測定 |
|
電源 |
単3型 Ni-MH電池×2本 アルカリ電池も使用可 |
|
消費電力 | 未測定 | |
その他 |
スピーカー:東京コーン S36G04K-3 ×2(φ36mm) ロッドアンテナ:Linkman RANT6(48cm長) アンプ:最大約0.2W出力 音質はあえて高域カットしたレトロ調 |
|
Nokia 3310 LCDという液晶ユニット使用しています。これは 84 x 48ドットの小型モノクログラフィック液晶で、SPIでコントロールできます。詳しい使用法は上記ページの他、2006年3月号のトランジスタ技術誌にも載っています。 この液晶ユニットはフォントは内蔵していない為、MCU側でフォントを展開して送り込む必要があります。半角の英数字くらいなら自分でも作れますが、漢字もとなると無理ですのでフリーのフォントを利用します。こちらのサイトでナガ10を FONTX2型式にして公開していたので使わせていただきました。 半角フォントは MCUの ROMに格納しましたが、全角フォントは 10ドットとはいえ、135KB程もあるのでシリアルフラッシュメモリーに入れてしまいます。STマイクロエレクトロニクスの M25P20-VMN6TPが8ピンフラットで 256KBの容量があり、価格も安かったので使用しています。I/Fはこれも SPIです。容量が余るのでついでに Unicode変換テーブルと後述する放送局リストも格納します。 MP3プレーヤーモード時は曲数とサンプルレート/ビットレート、演奏経過時間の外、ID3タグを読んでアーティスト名と曲名も表示します。ID3タグは現在、バージョンが 1.0/1.1, 2.2〜2.4とあり、けっこうややこしいのですが全て対応しました。更に日本の場合は、規格上は ISO-8859-1を入れる所に Shift_JISや UTF-8で日本語の曲名などを入れる場合が多いので、それらの自動認識もしてみました。 更に ID3タグが無かったり、WMAや MIDIの場合はファイル名を表示します。せっかく Unicode変換テーブルも内蔵したのでロングファイルネームにも対応しました。ロングファイルネームは最近、Microsoftの特許が認められたので業務では使うにはリスクが発生します(日本でも有効なのかよくわからない)が、自作なので遠慮なく。 FMモード時は受信中の周波数と、ステレオ受信時に Stereo 表示もします。また、周波数と放送局名のリストをあらかじめ MMC/SDカードから読み込んでおき、対応する放送局名がある場合はそれも表示します。放送局名リストは単なるテキストファイルなのでパソコン上でエディタや表計算ソフトで編集できます。参考:→放送局リスト例 |
スピーカーはマルツパーツ館で扱っていた φ36mmの小型スピーカーを使っています。東京コーンの S36G04K-3 というモデルで、こちらにデータがあります。小口径ですから 400Hzあたりからレベルが落ち、200Hz以下はほとんど音が出ません。実際、そのまま鳴らしてみたところ、低音が出ないのは当然ですが、加えて高音がシャリシャリ響いてちょっと聴き疲れします。
どうせ Hi-Fiにはならないのですから、コンデンサ(回路図で VRの所の 4700pF)を追加して高音をカットしてしまいました。これでほとんど中音域だけの「レトロ調」な丸い音になりました。ながら聴きにはちょうどよい感じです。ただ、ヘッドフォン端子もこのコンデンサの影響を受け、低音ばかり響いてしまいます。新しく作るとしたらヘッドフォンアンプはスピーカーアンプと分ける必要があるでしょう。
アンプはごく簡単に NJM2073Dで済ませています。電源は消費電力を減らす為に DC-DCコンバータを通さず、電池電圧をそのまま使っています。ところが、DC-DCコンバータを通っていないにもかかわらず、「チリチリ……」というノイズに悩まされました。色々やってみた所、どうやら DC-DCコンバータのキックバックによるノイズが電源ラインから入って来るようでした。その為、電源ラインに大きなコイルとコンデンサを入れて解消しました。
Strawberry Linuxで VS1003を扱うようになったので早速使ってみました。ハードウェア的に VS1001/VS1011と大きく異なるのが電源電圧です。今まではノイズ対策の為にデジタルとアナログの電源回路が分かれてはいましたが、電圧そのものは 3.3Vでした。しかし、VS1003はデジタルコア電圧が通常 2.5V、アナログ電圧が 2.7Vで使うように指示されています。更に I/O回路用の電源ピンも追加され、そちらは MCUと同じ電圧を加えます。VS1003は PLLでコアの動作周波数が最大55MHzになっているので消費電力低減の為に低電圧化したのでしょう。
今回は全体の消費電力を押さえるために DC-DCコンバータ出力は 3.0Vにしてあります。VS1003の I/O電源はそのままでいいのですが、アナログ電源はショットキーバリアダイオードを通して約2.6V、コア電源はシリコンダイオードを通して約2.4Vで動かしています。推奨電圧より約0.1V低いですが、規格内なので問題ありません。回路図を見るとダイオードの所に 22kΩの抵抗がありますが、これは VS1003をリセットした時にクロックが止まり、消費電流がゼロになった時に電源ピンの電圧が異常上昇するのを抑えるための物です。これがないとリセット時に電源ピンが3Vを越えることがあります。なお、コア電圧の絶体電圧は 2.7Vですので。(最初、これが無くて冷汗をかいた。)
ところで VS1003はマイクや LINE入力を ADPCM録音できる機能もありますが、今回は使っていません。
ソフトウェア的には VS1011とほぼ同じでしたが、データシートによるとコマンドを送る際にも DREQ=High であるかを調べろとあります。それから、Sinテストの音声出力がワンテンポ遅れます。ビープ音に使っていますが、少し反応が悪い感じになってしまいます。まあ、慣れてしまいますけどね。
VS1003は MP3だけでなく、WMAや STD MIDIの再生もできます。リセット後、ファイルをそのまま流しこめば OKです。しかし、曲の途中からの再生はできませんでした。WMAの場合はヘッダを操作することでできるようになると思いますが、そこまではやっていません。MIDIの再生は「一応できる」といった所でしょうか。内部コアのクロックを上げないと再生がテンポに追いつかなかったりしますし、音色もいまいちです。
電子回路はある程度どうにでもなるので、最初はケース加工から始めます。スピーカーは丸穴を開け、内部から接着します。今回は薄型のスピーカーを使ったのですが、それでも厚みに余裕が無いのでスピーカーの縁の凸部分を削り、また、ケースの裏側もルータで削っています。それでもあまり余裕が無いので電池が裏蓋に当たるのでその部分を削っています。
スピーカーの保護ネットはタカチの穴開きアルミ板(AA型アルミエキスパンドメタル)を使っています。金切りバサミで切って周りをやすりで整え、エポキシ接着剤で貼り付けただけです。接着剤をつける時はアルミ板にはつけず、ケース側だけにつけると余分にはみ出なくてよろしいです。なお、メッシュには裏表や上下がありますので、間違えてしまうと左右で見映えが違ってしまいます。(最初、間違えたので貼り直した。)
ロッドアンテナの根本は力がかかりますので頑丈にする必要があります。DIYショップで買ってきたプラスチック棒を切って削ってケースの内側に接着します。同様にアンテナを畳んだ時の抑えもプラ棒を削って作りました。
いつも通り穴開き基板に手配線で作っています。スペースに余裕が無いので電池ボックスを使わずにリン青銅板で電池ホルダを自作してます。基板のあちこちに黒いものがありますが、これはノイズ対策用のフェライトコアです。回路図には描いてありませんが、いろいろ試行錯誤した名残りです。基板裏面中央に MCU(ATmega64L)が鎮座ましましていて、その上に導電スポンジが貼り付けてあります。これで液晶を裏から抑えています。今回の液晶はバックライトもつけられたのですが、入手と加工が面倒なのでやめて、台所用のアルミテープを貼っていたりします。
たいていの部品は通販で入手できますが、今回使ったボリューム(ツマミ付き超小型ステレオボリューム 20kΩ)は鈴商の店頭で売っていたものを使っています。鈴商は通販もしていますが、このボリューム(写真下)は通販のリストにはありません。一応、Digi-Keyで同等の物(EVU-TUAB16B54)を扱っていて買ってみたのですが、ツマミの色が黒なのと、抵抗値が 50kΩと少し大きいので鈴商の物を使いました。
5月下旬の現在、同じ物を作ろうとすると入手が難しい物がいくつかあります。まず、ロッドアンテナはなぜかマルツのリストから外れてしまいました。秋葉原のジャンク屋を歩き回れば同等のものがあるかもしれませんが、確実に入手する方法がありません。FMチューナーモジュールの NS953Mはちあきさんから分けていただきました。SDカードコネクタはヒロセの DM1B-DSF-PEJ(22)という、通常とは表裏逆タイプの物を Digi-Keyで購入しましたが、これは現在非在庫品になっています。同様に MAX1674も非在庫品になってしまいました。MAX1676はまだ扱っているようなのでこれが代わりに使えると思います(ただし、ピンコンパチではない)。