cancel
Showing results for 
Search instead for 
Did you mean: 

Multiplexing multiple VL53L5 /7

nppasousa
Associate

I'm implementing a smart shelving solution that uses an array of multiple ( 3x6 sensors across 3 i2c channels).

 

I'm multiplexing the sensors so that no sensors emit on the same time. For that I use the drivers start measurement and stop functions and it kind of works. Yet I notice that in continuous mode (using a phone camera) the sensors keep emitting even after they have been stopped. In autonomous mode I can see some flickering of the light but still not the 1/18 time share that I would expect. It virtually still looks like emitting 90% of the time.

How can I prevent the sensors from emitting light so there is no cross talk ( the reading sensor picking up on parked sensors light and getting confused)?

 

 

 

 

2 REPLIES 2
John E KVAM
ST Employee

"...in continuous mode (using a phone camera) the sensors keep emitting even after they have been stopped."

This is really disturbing. I can only conjecture the that stop failed, leaving the sensor to run. 

Are you checking the return code on all the calls? Lots of people return the status, but then never check it.

 

I would have guaranteed that if you set the sensor into Autonomous mode, with a 5ms integration time and an Inter-measurement time of 55ms that the sensor would run every 1/18 of a second.

And if using a phone camera to look at the sensor, please don't use an Iphone. An Iphone has too good of an IR filter on it to see the flash.

- john

 


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

Thanks for replying John, I had figured this had fallen into the folds.

I'm pretty sure it's stopping, I have no error on the stop call.

Also the boards do as they are supposed to in terms of providing the results. They give ok results when there are no common paths of light between them, but when there are, the results have a much larger failure to read status on each individual SPAD. They still kind of work, even as is. That makes me confident that the multiplexing is working and each board has it's own I2C address, and is ACKing the commands as is supposed to. The measurements are consistent with the geomtetry (ex: if I place my hand I see it in the data).

I'm using the driver's stop measurement function.


@John E KVAM wrote:

".

I would have guaranteed that if you set the sensor into Autonomous mode, with a 5ms integration time and an Inter-measurement time of 55ms that the sensor would run every 1/18 of a second.

"


Maybe it is, and that duty cycle looks to the phone as on most of the time

You're right that maybe my phone is per chance not the best tool to assess the duty cycle of the lights. I did try to see it with the slow motion capture, but it's not great. Maybe I'll just plug a photodiode to an oscilloscope and get the truth of it. 

But under normal operation in both continuos mode and autonomous mode the light emitter is supposed to stop? I'll investigate further then. I thought perhaps it kept emitting but not ranging, which is pretty lunatic on the sensor's part from a energy expenditure standpoint.