エントリー

な!百葉箱の補修

台風2号が過ぎ去った後くらいに気圧センサー(BMP280)の異常が発生

稀に突然低くなるおかしい値を計測していたことはあったので交換が必要なのかと思ってはいた

SS20230607_001.png

BMP280通番15を11に交換

IMG_20230607_131546.jpg

ところが交換後.気温や湿度も計測できなくなり分解して調査したところ,ESP8266をはじめセンサー類のソケットのピン側に錆があり接触不良になっていたことが判明

この際,BMP280に問題があるかと11から13に交換(11は問題ないのを確認して後に使用)

BMP280交換の際ピンソケットを刺し直ししたのが災いしたようだ(普通実施するけどね)

ピンの錆を鑢で磨き,分解したので要所を水洗い,センサーのみだがピンの刺し部分をテープ養生し復旧

ArduinoIDEでFTDIチップでの書き込みエラー

たまたま秋月電子のArduinoキットのボードに都合のよいシールドが載っていたので回路を組んでスケッチを書き込もうとしたらエラーとなってしまった

(以下はAuduino Pro Miniのエラー画面だが同じ)

SS20230604_008.png

「avrdude: ser_open(): can't open device "\\.\COM8": ?A?N?Z?X??????????????B」

Windows10時に同じ現象となったことがあり記憶ではFT232RLドライバの問題で,FTDIの最新ドライバーでは通信は問題ないのだがArduinoIDEからのスケッチ書き込みはエラーになってしまう

対策としては古いドライバーにすればよくWindows11に新規にアップした際に最新のドライバーになってしまったようだ

そこで同じように古いドライバーにしたのだが結果は変わらず嵌ることになる

FT232RL使用ボード

FT232RL経由で書き込むボードが多いだけでなくフューズビットやブートローダー書き込み装置で使用しているため重要なので解決しないとならない

(秋月のキット)

IMG_20230604_121122.jpg

(ProMini 5V/3.3V版)

IMG_20230604_121151.jpg

(Uncompatino)

IMG_20230604_121220.jpg

ドライバの完全削除

Windowsの問題だといえるのだが簡単にドライバを削除することができない

削除したと思っていても一度セットアップされたドライバはほとんどがディスクにストックされプラグ&プレイによって復活してしまう

更に今ではディスク上になかったらネットからダウンロードして適用してしまうから困ったもんだ

いろいろやってみたが以下の方法で完全に削除することができた

①デバイスマネージャを開いて対象のデバイスのプロパティを開く

SS20230604_001.png

②デバイスのアンインストールを実行

SS20230604_002.png

③「このデバイスのドライバーを削除しようとしました」のチェックボックスをONしてアンインストールを実行

SS20230604_004.png

これで削除できれば良いが完全に削除されないことが多い

削除されたかどうかは再度プラグ&プレイで確認(ドライバの適用がディスクかネットか判断する必要はあるが完全削除なら適用されない)

④③を実行しないで「ドライバ別デバイス」を実行して削除する方が確実

SS20230604_005.png

⑤デバイスマネージャが以下のようになる

SS20230604_006.png

⑥対象デバイスの「.inf」を選択して「ドライバーの削除」を実行

SS20230604_007.png

⑦バージョン別に多くのドライバがあればプラグ&プレイで何度か繰り返すことで全部削除できる

結果とドライバ

完全解決ではないが回避はできるようにはなった

どうやらIDEの方にも問題がありそうで「arduino-2.1.0」では新旧どのドライバーでも書き込みエラーとなる

「arduino-1.8.13」だと1つ前のドライバで書き込み成功

SS20230604_009.png

ドライバ:https://ftdichip.com/drivers/vcp-drivers/

・2021/07/05 2.12.36.4(最新ドライバ)

不可

・2017/08/16 2.12.28.0(1つ前,DL可)

arduino-2.1.0は不可

arduino-1.8.13で書き込み成功

・2015/07/10 2.12.6.0 (更に1つ前)

arduino-2.1.0は不可

arduino-1.8.13で書き込み成功

情報

この件についてネットで検索しても不思議と出てこない

海外サイトで最新ドライバは問題あるとの情報はあったが対策はない

FTDIドライバを完全に削除する(FTClean)があった(https://www.hdl.co.jp/USB/ftcln/)→ 使用は自己責任で

不良品のAD9833は中華製あるあるだった

先日確認したところ出力が得られないため不良品としたAD9833モジュール

購入先のAmazonで不良が多いとのコメントがあり,その中に半田付けが粗いというコメントもあった

そこでチップ面をじっくり観察

IMG_20230603_170603.jpg

目視してもレンズを使っても見えないのでスマホのカメラで10倍撮影して確認してみるとピン間に半田の接触がありそうに観えた(ほんの僅かに下から突き出している)

試しにを軽く吸い取ってみる

IMG_20230603_202759.jpg

ピン間の半田は無くなったように観える

IMG_20230603_174036.jpg

再度モジュールの確認をしてみると

IMG_20230603_202438.jpg

出力できるようになったではないか!

さすが中華製

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

ユーティリティ

検索

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

新着コメント

Re:ATS-25を作製する
2025/03/23 from kazu
Re:ATS-25を作製する
2025/03/22 from admin
Re:ATS-25を作製する
2025/03/22 from kazu
Re:NOAA受信システム復旧
2025/03/20 from admin
Re:NOAA受信システム復旧
2025/03/16 from とおりすがり

過去ログ

Feed