| ホーム |     私の電子工作作品集

187. FMステレオラジオ

[ 初公開日:2020年10月6日 ]

 今年の初め頃、ネットである探し物をしていたときに、"59円チューナモジュールを使ったFMラジオ" というページを見つけ、そこで使用されている "FMラジオモジュール" について、ずっと気になっていました。 中国製なのですが、その価格が信じられないほど極端に安いことで、本当かよ? ― と半信半疑な気持ちでした。

 そこで、このモジュールを私もぜひ試してみたいと思い、本機の製作に至りました。 アマゾンを覗いて見ると、同一の(ものと思われる)モジュールを、いろいろなネットショップから出品されていて、 その価格の大小差は十数倍にも及んで実に様々です。 さすがに 59円というものは見つかりませんでしたが、それでも、5個セットで 369円(配送料無料)というものがあって、さっそく注文をしてみました。 ( 5個も買ってどうするのだ、と言われそうですが ・・・ )
 こうして、アマゾンにおける中国製品の市場(しじょう)を初めて知り、他の電子部品などいろいろと見ていると、実に宝の山ともいうべき宝庫であって、実にわくわくした気分にさせられます。 しかし、購入者のレビューなどを見てみると、時々、不良品も混ざっているらしいので、さすがに中国製、ということも心得ておくべきです。 また、アマゾンからではなく中国本土から配送されてくる商品については、 到着するのが忘れた頃になる、というのも大きな特徴なようです。

 他に、本機で使用をしている "デジタルアンプモジュール" もこの市場で入手をしました。 同一の ICを使用した D級アンプが、ボリューム付きとそうでないものの2種類があって、どちらもびっくりするほど安価なため、 両者ともに数個ずつを購入しましたが、本機では音量調節が "FMラジオモジュール" の方で、プログラムによる設定ができるため、ボリューム無しのものを使用しました。

 これらの商品についても出品しているネットショップによっては、その価格の大小差が十数倍にも及んでいますから、後悔をすることがないように、いろいろなショップを見て十分な検討をすることをお勧めします。 ( ちなみに、私が入手したものは、ボリューム付きが1個 117円、無しが2個セットで 114円(共に配送料無料)でした。 ・・・ こんなんで採算がとれるのかネー?)

【 お知らせ 】 ( 2020/11/14 )

 このページで紹介をしている "187. FMステレオラジオ" に続いて、"188. FMステレオラジオ II" の製作、公開をしました。

 このページの "FMステレオラジオ" では、8 ピンの PIC を使用したために I/O ポート数が足らなくて、十分な機能を持たすことができませんでした。 そこで新しい "FMステレオラジオ II" では、14 ピンの PIC16F684 に変更をして、 電流消費の大きいアンプモジュールを無くし、電源には単3乾電池2本という構成にして、ポケットにも入るように小型化を図りました。

 そして、スリープ機能の追加、ステレオ放送時の LED 点灯、受信強度の LCD 表示、SEEK 機能での選局など、このページの "FMステレオラジオ" にはなかった、新しい機能をたくさん盛り込んでみました。 興味のある方は、ぜひご覧ください。

テーブルデータのアドレス計算プログラムのバグを修正 ( 2021/01/05 更新 ) ( 2021/01/12 再更新 )

 FM ラジオ放送局をプリセットデータで選局するための、「FM ラジオ放送局 データテーブル」の、アドレス計算プログラムにバグがありました。 テーブルのデータ数が 13 までのプリセットデータについては問題はないのですが、 その数を超えたプリセットデータ分については正常な選択ができませんでした。(再更新はコメントを追加しただけで影響はありません。)

 私が住んでいる地区では、FM ラジオ放送局が 13 を超えることはないので、このようなことは起こりませんが、東京周辺地区にお住まいの方は放送局数が多いので、プリセットの設定数が 13 を超えたときには、この症状が現れます。 詳細は プログラム の項を参照してください。

■ 回路図 ■

*注1. PIC の GP2、GP4、GP5 は内部プルアップ機能を ON にして使用。 GP3 は入力専用で、出力ポートには使えない。 また、内部プルアップ機能もないため、外付け抵抗 10KΩでプルアップ。
*注2. LED(高輝度 青)は Yahoo!オークションで入手したもので型番不明。 輝度を抑えたいために電流制限抵抗に 7.5KΩを使用。 (実測値: 4.7KΩのとき ≒ 0.51mA、7.5KΩのとき ≒ 0.33mA)
    この LED は正面から見ることが多いため、なおも眩しいので、その後、電流制限抵抗を 47 KΩに変更。 (実測値: 20 KΩのとき ≒ 0.12mA、47KΩのとき ≒ 55.6μA)

FMラジオモジュールについて

 このモジュールを使用した実際の製作例をネットで検索をしてみると、いろいろとヒットをしますが、それらの製作例には ROUT / LOUT の出力端子が、上回路図とは逆 * に取り扱っている例が多く見受けられますが、 それらは間違いだと思います。 RDA5807M チップのデータシートを見てみると、9 ピン = ROUT10 ピン = LOUT となっており、実際のラジオモジュールを観察してみると、上図のようにチップの 9 ピン = ROUT はモジュールの 8 番端子、 チップの 10 ピン = LOUT はモジュールの 7 番端子に繋がっています。 テスターで導通を確認しました。

    * 逆: あるネットショップ(私が購入したショップ)の商品説明で、写真画像に信号名が書かれているものがあって、それが逆に示されているためと思われる。

 また、このモジュールの電源電圧 VCC についても、RDA5807M チップのデータシートを見てみると、VDD = MAX 3.3 V となっています。 三端子レギュレータの出力をそのまま繋ぐと最大値ぎりぎりなので、 上図のように、整流用ショットキーダイオード 1S4 を挿入して、順電圧分だけ下げるようにしました。 (SDA、SCL については問題が残りますが ・・・)

デジタルアンプモジュールについて

 私が購入したデジタルアンプモジュールについても、基板のシルク印刷に誤りがあります。 スピーカーへの出力端子名が誤っていて、R、Lそれぞれの "+"、"−" の表示が実際とは逆になっています。 これも PAM8403 チップのデータシートを見てみると、 1 ピン = +OUT_L3 ピン = -OUT_L14 ピン = -OUT_R16 ピン = +OUT_R となっており、それぞれの各ピンと接続されているモジュール基板の端子名 "+"、"−" が、逆にシルク印刷がされています。 これもテスターで導通を確認しました。

| 回路図 (FM_StereoRadio.CE3) | ページトップ |

■ ケース外観と内部の様子 ■

ケース正面の斜め上から見たところ ケース上側面の斜め上から見たところ
ケース左側面の斜め上から見たところ ケース右側面の斜め上から見たところ
ケース正面を真上から見たところ ケース裏面を真上から見たところ
蓋をあけて内部の様子を見たところ ( 拡大 電源を接続して、スイッチを ON にした様子

| ページトップ |

■ 機能概要と使用法 ■

  • 本機 FMステレオラジオでは、FMラジオモジュール( RDA5807M )と、LCDモジュール( AQM0802A-RN-GBW )を使用し、共に PIC から I2C 接続で制御をしている。 また、他にデジタルアンプモジュール( PAM8403 )も使用をしているが、 これはプログラムには関係がない。

  • さて、本機の電源スイッチをオンにすると、LCD に次の開始メッセージが交互に2秒間ずつ連続2回表示される。
      			[ FmStereo ]			[ Ver x.xx ]
      			[   Radio  ]			[  by M.Y  ]
      

  • その後、2秒間無表示の後、PIC の EEPROM にバックアップが取られている、前回のセーブ情報(ラジオ局番号、音量)が読み出されて、LCD にはラジオ局名と、その局の周波数が表示されるとともに、必要情報を FMラジオモジュールに設定をして、 選局、および音量調節をして、スピーカーから音声を出力する。
      			[ NHK FM   ]
      			[  82.5MHz ]
      

  • なお、プログラム作成時のデフォルトのセーブ情報は、ラジオ局番号 = 3(名古屋地区では 3: NHK FM)、音量 = 1(範囲: 0〜15)となっている。

  • その後はユーザのスイッチの操作待ちとなって、各スイッチの ON/OFF 状態を監視する。

  • その監視するスイッチは4つあり、まず、ラジオ局番号(各ラジオ局の局名、周波数、FMラジオモジュールへの設定情報を、番号毎にプリセットしてある)を選択するために、TUNING DOWN スイッチと TUNING UP スイッチがある。 なお、ラジオ局番号はプログラム内部で使用をしている番号であって、LCD に表示されることはない。


  • TUNING DOWN スイッチは、押す毎にラジオ局番号が−1され、0 の次は、プログラム設定されている内の、最大値となる。 また、TUNING UP スイッチは、押す毎にラジオ局番号が+1され、最大値の次は、0 となる。

  • 次に、音量(範囲: 0〜15)を調節するために、VOLUME DOWN スイッチと VOLUME UP スイッチがあり、VOLUME DOWN スイッチは、押す毎に音量が−1され、0 になると、それ以上押しても更新されることはない。 また、VOLUME UP スイッチは、押す毎に+1され、最大値になると同様に、それ以上押しても更新されることはない。

  • このように、4つのスイッチのどれかを操作すると、ラジオ局番号、または音量が更新され、それに応じて LCD の表示、またはスピーカーの音量が変更される。
      			[ FM AICHI ]
      			[  80.7MHz ]
      

  • ここで、音量(範囲: 0〜15)の設定値を LCD に表示するように機能を追加(2020/10/7) * した。 以上の4つのスイッチのどれかを操作すると、LCD の2行目に周波数の表示に先立って、 1秒間だけ次のように音量の設定値が表示される。 1秒が経過する以前に4つのスイッチのどれかを続けて押した場合には、押す毎に新たなカウントが始まって、最終的に押した時点から1秒が経過後に、周波数が表示されるようになる。
      			[ Vol=xx ]	..... 2行目に音量(範囲: 0〜15)が表示される。
      

    * 本機を使用していて音量を変更した場合に、実際にどのように変更がされたかを目で確認できないというのは、意外と不便さを感じるもので、そのために音量の表示機能を追加した。

  • このようにスイッチのどれかを押して設定を変更した場合には、次回の起動時に備えて、セーブ情報(ラジオ局番号、音量)として、自動的に PIC の EEPROM にバックアップが取られる。

  • ただし、スイッチの操作毎に無条件でバックアップを取るのではなく、操作毎に一定の時間監視(5秒間)を行い、続く操作がなくなった時点でバックアップを取るようにしている。 すなわち、5秒が経過する以前に次の操作があった場合には、 前の操作のバックアップは取られず無視される。 これは書き込み回数に制限がある、EEPROM の寿命を延ばすための処置である。

| ページトップ |

■ プログラム ■

現在の最新バージョン: Ver. 1.04b  ( 2021/01/12 更新 )
本機のソースプログラム内には、予め3地区用の「 FM ラジオ放送局 データテーブル」を用意して、どの地区の FM ラジオ受信機としても簡単に対応ができるように、 ソースプログラム (FM_StereoRadio.asm) の記述をしていますが、アセンブルするときにはどれにするかをアセンブラに指示をしなければなりません。

ソースプログラム中の「 FM ラジオ放送局 データテーブル」のところで、次のように
      #define 	nagoya			;┐
      ;#define 	tokyo			;│どれか1つを選択
      ;#define 	osaka			;┘
      
の 3行が書かれた部分がありますが、ここでどれにするかの指示をします。 選択をしない #define 文の行頭に ; 印を付して、コメント行にします。
この際にもし、各地区で受信可能な FM ラジオ局が、各テーブルの設定内にない場合には、いくらでも * (注) 追加が可能なので各自で設定をしてください。

    * (注) 'いくらでも' は間違いで、実は 15 13 まででした。 これでは少ない場合もあるので、プログラムを修正して 31 までに増やしました。
         31 を超えた場合には正常な選局ができなくなりますが、現実的にはこの値を超えるようなことはあり得ないと思います。
         ( 2020/11/14 更新 ) ( 2021/01/05 再更新 )

そして、それぞれの地区用に指定をしてアセンブルした結果が、次の HEX ファイルです。
(ただし、名古屋地区用以外のものについては、正常性の確認が取れていないので注意!)
なお、3地区以外用にするには、次の上下の2行(必須)だけを残して、データテーブルそのものを該当の地区用に、書き換える必要があります。
テーブル要素の作り方(CHAN の導き方)などを、ソースプログラム内のテーブルの上位置で説明をしているので、参考にしてください。
      fm_radio_tbl
      
      	:
      	:	(この間を該当の地区用に書き換える)
      	:
      
      fm_radio_tbl_end
      

テーブルデータのアドレス計算プログラムのバグを修正 ( 2021/01/05 更新 ) ( 2021/01/12 再更新 )

 上述した「 FM ラジオ放送局 データテーブル」のアドレス計算プログラムにバグがあったため、そのプリセットデータ数が 13 を超えると、その数を超えたプリセットデータ分については正常な選局ができませんでした。 次に示すプログラムリストが、そのアドレス計算を行っている部分です。
      table_select
      		; ラジオ局番号から該当のテーブルデータアドレスの計算
      
      		movlw	high fm_radio_tbl ;テーブルの先頭アドレスの high アドレス
      		movwf	addr_high	;
      		movlw	low fm_radio_tbl  ;テーブルの先頭アドレスの low アドレス
      		movwf	addr_low	;
      
      		movf	radio_no,W	;ラジオ局番号
      		movwf	work1		;x20 倍する、(1 テーブルデータ = 20 byte)
      		bcf	STATUS,C
      		rlf	work1,F		;x 2
      		rlf	work1,F		;x 4
      		movf	work1,W
      		movwf	work2
      		rlf	work1,F		;x 8
      	;;	btfsc	STATUS,C	;オーバーフローした か?                        ┐
      	;;	incf	addr_high,F	;Yes. 読み出すデータの high アドレスの更新      │(3)
      	;;	bcf	STATUS,C	;(Ver. 1.04b で追加)				┘
      
      		rlf	work1,W		;x16
      		btfsc	STATUS,C	;オーバーフローした か?                        ┐(1) (Ver. 1.03 で 2行追加)
      		incf	addr_high,F	;Yes. 読み出すデータの high アドレスの更新      ┘
      
      		addwf	work2,W		;x16 + x4 = x20
      		btfsc	STATUS,C	;オーバーフローした か?                        ┐(2) (Ver. 1.04 で 2行追加)
      		incf	addr_high,F	;Yes. 読み出すデータの high アドレスの更新      ┘
      
      		addwf	addr_low,F	;読み出すデータの low アドレスの更新
      		btfsc	STATUS,C	;オーバーフローした場合は
      		incf	addr_high,F	;読み出すデータの high アドレスの更新
      
 上に示すプログラムリスト中で、(1) 〜 (3) の命令を挿入することでその対処ができるのですが、当初はこれらは一切ありませんでした。 しかし、このページを公開後にプログラムリストを見ていて、 このリストには誤りがあることに気付き、(Ver. 1.03) で (1) の 2行を追加しました。 しかし、結果としてこれだけでは不十分で考慮が足りませんでした。

 本ページをご覧になって本機を製作された方から、「プリセットデータ数を 14 にしたところ、最後のプリセットデータが選択されない」という情報を得ました。 そこで再度、プログラムリストを見直した結果、 (2) の命令を挿入 (Ver. 1.04) しないと正常な選局が行えないことが分かりました。

 (1) と (2) の命令を挿入したことによって、現在は 31 までのプリセットデータ数までは正常に選局が行えます。 現実的にはこのデータ数を超えるような設定はあり得ないと判断をし、ここまでの修正にしてありますが、 (3) の命令の ;; コメントを外すことによって、31 を超えたときの対処もできますが、そこまでの必要はないと思います。

| ページトップ |

■ 使用した FMラジオ、デジタルアンプの各モジュールの加工 ■

 本機で使用した FMラジオ、デジタルアンプの各モジュールは、既に 回路図 中に記入がしてあるように、それぞれ FMラジオモジュールは RDA5807M、デジタルアンプモジュールは PAM8403、という ICチップを核にしてモジュール化をしたもので、次の写真に示すように、特に FMラジオモジュールの方は驚くほど小さなもの(11 mm 角程度)です。

左:FMラジオモジュール( RDA5807M )、 右:デジタルアンプモジュール( PAM8403 )

 また、FMラジオモジュールは、外部との各接続用端子間のピッチが 2 mm のため、そのままでは通常の 2.54 mm ユニバーサル基板に搭載することが難しいので、次の写真に示すように、 予めサブ基板 * に載せて 2.54 mm にピッチ変換をしておきました。 私が行った変換の要領は次の通り。 ( * サブ基板については、次項の プリント基板の加工と部品配置 の<追加案>を参照してください。)

  1. ユニバーサル基板の端材等を利用して、4 x 7 穴のサブ基板を用意する。
  2. サブ基板の短辺の両側にそれぞれ、4P のピンヘッダをハンダ付けする。
    (ハンダ面を上面にし、下方からピンヘッダの短辺を差し込んでハンダ付け。
     このとき、ピンヘッダの長辺をブレッドボードに差し込んでおくと良い。)
  3. 絶縁のために、サブ基板の上面(ハンダ面)にカプトンテープを貼り付ける。
  4. FMラジオモジュールの裏面に両面テープを貼り、サブ基板の上面に固定をさせる。
  5. FMラジオモジュールのNC端子を除いて、すべての端子に予備ハンダをしておく。
  6. 配線はΦ0.26 のウレタン線 (UEW) で行い、一端に予備ハンダをする。
  7. FMラジオモジュールの該当端子と、ウレタン線をハンダ付けする。
  8. 7 の後、適長(7 〜 8 mm 程度)を残してウレタン線をカット。
  9. カットした後に(6 の他端)ウレタン線と、該当のピンヘッダをハンダ付けする。
  10. 6 〜 9 の工程を、NC端子(3個)を除いたすべて(7個)の端子で繰り返す。
  11. ピンヘッダの長辺側を、適長(3 mm 程度)を残してカットする。

 デジタルアンプモジュールについては、接続用端子間のピッチが 2.54 mm になっているため、単純にピンヘッダをハンダ付けしただけです。 このとき、ピンヘッダは通常の使用方法とは異なり、基板に対して下側に取り付けます。 また、次の写真のように、ピンヘッダの長辺側をブレッドボードに差し込んで作業をすると、基板に対して垂直に取り付けることができます。

↑上:FMラジオ、↓下:デジタルアンプの各モジュール ピンヘッダの長辺をブレッドボードに差し込む 基板を載せた後、各ピンヘッダにハンダ付けをする

 上写真の右端に示すように、各ピンヘッダに基板を載せた後にハンダ付けをすると、デジタルアンプモジュールについては取り敢えず終了で、残るはピンヘッダの長辺側の長さを適長にカットするだけです。 FM ラジオモジュールについてはここまでが前準備のようなもので、続いて次に示す作業が必要で、上述した要領を写真付きで再度示します。

カプトンテープを貼る(少し斜めになってしまった) * 1 ラジオモジュール裏面の両面テープで貼り付ける * 2 ラジオモジュールの端子に予備ハンダをする * 3
* 1 サブ基板の上面(ハンダ面)に、絶縁のために、耐熱性にも優れたポリイミドテープ(カプトンテープ)を貼り付ける。
* 2 FM ラジオモジュールの裏面に両面テープを貼り、サブ基板の中央(ポリイミドテープの上)に固定をさせる。
* 3 FM ラジオモジュールの NC端子(3, 4, 9)を除いた、すべての端子(7ヶ所)に予備ハンダをする。 端子番号は、手前左側から反時計回りに 1 〜 10 番。
予備ハンダ * 4 ラジオモジュールにウレタン線をハンダ付け * 5 ウレタン線とピンヘッダをハンダ付け * 6 * 4 * 6 をすべての端子間で繰り返す * 7
* 4 ウレタン線の先端に予備ハンダをする 。 ウレタン線にハンダと鏝を数秒間当てていると、外皮のウレタンが融ける(焦げる?)とともに、ハンダが線の外周にメッキ状に周り付く。
* 5 予備ハンダを施したウレタン線の先端を、FM ラジオモジュールの該当の接続端子に、ハンダ付けをする。
* 6 ウレタン線を適長(7 〜 8 mm 程度)を残してカットした後、U字状に曲げてサブ基板の該当のピンヘッダとハンダ付けをする。 このときは予備ハンダをする必要はない。
  Φ0.26 の細いウレタン線を使用のため、長時間鏝を当てていてもピンヘッダ側の熱で、ラジオモジュール側の端子のハンダが溶けるようなことはない。
* 7 工程 * 4 * 6 を、FM ラジオモジュールの NC端子(3, 4, 9)を除いたすべての該当の端子(7ヶ所)と、サブ基板の該当のピンヘッダ間で繰り返す。

 このように、各モジュールにピンヘッダを取り付けた結果が次の写真ですが、このままでは各基板の下に位置するピン長が長過ぎるため適長(3 mm 程度)にカットをします。

ピンヘッダを取り付け後の上面側 ピンヘッダを取り付け後の裏面側 裏面側のピンヘッダ上にプリント基板2枚を重ねる * 8
* 8 写真のように飛び出した部分をニッパーでカットをする。 残りの長さ = プリント基板の厚さ 1.6 x 2 = 3.2 mm となる。(基板に搭載時は 基板1枚分の厚さ がハンダ代(しろ)となる)
裏面側のピンヘッダ長を適長にカット後(完成) 仮のユニバーサルプリント基板上に搭載した様子 別角度からもう1枚

 本項では、FMラジオ、デジタルアンプの両モジュールを、ユニバーサル基板に搭載するためにピンヘッダの追加など、構造上の加工についてだけを述べてきましたが、これらのモジュールを実際に使用するときには、 ぜひ知っておきたい重要な注意事項(間違いなど)を、回路図の下 で説明をしていますので、まだ読んでない方は必ず目を通すようにしてください。

| ページトップ |

■ プリント基板の加工と部品配置 ■

 使用したプリント基板は、"秋月電子" の "片面ガラス・ユニバーサル基板 Bタイプ(95×72mm)めっき仕上げ(通販コード P-00518)" ですが、下図に示すようにプリント基板の切断等の加工が必要です。 まず、横の ----- 線2ヶ所の位置で切断をして、(A)、(B)、(C) の3枚に切り離します。

 (A) 基板はメインとなる基板で、下方位置にケースに取り付け用とスイッチ基板を取り付け用の、各2個ずつ計4個のΦ3.2 穴を開けます。 また、上方位置には LCDモジュールの取り付け用のための、木片固定用のΦ2 程度の穴を2個開けます。

 (B) 基板は更に縦の ----- 線の位置で切断をし、左側基板が各スイッチ取り付け用基板(プリント基板(2))になり、メイン基板との結合用にΦ3.2 の穴を2個開けます。 右側の小片は不要です。

 最後に (C) 基板ですが、更に縦に小分割をして、アンテナ ANT、電源、スピーカーの各コネクタ(ピンソケット)の保持用に使用をします。

 <追加案>

 下に示すようなカット加工をすることによって、
 前項の FMラジオモジュール用の 4 x 7 穴の
 サブ基板を作り出すことが可能です。


| プリント基板部品配置図 (FM_StereoRadioPC0.CE3) | ページトップ |

■ プリント基板パターン図 (部品面) ■

 本機で使用する LCDモジュールは、基板との接続用の足ピンのピッチが 1.5 mm のため、通常の 2.54 mm ユニバーサル基板には、そのままでは搭載することができません。 そのために、専用のピッチ変換基板を使用する場合は良いのですが、 本機のように専用のピッチ変換基板を使用しない場合には、一工夫が必要です。 そこら辺りのことを "ストップウオッチ II" の "LCDのプリント基板への取り付け" で詳細に述べていますので、そちらを参照してください。



プリント基板(2)を取り付け前


プリント基板(2)を取り付け後

 回路図の下の説明 FMラジオモジュールについて で述べたように、RDA5807M チップの電源電圧 VDD = MAX 3.3 V となっているため、三端子レギュレータの出力をそのまま繋ぐと最大値ぎりぎりなので、 上図のように、整流用ショットキーダイオード 1S4 を挿入しました。 このことに気が付いたのは、このプリント基板の完成が間近いころのことで、そのために全体のレイアウトが悪くなってしまいました。

 また、同様に回路図の下の説明 デジタルアンプモジュールについて で述べたように、デジタルアンプモジュール( PAM8403 )は、スピーカーへの出力端子名のシルク印刷が間違っていて、 R、Lそれぞれの "+"、"−" の表示が実際とは逆になっています。 これも気が付いたのは、このプリント基板が完成した後のことで、ピンヘッダへの配線替えをしたくなかった(ハンダ面のランドが剥がれ易いため)ので、そのままにしてあります。 (逆であっても、スピーカーの左右の位相を合わせていれば、実用上は問題がない筈。)

 プリント基板の右上に位置する 7.5KΩの抵抗については、その後、ずっと大きな値の 47KΩに取り替えました。 高輝度 LED を使用したということもあり、この輝度を抑えたいために、もともと通常より大きな電流制限抵抗を使用していたのですが、 この LED が LCDモジュールの右横に位置するため、正面から目に入ることが多くなってなおも眩しいので、再度、電流制限抵抗の見直しをし、通電中は光っているというよりも、青い色が付いているという程度にしました。

| プリント基板パターン図 (部品面) (FM_StereoRadioPC.CE3) | ページトップ |

■ プリント基板パターン図 (ハンダ面) ■

| プリント基板パターン図 (ハンダ面) (FM_StereoRadioPC1.CE3) | ページトップ |

■ プリント基板(2)パターン図 (部品面) ■

 各スイッチをそのままメイン基板に取り付けると、ケースに収納したときに、各スイッチのトップをケースの上面より上に飛び出させることができないため、各スイッチ全体の高さを嵩上げするためにプリント基板(2) を使用します。 そして、メイン基板との結合には、最近 Yahoo!オークションで入手した、次の写真のようなオネジ+メネジの六角ジュラコンスペーサで、左側の M3 x 7 mm 長(廣杉計器 BS-307E)を使用し、また、メイン基板のケースへの取り付けには、 右側のM3 x 15 mm 長(廣杉計器 BS-315E)を使用しました。


 なお、右側の4つのタクトスイッチは、左側のトグルスイッチと高さを合わせるために、キートップ長が通常のものより長いもので、実測 9.5mm のものを使用しました。 以前に Yahoo! オークションで入手したものですが、メーカー、型番までは分かりません。 (相当以前にはなりますが "共立エレショップ" で購入をした、台湾製の "PT6601G" という型番のものと同等のようです。)

| プリント基板(2)パターン図 (部品面) (FM_StereoRadio2PC.CE3) | ページトップ |

■ プリント基板(2)パターン図 (ハンダ面) ■

| プリント基板(2)パターン図 (ハンダ面) (FM_StereoRadio2PC1.CE3) | ページトップ |

■ ケース加工図 ■

 使用したケースは、100均(セリア)で購入した "クリアケース ミニ (L-8033) サナダ精工" という、ポリスチレンケースです。


 上図内の上箱上面図において、数値が2段で表示されているものについては、下段の( )内の数値は単位がインチサイズで表したものとなっています。

| ケース加工図 (FM_StereoRadioCS.CE3) | ページトップ |

■ アンテナの取り付け ■

 本機では、次の写真に示すような5段のロッドアンテナを使用しました。 前項の ケース加工図 で示したケースに合うようなサイズのものを、アマゾンで探して選択をしました。 左写真に示す状態に縮ませた状態のときの全長:108 mm、すべてを伸ばした時の全長:320 mm、また、右写真に示すようにL字型に折り曲がるもので、短辺側の直径:6 mm、長辺側の直径:5 mm という、少々、小さ過ぎるとは思いましたが、 他に思わしいものが見つからなかったので、このアンテナに決めました。


 このアンテナを如何にケースに取り付けるかですが、まず、下左図のようなアンテナの取り付け用金具を作製します。 10 x 10 x 1 mm 厚のL型アルミアングルの端材を使用しました。 その実際に作製した取り付け用金具を使用して、アンテナをケースに取り付けた様子を、右写真に示します。



ロッドアンテナ取り付け用の金具の穴位置について

右の裏面から見た写真のように、アンテナの最下部の
板状の右端部分が、L型アルミ金具の内側の縦辺に、
隙間なくぴったりと付くような位置になるように、
使用するアンテナによって調整が必要。
上面から見る
左側面から見る 正面から見る 裏面から見る 右側面から見る

 なお、左側面から見た写真で、アルミ金具を止めている2本のなべねじとワッシャーだけ、絶縁のためにポリカーボネートのもので、ナットは通常の金属製を使用しました。

 また、アンテナの最下部の板状の部分には、M3 のタップが切ってあったので、M3 x 5 のなべねじでアルミ金具に固定をしました。 このとき、板ラグを中に挟んで配線用の端子としました。

| ページトップ |

■ 使用部品表 ■

(主要部品: IC, トランジスタ等)

(データシート)
PICマイコン .................... PIC12F635
LCDモジュール .................... AQM0802A-RN-GBW

| 部品表 | Excel ファイル (FM_StereoRadio_parts.xls) | ページトップ |

■ 後書き (トラブル) ■

 本機のプリント基板に LCDモジュールを取り付けて、完成まであと一歩という頃、LCDモジュールの取り付けが確実に行われたかどうかを確認するために、テストプログラム(のようなもの)を走らせたところ、 LCDモジュールは何の反応も示さないではありませんか。 PICから送ったデータが LCDモジュールに表示がされないのです。

 PICから LCDモジュールを制御するための I 2 C のプログラムには、既に "ストップウオッチ II" の製作で経験済みなので、私としては自信がありました。 ンン ―― 、一体、これは? ・・・・・

 LCDモジュールに表示がされて当たり前 ―― のつもりでいたので、結構ショックでした。 これはもうハードを疑うほかはありません。 LCDモジュールの9本の足ピン回りを入念にチェックをしました。 ハンダ付けに不備はないか、何度も目視やテスターによる導通の確認など、徹底的にチェックをしました。 ―― それでも結果は同じで表示がされないのです。

 後は LCDモジュール自体の不良を疑うしか残っていません。 本機では "ストップウオッチ II" と同様に、LCDモジュールを特殊?な方法で、プリント基板に取り付けています。 したがって、LCDモジュール自体を取り替えるとなると、 結構大変な作業になりますが、他に残された道がないために実行を決心しました。

 旧 LCDモジュールの取り外しは慎重に行ったつもりでしたが、結果として壊してしまいました。 LCDモジュールの裏面と台座の木片とを、両面テープで接着をしていたのですが、これを剥がすときに LCDモジュールの一部に ヒビのようなものが入ってしまいました。 そして、新しい LCDモジュールに交換も済み、同じプログラムを走らせた結果は、何の問題もなく表示がされるのを確認できました。 これで、旧 LCDモジュールの不良が決定されたので、 取り外し時に壊してしまった失態は問題でなくなりました。

 しかし、旧 LCDモジュールの不良の原因は何なのか? 初期不良だったのか? それとも、取り付けるときの過程において、私が知らず内に壊してしまっていたのか? どちらなのかはわかりません。 初期不良というのも考え難いし、かといって、私が知らず内に壊してしまったというのも、結果として今までに3個の取り付けの経験上で、2個は問題なく動作をしています。

 このようなトラブルが起こることもあるため、プリント基板に LCDモジュールを取り付けるに当たって、私の取り付け方法に自信がない方は、本機のプリント基板ではスペース的な余裕もあるので、専用のピッチ変換基板を購入して、 それを用いた方が無難かもしれません。 (もしも、初期不良が原因であれば、どちらの方法でも同じですが。)

 次に、2つ目のトラブルについてです。

 ハードウエアが完成して、プログラムもほぼ完成した頃のことで、そのプログラムも選局や音量の変更( LCD の表示やスピーカーからの音声出力)などが特に問題なく実行をしているので、1時間ほどラジオ放送を聞いていました。 そして、プログラムも大したバグもなく、意外にあっさりとできてしまった、と思っていました。

 ところが、一旦、POWER スイッチを OFF にし、次に、再び ON にしたところ、スピーカーから音声がでないので、おかしいなと思って LCD の表示を見ていると、機能概要と使用法 のところで述べた、 [ FmStereo ][ Radio ] と [ Ver x.xx ][ by M.Y ] の2つの開始メッセージが、いつまでも交互に表示を繰り返していて、次のラジオ局名、周波数の表示 [ NHK FM ][ 82.5MHz ] へと進んで行きません。 本来は、この開始メッセージの表示の繰り返しは、2回だけの筈です。 ンン ―― 、一体、これは? ・・・・・  (2度目)

 しかし、一瞬はたじろぎましたが、すぐにピンとくるものがありました。 表立った症状は異なっていますが、以前にもこのような経験をしたことがあったことを思い出したのです。 POWER スイッチを一旦 OFF にした後に、十分な時間を置かずにすぐにまた ON にすると、プログラムが暴走をする、という事例です。

 丁度1年ほど前のことで、"ラーメン・タイマー II 2題" の開発をしていたときでした。 そのときの詳細は、そちらのページの "トラブルとの遭遇" で述べていますので、 参照をしてください。

 本機では、デジタルアンプモジュールのために、470μF という大きなコンデンサを入れてあるため、電源には合計 570μF( 100 + 470 ) が繋がっていて、これが悪(ワル)をしているのです。 そして、 "トラブルとの遭遇" でも述べたように、 その容量の大きさに対しての電源 OFF 直後の負荷電流が小さいために、電解コンデンサの残留電荷の放電が緩慢になってゼロにならない内に再び電源が ON になり、PIC 内の各レジスタ等のデータ状態が不安定なままで起動し直すため、と思われます。

 これに対して取った処置は先の例に倣って、コンフィギュレーションの設定でブラウンアウトリセット(BOR)の機能を ON にし、電源 OFF 直後に確実に PIC がリセットされるようにしました。 これによって上述のようなトラブルは起こらなくなりました。

| ページトップ |

■ 参考資料・サイト ■

59円チューナモジュールを使ったFMラジオ .......... http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/fr/index.html
Ren He FMラジオモジュール RDA5807M RRD-102V2.0 ステレオ DC 2.7-3.6V 5個 収納ボックス付き
EasyWordMall 超小型ステレオデジタルアンプボードモジュール(3W + 3W) PAM8403 2個 [並行輸入品]
RDA5807M データシート .......... http://www.datasheet.jp/pdf/808923/RDA5807M.html
PAM8403 データシート .......... https://www.alldatasheet.jp/datasheet-pdf/pdf/246505/PAM/PAM8403.html
AQM0802A-RN-GBW データシート .......... https://akizukidenshi.com/download/ds/xiamen/AQM0802.pdf

| ページトップ | ホーム |


Copyright (C) 2020-2023 やまもとみのる
初版:2020年10月6日、初公開:2020年10月6日、最終更新:2023年10月23日