First, what is the part origin?
When we draw any 3D geometry in a CAD program, evidently draw on some orthogonal planes whose intersection is the origin of the piece that we create. Generally, the origin of coordinates, which will be in the CAM program is marked by default as part zero. For the purpose of code, this will always be the origin 0,0,0. So if we tell the router by code that is to be the coordinate x = 40 y = 10, will move to 4cm in the X axis of this origin, and 1 cm in the axis Y. All coordinates are marked in the G code will be with reference to the original part. So far it’s easy.
But that is the origin machine?
Well, 0,0,0 is another origin, but this can be referenced to our router. Like any router, there is a workload, a three-dimensional space where the cutter can get in a 3-axis, it is a cuboid in my case measures 1000mm in X, 500mm in Y and 200mm in Z. This volume, must also have an origin, usually in a corner. And what the point of having this origin? because when we go to load a piece in our program the router (mach3, LinuxCNC), we can place our model anywhere within that workload. The router will always work with respect to the coordinates origin related to machine, but always have the option of making a “transfer of origins.” Let me give a simple example.
Inside my workload, I should be able to place this geometry (or machining G code) where I wanted. Now, would you tell the LinuxCNC where I will place, so that the new origin is not in the corner of my workload, but at the base of the L text.
The program, internally what it does is add to all dimensions of the G code, the distance between the origin of the machine coordinates and workpiece coordinates again. This way we will always have the same reference (source machine) and can very easily place our work material which suits us more.
And how is this done in practice with LinuxCNC?
First, whenever we start the program, the origins in X, Y and Z are not the “home” position. As in the previous image, the end of the X-coordinate is not the source symbol (a circle with two black quadrants) which means that the machine does not have a defined origin and therefore will not let you run any code. So the first thing you have to do is set the machine origin.
And how can the LinuxCNC do this?
Well you can do so very easily. It has an option to search the origin machine automatically and taking advantage of the limit switches.
Each pin associated with each axis option “Both Limit + Home X” this means that whenever the limit that axis is reached, will perform the program has reached a physical limit (when machining or moving) or it has come to the machine home position (when you’re looking for)
Then we have to set the conditions of “search” for each axis of this origin
For my X axis, for example we have in the second block of options values to search automatically the machine origin.
These values have not yet entirely clear how they work, and for each machine configuration and various motors, so you can not completely follow this configuration, as this is what works for me.
- Table Travel: this basically defines the workload, the LinuxCNC know that from the source machine can not move more than 1000mm (in my case) Also, graphically draw a parallelepiped with these measures and to help us to graphically visualize our volume working.
- Home Search Velocity: the speed with which you go to find the source. It is important to not only the value but also the sign. The value should not be the maximum movement of the engines, mainly by inertia that drag. Since he does not know when he will touch the limit switch until you touch it, and think that when you touch will have to slow down movement 0mm … which does not in any case. So a better slow speed will moderate ideal as it gives you time to stand where it touches and not break anything. The sign is also important because if you define the X axis, in this case, moves to the left or right (depending on where we are interested in having our origin machine)
- Home Switch Location: this will be the physical distance between the source machine and the point where each axis touches its limit. That is, when I touch the X axis limit, the program automatically placed the origin on this axis machine, before that point 10mm (10mm in my case) in this way we ensure that we will never again touch the end switch. Since the program remember that once defined the origin machine, never allowed to exceed the limits of the workload.
- Home location: When you have found the origin by touching the Switch, we can make the distance the origin we want to move. Why is it useful? the fact that the machine origin search, does not mean we have to stop the router in an awkward position, in a corner of the workload. My suits me, for example, when the source machine is in Z, then climb to 70mm to have space for mounting the milling cutter you want to use. In X and Y also, as I come to my comfortable.
- Home latch direction, I am not clear, but I think it refers to an option when you configure a lathe, so I do not pay much attention.