ラベル IOT の投稿を表示しています。 すべての投稿を表示
ラベル IOT の投稿を表示しています。 すべての投稿を表示

2024年12月31日火曜日

差動信号通信の実験

RS-422を初め、差動信号によるシリアル通信は多用されております。
私もセンサーのデーター等で結構使用しております。

そのRS-422やRS-485と言った差動通信ですが、
実際どこまでの速度に耐えられるか?と問われ、
即答できる方は案外少ないのではないでしょうか?

 

同環境で速度を上げていった場合、
ある速度を境にいきなり通信が不可になる、なんて訳は無く、
実際に段々とエラー率が上がっていく、という状態になるでしょう。

ですので、エラー検出/修復を目的としたプロトコル変調をかければ、
限界速度はガッツリ上がるのではないかと予測されます。

しかしそれは小規模マイコンでは非常に負担の大きい話ですので、
実際のところ、私もデーターを素のまま送受信しているのが実情です。

さて、その環境下にて、どこまでの速度がいけるか、
というのは実際に試してみるのが手っ取り早いわけです。
これが今回の実験の主旨です。


早速、今回の実験の接続図がこれです。



差動トランシーバーであるLTC2862-2同士を接続し、
片方から連続でアスキーデーターを送出。
反対側で受けたデーターをRS-232へ変換してパソコンで表示します。
厳密なエラー率を測定するのが目的ではないので、今回はこれで十分かと。


今回使用しているLTC2862は私が愛用している差動トランシーバーの1つ。
差動信号のトランスミッターとレシーバーが内部接続されている、
半二重通信用のICです。

同一通信ライン上に256個のデバイスをぶら下げることが可能です。
電源電圧は3Vから動作可能なので、3.3V動作のマイコンと直結動作できます。

差動トランシーバーは世の中に沢山存在しておりますね。
オーソドックスなところではSN75176辺りでしょうか。
この手のICは5V動作で、通信速度も結構高速です。
しかし、入力インピーダンスの点であまり多くのデバイスをぶら下げられません。
ということで、当方ではあまり使っていないICです。


先の図を見て気付かれた方もいらっしゃるかもしれませんが、
LTC2862の後ろに-2というのが付いています。
これは通信速度制限でして、-2が付いているとMAX250kbpsです。
ちなみに-1が付いていると制限無し品で、MAX20Mbpsとなります。

うちで在庫しているのは全て速度制限品です。
大は小を兼ねると言いますが、ノイズ耐性やEMIの観点を考慮すると、
超高速通信が必要な案件以外、速度制限品を使った方が無難です。


通信線は当然、ツイストペア線が必要ですが、
今回はUL1007の電線を自分で撚った、自作ツイスト線を使用します。
ケーブル加工されたツイストペアケーブルも持っていますし、
実際の案件では そちらを使う事がほとんどです。

自作ツイスト線ならば既成ケーブルよりも条件が同等もしくは悪いでしょうから、
テストとしてはむしろ好ましいかなと。
まぁテストに使うケーブル代を抑えるという意味もありますが(笑)

 

最後にLTC2862への給電は送受とも3.3Vです。

ということで早速試してみます。

まずは9600bps。
私が差動通信でよく使う速度です。
結果は全く問題無し。
まぁ予想通りという感じです。

次は19200bps。
これも全く問題無し。

次に38400bps。
もしかしたら少し怪しくなってくるかな?という予想に反し、全く問題無し。
この速度で安定してるということは、9600bps程度なら超余裕状態の様ですね。

さてまだ上げてみます。
次は57600bps。
38400bpsからの上げ幅は少ないのですが、
モニターしてるパソコンのRS-232のボーレート設定の都合です。
結果はこれも全く問題無し。

次は115200bps。
どうかなぁ?と思いつつ試しましたが、結果は全く問題無し。
正直ちょっとビックリ。

こうなると230400bpsも試してみたくなりますね。
LTC2862-2の上限が250kbpsですから、ICの仕様上限近くです。
LTC2862-2への送信データーを生成しているのはPIC16F1825なのですが、
ここでちょっと問題発生。
16F1825の元クロックはクリスタルオシレーターからの8MHz。
8MHzから230400bpsを生成すると、クロック誤差が3%を超えてしまうんです。
実際試してみると、文字化けだらけで完全NG。

もちろん差動通信線の影響による文字化けという可能性もありますが、
115200bpsでの結果を踏まえると、ボーレート誤差の可能性が大きいかも?

16F1825自体のMAX動作クロックは32MHz。
8MHzを供給していますから、4倍PLLを動かして、
システムクロックを32MHzにすれば、115200bpsの際と同誤差に収める事が可能。
早速ファームを書いて試してみますが、動きません(笑)

小一時間悩んだところで、もしかして電源電圧の問題か?と気づきました。
LTC2862は3.3Vで動かしてますが、16F1825は1.8Vで動かしているのです。
改めてデーターシートを確認すると、
4倍PLLを動かしてシステムクロック32MHzで動作させるには、
最低2.5Vの電源電圧が必要でした。

ここまで来たら、最後まで確認してみたいところ。
ターゲット基板を改造してPICマイコンに3.3Vを投入する様に。
するとバッチリ動作しまして、230400bpsでの通信も完璧でした。

今回は6mのツイスト線でしたが、まだまだ延ばしても問題無さそうですね。
さすがに電線代が痛いので、おいそれとは試せませんが・・・・・

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①のファームから書いていきましょうかね。

2024年10月19日土曜日

meviyからアルミ板金到着

 先月、meviyにお試しで発注してたアルミの板金が到着しました。


 

 

 

 

 

 

 

何がお試しだったかと言いますと、右側の箱形状は溶接品なのです。

 


 







 

 

 

ちと解りづらいかもしれませんが、縦に走ってる曲げ角にビートが見えます。
ここが溶接部です。
横に走ってる曲げ角も研磨痕が有るので溶接してる様にも見えますが、
ここは単なる曲げ加工です。





内側から見ると解り易いかな?


 

 

 

 

 

う~ん、凄いですね、アルミの溶接品ですよ。
こんなのが1個からお手軽価格で手に入るとは・・・・・
meviy恐るべし!!


使ってる板はヘアーラインが入ってる物でした。
アルミの溶接品の場合、ヘアーライン指定は不可能なので、
ヘアーライン無しの板が使われる可能性も有りそうです。

 

溶接部も含め、角部を研磨しているせいで、表面に結構研磨痕が残っていますね。
一応これでも体裁面に指定してあるのですが、仕方ないところかと。

 見栄えが問題になるケースでは表面仕上げ加工が必要になるかと。
でもmeviyの標準システムではオプションが用意されていないので、
担当者見積で相談することになると思います。
ただ、アルミの表面仕上げ加工は結構シビアなので、
それなりの費用を覚悟する必要があるかと。

材質や溶接の有無も含め、総合的に判断する必要があるでしょう。


さて、この板金ですが、新型の外気温モニター用に用意したもの。
基板は既に実装済みなので、早速組んでみます。


 

 

 

六角スペーサーを立てて基板を取付

 

 

 

 


 

 

 

そしてカバーを被せて完成

 

 







 

 

カバーと基板が当たってる様に見えますが、ちゃんと隙間空いてます(笑)


これで完成!!と思いきや、実は見えてる基板部にもカバーが付くんです。

ルーバー付きのカバーでして、板金では製作できないので、
3Dプリンターにて作製する予定でしたが、すっかり忘れてました。 テヘ

実際、基板上のPICマイコンのファームも未完成なので、
実働までは まだ先が長いです。


2024年9月11日水曜日

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

 前回の記事で書き漏れが有った為、補足いたします。

前回、電圧レベル変換の方法についてお話しいたしましたが、
私が今回採用したのは3番目の「非同期シリアル信号変換」です。

その際、専用のレベル変換ICを使用する他にも、
ディスクリート部品で変換回路を組む事も可能と書きました。

実際、今回私が設計した回路ではディスクリート部品にて変換を行っています。

 

3.3V信号を1.8V信号に落とすのは抵抗分圧だけで済むので、
全く難しいことはありません。
注意するとすれば分圧回路で使用する抵抗の値。

抵抗値を上げると差動レシーバーの出力部の電流負荷は軽くなりますが、
マイコンの入力インピーダンスが低かった場合、電圧レベルが不足してしまいます。

抵抗値を下げるとマイコンの入力インピーダンスの影響は減りますが、
差動レシーバー出力の負荷が重くなってしまいますので、
双方のパランスを見ながら抵抗値を決める必要があるでしょう。
ちなみに今回は暫定値として、2KΩと2.4KΩの組み合わせにしてみました。
最終的には実働状態で電圧を確認する予定です。


問題は1.8V信号を3.3Vへ上げる部分です。

今回私が組んだ回路は以下のものです。


 




 

 

MOS FETとデジタルトランジスターの組み合わせです。
今回の装置は単発のデモ機のような物なので、
在庫品の中から部品チョイスしています。

MOS FETを使わず、DTA114のみで出力を駆動すると
入力側に3.3Vが印加されてしまうのと、
入力と出力でハイ/ローの極性が逆転してしまうので要注意です。

MOS FETの代わりにデジタルトランジスターを使う手も有りそうですが、
それについては後述いたします。

回路の動作としては入力がハイになるとMOS FETがONします。
するとデジタルトランジスターのベースがローに落ちるので、
トランジスターがONしてコレクタに3.3Vが流れ、出力がハイになります。

デジタルトランジスターには抵抗が内蔵されているわけですが、
この先の説明を話しやすくする為、内蔵抵抗も明記した図を下に載せます。






 

 

今回使用しているDTA114EUAは10KΩの抵抗2つを内蔵しております。
これでディスクリート部品全てが見える状態になりました。

R3は出力に対するプルダウン抵抗です。
DTA114EUAはPNP型ですので、
これはエミッタフォロア回路ではありませんのでご注意を。
出力をローからハイへ持ち上げるのはトランジスターの役割。
しかしこのトランジスターはローへ引っ張る機能は無いので、
ハイからローへ落とすのはプルダウン抵抗の役割です。
今回は暫定値として2KΩとしています。
抵抗値を上げると消費電力は減りますが、
トランジスターがOFFになった際、ハイからローへの変化が遅くなるので、
実際の波形と信号の速度を鑑みて、抵抗値を決めるのが良いでしょう。

DTA114EUAは3.3Vで駆動される形になります。
デジタル動作ですからトランジスターは飽和状態で動かすわけですが、
飽和度合いが強すぎるONからOFFへの変移に時間がかかるようになるので、
内部抵抗の選定は少し気を遣うと良いでしょう。

デジタルトランジスターの代わりにPch MOS FETを使うという選択肢も有ります。
その方が動作速度は遥かに高速です。
しかしデジタルトランジスターとは異なり、
ゲート周りに抵抗を外付けする必要が出てくるので、
ICを使う方が部品点数の観点から有利かもしれません。
RS-422程度の速度であれば、デジタルトランジスターでも十分と思われます。


RU1J002YNはNchタイプのMOS FETですので、
ゲートに電圧が掛かると、ドレインがGNDへ落ちます。
ゲート電圧が0Vになるとドレインがハイインピーダンス状態になりますが、
ローからハイに持ち上げてくれるわけではありません。
従ってここをハイに上げる為にはプルアップ抵抗が必須です。
その役割をデジタルトランジスターの内蔵抵抗が担っています。
MOS FETとデジタルトランジスターの組み合わせが便利なのはこの点でして、
ディスクリート抵抗を減らすことが出来るのです。

RU1J002YNの代わりにNPNタイプのデジタルトランジスターを使用する案ですが、
以下の2つの理由でMOS FET使用を推します。
1つ目は動作速度が落ちてしまう点です。
先にも述べましたがデジタルトランジスターは飽和領域で動作する為、
ONからOFFへの移行に時間がかかります。
RS-422程度であれば実用可能な速度は出ると思われますが、
MOS FETを使用し、動作速度に余裕を取っておいた方がベターでしょう。

2つ目は動作電圧の問題です。
ここの入力は1.8Vのロジック信号です。
この電圧で高速動作するデジタルトランジスターとなると、
品種選定がかなりシビアになるでしょう。
しかしRU1J002YNのような低電圧動作用のMOS FETならば問題ありません。
その点でも、ここはMOS FETを使用した方がベターと言えるでしょう。

 

R2はMOS FETのゲート入力抵抗です。
MOS FETは電圧動作なのに抵抗を入れる??
と疑問を感じる方もいらっしゃるかもしれません。
ゲートの入力インピーダンスは非常に高いので、
実際この抵抗にはほぼ電流は流れません。
実はこの抵抗とFETのゲート静電容量とでLPFを構成することで、
FETの発振防止に役立つのです。
ですのでこの抵抗が無くても回路自体は動作しますが、
挿入しておく方が好ましいでしょう。

R1は入力信号に対するプルダウン抵抗です。
今回、ここの入力はPICマイコンへ繋がります。
ブート直後、PICマイコンの各I/Oピンは
プルアップ/プルダウン無しの入力状態になります。
つまりそのままだとMOS FETのゲートがフローティング状態に近くなります。
ノイズ等、何らかの原因でMOS FETのゲートに電荷が入ってしまうと、
一時的に出力がローになってしまいます。
それを確実に防ぐため、プルダウン抵抗で確実にローに落とすようにします。

そもそも何故ブート時に出力がローになるとまずいか、を補足します。
このレベル変換回路を通って差動トランシーバーを駆動するのですが、
マイコンから差動トランシーバーへ行く信号の1つが、送受切替信号です。
これはローになれば受信状態、ハイにすると送信状態となります。

ブート時に基板外に信号が出る状態というのは避けなければなりません。
従ってブート直後は送受切替線をローに保つ必要があるのです。

2024年9月10日火曜日

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

 前回の時点で、半二重RS-422にて壁越えを行う方針が決まりました。
次の課題は電圧レベルの差です。

先に述べたように「かんたんスマートモニター」側は3.3Vのシステムに対し、
BME280は標準1.8Vのセンサー。
それをどう繋ぐか、という話ですね。

半二重RS-422を使うので、トランシーバーとマイコンが追加されました。
それも加味した図が下記。




 

電圧レベル変換の対処法は複数考えられます。
それぞれ見ていきましょう。


1.オール3.3V案


 


 

先に書いたようにBME280自体は3.6Vまで印加可能ですので、
センサーも3.3Vで駆動してしまおうという案です。
細かいことを考えなければ、これが一番単純ですね。
センサーの発熱が増えるでしょうから測定誤差の懸念が出ますが、
あくまで自分用として割り切ってしまえば、これも有りかもしれません。

 

2.SPI信号変換案

 



 

これはセンサーのみ1.8Vで駆動し、SPI信号で電圧レベル変換を行う案。
1.8Vと3.3Vの電圧変換というのは割と選択肢が少ないんですね。
(3.3Vと5Vの変換ですと結構選択肢が多いのですが。)

 ここで使用できる変換ICは大きく分けて2種類になります。
1つ目は単方向型ロジックIC。
もう1つは双方向型ロジックICです。

どちらも2電源入力タイプなので、今回の場合ですと1.8Vと3.3Vの両方を給電します。

単方向型というのはバッファーのように入出力が決まっているものです。
方向制御ピンにより入出力方向を切り替えられる物もこれに含みます。
今回の場合ですと、TIのTXU304がジャストフィットします。
たぶん、SPIバス用にリリースされている製品かと思われます。

双方向型ですと東芝のTC7QPB9306等、複数の製品が存在します。
双方向型の場合、信号の入出力方向の設定が存在しません。
任意の側から信号を入れてやれば、電圧変換された信号が反対側から出てきます。
これはI2Cバスでは非常に便利なので、昨今重宝されてる模様です。
しかしながらこのタイプはオープンドレインドライバーが基盤となっております。
従ってL->Hへの遷移時は外付けのプルアップ抵抗に頼る形になります。
プルアップ抵抗の抵抗値が高いと波形の立ち上がり時間が遅くなり、
データー伝送速度が抑制されてしまう点が要注意です。
SPIバスのような高速バスに使用する際はプルアップ抵抗をかなり下げる必要があり、
結果として変換デバイス部の消費電力増加に繋がってしまうので、
使いどころを見極める必要があると言えるでしょう。


3.非同期シリアル信号変換案




 

これはマイコンも1.8Vで駆動し、差動トランシーバーとの間で電圧変換する案です。
パッと見ではSPI変換案と大差無いようにも見えます。
SPIバス変換の場合は同方向×3+逆方向×1の、
いわゆる3+1という回路数になるわけですが、
非同期シリアル信号変換の場合は2+1で済みます。
更にSPIに比べると信号速度が遅目なので、選択肢が増えるんですね。

1つのICで済ませようと思うと、TIのTXU304やTXU0204辺りが使えます。

2+1で済むと記述しましたが、この内の1本は差動トランシーバーの送受切替信号です。
これはデーター線ほど高速に動く必要が無いので、
ディスクリートのトランジスターやFETでレベル変換させる事も可能。
そうするとデーター線は1+1のみで済むので、
TXS102やTXU102が1個で足りる事になります。

RS-422の速度を抑えれば、全てディスクリートデバイスでレベル変換も可能でしょう。
部品数が増えてしまうので、ここはお好みという感じです。


4.RS-422でレベル変換を兼ねる案


 


 

これは思い付きで頭に浮かんだ案です。

差動信号伝送というのはペアとなる信号線の位相差を使った信号伝達です。
つまり各信号自体の電圧レベルには依存していないという事になります。

ならば1.8V系システムと3.3V系システムを差動信号線で直結できるのでは?
と考えたわけです。

ここで出てくる問題点は以下の2つ。
1つ目は1.8Vで動作する差動トランシーバーが存在するのか?
2つ目は1.8Vで駆動する差動トランシーバーで3.3V信号を受けられるのか?
という点です。

探してみると1.8V動作可能な差動トランシーバーは存在しました。
ルネサスのISL32600シリーズです。
次の課題としては、この石で3.3V信号が受けられるかという点ですが・・・・・
残念ながらNGでした。

電源電圧に対する信号線電圧範囲はコモンモードレンジとして規定されています。
パッと見、この石のコモンモードレンジは必要十分な広さが有る様に見えますが、
よ~く見てみると、電源電圧に依存すると注釈が有ります。

なんと3.3V電源動作時は結構なレンジを有しているのですが、
1.8V電源動作時は±2Vのレンジしかありません。
これでは3.3Vの信号を入力することは不可能です。

ならばドライバーとレシーバーがピンレベルで分離しているISL32602を使い、
抵抗分圧で減圧した信号をレシーバーに入れるという案も考えてみました。
ところがこれも問題発生。
RS-422やRS-485では伝送路のインピーダンスマッチングの為、
両端に負荷抵抗を付けるのは 皆さんご存じかと。
ところがISL32600シリーズを1.8V電源駆動した場合、
出力ドライバーの能力の問題なのか、負荷抵抗が10KΩまでに制限されるとな。

さすがに10KΩだと まともにインピーダンスマッチングが行えません。
なので5mのケーブル伝送には使えないという事になります。
1.8V駆動の差動トランシーバーはISL32600シリーズしか見つからないので、
事実上この案は没ということになってしまいました。

余談ですが、3.3V系と5V系を繋ぐ場合には、この方法が使用可能です。
ISL32600シリーズの場合、コモンモードレンジが12Vまで有るので、
5Vの信号も余裕で受けられます。
たぶん他の石でも同様の余裕は有ると推測されます。
これは割と有用な手段かもしれません。

 

以上のような考察に基づき、回路設計と基板設計を行っておりました。
現時点は基板の発注待ちという段階です。
実機が動き出したら、この続きを書く予定ですので、
それまでは暫くの間、この話は休止です。

2024年9月8日日曜日

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

 前回は大雑把な全体像についてお話しました。

インターフェースとしてはSPIを使用するが、
電圧レベル変換が必要になるかも、というところで話が終わってました。

電圧レベル変換については後回しとしまして、
まずはSPIでの接続方法について検討していきます。

 

通常、SPIインターフェースでデバイス接続する際は、
マスター側とスレーブ側を直結するだけです。
データーINとデーターOUTの接続を間違えない限り、
特に難しい点はありません。

しかし今回は5mのケーブルを介しての接続ですので、
通常とは ちょっと話が異なってきます。

そこで私の頭に浮かんだのは以下の4つの方法です。

1.ダイレクト接続方法


 

 

 

 

 

各ユニットの出入り口にバッファーを噛ませ、各SPI信号線を直結する方法です。
メリットは回路が単純である事です。
デメリットしてはハイインピーダンス線を引き延ばす為、ノイズに強くありません。
使用する電線はシールド付き4芯キャプタイヤケーブルです。
通信速度の上限はケーブルの静電容量に支配されます。
オシロスコープにて波形を実測し、通信速度を決めるのが良いでしょう。

 

2.差動信号化方法





 

各SPI信号線を差動信号に変換する方法です。
メリットはノイズに強く、長距離伝送に耐えられる点です。
通信速度も結構高速化できます。
デメリットとしては各信号線毎にツイストペア線が必要となるので、
今回の場合だと4対のツイストペアケーブルが必要となり、
ケーブル外径がやや太めとなってしまい、価格も高めです。


3.フォトカプラーによる接続方法




 

 

 

 

 

 

 

これはちょっと珍しい方法かもしれませんが、
各ユニットの入出力にフォトカプラーを噛ませるという方法です。
フォトカプラー間の通信線は「かんたんスマートモニター」、
及びセンサーユニット部から電気的に完全絶縁されるので、
ユニット間絶縁が重要視されるケースでは重宝するでしょう。
フォトカプラーは電流駆動となるので信号線のインピーダンスが低く、
ノイズ耐性も非常に高くなります。
デメリットとしては消費電流が多くなる点と、高速通信が苦手な点でしょうか。
フォトカプラーの他にDC/DCコンバーターも必要なので、
部品代も高めになる可能性があります。

通信速度の上限はフォトカプラーの性能に支配されます。
高速通信を行いたい場合は、オシロスコープによる波形確認を行いましょう。


4.半二重RS-422による接続方法




実は今回採用する方法がこれです。
SPIの信号をPIC等のマイコンを介して非同期シリアルに変え、
差動トランシーバーにて通信するという内容です。
差動信号ですからノイズに強く通信速度も高速です。
(半二重式なので、それによる制限は発生しますが)
デメリットとしてはマイコンのファームウェア開発が必要となり、
開発工数が大きくなってしまう点です。

それでも今回、この方式を選んだ最大の理由というのが、
信号線が1対のツイストペア線のみで足りる点です。
現状、外気温をモニターするセンサーが存在するわけですが、
これはアナログ電圧値で「かんたんスマートモニター」に入力しています。
この信号線というのが1対のツイストペア線なのです。
この他に電源用のツイストペア線も走っているので、
合計で2対のツイストペア線が「かんたんスマートモニター」から延びています。

そこで半二重RS-422方式を使用すると、
現状のケーブルが そっくりそのまま流用できるのです。
外壁の通線加工が不要というのは かなり利点ですので、
工数のデメリットを承知の上で この方法を選んだのです。

通常、SPI通信は高速なので、フルにデーター転送を行われると
半二重のRS-422では送りきれません。
しかし今回の場合は通信頻度も少なく、データー量も少ないし、
リアルタイム性も求められないので特に問題にはならないでしょう。
ちなみにマイコンはマイクロチップのPIC16LF1823を使用予定です。

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

我が家では「かんたんスマートモニター」の連続稼働テストも兼ね、
外気温のモニターを続けております。
外気温だけでも見えるのは なかなか面白いのですが、
昨今の豪雨を顧みて、湿度もモニター出来ると面白いかも?
と思い始めました。

そのシステム変更について、ここで記事にしていきます。
割と長い文章になりそうなので、分割形式で記載いたします。

 

さて本題です。
湿度を測る為には湿度センサーが必要ですが、湿度センサーはピンキリです。
温度センサーのように割と簡単に精度が出せる代物ではない為、
価格と精度に かなりの幅が有ります。

例えば、オムロンの湿度センサー「ES2-HB-N」は実売約5万円ですが、
これでも精度は3%程度です。
気象庁等で使用している湿度センサーは更に高価なんでしょうね。

しかしながら湿度測定を生業にするわけではないので、
デモでそんな高価なセンサーを用意できるわけはありませぬ。

ここは大人しく秋月電子で扱っているセンサーを使用することにしましょう。


秋月電子の湿度センサーの項目を見てみると、結構な品種が並んでいます。
この中から絞り込むわけですが、実はあっさり1つに絞ることができました。
今回選んだのはAE-BME280です。

理由は単純で、これだけがSPIインターフェースを使用可能だからです。
その他の製品だと1線式インターフェースもしくはI2Cインターフェースです。

I2Cはかなり幅を利かせている様で、多くの製品で使われています。
I2Cで選ぶと選択肢が非常に広がるのですが、
今回は「かんたんスマートモニター」に接続するのが目的。
「かんたんスマートモニター」ではI2Cのインターフェースを用意していません。
これには諸々の理由があるのですが、ここでは省略いたします。

以上のような流れで、SPIインターフェースを持ってるAE-BME280を用意しました。


さて、システムの全体像はこんな感じ






 

室内に置いてある「かんたんスマートモニター」へ、
屋外のセンサーユニットを接続します。
4G回線へ接続するわけですから「かんたんスマートモニター」毎、
屋外へ設置すれば良いのでは?という疑問もありますが、
「かんたんスマートモニター」を防雨ボックスへ納める必要があり、
AC電源を室内から引っ張る必要もありまして、結構大掛かりになってしまいます。
更に室内に有ることでデバックが楽というメリットも。
なお、「かんたんスマートモニター」の屋外設置は多数事例が有り、
それ自体が難しいわけではありません。


ただまぁ、壁を通ることもありまして、
センサー部までのケーブルは約5m必要になってしまいます。


 

 

 

 

 

 

 

今度は全体像ではなく、「かんたんスマートモニター」とセンサー部の
接続について見ていきましょう。


 


 

センサー部からは測定信号を送る信号線を繋ぐのはもちろん、
センサー部の電源も「かんたんスマートモニター」から送ることになります。

 


 

 

 

 

 

電源についてですが、BME280は1.8Vが標準で最大3.6Vでも動かせるそうな。
しかしセンサーに必要以上の電圧を加えることはセンサーの発熱増加に繋がり、
測定値の誤差の原因になってしまいます。
ですので今回は1.8Vで動かす前提で考える事にします。

電源供給側である「かんたんスマートモニター」は複数種類が供給可能。
ユニットの1次電源(今回は12V)、アナログ用5V、デジタル系の3.3V、
という感じです。
1.8Vを出力する能力はありませんが、そもそも1.8Vのような低電圧を
5mのケーブル経由で供給するというのはナンセンスなので、
センサーモジュール側で降圧し、1.8Vを作成するのが一般的です。


今回使用するセンサーBME280はI2CとSPIの2種類のインターフェースを持っていますが、
今回は「かんたんスマートモニター」の都合で、SPIインターフェースを使用します。
そこで懸念事項となるのが信号の電圧レベル。

「かんたんスマートモニター」はマイコンの仕様により、信号は3.3V系となっています。

BME280の信号電圧は電源電圧依存ですから、
1.8V電源で駆動した場合は信号も1.8V系となってしまいます。

この電圧の違いを何かしらで対処する必要が出るわけです。

2024年6月30日日曜日

IoT用SIMで唸ってる

 うちはIoTハード屋を謳っているわけですが、
最近は困った状況に直面しております。

うちはハード屋という立ち位置なので、
お客さんへのIoTユニット販売は売り切りという形にしてます。
どういう意味かと言いますと、1台いくらで売り、
その後はお金を頂くことは無いということです。

IoT動作に伴う通信料金はどうすんの?という疑問が出ますが、
これは通信に関する契約をお客さんが直接結んでもらう形にします。
こうすることで、お客さんの通信費負担が最小で済むわけです。
IoT屋でこの形を取ってるのは うちだけだと思われます。

お客さんが毎月数千円も通信費を払っているならともかく、
IoTだと毎月数十円しか消費しないケースが少なくないんですね。
かと言って、その程度の金額を間に入って支払うとしたら、
事務処理の手間を含めて数百円は請求する必要が出るわけです。
お客さんから見たら、かなり損してるように感じますよね。
そんなわけで、うちは通信費請求に噛まない様にし、
手離れ良くしているのです。


というのが、当初リリースした「かんたんスマートモニター」の話。
さくらインターネットのsakura.IOを使用しているので、
毎月のお客さん負担は100円に満たないので、
上記のような販売形態をとることが可能でした。

と・こ・ろ・が!!
sakura.IOが販売終了してしまい、
新たなシステムがさくらインターネットからリリースされたわけですが、
SIMの契約の他に、クラウド側のサーバーの契約も必要なのです。
(sakura.IOでは毎月のモジュール利用費にサーバー代も含まれてる)

このクラウドサーバーの費用というのが毎月4千円以上するんですね。
クラウドサーバー1台で1万枚のSIMを収容できることになっているのですが、
他のお客さんのSIMが見えちゃまずいわけですから、
SIM契約をお客さん側で行うとしたら、
サーバーもお客さん側で契約する必要あるわけです。

SIMを数千枚とか使われてるお客さんなら問題無い話ですが、
数台のIoT機器を使いたいというお客さんが
4千円以上のサーバー台を負担するというのは酷な話ですよね。


そんなわけで、当初の「かんたんスマートモニター」の売り方が
出来なくなってしまって困惑中なのでございます。

2023年4月7日金曜日

CO2センサーの話 その2

前の記事の続きです。
タイトルは異なってますが、続きの内容なので「その2」としてます。

風呂に浸かりながらインターフェースについて検討。
やはり風呂での検討は思案が進んで良いのです。

単にセンサーの値を飛ばすだけが目的ならば、力技で繋いで済む話。
しかしどうせならば、更にプラスαを加えたいところ。
てなわけで、仕事場兼居間のCO2値をモニターしてやることに。
するとここで問題となるのが、「かんたんスマートモニター」までの距離。
「かんたんスマートモニター」の本体は隣の部屋の窓際にあります。
なのでここまでセンサーの線を引っ張る必要があります。
そうなると一番有力な手段は差動信号による非同期シリアルですね。

差動の非同期シリアルというとRS-485を思い浮かべる方が多いかと。
非常に一般的であり、「かんたんスマートモニター」でも一応サポートしてます。
しかしRS-485は半2重動作なのに対し、
CO2センサーの非同期シリアルポートは全2重動作です。
CO2センサーをRS-485のネットワークに乗せるには、
マイコン等による送受制御動作が不可避。

なのでここはRS-485に拘らず、全2重方式で通信することにしましょう。
いわゆるRS-422方式ですね。


ちなみに差動の非同期シリアル以外も検討してみましたが、
I2Cをケーブルで引き延ばすにはリピーターICを噛ます必要があります。
普段I2Cを使っていない身として、そんな石を持っているわけもなく、
わざわざ揃えなきゃならない & I2Cの実装の手間も大きい、
という点を顧みると全くお手軽さが無い為、I2C案は没です。

次にPWMを使う案ですが、PWM出力はLPFを通すとアナログ電圧値になるので、
「かんたんスマートモニター」のアナログ入力に繋ぐことで、
割りと簡単に値を読み取ることができます。
ケーブルを延ばすのも そんなに苦にはなりません。
ただ、まずLPF回路を作成する手間が発生することと、
「かんたんスマートモニター」標準のアナログ入力分解能が10bitという点がネック。
10bitということは1/1024までしか細分化できません。
せっかくセンサー自体は0から32000ppmまでの値が測れるのに、
10bitの分解能は ちともったいないですよね。
ということで、アナログ信号案も没に。


話を戻しまして、RS-422での通信ですが、
センサー側はシリアル通信線2本を差動信号トランシーバーに繋げば完了。
難しい回路ではないので、特に問題にはなりません。

「かんたんスマートモニター」側も、製作済みのモジュールを刺せば完了・・・・・
と思いきや、RS-422動作可能なモジュールが無いことに気づきました。 orz
既に有るのはRS-485動作専用品だったのです。
RS-422動作可能なトランシーバーを搭載しているにもかかわらず、
基板上でTXとRXを接続してしまっているので、半2重専用なのです。
う~~ん、さてどうしたものか。
この機会にRS-422動作可能な基板を作るのも有りかなぁ・・・・・

2023年4月6日木曜日

PAS CO2センサー

 4/5~7の日程でIoTソリューション展がビッグサイトで開催されてまして、
そこでチップワンストップさんよりCO2のセンサーを購入してきました。
別にセンサーが欲しくて展示会に行ったわけではないのですが、
なんというかお祭り的なノリ?(笑)

で、購入したのがこれ。
















 

InfenionのXENSIV PAS CO2センサーという代物。
ちなみに今回購入したのはセンサー本体のみではなく、
評価・開発用のモジュール基板で「EVAL_PASCO2_MINIBOARD」という名称。
センサー本体はBGAの様なので、
このようなモジュール基板を出してくれるのは有り難いですね。

環境モニターの概念が広まったせいか、
センサーを使ったCO2のモニターを見かける機会が増えましたが、
私自身はCO2センサーを触ったことがありませんでした。
そういう案件が無かったからなのですが、
うちでは「かんたんスマートモニター」が常時稼働していますから、
センサーさえ繋げば簡単にCO2のモニターが可能。
ならばこの機会に試してみるか?と思ったわけです。









 

常時稼働中の「かんたんスマートモニター」


データーシートに目を通して、お!と思ったのがLifetime。
寿命のことですが、10年とのこと。
ガス系のセンサーだと機体と接する部分の劣化により、
寿命が短いセンサーというのも存在します。
それを考えると10年というのは十分な長さかなと。

供給電源ですが、+3.3V 10mAは納得として、+12V 150mAも必要!!
この12Vは測定部で使うらしいのですが、なかなかの大食いですねぇ。
3.3Vも含めると約2W食う計算。
電池駆動だと常時稼働は厳しいような気が。
間欠駆動させる場合、センサーの立ち上がり特性が気になるところですが、
データーシートのどこかに記載されているのかな??
現時点では まだ見かけていません。

さて次に気になるのはインターフェース。
以下の3つの出力を持ってるそうな。
  ・I2C
  ・非同期シリアル
  ・PWM

PWM出力は測定値のアナログ出力の代わりという感じなのかな?
まだイマイチ理解できてません。

I2Cはお馴染みですね。

非同期シリアルは3.3Vレベルの信号。
レベル変換ICを繋げばRS-232としてパソコン等にも繋げますね。

データーシートではI2Cについては詳しく書いてあるのですが、
他のインターフェースについてはアバウトにしか書いてません。
「詳しくは公式サイトを見てね」と記載されてます。
なんという不親切な。 orz

まぁ実際のとこI2Cを使う人がほとんどだからなのでしょうね。
しかし、うちではI2Cは使いません。
「かんたんスマートモニター」もハード的にはI2Cを使えないことはないですが、
ファームウェアが厳しいのです。
意外な思われる方が多いかもしれませんが、
C言語で書くならI2Cの使用は難しくないと思われますが、
「かんたんスマートモニター」のファームはアセンブラー。
アセンブラーでI2Cを使用するのは結構面倒なのです。

そんなわけで、使うとしたら非同期シリアルかなぁ。

この続きは また改めて。

2022年12月18日日曜日

新価値創造展2022終了。

 デザインオフィス・シィ様のご好意で、今年も新価値創造展へ出展いたしました。
うちのような弱小は単独での展示会出展なんか厳しいもんで、
間借りさせて頂けるのは大変助かるのです。









今回の新価値創造展では「防災」のジャンルが無くなった為、
「測定分析・試験」というジャンルで出展することになりました。
正直、なんで「防災」ジャンルを無くしたのか、非常に疑問なところ。
このジャンルは注目度高かったんですけどね。
防災向け製品を出してた某会社さんも防災ジャンルが無くなってしまった為に、
よくわからんジャンルに振り返られてしまい、閑古鳥鳴いてたそうな。
決して製品が悪かったとは思えないので、展示会主催者側の問題だと感じた次第。

それはさておき、うちも現時点で即売可能な製品は少なくて、
「かんたんスマートモニター」と「V/Aプローブ」くらいなのですが、
ジャンルから外れてはいないものの、完全に噛み合ってるとも言いがたい感じ。
特に「V/Aプローブ」はターゲットユーザーがニッチなもので、
あんま前面に出しても仕方無い感じでして。

そんなわけで今回の主役も「仮設水位発信機」。
今回は機能実証試験機の実物を展示しました。


 

 

 

 

 

 

 

左側奥が機能実証試験機

製品ではないのでデザインも垢抜けない代物なので、
お客さんの目を引かないのが難点。
そもそも仮設水位発信機という製品概念が世の中に無いので、
デカデカのパネルを掲げていても皆さんスルーするわけです。

ところがいざ製品について説明差し上げると、皆さん非常に興味を持って頂けるんですね。
パっと見で判りづらい展示という点はマイナス要素だと思うので、
今後は要改善の必要がありますね。

2022年5月22日日曜日

フィールドテストにトライ

 ちと進歩が遅れ気味の仮設水位発信機ですが、
フィールドテストの準備をちまちま進めておりました。

そして先日、ついにフィールドテストへ出かけることに。

場所は静岡県内の某所。
そこそこ大きめの川で、すぐ近くに宿泊施設が有る場所となると、
なかなか選定が難しいんですよね。

これがフィールドテスト機。


 

 

 

 

 

 

 

 

 

センサー部を支えてるブームは もっと伸ばせる設計になっているのですが、
現地の状況では これで十分でした。

これを仮置きし、データー採取開始。


 

 

 

 

 

 

 

 

 

落下防止のため、ヒモを付けていますが、
重心が本体側に有るので全く安定しています。
もしセンサーのブームを伸ばした場合は重心が前に出てしまうので、
何らかの対策が必要になります。

センサーから値は取れているものの、水面ではなく川底の値の模様。
時間が経過しても値が変わりません。
というのも、このテストを行っている間、水位は数十cm変化しているのです。
水面が測れているならば、確実に測定値に現れるはず。

川を覗いてみると・・・・・・・












 

写真の色具合のせいで、泥っぽい色にも見えてしまいますが、
実際には 水が非常に澄んでいます。
川底がキレイに見える状態なのです。
泳いでいる魚もクッキリ解ります。
さすがにこの状態だと厳しい模様。

もっと水位が有れば少しは状況が変わるのかもしれませんが、
前日に雨が降ったにも関わらず、たぶん50cmくらいしか水位ありません。

これはまた後日リトライですね。

2022年1月4日火曜日

電圧モニター等で使えるケース

 年末年始、仕事の合間を縫ってケースの製作も行ってました。
 先日ちょろっと書いた「電圧モニター」を入れる為のケースです。
と言っても、「かんたんスマートモニター」の基板が入るケースなので、
「電圧モニター」のみならず汎用に使用可能なケースです。

で、最終的に出来上がったのがこれ。


 

 

 

 

 

 

 

 


特に何か特徴有る代物ではありません。
「かんたんスマートモニター」の基板と、アンテナ2本が中に格納されてます。
(基板に対してケースが長いのはアンテナせい)

3Dプリンターの出力に起因する筋が大分見えてますが、
売り物ではないので特に問題無し。

なるべくコンパクトに作りたかったので、オプションモジュールの装着は諦めました。
そのおかげで、割と薄くなってます。

 うちの3Dプリンターは最大造形サイズがあまり大きくないので、
このサイズは一発で出力できません。
なので、底側は3分割、カバー側は2分割で作ってます。
ただ分割するだけでは組みあがらないので、
各々をジョイントするパーツも必要。
このケースは総数11個のパーツで構成されてます。(ネジは除く)

パーツの勘合固定にはPタイトの皿ビスを使用・・・・と言いたいところですが、
ウィルコにはφ2.6×6mmの皿ビスはBタイトしか置いてないもので、
今回はBタイトビスを使用してます。
Pタイトに比べると、わずかに強度が落ちるはずですが許容範囲かと。
ちなみに上記サイズのPタイトビスは「ねじ№1ドットコム」にて見つけたので、
今後は そちらに置き換え予定です。

写真では陰になって見えないのですが、
ケースの上部にはフック穴が有りまして、
壁掛けや紐吊りが出来るようになってます。
既成品のケースを使わず、わざわざ3Dプリンターで自作した理由が、
このフック穴だったりします。
現場だと置いて設置するのが難しい場合有るんですよ。

ちなみにこのケース、最初はカバーを4分割で出力しましたが、
すると当然、構成パーツ数も更に増えるわけでして、
3Dプリンター出力のわずかな誤差という歪みが響いてきて、
ちょっと見た目が悪いカバーになっちゃったんですね。
この辺は家庭用3Dプリンターの限界かなぁ。

6~7割ほどのパーツを出力し直したもんで、フィラメントを結構消費。
グレーのフィラメントが足りるか、ヒヤヒヤもんだったというオチ。
なんとかギリギリ足りましたが。

2021年12月25日土曜日

電圧モニター

 某お客さんの案件で、モニター装置の具合が良くないという話がありまして、
サクっと様子を見に行ってきました。

結果としては、当方の装置はほぼシロだったわけですが、
今回の話のネタは、その際に使用した装置。

問題の装置というは4-20mA出力のセンサーを電圧信号に変えてから、
複数の装置を経由してます。
なので、途中経路の電圧値を見てやれば、どこがおかしいかを特定可能。

ということで今回、仮設で電圧をモニターできるユニットをこしらえたわけです。

電圧をモニターするユニットというと、簡単に頭に浮かぶのは電圧ロガー。
電圧を採取しメモリーに溜め込み、あとでPC等で解析するという代物。

もちろん電圧ロガーでも同様のことは可能ですが、
PCでデーター解析なんて二度手間ですし、
PC不要のモニター画面付きタイプは大きくて高価。
そもそも私は電圧ロガーを所持してません。

てなわけで、「かんたんスマートモニター」を電圧をクラウドに飛ばすようにしたのが、
今回の仮設モニターユニットです。

「かんたんスマートモニター」には電圧入力端子が有りますから、
ここに採取電圧を入れるだけでも良さそうですが、
今回は念のため、バッファーアンプを入れてやりました。

「かんたんスマートモニター」の電圧入力端子は
標準だと入力インピーダンスが47KΩくらいです。
オペアンプ入力なので、カスタムすれば もっと入力インピータンスを高くできますが、
ノイズ耐性を考えると入力の信号線を長くできないので、使い勝手が悪くなります。

なので「かんたんスマートモニター」本体の入力インピーダンスはそのままで、
入力インピーダンスが高いバッファーアンプを信号を拾い、
「かんたんスマートモニター」に送るという構成にしました。

クラウドに上げたデーターは、何らかの方法で見る手段が必要となりますが、
毎度おなじみのNode-Redの出番でございます。
CSVファイルに吐き出すなんてことは出来ませんが、
電圧値と変化グラフを表示するくらいなら これで十分。
グラフはスクリーンショットで記録に残しました。
宿に戻ってからヌクヌクしながらPCで採取電圧をモニターしてました。
もちろんスマホやタブレットで見ることも可能。

とまぁ、こんな構成で十分役に立ったのでした。

今回はACアダプターで電源を取ったのですが、乾電池で動かすことも可能なので、
予想以上に便利かもしれないなぁと感じてるところ。

改めて商品化うんぬんというほど、おおげさな代物でもないのですが、
興味ある方いらっしゃいましたら お声がけください。

2021年12月22日水曜日

外気温センサーの不具合

 うちでは、「かんたんスマートモニター」の動作試験も兼ねて、
外気温を測ってクラウドに飛ばすということをやってます。

気象業界で定められた測定方法の則っているわけではないので、
ここ周辺の気温として公表できるような代物ではありません。
あくまでも「かんたんスマートモニター」の試験が主目的です。
とはいえ、結構興味深い値が取れてるので、
個人的には使い物になってるという感じ。

もう2年以上稼動させているのですが、
先月頃、変な値が出るケースに遭遇しました。
誤差というレベルではなく、センサーからの出力が「かんたんスマートモニター」に
届いてないという感じです。

部品の故障?とも思いましたが、調子おかしくなるのは夜遅くからで、
日が昇って暫くすると回復するんです。
その後もそのまま様子を見ているのですが、最近は問題ありません。

ということは部品は問題無さそう・・・・・・・・
なので考えられるとすれば、結露でしょうか。

外に置いてあるセンサー基板は、当然の如くコーティングかけております。
そうしなければ、結露のみならず、色んな要素で あっという間におかしくなってしまいます。

しかしここにきて こんな不具合が起きたということは、
コーティングに剥がれが起きているということなのかな??
もしかしたらセンサー自体の可能性も考えられるのかな?

何にしても、ちょっと興味深い結果です。

ぼちぼち設計進めてます

 先日の展示会で好評頂きました「仮設水位発信機」、
次の段階のテストへ向けて作業中です。

センサーユニットが防水構造では無い為、
センサーを収める箱から用意しなければならない点が面倒なところ。
試作だけなら3Dプリンターで出力することで、どんな形状でも行けますが、
量産を考慮するとなると話が変わってくるわけです。

そんなわけで、設計に ちと苦慮しておりました。



2021年12月14日火曜日

展示会に出展

テックフロンティアの公式サイトをご覧の方はご存じかと思いますが、
新価値創造展2021に出展していました。
と言っても、デザインオフィス・シィ様のブースの一部をお借りする間借り出展です。
うち単独での出展は、まだまだ先ですねぇ・・・・・(遠い目

新製品である「V/Aプローブ」を展示した他、
現在開発中である「仮設水位発信機」も情報公開しました。

展示エリアのジャンルが防災・減災だったこともあり、
「仮設水位発信機」は予想外に注目頂きました。
こういうのは開発の励みになりますねぇ。

しかし、「仮設水位発信機」は水位の測定に手こずっている状況。
昨日、新しいセンサーのテストを行ったところ、良さそうな雰囲気。
とりあえず、第1段階の評価テストはクリアーです。

次は諸々準備して、第2段階のテストです。
今月中に行いたいところですが、予定が詰まりつつあるので、
来月になっちゃうかなぁ・・・・・

2021年7月13日火曜日

超音波センサーでの水面検出

 先月からぼちぼちと、センサーのテストを行っておりました。
タイトルにも書きましたが、超音波センサーでの水面検知です。

単に水面の有無を見るのではなく、水面までの距離を測るというもの。
短距離ならば そんなに大変でもない様ですが、今回はMAX10mというスケール。
これだけの長さとなると、そもそもセンサーが限られてしまいます。

金に糸目を付けなければ、高価で強力なセンサーを使用することで、
そんなに面倒無く測れるのかと思いますが、
計画しているアプリケーションは なるべく安価に抑えたい代物。
なのでセンサーに掛けられる費用も限りあるところ。

手頃な価格で10mまで検知できるセンサーを物色していたところ、
中国メーカー製で なんとか見つかりました。
いざ実際にテストしてみると・・・・・・・・・

う~~ん、10mは無理っぽい。
だいたい6mくらいの距離から測定してみたのですが、
反射波を捉えられない模様。

完全に静止した水面ならば測れるのかもしれませんが、対象は動いている水面。
もっとセンサーを近づけてみて、どれくらいなら測定できるかも知りたがったとこですが、
残念ながら用意したセンサーケーブルの長さが足りず、
これ以上近づけることができませんでした。

とは言え、動態の水面を超音波センサーで測るのは難しいんでしょうね。

ということでセンサーの選定から やり直し。

2021年5月18日火曜日

V/AプローブにSPIインターフェースが実装できた

 鋭意開発中の「V/Aプローブアダプター」、
RS-422タイプの差動非同期シリアルインターフェースは実装できたのですが、
もう1種類のインターフェースであるSPIインターフェースの実装に難儀してました。

もうかなりの手探り状態になってしまった為、
一時はSPIインターフェースの実装は棚上げしようかと考えたほど。
実際、RS-422インターフェースだけで十分仕様できるので、
SPIインターフェース無しでも実害は少ない感じかと。

とはいえ基板上の実装部品がムダになってしまうので、
可能ならば実装したいと格闘を続けておりまして、結果なんとかなった模様。

結論から言えば、SPIスレーブモードでの動作時は、
1byte単位でデーター転送する必要があるようです。

私が通常、SPIバスを使う際はマスターモードで動かします。
チップセレクトはイネーブルのまま、クロックを連続送出することで、
何byteでも送受信することが可能だったんですね。

ところが今回、V/Aプローブではスレープモードでの動作。
端末側からクロックを送ってやっても、なぜか1byteしかデーターを送れない!!
SPIバスのSS信号は今回不使用。
ならばクロックを送った分だけデーターが送れるはずなのだが・・・・・・

試行錯誤の結果、端末側からV/Aプローブに対するチップセレクト信号を使い、
1byte転送毎にSPIモジュールをリセットするようにしてみたらバッチリ。

結果として端末側ユニットの制御プログラムが複雑になってしまいますが、
やむをえないところですね。
いよいよ面倒な内容になりそうならばRS-422インターフェースを使ってもらえばいいわけですし。

そんなわけで、当面の最大の山は乗り越えました。

2020年9月5日土曜日

インバーターノイズとバトル

 先日、Iotユニットを設置した現場、ポンプにインバーターが入っておりました。
これが ものすごくノイズを撒き散らす代物で・・・・・・・

Iotとしては温度やら流量やらの測定値を飛ばすという内容なのですが、
センサー類は全てアナログ信号のインターフェース。
これらに壮絶にノイズが載ってくるんですね。

ディファレンシャルノイズであればノイズフィルター噛ますだけで、
割と簡単に対処も可能なんでしょうが、
どうやら敵はコモンモードノイズの模様。
現地で小手先の対処の無理無理無理無理ぃぃぃぃぃぃぃ

そんなわけで、今月中に再度行かなきゃならなくなってしまったわけですが、
ここのノイズが酷いのは今に始まった話ではなく、設備設置当初からだそうな。
そういう大事な話は ちゃんと こっちに伝えてくださいよー (;;

ノイズ対策の基本を ざっと羅列すると

①適切なアース処理

②金属電線管によるシールド

③電源線と信号線の分離

④ツイストペア線の使用

てな感じでしょうか。

で、上記を踏まえて先程の現場を見てみると・・・・・・・

・インバーターが納まってる動力盤にアースが取られてない。
・電線管は全て樹脂製。
・流量計は電源と出力信号が1本のキャプタイヤケーブルに纏められてる。
・ツイストペア線が使われてる箇所が無い。

ってな感じで、ダメ出しのオンパレード。
しかしここはお客さん側のテリトリーなので、こちらで手直しすることもできず。(;;

もし私の方に手直しを依頼されたなら、こんな感じにするかな。

まず流量計の配線に対しては、流量計のすぐ傍にプールボックスを設置し、
その中で電源線と信号線を分ける様にします。
電源線にはノイズフィルターを挿入し、流量計へのノイズ流入をブロック。
信号線にもコモンモードノイズフィルターかフェライトクランプを挿入し、
ツイストペア線でIot機器まで引っ張るという感じ。
この際、電源線と信号線は別々の電線管で走らせます。

ポンプの動力線についても金属管に収めなおし。
そしてポンプの近くにプールボックスを設置し、動力線を置き換えます。
実はこのポンプって水中ポンプなのですが、
設置型の水中ポンプの動力線って平型のキャプタイヤケーブルが使われてるんですね。
これをプールボックス内で、一般的な丸型のキャプタイヤケーブルに繋ぎなおして、
動力盤まで持っていきます。
丸型のキャブタイヤって、中の線は捩れながら納まっているんです。
つまり、ちょっとしたツイスト線構造なんですね。
それに対し平型のキャプタイヤケーブルは中の線が全て平行状態で納まってる。
この違いにより、若干ですけれど平型キャプタイヤケーブルの方が、
ノイズを放射しやすいというわけなのです。

とまぁ、ざっくりと書きましたけれど、実際これらの施工にはそれなりの工事費用が必要。
とても気軽にお客さんにお勧めできる代物ではないんですね。
はぅぅ、困ったもんです。