cnc mill conversion

So I have this bench topmill that I converted to cnc. using an arduino uno to controll the system and I am using UGS to send the files. everything is set up and was going soomthly until I hit this little bump in the road. It is my understanding that when I initiate the homing sequence “$H,” the machine is suppose to move to the limit switches until it make contact with them and then pull off 1 mm. When I initiate the homing sequence the mahince moves about 5 mm in one direction on all 3 axes then stops moving. If I turn on hard limits in grbl, the UGS immediately alarms out and says I need to restart to unlock.

Heres is the equipment currently on the machine:

arduino uno

6 limit switches (NC setup)

3 x nema 23 high torque motors

ST-M5045 drivers

24v 15 amp power supply

Universal g code sender

GRBL 1.1

Any help would be greatly appreciated and please remember I am a novice with this so my understanding of scertain things is a little limited. Also if this post doesn’t go here, then I apalogize. 

Heres my code setup so far

Grbl 1.1f [’$’ for help]
>>> $$
$0 = 10 (Step pulse time, microseconds)
$1 = 25 (Step idle delay, milliseconds)
$2 = 0 (Step pulse invert, mask)
$3 = 0 (Step direction invert, mask)
$4 = 0 (Invert step enable pin, boolean)
$5 = 1 (Invert limit pins, boolean)
$6 = 0 (Invert probe pin, boolean)
$10 = 1 (Status report options, mask)
$11 = 0.010 (Junction deviation, millimeters)
$12 = 0.002 (Arc tolerance, millimeters)
$13 = 0 (Report in inches, boolean)
$20 = 0 (Soft limits enable, boolean)
$21 = 0 (Hard limits enable, boolean)
$22 = 1 (Homing cycle enable, boolean)
$23 = 1 (Homing direction invert, mask)
$24 = 25.000 (Homing locate feed rate, mm/min)
$25 = 500.000 (Homing search seek rate, mm/min)
$26 = 250 (Homing switch debounce delay, milliseconds)
$27 = 1.000 (Homing switch pull-off distance, millimeters)
$30 = 1000 (Maximum spindle speed, RPM)
$31 = 0 (Minimum spindle speed, RPM)
$32 = 0 (Laser-mode enable, boolean)
$100 = 200.000 (X-axis travel resolution, step/mm)
$101 = 200.000 (Y-axis travel resolution, step/mm)
$102 = 250.000 (Z-axis travel resolution, step/mm)
$110 = 1000.000 (X-axis maximum rate, mm/min)
$111 = 1000.000 (Y-axis maximum rate, mm/min)
$112 = 500.000 (Z-axis maximum rate, mm/min)
$120 = 100.000 (X-axis acceleration, mm/sec^2)
$121 = 100.000 (Y-axis acceleration, mm/sec^2)
$122 = 10.000 (Z-axis acceleration, mm/sec^2)
$130 = 500.000 (X-axis maximum travel, millimeters)
$131 = 500.000 (Y-axis maximum travel, millimeters)
$132 = 500.000 (Z-axis maximum travel, millimeters)