# Designing a universal time of flight z compensator

**URL:** <https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406>\
**Category:** Community Laser Talk\
**Tags:** focus, movable-z, auto-focus\
**Created:** [April 13, 2023, 11:37am UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406 "2023-04-13T11:37:25Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 13, 2023, 11:37am UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/1 "2023-04-13T11:37:25Z")

</div>

Hello, I work a lot with fairly large 3mm sheets (50cm x 30cm +) and warping is quite an issue for me, so I’ve decided to design a live servo z height compensator with 0.1mm resolution. The idea is to make it stand-alone and self contained so it can be attached to the lens mount. All it would need is a 2 wire 5v feed. I am wondering how much interest there would be for this and what value to see for it (as in how much is it worth to you in $ so I can know how much to spend designing this and how to design it… Just for me or for production).

It would likely require mechanical adaptors for different models which is a separate issue, but more straightforward to solve.

I’ve already figured out how to avoid crashing into cut holes, and interpolation matrix resolution depends on price point.

Feedback? Comments?

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 13, 2023, 7:43pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/2 "2023-04-13T19:43:18Z")

</div>

That would be great…

There are issues… first is the response or how fast will it have to respond to a change in height? How would you detect it…? if it’s a mechanical switch would it only be effective going in one direction? Is the detector is on the opposite side of the head?

You’d virtually have to drag it on the material for it to maintain in contact. The only right place for it to measure would block the beam.

* * *

I look at this a bit differently… seems many of us have engraved items we’d like to lase… image following a 3d engraving of a ship and following it… that would be response time and how your detector and it’s position would have to deal with… much less of a problem with flat 3mm stock, but for a precise focus, these become issues…

* * *

I have a smaller bed co2 and cut lots of 3mm, so I know the problems you must have with larger sheets. I use 2’ square pieces, I usually use magnets to hold them down… It would be nice to have something like this for natural products…

Put your thinking cap on… if you can pull it off, no telling…

* * *

There are small 3d distance detectors components… These are getting better…

> **[Laser distance sensors](https://www.baumer.com/us/en/product-overview/distance-measurement/laser-distance-sensors/c/289)**
>
> Precise distance, spacing and position measurements

They do have some of these for metal cutting lasers, these are hall effect and only work on Ferris metals.

> **[\[Hot Item\] Capacitive Height Control Sensor, Controller for Laser Cutting...](https://longtenghange.en.made-in-china.com/product/vXSxBKshwUWe/China-Capacitive-Height-Control-Sensor-Controller-for-Laser-Cutting-Machine.html)**
>
> Application: Petroleum Machinery Manufacturing, Automotive Industry, Metal Cutting Machine Cooling System: Air Cooling Applicable Material: Metal Structure Type: Gantry Type Laser Technology: Laser Flame Cutting Model No.: Hf100-L

> **[Torch height control for plasma cutting l Hypertherm](https://www.hypertherm.com/en-US/resources/articles/torch-height-control-for-plasma-cutting/?region=NART)**
>
> There are a variety of torch height controls, or "standoff controls," on the market. Each of these automatic THCs has a variety of functions and features.

Even some kind of ultrasonic detector for a micro might be applicable to at least make a proof of concept model.

Keep us updated…

Good luck

😸

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 13, 2023, 9:45pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/3 "2023-04-13T21:45:34Z")

</div>

Almost done with the design of my first proof of concept. It’s based on 4 Lidar modules with a 0.1mm resolution and an accelerometer to know which Lidar to follow. combine that with 1/32 step NEMA motor ( so 0.05625 degree turn precision) and I think I can keep it hovering in a much more usable region than what I have now.

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 13, 2023, 9:53pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/4 "2023-04-13T21:53:41Z")

</div>

Go for it… There are many people here that would love that…

Personally, there is no drag chain or other extra paraphernalia on my machines head.

 ![cropped-head](https://forum.lightburnsoftware.com/uploads/default/original/3X/0/1/01f360cee34f7797345f9bc284a239a27e17f0dd.jpeg)

Keep us updated…

😸

---

<div class="post-metadata">

**Author:** ![Rick](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/rick/32/69_2.png) [@Rick](https://forum.lightburnsoftware.com/u/Rick)\
**Post date:** [April 13, 2023, 11:44pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/5 "2023-04-13T23:44:40Z")

</div>

I really like the idea. Currently, there are options provided from Ruida, so I bet other motion controller manufactures offer something competitive.

> [@julienrl](#):
>
> as in how much is it worth

Took me a little bit, but found the control system offered by RuiDa.

> **[Height Controller Series - Ruida Technology](https://www.rdacs.com/en/product/height-adjust)**
>
> Equipped with 4.3” industrial TFT color touch screen, the automatic height controller of Ruida has a high performance amplifier and professional anti-interference design, which greatly increases the speed of motion and response of the height...

I also found the video. A RDC6332M with live focus system.- [Ruida Facebook Video](https://www.facebook.com/watch/?v=1014089728603729)

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 14, 2023, 1:20am UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/6 "2023-04-14T01:20:29Z")

</div>

That’s a pretty trick video …

I guess it would hinder my 1500mm/s speeds… 🤣

😸

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 21, 2023, 2:52pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/7 "2023-04-21T14:52:13Z")

</div>

Initial design done and being ordered! Can’t wait to make the code, it’s going to have some fun physics and vector math in there.

![image](https://forum.lightburnsoftware.com/uploads/default/original/3X/0/8/083def9abebdc13efd0a91aacd91e718bbb8ceb1.png)  
 ![image](https://forum.lightburnsoftware.com/uploads/default/original/3X/9/2/9200079a710632f43643a8668450c386f3ed768b.png)

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 21, 2023, 7:34pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/8 "2023-04-21T19:34:25Z")

</div>

Assume that mounts over the lens tube?

How far apart are the sensors…

Would not the distance between the sensor limit how fast the object can change heights…?

* * *

Please keep up the posts… I find it fascinating…

Good luck

😸

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 21, 2023, 7:58pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/9 "2023-04-21T19:58:18Z")

</div>

It mounts around the lens and drives a servo motor that keeps adjusting the height on the fly. The sensors are about 65mm / 3 inches apart and the height adjustments will be done live at full speed. The accelerometer senses G force / acceleration, and with acceleration and time I can get distance travelled. So at all times I can know how far I am from the measured points. Either that or I’ll use interpolated heights generated by using weighted height readings from 4 lidar sensors according to the corresponding G force. So if you’re 2G Y and 1G X for example, the +Y lidar is weighted double as we assume the slopes are more or less uniform / graded across a few inches (as they would be with warped wood). So in that example, a 0.1mm rise on +Y and a 0.5mm rise on +X would mean an interpolated rise of 0.35mm. I hope both approaches kinda work, because they could be combined. The idea is that the focus of the lens would always hover in a ±0.1 or 0.2mm window instead of what I have now which is either being 10x futher than I’m supposed to be, or dragging along the wood when I get to the high spots…

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 21, 2023, 8:29pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/10 "2023-04-21T20:29:04Z")

</div>

Let us know how it does… it would be great…

Any guesstimate on weight and power consumption…?

I don’t have any power to the head on my machine…

😸

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 21, 2023, 8:52pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/11 "2023-04-21T20:52:37Z")

</div>

The biggest part of the weight will be the NEMA 8 motor, but even that is just shy of 2 cubic inches (about 1x1x2). It weights 80g + the other parts, I think the whole thing should weigh under 150g or 1/3lb. The idea is to hug it near the center though to avoid backlash from being introduced.

Power consumption is once again mostly the motor, it should not exceed 5W draw altogether, so it could even be run of a AAA battery with a DC-DC booster if you really didn’t want to run the 12v wire input.

I’m going to be working with Yousef form Spark Laser to design the mechanical part of it (since he designed my machine) and then we’ll see about making a K40 version and releasing it into the wild!

The real dream would be having some sort of piezo autofocus lens, but that would be pretty nuts and the goal here is to make this accessible for mods, and hopefully creative uses of the mechanism.

---

<div class="post-metadata">

**Author:** ![Colin](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/colin/32/41542_2.png) [@Colin](https://forum.lightburnsoftware.com/u/Colin)\
**Post date:** [April 21, 2023, 9:19pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/12 "2023-04-21T21:19:57Z")

</div>

I actually work with Yousef frequently - Im based in BC. Let us know if we can help! I’m very interested in this.

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 21, 2023, 9:46pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/13 "2023-04-21T21:46:06Z")

</div>

haha nice! Small world! Sending you a DM 🙂

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [April 21, 2023, 9:47pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/14 "2023-04-21T21:47:59Z")

</div>

> [@julienrl](#):
>
> weigh under 150g

The head on mine weighs around 100g…

Or about 50% more than my complete head … keep this type of design in mind also if you can.

 ![20211008_090421](https://forum.lightburnsoftware.com/uploads/default/original/3X/0/1/01b2b0a39c1cca564ed065e1dbc7ad8b8a52be20.jpeg)

😸

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [April 21, 2023, 10:55pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/15 "2023-04-21T22:55:37Z")

</div>

LOL! when you put it that way… Truth is I have no idea how much the whole thing is going to weigh in the end, but you bring up a good point… Alright fine, I’ll do some math lol. The PCB would only weigh about 15-20g, so really the balance of the weight is the wiring and the actuation mechanism (the gears and whatnot). The “fixed” weight would be the circuit board and the motor which would come in around 95g.

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [June 13, 2023, 3:09am UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/16 "2023-06-13T03:09:32Z")

</div>

Lol! Turns out I’ve been posting updates in DMs with Colin 🤣 for those following, I had my first prototypes arrive, did lots of tweaking, and the second version just arrived at half the size. Next testing should happen this coming weekend.

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [June 30, 2023, 6:07pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/17 "2023-06-30T18:07:56Z")

</div>

Alright, project update. I have had the chance to take a look at my new revision of hardware. There are some minor adjustments, but I can’t get the LiDAR chip to communicate for some reason. I’ve been able to use an oscilloscope to see that the signal is getting through from the ESP32, through the multiplexer, and to the chip… now why it won’t respond is baffling me. Still… I’ll keep at it.

---

<div class="post-metadata">

**Author:** ![Onedy](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/o/b2d939/32.png) [@Onedy](https://forum.lightburnsoftware.com/u/Onedy)\
**Post date:** [September 5, 2023, 6:52pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/18 "2023-09-05T18:52:18Z")

</div>

I am also very interested in your idea. This project may inspire you: [http://autofocus-co2.ru/](http://autofocus-co2.ru/)  
[https://www.youtube.com/watch?v=bPs7Y-sTm\_M](https://www.youtube.com/watch?v=bPs7Y-sTm_M)

---

<div class="post-metadata">

**Author:** ![julienrl](https://forum.lightburnsoftware.com/letter_avatar_proxy/v4/letter/j/c57346/32.png) [@julienrl](https://forum.lightburnsoftware.com/u/julienrl)\
**Post date:** [September 7, 2023, 4:01pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/19 "2023-09-07T16:01:19Z")

</div>

cool! Similar idea! Not sure how they got the focus to be sufficiently centered to use a single measurement point. I like that.

---

<div class="post-metadata">

**Author:** ![jkwilborn](https://forum.lightburnsoftware.com/user_avatar/forum.lightburnsoftware.com/jkwilborn/32/63089_2.png) [@jkwilborn](https://forum.lightburnsoftware.com/u/jkwilborn)\
**Post date:** [September 7, 2023, 5:33pm UTC](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406/20 "2023-09-07T17:33:54Z")

</div>

> [@julienrl](#):
>
> use a single measurement point

From the video they clearly didn’t. Where they move it around at a pretty low speed, it hits objects on the table and knocks them around …

That would indicate that it’s position is taken from a different location than the tip of the nozzle.

* * *

The measurement point should be where the laser strikes, but that’s pretty impossible. I suspect it’s at a specific point somewhere around the lens. It appears to knock materials off no matter what direction it going…

Too bad I don’t read/understand Russian, or for that matter Chinese 😵‍💫

It would be nice to know more details.

I strive for a lightweight system, this just adds a ton of mass to the head… Might not matter on that beast…

😸

[Next page](https://forum.lightburnsoftware.com/t/designing-a-universal-time-of-flight-z-compensator/97406.md?page=2)
