Top Page Index About Link Mail Form

青春のオールナイトニッポンのクーガ2200に FMラジオを組み込む!

→AMラジオ編へ
→MP3プレーヤー編へ
→青春のオールナイトニッポン・クーガ2200に FMラジオを組み込む・2012年版
※NSダイレクトは終了しました。 FMラジオ改造フィギュア

FMチューナーモジュール NS953M

 Timpyで有名なちあきさんから超小型 FMチューナーモジュール NS953Mを分けていただきました。わずか 7mm x 7mmでありながら FM受信に必要な高周波部分は全て内蔵しており、マイコン等で PLLの設定信号を与え、出てきたオーディオ信号を適当に増幅してやればそれで立派な FMラジオができます。高周波回路の知識は事実上不要です。

 まずは試作的に簡単なものを作ってみることにしたのですが、せっかくなので例の「青春のオールナイトニッポン」のフィギュアに組み込んでみました。元々超小型のモジュールなので難なく組み込めてしまいました。

→ 回路図(Schematic)
→ AVR-GCCソース (2007.11.6)
→ Makefile
→ Intel Hex バイナリ (2007.11.6)

 2008.9.6 回路変更。2SA1926のベース抵抗 2.2kΩ → 1kΩ ボリュームの両端に 0.015μFのフィルムコンデンサ追加

回路について

FM改造フィギュア内部

 回路図を見るとわかりますが、NS953Mの他はワンチップマイコン1個(AVR ATtiny13)とスピーカー用のアンプ(TA7368P)、あとは電源回りの回路だけです。NS953Mは周波数等の設定を I2Cインターフェースで行います。(SPI版もあるようですが、ちあきさんから分けていただいたのは I2C版だったので) ATtiny13には I2Cインターフェースは内蔵していないので汎用ポートでエミュレートしています。本来はオープンコレクタ(オープンドレイン)出力が必要なのですが、汎用ポートの入出力を、Lの時はポートを出力にして L出力、Hの時は入力に切替えてプルアップ抵抗ON、という疑似オープンコレクタ出力を行っています。なお、プルアップ抵抗は今回は CPU内部のもので済ませましたが、数kΩ程度の抵抗をつないだ方が丁寧でいいかもしれません。NS953Mの RSSO信号が CPUとつながっていますが、使っていません。

 フィギュアのスピーカーを鳴らすため、TA7368Pのオーディオアンプを使っています。フィギュアのスピーカーが一つなので、NS953Mが出力したステレオ音声出力をわざわざミックスしてモノラル出力しています。(後で NS953Mのレジスタをいじればモノラル出力もできることに気がついた。)ボリュームはケース背面に穴を空けていじれるようになっています。

 電源回路は MP3プレーヤーなどでも使っている、プッシュスイッチで電源 ON・CPUで保持する回路です。待機時の消費電流がほぼゼロで、また、CPUが自分で電源を切れるのでよく使っています。今回はフィギュアに組み込む都合上、既存のボタンがひとつしかないというのもありますが。電池はフィギュアの電池ボックスを使うので LR44が2個ですが、やはり力不足のようです。小さめの音量で 20〜30mA程度、音量を上げると 50mA以上流れます。そのため、電池が耐えられずに電圧が落ちて気絶することがあります。(^^; これもやはり Ni-MH電池内蔵に変えようと思ってます。

NS953Mの実装

FMラジオ基板クローズアップ

 NS953Mは 7mm x 7mm の BGAパッケージしかありません。しかし、端子の大半がグランドと電源で使う端子が少ないので、基板にひっくりかえして固定し、細い線でつなげばなんとか使えます。以下、わたしが使った配線方法:

  1. NS953Mを裏返して両面テープで基板に貼りつける。基板はスルーホール基板を使ったので、念のためポリイミドテープで絶縁しておいた。
  2. 配線に使うワイヤは手持ちの関係上、0.26mmの単線被覆線を剥いて使った。ちなみにボール端子間は 0.8mmピッチ。
  3. ワイヤを NS953M脇の穴に通し、ハンダづけして片方を固定。
  4. ピンセットでワイヤをハンダボール端子まで案内し、ニッパでちょうどいい長さで切る。
  5. 一旦、ワイヤをはね上げて先端を予備ハンダ。
  6. ピンセットで再びワイヤをハンダボール端子に案内し、ハンダごてを当てて溶接。
  7. 以上の方法で必要な端子を全て引き出す。
  8. 裏面で CPU等と配線。

 なお、わたしは作業中に NS953Mの配線をカッターでひっかけてしまい、ハンダボールがついてるランドが剥がれて1個ムダにしてしまいました。引き出し線をあまり長くしない方がいいと思います。

ソフトウェア

 I2Cをエミュレートしている以外、特に特殊なことをしていません。ラジオなので受信中は CPUは何もすることがないので、電源が入ったら NS953Mのレジスタ設定をしてパワーダウンモードでスリープします。内蔵クロックすら止めますので CPUの消費電力はほとんどゼロで、ノイズも発生しません。回路は普通はアナログ回路とデジタル回路でグランドを分けたり電源の引きまわしに注意するのですが、今回はそれもサボっていますが問題ありません。

 周波数は CPU内蔵のデータ用 EEPROMに書いておき、ボタンを押す度にそれを切替えるプリセット式にしています。ボタンをチョンと短く押すと周波数を切替え、長押しすると電源が切れるようになっています。ローカル4局と手持ちの FMトランスミッタ専用ですが、ボタンが一つなのでこの方が実用的です。もしも引っ越したとしたらそこのローカル局の周波数を焼きなおせばよろしいかと。なお、もしもこれと同じ回路を組む人がいらっしゃったら、プログラムだけでなく、データ用 EEPROMに周波数も書き込んで下さい。周波数は 10kHz単位、16bit wordでリトルエンディアンで EEPROM 8hから格納します。例えば、長岡市の場合、

なので、7750, 7900, 8070, 8230, 8820 を 8hから書き込みます。リトルエンディアンで 16進数だと

0000: FF FF FF FF FF FF FF FF 46 1E DC 1E 86 1F 26 20
0010: 74 22 FF FF FF FF FF FF FF FF FF FF FF FF FF FF

というふうになります。余った所は FFhのままにしてください。0hではなく 8hからなのはその前の部分を何かに使うかもしれないと思ったので(実際、電源を切った時、前回の周波数番号を入れるのに使っている)。ちなみに新潟では意味が無いので入れてありませんが、テレビの 1〜3chは 95.75MHz, 101.75MHz, 107.75MHzなのでそれを入れてもいいと思います。

 念のため追記。2007年11月20日より、FMながおかは 80.7MHzに周波数変更されました。

アンテナ

FMラジオ裏面

 長さ 10cmの超小型ロッドアンテナを組み込んでありますが、さすがにそれでは超ローカル局しか入りません。しかたがないのでクーガ7の時のように背面に 0.8mmの小穴を空けてそこに先を剥いた被覆線を差し込むようにします。ある程度の長さのケーブルをつなげば、普通の FMラジオと同等の感度があります。こんな小さなモジュールが良く鳴るのでけっこう感動します。(^_^)

2006.2.19


電池を Ni-MH化

Ni-MH電池を内蔵

 LR44ではあまりにも力不足なので、MP3プレーヤーと同様に Ni-MH電池を内蔵しました。計算上はこれで2時間程度は鳴らせると思います。フルボリュームにしても大丈夫。充電も MP3プレーヤー版と同じく 10mAの定電流ダイオードで済ませています。

 ところで、電池とは無関係ですが、NS953Mのデータシートによるとレジスタ R0の MOSTビットを 1にするとモノラル受信できるような感じに書いてあるのですが、そうするとなぜか受信がうまくいかなくなるようです。(あるいは、周波数等設定等がずれる?)

2006.2.25

 ↑2006.4.11 追記。NS953Mのレジスタ R6が間違っていることがわかりました。それを直したらモノラル設定しても大丈夫になりました。


Special Thanks and Links