2019年10月13日日曜日

今回の風速モニターシステムのまとめ②

いよいよ「かんたんスマートモニター」に風速計を接続させます。
が、なんということでしょう、RS-485のオプションモジュールが出来上がってない!!

「かんたんスマートモニター」は標準でRS-485のポートを持っていません。
なのでRS-485を使用する際はオプションモジュールを増設する必要があります。

そのオプションモジュール、生基板までは手元に有ったものの、
需要が無かったことから試作も行ってませんでした。
慌てて不足部品を手配し、モジュールの試作からスタート。
不足部品をRSコンポーネンツに発注したのが9日。
翌日到着予定だったので10日は朝から部品到着待ち。
しかしなかなか届かない。(;;
18時までに行ってこなきゃならない用事があったので、17時頃に一旦お出かけ。
18時頃には戻ってきたのですが、はい、お約束ですね、佐川さんの不在票が入ってました。(笑)
すぐに電話したら再配達に来てくれるとのこと。
19時くらいには荷物が届きまして、部品が揃いました。

RS-485モジュールの試作を開始し、問題無く完成。
このモジュールは485ポートが絶縁タイプなもので、部品数が若干多い。
なので設計ミスも懸念されたわけですが、問題無くて良かったです。

早速風速計を繋いでソフト作成を開始。
アルゴリズム的には超単純。
1分間隔で風速計から風速値を読み込み、それをsakura.IOモジュールで送信。
風速計から風速値がそのまま出力されてくるので、
「かんたんスマートモニター」内で演算等の処理は全く不要。
この点は、この風速計の楽チンなところですね。

とりあえずソフトが出来たっぽいので、試してみると・・・・・・
風速値が読めない。orz
シリアル通信って、こうなるとデバッグが大変なんですよね。

悩んだものの解決作は見つからず。
とりあえずオシロで通信線の状態を見てみることに。


















こんな感じで、風速計からのアンサーが来ていない。
一応動きを説明しておきますと、RS-485ですから通信線は半2重。
デフォルトではトランシーバーICは受信状態です。

①トランシーバーの送信機をイネーブルし、送信状態へ。
②1ms後にシリアルデーターを送出開始。
③シリアルデーター送出完了後、2ms待ってから送信機をディセーブル。

という流れになっています。
シリアルデーター送出前後の1msや2msという遅延時間は、
規定値というのを見たことが無いので感覚で決めてます。

これを見る限り、ちゃんと風速計にはコマンドが送られてる模様。
ここで壁にぶち当たったので、クールダウンの為に一旦作業休止。
こういう時は根詰めると良くないんですよね。

ひと休みしてると、データー送出前の時間を延ばしてみたら?と頭に浮んだ。
そこで1msから5msに延ばしてみると・・・・・・


















データー来た!!
なんとまぁ、単純なオチでした。
ちなみに上のオシロの波形、データー送出後に送信機をディセーブルするまでの時間を1msに削っています。
2msだと風速計からのアンサーバックに近づいてしまうもんで。
この辺は波形を見ながら調整するしかない模様。

風速計からデーターを読めれば、あとは問題無し。
sakura.IOからのデーター送出はいつも通りの処理なのです。
というわけで、NODE-REDに無事にデーターが届くようになりました。

ちなみに、想定どおりのデーターがsakura.IOから送信されているかは、
sakura.IOのコントロールバネル内でモニターすればOK。

あとはNODE-REDの方を ちょちょいといじればシステムは完成。
・・・・・のはずでしたが、実はNODE-REDでも若干時間かかってしまいました。
NODE-REDの設定にはJavaScriptの知識があるといいんですが、
私はそっち方面はダメダメなもんで、半分手探り状態。
結局なんとかなりましたけれど、きちんと勉強しないとアカンかなぁと思ったりも・・・・・

ともあれ、これでシステムは完成しました。
すぐに設置に取り掛かりたいところですが、現在時刻は午前2時。
さすがに近所迷惑なので、夜明けとともに設置開始しましょう。

0 件のコメント:

コメントを投稿