STM32G0使ってみる4 -1wireデバイスをいろいろ使ってみる-

さて、珍しく飽きずに続いているSTM32G0シリーズですが今回は1wireデバイスを
使っていこうと思います。前々回の回路図より1wire用にGPIOポートを一つ開けており、
こいつをフルに活用します。


●DS18B20

金属ケースに入って見えませんが1wireデバイスの代名詞というべきデジタル温度
センサDS18B20です。いろんなマイコンで数多くの作例があり大人気のICです。

基本はVcc,Data,Gndの3線式ですが、ストロングプルアップを行いData線の電力だけで
動かす2線式の動作方式もあります。今回はお手軽に3線式で動かしていきます。


私のSTM32G0のプロジェクトではすでに動作するようになっております。
DS18X20の#defineを有効にしてください。


動かし方はネット上に大量に作例がありますのでそちらに任せるとしてとりあえず
動作させたところです。今回は一つしかつけていませんがDS18B20はROM内に固有IDが
あり、同一のバス上に複数のDS18B20を接続することができます。


さて動作時のデータの波形を記録してみました。
固有IDを指定して温度を取得しているところです。
Picoscope5444DはDS18x20用のプロトコルアナライザ機能があり、どのような状態かが
一目でわかるので大変便利です!そうだね宣伝だね。



●Aosung製のDHT系の温湿度センサたち


DHT11から始まり今ではAHT20(これはI2C)まで進化しているAosung系の温湿度センサ
モジュールが今回はその中でAM2303とAM2322を紹介します。


AM2303はDHT11よりも値段は高いですが性能が良い1-wireのモジュールです。
DS18B20とは互換性はなく独自のプロトコルでデータのやり取りを行います。


AM2322BはAM2303が一まわり小さくなったAM2322にプラスティックのケースで覆われ、
機器に取り付けてすぐに使用可能なモジュールとなっています。
こちらはI2CとDHT系の1wireと2通りのインターフェースを選ぶことができます。
SCLをGNDに落とした状態で電源を投入すると1wireモードになります。
動かし方についてはAM2303と同一になりますがI2cモードで動かすと逆に煩雑になって
しまうので1wireモードのほうがめっぽう使いやすいです。



てわけでサクッと動かしてみました。ちゃんと検証はしていませんが温度や湿度の
精度もそこそこありそうで実用に足りると思います。

…が…


●AM2322の通信間隔の注意

↑SamplingPeriodが最小2Secだから2秒ごとにアクセスできる!と思い込み2秒ごとに
AM2322と通信して温湿度表示とかやると突然得られるデータがめちゃくちゃになり
しまいには何やってもデータを返さずへそを曲げで黙り込んでしまいます!!!!

AM2303ではこの変な現象にならないのでAM2322(AM2322Bも)固有の特性だと思います。
RockSolidHead Oyaji様の"AM2322を使ってみた その3 "の記事にて私が遭遇したものと
酷似した現象に遭遇しております。I2Cで動作させても同じ感じですね。

先のブログの方はI2Cで動作させており、AM2322がへそ曲げたらAM2322の電源を一旦
落とす荒業で対応しております。ねむいさんは何秒間隔開けたらへそ曲げないか検証
してみました。

条件
 ・電源は+3.3V
 ・2秒から0.5秒刻みで間隔を広げていきへそ曲げないところを見つけます。
 
結果
 2.0Sec :即死
 2.5Sec :即死
 3.0Sec :即死
 3.5Sec :3分ほどおいてたら死んだ。1時間以上大丈夫なこともあり不安定。
 4.0Sec :1週間連続通電動作させても問題なし。
 4.5Sec :1週間連続通電動作させても問題なし。
 5.0Sec :1週間連続通電動作させても問題なし。

う〜〜んたぶん個体差のばらつきがあるから5Sec以上間隔開けるようにしましょ


ちなみにAM2322のセンサ素子そのものの反応時間は結構遅いです。

湿度は8Secあります。

温度に至っては最大30Secですって!
5Sec間隔どころか1分でもいいんじゃないかしら…

ちなみにt63%というのは1-exp(-t/τ)で示される一次遅れのシステムにおいて
tのタイミングで0->1のステップ入力を加えたときにtがτの時 1-exp(-1)≒0.6321...
話を戻すとこのセンサでは時定数τは温湿度変化が起こった時変化量の63.2%に
達する時間という意味となります。

すみませんこういう重要なこと今までちゃんと見ないまま動作させていましたが、
このt63%が小さいほど反応性がよいセンサということになりますね。これからは
新手のセンサが現れたら精度や確度だけでなく反応性にも焦点を向けてみます!


中国自然歩道を往く -吉備高原を貫通せよ!(ついでにMT3333の新ファームを試す)-

秋も深まり気温も下がったので中国自然歩道のロングトレイルにちゃれんぢしてみました。
今回は2013年より長らく使用しているGms-G9のファームを最新にしてなおかつ設定を
若干変更しておりそれの実地検証も兼ねております。

●2021.11.13 中国自然歩道(福渡〜有漢市場)


高速バスで大都市岡山へ…!
私は岡山駅って周りに田んぼしかないのかとか思ってましたがめっちゃ栄えてました
岡山の人すみません。



この日の夜は岡山に泊まって現地を早朝から出発します。
夕食がてらしばし夜の岡山周辺を散策しましたが見ようと思ってた岡山城は
コロナ禍で人が減ったのを蹶起に大改修中でした。



虹裏メイドの朝は早い…
前回の続き、朝の福渡駅から61kmの冒険のはぢまりです!




旭川を超えて北に向かいます。
南に行くとたけべ八幡温泉郷があります。



時折見える紅葉がきれいな国道484号をゆっくり上っていきます。



中国自然歩道は舗装路中心ですがとにかく距離が長い!
紅葉の道をずーっと走っていると岡山市と吉備中央町の境にきました。
そしてここからが本番です!



はぁはぁ…この時点で13km…道の駅円城なる場所に到着しました。
吉備中央らしくきび団子が売られていました。



さっきの道の駅の起源となった円城寺です。



ちょっと寄り道(ちょっとという距離ではないですが)して
いわくら公園と岩倉山です。吉備高原を見渡せられます。


やぎ


11月も半ばで気温もぐっと下がってますが日中は太陽さんのおかげでぽかぽかです。


道中にはたくさんの寺社があり、都度お参りしていきます。


突然現れる魔法宮なる説明看板。
動揺し写真もぶれる。


ススキも冴えますね〜




道は細い山道へと変わりそして25kmまで来て初めてトレイル区画になります。
この先にある総社宮のお札が見られました。




総社宮です。
…ここでようやく27.5km…残り21km(の予定だったが…)


有漢市場です。
自販機があったのでここでようやく大休憩です。
この先は690mの山を越える道となります!!



集落の濃度魚をゆっくり上がっていくと天福寺と大平山に上る道に
つきあたります…


っていうかまたやぎさんがいた…



道はぐんぐん高度を上げて進んでいきます。
舗装路と良い景色のおかげかあまり苦にはなりません。





天福寺です。
ここも紅葉がとても奇麗ですね〜


次は大平山山頂へ向かいます!山頂まですべて舗装路で親切設計♨




大平山山頂です。
最高の景色ですね〜




くだりも舗装路です。
かたいアスファルトの下りは逆に足に大きな負担がかかるので慎重に駆け下ります。



有漢区域に降りてきました。
まっすぐ行ったらあっさりゴールですがそうは問屋が卸さず超大回りしやがります。


商店の傍らにねこさん。
こちらの商店の飼い猫さんだそうで日向ぼっこしています。




そして突然高度を上げるルートに…
最後の最後でこれはきつい…が景色は常に最高です☆



そして本日二回目にして最後のトレイル区間に入ります!!!
と思ったらあっさり墓地にでてきました!!なんやそれ!


ぁ〜ここも紅葉がすっごくきれいです♥


ようやくゴール付近まで降りてきました。



宝妙寺です。
そろそろ日が落ちてきますね。



鷹峯神社にお参りしてから有漢市場バス停に到着です…
50.5劼離丱肇襪ぶじおわりました…!


…と言いたいところですが、次のバスが来るのは17:15くらい、到着時は
まだ15:40くらい…ということで南下してバス代を浮かせる作戦と急遽実行
しました!!!


下市バス停付近。中国自然歩道の次のルートを示す看板がありますがこの地点で
中国自然歩道とはお別れします。


33-4



似たような道を延々と南下していくとようやくコンビニが…!
コンビニから少し進んだ先にある出口バス停というところでいい時間と
なりましたのでここでゴールとしてバスを迎えました。


備中高梁駅なるところから大都市岡山に戻りますが…
これ1時間以上かかって結構きつかったです…次の前線基地はここからかな。


そして家族のお土産(頼まれてた)とがむばったねむいさんのご褒美の日本酒も
大量に購入してのぞみで京都に帰ります…帰りはくそ早いですさすが新幹線。



というところで交通の便が全くと言っていいほどなく長距離を一気に駆け抜ける
パワープレイを毎回強いられる中国自然歩道ですが舗装路の比率が非常に高く、
その面では結構助かってます…この先も交通の便が壊滅状態なのでしっかりと
戦略を立てて攻略していこうと思います!!



●2021.11.13 中国自然歩道(福渡〜有漢市場)GPSログ

Gms-G9の設定を変えたおかげか建物に入ると位置がすっ飛ぶのは発生するものの
位置がずれっぱなしになったり長時間再補足しなくなる現象は発生しなくなってます。
注:捕捉精度悪化による位置すっとびはGPSモジュールの特性上どうしても
  起こってしまうのでこれについてはデータを扱う際に工夫するべきです



帰宅して軌跡を確認して気づいたのですが…

あああああああ!!!
あと1.5kmくらいでJRの駅だった〜〜〜!!!
まぁバス代は確かに浮いたからよいでしょう…



ところで一番最初に述べた今は亡きGtop社のGms-G9のファームの話ですが、かつての
Gtopの開発チームが新たにCDTopという会社を立ち上げ、MT3333を使ったモジュールを
作っておりました。SierraWirelessとの関係はよくわかりませんが兎にも角にも
Gms-G9に機能的に近いCD-PA1616用のAXN5.1.6のファームがmirificaのサイトから
ダウンロードでき、これがGms-G9にも使用できます(AXN5.1.6_0024ってやつです)。

基本的にな部分は5.1.1のころと変わらないのでもっと古い3.x.xとかのバージョンから
アップデートする際は私のブログを熟読して各自対応してください。
そしてお約束ですがファームウエアアップデートの際は自己責任でお願いします。



次にモジュールの設定ですが過去に中国自然歩道を進んでいると気になってたのですが
電波の入りにくい場所から開けた場所に出ても位置が大きくずれっぱなしになったり
開いた場所に出ても補足をしない現象がたびたび発生し困っておりましたが上記二つの
設定を変えて対処しております。詳細は下記に。

PMTK_SET_TUNNEL_SCENARIO はPMTK257で1で精度優先、0で補足優先となります。
精度優先にするとトンネルに入ったときに補足が外れ位置があちこちにすっ飛ぶ現象が
なくなり軌跡がきれいになるらしいのはよいのですが(次の位置を推定している?)
その後開けた場所に出てもずれっぱなしにつながることとなりねむいさんの使い方では
不適切であるとわかりました。

PMTK_SET_AIC_MODE はPMTK286で1で有効、0で無効となります。
有効にすると外来電波の干渉をキャンセルする代わりに感度が下がり補足衛星数の
低下につながってしまうこととなり、ねむいさんみたいな電磁波があまり飛んでない
トレランで使用する場合では不適切だとわかりました。

これらはファーム変更前にみっちり検証していましたが両者を"1->0"にしたら大きく
ずれっぱなし現象とか開いた場所に出ても長時間捕捉しない現象が発生しなくなったので
これからはこれらの設定で行こうと思います。

GitHubのソースももっと確証が取れたら変更しますのでよろしくお願いします。

Go to top of page