常用しているポケットラジオがすぐ電池がなくなる(正確には1.2V系充電電池を考慮した設計をしていない)ので、ポケットラジオをつくってみようかと


以前、aitendoに行ったときKT0915というDSPを使ったAMFMラジオ用ICが売っていたので、これを使ってラジオを作ってみようと画策しました。
DSPを使っていてAMの場合100KHz〜32MHzまで、FMの場合30MHz〜108MHzまでカバーするらしいです。アナログ回路のみでこれだけのワイドバンドに
なるよう設計すると、局発VCOだけで何組作ればカバーできる?と考えこんでしまいます。それがたった16pinのIC1個だけで実現できるとは‥末恐ろしい。


↓はIC部分を写した物。幅は5.1mm 足の間隔は0.65mmでいわゆるTSSOPと呼ばれるパッケージに入っています。






--------------------------------------------------------いつもの製作から------------------------------------------------------



回路図は↓ イヤホンジャックに10uHのコイルを入れてICのFMアンテナ端子を接続する‥良くあるイヤホンをFMアンテナ代わりにする方法を採っています。
あと液晶は手持ちの16×2のキャラ表示タイプを使いたかったので、5V駆動のモジュールを3.3V駆動できるように内部でVo端子を-2V程度供給できるように
改造しています。改造方法は"液晶モジュール 3.3V化"で検索するといろいろ出てきます。
ただしこいつは運悪く液晶モジュール内の発振器から-1.5Vを作り出せなかったので別回路図に示す発振器を液晶モジュールに積んでいます。
あと、液晶モジュールは電源電圧が変わるとコントラストが変わり、また電圧が低すぎると動作停止したりして不具合が出るので3.3V電源を別途積んでいます。
この電源回路の場合3mA程度の消費電力ならば2.1V〜5Vの範囲で3.28Vを液晶モジュールに供給することができます。
ラジオはノイズに弱いので、電源が出すノイズを極力減らすためチャージポンプの構成にしましたが‥どうだろう?





いつものように基板作りから始めます。 今回は片面ベーク基板でサンハヤトのカット基板11を使います。
手持ちの基板サイズで丁度良いのが100×100mmしかなかったのでこれを使っていますがカット基板10でも間に合うかもしれない。




エッチング後の基板は↓ 無駄スペースが多いなぁ。Orz 小さい基板を買っておけばよかった_/ ̄|○ il||li




ハード仮組み+ソフトデバッグ中の様子。この写真を撮った時点ではまともに動作していませんでした。
PICを使ってI2Cを操作する‥どうやら鬼門らしく、まともに動作しないので‥自分が欲しい波形になるように?ソフト上にWAITを入れたりして
チューニングするという?な事をやっています。 なので殆ど使っていないオシロスコープを持ち出して波形確認+タイミング調整をしているという




基板付近拡大、半田面から見ているのでICはKT0915のみ見えます。あとはオシロのプローブ?いやプローブを持っていないのでBNC⇔ワニ口クリップとか
電源装置につながるワニ口とか とにかくワニ口だらけ




↓はソフトも出来てとりあえず完成した全景。 ケース側面にすべての端子とボタンを配置して正面には液晶のみ‥
FMを受信している画像ですが、RS(RSSI)とSN値? それにステレオ受信時にはSTの文字が表示されるようになっています。
RSの値は単位は-dBmを示していて、下の図では-79dBmらしいです。 SNは‥何のSNか分かりませんが0〜127間での値を示すようです。




中身は↓ 上蓋にLCDがねじ止めされていていて、ケースの蓋が閉まると基板上の14pinコネクターと液晶のコネクターが勘合するようになっています。
こうすると、デバック中にPICを抜き差ししようとして蓋を開閉してもパカパカしやすいという(笑)



基板付近拡大図、PICと液晶用電源に使った74AC14が写っています。メインで仕事をしているPICマイコンより、3.3V電源を作っている脇役の回路の方が
場所を取っているという、ひどい様子が良く分かります。




上蓋の付近の様子を拡大した物。 ヤフオクで1個140円で入手した液晶を使ったので3.3V化するのに回路に一工夫が必要でした。


↓がその負電源回路です。これをLCD基板上に空中配線して乗っけています。




ケースと一緒に買ったラバーケース(画面左側)




本体にかぶせると↓のようになります。少しは見栄えが?




側面は↓のようになっています。ロータリーエンコーダーとスイッチが2個(決定ボタンとキャンセルor 項目選択ボタン)
それに電源スイッチとバーアンテナ/外部アンテナ切替スイッチ、RCAジャックは外部アンテナ接続端子になっています。





--------------------------------------------------------実際に使ってみて------------------------------------------------------


FMの感度と音質はまあまあです。ただ無音時にごく小さい音ですが"プツプツ"と聞こえるのが気になります。
実測で26.9MHz〜134MHzまで同調できたので、29MHzや50MHzのアマチュア無線、68MHz付近の同報無線なども聞こえるかも?
68.??MHzの同報無線(防災行政無線)を時々聞いていますが、ナローFMなので音量が小さいですがとりあえず聞こえます。午後5時の音楽とか、田舎だと
行方不明者の捜索願いとか

→プツプツ音の原因が分かりました。定期的に受信レベルとSN比をKT0915からPICに転送していますが、この時にプツ音が入るようです。


AMは‥音質がひどい_/ ̄|○ il||li 音割れしたようなビビリ音が聞こえます。あと感度が思ったより悪いです。バーアンテナはなるべく大きな物を
使った方が良いと思います。LCDとバーアンテナを離すと感度が上がるので、LCDモジュールの金属フレームの悪影響が出ているのか、それとも
モジュールのノイズの影響が出ているのか?
88KHz〜32767KHzまで同調できたので、長波放送から11mバンドの短波放送、29MHzのアマチュア無線?まで条件がよければ聞こえるかもしれないです。






--------------------------------------------------------AM受信音を良くする------------------------------------------------------



AMの音質が長時間聞くに堪えないので、当初使っていませんでしたが、どこかのHPで"KT_AMFMdrv.c"で検索するとデータシートに載っていないレジスターを
操作していると書いてあったので、このソースファイルを元にいろいろいじってみました。



 アドレス  ビット 変更後の値 意味
0x22 bit9,8 1,0 AM AGC short win=slowest
0x22 bit11,10 0,0 AGC_FAST_WIN->fastest
0x22 bit6,5 1,0 AM_GAIN = 12dB
0x23 bit12,11,10 1,1,1 Low_TH_B
0x0A bit6 1 LO_LDO=higest
0x3f bit6,5,4,2,1,0 0,0,1,0,1,1 RF AGCパッチ
0x10 bit14,13 1,1 re_cali(再調整?)


AM_GAIN = 12dBは受信音を大きくするだけであまり意味はなかったですが、AGCと名の付くレジスターを弄くるとビビリ音がかなり変わります。
上記設定にすると殆どビビリ音がなくなります。‥という事はAM受信時のAGC初期値がダメだったという事ですね。

re_cali(再調整?)はそれまで設定していた情報(少なくとも周波数データ)がフイになるので電源投入直後に一番最初に実施した方が良いと思います。



その他いろいろ分からない設定を弄っているので、下記のまとめた表を元にいろいろ弄ってみると性能がアップ?するかも


エクセル版はこちら

↓の制御ソフトでは音量選択時に決定ボタンを押すとレジスターをbit単位で変更できるようにしてあります。耳で聞きながら
好みに合わせて設定を弄ってみるのもよいかもしれません。




制御しているPIC 16f1827のソースコードとhexファイルはソースコード と  hexファイルです。
あまり参考にならない基板パターン図(PCBE版)は液晶ノーマル版液晶電源逆極性版
ノーマル版と逆極性版の2種類あるのは、たまたま今回使った液晶の電源接続が通常の16×2液晶とは逆‥つまり20×4などの大型液晶と同じだったので
急遽逆接続版をつくったからです。 と言っても仮に間違えてもそう簡単には壊れない(逆接して500mA位電流を流しても数秒なら壊れない)し
パターンカット+ジャンパー線による修正2箇所ずつなのでもそんなに手間がかからないとも言えます^^;


液晶表示と操作シーケンスは↓の通りです。


AM FMともに32個の周波数をメモリーできますので、多分足らないということはないと思います?
今回できるだけ安く作ること+手持ちにあったという理由で16f1827を使っています。今回メモリー保存とかいろいろ機能をつけたので
コードサイズ肥大化に対抗するため、あえてアセンブラで茨の道を進んだいう‥Orz 

LCDの価格次第ですが極限まで安く作れば900円位で作れるかも。900円程度だったら中華ラジオを買うより安くてワイドバンドに受信できネタ?としても面白いかも




総括

それにしても変なラジオ‥もとい面白いラジオが出来ました。製作費対カバーする周波数バンド幅で見ると、ほぼ無敵に近いと言う。ただし実用性があるかは?
ポケットラジオを作るはずが‥_/ ̄|○ il||li  どう考えてもポケットに入りづらいだろ‥これ






--------------------------------------2014.10.15追記------------------------------------------


○ DIVIDERPとDIVIDERNの値について

どうも受信周波数がずれるなあ‥特に10MHzの標準電波を聞いていると顕著に という訳でKT0915の唯一のアナログ調整ポイント 32.768Hz発振器を
調整しました。そのついでにレジスター設定で不思議に思っていたDIVIDERPとDIVIDERNの値について、KT0923のデータシートや
KT_AMFMdrv.cのソースファイルを元に想像してみました。



DSP内部は21.888MHz(38KHz×576)で動作していると考えられます。水晶発振器の周波数をDIVIDERPで割ると32000〜38400Hzになるのでこの周波数で
PLLの比較を行っている?とおもいます。あとは32000〜38400Hzの基準を元に21.888MHzになるように倍率をDIVDIRENにセットすれば良いわけです。
なので、上記計算結果で整数値で割り切れる組み合わせであれば、32768Hz〜40MHz以内であればどの水晶でも使えると言うことになります。

そう考えると32768Hzの水晶だと割り切れないんだよね。DIVIDERP=1,DIVIDERN=668として計算すると21.889MHzになってしまう。
正確には32768Hz発振器の周波数を32766.47Hzにしないと?



○ 音声歪率の改善について


blogには載せてありますが、受信音声のSN測定結果と改良結果ついて‥


以前測った結果ですが↓のような結果になりました。86.8MHzをFMラジオに入力
LchRch100%変調時の歪率を測ると0.48%




Lchのみ100%変調時 Lch出力 ↑のグラフとあまり変わらず。




Lchのみ100%変調時 Rch出力 ↑ セパレーションを計算すと-21.23-(-46.57)=25.35dB‥え!?
データシートが35dB(min)なので非常に悪いです。




音声無入力時 Lch出力 5.3KHz付近に変なピークがあるOrz
下記測定値を15〜15000Hzで帯域制限するとRMS値は-79.67dBでした。この値からSNを計算すると-20.84-(-79.67)=58.83dB
データシートの値が64dB(typ)なので少し低いです。ちなみにモノラルでもSNは大して変わりませんでした。




でここから本題なのですが、5.3KHz付近にあるノイズ‥どこから出ているか考えてみましたが
どうやら38000-32768=5232Hz‥勘の鋭い方は気が付いたかもしれませんが、これって基準発振器のスプリアスが
音声に混じっているようです。解決方法は38KHzの整数倍の発振子を使うしか

‥で38KHzの水晶振動子に交換した結果は↓の通り。

LchRch100%変調時の歪率を測ると0.30% データシート通りの値が出ています。




Lchのみ100%変調時 Lch出力




Lchのみ100%変調時 Rch出力 ↑ セパレーションを計算すと-20.04-(-47.33)=27.29dB 少し良くなったけどかなり悪い




音声無入力時 Lch出力 5.3KHz付近の変なピークはなくなりました。
SNをRMS値で比較すると -22.45-(-86.42)=63.97dB ほぼデータシート通りです。




38KHz版のソフトのソースコード と  hexファイル

という訳で、このIC‥38KHzという普段聞きなれない周波数の水晶振動子を使わないと本領発揮しないようです。
7.6MHzなどの水晶も使えますが、KT0915自身では発振できず、他の発振回路で生成したクロックを供給しないといけないようです。
いろいろ試しましたが7.6MHzの水晶を接続してまともに動かなかった。多分インピーダンスの高い音叉型の水晶振動子に合うように
発振器が設定されているのでしょう。

それと、復調した後のスペクトラムを見ると1KHzのスペクトラムのすそ付近が山状になっています。普通は針状に1KHzのみ棒が立ちます。
‥つまりKT0915に内蔵されているPLL発振器の信号純度が低いと言う事で、元からそうですがHI-FIを狙うのはムリという結論がOrz


水晶を交換する前、FM受信時に140%程度の過変調の放送を受信するとクリップ音が聞こえてきましたが、38KHzの水晶にすると
180%の過変調でもクリップ音がしません‥ このICって38KHzの水晶じゃないと‥‥え!?  
あれ?玄関に青龍刀持ったおっさんがピンポン押してる(ry




--------------------------------------2015.05.25追記------------------------------------------



FMのメモリー00に周波数情報を登録していないと、電源ON時でたらめな周波数をセットして起動するバグがあったので直しました。
ただし、基準周波数32.768KHz版は動作未確認‥。多分動くはず?

32.768KHz版のソフトのソースコード と  hexファイル
38KHz版のソフトのソースコード と  hexファイル








------------------------------------------------------------------------------------------------------------------------------

訂正・変更履歴


2014.10.13 初版
2015.05.25 ソフト バグ取り+新規バグ生成?


TOPページ inserted by FC2 system