STMicroelectronics VL53L7CX ფრენის დრო მრავალზონიანი დისტანციური სენსორი

STMicroelectronics VL53L7CX ფრენის დრო მრავალზონიანი დისტანციური სენსორი

შესავალი

ამ მომხმარებლის სახელმძღვანელოს მიზანია ახსნას, თუ როგორ უნდა დამუშავდეს VL53L7CX ფრენის დროის სენსორი (ToF) ულტრა ლაით დრაივერის (ULD) API-ს გამოყენებით. იგი აღწერს მოწყობილობის დაპროგრამების ძირითად ფუნქციებს, კალიბრაციას და გამომავალ შედეგებს.

სპეციალურად შექმნილი აპლიკაციებისთვის, რომლებიც საჭიროებენ ულტრაფართო FoV-ს, VL53L7CX ფრენის დროის სენსორი გთავაზობთ 90° დიაგონალურ FoV-ს. STMicroelectronics-ის Flight Sense ტექნოლოგიაზე დაფუძნებული, VL53L7CX აერთიანებს ეფექტურ მეტა ზედაპირულ ლინზას (DOE), რომელიც მოთავსებულია ლაზერულ ემიტერზე, რაც საშუალებას აძლევს 60° x 60° კვადრატული FoV პროექციას სცენაზე.

მისი მრავალზონიანი შესაძლებლობა უზრუნველყოფს 8×8 ზონის მატრიცას (64 ზონა) და შეუძლია იმუშაოს სწრაფ სიჩქარეზე (60 ჰც) 350 სმ-მდე.

ავტონომიური რეჟიმის წყალობით პროგრამირებადი მანძილის ზღურბლით, რომელიც გაერთიანებულია ულტრაფართო FoV-თან, VL53L7CX შესანიშნავია ნებისმიერი აპლიკაციისთვის, რომელიც მოითხოვს მომხმარებლის დაბალი სიმძლავრის ამოცნობას. ST-ის დაპატენტებული ალგორითმები და მოდულის ინოვაციური კონსტრუქცია საშუალებას აძლევს VL53L7CX-ს აღმოაჩინოს, თითოეულ ზონაში, მრავალი ობიექტი FoV-ში სიღრმისეული გაგებით. STMicroelectronics ჰისტოგრამის ალგორითმები უზრუნველყოფს საფარის შუშის ჯვარედინი იმუნიტეტს 60 სმ-ზე მეტი.

VL53L5CX-დან გამომდინარე, ორივე სენსორის პინი და დრაივერები თავსებადია, რაც უზრუნველყოფს მარტივ მიგრაციას ერთი სენსორიდან მეორეზე.

ST-ის Flight Sense ტექნოლოგიაზე დაფუძნებული ყველა დროის ფრენის (ToF) სენსორის მსგავსად, VL53L7CX აღრიცხავს თითოეულ ზონაში აბსოლუტურ მანძილს სამიზნე ფერისა და არეკვლის მიუხედავად.

მოთავსებულია მინიატურულ ხელახლა ჩასადენ პაკეტში, რომელიც აერთიანებს SPAD მასივს, VL53L7CX აღწევს საუკეთესო შესრულებას ატმოსფერული განათების სხვადასხვა პირობებში და საფარის მინის მასალების ფართო სპექტრისთვის.

ST-ის ყველა ToF სენსორი აერთიანებს VCSEL-ს, რომელიც ასხივებს სრულიად უხილავ 940 ნმ IR შუქს, რომელიც სრულიად უსაფრთხოა თვალებისთვის (კლასი 1 სერთიფიკატი).

VL53L7CX არის შესანიშნავი სენსორი ნებისმიერი აპლიკაციისთვის, რომელიც მოითხოვს ულტრაფართო FoV-ს, როგორიცაა რობოტიკა, ჭკვიანი დინამიკები, ვიდეო პროექტორები, კონტენტის მართვა. მრავალზონიანი შესაძლებლობებისა და 90° FoV-ის კომბინაციამ შეიძლება გააუმჯობესოს ახალი გამოყენების შემთხვევები, როგორიცაა ჟესტების ამოცნობა, SLAM რობოტიკისთვის და დაბალი ენერგიის სისტემის გააქტიურება ჭკვიანი შენობისთვის.

სურათი 1. VL53L7CX სენსორის მოდული
შესავალი

აბრევიატურა და აბრევიატურა

აკრონიმი/აბრევიატურა განმარტება
DOE დიფრაქციული ოპტიკური ელემენტი
FoV სფეროს view
I²C ინტეგრირებული წრე (სერიული ავტობუსი)
Kcps/SPAD კილო-თვლა წამში სპადზე (ერთეული გამოიყენება SPAD მასივში ფოტონების რაოდენობის გასაზომად)
ოპერატიული მეხსიერება შემთხვევითი წვდომის მეხსიერება
SCL სერიული საათის ხაზი
SDA სერიული მონაცემები
SPAD ერთი ფოტონის ზვავის დიოდი
ToF ფრენის დრო
ULD ულტრა ლაით მძღოლი
VCSEL ვერტიკალური ღრუს ზედაპირის გამოსხივების დიოდი
VHV ძალიან მაღალი მოცულობითtage
Xtalk ჯვარედინი საუბარი

ფუნქციური აღწერა

სისტემა დასრულდაview

VL53L7CX სისტემა შედგება აპარატურის მოდულისა და ულტრა ლაით დრაივერის პროგრამული უზრუნველყოფისგან (VL53L7CX ULD), რომელიც მუშაობს ჰოსტზე (იხ. სურათი ქვემოთ). აპარატურის მოდული შეიცავს ToF სენსორს. STMicroelectronics აწვდის პროგრამული უზრუნველყოფის დრაივერს, რომელიც მოხსენიებულია ამ დოკუმენტში, როგორც "დრაივერი". ეს დოკუმენტი აღწერს დრაივერის ფუნქციებს, რომლებიც ხელმისაწვდომია ჰოსტისთვის. ეს ფუნქციები აკონტროლებენ სენსორს და იღებენ დიაპაზონის მონაცემებს.

სურათი 2. VL53L7CX სისტემა დასრულდაview
ფუნქციური აღწერა
ეფექტური ორიენტაცია
მოდული მოიცავს ლინზს Rx დიაფრაგმაზე, რომელიც აბრუნებს (ჰორიზონტალურად და ვერტიკალურად) სამიზნის გადაღებულ სურათს. შესაბამისად, ზონა იდენტიფიცირებული, როგორც ზონა 0, SPAD მასივის ქვედა მარცხენა მხარეს, განათებულია სამიზნით, რომელიც მდებარეობს სცენის ზედა მარჯვენა მხარეს.

სურათი 3. VL53L7CX ეფექტური ორიენტაცია
ფუნქციური აღწერა
სქემები და I²C კონფიგურაცია

დრაივერსა და პროგრამულ პროგრამას შორის კომუნიკაციას მართავს I²C, 1 MHz-მდე მუშაობის შესაძლებლობით. დანერგვა მოითხოვს SCL და SDA ხაზების ამოღებას. დამატებითი ინფორმაციისთვის იხილეთ VL53L7CX მონაცემთა ცხრილი. VL53L7CX მოწყობილობას აქვს ნაგულისხმევი I²C მისამართი 0x52. თუმცა, შესაძლებელია ნაგულისხმევი მისამართის შეცვლა სხვა მოწყობილობებთან კონფლიქტის თავიდან ასაცილებლად ან სისტემაში მრავალი VL53L7CX მოდულის დამატება უფრო დიდი სისტემისთვის FoV-სთვის. I²C მისამართი შეიძლება შეიცვალოს vl53l7cx_set_i2c_address() ფუნქციის გამოყენებით.

სურათი 4. მრავალი სენსორი I²C ავტობუსზე
ფუნქციური აღწერა

იმისათვის, რომ მოწყობილობას შეეცვალოს მისი I²C მისამართი სხვებზე ზემოქმედების გარეშე I²C ავტობუსში, მნიშვნელოვანია გამორთოთ I²C კომუნიკაცია მოწყობილობების შეუცვლელად. პროცედურა შემდეგია:

  1. ჩართეთ სისტემა ჩვეულებრივად.
  2. ჩამოწიეთ მოწყობილობის LPn პინი, რომლის მისამართი არ შეიცვლება.
  3. აწიეთ მოწყობილობის LPn პინი, რომელსაც აქვს I²C მისამართი შეცვლილი.
  4. დაპროგრამეთ I²C მისამართი მოწყობილობაზე ფუნქციის set_i2c_address() ფუნქციის გამოყენებით.
  5. აწიეთ მოწყობილობის LPn პინი, რომელიც არ არის დაპროგრამებული.

ყველა მოწყობილობა ახლა ხელმისაწვდომი უნდა იყოს I²C ავტობუსში. გაიმეორეთ ზემოაღნიშნული ნაბიჯები სისტემის ყველა VL53L7CX მოწყობილობებისთვის, რომლებიც საჭიროებენ ახალ I²C მისამართს.

პაკეტის შინაარსი და მონაცემთა ნაკადი

დრაივერის არქიტექტურა და შინაარსი

VL53L7CX ULD პაკეტი შედგება ოთხი საქაღალდისგან. დრაივერი მდებარეობს საქაღალდეში /

VL53L7CX_ULD_API.
მძღოლი შედგება სავალდებულო და სურვილისამებრ fileს. სურვილისამებრ fileს არის plugins გამოიყენება ULD ფუნქციების გაფართოებისთვის. თითოეული დანამატი იწყება სიტყვით „vl53l7cx_plugin“ (მაგ. vl53l7cx_plugin_xtalk.h). თუ მომხმარებელს არ სურს შემოთავაზებული plugins, მათი ამოღება შესაძლებელია დრაივერის სხვა ფუნქციებზე ზემოქმედების გარეშე. შემდეგი ფიგურა წარმოადგენს სავალდებულოს files და სურვილისამებრ plugins.

სურათი 5. მძღოლის არქიტექტურა
პაკეტის შინაარსი და მონაცემთა ნაკადი

მომხმარებელმა ასევე უნდა განახორციელოს ორი files მდებარეობს /Platform საქაღალდეში. შემოთავაზებული პლატფორმა არის ცარიელი გარსი და უნდა იყოს სავსე გამოყოფილი ფუნქციებით.

შენიშვნა: Პლატფორმა. თ file შეიცავს სავალდებულო მაკროებს ULD-ის გამოსაყენებლად. Ყველა file შინაარსი სავალდებულოა ULD-ის სწორად გამოყენებისთვის

კალიბრაციის ნაკადი

Crosstalk (Xtalk) განისაზღვრება, როგორც SPAD მასივზე მიღებული სიგნალის რაოდენობა, რომელიც გამოწვეულია VCSEL შუქით.
ანარეკლი დამცავი ფანჯრის შიგნით (საფარი მინა) დამატებული მოდულის თავზე. VL53L7CX მოდული თვითდაკალიბრებულია და მისი გამოყენება შესაძლებელია დამატებითი კალიბრაციის გარეშე.

შეიძლება საჭირო გახდეს Crosstalk-ის კალიბრაცია, თუ მოდული დაცულია საფარის შუშით. VL53L7CX არის იმუნური
ჰისტოგრამის ალგორითმის წყალობით 60 სმ-ს მიღმა ჯვარედინი საუბარი. თუმცა, 60 სმ-ზე დაბალ დისტანციებზე, Xtalk შეიძლება იყოს უფრო დიდი ვიდრე რეალურად დაბრუნებული სიგნალი. ეს იძლევა ცრუ სამიზნის კითხვას ან სამიზნეებს უფრო ახლოს აჩენს, ვიდრე სინამდვილეში არიან. ყველა crosstalk კალიბრაციის ფუნქცია შედის Xtalk დანამატში (სურვილისამებრ). მომხმარებელმა უნდა გამოიყენოს file 'vl53l7cx_plugin_xtalk'.

შეჯვარების დაკალიბრება შესაძლებელია ერთხელ და მონაცემების შენახვა შესაძლებელია შემდგომში მისი ხელახლა გამოყენების მიზნით. საჭიროა სამიზნე ფიქსირებულ მანძილზე, ცნობილი არეკვლით. მინიმალური საჭირო მანძილი არის 600 მმ და სამიზნე უნდა მოიცავდეს მთელ FoV-ს. დაყენებიდან გამომდინარე, მომხმარებელს შეუძლია შეცვალოს პარამეტრები ჯვარედინი დაკალიბრების ადაპტირებისთვის, როგორც ეს მოცემულია შემდეგ ცხრილში.

ცხრილი 1. ხელმისაწვდომი პარამეტრები კალიბრაციისთვის

დაყენება მინ შემოთავაზებული STMicroelectronics-ის მიერ მაქს
მანძილი [მმ] 600 600 3000
რაოდენობა სamples 1 4 16
არეკვლა [%] 1 3 99

შენიშვნა: ს-ების რაოდენობის გაზრდაamples ზრდის სიზუსტეს, მაგრამ ასევე ზრდის კალიბრაციის დროს. ს-ების რაოდენობასთან შედარებით დროamples არის წრფივი და მნიშვნელობები მიჰყვება მიახლოებით ვადას:

  • 1 წample ≈ 1 წამი
  • 4 წamples ≈ 2.5 წამი
  • 16 წamples ≈ 8.5 წამი

კალიბრაცია ხორციელდება vl53l7cx_calibrate_xtalk() ფუნქციის გამოყენებით. ამ ფუნქციის გამოყენება შესაძლებელია ნებისმიერ დროს. თუმცა, ჯერ სენსორის ინიციალიზაცია უნდა მოხდეს. შემდეგი ფიგურა წარმოადგენს ჯვარედინი კალიბრაციის ნაკადს.

სურათი 6. Crosstalk კალიბრაციის ნაკადი
პაკეტის შინაარსი და მონაცემთა ნაკადი

დიაპაზონი ნაკადი

შემდეგი ფიგურა წარმოადგენს დიაპაზონის ნაკადს, რომელიც გამოიყენება გაზომვების მისაღებად. Xtalk-ის კალიბრაცია და არჩევითი ფუნქციის ზარები უნდა იქნას გამოყენებული დიაპაზონის სესიის დაწყებამდე. მიიღეთ/დააყენეთ ფუნქციები არ შეიძლება გამოყენებულ იქნას დიაპაზონის სესიის დროს და "ფრენაზე" პროგრამირება არ არის მხარდაჭერილი.

სურათი 7. ნაკადის დიაპაზონი VL53L7CX-ის გამოყენებით
პაკეტის შინაარსი და მონაცემთა ნაკადი

ხელმისაწვდომი ფუნქციები

VL53L7CX ULD API მოიცავს რამდენიმე ფუნქციას, რომელიც საშუალებას აძლევს მომხმარებელს დააკონფიგურიროს სენსორი, გამოყენების შემთხვევიდან გამომდინარე. დრაივერისთვის ხელმისაწვდომი ყველა ფუნქცია აღწერილია შემდეგ განყოფილებებში.

ინიციალიზაცია

ინიციალიზაცია უნდა გაკეთდეს VL53L7CX სენსორის გამოყენებამდე. ეს ოპერაცია მომხმარებლისგან მოითხოვს:

  1. ჩართეთ სენსორი (VDDIO, AVDD, LPn ქინძისთავები დაყენებულია High-ზე და PIN I2C_RST დაყენებულია 0-ზე)
  2. გამოიძახეთ ფუნქცია vl53l7cx_init(). ფუნქცია აკოპირებს firmware-ს (~84 Kbytes) მოდულში. ეს კეთდება კოდის I²C ინტერფეისის ჩატვირთვით და ჩატვირთვის რუტინის შესრულებით ინიციალიზაციის დასასრულებლად.

სენსორის გადატვირთვის მართვა

მოწყობილობის გადატვირთვისთვის საჭიროა შემდეგი ქინძისთავების გადართვა:

  1. დააყენეთ VDDIO, AVDD და LPn ქინძისთავები დაბალზე.
  2. დაელოდეთ 10 ms.
  3. დააყენეთ ქინძისთავები VDDIO, AVDD და LPn ქინძისთავები მაღალზე.

შენიშვნა: მხოლოდ I2C_RST პინის გადართვა აღადგენს I²C კომუნიკაციას.

რეზოლუცია

გარჩევადობა შეესაბამება ხელმისაწვდომი ზონების რაოდენობას. VL53L7CX სენსორს აქვს ორი შესაძლო გარჩევადობა: 4×4 (16 ზონა) და 8×8 (64 ზონა). ნაგულისხმევად სენსორი დაპროგრამებულია 4×4. ფუნქცია vl53l7cx_set_resolution() საშუალებას აძლევს მომხმარებელს შეცვალოს გარჩევადობა. ვინაიდან დიაპაზონის სიხშირე დამოკიდებულია გარჩევადობაზე, ეს ფუნქცია უნდა იქნას გამოყენებული დიაპაზონის სიხშირის განახლებამდე. გარდა ამისა, გარჩევადობის შეცვლა ასევე ზრდის ტრაფიკის ზომას I²C ავტობუსზე, როდესაც შედეგები იკითხება.

დიაპაზონის სიხშირე

დიაპაზონის სიხშირე შეიძლება გამოყენებულ იქნას გაზომვის სიხშირის შესაცვლელად. რამდენადაც მაქსიმალური სიხშირე განსხვავებულია
4×4 და 8×8 რეზოლუციებს შორის, ეს ფუნქცია უნდა იქნას გამოყენებული რეზოლუციის არჩევის შემდეგ. მინიმალური და მაქსიმალური დასაშვები მნიშვნელობები მოცემულია შემდეგ ცხრილში.

ცხრილი 2. მინიმალური და მაქსიმალური დიაპაზონის სიხშირეები

რეზოლუცია მინიმალური დიაპაზონის სიხშირე [Hz] მაქსიმალური დიაპაზონის სიხშირე [Hz]
4×4 1 60
8×8 1 15

დიაპაზონის სიხშირე შეიძლება განახლდეს ფუნქციის გამოყენებით vl53l7cx_set_ranging_frequency_hz(). ნაგულისხმევად, დიაპაზონის სიხშირე დაყენებულია 1 ჰც-ზე.

დიაპაზონის რეჟიმი

დიაპაზონის რეჟიმი საშუალებას აძლევს მომხმარებელს აირჩიოს მაღალი ხარისხის ან დაბალი ენერგიის მოხმარება შორის. შემოთავაზებულია ორი რეჟიმი:

  • უწყვეტი: მოწყობილობა მუდმივად იჭერს ჩარჩოებს მომხმარებლის მიერ განსაზღვრული დიაპაზონის სიხშირით. VCSEL ჩართულია ყველა დიაპაზონის დროს, ამიტომ მაქსიმალური დისტანცია და ატმოსფერული იმუნიტეტი უკეთესია. ეს რეჟიმი რეკომენდირებულია სწრაფი დიაპაზონის გაზომვებისთვის ან მაღალი შესრულებისთვის.
  • ავტონომიური: ეს არის ნაგულისხმევი რეჟიმი. მოწყობილობა მუდმივად იჭერს ჩარჩოებს დიაპაზონის სიხშირით
    მომხმარებლის მიერ განსაზღვრული. VCSEL ჩართულია მომხმარებლის მიერ განსაზღვრულ პერიოდში vl53l7cx_set_integration_time_ms() ფუნქციის გამოყენებით. ვინაიდან VCSEL ყოველთვის არ არის ჩართული, ენერგიის მოხმარება მცირდება. სარგებელი უფრო აშკარაა შემცირებული დიაპაზონის სიხშირით. ეს რეჟიმი რეკომენდირებულია დაბალი სიმძლავრის აპლიკაციებისთვის.

დიაპაზონის რეჟიმი შეიძლება შეიცვალოს ფუნქციის გამოყენებით vl53l7cx_set_ranging_mode().

ინტეგრაციის დრო

ინტეგრაციის დრო არის ფუნქცია, რომელიც ხელმისაწვდომია მხოლოდ ავტონომიური დიაპაზონის რეჟიმის გამოყენებით (იხილეთ ნაწილი 4.5: დიაპაზონი
რეჟიმი). ის საშუალებას აძლევს მომხმარებელს შეცვალოს დრო, სანამ VCSEL ჩართულია. ინტეგრაციის დროის შეცვლა, თუ დიაპაზონი
რეჟიმი დაყენებულია უწყვეტად, არ აქვს ეფექტი. ნაგულისხმევი ინტეგრაციის დრო დაყენებულია 5 ms. ინტეგრაციის დროის ეფექტი განსხვავებულია 4×4 და 8×8 რეზოლუციებისთვის. რეზოლუცია 4×4 შედგება ერთი ინტეგრაციის დროისგან, ხოლო 8×8 გარჩევადობა შედგება ოთხი ინტეგრაციის დროისგან. შემდეგი ფიგურები წარმოადგენს VCSEL ემისიას ორივე რეზოლუციისთვის.

სურათი 8. ინტეგრაციის დრო 4×4 ავტონომიურისთვის
ხელმისაწვდომი ფუნქციები

სურათი 9. ინტეგრაციის დრო 8×8 ავტონომიურისთვის
ხელმისაწვდომი ფუნქციები

ყველა ინტეგრაციის დროის ჯამი + 1 ms ზედნადები უნდა იყოს უფრო დაბალი ვიდრე გაზომვის პერიოდი. წინააღმდეგ შემთხვევაში, დიაპაზონის პერიოდი ავტომატურად იზრდება, რათა მოერგოს ინტეგრაციის დროის მნიშვნელობას.

დენის რეჟიმები

დენის რეჟიმები შეიძლება გამოყენებულ იქნას ენერგიის მოხმარების შესამცირებლად, როდესაც მოწყობილობა არ არის გამოყენებული. VL53L7CX-ს შეუძლია იმუშაოს ერთ-ერთ შემდეგ დენის რეჟიმში:

  • გაღვიძება: მოწყობილობა დაყენებულია HP უმოქმედო რეჟიმში (მაღალი სიმძლავრე), ელოდება ინსტრუქციებს.
  • ძილი: მოწყობილობა დაყენებულია LP უმოქმედო მდგომარეობაში (დაბალი სიმძლავრე), დაბალი სიმძლავრის მდგომარეობაში. მოწყობილობის გამოყენება შეუძლებელია გაღვიძების რეჟიმში დაყენებამდე. ეს რეჟიმი ინარჩუნებს პროგრამულ უზრუნველყოფას და კონფიგურაციას.

კვების რეჟიმის შეცვლა შესაძლებელია ფუნქციის გამოყენებით vl53l7cx_set_power_mode(). ნაგულისხმევი რეჟიმი არის გაღვიძება.
შენიშვნა: თუ მომხმარებელს სურს კვების რეჟიმის შეცვლა, მოწყობილობა არ უნდა იყოს დისტანციურ მდგომარეობაში.

სათლელი

სამიზნიდან დაბრუნებული სიგნალი არ არის სუფთა პულსი მკვეთრი კიდეებით. კიდეები შორდება და შეიძლება გავლენა იქონიოს მიმდებარე ზონებში მოხსენებულ დისტანციებზე. სათლელი გამოიყენება ფარდის ელვარებით გამოწვეული სიგნალის ნაწილის ან მთლიანად მოსაშორებლად.

ყოფილმაampქვემოთ მოცემულ ფიგურაში ნაჩვენებია ახლო სამიზნე 100 მმ-ზე, რომელიც ორიენტირებულია FoV-ზე და სხვა სამიზნე, უფრო უკან, 500 მმ-ზე. სიმკვეთრის მნიშვნელობიდან გამომდინარე, ახლო სამიზნე შეიძლება გამოჩნდეს რეალურზე მეტ ზონაში.

სურათი 10. Exampსცენა რამდენიმე სიმკვეთრის მნიშვნელობის გამოყენებით
ხელმისაწვდომი ფუნქციები
ხელმისაწვდომი ფუნქციები
ხელმისაწვდომი ფუნქციები

სიმკვეთრის შეცვლა შესაძლებელია ფუნქციის გამოყენებით vl53l7cx_set_sharpener_percent(). დასაშვები მნიშვნელობებია 0%-დან 99%-მდე. ნაგულისხმევი მნიშვნელობა არის 5%.

მიზნობრივი შეკვეთა

VL53L7CX-ს შეუძლია გაზომოს რამდენიმე სამიზნე ზონაში. ჰისტოგრამის დამუშავების წყალობით მასპინძელს შეუძლია
აირჩიეთ მოხსენებული სამიზნეების თანმიმდევრობა. არსებობს ორი ვარიანტი:

  • უახლოესი: უახლოესი სამიზნე არის პირველი მოხსენებული
  • უძლიერესი: უძლიერესი სამიზნე არის პირველი მოხსენებული

სამიზნე თანმიმდევრობა შეიძლება შეიცვალოს ფუნქციის გამოყენებით vl53l7cx_set_target_order(). ნაგულისხმევი ბრძანება არის უძლიერესი. ყოფილმაample შემდეგ სურათზე წარმოადგენს ორი სამიზნის აღმოჩენას. ერთი 100 მმ-ზე დაბალი არეკვლით და მეორე 700 მმ-ზე მაღალი არეკვლით.

სურათი 11. Exampჰისტოგრამა ორი სამიზნით
ხელმისაწვდომი ფუნქციები

რამდენიმე სამიზნე ზონაში

VL53L7CX შეუძლია გაზომოს ოთხამდე სამიზნე ზონაში. მომხმარებელს შეუძლია სენსორის მიერ დაბრუნებული სამიზნეების რაოდენობის კონფიგურაცია.

შენიშვნა: მინიმალური მანძილი ორ სამიზნეს შორის არის 600 მმ. მძღოლისგან შერჩევა შეუძლებელია; ეს უნდა გაკეთდეს "პლატფორმაში". სთ file. მაკრო VL53L7CX_NB_ TARGET_PER_ZONE უნდა დაყენდეს მნიშვნელობებზე 1-დან 4-მდე. 4.9-ში აღწერილი სამიზნე რიგი: სამიზნე ბრძანება პირდაპირ გავლენას ახდენს აღმოჩენილი სამიზნეების თანმიმდევრობაზე. ნაგულისხმევად, სენსორი გამოსცემს მხოლოდ მაქსიმუმ ერთ სამიზნეს ზონაში.

შენიშვნა: სამიზნეების გაზრდილი რაოდენობა ზონაში ზრდის RAM-ის საჭირო ზომას.

Xtalk ზღვარი

Xtalk ზღვარი არის დამატებითი ფუნქცია, რომელიც ხელმისაწვდომია მხოლოდ მოდულის Xtalk გამოყენებით. .c და .f files 'vl53l7cx_plugin_xtalk' უნდა იქნას გამოყენებული.

ზღვარი გამოიყენება გამოვლენის ზღურბლის შესაცვლელად, როდესაც სენსორის თავზე არის საფარის მინა. ბარიერი შეიძლება გაიზარდოს, რათა თავიდან იქნას აცილებული საფარის შუშა, ჯვარედინი კალიბრაციის მონაცემების დაყენების შემდეგ. მაგampასე რომ, მომხმარებელს შეუძლია აწარმოოს ჯვარედინი კალიბრაცია ერთ მოწყობილობაზე და ხელახლა გამოიყენოს იგივე კალიბრაციის მონაცემები ყველა სხვა მოწყობილობისთვის. Xtalk ზღვარი შეიძლება გამოყენებულ იქნას ჯვარედინი შესწორების დასარეგულირებლად. ქვემოთ მოყვანილი ფიგურა წარმოადგენს Xtalk ზღვარს.

სურათი 12. Xtalk ზღვარი
ხელმისაწვდომი ფუნქციები

გამოვლენის ზღურბლები

რეგულარული დიაპაზონის შესაძლებლობების გარდა, სენსორი შეიძლება დაპროგრამდეს ობიექტის აღმოსაჩენად გარკვეული წინასწარ განსაზღვრული კრიტერიუმებით. ეს ფუნქცია ხელმისაწვდომია მოდულის „გამოვლენის ზღურბლების“ გამოყენებით, რაც არის ვარიანტი, რომელიც ნაგულისხმევად არ შედის API-ში. The fileუნდა იქნას გამოყენებული s სახელწოდებით 'vl53l7cx_plugin_detection_thresholds'. ფუნქცია შეიძლება გამოყენებულ იქნას A3 (INT) დამაგრების შეფერხების გასააქტიურებლად, როდესაც მომხმარებლის მიერ განსაზღვრული პირობები დაკმაყოფილებულია. არსებობს სამი შესაძლო კონფიგურაცია:

  • გარჩევადობა 4×4: თითო ზონაში ერთი ბარიერის გამოყენება (სულ 16 ბარიერი)
  • გარჩევადობა 4×4: ორი ზღურბლის გამოყენება ზონაში (სულ 32 ბარიერი)
  • გარჩევადობა 8×8: თითო ზონაში ერთი ბარიერის გამოყენება (სულ 64 ბარიერი)

როგორიც არ უნდა იყოს გამოყენებული კონფიგურაცია, ზღურბლების შექმნის პროცედურა და ოპერატიული მეხსიერების ზომა იგივეა. თითოეული ზღურბლის კომბინაციისთვის საჭიროა რამდენიმე ველის შევსება:

  • ზონის id: არჩეული ზონის id (იხილეთ ნაწილი 2.2: ეფექტური ორიენტაცია)
  • გაზომვა: გაზომვა დასაჭერად (დისტანცია, სიგნალი, SPAD-ების რაოდენობა, ...)
  • ტიპი: საზომი ფანჯრები (ფანჯრებში, ფანჯრებიდან, დაბალი ზღურბლის ქვემოთ, ...)
  • დაბალი ბარიერი: ტრიგერის დაბალი ზღურბლის მომხმარებელი. მომხმარებელს არ სჭირდება ფორმატის დაყენება, მას ავტომატურად ამუშავებს API.
  • მაღალი ბარიერი: ტრიგერის მაღალი ბარიერი მომხმარებელი. მომხმარებელს არ სჭირდება ფორმატის დაყენება; მას ავტომატურად მართავს API.
  • მათემატიკური მოქმედება: გამოიყენება მხოლოდ 4×4 – 2 ბარიერის კომბინაციისთვის ზონაში. მომხმარებელს შეუძლია დააყენოს კომბინაცია რამდენიმე ზღურბლის გამოყენებით ერთ ზონაში.

მოძრაობის მაჩვენებელი

VL53L7CX სენსორს აქვს ჩაშენებული პროგრამული უზრუნველყოფის ფუნქცია, რომელიც საშუალებას აძლევს მოძრაობის გამოვლენას სცენაზე. Მოძრაობა
ინდიკატორი გამოითვლება თანმიმდევრულ ჩარჩოებს შორის. ეს ვარიანტი ხელმისაწვდომია მოდულის "vl53l7cx_plugin_motion_indicator" გამოყენებით.

მოძრაობის ინდიკატორის ინიცირება ხდება vl53l7cx_motion_indicator_init() ფუნქციის გამოყენებით. სენსორის შესაცვლელად
გარჩევადობა, განაახლეთ მოძრაობის ინდიკატორის გარჩევადობა გამოყოფილი ფუნქციის გამოყენებით: vl53l7cx_motion_indicator_set_resolution().

მომხმარებელს ასევე შეუძლია შეცვალოს მინიმალური და მაქსიმალური მანძილი მოძრაობის აღმოსაჩენად. მინიმალურ და მაქსიმალურ დისტანციებს შორის სხვაობა არ შეიძლება იყოს 1500 მმ-ზე მეტი. ნაგულისხმევად, დისტანციები ინიციალიზებულია 400 მმ-დან 1500 მმ-მდე მნიშვნელობებით.

შედეგები ინახება ველში 'motion_ მაჩვენებელი'. ამ ველში მასივი 'motion' იძლევა მნიშვნელობას, რომელიც შეიცავს
მოძრაობის ინტენსივობა ზონაში. მაღალი მნიშვნელობა მიუთითებს კადრებს შორის მოძრაობის მაღალ ვარიაციებზე. ტიპიური მოძრაობა იძლევა მნიშვნელობას 100-დან 500-მდე. ეს მგრძნობელობა დამოკიდებულია ინტეგრაციის დროზე, სამიზნე მანძილზე და სამიზნის არეკვლაზე.

იდეალური კომბინაცია დაბალი სიმძლავრის აპლიკაციებისთვის არის მოძრაობის ინდიკატორის გამოყენება ავტონომიური დიაპაზონის რეჟიმით და მოძრაობაზე დაპროგრამებული ამოცნობის ზღურბლებით. ეს საშუალებას იძლევა გამოავლინოს მოძრაობის ვარიაციები FoV-ში მინიმალური ენერგიის მოხმარებით.

პერიოდული ტემპერატურის კომპენსაცია

დიაპაზონის შესრულებაზე გავლენას ახდენს ტემპერატურის ცვალებადობა. VL53L7CX სენსორი ათავსებს ტემპერატურას
კომპენსაცია, რომელიც კალიბრირებულია ერთხელ ნაკადის დაწყებისას. თუმცა, თუ ტემპერატურა ვითარდება,
კომპენსაცია შეიძლება არ შეესაბამებოდეს ახალ ტემპერატურას. ამ პრობლემის თავიდან ასაცილებლად, მომხმარებელს შეუძლია განახორციელოს ტემპერატურის პერიოდული კომპენსაცია ავტო VHV-ის გამოყენებით. პერიოდული ტემპერატურის კალიბრაციას რამდენიმე მილიწამი სჭირდება. მომხმარებელს შეუძლია განსაზღვროს პერიოდი. ამ ფუნქციის გამოსაყენებლად მომხმარებელს სჭირდება:

  • გამოიძახეთ ფუნქცია vl53l7cx_set_VHV_repeat_count().
  • შემდეგ, არგუმენტად მიეცით კადრების რაოდენობა ყოველ ახალ კალიბრაციას შორის.

თუ არგუმენტი არის 0, კომპენსაცია გამორთულია.

შედეგების დიაპაზონი

ხელმისაწვდომი მონაცემები
სამიზნე და გარემოს მონაცემების ვრცელი სია შეიძლება გამოვიდეს არეალის აქტივობების დროს. შემდეგი ცხრილი აღწერს მომხმარებლისთვის ხელმისაწვდომ პარამეტრებს.

ცხრილი 3. ხელმისაწვდომი გამომავალი VL53L7CX სენსორის გამოყენებით

ელემენტი Nb ბაიტი (RAM) ერთეული აღწერა
გარემო SPAD-ზე 256 Kcps/SPAD ატმოსფერული სიჩქარის გაზომვა შესრულებულია SPAD მასივზე, აქტიური ფოტონის გამოსხივების გარეშე, ხმაურის გამო გარემოს სიგნალის სიჩქარის გასაზომად.
აღმოჩენილი სამიზნეების რაოდენობა 64 არცერთი აღმოჩენილი სამიზნეების რაოდენობა მიმდინარე ზონაში. ეს მნიშვნელობა უნდა იყოს პირველი, რომელიც შეამოწმებს გაზომვის ვალიდურობას.
ჩართული SPAD-ების რაოდენობა 256 არცერთი მიმდინარე გაზომვისთვის ჩართული SPAD-ების რაოდენობა. შორს ან დაბალ ამრეკლი სამიზნე ააქტიურებს მეტ SPAD-ს.
სიგნალი SPAD-ზე დაპროგრამებულია 256 x nb სამიზნე Kcps/SPAD VCSEL პულსის დროს გაზომილი ფოტონების რაოდენობა.
დიაპაზონი სიგმა დაპროგრამებულია 128 x nb სამიზნე მილიმეტრი სიგმას შემფასებელი ხმაურისთვის მოხსენებულ სამიზნე მანძილზე.
მანძილი დაპროგრამებულია 128 x nb სამიზნე მილიმეტრი სამიზნე მანძილი
სამიზნე სტატუსი დაპროგრამებულია 64 x nb სამიზნე არცერთი გაზომვების ვალიდობა. იხ ნაწილი 5.5: შედეგები ინტერპრეტაცია დამატებითი ინფორმაციისთვის.
ანარეკლი დაპროგრამებულია 64 x რიცხვითი სამიზნე პროცენტი სავარაუდო სამიზნე ასახვა პროცენტებში
მოძრაობის მაჩვენებელი 140 არცერთი სტრუქტურა, რომელიც შეიცავს მოძრაობის ინდიკატორის შედეგებს. ველი „მოძრაობა“ შეიცავს მოძრაობის ინტენსივობას.

შენიშვნა: რამდენიმე ელემენტისთვის (სიგნალი თითო სპადზე, სიგმაზე,…) მონაცემებზე წვდომა განსხვავებულია, თუ მომხმარებელს აქვს დაპროგრამებული ერთზე მეტი სამიზნე ზონაში (იხ. განყოფილება 4.10: მრავალი სამიზნე ზონაში). იხample კოდები დამატებითი ინფორმაციისთვის.

გამომავალი არჩევანის მორგება

ნაგულისხმევად, ყველა VL53L7CX გამომავალი ჩართულია. საჭიროების შემთხვევაში, მომხმარებელს შეუძლია გამორთოს ზოგიერთი სენსორის გამოსავალი. გაზომვების გამორთვა არ არის ხელმისაწვდომი დრაივერზე; ის უნდა შესრულდეს "პლატფორმაში". სთ file. მომხმარებელს შეუძლია გამოაცხადოს შემდეგი მაკროები, რათა გამორთოს შედეგები:

#განსაზღვრა VL53L7CX_DISABLE_AMBIENT_PER_SPAD
#განსაზღვრა VL53L7CX_DISABLE_NB_SPADS_ENABLED
#განსაზღვრა VL53L7CX_DISABLE_NB_TARGET_DETECTED
#განსაზღვრა VL53L7CX_DISABLE_SIGNAL_PER_SPAD
#განსაზღვრა VL53L7CX_DISABLE_RANGE_SIGMA_MM
#განსაზღვრა VL53L7CX_DISABLE_DISTANCE_MM
#define VL53L7CX_DISABLE_TARGET_STATUS
#განსაზღვრა VL53L7CX_DISABLE_REFLECTANCE_PERCENT
#განსაზღვრა VL53L7CX_DISABLE_MOTION_INDICATOR

შესაბამისად, ველები არ არის დეკლარირებული შედეგების სტრუქტურაში და მონაცემები არ გადადის ჰოსტში. RAM-ის ზომა და I²C ზომა შემცირებულია. მონაცემთა თანმიმდევრულობის უზრუნველსაყოფად, ST ყოველთვის გირჩევთ ჩართოთ „გამოვლენილი სამიზნეების რაოდენობა“ და „სამიზნე სტატუსი“. ეს ფილტრავს გაზომვებს, რაც დამოკიდებულია სამიზნე სტატუსზე (იხილეთ ნაწილი 5.5: შედეგების ინტერპრეტაცია).

მრავალფეროვანი შედეგების მიღება

დიაპაზონის სესიის დროს, არსებობს ორი გზა იმის გასაგებად, არის თუ არა ახალი დიაპაზონის მონაცემები ხელმისაწვდომი:

  • გამოკითხვის რეჟიმი: განუწყვეტლივ იყენებს ფუნქციას vl53l7cx_check_data_ready(). ის ამოიცნობს სენსორის მიერ დაბრუნებულ ნაკადების ახალ რაოდენობას.
  • შეფერხების რეჟიმი: ელოდება A3-ზე (GPIO1) გაჩენილ შეწყვეტას. შეფერხება ავტომატურად იშლება ~ 100 μs-ის შემდეგ.

როდესაც ახალი მონაცემები მზად იქნება, შედეგების წაკითხვა შესაძლებელია ფუნქციის გამოყენებით vl53l7cx_get_ranging_data(). ის აბრუნებს განახლებულ სტრუქტურას, რომელიც შეიცავს ყველა შერჩეულ გამომავალს. იმის გამო, რომ მოწყობილობა ასინქრონულია, არ არის შეფერხება, რათა გააგრძელოს დიაპაზონი. ეს ფუნქცია ხელმისაწვდომია როგორც უწყვეტი, ასევე ავტონომიური დიაპაზონის რეჟიმში.

ნედლეული firmware ფორმატის გამოყენება

I²C-ის მეშვეობით დიაპაზონის მონაცემების გადაცემის შემდეგ, ხდება კონვერტაცია firmware ფორმატსა და მასპინძლის ფორმატს შორის. ეს ოპერაცია, როგორც წესი, შესრულებულია იმისთვის, რომ ჰქონდეს დიაპაზონი მილიმეტრებში, როგორც სენსორის ნაგულისხმევი გამოსავალი. თუ მომხმარებელს სურს გამოიყენოს firmware ფორმატი, შემდეგი მაკრო უნდა განისაზღვროს პლატფორმაზე file: VL53L7CX

#define VL53L7CX_USE_RAW_FORMAT

შედეგების ინტერპრეტაცია 

VL53L7CX-ის მიერ დაბრუნებული მონაცემები შეიძლება გაფილტრული იყოს სამიზნე სტატუსის გასათვალისწინებლად. სტატუსი მიუთითებს გაზომვის ვალიდობაზე. სრული სტატუსის სია აღწერილია შემდეგ ცხრილში.

ცხრილი 4. ხელმისაწვდომი სამიზნე სტატუსის სია

სამიზნე სტატუსი აღწერა
0 დიაპაზონის მონაცემები არ განახლდება
1 სიგნალის სიხშირე ძალიან დაბალია SPAD მასივზე
2 სამიზნე ფაზა
3 სიგმას შემფასებელი ძალიან მაღალია
4 სამიზნე თანმიმდევრულობა ვერ მოხერხდა
5 დიაპაზონი მოქმედებს
6 შეფუთვა არ არის შესრულებული (როგორც წესი, პირველი დიაპაზონი)
7 შეფასების თანმიმდევრულობა ვერ მოხერხდა
8 სიგნალის სიხშირე ძალიან დაბალია მიმდინარე მიზნისთვის
9 დიაპაზონი მოქმედებს დიდი პულსით (შეიძლება იყოს გაერთიანებული სამიზნის გამო)
10 დიაპაზონი მოქმედებს, მაგრამ წინა დიაპაზონში სამიზნე არ არის აღმოჩენილი
11 გაზომვის თანმიმდევრულობა ვერ მოხერხდა
12 სამიზნე დაბინდულია სხვა სამიზნით, სიმკვეთრის გამო
13 სამიზნე აღმოჩენილია, მაგრამ არათანმიმდევრული მონაცემები. ხშირად ხდება მეორადი მიზნებისთვის.
255 სამიზნე არ არის აღმოჩენილი (მხოლოდ იმ შემთხვევაში, თუ აღმოჩენილი სამიზნეების რაოდენობა ჩართულია)

თანმიმდევრული მონაცემების მისაღებად, მომხმარებელმა უნდა გაფილტროს არასწორი სამიზნე სტატუსი. ნდობის რეიტინგის მისაცემად, მე-5 სტატუსის მქონე სამიზნე ითვლება 100%-იან ძალაში. სტატუსი 6 ან 9 შეიძლება ჩაითვალოს ნდობის ღირებულებით 50%. ყველა სხვა სტატუსი 50%-იანი ნდობის დონეზე დაბალია.

მძღოლის შეცდომები

როდესაც შეცდომა ხდება VL53L7CX სენსორის გამოყენებით, დრაივერი აბრუნებს კონკრეტულ შეცდომას. შემდეგ ცხრილში მოცემულია შესაძლო შეცდომები.

ცხრილი 5. დრაივერის გამოყენებით ხელმისაწვდომი შეცდომების სია

სამიზნე სტატუსი აღწერა
0 არანაირი შეცდომა
127 მომხმარებელმა დააპროგრამა არასწორი პარამეტრი
(უცნობი გარჩევადობა, დიაპაზონის სიხშირე ძალიან მაღალი, ...)
255 მთავარი შეცდომა. ჩვეულებრივ, დროის ამოწურვის შეცდომა, I²C შეცდომის გამო.
სხვა ზემოთ აღწერილი მრავალი შეცდომის კომბინაცია

შენიშვნა: მასპინძელს შეუძლია შეცდომის მეტი კოდის დანერგვა პლატფორმის გამოყენებით files.

გადასინჯვის ისტორია

ცხრილი 6. დოკუმენტის გადახედვის ისტორია

თარიღი ვერსია ცვლილებები
02-აგვ-2022 1 თავდაპირველი გამოშვება
02-სექ-2022 2 განახლებულია განყოფილების შესავალი
დამატებულია შენიშვნა სამიზნეებს შორის მინიმალური მანძილის შესახებ ნაწილი 4.10: მრავალჯერადი მიზნები ზონაში
21-თებ-2024 3 დამატებულია VHV (ძალიან მაღალი მოცtagე) მდე ნაწილი 1: აკრონიმები და აბრევიატურები. დამატებულია განყოფილება 4.14: ტემპერატურის პერიოდული კომპენსაცია

მომხმარებელთა მხარდაჭერა

მნიშვნელოვანი შენიშვნა - წაიკითხეთ ყურადღებით
STMicroelectronics NV და მისი შვილობილი კომპანიები ("ST") იტოვებენ უფლებას ნებისმიერ დროს განახორციელონ ცვლილებები, შესწორებები, გაუმჯობესებები, მოდიფიკაციები და გაუმჯობესებები ST პროდუქტებში და/ან ამ დოკუმენტში შეტყობინების გარეშე. მყიდველებმა უნდა მიიღონ უახლესი შესაბამისი ინფორმაცია ST პროდუქტების შესახებ შეკვეთების განთავსებამდე. ST-ის პროდუქტები იყიდება ST-ის გაყიდვის პირობებისა და პირობების შესაბამისად, რომლებიც შეკვეთის დადასტურების მომენტში არსებობს.

მყიდველები არიან მხოლოდ პასუხისმგებელი ST პროდუქტების არჩევანზე, შერჩევასა და გამოყენებაზე და ST არ იღებს პასუხისმგებლობას განაცხადის დახმარებაზე ან მყიდველების პროდუქტების დიზაინზე.

არავითარი ლიცენზია, გამოხატული თუ ნაგულისხმევი, რაიმე ინტელექტუალური საკუთრების უფლებაზე არ არის გაცემული ST-ის მიერ აქ.

ST პროდუქტების ხელახალი გაყიდვა წინამდებარე ინფორმაციისგან განსხვავებული დებულებებით გააუქმებს ST-ის მიერ ასეთ პროდუქტზე გაცემულ ნებისმიერ გარანტიას.

ST და ST ლოგო ST-ის სავაჭრო ნიშნებია. დამატებითი ინფორმაციისთვის ST სავაჭრო ნიშნების შესახებ იხილეთ www.st.com/trademarks. ყველა სხვა პროდუქტის ან სერვისის სახელი მათი შესაბამისი მფლობელების საკუთრებაა.

ამ დოკუმენტის ინფორმაცია ანაცვლებს და ცვლის ადრე მოწოდებულ ინფორმაციას ამ დოკუმენტის ნებისმიერ წინა ვერსიაში.
© 2024 STMicroelectronics – ყველა უფლება დაცულია

ლოგო

დოკუმენტები / რესურსები

STMicroelectronics VL53L7CX ფრენის დრო მრავალზონიანი დისტანციური სენსორი [pdf] მომხმარებლის სახელმძღვანელო
VL53L7CX ფრენის დროის მრავალზონიანი დისტანციური სენსორი, VL53L7CX, ფრენის დრო მრავალზონიანი დიაპაზონის სენსორი, ფრენის მრავალზონიანი დიაპაზონის სენსორი, მრავალზონიანი დისტანციის სენსორი, დისტანციის სენსორი

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *