おもちゃ、家電、もろもろの修理の足跡と備忘録

色々と忘れるので、趣味のメモ

気圧/温度/湿度測定のその後 AHT20とBMP280のコンボ素子に付け替えてみました

2023-05-30 17:41:07 | ESP8266DEVkitで遊ぶ
 気圧、温度、湿度の計測ですが、外においておいたら雨がかかってしまってBMP280がお隠れになりました、、、、。
 で、違う素子を買うとまたソフト書かないと行けないし、なにか良い方法は無いかな、と調べていたら、なんとaht20とbmp280 のコンボ基板が有ったのでポチりました。価格は単体価格で142円(送料がかかるので、2個買って453円、一つあたり227円)。
 前回買ったAHT20と以前使っていたAHT25はほぼソフトコンパチだ、という情報が有ったのでI2Cのアドレスを調べて、こちょこちょっといじったら動きました。素晴らしいです。
 やっぱり、こういうコンボものが売っているということは、気圧、気温、湿度の組み合わせで、かつ、そこそこの値段で使いたい人がいるっってことですね。でも計測してみるとどちらの素子にも入っている気温センサからの出力が微妙~に異なるのはご愛嬌です。

 それとあとは、湿度がある閾値より下がったら通知が来るようにしてみました。これは、ambientで受信した測定データを定期的にWSL2/Windows11の上で作ったアプリが読みにゆき、予め設定した湿度の閾値を下回ったらLine notifyを使ってスマホに通知が来るようにしたものです。pythonとshell script、cronを使ってちょこちょこっと作りました。洗濯物の取り込みが終わって装置を止めても閾値だけ見ているとアラームが出続けるので、前回差分を取って数値が同じだったら送信をスキップするようにしました。
 雨の日は、浴室で朝洗濯物を干して除湿機で乾かすわけですが、湿度が50%を切るとほぼほぼ乾いているので、乾いたものを取り込み、まだ湿気っているものを継続して乾かす、という感じでの運用?をしています。
洗濯物の量だったり、季節でやはり違うのですが、大体50%位からは湿度のカーブが変わるので、まぁ、そんなもんかと。(経験則、、)
上のグラフは、お昼休み明け?に覗きに行ったので、そのときにちょっと数値が上がっています。その後湿度が50%を切ったので、13:40以降Line notifyで通知された結果です。このあと測定器の電源を切ったのでスキップして14:40以降は止まっています。
 ESP8266でのお遊びはこれくらいで終結でしょうか。
上の写真の後ろに見えているのは、ESP32です。今後はこちらでと思っています。

超再生受信機

2023-05-28 10:50:28 | 無線

FM放送辺りの周波数用の超再生受信機を作っていました。(「nanoVNAの更改作業」から続いております、、)
 アマチュア無線通信士(もちろんそんな名前の資格はありませんが)からアマチュア無線技師になるため!?に前から無線(高周波)の回路はやってみたかったのですが、自作でコイルとか作っては見ても結局、計測器が無いので所望の周波数に合わせきることができずこれまで結構悶々としてきました。
 今回も懲りずにもう一回やってみっか、ということでおもちゃの病院のOMさんからお借りした本と、いくつか部品を持ってきてくれたのでそれで「超再生受信機」なるものを作って見ました。でも、ありあわせの部品で作るので、結局毎度おなじみの状態になります。しかし今回は違います。そう、おもちゃの病院のOMさんがGridDipMeter!まで持ってきて貸してくれたんです。

それで計測して共振周波数が低かったことがわかりましたので、コイルを巻き直したり、AM用のバリコンの容量を減らすために直列にコンデンサを繋いでみたり、、、、、。最後はなんとか電波の強い、AM補完放送の辺りを受信できるところまで持ってこれました。
 GridDipMeterは、既知の回路定数の共振回路で発振させて、測定相手の共振周波数を測る(言い方あってますかね、、)装置です。昔は当然真空管だったので、発振回路の真空管のGrid電流を計測することでそれを見つけるわけです。計測するものの共振周波数と合致すると、共振しているものにエネルギーを吸われ(あってますかね、、)て、電流計がDipする(ピコンと振れます)、それでGridDipMeterと言うようです。お借りしたGridDipMeterも真空管式(右側のつまみ隣のJackの穴から丁度ヒータが見えました)。シリアルの先頭二桁が多分製造年じゃないかと思うのですが、38とあるので昭和38年製でしょうか。(シリアルの後ろの桁は消してあります)HAMBAND DIP METERって書いてありますね。現在多分すでに新規販売はしていなくて、すでに絶滅種であると思われます。
 お返ししちゃうとできなくなるなぁ、今どきGridDipMeterも売ってないし、自分でなんとかできないかな、といろいろ考えて、nanoVNAでできんじゃない?というところにたどり着いて前回の記事になったわけです、、。

前置きが長くなりました。
用意したもの:
 今回作った回路は、「ラジオ&ワイヤレス回路の設計・制作」CQ出版、鈴木憲次さん著、というものから引っ張ってきました(この本もOMさんからの借り物です)。販売中の書籍なので、回路は省略します。
トランジスタは、高周波用のものがなかったので、手元にあった一番トランジション周波数が高いもの(といっても200MHz位のJankの古い2SC372Y)、ポリバリコンはこれまたOMさんに提供くださったAM用(後でわかったのですが、、)の2連、コイルも当初はOMさんがくださったものを使ったのですが、結局0.8mmのポリウレタン線で手巻きしました。増幅回路は手持ちの百均アンプに鰐口クリップで接続してヘッドホンで確認。
回路作成:
 手元にあったユニバーサル基板の端っこを使って作成しました。ベタアースにしないとだめかな、とか全然分からないので色々調べていたら、ブレッドボードでやっている人もいるようなので、まぁ、大丈夫かなと。
 適当に配線します。一応、グランド線は太くなるようにしました。
調整:
 最初作り上げたときは、GripDipMeter等の計測器もなかったので、後で計測してみたら60MHz近辺とあらぬ帯域でした。GridDipMeterやらnanoVNAやらで計測しながら80-120近辺になるようにコイル、バリコン予め調整をしました。(多分測定器が無いと本などに書いてあるそのままの部品で作ったとしてもなかなかうまくゆかないだろうなぁ、と思いました。まして手持ちの部品でやったので、、、、)
 で実際に受信。なんとか初めてR3?位(R:readability了解度、1~5)で受信することができました。でもポリバリコンの種類も全くわかっていませんでしたが、FM帯域用は通常20p位のものを使うようでしたが、頂いたものはAM用のポリバリコンだというのが後でわかって、AM用だと一桁大きい200pFとかのものだったらしく、受信調整範囲がとっても狭くて、、、(まぁ、容量から見るとそうでしょうねぇ、、)。
 ポリバリコンの容量の適正化?をするために、結局、ポリバリコンの2連の直列使い+47pFの直列、それに加えて周波数帯域が所望になるように4Tコイル(本記載は0.8mm、内径8mm、5Turn、12.5mm)にしてコイルの間隔を調整したりして、なんとか合わせ込めました。(計測器が無いと絶対にできない、、、)
 結局我が家ではFMの電波は弱いのですが、AMの補完放送(昔のアナログTVの帯域)はいくつか受信できました。
 クエンチングとバイアス用の可変抵抗は、これも結構調整が難しいです。クエンチングもそもそも音を聞いたこともないので、本当にクエンチングがおきているのかも半信半疑、バイアスもとりあえず中央にして始めましたが、周波数をポリバリコンで変えると、クエンチングしなくなったり、と合わせるたびに調整が必要な感じです。

写真は、91.6MHz(AM文化放送の再送信ですかね)を一番良く聞こえる状態(R5)に調整して電源OFF、その時の共振回路の共振周波数をnanoVNAで計測したものです。
画面中央値が91.6MHz、スパン(画面の幅、端から端)が50MHzです。ちょっと高い方にずれているように見えます。(97MHz位のようです)

OMさんにお借りしたGridDipMeterでも測ってみました。
GridDipMeterの上に付けた黒い棒(コイルです)を測定側のコイルに近づけて上の円盤を回すと電流計が上下しますが、共振点で「ピコン」と瞬間針が振れます。
この計測では、AのコイルがついているのでAを読みます。読みにくいですが、98MHzくらいでしょうか。(使う帯域ごとにGridDipMeterにコイルが全部で5種類入っていました)と、いうことで、概ね合っていることが確認できました。

結言:
 今回、共振周波数が計測できるGoodsを使えるようになって、作ったものの計測結果の見える化?!ができたので、ちょっと高周波?の敷居が下がったような気がします。また、R3~5と市販のラジオとは比べようもないPoorなものではありましたが、自分いたコイルで、放送が聞けたことに喜べました。
嬉しかったでーす。またやろ。

nanoVNAの更改作業

2023-05-20 11:49:33 | 無線


随分前に、nanoVNAを購入したのですが、FirmwareのUpdate作業をしました。
作業内容的には
1.電池電圧表示用にダイオードの追加
2.FirmwareのUpdate
です。

1.電池電圧表示用にダイオードの追加
 これまでに表示画面上に電池の残量が表示されないので、使っている途中で急に電源が落ちる、なんていうことがありました(大して使っていないけれど、、)。色々と調べていると、ダイオードの追加と新しいFirmwareの組み合わせだと電池残量がわかる仕組みがある、ということでやってみました。購入時に乗っていたFirmwareは随分古いものだったようで、ダイオードを追加しても表示されませんでした。


 個体によってコネクタでバッテリーが繋げてあるものと、直接ハンダ付けしてあるものがあるようです。私のものはコネクタ接続でした。ダイオードを追加する場所は、基板裏側の電源コネクタのすぐ下(ランドがコネクタで隠れてしまっている)です。当初電源コネクタを基板からはずしてやろうと思っていたのですが、どなたかのWEBでコネクタを外すのに相当苦労した(特にGND側はベタで基板につながっていたのではんだコテで熱しても放熱しちゃって、、、ということらしい)という記載があったので、ちょっと強引ではありますが、コネクタを上に曲げて空いたスペースではんだ付けしました。ですが、なんてことはない、このベース側の白いコネクタのプラスチック部分は、写真の下方向に抜けるので、コネクタがついているときには強引にコネクタを曲げなくてもこの白いプラスチックを外せすだけではんだ付けできるような気がします。また、はんだ付けする場所がベース側のコネクタの下で干渉するので私はコネクタの角の部分を削ったので、結局外さないとできないので最初から外してやるのが正解のような気がします。
 ダイオードの方向は、基板上に白い線が入っているので、極性を合わせます。(写真でいうと下向き)
これで完了。私はとりあえず手元にあったIN4148をありあわせでつけました。ショットキーが良い、というような記載もありましたが、よく調べていません。私に取っては、とりあえず、急に電源が落ちなければそれで良いですので。
上記は、後でFirmwareのUpdateのときに使ったので、載せておきますが古いFirmの場合は、これまた電源コネクタの下に隠れて見えませんが、P1と書かれた2つの端子のジャンパが必要です。ショートさせて電源投入、画面が白くなったら*(正常です)ジャンパを外す、という作業ですが、新しいFirmwareになるとメニューからこのモードに入ることができるので、「一度限り」の作業です。私は、ピンセットでショートさせて電源投入、で済ませました。
コネクタがかぶさっているので見えませんが、この端子は「BOOT0」という名称の端子のようです。
*:このモードをDFU (Device Firmware Update)モードと言うようです。

2.FirmwareのUpdate
FirmwareのUpdateは、Windows11からUSB経由で行いました。作業は次の通りです。
(1)FirmwareをPCにダウンロードする
(2)FirmwareをPCからnanoVNAへ書き込む
以下それぞれの説明です。

(1)Firmwareのダウンロード
”https://cho45.github.io/NanoVNA-manual/#ファームウェアの更新方法”
を参照のこと。
2023/5/20時点での最新は、0.8.0-20200620でした。随分Updateされていないので、よっぽどのこと無いとこれで打ち止めなのでしょうね。
nanovna-firmware-0.8.0.zip をダウンロードして、unzipしました。
(2)FirmwareをPCからnanoVNAへ書き込む
 WSL2が動いているのでubuntuで、と思いましたが、WSL2から素の状態ではPCのUSBが見えないので、設定が面倒だったのでWindows用のbinaryで行いました。
・デバイスドライバの設定
 Windowsで書き込む場合には、DFUモードのデバイスをUSBにつなげたときに自動インストールされるデバイスドライバでは利用できないということで、「Zadig」というアプリを使ってそれを回避します。
 まず、nanoVNAをDFUモードにします(P1をジャンパして電源On、その後ジャンパを外します)。nanoVNAの画面は真っ白になります(正常)。それからPCにUSBで接続します。
 Zadigを https://zadig.akeo.ie/ からダウンロードして起動、"STM32 BOOTLOADER" に対して "WinUSB" をドライバとして利用するように設定します。(詳細は参考文献参照)
・書き込み用ソフトウェアのdownloadとnanoVNAへの書き込み
https://dfu-util.sourceforge.net/releases/ の辺りから以下を持ってきます。
 dfu-util-0.9-win64.zip 2016-02-11 23:08 718K
Windows用のbinaryは随分古いものですが、Windows11でも動作しました。以下作業手順です。
  • zipを解凍します。
  • "dfu-util-0.9-win64" へ移動します。
  • "dfu-util.exe"があることを確認
  • 上記の状態のままで、以下の図のようにExplorerのUNCが記載されているとこに"cmd"と打ちます。そうするとそのフォルダでcmd.exeが起動します。ちなみにWSLが動いていれば、wslと入れるとbashが起動します、、。→結構このTIPSが使えます!
  • cmd.exeのウィンドウで"dfu-util.exe --version"とでも打って、意図したものであることを確認(上記の例だとversionが表示されます)
  • 続けて、"dfu-util.exe -d 0483:df11 -a 0 -s 0x08000000:leave -D ..\build\ch.bin" (-D以下は、半角スペースで区切った上で、上記でnanovna-firmware-0.8.0.zip をダウンロードしてunzipした中に"build"というフォルダがあるので、そこにある"ch.bin"への相対パスを記載します。上記の例だと、dfu-util.exeのあるフォルダを起点として、その一つ上のフォルダにあるbuildの下にch.binがあることになります)
これであとは転送完了を待って、USBケーブルを抜いておしまいです。電源を入れると、左上に"バッテリモニタ"が表示されていれば、ハンダ付けしたダイオードがうまく動いていることが確認できます。

番外:
 今回久しぶりにnanoVNAを引っ張り出してきたら、バッテリーが膨らんでいました。


多少基板に圧力がかかっているようですが、とりあえず動いているので今回はこのままにしておきました。

結言:
 無事、Updateできましたが、多分このhardでは今後Updateは無いと思いますので、最初で最後ですね、きっと。備忘録なので、なにかあったときの参考にします。
 今回なんでこんなことをしてのか、という話ですが、「超再生受信機」なるものを作っているのですが、自作したコイルとバリコンでの共振周波数が分からず、おもちゃの病院の先輩がGridDipMeterまで持ってきてくれて、測ってみたところ、随分共振周波数が低かったことがわかりました。今どきGridDipMeterも売ってないし、自分でなんとかできないかな、といろいろ考えて、nanoVNAでできんじゃない?というところにたどり着いたわけです、、。
超再生受信機については近々、忘れないうちに書きます。
↑nanoVNAで共振周波数を計測している図、、。計測用のOneTurnのコイルを共振計測するコイルに近づけています。

参考:
nanoVNAの日本語マニュアル:https://cho45.github.io/NanoVNA-manual/
nanoVNAのmenu treeが書かれているengerさんのホームページ:https://engineer-climb.com/nanovna-0/