FMラジオレコーダーの製作


 曜日ごとにFM放送をSDカードに予約録音できるラジオを自作してみました。

 パソコンでRadicoを録音する方が、はるかに手っ取り早いのですが、ラジオで聴ける隣県の放送を録音するためにRadicoに料金を払う気がしなかったのと、待機時の消費電力をなるべく抑えたかったので、チャレンジがてら製作作に踏み切りました。

 チューナー部はなるべく簡単に済ませたいので、フルデジタルのKT0915(aitendoより購入)にします。ただ、ノイズの発生源(ACアダプター、デジタルオシロ、パソコンなど)が周りにたくさんあるので、前段に簡単なフィルタを追加しました。結果として、上記のノイズによる影響は市販のFM付きMP3プレーヤーと比べて、だいぶましになった思います。

 MP3のエンコーダには48ksps/24bitに対応しているVS1063aを使用しました。ラジオなので、VS1053bでも十分なのですが、単に好奇心のためだけです。試しに、48ksps/24bit WMAの音楽ファイルを再生してみたところ、16bitに比べると音が良いように感じられました。

 全体の制御はPIC32MX250F128Bにしました。


 回路図


 ポートが足りないので、手元にあった74HC4052で拡張しましたが、何かとコントロールが面倒になってしまいました。ほとんどの部品を秋月で購入したので、PIC32を28ピンにしましたが、チップワンストップで44ピンを買えば良かったと後悔することになりました。
 パワーアンプのLM4880(ヘッドホン用ですが、大音量を出すのでなければ、小さなスピーカーぐらいは鳴らせます)のシャットダウン入力に乗ったノイズが増幅されてスピーカー出力に出てしまったので、CRのフィルタ追加でなんとか抑えています。
 表示器はaitendoからOLEDモジュールのUG-2864KSWEG01を購入しました。安価で、3.3V単一電源で使え、場所も取らず意外と使いやすいと思います。

 ファイルシステムは、ChaNさんのFatFsモジュールを以前、PIC24FJ用に改造したものを、さらにPIC32&DMA転送に改造して使わせてもらいました。
 OLEDドライバは、www.gabotronics.comからダウンロードしたSSD1306.Cに5x8フォントを追加しました。
 VS1063aのドライバは、VLSICodec.c(Copyright (C) 2002-2009 Microchip Technology Inc.)を利用しましたが、今、検索をかけてもどこにあるのか見つかりませんでした。ライブラリから削除されてしまったのでしょうか???

 プログラムメモリの使用量を確認すると、
「Total Program Memory used  :     0x19b50      105296  79.6% of 0x20490」
128kBあれば余裕かと思っていましたが、それほど余裕はありませんでした。今回は、XC32 v1.34を使用しましたが、もしv1.40&Harmonyを利用していたら、メモリ不足で入らなかっただろうと思います。



 チューナー部は銅箔と塩ビ板でシールドしています。
 チョンボとノイズ対策で、随分とパッチが多くなってしまいました。


 タクトスイッチを、無理やり立てて使用しています。
 OLEDはコネクタが高価なので、直に半田付けしています。


 48ksps/24bit、WAVファイルの再生は問題ないけど、FLACの再生ができません。VLSIの新しいパッチを入れないといけないのかもしれません。
 1年ほど前には一応完成していましたが、改善したい部分も幾らか残っていて、気が向いた時に一つずつ直しています。



Home
inserted by FC2 system