2024年11月26日火曜日

外気温モニターの拡張 その5

 かなり間が空いてしまいましたが、久しぶりに「新型外気温モニター」の話です。

今月は  もう暇になってしまった 効率的に仕事を進めた結果 手が空いたので、
外気温モニターを進めることにしました。

先に書いようにハードは一応出来たので、次はファームウェアです。

ソフトウェア視点だと、このシステムは下記の様な構造になります。




これだとPICマイコンの区別が しづらいので、以下の様に番号を付けます。




この3個のPICマイコンそれぞれにファームが必要なわけですが、
③は「かんたんスマートモニター」のメインチップですので、
「かんたんスマートモニター」のファーム変更という内容に。
これについては当記事がでは特に触れない方向で行きます。

①と②が「新型外気温モニター」様のPICマイコンで、
RS-422とSPI信号の変換を行っています。

さて、「新型外気温モニター」に載ってるセンサーモジュールBME280は
インテリジェントなユニットですので、アナログセンサーの様に
電源を投入すればダラダラと測定値が読めるわけではありません。
まず、センサーの初期設定が必要となります。
その後、ハンドシェイク手順に基づいて測定値を読み出すことになります。

ではそのハンドシェイク手順の制御を誰が行うか?が1つのポイントになります。

3つ有るPICマイコンの内、どれかが行うわけですが、
どれに任せるかは設計思想に関わる話になります。

①に任せるケース
「外気温モニター」内のPICマイコンがセンサーの面倒を全てみるパターンです。
この場合、RS-422線を通るのが測定データーのみとなるので、
通信線のプロトコル設計が非常に簡単になります。
しかしながら、センサーに対するアクセス内容に変更が生じた場合、
「外気温モニター」内のPICマイコンのファーム変更が必要となるわけで、
ファームを「かんたんスマートモニター」側から書き換えられる仕組みを
用意していなかった場合、アフターファローが非常に面倒なことになります。

②に任せるケース
これは選択されることは無いと思われます。
メリットが思い浮かびません。(笑)

③に任せるケース
これは「かんたんスマートモニター」のメインマイコンにて、
BME280の制御を全て行うというパターンです。
「かんたんスマートモニター」自体はアクセスが容易な場所に設置されるので、
BME280へのアクセス制御に変更が生じても、割りと簡単に書き換えができます。
しかしながらRS-422の通信に、それら全てを折り込む必要があるので、
通信線のプロトコル設計が一番面倒になります。
RS-422はSPIに比べ通信速度も遅いので、それも考慮する必要があります。


ということで、上記をどうするか、湯舟に浸かりながら考えてましたが(笑)、
今回は①に任せる方法を採用することにいたします。

理由は大きく2つ。
①RS-422線の通信プロトコルが非常に簡略ができる。

BME280の面倒を①のPICが見るならば、「かんたんスマートモニター」から
「外気温モニターユニット」へ送るデーターはほぼ無くせます。
データー垂れ流し式にするならば、皆無にすることも可能かと。

「外気温モニターユニット」から「かんたんスマートモニター」へ行くデーターも
測定値だけで済むので、最低限の簡単なデーター形式にできます。

②「外気温モニターユニット」単体で完結する

どういう意味かと言いますと、電源を投入すれば、
RS-422で簡単に測定値が読めるユニットが出来上がる、という事なのです。
これならば、「かんたんスマートモニター」用と限らず、汎用性が出るわけですね。

PIC②やPIC③で制御する方式だと汎用性は非常に低くなってしまい、
事実上「かんたんスマートモニター」向け専用ユニットになってしまいます。

ユニットとして単体動作が可能ならば、RS-422/RS-232の変換アダプター経由で、
パソコンからアクセス可能になるので、開発時の効率も格段に上がります。
デバッグ時、「かんたんスマートモニター」経由でのアクセス必須というのは、
結構面倒な話になるんですね。


ということで、まずはちまちまとPIC①のファームから書いていきましょうかね。

0 件のコメント:

コメントを投稿