ページ移動

エントリー

カテゴリー「通信」の検索結果は以下のとおりです。

中華無線機UV-K5(8)を購入しラジオとして使う

中華無線機は安価で気にはしていたが使えるものでもないので見送っていたのだが,ファームを書き換えて広帯域受信機化できるってのが決めてとなって購入

Aliexpressで11日(月)夜に注文したら16日(土)に到着という,最近は7日間で届くということを通常(昔は特別料金だった)で行ってるようで5日でちゃんと届いた(配達状況を見てみたら速注文後,速攻で出荷3日目には日本の税関を通っていたので驚き)→ もしかして例の新規中華モールの対抗?

また,これまでは毎日のように「もうすぐ届くよ」ってメールが来ていたのだけど,今回は1つのメールも来なかったのでもしかしてフィッシングに遭ったのかって疑ってしまった

IMG_20231216_193410.jpg

UV-K5はここのところ特売されてることが多いらしく拙者が注文したときは(送料なし)で¥2,386,そのまま使うことはできないのでファーム書き換えのための通信ケーブルが¥638(送料¥300込み)合計約¥3,000での購入

IMG_20231216_193523.jpg

通信ケーブルも以前は品薄だったけど現在では在庫も多くショップを探せばかなり安価に手に入れることも

IMG_20231216_193652.jpg

充電器のプラグは欧州向けなのを事前に知っていたのでダイソーの変換アダプタを調達しておいた(USBで充電可能なので必須ではない)→ この製品に記載されている内容はミスだと思えるのでプラグの形状を見て判断する事

IMG_20231216_193709.jpg

まずは付属のアンテナ,クリップ,ストラップを付けてみる

IMG_20231216_195659.jpg

一応電源が入ることを確認して,早速ファームを書き換える

https://weboo.dev/posts/uv-k5-firmware-rx-only/

にて日本語化までやってくれているし方法も全部書いてくれているのでありがたい

  • 通信ケーブルを奥まで差し込むとの注意書きがあるが,差し込みで引っ掛かるためのようなので(プラグの根本を良く見て浮いていないか確認して)力を込めて差し込む事
  • ブラウザでファーム書き換える際,USB接続画面が出るが画面で接続するポートを選択しないと先に進まないことに注意

IMG_20231216_201822.jpg

ファームを書き換えてFM愛媛を受信中,アンテナがあってないせいか室内では受信状態はよろしくはない

ソースも公開されているし自身でもファームを考えてみる楽しみもあるかな

(追加:2024.01.07)

SMA(メス)BNC変換コネクタを購入(中華発送のため日数は掛かった)

IMG_20240106_200056.jpg

これがぴったりなのは良し

IMG_20240106_200001.jpg

NOAAサーバダウン

本日11:30頃にNOAAの受信画像が更新されていないことからNOAAサーバが異常であることを認知

電源管理の情報を参照すると

Screenshot_20231214-114009.png

これは・・・まずいことにバッテリ切れ

確かに数日の天候は良くなかったけど見積りでは満充電からなら1週間は十分に持つ計算,そして100Wの太陽電池で1日快晴なら満充電だと思っていたが何かの計算ミスか

またはバッテリ異常・・・だと大損害となる

過去1週間の日照は

Screenshot_20231214-120602.png

悪いのは3日で連続は2日間だけなので酷いとはいえないが夏場だと日照が10,000を超えているので冬季は厳しいのか(これは再確認することに)

とりあえずはバッテリ異常でないことを祈り復旧させる

復旧前に太陽電池,バッテリの電圧確認と充電装置の確認は良し

直接の原因はリポバッテリ切れで電圧が低下し保護回路が働き電源断で電源管理ボードがダウンしNOAAサーバへの電源供給が無くなったことによる

なので,まずは電源管理ボードを復旧させNOAAサーバの起動を確認

電源切れが発生した時刻,NOAAサーバは稼働時間外でスリープ状態だったため影響なし,本日分のNOAA受信を初期化して完了

Screenshot_20231214-193951.png

回復後のバッテリ状態を確認すると,先日の日照で充電されているようで暫くは持ちそうだ(ちょっと低下具合が大きいが・・・)

今回の件でいろんな問題点が判明したので改良を検討しなければならない

検討事項

  • 冬季日照による充電量対策
  • リポバッテリの容量確認
  • バッテリ切れ前の事前対策と通報システム,自動復旧
  • 電源管理ボードの電源分離
  • ケース内の結露対策(今回の点検で判明)→ ここのところ最高最低の気温差が10℃以上あるのが問題

突然の問題発生で対策が厄介だがリポバッテリが切れる前の電圧特性が得られたのは良かった

(2023.12.16 追記)

バッテリーは問題ないようだ

この2日間まともに晴れていない(衛星写真では確認できないがこの辺りはずーと曇り)のに充電はできているので電圧低下の原因が判らない

Si4732レシーバー(ATS-20+)のファーム改造

前回ファームを(現時点で)最新のV3.0.8に更新したが操作性が自分に合わないので改造

改造のポイントとしては日本向けの実用的な受信機にすることにして実験用の多機能受信機は別途

画面

IMG_20230531_204106.jpg

基本操作になるが,ロータリーエンコーダを回すと周波数が変わり,ロータリーエンコーダを押すと周波数の変更桁を変えることができる様にした

機能別操作
機能 ボタン V3.0.8の操作 改造後の操作 備考
周波数変更   ロータリーエンコーダの回転で周波数ステップ分の周波数が上下,サブ時はサブ周波数の上下 ロータリーエンコーダの回転で設定桁の周波数が上下  
周波数ステップ STEP ボタン押下,ロータリーエンコーダの回転で周波数ステップ変更(1/5/9/10/50/100kHz),サブ時はサブ周波数ステップ変更 ロータリーエンコーダのスイッチを押下,回転して周波数の変更桁を設定,再度押下か操作なしで(自動)解除

SW時のみで,MWは9kHz,FMは0.1MHz固定

AGC/アッテネータ AGC ボタン押下,ロータリーエンコーダの回転で変更(AT0/AGC/AT1-36) 変更なし 選択肢が多いので変更なしとした
バンド切替 BAND+ ボタン押下,ロータリーエンコーダの回転でバンド変更 ボタン押下でバンドアップ 前回更新した日本向けバンドと同じ
Soft Mute control BAND- ボタン押下,ロータリーエンコーダの回転で変更 ボタン押下でバンドダウン 機能は未対応
音量 VOL+ ボタン押下,ロータリーエンコーダの回転で音量を調整,長押しで連続可変 ボタン押下で音量アップ,長押しで連続可変  
Automatic Volume Control VOL- ボタン押下,ロータリーエンコーダの回転で変更,長押しで音量ダウン連続可変 ボタン押下で音量ダウン,長押しで連続可変 変更は未対応だが機能はON
帯域変更 BW ボタン押下,ロータリーエンコーダの回転で変更 ボタン押下で順に帯域変更 受信モードで設定帯域が異なる
受信モード MODE ボタン押下,ロータリーエンコーダの回転で変更(AM/LSB/USB) ボタン押下で順にモード変更(AM/LSB/USB) WMはAM,FMバンドはFMのみ
周波数SCAN Rotry ロータリーエンコーダのスイッチでSCAN開始/停止,SCAN周波数の方向は事前のロータリーエンコーダ操作に準じる STEPボタンでSCAN開始/停止,SCAN周波数の方向は事前のロータリーエンコーダ操作に準じる 周波数SCANは周波数変更でも停止
サブ周波数切替 Rotry 受信モードがSSB時(LSB/USB)ロータリーエンコーダのスイッチのトグルで切替 なし(SSBで自動的に使用) STS-20ではBFOのON/OFF
消音 Rotry ロータリーエンコーダのスイッチを長押しでトグル 変更なし  
  • 機能別にボタン押下してロータリーエンコーダで変更が面倒(操作の一貫性はあるが良く使う機能は簡単に操作したい)
  • ロータリーエンコーダのみで周波数変更可能(周波数合わせを重視した操作性)
  • 機能ボタン押下,ロータリーエンコーダの回転による操作は2~3秒操作なしで自動解除(V3.0.8では10秒)
バンド別画面

(MW画面)

IMG_20230531_204009.jpg

(FM画面)

IMG_20230531_203945.jpg

(SW画面(AM))

IMG_20230531_204036.jpg

周波数変更桁の変更

ロータリーエンコーダのスイッチ押下で桁マーク設定時表示が出るのでロータリーエンコーダを回転させ左右に周波数変更桁マークを移動(100kHz~1Hz)

IMG_20230531_204121.jpg

ロータリーエンコーダのスイッチ押下または2~3秒操作なしで桁マーク設定時表示が消える

AGC/アッテネータ

AGCボタンを押下するとAGC/アッテネータ表示部がリバース表示(V3.0.8と同じ)

IMG_20230531_204201.jpg

機能の操作

機能ボタン通りに変更(V1.1.5と同じ)

Sメーター

Sメータの基準でS9を指す状態は30MHz以下の場合コネクタへの入力電圧は100μV,アンテナ端子の入力インピーダンス50Ωとして終端時の電圧は50μVとのこと

ライブラリの値は「0-127 (dBμV)」と記載されていた(μVと思って良いのかな)→ dBなので0-127で良いのでした勘違いしていた

50でS9になるようにしてみた(rssi * 9 / 50)

S9オーバーは+dB10/+dB20/+dB30と示されるが現状は未対応

当初は表示バーをスペースのリバースで表現していたが無信号(S0)状態だと何だか判らないので目印的に文字を表示した(グラフィック表示は処理性能的に最初からやる気なし)

正式な定義ではないがS1毎に+6dBが一般的でS9オーバーはdBμVの場合+20,+40,+60となる(Vの場合は20log,Wは10log)

スプラッシュ

改造版かどうか判断できなくなるので起動時のスプラッシュが「V3.0.8-By PU2CLR」の表示の後「Update Edition X」と変わる

「X」は「A」から始まる版数としている

IMG_20230531_204331.jpgIMG_20230531_204312.jpg

スケッチ

更新は以下の1ファイルのみで,V3.0.8のスケッチに入れ替えてコンパイル

SI473X_ALL_IN_ONE_OLED_RDS_CHINESE_V8.ino(UTF-8N, LF, TAB4)

自分が見易いようにコーディングスタイルを変更(全部ではない)しているが冗長など削除していないので判りにくい部分もあるかも

不具合修正や更に改造したら連絡もらえると幸い,予告なく更新することがあるので了承を

注意事項

kHzより上をメイン周波数(もしくは単に周波数),下をサブ周波数(もしくは単にサブ)と記載

ATA-20の取説やスケッチでは「BFO」と記載されているが厳密には「BFO」ではないのでサブ周波数とした(BFOはSSBを復調するためのキャリア生成器でデジタルでは使用しない)

メイン周波数の変更時は一時的に受信周波数なしになるためか「ザー」と音がする(SDRでも発生することだが周波数値を変更する際のArduino・Si4732間の通信時間が関係するのかと思われる)

周波数を連続的に扱うためサブ周波数を「0 - 999Hz」で使用し1kHz超で基準周波数をアップ(逆はマイナス時にダウン)するように対応したところ1kHzの切れ目で周波数が連続しないことに気付く

どうやら周波数のズレがあるのだろうと思われるが厳密に調査はしていない(例えばVFOで調べてはいない)

※)基準周波数が7101kHzと基準周波数7100kHz+サブ(+1000Hz)は同じ(周波数を受信)ではないということ

影響するのはSWL(アマチュア無線局の受信)のみで,通常はkHz単位の使用すると想定し(-500 - +500Hz)で切り替えるようにした

同様に500Hz単位でも連続しないようだ

上記の対応変更によりSSBからAMに切り替えた際に1kHzの間引きが発生する場合がある

また周波数の終了指定端で問題あるかも(未確認および対応しない)

Sメーター対応は上記(S9オーバーは未対応)

LWバンドはなし

RDSは対応未

Automatic Volume Control は設定変更は未対応だがSSBなどの音量が少ないので機能はONにしている

ロータリーエンコーダの回転方向が当方の基板の場合のみか逆になっていたので回転方向の判定を修正している(648~696行あたり)

// Use Rotary.h and Rotary.cpp implementation to process encoder via interrupt
void rotaryEncoder()
{
// rotary encoder events
uint8_t encoderStatus = encoder.process();
if(encoderStatus) {
if(encoderStatus == DIR_CCW) { //was DIR_CW
encoderCount = 1;
} else {
encoderCount = -1;
}
}
}

FMで周波数SCANを途中で終了させると,稀に変更できない(SCAN単位である)10kHz位置で止まることがある(最後に補正しているのに)

周波数SCANはMW:9kHz, SW:1kHz, FM:10kHzの固定

拙者は縦横が基板と同じの最小サイズで厚みは30㎜の筐体で使用中

IMG_20230602_104011.jpg

Si4732レシーバー(ATS-20+)のファーム更新

Si4732レシーバーキット(ATS-20+の名称で製品がある)のファームを更新した

更新している方が多くいるためか参考サイトは沢山ある(YouTubeにもあった)

購入時のファームウェアバージョンはV1.1.5

IMG_20230526_095541.jpg

Arduinoの開発環境はあるのでファームのスケッチをDL(こちら

DLしたZIPファイルをIDEで展開する方法もあるが,バンド設定など変更したい部分もあるのでスケッチを手動で取り出す

現状の最新スケッチは「展開したフォルダー¥SI4735-master\examples\SI47XX_KITS\AliExpress\SI473X_ALL_IN_ONE_OLED_RDS_CHINESE_V8」

SS20230526_001.png

IDEでボードは「Arduino Nano」を選択

SS20230526_006.png

プロセッサは「ATmega328P(Old Bootloader)」を選択

SS20230526_007.png

新たに必要となったライブラリは3つ

コンパイルすればエラーになるので対象をライブラリマネージャーで検索してインストール

  • SI4735

SS20230526_002.png

  • Tiny4kOLED
  • TinyOLED-Fonts

SS20230526_003.png

コンパイルするとコードが29344bytes,データが1448bytesというギリギリサイズ

SS20230526_004.png

ファームをArduinoNano書き込んで再起動

IMG_20230526_103224.jpg

V3.0.8になったことを確認しEEPROMをクリアするためロータリーエンコーダのボタンを押しながら再度電源ON

IMG_20230526_103445.jpg

画面の表示構成が変わった

(旧:V1.1.5)

IMG_20230526_095549.jpg

(新:V3.0.8)

IMG_20230526_103204.jpg

各設定もボタン押下によりダイレクトに変更されるのではなく,ボタンを押して変更モードにしてロータリーエンコーダを回すという感じとなった

個別対応

ファームに手を加え自分の趣味に合うよう変更

今日スケッチを観たところなんで簡単にできるところから対応する

  • バンドが多すぎるので日本向けに変更(下記表)
  • 周波数変更のステップを修正 → 5kHzと50kHzを削除
  • 周波数表示の「,」カンマと「.」ピリオドを変更 → FMの「,」は「.」に修正,WM,SWの「kHz」のカンマは無し
  • ボタンを押して変更モードが扱いにくい → 10秒ほどで自動解除されているのを2~3秒にした
  • 再表示が多いので変更のない再表示を止めた → 最適化により画面の乱れが軽減し(OLEDへの描画は遅いので)ロータリーエンコーダの操作性も向上

(バンド)

バンド名 開始周波数(kHz) 終了周波数(kHz) デフォルト周波数(kHz) バンド(m)
WM 531 1602 1000 MW for JAPAN
SW1 3500 6300 3798 75~49
SW2 7000 7600 7100 41
SW3 9200 10500 10000 31~30
SW4 11600 15800 14175 25~19
SW5 17400 19100 18118 16~15
SW6 21000 26100 21225 13
SW7 26900 30000 28850 11(CB)~10
FM 76.1MHz 94.9MHz 90MHz FM WIDE

(周波数表示)

IMG_20230527_145830.jpg

IMG_20230527_150030.jpg

(操作性)

ボタンを押下してロータリーエンコーダを回すのは使いにくいので全面的に変更を検討

ロータリーエンコーダはカウント数の多い物に変更しないと操作改善は困難(マウスと同じ)

(その他)

Sメーターがいまいちなので改造したい

 

ページ移動

ユーティリティ

検索

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

過去ログ

Feed