# Why do a home routine at startup?



## Jake2465 (Sep 24, 2018)

I am still trying to wrap my head around what the advantage is to homing a mill when fired up first thing in the morning. The only thing I see happen is that when an axis is homed, the DRO zeros out at that point... Well, that seems useless to me as my zeros need to be where my part zero is, right? I must not be understanding the underlying principle. Any thoughts?


----------



## Boswell (Sep 24, 2018)

When first got my CNC Mill I would home it but quickly found the same thing you mention above.  By only zeroing on the part there are few things you loose that while not important to me, might be to others.
1. Soft Limits will not work. If the controller does not know the position relative to the mill limits then you can't implement soft limits. However your physical limit switches will still work
2. Automatic tool changing or potentially moving the table and head to a specific place for tool changes will not work. Everything must be done relative to the Part Zero. I personally have not found this to be a problem
3. If you have a part you make a lot of and use a fixture, you might save some time by no zeroing to the part each time you setup the run, just home the system and use a preset fixture offset. This is not a typical hobby type process though.

I can't remember the last time I "homed" my system. I just zero for the part I am making.


----------



## Jake2465 (Sep 24, 2018)

Ok, so that kind of sounds like it's meant more for VMC's in mind, but not really knee mills. 



Boswell said:


> 3. If you have a part you make a lot of and use a fixture, you might save some time by no zeroing to the part each time you setup the run, just home the system and use a preset fixture offset. This is not a typical hobby type process though.



That would be the only advantage I could see in doing that home routine; spitting out the same parts every day in a production setting and the fixture generally never gets unclamped from the vice. 

Thanks for the clarification!


----------



## jbolt (Sep 25, 2018)

I generally zero when running parts near the extent of the work envelope so I can graphically see the tool paths in relation to the work space or when running multiple fixtures and offsets at the same time.


----------



## Karl_T (Sep 25, 2018)

Boswell pretty well covered it. The feature is for more advanced controls with servos and position feedback. I home my machine at startup, takes maybe 15 seconds.


----------



## derf (Sep 25, 2018)

I'm pretty sure your machine is the same as mine, although I have an updated controller. Homing the machine sets the limits for the machine zero. The only way the controller knows where the position of all the axis are is through the encoders on the servos, not the position of the table or quill. Therefor a homing operation takes the travel of each axis to a soft stop limit for a reference, and then calls it zero.
 On my machine, it must be homed on initial fire up, you can't get past not doing it. Then it will let you go about your business. If I just shut down the servo drives with the E-stop button and leave the computer run, I can go back anytime and finish a job just by re-activating the servos, with no worry of losing machine zeros or part program zeros.
  Now if you lose power for some reason or shut down the machine, you must home and re-set the part program zero. The part program zeros are set from the machine position zero.
  The homing operation is based on tripping a soft stop switch for a reference, and sometimes will vary in position by a few thousandths when the switch trips. If the home position varies from the last time it was done, it will effect the part program zero.

  If you ever have to dis-connect an axis, remove or replace a belt, you will have to home the machine.


----------



## Karl_T (Sep 25, 2018)

The home position is EXTREMELY ACCURATE. On my machine, the axis first moves at a rapid speed to a physical home switch. The axis then reverses at slow speed until it sees the encoder index mark. Finally it creeps until the index mark drops. Location is within 1/1000 of a revolution of the servo motor with several revolutions of the servo per inch of travel. All the pro quality controls work about the same.


----------



## Groundhog (Sep 25, 2018)

derf said:


> Now if you lose power for some reason or shut down the machine, you must home and re-set the part program zero. The part program zeros are set from the machine position zero.



If you save the the initial setup (most likely the X, Y and Z zeros) as a work offset (after homing the machine) the offset is relative to the home position. Then you can always home the machine and reload the offset after a power down. You also need to call out the work offset in your program. 
My homing is very accurate and I always save work offsets if the job is going to take longer than I am willing to re-do!


----------



## RJSakowski (Sep 25, 2018)

With Tormach's PathPilot, homing is virtually essential.  The controller complains if it is not done and soft limits are not engaged.  Path Pilot doesn't rezero the DRO though.  It retains the last reference.  My optical homing allows an accurate repositioning to the machine coordinates  (+/-.0001") so I wouldn't have to reestablish my work coordinates although I usually do as best practice.

It has been several years since I used Mach 3, but as I recall, it didn't zero the DRO on homing either.


----------



## Groundhog (Sep 25, 2018)

RJSakowski said:


> It has been several years since I used Mach 3, but as I recall, it didn't zero the DRO on homing either.



I use Mach3 but I also use MachStdMill (which is a modification to Mach3). My mill zeros the DRO on homing but I have a feeling that it is the MachStdMill part that is doing the zero set. I've used MachStdMill for so long I forget what Mach3 is like.


----------



## Glenn Goodlett (Sep 26, 2018)

You can set Mach 3 to zero on home or not. I've set mine to zero when homing.


----------



## spumco (Sep 26, 2018)

Homing routines can permit parking positions in machine coordinates, and the positions can be called - depending on the controller - with hotkeys or in macros.  I use mine for:

1. Tool change position
2. Part unloading position
3. Washdown position (most of the way back in Y)
4. Start position for indicating my 4th axis (rotary table centered under spindle)


----------



## Fueler (Oct 24, 2018)

A little late to this thread.
Don't forget that if your machine is equipped with an auto oiler it re-oils the ways through the whole travel during the Homing sequence. 
A good thing, yes?


----------



## astjp2 (Dec 18, 2018)

You dont need to home if you have absolute encoders, you do with incremental for reasons stated above.  Absolute encoders are uber expensive and typically not used in CNC production machines that are less than $1,000,000


----------

