(14/06/09: 記事文体修正、ソースコード公開)
aitendo で売っている DSP ラジオ IC BK1088 を使ってラジオを試作してみました。
もっとも実際に製作した時期は半年ほど前ですが、以下で述べるように
若干納得いかない部分があったので
ウェブページの方では公開していなかったものです。
ブログを作ったので、こういうものも手軽に公開できるようになりました。
使用する IC モジュールは BK1088 で、MW(中波)、FM、SW(短波)、LW(長波) の 4 波が受信できることになっています。
日本においては LW を受信する機会はまずないと思いますので、LW 受信機能は使用せず
MW、FM、SW の 3 波ラジオにしています。
回路図は以下の通りです。MCU には AVR の ATMEGA328P を使用しています。
ソースコード
LCD にはいわゆる NOKIA3300 と呼ばれる、カラー STN 液晶を使用しました。
バックライトLED を直列接続から並列接続に改造をして、ローノイズの
チャージポンプでドライブしています。
もう aitendo の在庫がないようなので、入手は若干難しいかもしれません。
(このことも製作記事にしづらい理由のひとつではあります。)
上の写真のように 3 波ともちゃんと受信可能です。
緑色のバーは受信強度(RSSI)を示しています。
プリセット・オート・マニュアルの 3 種類の選局が可能です。
画面上に、受信周波数と同時に放送局名が見えると思います。
これ(液晶上に受信周波数・放送局名を表示)を実装することが
このラジオを自作した当初の目的でした。
本来はプリセットの放送局名などをスタンドアローンで設定できるべきなのですが、
設定 IF が面倒だったため、プログラム上にハードコーディングしています。
短波側には 2SK241 のプリアンプを使用して、感度の向上を図っています。
(BK1088 アプリケーションノートにも、外部アンプの使用が推奨されています。)
ユーザインタフェースは写真のように、4 ボタンのインタフェースです。
以前作った「高性能 LED テスタ」でも行ったように、ポータブル機器の製作では
このような配置のシンプルなインタフェースが気に入っています。
冒頭に述べた納得のいかない部分は、以下の点です。
・I2C 通信、LCD へのデータ転送で AM にノイズが乗る
・LCD モジュールの消費電流
・LCD が透過型である
・ケースへの組み込みが雑
筐体が小さいので、AM のノイズ対策が予想以上に難しい問題でした。
このため、当初の予定では液晶にもっと情報を表示したかったのですが、
MCU – モジュール間の通信頻度を最小限に抑えざるを得なくなりました。
また、消費電流削減のため LCD のバックライトをオフにすると、
LCD の表示が見えなくなってしまいます。
この点も、電池動作を前提とするポータブルラジオとしてはちょっと問題です。
いずれまた別の DSP ラジオを作ろうと思います。