laser as z probe



  • Hello

    I'm building a selfmade 3d printer.
    It's a cartesian printer, with y axis moving the bed and x and dual z the extruder.
    Board: Duet ethernet 1.21 (currently working on implementing 2.03)

    My question is, if it'd be possible to use a laser as the z probe instead of a normal z probe.

    I'm using the il-300 with the il-1500 by keyence. it's already showing me the distance between the laser and the bed, but i don't know how to wire the laser to the board and how to change the firmware.

    Any help would be much appreciated.

    Thanks!



  • @chilli I can't imagine that these sensors output any kind of data which the Duet's firmware would understand.

    Without support for these devices being implemented in the firmware, it would seem unlikely that you could use them. Most of the sensors which are supported tend to output either a voltage based signal or a digital signal. I'm guessing from the Keyence web site that these actually output measurement data in a text or binary format.

    (I can't be 100% sure about this, as Keyence won't let me download any datasheets without creating an account, and I'm not going to do that.)



  • @chilli said in laser as z probe:

    il-300

    I would imagine you would need to use a raspberry Pi type device and program it to understand the signal put out by the il-300. Then have the Pi talk to the duet through serial communication in the form of Gcodes.

    Anything is possible if you want to put the effort into it....



  • i will be able to get the datasheet tomorrow, to see what output i can get from the laser.
    what type of output would i need to communicate with the duet?



  • @chilli Have a look at the following two pages:

    https://duet3d.dozuki.com/Wiki/Choosing_a_Z_probe
    https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe

    You'd need to find some way to make the sensor support one of the interfaces which already exist.

    Most interfaces are very simple and emulate a switch, so all they tell the Duet firmware is that the sensor has been triggered (i.e. has sensed the surface of the bed.)

    It may be possible to do something with a Pi, but if you are emulating a probe and need to convert the data from the sensor into a simple switch, the time taken to do that conversion could introduce delay and inaccuracy.

    It's hard to speculate without knowing how the laser sensor talks to things.



  • A Pi is MASSIVE overkill.

    An Arduino micro or an ESP8266 or even ESP32 is still overkill; still, I'd lean toward them simply because they are available at quite low prices in "quick ship" retail channels. Example: They are in the $4 to $6 area, qty 1, from vendors like Amazon.

    Get the datasheet for the laser, and in all likelihood, we can put a wiring diagram and a simple sketch (arduino program) in this discussion thread.

    @chilli Can you order from US amazon? If not, in what country are you?



  • I'm based in Germany.
    Got an arduino uno flying around here, so could use that if necessary

    I changed from the il300 to an il100, cause of the range of the laser
    Also uploading the datasheets and the manuals of both

    Page 5 of the il1500 manual: As far as I can see, the il1500 can give out an analog output from 0 to 5V. I can also set a low and max point, inbetween its giving out a go signal.
    Maybe I could use one of them

    AS_107023_IL_IM_96M13643_GB_1109-3a.pdf
    IL-100_Datasheet.pdf

    I can upload the datasheets also in german/other languages if that helps


  • administrators

    I looked into laser distance sensors several months ago, especially as there are some low cost ones around now. The main problem is that you need extremely high resolution, repeatability and temperature stability.

    Let's start from first principles. The speed of light in vacuum or air is very close to 1 foot per nanosecond. So each nanosecond of measured time is 300mm of distance there and back, or 150mm one-way. Therefore each picosecond represents 150 microns of distance. If we take 30 microns as the required repeatability of Z probing (and some types of Z probe are better than this), this means that your measurement system needs a resolution and stability of about 200 femtoseconds. Even if you can achieve this resolution, it's most unlikely that you will achieve this stability.



  • @dc42 said in laser as z probe:

    I looked into laser distance sensors several months ago, especially as there are some low cost ones around now. The main problem is that you need extremely high resolution, repeatability and temperature stability.

    Let's start from first principles. The speed of light in vacuum or air is very close to 1 foot per nanosecond. So each nanosecond of measured time is 300mm of distance there and back, or 150mm one-way. Therefore each picosecond represents 150 microns of distance. If we take 30 microns as the required repeatability of Z probing (and some types of Z probe are better than this), this means that your measurement system needs a resolution and stability of about 200 femtoseconds. Even if you can achieve this resolution, it's most unlikely that you will achieve this stability.

    but i'm using the il1500 to read the measurement of the laser (il100). i can give out an analog high signal if a preset distance is reached. Wouldn't it be possible to to read the analog signal with the duet?
    should workk like a switch then or not?



  • @chilli The analogue output would indeed work like a switch and the Duet could read that. (You may need to scale the voltage down to 3.3V for the Duet, depending on which input it is connected to and the version of your Duet.)

    It's interesting to see how they've used a triangulation technique to get around the problem that David raised regarding simple reflection measurements and the difficulty of measuring femtosecond time differences. That the sensor you have has a repeatability of 4 microns is very impressive and certainly makes it a candidate for a good bed probe. (The printing surface may be important though.)



  • To get an idea about how fast an Arduino can deal the different measurements from a laser sensor, you can see this video: Measure Distance with VL53L0X 6 pin Laser module with Arduino
    Although the VL53L0X sensor is very accurate and
    (in my opinion the best laser sensor for a 3d printer due to its extremely tiny size) Arduino can't manipulate the measurements fast enough. (you can see the rate that the measurements appeared on the screen). However, I think that the VL53L0X sensor definitely could be used for that purpose maybe with another microcontroller ...


  • administrators

    @chilli said in laser as z probe:

    @dc42 said in laser as z probe:

    I looked into laser distance sensors several months ago, especially as there are some low cost ones around now. The main problem is that you need extremely high resolution, repeatability and temperature stability.

    Let's start from first principles. The speed of light in vacuum or air is very close to 1 foot per nanosecond. So each nanosecond of measured time is 300mm of distance there and back, or 150mm one-way. Therefore each picosecond represents 150 microns of distance. If we take 30 microns as the required repeatability of Z probing (and some types of Z probe are better than this), this means that your measurement system needs a resolution and stability of about 200 femtoseconds. Even if you can achieve this resolution, it's most unlikely that you will achieve this stability.

    but i'm using the il1500 to read the measurement of the laser (il100). i can give out an analog high signal if a preset distance is reached. Wouldn't it be possible to to read the analog signal with the duet?
    should workk like a switch then or not?

    Yes you can feed an analog voltage in the rang 0 to 3.3V into the Duet Z probe input. But you've totally ignored the point I was making.


Log in to reply