エントリー

DSP FMモジュールの受信確認

NOAA受信チューナーを作製するため,評価として購入しておいたDSP FMモジュールの動作や受信性能を確認

FMモジュールは2つ

モジュール仕様

①LCD_FM_RX(DSPチップは不明)

IMG_20220417_133542.jpg

IMG_20220417_133529.jpg

  • コントローラーが載っているのでディスプレイ表示とボタン操作可能
  • シリアル接続でコマンド送出にて操作も可能(38400bps, N8)

コマンド

受信モード設定(76-108MHz):AT+CAMPUS=1
受信モード設定(87-108MHz):AT+CAMPUS=0
周波数指定:AT+FRE=892
周波数調整-0.1MHz:AT+FRED
周波数調整+0.1MHz:AT+FREU
保存した局番号を指定:AT+CH=01
前の局へ:AT+CHD
次の局へ:AT+CHU
自動選局:AT+SCAN
自動選局-:AT+SCAND
自動選局+:AT+SCANU
自動選局停止:AT+SCANSTOP
動作開始/一時停止:AT+PAUS
音量レベル指定(00-16):AT+VOL=16
音量-1:AT+VOLD
音量+1:AT+VOLU
バックライト点灯時間(秒、00:点灯しない、 01:常時点灯):AT+BANK=05
SNR/RSSI情報取得:AT+SNR_RSSI
工場出荷状態に戻る:AT+CR
設定前の状態に戻る:AT+RET

②RDA5807M

IMG_20220417_133645.jpg

  • I2C接続で操作
予備パーツ

ブレッドボードで使えるパーツも作製

(アンテナ接続用のSMA端子)

IMG_20220417_151027.jpg

(オーディオ出力用のミニプラグジャック)

IMG_20220417_151109.jpg

FM受信

①LCD_FM_RX

IMG_20220417_162112.jpg

SWの替わりに短絡線を利用して操作

IMG_20220417_175743.jpg

USBシリアルを接続してターミナルからコマンド送出して操作

コマンド行末はなく連続した文字列送出で機能する

ログ(エコーバックがないのでターミナルでローカルエコー

AT+CAMPUS=0CAMPUS_OFF
AT+FRE=875FRE=875
FRE=875
AT+CAMPUS=1CAMPUS_ON
AT+BANK=01BANK_ON
AT+BANK=05BANK=05s
AT+SCANSCAN
SCAN RETURN:
FRE=920
CH=01
CH_ALL=01
SCAN RETURN:
FRE=938
CH=02
CH_ALL=02
SCAN RETURN:
FRE=947
CH=03
CH_ALL=03
SCAN RETURN:
FRE=951
CH=04
CH_ALL=04
SCAN RETURN:
FRE=960
CH=05
CH_ALL=05
SCAN RETURN:
FRE=965
CH=06
CH_ALL=06
SCAN RETURN:
FRE=978
CH=07
CH_ALL=07
SCAN RETURN:
FRE=987
CH=08
CH_ALL=08
SCAN RETURN:
FRE=991
CH=09
CH_ALL=09
SCAN RETURN:
FRE=1000
CH=10
CH_ALL=10
SCAN OK
FRE=920
CH=01
CH_ALL=10
AT+SCANSCAN
SCAN RETURN:
FRE=870
CH=01
CH_ALL=01
AT+FRE=892FRE=892
FM mode
AT+FRE=9762FRE=976
AT+FRE=971FRE=971

音質は良好だが周波数が3桁しか指定できないのでNOAA受信は不可

②RDA5807M

IMG_20220417_151008.jpg

ピンが2mmピッチなので無理やり2.54ピッチに変換

上の写真の位置で左上が1番ピン

IMG_20220417_171234.jpg

3Vロジックなのだが電源だけ3.3Vにして(ミスって)5Vでピン接続

テスト用プログラムはこちらを利用

#include <Arduino.h>
#include <Wire.h>
#include <radio.h>
#include <RDA5807M.h>

#define FIX_BAND RADIO_BAND_FMWORLD //Radio Band (was RADIO_BAND_FM)
#define FIX_STATION 8920 //Station Tuned = 89.2 MHz.
#define FIX_VOLUME 5 //Audio Volume Level 5.

RDA5807M radio;

void setup() {
Serial.begin(9600);
Serial.println("FM Radio");
delay(200);

radio.init();
radio.debugEnable();

radio.setBandFrequency(FIX_BAND, FIX_STATION);
radio.setVolume(FIX_VOLUME);
radio.setMono(false);
radio.setMute(false);
}

void loop() {
char s[12];
radio.formatFrequency(s, sizeof(s));
Serial.print("Station:");
Serial.println(s);

Serial.print("Radio:");
radio.debugRadioInfo();

Serial.print("Audio:");
radio.debugAudioInfo();

delay(3000);
}

ログ

FM Radio
>setBand(2)
>-_saveRegister(0x3, 0x8)
>setFrequency(8920)
>-_saveRegister(0x2, 0xC009)
>-_saveRegister(0x3, 0x2118)
>-_saveRegister(0x5, 0x9081)
>-_saveRegister(0x5, 0x9085)
>setMono(0)
>-_saveRegister(0x2, 0xC009)
>-_saveRegister(0x2, 0xC009)
Station: 89.20 MHz
Radio: --- ----- MONO RSSI: 9 SNR: 0
Audio: ---- -------- ----
Station: 89.20 MHz
Radio: --- TUNED STEREO RSSI: 14 SNR: 0
Audio: ---- -------- ----
Station: 89.20 MHz
Radio: --- TUNED STEREO RSSI: 14 SNR: 0
Audio: ---- -------- ----
Station: 89.20 MHz
Radio: --- TUNED STEREO RSSI: 14 SNR: 0
Audio: ---- -------- ----

音質は良好で周波数指定が4桁なのでNOAA受信は実際に受信してみないと不明

(追加:2022.05.04)

LCD_FM_RXを使えるように基板に載せた

IMG_20220504_202954.jpg

このモジュールは直接周波数を合わせて選局するのではなく,周波数スキャンしてメモリー登録した局を選局するようになっている

尚,下記の回路図で作製したところ(動作確認から)「選局+」「選局ー」それぞれ「PIN6」「PIN7」になっているが逆と思われる

LCD_FM_RX.png

(追加:2022.05.14)

RDA5807Mを使い周波数をロータリーエンコーダで変更できるようにしてブレッドボードに展開

IMG_20220514_214752.jpg

これにクリコンを追加してNOAA受信を確認しようかと考えている

上手くいけばシリアルで外部コントロールできるようにして「WXtoImg」の対応チューナーに仕上げる予定

ページ移動

コメント

  • コメントはまだありません。

コメント登録

  • コメントを入力してください。
登録フォーム
名前
メールアドレス
URL
コメント
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed