Hi, I am trying to use the LIDAR-Lite 3 Rangefinder to measure distances. I would like to separate my arduino as much as possible from the actual LIDAR unit. How long of an extension cable can I use? I tried with cat 5 ethernet cable and have resistance of 5.5ohm at 200 feet and a voltage drop of .5V from the arduino. Is the fact that the cable is in twisted pairs and not shielded causing this problem, or is it more the lenghth and resistance? Thanks!
Hi,
As you may already know, the LLV3 (LIDAR-Lite V3) had two interfaces. One is the PWM interface, where you can read a pulse from the sensor that is proportional in duration to the distance the sensor last detected. This is simple enough to use but limits the response time due to longer distances requiring longer pulses instead of a fixed length of time to return a resposne.
The other (and preferred) interface is the I2C interface. This one allows you to communicate by a serial protocol with the LLV3. Please note that I2C (Inter-Integrated Circuit) was meant as a serial bus system to connect processors and microcontrollers over short distances for intra-board communication. As you can read on the wiki page under Design, the I2C bus is an open collector or open drain system that is tightly limited by the total capacitance of the bus. Since more devices and longer connections (traces, wires, etc.) add more capacitance to a circuit it makes it quite limited for long distance communication.
That being said, there are alternatives. One of the simplest ones is to place a small microcontroller board (ex: RB-Ite-149) with the LIDAR and use that to communicate over longer distances with your main microcontroller. If you wish to use CAT 5 cables to do I2C, that is doable, but you will need more powerful driver chips to overcome the resistance and capacitance of the cable. Here is an example datasheet of such a chip. This one has cases from a few meters to over 100 and 250 meters! Please note that at such long distances you will most likely not be able to go above the standard I2C speed, which is 100 KHz. You can probably achiever even longer distances by using a slower speed, too.
So, in summary, I2C is capacitance dependent and that is what limits both distance and speed (they are mostly inversely proportional).
We hope this helps.
Sincerely,
P.-S.: Cat 5 Ethernet cable has a rated capacitance of 52 pF / m (@ 800 Hz, not 100 KHz!) for each wire. Therefore, 200 feet (~60 m) would lead to about 3120 pF of capacitance. That is well above the limit of 400 pF for standard speed I2C (100 KHz) and hence why the driver/buffer chips are needed.
Thanks, that was the info I was looking for. I am only looking to get one reading per minute from the lidar, and the issue is that it needs to be mounted 50-100’ in the air. I will look into a more powerful controller. My end goal is to have 10 or more lidars taking measurements and feeding back to a computer or web based access. I do not do the programming, so I will pass this along to my controller. My degree is in mechanical engineering, so this is a steep learning curve for me! In our setup we placed a 1000uF capacitor between power and ground of the lidar. Could I remove this capacitor and rely on the capacitance of the network cable to gain extra length? I also have 4 wire shielded phone line, would this work better in this application? Thanks!
Hi,
Since you have such low requirements of measurement speed, you can easily reduce your I2C communication speed to below 100 KHz, which would allow much longer range. Simply use a “soft” I2C library instead, such as:
]SoftwareI2CLibrary/:m]
]SoftWire/:m]
Since you wish to have all of them report back to a remote computer, which not simply pair your LIDAR-Lite sensors to a battery pack and wireless communication instead of running long cables? This would most likely be easier to use and faster to implement. You may want to have a look here. Something like small XBee modules may be great for this. You can have each LIDAR have a small microcontroller (as mentioned before) tied to a small battery pack and a XBee module. Each have their own ID and report to a master one connected to your computer, which can gather the information from the sensors (and even poll them on demand, if you want).
Since this device comes with a full Arduino library, I strongly recommend you have a look intro programming it regardless. It should be an easy enough project to gain experience with, even for a beginner! Anyway, for team projects, the more you know about everything the better…
A capacitor of at least 800 µF is required between the VCC & GND pins of the LIDAR-Lite. This is completely unrelated to the I2C communication lines and has no bearing on the length of cables possible.
No, it would most likely not be all that much better. Capacitance per meter in the best of cases (expensive, special made wire) is typically at lowest around 9 pF / meter (compared to ~52 pF/m for Cat 5 twisted pairs). Even with such a low rating for such a wire the distances you are needing places the total capacitance at about twice the maximum for stable, proper I2C communication. Of course, your telephone wire is probably well above 9 pF/m.
We hope this extra info helps.
Sincerely,
Thanks for all your help, I will consider all options. The problem I am having with wifi is that the sensors are going on metal bins, and even strong wifi from a router can be unreliable in these areas. Perhaps I could use a couple master controllers to pick up sensors in different areas? I’m also sure that I can learn the programming, but I am extremely busy at work and have other guys that want to practice.
Also, is there a battery pack you recommend for this application? Thanks.
Hey,
I see what you mean about metal bins. They can indeed affect signals. That being said, most electronic devices are made of conductive elements and can still make it work… but antenna main frequency and its placement are critical. As a general rule of thumb, you should keep the active antenna part at least 1 wavelength away from large conducting obstructions.
The environment itself will most likely create constructive and destructive interference depending on where you place the equipment, too. I’d recommend using XBee or other similar wireless modules that work on lower frequencies, such as 915 or 433 MHz as they have better penetration.
As for battery packs, it really depends on how long you need them to work between charging/replacement. If you want to use primary cells (non-rechargeable battery cells), then you could use a simple AA pack (need enough in series and parallel to provide enough voltage and current) with a switching regulator to 5 V DC. Alternatively, you could go for rechargeable battery cell or pack (probably a better long term idea and far less expensive).
As long as it can provide the current required for your setup (~500 mA on startup for LIDAR-Lite 3, ~50-200 mA for microcontroller board, ~10-250 mA for wireless module) you should be OK. Therefore, a good 5 V DC, 1.5 A or more regulator should do the trick. Then, connect that to any power source that provides 5+X V DC, where X is the minimum “voltage padding” required by the regulator to provide 5 V DC.
Here are some example products:
][RB-Sta-06], 1000 mAh, 5C/:m]
][RB-Sta-07], 2000 mAh, 5C/:m]
][RB-Hui-06]/:m]
][RB-Pol-497] (this one can work with as low as input as 3 V DC like a 1S LiPo, too, such as [RB-Sta-01])/:m]
We hope this helps!
Sincerely,
P.-S.: Add a 3D printed custom case around all the parts put together, and you have a decently nice system you can probably just double-sided type anywhere easily!
Thanks for the advise, sorry I didn’t reply sooner. This project got put on hold until now. I have decided to try using an Ethernet shield and mount each Arduino in a sealed box attached to the lidar housing to get around these issues. That way I can supply ample power through the Ethernet cable, and get around any wireless interference.