0:24 coordinate systems and homing coordinate 0:27 systems is probably the number one 0:29 support question from new people getting 0:32 into the CNC hobby or for people 0:35 starting up with a controller their 0:37 first time there are two coordinate 0:40 systems you need to be concerned with 0:41 the first is this button machine 0:44 coordinates when the red LED is lit you 0:47 are showing what the machine thinks is 0:49 the distance from the home switches 0:52 you'll notice mine says zero which means 0:53 my machine thinks it's sitting right 0:56 beside the home switches if I turn it 0:58 off I'm at the work offset work offsets 1:03 are also referred to as G 54 G 55 G 56 1:09 G 57 8 and 9 G 59 has a further 1:14 parameter call which can turn on any of 1:16 another 254 offset systems you have a 1:20 grand total of 254 offsets in the system 1:24 but for most users you're going to be 1:26 concerned with 2 only at first as you 1:28 get more advanced you could look at the 1:30 third and maybe a fourth and a fifth I 1:32 doubt that most would go beyond five 1:34 however you do have immediate access in 1:37 the program with a button to select up 1:39 to six of them so first thing to be 1:43 considered when we talk about machine 1:44 coordinates is what do they mean in 1:47 relation to your table well we have a 1:49 button here called display mode which 1:52 will switch me to look at my table 1:55 you'll notice when I pushed it I now 1:58 have a large red box which is no longer 2:01 displaying the outline of my program 2:04 extremes it's showing my table extremes 2:07 my table is programmed into the program 2:09 right now to be 100 millimeters wide and 2:12 100 millimeters in the Y so this is 2:17 showing me a distance of 100 millimeters 2:19 across the X and 100 millimeters across 2:22 the Y that incidentally is programmed in 2:25 the homing and limits configuration 2:28 right here as my soft minimum and soft 2:31 maximum you'll see my X is programmed to 2:35 100 2:35 it's maximum zero as its minimum 100 and 2:39 zero for the y and you'll see the Z is a 2:42 little different it's maximum is zero 2:44 its minimum is minus 200 this is because 2:48 the Zed on this theoretical machine has 2:50 a 200 millimeter movement starting at 2:52 the top most people home their Zed to 2:55 the top this is not true of plasma users 2:58 but for everyone else it's very typical 3:00 to home the Zed at the top of its run 3:03 which becomes Machine coordinate 0 3:05 because 0 in Machine coordinates means 3:08 next to the home switch so make sure 3:13 that when you're setting up your soft 3:15 limits that you set a maximum of 0 for Z 3:19 and minus 200 or whatever your throw is 3:22 for your Z typically your minimum in the 3:27 Z is your full stroke movement in the 3:31 minus direction so I have set those soft 3:35l imit minimums and maximums so my system 3:38 when I hit display mode will toggle from 3:40 showing me the job with the red box 3:43 showing the minimums and maximums of the 3:45 g-code that's currently loaded to 3:47 showing me my mill where my item is 3:51 sitting on the mill and my job you can 3:55 see if i zoom in on this that there's my 3:59G 4:00 there's my G code roadrunner and it's 4:02 sitting very small near the center of or 4:07 very close to the home switches on my 4:10 table most people would not want to cut 4:13 a job at that position however they 4:16 would want to cut a job maybe by 4:18 throwing the material into the center of 4:20 their Mills table because of that we 4:22 need another coordinate system the 4:24 machine coordinate system is not going 4:26 to do it the Machine coordinate system 4:28 simply cares about two things where is 4:30 the home switch here in this position in 4:33 the bottom left-hand corner and what is 4:36 the size of your table these are the 4:38 things that the Machine coordinate 4:40 system takes care of they're very 4:42 important that they never get changed so 4:45 there is only one way to change machine 4:46 0 and that is by homing 4:50 referencing your system to the homes 4:51 which is the only thing which will 4:53 change the Machine coordinates so let's 4:58 take a look at our secondary system by 5:00 turning this off we're still on a tool 5:03 path display showing my entire mill if 5:07 we were to jog you can now see me 5:08 jogging across my mill table now by 5:12 zeroing at a particular spot by pressing 5:16 the zero buttons and then regen the tool 5:20 path you'll see my crosshairs are 5:23 showing zero position is right where my 5:26 Road Runner is now located off-center 5:29 from the home switches and where I 5:32 placed it on the mill this is a very 5:34 typical way of cutting you put a piece 5:36 of material on your mill table you jug 5:39 until your until your tool actually 5:42 touches your piece of material you jug 5:44 your Z down so it touches the material 5:46 and then you zero all of the items you 5:50 were then when you regenerate the tool 5:53 path you'll notice my tool path is now 5:55 further on to my table and I'm zeroed 5:58 right at it's right at the start point 6:01 or the origin of that piece by hitting 6:03 the machine coordinates button we see 6:06 some numbers appear these numbers are 6:08 the distance from the home switches so 6:10 in this case my Z is seven millimeters 6:13 down from its top of stroke and touching 6:16 the piece my X&Y is 39 and 41 6:20 millimeters from here to here normally 6:24 you'll only look at Machine coordinates 6:26 if you're trying to figure out where you 6:28 went wrong normally that led is off 6:31 because you know you want to be at zero 6:34 zero when you're at the left hand corner 6:37 of your material if I switch my display 6:39 mode to job control you can now see my 6:42 crosshairs are at zero and I'm ready to 6:44 cut my piece most people will leave 6:46 their display in this position now all 6:50 that having been said let's take a look 6:52 at reference switches and homing I'm 6:56 going to switch back to table display so 6:57 that we can see the entire table and see 7:00 what's happening 7:01 I'm also going to make sure that I have 7:04 my home switch is turned on under input 7:07 signals we have an X home switch set for 7:09 port 1 pin 10 and a Y home switch for 7:13 port 1 pin 11 minor are set for active 7:17 high because that's the way I have my 7:19 switches set yours would normally set be 7:22 set for active high as well if you're 7:26 using a safe method of connecting your 7:28 switches active low would mean that when 7:32 your switch gets hit it grounds the wire 7:35 thus active when it goes low that is a 7:40 possible way to run it's safer to go 7:42 with active high which means that the 7:44 switch is always connecting the wire to 7:46 ground except when the table hits it 7:48 that is an active high signal it's safer 7:52 because if one of those wires should 7:53 break you'll immediately have a problem 7:55 it's best to find those kind of problems 7:57 immediately rather than waiting until a 8:01 homes which just doesn't work and then 8:03 axis slams into an end stop active high 8:08 is the safest setting for a limit switch 8:11 or for a home switch so we've got them 8:14 turned on we're going to hit okay we've 8:16 reconfigured so we have a nice top so we 8:19 reset the system now we're going to do a 8:21 reference all before I do a reference 8:25 although and before any of you do a 8:27 reference all go to your Diagnostics 8:29 page and hit your home switches your 8:32 screen should look like this with none 8:34 of them lit at the moment until you push 8:36 a home switch and you can see mine just 8:37 came on I release it and it goes out 8:40 same thing with the X m1 is motor one 8:43 motor two motor three etc so that is the 8:45 X 1 that is flashing here now and the Y 8:49 which is flashing here now that we've 8:51 confirmed that the switches work that 8:53 when they're pressed they light up we're 8:56 free to try a reference so let's hit 8:58 reference all you can see that something 9:01 is wrong my y-axis is now moving in the 9:04 plus direction that is not proper you 9:07 should always home to the negative 9:09 direction so we're going to stop the 9:12 movement by hitting the Escape key in 9:13 this case 9:14 and now it switches over to reference 9:17 the X and again the X is wrong it's 9:19 moving in the positive direction so I'm 9:22 going to hit the Escape key to stop that 9:23 movement now we have to correct it we 9:27 know that both axes are moving in the 9:28 wrong direction to home so if we go to 9:31 configure homing in limits we can see 9:34 that there is a checkbox for home in the 9:35 negative direction most people would 9:38 have this checked for x and y-axes but 9:43 not for the exit of the z-axis as that 9:47 axes usually homes positive direction to 9:50 the top of the column and stops so this 9:52 would be the normal connection and we'll 9:56 hit okay now if we hit reference all we 10:00 can see the y axis is moving in a 10:02 negative direction towards its homes 10:04 which which is down here somewhere and 10:09 when it hits the switch it's going to 10:11 stop movement reverse direction and move 10:14 until it moves slowly until it comes off 10:17 of the switch when the switch opens back 10:19 up again the system will take that as 10:21 its home position so we'll just wait for 10:23 it to get down to the zero position 10:27 needs it's safer to hit your switch 10:30 slowly and more accurate as well now 10:33 we're going to hit our switch the switch 10:35 went active we change directions and it 10:37 just moved off the switch when that 10:39 occurs the x axis begins its movement 10:42 towards its home switch now I have a 10:45 simulated table here so I'm free to 10:46 press the home switch whenever I like so 10:49 I'm going to press the home switch now 10:50 the axis reverses direction and the home 10:53 switch releases and we're now home and 10:56 you'll notice that the lights are green 10:58 green means that you have successfully 11:01 home the control hitting regen toolpath 11:05 will show the toolpath at its new 11:08 location because the home has changed 11:10 and it shows our crosshair is away from 11:15 zero this is because our work offset 11:18 system was not zeroed only the Machine 11:20 coordinates were zeroed and if we look 11:23 we can see that they actually did not 11:25 zero this is again my fault 11:28 a Miss configuration and if we look at 11:30 configure homing and limits you'll see 11:33 there is an auto zero checkpoint these 11:36 for most users should be checked for all 11:38 axes that you're using this will zero 11:41 the coordinates of the Machine 11:42 coordinates and stop you from getting 11:44 confused about how to zero so we say 11:48 okay to that and let's resume our system 11:50 the Y begins to go to the switch comes 11:53 off of it and stops the X goes to its 11:55 switch and when it hits it it reverses 11:58 direction and stops and you'll notice it 12:00 instantly flicked back to zero our 12:03 system is now zero in Machine 12:05 coordinates if I regenerate the tool 12:08 path here we are zeroed again now we 12:12 have our secondary system let's say we 12:15 jug away from zeros we've got a piece of 12:19 material on our table so we're going to 12:21 jog up to it we're going to move our Z 12:24 down now we're touching our material 12:27 which is out here somewhere and we now 12:30 zero our axes when I switch to machine 12:36 coordinates you can see that we have a 12:37 display showing how far away from the 12:39 home switches we actually are but if we 12:43 turn off machine coordinates we see the 12:45 result of our g54 offset system has 12:48 zeroed us if we regenerate the tool path 12:51 which you must do after playing with 12:54 referencing and zeroing you can now see 12:56 our road runner is going to be cut 12:58 somewhere in this area of our mill table 13:01 at a zero coordinate on our g54 system 13:05 nd that coordinates 32 37 16 in our 13:09 machine coordinate system now I can 13:13 switch with the display mode button to 13:15 go back to show us our work a coordinate 13:18 system only so the red box now indicates 13:21 the size of our drawing and not the size 13:24 of our table so we're cutting it there 13:27 and this is what we're cutting now 13:31 you'll notice that even though I said 13:32 raffle I have a green light on my Z this 13:35 is because I have not programmed a home 13:37 switch for Zed if you don't have a home 13:39 switch programmed into your system 13:41 pressing raffle will reference where it 13:45 is at any axis without a home switch 13:48 this means that the Machine coordinates 13:50 for that axis will immediately go to 13:52zero if you have Auto zero selected and 13:55you won't move for people without home 13:58 switches they almost never have to push 14:01 the zero buttons unless they just want a 14:03 zero one axis pressing graph all will 14:06 zero their axes on the spot so if we jog 14:11 to a new location and we say this is 14:13 actually where we want to cut our piece 14:15 we can do so just by zeroing the axes 14:18 and hitting regen and there we are 14:20 you'll notice it looks the same as 14:22 before we hit regen but there's an 14:24 important difference if we look at our 14:26 table control it has now moved slightly 14:28 to the right and slightly upwards the 14:31 system to cut safely should always know 14:33 where you're cutting what you're cutting 14:36 so sometimes it's a good idea to take a 14:38 look at your display mode and make sure 14:40 that that square look the job that 14:42 you're cutting actually looks like it is 14:44 in that location on your table again to 14:47 get this screen to be accurate and to 14:50 display this way make sure that your 14:52 soft limits are set properly that you 14:57 have hold your system and after changing 15:01 any soft limit settings restart the 15:04 software if you don't this display will 15:07 not work properly it needs to start up 15:10 the program with valid soft limits 15:13 you'll see the soft limits light here is 15:16 on you don't have to use soft limit 15:19 safeties I like to if I am to if I was 15:23 at this point to jog because the system 15:25 knows where my home switches are if I 15:28 was to jog towards a home switch my axes 15:32 will slow down as I approach zero and 15:34 you can see that the system just stopped 15:37 telling me that the movement was aborted 15:40 because I hit the zero point if I look 15:42 at my machine coordinates I jugged it to 15:44 zero but the system will not let me jug 15:46 past zero it just simply stops me that's 15:50 stopping is automatic and works on all 15:55 home limit 15:55 all axes that have a soft limit enabled 15:59 and as long as your soft limits are 16:02 hooked up properly you'll know it by 16:04 being able to select your display mode 16:07 button otherwise your display mode 16:09 button will show you a nonsense image 16:11 which really doesn't mean much so let's 16:15 look at what other fixture offsets could 16:17 be used for if you look at your offsets 16:20 table you can see the current work 16:22 offset is g54 this is normal at startup 16:25 and will always be g54 unless you 16:29 specify a different fixture offset let's 16:32 say for example that you wanted to put 16:35 something into the g55 offset there is a 16:39 work offset table here and if we go to 16:43 g55 let's for the heck of it type 50/50 16:48 and 0 in the Z and save that you'll 16:54 notice that now my g55 shows what I've 16:57 got entered in the table 50/50 and zero 17:00 we're not going to use it yet however 17:03 we're going to go back to our g54 which 17:07 we have used for jogging about and 17:11 zeroing the system to our table at this 17:15 position currently because I just 17:16 rewrote it at a different location we 17:18 just moved our job again but let's say 17:20 that you always wanted to cut this road 17:22 runner at 50/50 on your table because 17:26 you have maybe a jig here which holds 17:28 your board securely to do that would be 17:32 pretty easy all we'd have to do is home 17:34 our system so that we know that we're 17:37 accurately at home and again I'm going 17:39 to cheat the system by telling it there 17:41 we hit our switch and now the X has hit 17:44 its switch and now everything is zeroed 17:46 I'm going to regen this and you can see 17:48 that our machine coordinates are zero 17:50 because we've honed but our Road Runner 17:56 is being cut up here but our jig is at 17:59 50/50 that's no problem we can go to the 18:02 offsets page say that we wish to use our 18:05 g55 offsets which we have permanently 18:08 stored 55 18:09 d we go back to program run and we say 18:12 regenerate the toolpath our roadrunner 18:14 has just appeared at that 50:50 jig now 18:18 as long as you never press the zero 18:20 buttons while in this g55 offset system 18:23 you'll know it will never change 18:25 therefore any time you start your table 18:27 you could home your system it'll go to 18:29 its switches you then go to offsets and 18:32 select g55 you go to program run and say 18:37 regenerate and your job will always 18:39 appear right on top of that fixture 18:41 you're ready to cut anytime and you'll 18:44 notice we save minus 50 and minus 50 on 18:46 our dr OS that's telling us that 18:48 currently this job which is being 18:49 displayed is 50 away from our home 18:56 switches so we're free to start cutting 19:00 even even though we're currently at zero 19:02 zero so we're currently here but because 19:05 we selected our g55 system which has a 19:10 50 offset the system already knows that 19:13 I don't need to zero to the corner of 19:15 this board it already knows where it is 19:17 so if I were to hit cycle start at this 19:20 point the system could move and cut that 19:25 piece you'll notice we just got an error 19:28 soft limit system movement aborted well 19:32 if we look at the G code it's telling 19:33 the Z to go to plus 0.2 well right now 19:37 our machine coordinate Zed is zero as 19:40 well as our work offset system so Zed 19:43 cannot move to plus two we've told the 19:45 soft limit system Zed will never go 19:47 above machine coordinate zero which is 19:49 its home switch so the reason we got 19:51 this error is that when we set our 19:53 offsets we set a zero in the Zed and 19:57 when you set a fixture offset because 20:00 you have a jig attached to your table 20:01 you're also going to know the height of 20:03 your material so you would have set a 20:05 value in here telling the system how far 20:08 down to move the Zed so let's move the Z 20:12 down to minus 20 so now in terms of 20:18 Machine coordinates and you always look 20:21 at your settings of these fixtures in 20:23 terms of machine coordinates we are 50 20:25 away from the home switch in the X 50 20:28 and the Y and 20 down in the Z from the 20:31 home switch to this particular jig that 20:34 you have on the table and whenever you 20:36 change something like this you can see 20:38 that it just appeared in my work offsets 20:40 table but I have to select this to save 20:42 it to be safe 20:45 so now if I regenerate my tool path 20:48 nothing changes we're still at the same 20:50 location but you'll notice that my Z now 20:52 says that I met plus 20 but I'm at zero 20:57 in my machine coordinates let's 21:02 reference everything so we're starting 21:04 fresh because I'm sure at this point you 21:05 may be getting a little bit confused 21:07 we're going to 0 our y 0 are x and our z 21:13 automatically 0 is because we don't have 21:15 a home switch hooked up this means that 21:18 now in relation to our fixture that we 21:21 have set were 50 away from home 50 away 21:24 from home and 20 higher than what we 21:27 need to be so when we when it hits the 21:31 first line in G code telling it goes 21:32 zero zero and point two it's going to go 21:35 down to the proper level so let's rewind 21:38 this file and let's see what happens 21:41 when we tell it to start as you can see 21:44 the Zed is now moving down to get to the 21:46 top of the material and now the job cuts 21:49 normally even though it started from the 21:53 home switch so that's what an offset 21:55 system is handy for you can program 21:57 different fixtures on your table which 22:00 hold material program them for the 22:02 absolute coordinates the only rule to 22:04 remember is once selecting offsets to a 22:08 non-word do not push the zero button or 22:11 you invalidate those offsets because 22:13 pressing the zero button changes 22:15 whichever fixture offset is in effect 22:18 when you start the system you're in g54 22:22 so let's stop this job I'll show you the 22:25 you cannot change the display mode while 22:28 a job is running so you can't really see 22:31 what's going on here so let's stop it 22:32 rewind the program regenerate the tool 22:36 path 22:37 flick to the display now we can see that 22:39 it had cut a little bit of this 22:41 Roadrunner when we stopped it but let's 22:44 take a look at what happens when we 22:45 press zero on something let's go to our 22:48 offsets page and select G 54 because 22:51 again we don't want to affect what we 22:53 have entered for this fixture so 22:55 whenever we're going to play around with 22:56 zeroing let's use G 54 for now our G 54 23:00 offset currently is fifteen point nine 23:03 58 and minus sixteen if I jog to a 23:07 position on the screen and zero my 23:10 controls and go back to the offsets page 23:14 you'll find that these numbers have 23:15 changed we're now 56 56 and minus 20 23:19 that's because what you store in a 23:22 fixture offset is always the distance 23:24 from your home switches that's what all 23:26 of these fixture offsets are is distance 23:29 from home switches so in G 54 the 23:34 distance from the homes which is what 23:36 we're telling it dynamically when we jog 23:39 around our table and tell it that we 23:41 want to zero at that position we zero 23:44 and we have just changed our offsets to 23:48 reflect the distance from the home 23:50 switch and we can see that easily by 23:52 pushing machine coordinates the numbers 23:55 here are identical to the numbers here 23:58 because machine coordinates is telling 24:01 you the exact same information as a 24:03 fixture offset it is telling you the 24:05 distance from a home switch at all times 24:09 and again the Machine coordinates are 24:11 inviolable you cannot change them except 24:14 expressly referencing the system is 24:18 careful about two things in particular 24:20 one is the value of your machine 24:22 coordinates the other is the value of a 24:26 dro the Dro s are kept separate from 24:28 mach3 and code of their own when you see 24:31 a count in a Dro 24:33 it means the system has put out that 24:35 number of pulses it's a very important 24:38 debugging and troubleshooting tool for 24:40 me when someone tells me that their dro 24:42 indicates they have moved one inch but 24:45 they have only moved half an inch 24:47 I know what the error must be because I 24:49 know that 24:50 DRO is always accurate it's code is not 24:54 attached to Mach 3 in any way in terms 24:57 of how it changes add ero changes only 25:00 if pulses have gone out the printer port 25:03 unless you have referenced that is the 25:08 only thing which will change a machine 25:10 coordinate so with that having been said 25:13 I think you understand a bit more about 25:15 home switches how to activate them when 25:19 they should be active high and low and 25:21 what all of it means when you select an 25:24 offset system and remember the most 25:27 important rule of all if you set a 25:30 fixture offset because you have a jig 25:32 attached to your table or you know that 25:34 at 50 50 minus 20 will be the top part 25:38 of a piece of material you're going to 25:39 cut a thousand times never press the 25:42 zero buttons once you're in those 25:44 fixtures always go back to fixture 25:47 offset number one if you're going to jog 25:49 around and do jobs at an indiscriminate 25:52 point simply by hitting zero and 25:56 recutting the job this display mode tool 26:00 can be a valuable way to see where you 26:03 are in a particular offset system here 26:06 in g54 we know that we're going to cut 26:09 this job at this location and this 26:13 location can be seen by checking the 26:15 Machine coordinates button if we select 26:18 a different offset system g55 which we 26:22 programmed to be 50/50 from the home 26:24 switches we can go back hit regen tool 26:27 path and we can see that the job is now 26:30 going to be cut 50 and 50 away from the 26:33 home switches it's that simple it does 26:36 take a little while to wrap your head 26:38 around this and because of that I'm not 26:41 going to go any more complicated in this 26:43 video there are several things that you 26:45 can do with offset systems and there is 26:48 a third offset system which can be 26:50 applied to the previous two and that's 26:53 the G 92 system one of the reasons I 26:56 don't recommend using G 92 is simply 27:00 because it can cause confusion 27:02 to newer users users that know what 27:06 they're doing can use G 92 I heartily 27:08 recommend that they to so but it is not 27:11 something I'm going to explain to your 27:13 average user as yet I think there's 27:15 enough power in the knowledge of how 27:19 Machine coordinates work how the offset 27:22 systems work and how they can use them 27:24 that I think that that will do pretty 27:27 much everything everyone needs to do at 27:30 this point in time for homing 27:40 you