とある案件にて、超音波測長センサーを使用してまして、
当初使用したセンサーから2種類めのセンサーに換えた際のトラブル話です。
当初使用していたのはMaxBotix社のMB7383というセンサー。
画像は秋月電子様より
お手頃価格で10mまで測れ、仕様的に使い易く、入手性も良好。
なかなか良さげな製品ですね。
これを使って各種テストを行っていたわけですが、
唯一の難点は検知範囲の広さ。
レーザーの様にピンポイントで超音波が当たるわけではないので、
側方に壁等が有ると検知してしまう場合があるんですね。
なので設置が やや面倒なのでした。
そうこうしている内にMB7051という製品が発売されました。
画像は秋月電子様より
写真で解る通り、ホーンが延長されています。
これにより指向性がかなり狭まり、側方の影響を受けづらくなりました。
センサーが大型化した点は ちょっとだけ困惑ですが、
設置環境に関しては かなり改善されるので、
早速こちらのセンサーへ置き換える事にしました。
接続端子部も電源電圧等もMB7383と同一なので、
サクっと差し替えて動作チェック。
特に問題無さそうです。
このシリーズのセンサーは複数種類の出力を持っています。
1つ目はTTLレベルのシリアル信号出力。
2つ目はアナログ電圧出力。
3つ目はPWM出力です。
メーカー的にはシリアル出力利用がお勧めらしいです。
たぶん、センサーの測長処理を行うICがシリアル信号まで生成し、
そのデジタル値を基にアナログ電圧を生成していると推測されます。
なお、PWM出力については どこで生成してるか不明です。
そういうわけで、センサー個々のテストはシリアル出力を使って行ってました。
TTL-RS232変換器を噛ませば、簡単にパソコンへ繋げられます。
センサーの個体テストが完了したところで、いよいよターゲット装置へ組込み。
この装置ではシリアル出力を使用せず、アナログ電圧出力を使用します。
シリアル信号は他のセンサーで使用するので、ポートが埋まっている為です。
いざ稼働させると、測定値が何かおかしい!!
測定距離がとても短くなってしまいます。
MB7383では全く問題無かったので、疑うとしたらMB7051です。
結論から申し上げると、MB7383とMB7051では、
アナログ電圧のスケーリング値が異なってました。
どちらも0~10mレンジのセンサーで、
シリアル信号出力では全く同じ様に信号が出てきます。
ところがアナログ電圧出力では異なっているのでした。
MB7383では0~10mに対し、0~5Vの電圧が出てくることになっています。
それに対しMB7051では0~10mが0~2.5Vの電圧出力となるのです。
マニュアルの一部に、文章でサラっと書かれていたので
気づくのに時間掛かってしまいました。
思い込み効果が発動してたようで、反省反省。
なんでこんな紛らわしい仕様変更しちゃったのかと推測すると、
アナログ回路の出力電圧域の問題と思われます。
センサーの電源電圧は3.3~5Vなのですが、
それを昇圧することなく、そのままアナログ回路に使用している模様。
すると当然ながら、アナログ出力が電源電圧まで振れること無いわけです。
MB7383では距離10mの時にアナログ電圧出力値が電源電圧の値になる仕様。
つまりアナログ電圧出力では10mの距離が測れないという話です。
それに対しMB7051だと距離10mでも2.5Vしか出てこないので、
上記の問題は回避できるわけです。
この改良は良いと思うのですが、ならばMB7383の時点で
この仕様にしてて欲しかったですね。