2021-04-21 02:06 AM
2021-04-28 07:32 AM
The VL6180V1 works a little differently from the VL53L sensors. This part ranges until it gets enough photons to get a range. You can set the max time, and at that time it will give up.
So, set the max at 10ms say. Then you will get a range of 'no target' every 10ms if in fact there is no target.
Put a hand in front of the target, and you will get a range in 5-8ms based on how close the hand is.
The cool thing about the VL6180 is that it has an 'early escape'. So that if there are few photons returned the sensor will give up after 0.5ms. This saves a lot of power.
Then you can set the inter-measurement period to decide how often you range. 2 times per second is fine for a despensor or something, or you can run continously.
Continuously will provide very quick reaction times, but it can use about 20mA.
cheers,
2021-04-29 06:41 AM
Hi John,
thank you for the helpful reply, So in order to set max time in VL6180 or VL53L*, I should set the inter-measurement period in order to have the ranging done in a specific time. I'm a little bit confused what is the difference between inter-measurement and timebudget?
thank you,
Huda
2021-04-29 07:08 AM
To run as fast as you can, don't set the INter-measurement period (IMP). That way the next range will start immediately after the prior one. Setting the timing budget on a 6180 will determine the max time it will spend looking for a target before it gives up and returns a range status of 'no target'.
The IMP determines the amount of time between the start of one range and the start of the next range.
It's handy if you only want to range a fixed number of times per second. (Faucets use 2 or 3 ranges per second. This saves a lot of power.)
So timing budget is the time for each range, IMP is determines 'dead time' between ranges by specifing the time between each range start.
2021-04-29 08:36 AM
this is really helpful,I found the function (VL6180_RangeSetInterMeasPeriod() ) for setting inter-measurement period but not sure if this function is for timing budget in Vl6180((VL6180x_RangeSetMaxConvergenceTime() ))?
Thank you =)