2019年11月27日水曜日

久しぶりのDX情報:今朝のFT8-LowBand

毎朝、ワッチはしていますが、ここのところあまりコンディションも良くないみたいで、欲しいところも入感していませんでしたので、あまりニュースな話もありませんでした。
今朝は20Z位にZA/IK2RLMが40mで入感していました。何局かJAもやっていましたが、当局からは出来ず。 21ZくらいにはS92HPが80mで出ているようでしたが、此方では聞こえず。 もう少し時間がたてば聞こえてくるかな?と思いながら JTAlertをつけて、もうひと眠り。
「ピンポーン」でしたね。22Z近くから、-10dB前後で入感しており、早速呼んでみましたが、逆にRから呼ばれたりして、些か諦めモード。 でも、下へ行ったり、上へ行ったりして呼び続けて2202Zにやっと返ってきました。 「あれ?JTAlertが鳴っている!」 と思ってみてみると30mでFG5FIがUTを呼んでいる!信号も-17dB位で、出来そうな強さ。 で、呼んでみるも、なかなか返ってこない。 で、パナアダプターで30/40/80mを眺めていると、40mパナアダプターのoverlayに5H3UAが40mのCWで強く入っているを確認。「えい、こっちが先だ!」と思って5H3UAを呼んでいるうちに、FG5FIの30m/FT8が返ってきた。 慌てて30mのFG5FIとのQSOを完了。 それから、5H3UAを40m CWで呼び、2.5Khz up位のところでQSO。
3バンドダイポールは、飛びませんが、こういう時は面倒くさくなくて便利。


80~10mでやっとこさ、1900wkdになりました。年内には1900cfmdにしたいな~。

久しぶりに忙しい朝でした。

2019年11月24日日曜日

50Mhz MLA給電ループ(続きの続き)

給電ループの結合度により、スミスチャート上でどのような軌跡を描くのか興味があったので実験してみました。
メインループ上に重なるように置いた状態(結合が一番強い)で、大きな輪っかが、SWR1の点を含む状態で表示されました。 
それから、5cm程給電ループを下げてメインループから離すと、SWR1の点を含まない少し小さな輪っかが左上に移動して、出来上がりました。 従って、SWR最良点はこの間に存在すると思われます。

メインループから1cm程下げて、給電ループを左右に振れるようにして、今度はSWR最良点を、給電ループを左右に振って調整してみると、確かにSWRが1.0に限りなく近い点に持ってゆくことが出来ました(1.0091になりました)。ただし、非常に小さな動きでSWRが動くのと、人間が近寄った状態では変わってしまうので、微小な左右の動きをサポートするような遠隔駆動装置が必要となる、と思います。
gimpの練習に4枚ほどのスミスチャートを合成して、この間の動きを一枚にしてみました(赤い線は適当に、結合度を疎にした場合の動きを示すために引いてみただけなので、特段の規則性を示すものではなく、傾向を示すだけです)。

 結合度を疎にしてゆくと、赤い太線の右下から左上に向かって、所定周波数の給電点インピーダンスが移動してゆくようです。(今後の資料として)

全然別の感想として、このサイズの給電ループに何百Wも加えるのには、何かちょっと怖い感じがしますね。 もっとも、八木のガンママッチだって同じ話ですね。





2019年11月21日木曜日

50Mhz MLA 続き

先日のMLA48ミーティングでの匠のご指導に従い、メインループをλ/5に小さくして、給電ループを弄ってみました。
1)取り敢えずメインループを118cm長(37.5cmφ)にしてみる。給電ループは94cm(30cmφ)
お、確かに純抵抗ラインを跨いで輪っかになってます。 目標SWRは給電ループの結合度を弄ると調整できそうですが、ここではここまで。






2)メインループは118cm長として、給電ループを54cm長(17.1cmφ)としたら
 給電ループをメインループに近づけたり離したりすると、スミスチャート上の輪っかが、右下から左上に動いているように思われます。 離す(結合度を疎にする)と右下に下がっているように思われます。

気をよくして、更に給電ループを小さくしてみます。


3)メインループを118cm長として、給電ループを35cm(11cmφ)としたら
 メインループから2cm程離したところでも、純抵抗ラインを跨いでいるので、2cm程メインループから離したところで、給電ループのメインループに対する角度を調整すると、SWRのラインが1.0を通る様に調整することが出来ました。

これですね!
でも、給電ループの大きさの規則性については良くわかりません。

後は、ステッピングモーターの駆動部分のRFI処理の方法ですが、手持ちの技適認証取れてないESP8266を利用して、シールド筐体に入れた物をステッピングモーターの傍に置き、外部からは12V電源とup/downのスイッチだけにしてみることにします。 これであれば、MLA48のD-PATも使えるかもしれません。

JR1OAO中島氏が先日のミーティングで紹介していた給電ループの回転装置はスマートで、魅力的でした(使ってみたい)。

MLAは単体では効率も劣るので、場所があれば特に必要ありませんが、先日のミーティングで、JA5KVK小川さんが紹介していた空間多重伝送OAM(orbital angular momentum)にMLAを利用し、複数のMLAを位相給電して、ゲインと指向性を持たせる方法は、可能性を感じさせてくれます。  430Mhzでの小川さんのシミュレーションで8個のMLAへの位相給電でダイポール対比11dBという値が出ていましたが、ちょっと衝撃的







2019年11月18日月曜日

50Mhz MLAの給電ループは?

MLAの給電ループの調整方法がわからないので、昨日のMLA48ミーティングで、匠に聞いてみると、「給電ループを大きくすると、Smith Chartの輪っかが大きく、真ん中の線(純抵抗)を横切るようになる。 そもそも、MLAとしては、外側のループが大き過ぎてMLAじゃない。 λ/5以下にしてみたら」というご意見でしたので、取り敢えず、給電ループを大きくして、測定してみましたら、確かに。
50cmの給電ループを94cmの給電ループにすると、 スミスチャートの輪っかが大きくなり、純抵抗の所を横切るようになりました。 


今のところ191cmのループになっているので、70cm程ちょん切って、λ/5のMLAに仕立て直して、給電ループの調整をすることにします。

後はSWRを1近くに追い込む方法を勉強しなくては、、、。


ESP8266 温湿度モニターの筐体の検討

取り敢えず、100均でPPの小さな容器を買ってきて、これに断熱テープを張り付けて、内部に基板を入れて、窓際に置いて、数日間温湿度を計測してみました。 また、対照として、卓上にブレッドボード上に同じものを作り、これも計測データをサーバーに送らせて、比較してみました。

結果はOMG! 何を測っているのか分からなーい! 断熱テープで太陽光を遮っても、容器内に暖められた空気がこもり、この温度を測ってしまっていますね。 
太陽電池に太陽光を当てて、且つ周りの雰囲気温度を計測するのは思ったより難しそうです。 
今度は、100均で台所で使う少し大きめの網目のPP籠で実験してみることにします。  雨が当たらないように、配置を考える必要があります。 
電子的にはあまり問題はありませんが、筐体には結構頭を使わないといけませんね。これは難しい。





2019年11月13日水曜日

ESP8266 WiFi 温度湿度モニター

そもそも太陽電池、LiPo、充電モジュールを興味本位でAmazonで買ってしまったので、昔考えていたWiFi温度湿度モニターが復活してしまいました。 で、deepsleep(60分は出来なかったので、15分)を使ってこの組み合わせでどの位使えるのか、実証してみようと、100均でPPの容器を買ってきて、取り敢えずバージョンを作ってみました。
取り敢えずのブレッドボードでdeepSleepを確認してみましたが、30分程度にしかならない(60x60x1000x1000と引数に書くと、符号付と解釈される?)ので、15分毎にアップデートすることとしました(3,600,000,000って書くとちゃんと60分になるのかは未確認)。

> 数字を直接入れると60分位になることを確認しましたが、 3600000000を入れても、実際には11:50:21 - 12:45:50 = 55:29と正確ではありませんね。 
ま、esp8266のタイマーに精度を求めるのには無理があるので、もう少し細かい間隔で記録を取って、平均したほうが良いと思います


秋月の46X72の基盤を46X36に2分して、JRCのNJU7223DL1-33を電池からの電源に噛まして、47μFをパラにして安定化を図り、RSTとD0をショートピンでショート出来るようにしただけの超簡単基板ですが、まともに動きますねー。

さて、消費電流ですが、microUSBでPCと繋いでいると常時13mA位流れていますが、プログラムの書き込み後、自走させると、アップロード時に64mA、それ以外は0.01mA或いはそれ以下(使った電流計が0.01mA以下が読めなかった)で、アップロードは数秒で終わりますので、これだとかなり行けそうです。


「さー、これでいけるぞ!」とPPの容器に、断熱テープ(Amazonで購入した、ガラスウールとアルミのラミネート)を張り付け、容器の上に太陽電池、下は解放という形状にしてみました。 
断熱テープって、アルミなので電波シールドになっちゃうんじゃ?とESP8266の基板を取り付けた方は断熱材を剥がしています(こちら側に太陽光が当たらないように設置する必要があります)。 ケース内の取り付けは、両面テープでちょこっと張り付けただけの、超いい加減バージョン!

1週間ほど、室内の窓際に置いて、問題が無ければ、実際に庭に設置して計測を開始することにする予定。
あ、電源のon/offスイッチ付けるの忘れてる!!

使用しているコード














2019年11月10日日曜日

ESP8266 Arduino 続き)

アマゾンで”Aideepen 2個セット ESP8266 ESP-12F CH340G CH340 V2 3.3V USB WeMos D1 Mini WIFI開発ボードD1 Mini NodeMCU IOTボード”を購入しましたが、Serial Monitorがうまく動作しなくて、昨日から四苦八苦していましたが、やっと解決策を見つけました。 (これ、技適マーク無いので、WiFiは使っちゃダメです)。
「ツール」->「ボード」で、LOLIN WeMosがらみの物を指定すると、ちゃんと表示されるようになりました(もっとも、最初に表示されるゴミは相変わらずですが、、、。中国語のバナーかなんかかな?)。
 LOLIN WeMOS, WeMOSで4種類ありますが、取り敢えず、どれでも動いていますが、正しくはメモリの量などでちゃんと選ぶ必要があるのでしょう



早速、ブレッドボード上にDHT11を乗っけてWiFiで定期的に温度湿度を送信できるようにしてみました。 「わーお、なんて簡単なんでしょ。 プルアップ抵抗も何もいらず、あまりにも簡単」


スケッチは、以前作ったもののコピペで、、、。 消費電力を抑えるためにdeepsleep()を使って1時間毎に! ただし、以前deepsleep()では1時間は出来なかったように記憶していたので、ググってみたら、ココが出てきましたが、実際にやるとやはり60分を指定するとうまくゆかないので、30分にすることにしました。 何故60分が出来ないんだろう?

deepsleep()を利用するために、RSTとDPIO16(D0)を接続する必要がありますが、これ接続しておくと、スケッチの書き込みが出来なくなるので、スケッチの書き込みが終了した後にD0とRSTをショートさせる必要があります。

後は、来週以降PPかなんかの容器に入れて、太陽電池とリチウム電池の電源で実際にどの位の期間使えるのか、検証することにします。

 3-4年前に購入した素のESP8266-WROOM2が幾つかあるのですが、うまくプログラムの書き込みが出来なくて、このままでは廃棄かな? 今更メンドクサくなってしまいました。

参考にした記事; 
 WeMos D1 (ESP8266) を動かす
 Get started with Arduino[D1/D1 mini series] 
   ESP8266の真骨頂Deep-Sleepモードの使い方

   ESP-WROOM-02のDeep-sleepはどれだけ寝ていられるのか 



====== Sketch =======

/*
    This sketch establishes a TCP connection to a "quote of the day" service.
    It sends a "hello" message, and then prints received data.
*/

#include 
#include 

#ifndef STASSID
#define STASSID "XXXXXXXX"
#define STAPSK  "YYYYYYYYYYYYY"
#define IDENTIFIER "Garden Center"




//#define IDENTIFIER "Garden East"
//#define IDENTIFIER "Garden West"
#endif
#define DHTPIN 14
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

const char* ssid     = STASSID;
const char* password = STAPSK;
const char* Identifier = IDENTIFIER;

const char* host = "192.168.1.3";
const uint16_t port = 80;

void setup() {
  Serial.begin(115200);
  // We start by connecting to a WiFi network
  /* Explicitly set the ESP8266 to be a WiFi-client, otherwise, it by default,
     would try to act as both a client and an access-point and could cause
     network-issues with your other WiFi-devices on your WiFi-network. */
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  // dht to start
  dht.begin();
}

void loop() {
  // Serial.print("connecting to ");
  // Serial.print(host);
  // Serial.print(':');
  // Serial.println(port);

  // Use WiFiClient class to create TCP connections
  WiFiClient client;
  if (!client.connect(host, port)) {
    Serial.println("connection failed");
    delay(5000);
    return;
  }

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);
  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    delay(100);
    return;
  }
    // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C\t");
  //Serial.print(f);
  //Serial.print(" *F\t");
  Serial.print("; Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  // Serial.print(hif);
  // Serial.println(" *F");

  // WEB serverにデータをアップロードする。
  String url = "/weather/weather_log.php";
        url += "?location=" + String(Identifier); // ID to identify location
        url += "&temperature="+String(t);
        url += "&humidity=" +String(h);
  Serial.print("Requesting URL: ");
  Serial.println("GET "+url);
  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                "Host: " + host + "\r\n" +
                "Connection: close\r\n\r\n");
  delay(50); 
  // Read all the lines of the reply from server and print them to Serial
  Serial.println("Returned message from server: ");
  while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
  client.stop();
  // 30分deepsleepする。
  ESP.deepSleep(30*60*1000*1000, WAKE_RF_DEFAULT); // 60*1000*1000 = 1min, 30 min
  delay(1000); // execute once every 5 minutes, don't flood remote service
}
 







2019年11月9日土曜日

ESP8266 Arduino、、、、

太陽電池、リチウム電池、充電モジュールが手に入ったので、屋外で温度湿度をリポートしてくれるモジュールを作ってみたくなり、昔購入して余っていたESP8266を引っ張り出してきて実験してみましたが、色々と躓いています。
1)3~4年はこの世界では世界が違う!
左が新しいもの、右が昔のWROOM-02
スイッチサイエンスの昔のモジュールにスケッチを書き込もうとすると、エラーが出ます。 あ、Arduino IDEの設定が膨れ上がっていて、色々事前に設定することがあるようです。

 

2)ESP8266にも色々ある
  昔のESP8266って、裸でしたが、最近のは色々周辺がくっ付いていて、プログラム書き込みモードを手動でしなくても良い、Serial port(CH340)が付いていていきなりUSBが繋げる、など随分と進歩していますが、この分IDEの事前設定が必要なのですね。
取り敢えず、ESP8266関連の物が見えるようにする為に、ファイルー>環境設定ー>「追加のボードマネージャのURL」に"https://arduino.esp8266.com/stable/package_esp8266com_index.json"を入れて「ツール」のボードの選択肢にESP8266関連が出てくるようにし、更にボードの仕様に応じてReset等の細かい設定をすることが必要になっています。

3)Arduino IDEのシリアルモニターが文字化けしてうまく動かない!
  色々躓きながら、何とかスケッチの書き込みまでは出来るようになりましたが、シリアルモニタの出力が文字化けして、どうしても治りません! 転送スピードを弄ったら何とかなるかと、9600位まで落としてみましたが変化無し! 化け方が何とはなく、昔見たことがあるような気がするのですが(8bit,Non-parity,1 stop bitが違っている?)、弄るところもないので???

お手上げで、今日は店じまい。





参考にさせて頂いた記事; 
 WeMos D1(ESP8266)を動かす
 ESP-WROOM-02
 ESP-WROOM-02の開発キットを使ってみる




2019年11月6日水曜日

太陽電池、LiPo、、、、

昔、ESP8266で温度、湿度、気圧を測定して定期的に室内のWeb serverにデータを飛ばしてくるモジュールを作りましたが、電源の確保が心配だった(時折電池を取り替えなければならない?)ので、室内にぶら下げていますが、やはり屋外の温度等が測定してみた
い、とずっと思っていました。
時々?入ってくるAmazonのAdで小さな太陽電池や、リチウム電池の充電保護回路などが安く売られているので、ちょっと、意欲が湧いてきて、屋外の温度もWeb serverに取り込む物を再度作ってみようと、少し始めてみました。
取り敢えず、太陽電池と充電保護回路を繋いで室内の日の当たるところで、動作確認してみると、「おー、動く!」。 当たり前か。 
昔のBlog見ながら、温度湿度レポーターを作ることにしますが、もう4年ほど前の事なので、結構忘れていてSketchの見直しから! できれば、ついでに風速計も作ってみたいなー。

今回購入したもの;
 HiLetgo 10個セット 5V 1A 18650 リチウムバッテリー チャージボード Micro USB チャージモジュール プロテクト [並行輸入品] 

 NUZAMAS 4組 5V 30ma ソーラーパネル専門屋出品 超薄型軽量 携帯型 多結晶フレキシブル ソーラーパネル DIY モジュール 

 4個 リチウムイオンバッテリ、3.7V 1000mAhリチウムバッテリ、リチウム 充電式 充電池、保護ボードと絶縁テープ付き、ESP 32開発ボードと互換性あり、Micro JST 1.25


2019年11月4日月曜日

50Mhz でMLA実験

高耐圧のCばかり弄っていてもしようが無いので、取り敢えず50MhzのMLAを作ってみました。 このページのシミュレーションから、ループ径を62cm(全長194.7cm)とした8D-SFA-Liteにして、0.2mm厚のテフロンを10余回巻き付けた10φの銅パイプで2~15pFのコンデンサを借りにぶら下げて同調を取ってみて、同調が取れるのが確認できたので、ステップモーターとArduino Unoの駆動装置を取り付けて、ケースに入れてみました。
 「こんな長い入れ物は無いだろうなー」と思いながら100均見てたら、有りました! パスタのストッカーが手ごろなサイズでした。 で、恰好だけは整いましたが、給電ループの設計方法が分かりません。
「いいや、適当に、、、」という事で、いくつか作ってnoanoVNAでSWRやSmith Chartを見ているのですが、どうも未だに結論は出ていません。 今度、MLA48のミーティングで、誰かに聞いてみることにします。
試作してわかった事;
 1)Arduino Unoはシールドしてないと全く使い物にならない! 電波出したとたんに初期化(setup)に飛んで行ってしまう。
  このシールドをどうしようか、目下思案中。
 2)5Dの外皮で結合ループを作ってみましたが、その長さとSWRの関係は良くわかりませんでした。 ちょうどよい長さ(径?)見たいなものがありそうな感じではあるのですが、、、。 どうやって、追い込んでいったらよいのかが?? 先達にお伺いするしかなさそうだけれど、何かロジックがあるのだろうか?


 nanoVNA saverの表示(40~60Mhzのスイープ); 
59cm
54cm
49cm
46cm
43cm
59cm,54cm,49cm,46cm,43cm長の夫々のループでのデータ。 なんか50cm位のところが良さそうなので、最後は50cmの5Dでループを作り直して、45~55Mhzで測り直してみた物。
50cm


































アンテナ切り替えの自動化 (続き)

 調子よく動いていると思っていたら、インジケータのLEDが次々と点かなくなってゆく、、、。 不精して、出力端子(14Vのon/off)にLEDを直列抵抗と入れていたのですが、これではダメっぽい。 LEDが死んでいる。 では、という事でFETのスイッチを入れて、ゲート電圧で検出して...