Updated documentation in README.md
This commit is contained in:
parent
3e8cce4202
commit
395ea1a556
67
README.md
67
README.md
@ -1,3 +1,68 @@
|
||||
# laserhead-distance-sensor
|
||||
|
||||
A distance sensor for focusing the head of a galvo laser.
|
||||
## The problem
|
||||
On my fiber laser, I have to manually set the focus of the laser by adjusting the height of the laser head which houses the focussing lens.
|
||||
That means I have to accurately set the distance between the lens and the object with a ruler. This is very inprecise and requires a lot of fiddling with said ruler, the object and the calibration line on the laserhead.
|
||||
|
||||
## A solution
|
||||
I can create some sort of stick that has the exact height of the lens being in focus on the bed.
|
||||
When I have to focus the laser, I try to fit this stick between the lens and the object and adjust the height accordingly.
|
||||
|
||||

|
||||
|
||||
## The solution
|
||||
A digital distance sensor that helps to set the correct height for the galvo laser head of my fiber laser.
|
||||
|
||||

|
||||
|
||||
> _Because everything worth doing is worth overdoing!_
|
||||
|
||||
## Installation
|
||||
Installation is done by sticking the sensor to the side of the laser arm. The location is not important, but the sensor must be pointing down towards the bed. The height is not important, as the sensor will be calibrated to its current location.
|
||||
The display can be attached wherever is most convenient and readable when adjusting the height of the laser arm.
|
||||
|
||||

|
||||
|
||||
After installation, connect the USB-C power source and verify the display is showing two numbers.
|
||||
```
|
||||
^ 127 | 0
|
||||
```
|
||||
Press the knob and the calibration menu will appear.
|
||||
```
|
||||
Calibrate
|
||||
YES / NO
|
||||
```
|
||||
Rotate the knob so YES is highlighted and press the knob.
|
||||
The sensor will now take a measurement and store this in EEPROM. This measurement will be retrieved from EEPROM every time the sensor is started, so it starts in a calibrated way.
|
||||
|
||||
```
|
||||
0 | 0
|
||||
```
|
||||
|
||||
> **Note**
|
||||
> If you change your lens, you have to recalibrate the sensor.
|
||||
|
||||
## Operation
|
||||
There are two ways of operating the sensor.
|
||||
|
||||
### Option 1: Set object height
|
||||
Rotate the knob till the right number displays the height of the object.
|
||||
```
|
||||
^ 8 | 13
|
||||
```
|
||||
The sensor will now calculate the difference between the measured height and the set height. (In the above example, the head must be raised by 8 mm to have the object of 13 mm in focus.)
|
||||
Change the height of the laser arm till the left number displays "0" and no arrow is visible. The laser is now in focus.
|
||||
|
||||
### Option 2: Measure object height
|
||||
Rotate the knob till the right number displays "0".
|
||||
```
|
||||
v 5 | 0
|
||||
```
|
||||
Place the object under the sensor. (In the above example, the head must be lowered by 5 mm to have the object in focus.)
|
||||
Change the height of the laser arm till the left number displays "0" and no arrow is visible. The laser is now in focus.
|
||||
|
||||
> **Note**
|
||||
> I prefer option 2, because this is a quick and easy way of working. The set height of the object is lost after the power is turned off.
|
||||
|
||||
## Build
|
||||
To be documented.
|
||||
70
cad/images.drawio
Normal file
70
cad/images.drawio
Normal file
@ -0,0 +1,70 @@
|
||||
<mxfile host="Electron" modified="2023-07-02T08:47:53.457Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.3.7 Chrome/112.0.5615.204 Electron/24.5.0 Safari/537.36" etag="9V9i2ZHjO2KAMOXz_0WO" version="21.3.7" type="device">
|
||||
<diagram name="Page-1" id="apkLY82v2svt43NLXheB">
|
||||
<mxGraphModel dx="144" dy="113" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="rbrn1IwdH5oRhUIE0Q6u-1" target="rbrn1IwdH5oRhUIE0Q6u-3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-1" value="display" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="280" y="80" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-2" value="sensor" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="280" y="160" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-3" value="human<br>turning cranck" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="80" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-10" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="rbrn1IwdH5oRhUIE0Q6u-4" target="rbrn1IwdH5oRhUIE0Q6u-5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-4" value="setpoint" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="40" y="80" width="120" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-11" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="rbrn1IwdH5oRhUIE0Q6u-5" target="rbrn1IwdH5oRhUIE0Q6u-1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-13" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="rbrn1IwdH5oRhUIE0Q6u-3" target="rbrn1IwdH5oRhUIE0Q6u-2">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="480" y="200" as="sourcePoint" />
|
||||
<mxPoint x="530" y="150" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="500" y="180" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-14" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="rbrn1IwdH5oRhUIE0Q6u-2" target="rbrn1IwdH5oRhUIE0Q6u-5">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="140" y="200" as="sourcePoint" />
|
||||
<mxPoint x="190" y="150" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="220" y="180" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-5" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="80" width="40" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-7" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="210" y="100" as="sourcePoint" />
|
||||
<mxPoint x="230" y="100" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-8" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
|
||||
<mxGeometry width="50" height="50" relative="1" as="geometry">
|
||||
<mxPoint x="220" y="110" as="sourcePoint" />
|
||||
<mxPoint x="220" y="90" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-15" value="+" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="180" y="80" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="rbrn1IwdH5oRhUIE0Q6u-16" value="-" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
|
||||
<mxGeometry x="200" y="120" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
BIN
img/a_solution.jpg
Normal file
BIN
img/a_solution.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
img/controlloop.jpg
Normal file
BIN
img/controlloop.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
BIN
img/installation.jpg
Normal file
BIN
img/installation.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Loading…
Reference in New Issue
Block a user