BTE010 ショップページへ
BTE011 ショップページへ

E141_3D.png

概要 anchor.png

本装置はST社製VL53L0X(赤外光の反射時間を測定する事で測距するセンサモジュール)を使用した非接触測距センサです。
VL53L0XとCPU及び周辺回路を搭載し、CPUのファームウェアを書き換える事により、対象との測距データをデジタルパケットで取得したり、ホストレスで単体で距離をアナログ電圧に変換して出力させるといった運用ができます。

Page Top

仕様 anchor.png

Page Top

同梱内容 anchor.png

型式数量備考
センサ本体1E141
ケーブル1
1
BTE010molex<->JST 3p 180mm cable
JST<->JST 3p 180mm cable
1
1
BTE011molex<->JST 4p 180mm cable
JST<->JST 4p 180mm cable
Page Top

基本仕様 anchor.png

商品番号ToFセンサ(TTL)BTE010
ToFセンサ(RS485)BTE011
主要コンポーネントCPULPC845M301JHI33
センサVL53L0X
DAC(評価版のみ)MCP4726A0T-E/CH
リビジョンE141
動作温度範囲-20~+70℃ (結露無きこと)
保存温度範囲-40~+85℃ (結露無きこと)
電源電圧DC5.6~45V (絶対最大定格:DC50V)
最大消費電力0.4W
レーザー安全基準IEC 60825-1:CLASS 1
IR中心波長940nm
推奨検出距離20~1200mm
コマンドシグナルデジタルパケット
プロトコル半二重非同期通信 8-1-N
リンク方式ToFセンサ(TTL)1ワイヤ双方向
ToFセンサ(RS485)RS-485
通信速度9.6k~2Mbps
AO端子シンク・ソース電流40mA以下
分解能10bit
DO端子シンク電流1.3A以下(オープンドレン)
絶対最大定格60V
寸法約40.0×13.0×H10.0mm
重量20g以下
環境配慮RoHS準拠, 鉛フリー半田

Page Top

内部簡略ブロック及び回路図 anchor.png

E141_block.png
Page Top

外観 anchor.png

TOPBOTTOM
3D pdf
E141_Top.png
E141_Bottom.png
3D pdf

※図はRS-485 I/F版。実際に装着されるコネクタは商品番号によって異なる

Page Top

外形・配置 anchor.png

E141_LAYOUT.png

※単位mm
※図はRS-485 I/F版。実際に装着されるコネクタは商品番号によって異なる

:idea:本機を設置する際は「接触禁止領域」のパーツ及びランドに固定部材が接触してはならない。
他の電位へ短絡したりパーツを欠損した場合、本品の永久破壊を招く。
Page Top

各機能詳細 anchor.png

主要コンポーネントについての詳細です。

Page Top
CN1 anchor.png
  • 1.27mmピッチ5ピンランド
    E141_CN1.png
  • CPUのSWD用
    端子番号信号名
    13.3V
    2GND
    3SWDIO
    4SWCLK
    5RESET
:idea:CN1は出荷時にブートローダの書き込みや調整に使用する目的で備わっており、ユーザに解放しているものではない。
Page Top
CN2, CN3 anchor.png
Page Top
BTE010 (TTL I/F版) anchor.png
  • 2.5mmピッチ4ピンランドのうち3ピンにJST B3B-EHを装備
    E141_TTL_CN.png
    Pats NameJST Parts Number
    基板用ヘッダーB3B-EH
    ハウジングEHR-3
    ターミナルSEH-00x
  • 1ワイヤによる0/5Vレベルの半二重双方向シリアルI/Fと電源
    送信時はプッシュプル出力
    TTL_half.png
  • SIGNAL端子は220kΩの抵抗を介して内部の5V電源へウィークプルアップ
  • 使用されないRS-485 I/Fの影響を回避するため、終端抵抗をONにする事
  • 2つのコネクタはいずれも内部で並列に接続
  • TTL I/Fと電源は以下の端子に接続 (端子番号はコネクタの仕様に基づく)
    Dynamixel Xシリーズ互換
    B3B-EH.png
    端子番号信号名
    1GND
    2VDD (DC5.4~35V)
    3TTL Signal
Page Top
BTE011 (RS-485 I/F版) anchor.png
  • 2.5mmピッチ4ピンランドにJST B4B-EHを装備
    E141_RS485_CN.png
    Pats NameJST Parts Number
    基板用ヘッダーB4B-EH
    ハウジングEHR-4
    ターミナルSEH-00x
  • RS-485による半二重双方向I/Fと電源
    RS485_half.png
  • 2つのコネクタはいずれも内部で並列に接続
  • ソフト的にON/OFF可能な終端抵抗を装備(評価版は未装備)
  • RS-485 I/Fと電源は以下の端子に接続 (端子番号はコネクタの仕様に基づく)
    Dynamixel Xシリーズ互換
    B4B-EH.png
    端子番号信号名
    1GND
    2VDD (DC5.4~35V)
    3RS-485 D+
    4RS-485 D-
Page Top
AO, DO anchor.png
  • 2.5mmピッチ2ピンΦ1mmランド
    E141_DO_AO.png
  • AO
    基準電圧 3.3V
    電流制限機能なし
    E141_DAO_SCH.png
  • DO
    LOWないしハイインピーダンス出力(オープンドレイン)
    HIGH論理を確立するには任意電圧へのプルアップ抵抗が必要
    電流制限約2A(@5V)
    E141_DO_SCH.png
Page Top
PB1 anchor.png
  • プッシュボタンスイッチ
    E141_PB1.png
  • プログラムにて任意の目的に使用可能
  • 押下でCPUのPIO0_5(RESET)がGNDに接地
Page Top
LED1 anchor.png
  • LED
    E141_LED1.png
  • プログラムにて任意の目的に使用可能
  • CPUのPIO0_24にシンク接続
Page Top
U7 anchor.png
  • ST VL53L0X 測距センサモジュール
    E141_U7.png
  • 以下の円錐形の外側がコクターとエミッターにおける除外範囲
    E141_U7_CONE.png
:idea:センサ表面には保護ライナーが添付されているため、使用する前に必ず剥がす事。
剥がさず使用すると正常な計測結果が得られない。
E141_U7_LINER.png
:idea:発光及び受光部の開口部が非常に小径のため、センサ表面を直接触れるなどで汚染しないこと。
開口部に異物等が混入すると正常に計測できなくなる。
Page Top

各機能概要 anchor.png

Page Top

ブートローダ anchor.png

出荷時点でCPUのフラッシュROMには弊社オリジナルのブートローダが書き込まれています。CPUの起動直後に必ず実行され、ユーザプログラム(以後ファームウェアと称する)へ実行を遷移させたり、シリアルターミナルプログラム等を使ってファームウェアの書き換えが行えます。
なお、本品のシリアルI/F・LED周りの回路はDXMIOと合わせているため、DXMIOのそれらの設定をそのまま流用して開発ができます。

また、ファームウェアの書き換えにはCN2,CN3の仕様に合ったBTE068BBTE079BTE080のいずれかのI/Fが必要です。

Page Top

CN2, CN3, AO, DO anchor.png

I/Fの違いで3ピンないし4ピンのコネクタが装備された上で出荷されます。I/Fの違いがあっても両I/Fの回路はいずれも装備されており、半田ジャンパ(JP1)にて信号のルートを選択しています。
アナログ出力用のDACとオープンコレクタ出力のDOはランドのみが用意され、いずれもCN2,CN3のGNDを基準とします。

  1. スタンドアロンでの運用
    出荷時は本ファームウェアが装備され、ホストレスでデジタル出力やアナログ出力の条件設定をPB1の操作によって行う。
    basic_connection1.png
  2. ファームウェアの書き換えや通信を行うファームウェアでの運用
    ファームウェアの書き換えには電源のON/OFFを伴う操作があるため、RS-485とTTLの両I/Fを装備した電源スイッチ付きのDXHUBを使用すると便利である。
    basic_connection2.png
  3. 複数台と通信するファームウェアでの運用
    Dynamixel互換プロトコルを用いたファームウェアは個々のセンサをIDで識別するため、DXHUBのコネクタに必要台数を接続させたり、本品のコネクタを用いて数珠つなぎして使用可能。数珠つなぎする際は、コネクタやケーブルのディレーティング・導体抵抗・接触抵抗等を考慮した数にとどめる必要がある。
    basic_connection2-1.png

なお、図では簡略化のため配線を直線で描画していますが、配線自体も回路の一部です。配線が長くなればなるほど電気的な影響を無視できないため、例えばRS-485 I/F版では電源のVDD/GNDとRS-485のD+/D-の配線にはシールド付きツイストペアケーブルを使用するべきです。

twistedpair.png

また、RS-485 I/Fにはソフト的にON/OFFできる終端抵抗を内蔵していますが、各ファームウェアにおいて終端抵抗はデフォルトでONに設定されているため、そのままの状態で複数台を同時に運用すると、RS-485トランシーバの駆動能力を超えてしまい通信ができなくなります。必ず回路構成上末端に配置される装置の終端抵抗のみをONにします。

termreg.png
Page Top

PB1 anchor.png

押下するとCPUのRESET端子がGNDに接地されます。しかし、RESET端子は実行中のファームウェアにより機能を変更する事ができるため、必ずCPUのリセットが行える訳ではありません。

  1. リセット機能が有効の場合
    押下する度にCPUはリセットされ、放すとブートローダが起動し、書き込まれているファームウェアへ実行が遷移する。
    ファームウェアが書き込まれていなければ、ブートローダのコマンドモードが起動する。
  2. リセット機能が無効の場合
    ファームウェアによりRESET端子がGPIOの入力端子として構成されていると、押下してもCPUへリセットを発行することができない。
    ブートローダのコマンドモードを起動するには、電源のOFF/ONと併せてターミナル等からのコマンドが必要となる。
Page Top

センサ anchor.png

en.img2_vl53l0x.jpg

VL53L0Xを機能させるにはかなり面倒な手順が必要で、容易に目的の動作を実現することはほぼ不可能です。データシートの記述は電気的な特性や簡単なフローの記述程度にとどめられており、実際にはST社の評価キットAPIを用いて挙動を解析する以外に詳細を知る手段がありません。
また、機能を欲張るとST社のAPIによりCPUのメモリを食い潰してしまうため、本品では必要最低限の機能を用い、初期化・測距データ取得・4つのプロファイル切り替えのみに止めています。

Page Top

開発環境 anchor.png

紹介する開発環境に含まれるツールの連携を次図に示します。おおまかには2つのパスをサポートします。

[添付]
Page Top

GCC Developer Lite anchor.png

GCC Developer Liteの詳細についてはこちら
フルインストールないしNXP LPC82xで使用を選択する事で必要なコンポーネントが自動的にインストールされます。 LPC824で使用される主要なコンポーネントを簡単に示します。

  • GCC Developer Lite

    ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。

    gdl.png
  • SIMPLE TERM

    汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
    USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。

    sterm.png
  • ARMGCC

    ARMコア向けGCC(GNU Compiler Collection)。GCC Developer Liteより適宜呼び出され、ユーザソースのコンパイル・ライブラリ等とリンク・ファイルフォーマット変換等を行う。

  • ターゲットファイル

    LPC82xの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、スタートアップルーチン、それらをコンパイルしてアーカイブしたライブラリファイル、GDBにてデバッグする際に使用する初期化ファイル、目的別に異なるメモリマップを定義したリンカスクリプトファイルを含む。

Page Top
ターゲットファイル anchor.png

GCC Developer LiteではLPC82x用の設定を複数備えています。
例えば、ARMコアの学習・組み込み向けCコンパイラの習熟・内蔵ペリフェラルの機能を試すといった段階ではJTAGを使ってRAM上でデバッグし、慣れてきたらブートローダを経由してprintfデバッグ、最終的に製品等としてリリースして完成させる時はフラッシュROMに、といった段階を踏む場合でもGCC Developer Liteのコンパイルオプションの設定リストから選択し直すだけで設定が完了します。

[添付]

以下に本品で有用な設定リストとその設定における主な機能を紹介します。

  • LPC824 EXTRA (TERM, FREERTOS, EXTRA)

    ブートローダを使用してフラッシュROM上へ転送して実行するファイルを生成。「LPC824 (TERM)」に加え、一部のペリフェラルを簡便に扱うためのライブラリと、FreeRTOSが使用可能。

    生成ファイルの拡張子.bin (バイナリ)
    スタートアドレス0x00000c00 (フラッシュROM)
    転送ツールSIMPLE TERM
    ブートローダ必要
Page Top
SIMPLE TERMとブートローダ anchor.png

ICEの様な特殊なI/Fを使用せずとも、汎用のシリアルI/Fで接続した環境だけでプログラムの書き換えが出来ます。

SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって変わるが、デバイス名に「STMicroelectronics Virtual COM Port (COMxxx)」が表示されたポートを選択)しオープンするとブートローダの各種コマンドが使用可能となります。SIMPLE TERMのポートの設定は以下の通りです。

Baudrate:115200
Databits:8
Stopbits:1
Parity:Non
Flow Control:Non
Protocol:Xmodem
[添付]

先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、以下の条件でSIMPLE TERMが起動します。

  • 既にSIMPLE TERMが実行中であれば2重に起動しない。
  • コンパイル済み.binファイルの情報が渡る(ステータスバーにて確認可)。
  • ユーザプログラムを転送する際の手順を記述したスクリプトファイルが使用できる様になる。
[添付]

ブートローダがコマンドモードであれば、「スクリプト実行[STERM_LPC82x]」をクリックするだけでプログラムの書き換えにかかる処理(転送ファイルの選択・フラッシュROMの消去・転送)が全て自動的に行われます。

[添付]
Page Top

ファームウェア anchor.png

まず、ST社から提供されるAPIを多少改造し、LPC82xのプラットホームに依存する部分を追加したものをライブラリにしています。このライブラリを各ファームウェアにリンクして使用します。
また、LPC824とセンサ・DACはI2C、各種シリアルポートはUSART0の各ペリフェラルを介して接続され、いずれもNXP社のLPCOpen LibrariesをベースにしたLPC82x用ペリフェラルライブラリを介してアクセスします。
更に、測定・通信・操作系等の複数の処理を同時に行う場合はマルチタスクOS(FreeRTOS)を使用します。
なお、LPC824用のペリフェラルライブラリとFreeRTOSは最新のGCC Developer Liteにて提供されます。

  • 共通仕様
    機能LPC824
    デバイス等端子端子ペリフェラル
    LED1カソードPIO0_24 (O)GPIO
    PB1-PIO0_5 (I)GPIO
    DO用FETゲートPIO0_13 (O)GPIO
    RS-485/TTLDIPIO0_16 (O)USARTx
    ROPIO0_26 (I)USARTx
    RE/DEPIO0_27 (O)USARTx
    TEPIO0_25 (O)USARTx
    VL53L0XSCLPIO0_10 (I/O)I2C0
    SDAPIO0_11 (I/O)I2C0
    GPIO1PIO0_15 (I)GPIO
    XSHUTPIO0_1 (O)GPIO
    MCP4726SCLPIO0_10 (I/O)I2C0
    SDAPIO0_11 (I/O)I2C0
Page Top

テキスト出力版ファームウェア anchor.png

シリアルI/Fを介してテキストにて測定結果を送信し続けます。基本サンプルプログラムとしての位置付で、センサの初期化と測定条件の変更、測距データの取得、ターミナルへの送信に限っています。

  • e141_terminal_single.c
    単発測定モード
  • e141_terminal_continuous1.c
    連続測定モード+測定完了ポーリング
  • e141_terminal_continuous2.c
    連続測定モード+GPIO割り込み
Page Top

スタンドアロン版ファームウェア anchor.png

測距結果をアナログ電圧で出力させたり、指定した測距データをスレッショルドとしてON/OFFの出力を得ます。本体に備わった操作及び表示機能は1個のプッシュボタンスイッチと1個のLEDのみのため、押下時間や点灯パターンを駆使して操作を行います。

  • e141_standalone.c
Page Top

Dynamixelクライアントプロトコル版ファームウェア anchor.png

Dynamixelシリーズと同じI/Fである利点を生かし、測定条件や測定結果等の情報をコントロールテーブル上に配置し、Dynamixelプロトコルを用いてホストからそれらにアクセスします。また、複数のセンサや他のDynamixelシリーズと同じネットワーク上で使用する事が可能です。

  • e141_dx1_client.c
    DynamixelプロトコルV1のクライアント機能
  • e141_dx2_client.c
    DynamixelプロトコルV2のクライアント機能
Page Top
コントロールテーブル anchor.png

Dynamixelプロトコル対応のファームウェアを使用した際のコントロールテーブルです。

  • プロトコルV2
    AddressItemAccessDefault ValueType/Range
    0Model NumberR16416(0x4015)uint16
    1
    2Model InformationR0uint32
    3
    4
    5
    6Version of FirmwareR?uint8
    7IDR/W (NVM)1uint8
    0~252
    8BaudrateR/W (NVM)1uint8
    0~4
    9Write NVMR/W0uint8
    0~1
    10TerminatorR/W (NVM)1uint8
    0~1
    11(reserve)R-uint8
    12LEDR/W (NVM)2uint8
    0~2
    13Ranging ProfileR/W (NVM)0uint8
    0~3
    14Average NumberR/W (NVM)0uint8
    0~19
    15Normal NumberR/W (NVM)1uint8
    0~4
    16Analog Out GainR/W (NVM)-uint16
    0~32767
    17
    18Digital Out ThresholdR/W (NVM)0uint16
    0~4095
    19
    20Effective SPAD Return CountR-uint16(Q8.8)
    21
    22Signal RateR-uint16(Q7.9)
    23
    24Ambient RateR-uint16(Q7.9)
    25
    26(reserve)R-uint8
    27StatusR-uint8
    28DistanceR-uint16
    29
    • データ幅が16bitないし32bitのアイテムはリトルエンディアン(データの下位バイトから順に格納)。
    • Accessに(NVM)とあるアイテムは不揮発メモリとなっており、電源を切っても値が保持される。また頻繁な書き換えは想定されていないため、書き換えは必要最低限にとどめること。
    • (reserve)はシステムで予約され、読み出した値に有効性はない。また、書き込みを行ってはならない。
    • Default Valueは出荷時ないしファクトリーリセットを行った際の値。又、ファームウェアのバージョンによって値が変更される場合がある。
Page Top
Model Number/Model Information anchor.png

本品固有の値を保持します。異なる種類のDynamixelを混在して使用する際の個体識別等に使用できます。

Page Top
Version of Firmware anchor.png

内蔵されるCPUに書き込まれたプログラムのバージョンです。ファームウェアの更新を行った際に合わせて自動的に変更されます。

Page Top
ID anchor.png

各Dynamixelを特定するための固有の値です。同一ネットワーク内に存在するDynamixelには各々異なるIDが要求されます。

Page Top
Baudrate anchor.png

通信する際のボーレートです。ホストDynamixelのボーレートは一致させなくてはなりません。

  • プロトコルV1
    通信速度を決める分周値で、通信速度は次式で導かれます。
    Baudrate[bps] = 2000000 / (Value + 1)
  • プロトコルV2
    ValueBaudrate [bps]
    09600
    157600
    2115200
    31000000
    42000000

Page Top
WriteNVM anchor.png

1を書き込むとコントロールテーブルのNVMとあるアイテムの値を保存します。パワーサイクル毎に保存された値がアイテムの初期値となります。

Page Top
Terminator anchor.png

1を書き込むとRS-485 I/Fの終端抵抗がON、0を書き込むとOFFになります。
なお、TTL I/F版において未使用となるRS-485 I/Fの影響を回避するため、常時1を指定する必要があります。

Page Top
LED anchor.png

0を書き込むとLEDが消灯、1を書き込むとLEDが点灯します。2を書き込むとStatusと測定周期に応じて明滅します。

Page Top
Ranging Profile anchor.png

測定条件を選択します。
変更には数百msの時間を要し、その間パケット処理は停止します。

ValueProfileDescriptionTypical application
0Default周期30ms
最大1.2m
標準精度
標準
1High arccuracy周期200ms
最大1.2m
精度<±3%
精度優先
2Long range周期33ms
最大2m
標準精度
距離優先で暗い条件 (no IR)
3High speed周期20ms
最大1.2m
精度±5%
速度優先

標準精度

Indoor (no infraed)Outdoor
対象反射率距離33ms66ms距離33ms66ms
白(88%)120cm4%3%60cm7%6%
灰(17%)70cm4%6%40cm12%9%
Page Top
Average Number anchor.png

Statusが0の時に測距データを平均化する際のサンプル数を指定します。
Statusが0以外の時に内部の平均値はリセットされます。

Page Top
Normal Number anchor.png

内部的には正常測定処理にもかかわらず不定な値が検出されるのを回避するためのカウント値です。
このカウント値の回数だけStatusが0の状態で連続的に測定がなされると、以後Distanceが更新されます。

Page Top
Analog Out Gain anchor.png

DistanceにGainを乗じてAO端子から出力します。また、VREFでDAコンバータの最大出力電圧を3.3Vと5Vから選択します。

Bit1514~0
ValueVREF:0=3.3[V],1=5.0[V]Gain:0~32767[‰]
VREF=0
AO[V] = Distance * 3.3[V] / 4096 * Gain / 1000
VREF=1
AO[V] = Distance * 5[V] / 4096 * Gain / 1000

なお、3.3V及び5Vはいずれも内部電源をリファレンスとしており、負荷条件等により最大5%程度の誤差が生じる場合があります。
また、Gainに0を設定すると、DAコンバータはパワーダウンモードになります。

Page Top
Digital Out Threshold anchor.png

Distanceがこの値以下になるとDO端子がLOWになり、超えるとハイインピーダンスになります。

Page Top
Effective SPAD Return Count anchor.png

Effective SPAD Return Count~Distanceは1回の測定毎に更新される測定データです。これらのアイテムの同時性を保つには、1回のインストラクションパケットで一括受信する必要があります。

SPAD(Single photon avalanche diode)リターンカウントです。
整数部8bit、小数部8bitの固定小数点となります。

Effective SPAD Return Count = ((Value & 0xff00) >> 8) + ((Value & 0xff) / 256)
Page Top
Signal Rate anchor.png

検出対象の反射率です。
整数部7bit、小数部9bitの固定小数点となります。

Signal rate [Mcps] = ((Value & 0xfe00) >> 9) + ((Value & 0x1ff) / 512)
Page Top
Ambient Rate anchor.png

環境光です。
整数部7bit、小数部9bitの固定小数点となります。

Ambient rate [Mcps] = ((Value & 0xfe00) >> 9) + ((Value & 0x1ff) / 512)
Page Top
Status anchor.png

レンジステータスです。
ステータスが0以外のDistanceは距離としての意味を持ちません。

ValueStatusDescription
0Range Valid測距有効
1Sigma Failシグマリミットチェック失敗
2Signal Fail信号チェック失敗
3Min Range Fail最小範囲チェックに失敗
4Phase Failフェーズチェック失敗
5Hardware Failハードウェアチェック失敗
255NoneNo Update
Page Top
Distance anchor.png

対象との距離です。精度についてはセンサの設定及び性能に依存します。
Statusがレンジ外やエラー等を示した場合は、センサの測距値ではなくオーバーフローを意味する8191となります。

Distance [mm] = Value
Page Top

その他 anchor.png

Page Top

注意事項 anchor.png

  • 密度の濃い煙やホコリも反射物として検出する
  • 既存の赤外線リモコンに影響がある
  • 直射日光が当たる環境では検出距離や精度が極端に落ちる
  • 本品をねじったり曲げると故障する
    E141_bend.png
  • 評価テスト版は以下の相違がある
    • CPUはLPC824を搭載
    • 外付けDACとしてMCP4726A0T-E/CHを搭載
    • 電源の絶対最大定格は75V
    • RS-485ドライバに終端抵抗が内蔵されず、代替でR11に1.5kΩの抵抗装備
    • 内部ロジック用の5V電源が3.7V
    • DOの製品版とは仕様の乖離があり、耐圧は24V、最大シンク電流は100mA

トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
最終更新: 2017-09-12 (火) 23:30:11 (JST) (94d)