ブログを検索

2022/11/30

LoRa 端末 LRA1 でレピータ計画 その2

 IOT用のソーラー電源の実験結果をつらつら追記していきます。あとで別のカタチでまとめようと思います。

ソーラーパネルとスーパーキャパシタの電源単体で太陽の光にあてて11月末の秋田県で12時から3時間充電しました。おそらく満充電まで行っていないと思われます

充電前の電圧を測り忘れましたが充電後5.23Vになったので無負荷で自己放電していく様子を観察してみます

■0.2F 5.5Vスーパーキャパシタ仕様
11/28 朝7時の積雪0cm 12時~15時くらいまで晴れていたので屋外の地面に平置きで充電。その後室温約5~10度の部屋にうつ伏せで保管
11/28 19時 5.23V
11/29  7時 4.90V
11/29 19時 4.73V
■24時間で 0.5V くらい降下してます
11/30  7時 4.45V
11/30 19時 4.29V
■24時間で0.44V降下ん?電圧が下がる速度が鈍ってきた!? 
12/1     7時 4.14V
12/1   19時 4.02V
■24時間で 0.27V 降下
12/2   積雪17cm   7時 3.93V
12/2    19時 3.84V
■24時間で 0.18V 降下
12/3   積雪17cm  7時 3.75V
12/3    19時 3.67V
■24時間で 0.17V 降下
12/4    積雪0cm 7時 3.53V
以上で0.2F 5.5Vスーパーキャパシタ仕様の実験終了

この電源で 昇降圧DC/DCコンバータを使って 3.3V に変換してLRA1を動かそうと思っています。
使用予定のDCDCコンバータは電圧が2.5Vに下がるまで使えることになっているので7日間は動作可能な電圧を維持できるかも
そう考えると踏ん張っていると思います。無負荷ですけどね

氷点下ではどうなんだろうかと思い、
秋月電子で購入したのは VINATech社 VEC5R4505QG-H のようでデータシートを探してみましたが温度特性を見つけることが出来ませんでした。
ただ一般的にはスーパーキャパシタの1F以上の容量のものは耐寒性能が良いとの記述をDigi-Keyサイトで読みました。

スーパーキャパシタの放電時間(運転可能時間)の計算式を同じくDigi-Keyサイトで見つけました。
t(sec) = C(F) * ( (Vmax - Vmin) / Imax)

t(sec) = スーパーキャパシタが回路に電力を十分供給できる時間(秒単位)
C(F)   = 静電容量(ファラド単位)
Vmax   = 放電初期時間のコンデンサの電圧
Vmin   = コンデンサが回路への給電に不十分になる前に放電できる最小電圧
Imax   = 回路の最大(最悪ケース)電流消費(アンペア単位)

とのことなのでこれを今回の LRA1 レピータシステムにあてはめると
1115sec ≒ 5F * ( (5.4V - 2.5V) / 0.013A)
↑ LRA1が全力で送信し続けたと仮定して0.013A。受信時は 0.010A

1115秒 ≒ 18.5分だからなんか勝手に想像していたのと桁が違う 汗

391sec ≒ 5F * ( (5.4V - 2.5V) / 0.037A)
↑ LRA1が全力で送信し続けたと仮定して0.037A。受信時は 0.013A

391秒 ≒ 6.5分

無知なので1~2時間くらい動かせると想像してました 笑

ということでたとえば3時間動かしたいのであれば49Fくらいの容量が必要そうです
こんなのを4個使えばいいのかも → 電気二重層コンデンサー50F2.7V
2160円 = 540円 * 4個
結構なお値段です

これなら6時間駆動 → 電気二重層コンデンサー100F2.7V
3520円 = 880円 * 4個
高いから無理
でもこの容量で重さが80g(20g * 4個)なのは魅力があります
ワタクシのペイロード数百グラムのヘナチョコドローンでも安心です

冬のボーナスが出るまで資金がないのでまずは 5Fの容量でスーパーキャパシタがどんなものかテストしていきます

2022/12/4 積雪0cm 10:00 5F 5.4Vのスーパーキャパシタに乗せ変えました
みぞれが降る中、2階屋内東向きの窓際に放置

■5F 5.4Vスーパーキャパシタ仕様
12/4 10時 35mV これが充電前電圧
12/4 16時 1.11V 
いくらか充電されてるびっくり!太陽がどこか分からないみぞれの日なのに
一時間あたり0.179V( (1.11-0.035) / 6時間 ) 電圧が上昇
屋外で早朝から日没までだともう少し充電されるかも
空充電からのスタートの場合、日が差さない日が数日続いても2~3日で最低ラインの2.5Vに到達できるかもしれない
満充電で運用を開始した場合2.5Vまで下がったら運用は終わってそこから継ぎ足し充電なので晴れの日が来るまで途切れ途切れで運用が続くのかも
なるほどこうなるとカットオフ電圧監視機能付きのモデルがいいのかもしれないな

ちなみに夕方外が真っ暗になった後
12/4 17時 0.91V と電圧が下がって来た
1時間で0.2V低下。24時間だと4.8V低下かも?
こうなると見通しは若干暗めになって自己放電による運用時間の再計算が必要そう
まずは満充電にして自己放電の様子を見たいけど、よごでのこの季節にまとまった日照は期待できない・・・
実験を進めるために手っ取り早く安定化電源で充電しようかな

12/5 11時 アマゾンで 2.7V500Fを2個使った 5.4V250F のスーパーキャパシタモジュール(バランス回路付) を2つ注文しました。お値段 4,958円(2,479円×2) でした。耐久性やら容量とか耐圧の数字の信憑性はかなり怪しいものの 250Fでこのお値段はちょっと実験用途だと魅力的。深セン市からの発送のようで年内に届くか微妙みたいです。まあ製品自体微妙というか怪しいですが・・・
縦73mm 横65mm 厚さ36mm 重さ157g これが2個なので大きいが重さは2個合計314g

2個並べて置くと置き方によって
1. 縦73mm 横65mm 厚さ72mm (約7センチ角のキューブ状)
2. 縦73mm 横130mm 厚さ36mm (横長)
3. 縦146mm 横65mm 厚さ36mm (縦長)
というバリエーションになるが、構造からするとアタマを上にしたほうが良さそうなので 1 が良いのかもしれないと思ったが雪が積もりやすいので上の面積が少なくなるよう 3にする
あとノイズ発生源になると思うのでシールドした上で LRA1 とは距離をおいて下に付ける。
下記、簡易図解(横から見た図)

 |
□ LRA1+アンテナ
 |
 |
 |
 |
 |
□ ソーラーパネル+スーパーキャパシタ

12/5 19時 4.15V 測った瞬間びっくりした!朝 0.91V の状態で東の窓際に無造作に置いた。今日は小雪混じりの曇だった。気温0度から2度のち0度
要は太陽が出ていなくてもとにかく日中だったらどっち向きの方角に置いてもそこそこ発電/充電するってことか!?なんだこりゃ面白いなあ

なんか自己放電量とか消費電流の削減はもちろん大事で実験しなければならないけどそんな細かいことはどうでもいいみたいなダイナミックな動作の予感がしてきた 笑
もしかするとキャパシタの種類というか型番によるところがあるのかもしれないと思いつつ本番用のアマゾンで買ったやつの到着を待ちながら5F 5.4Vで実験を継続しよう

どうやらスーパーキャパシタの使用開始時には「慣らし」が必要らしい
低電圧でゆっくり充電。放電したらちょっと電圧あげて充電・・・の繰り返しらしい。
そうすることで充放電の特性が安定するとのこと。安定するといっても良いほうに安定するかは別の話のようで悪いほうに安定するかも。本番用は中国製だし

12/6 アマゾンで買った 5.4V250F キャパシタが深セン市から発送されたと通知が来ていた。
12/6 7時 昨日と同様、東側の窓際に放置。7時時点では薄日が差していた。
「慣らし」のため数日かけて充放電を繰り返そうと思う
まあ何度も「観察」していればそれが「慣らし」になるんだろうとは思います
早く充放電を安定させるために週末に安定化電源で慣らし充電してみようかな

12/6 15時 昼まで使えていたケータイ(iPhone)がバッテリー0%表示になって充電出来なくなった。もちろん電源は入らない。昼はバッテリー100%だったのに・・・代替えのケータイを注文したが到着予定が分からずいつから使えるのか不明
ぜんぜん関係ないはずなんだけどまさかこのトラブルは今やってるバッテリーの充放電の実験が影響しているのか!?って疑うタイミングだ。
幸いdocomoメールだけは自宅PC限定だがSMS認証無しで使えて助かった

ただいま5F 5.4Vキャパシタで実験継続中・・・
12/6 19時  3.40V 経緯不明だけど自己放電?まだ安定していないのかも。でも十分使える電圧だ。薄日が差したのは朝30分くらいで本日くもりのち雪だった
12/7 7時 東側の窓際に放置。きょうは曇りのち雨の予報
12/7 10:30 SPI-2328V-020F 2つ注文した 2.8Vで出力ON 2.3Vで出力OFFのやつ
12/7 8時ちょうど気球DO3GU-9が青森県深浦沖でビーコンを出しながら東へ移動しているのに気づいた。TUS-10 もずっと受信していたが上位サーバに記録されたのは距離205Km地点の受信分だけだった
12/7 19時  3.86V きょうは曇りのち雨だった
12/8 16時  新しいケータイ(iPhone)が届いた
12/8 19時  4.72V きょうは曇りときどき雨だった
12/9 19時  4.82V きょうは曇りときどき晴れだったが昼からときどき晴れだったので東の窓際に置いてるソーラーパネルに恩恵は少なかったんだろうな
12/10 19時  4.79V きょうは曇りときどき雨だった
12/11 19時  5.13V きょうも曇りときどき雨だった

■ひとつ参考値が出たのでメモ
充電にかかる時間は t = C × V ÷ I だそうなので
250F 5.4V のスーパーキャパシタを 300mW 5.5V のソーラーパネルで充電した場合、
25000sec (416min ≒ 6.94hour) = 250F * 5.5V / 0.055A
となるっぽい
キャパシタは2組(2個一組を2組)使うから2倍の14時間近くかかるかも
これは晴天に充電0 から開始した場合
発電の 0.055A のうち LRA1 が 0.013A食うからもっとかかる

極小ソーラーパネルなのでそんなものかも
実際の運用は継ぎ足し運転だろうから天気が悪いと徐々に電圧が下がっていって2.5~2.3Vで停止するんだろう。その後天気次第で時々動いては止まるの繰り返しかな
これは深夜の省エネ運転機能が必須と確定。出来るだけ部品を増やしたくないけどリアルタイムクロックの RTCが必要だなということで秋月電子の RTC8564 を検討中

12/12 19時  5.11V きょうは曇りだった

そういえば超高高度のAPRSビーコンを出す気球は電源をどうしてるんだろう?
あれこそいろんな意味で軽い発電してるんじゃなかろか
日本ではやってないから海外情報だな
キーワード「High altitude balloon APRS solar」と入れて調べてみると複数のチームが同じソーラーパネルを採用している(いた!?)ようだ

説明によると
PowerFilm の 240mW 太陽電池 MPT4.8-75 2つ。これらの 2つのパネルは、地元の正午に最大の電力を得るためにまっすぐ上に傾けられます。バッテリがないため、6ボルトで 2.5ファラッドの容量を持つ 2つのウルトラキャパシタを使用して、送信機の動作中にエネルギーを蓄えます」
だそうです
ソーラーパネルのサイズは 94 x 73 (mm) で重量 1.98g すごく軽い!!
なんと日本のマルツで扱っていたが(お値段 1,842円くらい)ワタクシにはオーバースペックなので購入は見送った

12/13 19時  5.12V きょうは曇りときどき雨のち完全な雨
12/14 積雪0cm 19時  5.01V きょうは雨雪のち吹雪

すごいものを発見した!
補足説明のようなのが作者のブログにあった
当然技適は通してないけどほしい~
ダミーロードつけて自宅内で遊んでみたい

配送方法をチェックしたら南アフリカのショップだよ・・・勇気がいるな 笑

12/15 積雪11cm 19時  4.92V きょうは大雪

12/16 積雪48cm 10時 南アフリカのショップ Giga Technology さんに質問してみました
1.日本へ発送できる?
2.ラズパイ2m送信の商品は再入荷する?
ただいま返信待ち
12/16 15時 返事が来た。
日本に発送可能。何個欲しい?住所くれればDHLの送料見積もる

12/16 19時  4.83V きょうは大雪。おとといからもさもさ降ってる
12/17 積雪50cm 19時  5.44V 明るい曇のち曇り。満充電になった
12/18 積雪33cm 19時  5.17V 早朝から雪のち大雪

朝、出勤前に気がついた。東の窓際に置いてる 5F 5.4Vキャパシタのソーラーパネルだが網戸越しになってた。網戸を動かしたら少し明るくなった。いままで薄暗かったんだな。気付かなかった

12/19 積雪70cm 9時 南アフリカのショップ Giga Technology さんにこちらの住所と欲しいものを返信した。日本との時差が7時間らしいので現地はいま午前2時かな

12/19 12時 2.7V500Fを2個使った 5.4V250F のスーパーキャパシタモジュール(バランス回路付)が到着した。予定の到着日は21日~27日だったのでだいぶ早い到着だ
電圧はそれぞれ 8.4mV 9.2mV と完全放電の状態。新品だからあたり前だけど
2.7V500Fを2個使った 5.4V250F のスーパーキャパシタモジュール(バランス回路付)

5.4V250F のスーパーキャパシタモジュール

R6ナナメってる・・・表面実装の部品の場合リフローで正しい位置に自己整列するらしいからこれはSMDを手半田してるのか!?
キャパシタ電極のはんだ付けの状態も怪しいな
すごいなチャイナクオリティ 新品購入したら使う前に手直し必須 笑

12/19 19時  5.14V 雪
12/20 積雪76cm 19時  5.27V 曇り
12/21 積雪63cm 19時  5.19V 曇り
12/22 積雪54cm 19時  5.15V 曇り時々雨
12/23 積雪36cm 19時  5.18V もさもさ雪
12/24 積雪65cm 19時  5.15V 小雪のち曇り
12/25 積雪49cm 19時  5.19V 曇り時々湿雪
12/26 積雪49cm 19時  5.14V 曇り時々雨
12/27 積雪46cm 19時  5.19V 曇り時々雨
12/28 積雪42cm 19時  5.39V 曇りのち雨

2023/01/15 追記 12/28 夜、自宅2階階段から落下して緊急入院したためペンディング

2022/11/25

LoRa 端末 LRA1 でレピータ計画 その1

1年ほど前から構想妄想していた「LoRa端末 LRA1 の山中レピータ計画」、進んでいないようで実はちょこちょこやっていました。やっている割に目に見える進捗はありませんが・・・


まず設置場所ですが、「電波伝搬シミュレーション・ソフト Radio Mobile」を使って横手盆地周辺の山々に無線機を置いてみました。
その結果、三ツ森山の山頂付近(地理院地図によると標高339m地点)が良さそうだと決めました。
三ツ森山からの電波伝搬シミュレーション
地理院地図の機能を使って設置予定場所から自宅までの地形断面図を確認しました。920MHzの波長からすると完全見通しです。
三ツ森山と自宅間の地形断面図

標高339mの現場で地上高2mにレピータを仮設置して直線距離16.5Kmの自宅基地局との疎通を確認できました。これでレピータの設置場所として良いという確証を得ました。

と、設置場所は決めたもののその後、主に電源をどうしようか一年間ダラダラと試行錯誤していました。

要件:横手市の三ツ森山に24時間365日連続運転できるLRA1をベースにしたLoRaレピータを設置して運用したい。冬は積雪があり氷点下20度になることを想定

これは結論からいうと要件を満たすために必要なバッテリーやソーラーパネルといった電源が大掛かりになるということで諦めました。
LifePO4バッテリーや30Wソーラーパネル、チャージコントローラーなどを購入し自宅で実験しながら考えた末に諦めたので金銭的な損失が大きかったなーと後悔しました。これらは何かに流用しようと思います

その後数か月間、何度か設置予定の現場へ行ってレピータを設置する具体的な方法をイメージしようとしましたが当初考えていた「地面から数メートルの高さのポール上に設置」も無理と判断しました。
現場付近の地形を何度も見ているうちにやっと気がついたんですが、冬は雪が吹き溜まりになり、おそらく深さ5~10メートルの雪に埋もれるだろうと思いました。

なのでLRA1と電源一式を地面から10メートル以上に設置する必要があります。これはもうアンテナタワー並の高さです
10メートル以上のポールを用意するか現場の木に登るか、など考えましたが安定して設置できる10メートル以上のポールなど調べても行きあたることなく、高所恐怖症で木に登るのも不可能なので手持ちのドローンで木に乗せる案を選択です。

持っているドローンは鉱山跡の探索で使っているもので機体に付いているカメラで動画や静止画を撮影するだけの中型空撮機(クアッドロータードローン)です。
そのためカタログスペックにペイロードという項目はありませんが実験してみたところ無風なら800g程度のものをぶら下げて操作できることが分かりました。
800gは限界値なので風の影響や設置回収を何度も行うことを考えて半分の400g以内をLRA1と電源一式の重量目標としました。

要件を変更:横手市の三ツ森山に晴れまたは薄曇りの日中のみ運転できるLRA1をベースにしたLoRaレピータを設置して運用したい。冬は積雪があり氷点下20度になることを想定。総重量は400g以下

ニッケル水素充電池が比較的寒さに耐えられそうだったのでゴミ箱部品箱にあった小さなソーラーパネルで電源を試作しましたが重すぎて断念(実測820g)
これも作ってから諦めたので何かに流用しようと思います。どんどん無駄なもの予備部品が増えてきました。
ニッケル水素充電池そのものが重いので作る前に気がつくべきでした 笑

最近になってスーパーキャパシタというものの存在を知り調べてみると充電池に比べて容量は小さいものの充電速度が速く特に重量が軽いらしく目標の400gを余裕でクリアできそうです。
自宅で動かしてみたくなり手っ取り早く Cyack lab さんから IOT用のソーラー電源を購入してみました。もう当初の構想だった365日24時間運転などどこへやら、です 笑
今回購入したのは型番 SPI-0000V-020F で 300mWソーラーパネル 0.2F/5.5Vのスーパーキャパシタで キャパシタ電圧による電源出力制御なしのタイプです。氷点下20度まで運用できるようです。
お値段 1600円 送料200円ですのでなんとか気軽に試すことができます。
同時に秋月電子で 5.0F 5.4V のスーパーキャパシタを購入しました。
まずは 0.2F で動かしてデータを取ってから 5.0F に付け替えて試してみる予定です。

日が昇ったら動きはじめて、夜は指定電圧まで下がったら又は基地局からの指示で DEEP SLEEP。早朝 電圧を確認してあわよくば日の出前から動かす、みたいな運用を妄想しはじめました。「早朝 電圧を確認して」の部分は RTC が無いので無理ですけど 笑

到着した IOT用のソーラー電源 です。すがすがしいほどのピンボケです。老眼なので撮影時にまったく気がつきませんでした

IOT用のソーラー電源 の裏側です。縦に2個並んでいる丸い物体が 0.2F スーパーキャパシタ

秋月電子の 5.0F 5.4V のスーパーキャパシタも同じ日に到着しました。
これから実験していきます

ドローンについては、DID地区上空や構造物距離30m未満の飛行など国交省からの許可・承認をとっております(東空運航第12461号)

2022/11/11

[ルータ]NVR510導入

NVR510 というヤマハのルータを導入しました。

結線して設定を進めていくうちに SIPサーバの機能設定が見つからないことに気付きました。
SIPサーバ機能くらいはついているとばかり思ってたんですが機能が無いんですね。SIPクライアント機能だけしか無い。
着信したら相手の電話番号や登録済みの名前を PCに表示したかったのですが残念なことになりました。

マニュアルをめくりながら代替案を考えていると使えそうな機能がありました。
一部を抜粋すると「3.11.1 Lua スクリプト
本製品で Lua スクリプトを実行できます。Lua スクリプトにヤマハルーター専用 API を埋め込むことで、本製品の状態に応じ、本製品の設定変更やアクションをプログラミングできるようになります。」

とのこと
着信があったら指定URLの phpスクリプトを(GETで)起動して電話番号を検索させるというLuaスクリプトなんですが Lua という言語は初めてで書くのに苦戦しました。
苦戦しすぎて説明するのも面倒なので書いたものをそのまま載せます
以上

ptn = string.regexp("SIP Call from (.*)")
req_tbl = {
  url = "",
  method = "GET",
  auth_type = "none",
}
-- SYSLOG (info, debug, notice)
log_level = "info"
------------------------------------------------------------
local rtn, str
local res_tbl
while (true) do
  rtn = ""
  str = ""
  req_tbl.url = "https://PATH_TO_URL/tel_search.php"
  rtn, str = rt.syslogwatch(ptn)
  req_tbl.post_text = ""
  if rtn > 0 then
    aaaa, bbbb = string.find(str[1] , "disconnected" , 1 , true)
    if aaaa == nil then
      log_text = string.format("1=%s" , str[1])
      rt.syslog(log_level, log_text)
      str[1] = string.gsub(str[1] , " " , "_")
      str[1] = string.gsub(str[1] , "/" , "_")
      str[1] = string.gsub(str[1] , ":" , "_")
      req_tbl.url = req_tbl.url .. "?text=" .. str[1]
      -- 
      res_tbl = rt.httprequest(req_tbl)
      if (res_tbl.rtn1) and (res_tbl.code) and (res_tbl.code == 200) then
        --
        rt.syslog(log_level, "[Lua] success to send message.")
        rt.syslog(log_level, req_tbl.url)
      else
        --
        rt.syslog(log_level, "[Lua] failed to send message.")
      end
      req_tbl.post_text = ""
    end
  end
end


2022/11/09

[驚き]すごいな php

php のコードを書いていたらハマった

環境は PHP 7.3.5 (cli) だけどたぶん他のバージョンでも一緒かもしれない ← 無責任


<?php
func_1( 1,2,3,4,5 ); // function func_1 が期待している以上の引数でコール

function func_1( $a, $b, $c ) {
    echo "$a,$b,$c" . PHP_EOL;
}


実行結果
1,2,3

このコードがエラーにならずというかワーニングさえ無く実行できる php の深すぎる懐に啞然とした 笑

MySQL で SELECT into outfile 出来なくてハマった件

 Windows上の MySQL で SELECT into outfile で CSVファイルをエクスポートしようとしてハマったので残しておく 環境 Windows10 Pro バージョン 1809 MySQL 8.4.0 という環境で SELECT * FROM table1...