ST社のToF式距離センシングデバイス「VL53L4CX」を搭載したセンサーモジュールです。
3.3V~5Vの電源で動作し、最大6mの絶対距離測定が行えます。視野角内に複数の物体が存在する場合は、それぞれを個別に検出して距離を測定することができます。
測定データはI2C接続によるデジタル値で得られます。I2Cバスのインタフェースは読み出しを行う機器(ホストデバイス)の電源電圧に自動追従します。
※搭載センサー「VL53L4CX」の制御に必要となる一時記憶メモリ(RAM)が大きいため、本基板を「Arduino UNO R3」や「Arduino MEGA」等、AVRを搭載したマイコンボードでは使用することができません。上記の機種では、ToF式距離センサー L0タイプ(最大測定距離2m)またはL1タイプ(最大測定距離3.6m)をご使用ください。
ピン番号 | ピン名 | 機能 | 説明 |
---|---|---|---|
1 | VDD | 電源 | 電源入力+(DC3.3~5V) |
2 | SCL | 入出力 | I2C クロック |
3 | SDA | 入出力 | I2C データ |
4 | GND | 電源 | 電源- |
5 | XSHUT | 入力 | シャットダウン信号(信号レベル2.8V) |
6 | GPIO1 | 出力 | 計測完了信号(信号レベル2.8V) |
センサー(IC1)の表面にはフィルムが貼り付けられていますので、使用する前に剥がしてください。
※フィルムが貼られたまま使用すると測定結果の正確性に影響を与える恐れがあります。
基板上には6ピンのコネクタが用意されており、電源および通信用の信号線が引き出されています。
センサーICの制御はI2Cインターフェース経由で行います。コマンドの送信とデータの受信の双方向通信をSCL(2番ピン)、SDA(3番ピン)の2本の信号線で行います。
電源には、安定化された電圧DC3.3~5Vが供給可能なものが必要です。センサーの消費電流は測定シーケンスと共に変動し、動作時最大で約40mAですので、それ以上の電流を供給できる電源を使用してください。
VDDピンにはホストデバイスの信号レベルと同じ電圧の電源を供給してください。下記にホストデバイスとして使われる主要マイコンボード製品の信号レベルの例を示します。
本基板は2.8V出力のLDOタイプ三端子レギュレータを搭載し、距離センサーIC「VL53L4CX」の電源には、基板のDC3.3~5V入力からレギュレータで生成された2.8Vが供給されます。 ホストデバイスとKP-VL53L4CXとの通信に使用する信号線のうち、I2Cインターフェースの2本(SCL、SDA)は、ロジックレベル変換ICによって中継されており、外部信号レベル3.3~5Vと、内部信号レベル2.8Vの相互変換が行われます。
※上記以外の2本の信号線(XSHUT、GPIO1)については、信号電圧は変換されないため、信号レベルは内部電圧による2.8Vとなっています。これらのピンに2.8Vを超える電圧がかからないように注意してください。
ホストデバイスとの接続には、付属ケーブルを使用してください。配線色とピン配置の対応は下図の通りです。
搭載センサーIC「VL53L4CX」のI2Cバス上のアドレスは下記の通りです。プログラム内で指定する際は、あらかじめ表記方法をご確認ください。
※VL53L4CXのI2Cアドレスは固定されており、変更できません。
本基板に搭載されている信号レベル変換IC(IC3)内部に、I2Cバスに必要なプルアップ抵抗が内蔵されています。SDAおよびSCLの各信号線は、10kΩ相当の抵抗値でプルアップされています。この抵抗はICに内蔵されているため、取り除くことはできません。
また、10kΩという抵抗値はI2Cバスの配線が短い場合において有効な値です。I2Cバスの配線が長い場合や、多数のデバイスを接続する場合では、ドライブ能力が不足し通信が不安定になる場合があります。その際はVDD - SDA間およびVDD - SCL間に追加で抵抗を接続してください。(抵抗を追加すると、IC内蔵の10kΩとの合成抵抗が小さくなり、ドライブ能力が上がります)
本基板のコネクタには、I2Cバス以外の信号線として、XSHUT(5番ピン)とGPIO1(6番ピン)の2本が引き出されています。
XSHUT、GPIO1はいずれも、VL53L4CXに直結されています。I2Cバスの信号線(SCL、SDA)とは異なりロジックレベル変換回路を経由していないため、信号レベルはVDDに入力する電圧にかかわらず常に2.8Vとなります。また、それぞれ基板上で10kΩでプルアップされています。
これらの信号線の接続は任意となります。それぞれ対象の機能を使用しない場合は、ホストデバイスとの接続は必要ありません。
シャットダウン信号用の入力ピンです。Lレベルにすることで、センサーICをスタンバイ状態にすることができます。オープンにすることで、センサーICが復帰します。
※このピンへ2.8Vを超える電圧をかけないでください。デバイスが破損する恐れがあります。
計測完了をホストデバイスに通知するための割込み出力ピンです。計測が完了しデータの準備ができた時、HレベルからLレベルに変化します。
※このピンへホストデバイスから信号を入力しないでください。また、2.8Vを超える電圧をかけないでください。デバイスが破損する恐れがあります。
各信号線の詳細な機能は、センサーICのデータシートおよびマニュアルを参照してください。
VL53L4CXの動作には、センサーICのメーカーが提供する文書に従って初期化・読み出し処理を実施するプログラムが必要となります。
これらの制御手順は、メーカー公式のライブラリが提供されています。開発環境にArduinoを使用する場合は、ライブラリと合わせて動作するアプリケーションのサンプルプログラムを利用することができます。
弊社では動作検証時にArduino用ライブラリ STM32duino VL53L4CX by STMicroelectronics(バージョン1.1.0)、マイコンボードは Raspberry Pi Pico を使用して確認しています。
Arduino IDE 2(以下、バージョン2.3.4にて確認済)の場合、ソフトウェアを起動後[ツール]>[ライブラリを管理…]を選択します。
「ライブラリマネージャー」が開き、しばらく待つと一覧が表示されます。
そこから最上部の検索欄へ VL53L4CX と入力すると候補が絞り込まれるので、STM32duino VL53L4CX by STMicroelectronics を探して「インストール」をクリックしてください。
ライブラリのインストールが完了するのを待機します。 インストールが成功すると、ライブラリマネージャーの項目内にあった「インストール」ボタンが「削除」に変わります。
ライブラリのインストールを行うと、サンプルスケッチ(プログラム)も自動的にインストールされます。
[ファイル]>[スケッチ例]>[STM32duino VL53L4CX]と選択することでいくつかのサンプルプログラム候補が現れます。
例:サンプルプログラム名 VL53L4CX_Sat_HelloWorld の場合は、ホストデバイスとI2Cで接続したVL53L4CXの測定データ(検出物体の個数や距離など)を「Arduino IDE」のシリアルモニタに出力します。
マイコンボードと本基板の電源+・電源-・SDA・SCLの4本を接続した後、スケッチをコンパイルしてマイコンボードに書き込み、シリアルモニタを開きます。
このプログラムでは、通信速度設定(ボーレート)の指定は「115200」となっています。シリアルモニタのメニュー右端にある設定メニューから「115200 baud」を選択してください。
設定と配線に誤りがなければ、シリアルモニタにメッセージが表示されます。
メッセージの詳細は下記の通りです。
メッセージ | 説明 | 備考 |
---|---|---|
Count= |
測定回数 | 測定回数を表す通し番号 |
#Objs= |
検出した対象物の数 | これより下の項目はそれぞれ、各対象物ごとに独立して出力 |
status= |
測距ステータス | 0,1,2,3,4,5,6,7,8,10,11,12,14,255 のいずれか 対照表はメーカーマニュアル【UM2923】を参照 |
D= |
測定対象物の距離 | 単位:mm |
Signal= |
信号レート(Signal rate) | 対象物からの反射光の量 単位:Mcps(100万カウント毎秒) |
Ambient= |
アンビエントレート(ambient rate) | 環境光(周辺光)の量 単位:Mcps(100万カウント毎秒) |
※回路設計やプログラムの作成、オープンソース・ソフトウェア、上記サンプルプログラムの動作に関するご質問への回答等のサポートはいたしかねます。あらかじめご了承ください。
本製品のセンサーICはToF(Time-of-Flight)方式と呼ばれる、光を放射してから対象物で跳ね返ってセンサーに戻ってくるまでの時間を測定して距離を算出する動作を行っています。
このため対象物の反射の度合いで、測定可能な最大距離が変化します。また、対象物の表面が鏡面より乱反射する方が測定に向いています。
さらに、センサーが反射光を受信する際は周辺の光も同時に受信するため、室内と屋外とでは最大測定距離に差が出ます。
最大測定距離に関する仕様(データシートより引用)
また、最小測定距離に関してはセンサーメーカーのデータシート上での規定はありませんが、ごく短距離(およそ5cm未満)の測定に関しては実際と異なる結果を返す場合があります。このため、設置に際しては周辺光による影響を含めた実証実験を十分に行う必要があります。
本製品によって得られる測定値の正確性等につきましては、弊社での保証はいたしかねます。必ずセンサーメーカーの公表する資料をご確認の上、運用してください。
本文書は、Visual Studio Code の Markdown PDF 拡張機能を使用して変換されました。この拡張機能は MIT ライセンス の下で提供されています。