Homing/offsets
22 Sep 2016 09:42 #80766
by bcnx
Homing/offsets was created by bcnx
Hi all,
I own a 3020T CNC which I use for milling cases. The cases are bigger than what the machine can handle, so I need to apply a different workflow, meaning that I would like to home my milling bit to the correct location after having it manually marked.
This requires me to use LinuxCNC in such a way there are no offsets and that the milling bit goes directly to the correct location, goes down and starts milling. I have browsed the documentation, but I could not really find this (I have to admit that I found the documentation very elaborate but complex). My solution might be linked to the "touch off" buttons, but I do not entirely understand what these do in relation to the homing buttons.
So, in short: what needs to be done to have the milling bit start milling at the set position without having to worry about offset values.
Thanks!
BC
I own a 3020T CNC which I use for milling cases. The cases are bigger than what the machine can handle, so I need to apply a different workflow, meaning that I would like to home my milling bit to the correct location after having it manually marked.
This requires me to use LinuxCNC in such a way there are no offsets and that the milling bit goes directly to the correct location, goes down and starts milling. I have browsed the documentation, but I could not really find this (I have to admit that I found the documentation very elaborate but complex). My solution might be linked to the "touch off" buttons, but I do not entirely understand what these do in relation to the homing buttons.
So, in short: what needs to be done to have the milling bit start milling at the set position without having to worry about offset values.
Thanks!
BC
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1441
22 Sep 2016 17:06 - 22 Sep 2016 17:08 #80787
by Todd Zuercher
Replied by Todd Zuercher on topic Homing/offsets
I'm not sure how not using any offsets helps you. I would think you would want to set your work coordinate system relative to your work piece, so that your milling is in the right place. But to make moves such as moving your Z to the maximum travel while positioning, the best thing to do is use a G53 command. Assuming your machine is homed in the conventional manor where Z0.0 is at the top of its travel, and you have touched off the G54 work coordinates so G54Z0 is the surface of your work piece. Since you won't know from time to time exactly how far G54Z0 is from the machine Z0, but you want your program to move to the top of Z travel for a positioning move. Here is how you would code that.
G53 G0 Z0 (Z moves to home position)
G0 X1Y1 (position x and y)
G0 Z0 (Z moves to G54 Z0 touch off position)
Last edit: 22 Sep 2016 17:08 by Todd Zuercher.
Please Log in or Create an account to join the conversation.
22 Sep 2016 17:41 #80794
by BigJohnT
Replied by BigJohnT on topic Homing/offsets
I frequently machine parts that are larger than the travels on my VMC. I use an indicator to locate the front face of the rear jaw on the vise and that is usually Y0. I put a dowel in the spindle and move to the X+ end of the part plus 1/2 the dowel diameter and Z down. I slide the material up to the dowel and lock it down. On my LinuxCNC machines I just set the X offset to a number that makes sense for the part. I make sure there is a "feature" that can be reached in both set ups. That feature is used to set the part to the second set up. Offsets are the key to using LinuxCNC for CNC work.
JT
JT
Please Log in or Create an account to join the conversation.
22 Sep 2016 19:41 #80805
by bcnx
Replied by bcnx on topic Homing/offsets
Hi all,
you both stress offsets as being important. Maybe my reasoning is faulty, but when I would be able to place the bit where I want my figure to be cut out, I would think an offset is not important. I do see that LinuxCNC decides that the point where the bit goes down, is not the closest point. With a rectangle the bit travels first to the far corner on the Y axis.
The suggestion about manually creating Gcode is perhaps a good one, as it might make it clearer to me what the rationale is about G53, G54 and the whole homing/offsetting deal is.
Cheers,
BC
you both stress offsets as being important. Maybe my reasoning is faulty, but when I would be able to place the bit where I want my figure to be cut out, I would think an offset is not important. I do see that LinuxCNC decides that the point where the bit goes down, is not the closest point. With a rectangle the bit travels first to the far corner on the Y axis.
The suggestion about manually creating Gcode is perhaps a good one, as it might make it clearer to me what the rationale is about G53, G54 and the whole homing/offsetting deal is.
Cheers,
BC
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1441
22 Sep 2016 20:08 #80810
by Todd Zuercher
Replied by Todd Zuercher on topic Homing/offsets
G53 refers to the "machine" coordinate system. This is set when you home the machine, and ideally should be fixed repeatable poisoning from day to day, never changing. (Why home/reference switches are important)
G54 and the other G5x coordinate systems are "work" coordinates, and are set when you touch them off. They can be easily moved to suit the part you are milling.
What the actual numbers are in the machine coordinates are generally irreverent when running your code, because you actually run using the numbers in the work coordinate system you are using (G54 is the default one).
These are not just Linuxcnc concepts but general G-code basics pretty standard across most cnc manufacturers. (if you can't sleep older Fanuc control manuals usually have 50-100 pages devoted to this subject, and is very boring/sleep inducing reading)
G54 and the other G5x coordinate systems are "work" coordinates, and are set when you touch them off. They can be easily moved to suit the part you are milling.
What the actual numbers are in the machine coordinates are generally irreverent when running your code, because you actually run using the numbers in the work coordinate system you are using (G54 is the default one).
These are not just Linuxcnc concepts but general G-code basics pretty standard across most cnc manufacturers. (if you can't sleep older Fanuc control manuals usually have 50-100 pages devoted to this subject, and is very boring/sleep inducing reading)
Please Log in or Create an account to join the conversation.
22 Sep 2016 22:09 #80818
by BigJohnT
Replied by BigJohnT on topic Homing/offsets
Don't feel out of place, I thought the same thing when I first started. IIRC I must have asked a dozen times why I could not use the G53 coordinate system till someone explained how it all works.
Here is a good place to start to understand G code programming.
Here is a good place to start to understand G code programming.
Please Log in or Create an account to join the conversation.
23 Sep 2016 09:17 - 23 Sep 2016 09:20 #80824
by bcnx
Replied by bcnx on topic Homing/offsets
Thanks all!
So if I home an axis in LinuxCNC this is done with the G53 command and when I touch off, this is done with th G54 command? Can these coordinates not simply be the same in order to match my workflow?
I think I'm a bit spoiled by my 3D printer: there I level the plate so the nozzle barely touches it and n ext I choose a good XY point. The machine then starts printing from that exact spot.
Cheers,
BC
So if I home an axis in LinuxCNC this is done with the G53 command and when I touch off, this is done with th G54 command? Can these coordinates not simply be the same in order to match my workflow?
I think I'm a bit spoiled by my 3D printer: there I level the plate so the nozzle barely touches it and n ext I choose a good XY point. The machine then starts printing from that exact spot.
Cheers,
BC
Last edit: 23 Sep 2016 09:20 by bcnx. Reason: completion
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1441
23 Sep 2016 12:43 - 23 Sep 2016 12:46 #80830
by Todd Zuercher
Replied by Todd Zuercher on topic Homing/offsets
You can, but G53 isn't used for homing, just for positioning in the machine coordinate system, such as commanding an axis to move to your home position (not the same as homing.) It is only effective for the one line of code it is issued in.
It sounds like you are making the rookie mistake of trying to use homing as a tool or work-piece touch off. When you do this it takes away Linuxcnc's ability to use soft limits to effectively bound the machines movements, and you can loose day to day positional repeat-ability. What you need to do is find a way to repeatably home the machine to the exact same position when you start the machine. If your machine doesn't have limit or reference switches, the easiest way to do that is usually to use hard stops at the end of travel of each axis. Most hobby stepper machines aren't strong enough to hurt themselves crashing into the end stops or you can jog close, disable the drives and move the last little bit by hand.
It sounds like you are making the rookie mistake of trying to use homing as a tool or work-piece touch off. When you do this it takes away Linuxcnc's ability to use soft limits to effectively bound the machines movements, and you can loose day to day positional repeat-ability. What you need to do is find a way to repeatably home the machine to the exact same position when you start the machine. If your machine doesn't have limit or reference switches, the easiest way to do that is usually to use hard stops at the end of travel of each axis. Most hobby stepper machines aren't strong enough to hurt themselves crashing into the end stops or you can jog close, disable the drives and move the last little bit by hand.
Last edit: 23 Sep 2016 12:46 by Todd Zuercher.
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
Less
More
- Posts: 5008
- Thank you received: 1441
23 Sep 2016 12:58 #80831
by Todd Zuercher
You can do exactly that using the work coordinate systems, that is what their intended purpose is.
For example if your G-code for milling your part is set up so that if X0 Y0 Z0 were the front right corner of your work piece clamped to your table. You would jog the machine so that the tool is at that position and either use the MDI command "G10 L10 P1 X0 Y0 Z0" to set the G54 work coordinates to 0, or use the touch off button on the gui to zero each axis. Then you just run your code. The machine Home position never changes (and never should).
Replied by Todd Zuercher on topic Homing/offsets
Thanks all!
I think I'm a bit spoiled by my 3D printer: there I level the plate so the nozzle barely touches it and n ext I choose a good XY point. The machine then starts printing from that exact spot.
You can do exactly that using the work coordinate systems, that is what their intended purpose is.
For example if your G-code for milling your part is set up so that if X0 Y0 Z0 were the front right corner of your work piece clamped to your table. You would jog the machine so that the tool is at that position and either use the MDI command "G10 L10 P1 X0 Y0 Z0" to set the G54 work coordinates to 0, or use the touch off button on the gui to zero each axis. Then you just run your code. The machine Home position never changes (and never should).
Please Log in or Create an account to join the conversation.
23 Sep 2016 15:18 - 23 Sep 2016 15:20 #80832
by bcnx
Replied by bcnx on topic Homing/offsets
OK, thank you for the hints. I will test this soonest. I'm happy to have read about the possibility to send individual commands through MDI. Uptil now I was manually jogging the bit with the arrow keys and PageUp/PageDown, while counting my keystrokes. Very crude method of course, but I had to get a piece done. Time to hit the GCode tutorial and enter the commands manually. The manual jogging method is worthless when drawing circles, so I need to get past that.
Cheers all, thanks for helping a rookie,
BC
Cheers all, thanks for helping a rookie,
BC
Last edit: 23 Sep 2016 15:20 by bcnx.
Please Log in or Create an account to join the conversation.
Time to create page: 0.077 seconds