2010-11-03

秋月電子AM/FMラジオモジュールをPCから操作する

概要

秋月電子通商で販売されているFMステレオ/AMラジオ・モジュール・キットをAVRマイコンで制御して、PCから制御できるようにする装置です。

overviewusbradio

5Vの電源はUSBから取ります。

後ろのUSBケーブルはオプションです。右の写真のように、USBオーディオインターフェースで録音する場合に利用します。

設計

マイコンはATMEGA48を使用します。UARTでPCとのコマンドのやりとりを行い、I2Cでラジオモジュール(NS9542)を制御します。

回路図

制作

topviewbottomview

配線図(PDF)

アンテナ

18cm長のフェライトバーアンテナで高感度を狙います。

antenna

内部のコイルの様子です。

antennainternalcoil

コイルの推奨値は650μHです。

500μHから1600μHくらいまで試してみましたが、それなりに受信できるようですので、コイルの巻き数は適当でいいみたいです。それより、アンテナから基板までのケーブル長の方が問題です。長すぎると減衰するようです。理想は10cmですが、長くても30cmくらいにとどめておいた方がいいでしょう。

AMバーアンテナを作ろう

ファームウェア

radio.zip

radio.hexをATMEGA48に書き込む必要があります。

クイックスタート

制作が完了したら、まず目視で配線を確認してください。次に、ICとラジオモジュールを装着しない状態でUSBケーブルを接続し、最低限、電解コンデンサの足とICとラジオモジュールの電源端子に、5Vがかかっていることを確認してください。電源に問題がないようなら、いったんUSBケーブルを抜いて、ICとラジオモジュールを装着してから、USBケーブルを接続します。

RS-232Cで本機を接続します。ホストのPCは9600bps、8ビット、ノンパリティ、ストップ1ビット、でターミナルを開きます。

下の図はPuTTYを使用する場合の例です。接続先の指定で「シリアル」を選択し、「開く」をクリックします。

putty

ターミナルが開いたら、まず「?[Enter]」と入力して、 「 RADIO 1.0」と表示されれば、通信は成功しています。

?[Enter]
 RADIO 1.0

使い方

周波数の設定

周波数の数値を入力して、そのまま[Enter]を押します。

AM954kHzに設定する場合。kHz数をそのまま入力します。

954[Enter]

FM82.5MHzに設定する場合、MHz数を100倍して入力します。

8250[Enter]

2000未満の数値を入力した場合、AMの周波数。それ以上の数値の場合、FMの周波数の設定となります。
周波数を設定しただけでは、音は鳴りません。後述のバンドの選択をすることで、放送が聴けます。

バンドの選択

AM放送を選択するコマンドは、amです。

am[Enter]

FM放送を選択するコマンドは、fmです。

fm[Enter]

このどちらかのコマンドを実行すると、ミュート状態が解除され、先に設定した周波数の放送が聴けます。

ミュート

消音するには、muteコマンドを実行します。

mute[Enter]

再度、放送を聴くには、amコマンドまたはfmコマンドを実行します。

サンプルアプリケーション

Windowsから本機をコントロールするサンプルプログラムです。ソースコードを同梱していますので、改造のための参考にしてください。

AkidukiRadio.zip

akidukiradio

2号機

大きな基板にゆったりレイアウトして、電源は9Vのアダプタから取るようにしました。アンテナを最短距離で配線し、北の窓際に配置したら、感度が大幅に向上しました。

ネットワーク配信

自宅で受信した放送を遠隔地で聴きたい場合に利用できる、配信プログラムを作成しました。

shoutAkiRa

※不特定多数が聴取できるような設定はおやめください。

Arduino版

Arduinoに移植してみました。