Question re Setting limits and Inverting direction
06 May 2019 09:22 #132940
by twatchorn
Question re Setting limits and Inverting direction was created by twatchorn
I have a Masterwood Speedy 207 wood working machine that someone else started converting to a CNC router. The X and Y use DC servo motors and has had Gecko G320X drivers fitted. Belt drive is 16T to 28T, but the 10,000 pulse per rev encoders are mounted directly to the 25mm per rev screws, so have left the ratio 1 to 1.
Firstly; to get them moving correct distances I have the following values entered. This may not be the correct way and would appreciate guidance.
For X and Y to run and travel the correct distance I have used the Linux default setup for Gecko G320 which has steptime of 3500 ns. Have Step per rev = 2000 and Driver micro stepping = 1. This combination gives correct travel distance.
Max velocity = 52.5mm/sec. Y axis faults if I go higher velocity.
The Z has Wenling Yuhai SG A30 AC Servo motor with combined 2500 pulse per rev encoder. Have Step per rev = 2500 and driver micro stepping = 4. It is direct coupled to 5mm per rev screw. This combination gives correct travel distance.
Secondly; I have P15 = All Limits + Homes. I have limit switch on each axis connected in series . (it does have home switch on X and Y , but I do NOT have them wired in.)
When I homed all axis X homed to the left end of travel. But when I run the Linux logo G code with a pen it printed in reverse. At present I have ticked the “Invert” for Direction pin on the X. This has the logo draw correctly, but it then wanted to home to the right hand end of X travel. So I have had to use some negative home values to get it to then move to left hand lower corner and have Z right up for home position. INI settings below.
Again this is probably not the correct way to do it. Could I have just swapped the wires on the DC motor? Or swapped the A and B encoder wires?
All guidance welcome on improving/correcting settings.
[AXIS_0]
TYPE = LINEAR
HOME = -1550.0
MAX_VELOCITY = 52.5
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1550.001
MAX_LIMIT = 1560.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.000000
HOME_LATCH_VEL = -3.000000
HOME_SEQUENCE = 1
[AXIS_1]
TYPE = LINEAR
HOME = -850.0
MAX_VELOCITY = 52.5
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -850.001
MAX_LIMIT = 860.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.000000
HOME_LATCH_VEL = -3.000000
HOME_SEQUENCE = 2
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 14.2215568862
MAX_ACCELERATION = 60.0
STEPGEN_MAXACCEL = 75.0
SCALE = 2000.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -120.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 5.000000
HOME_LATCH_VEL = -2.50000
HOME_SEQUENCE = 0
Firstly; to get them moving correct distances I have the following values entered. This may not be the correct way and would appreciate guidance.
For X and Y to run and travel the correct distance I have used the Linux default setup for Gecko G320 which has steptime of 3500 ns. Have Step per rev = 2000 and Driver micro stepping = 1. This combination gives correct travel distance.
Max velocity = 52.5mm/sec. Y axis faults if I go higher velocity.
The Z has Wenling Yuhai SG A30 AC Servo motor with combined 2500 pulse per rev encoder. Have Step per rev = 2500 and driver micro stepping = 4. It is direct coupled to 5mm per rev screw. This combination gives correct travel distance.
Secondly; I have P15 = All Limits + Homes. I have limit switch on each axis connected in series . (it does have home switch on X and Y , but I do NOT have them wired in.)
When I homed all axis X homed to the left end of travel. But when I run the Linux logo G code with a pen it printed in reverse. At present I have ticked the “Invert” for Direction pin on the X. This has the logo draw correctly, but it then wanted to home to the right hand end of X travel. So I have had to use some negative home values to get it to then move to left hand lower corner and have Z right up for home position. INI settings below.
Again this is probably not the correct way to do it. Could I have just swapped the wires on the DC motor? Or swapped the A and B encoder wires?
All guidance welcome on improving/correcting settings.
[AXIS_0]
TYPE = LINEAR
HOME = -1550.0
MAX_VELOCITY = 52.5
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -1550.001
MAX_LIMIT = 1560.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.000000
HOME_LATCH_VEL = -3.000000
HOME_SEQUENCE = 1
[AXIS_1]
TYPE = LINEAR
HOME = -850.0
MAX_VELOCITY = 52.5
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -850.001
MAX_LIMIT = 860.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.000000
HOME_LATCH_VEL = -3.000000
HOME_SEQUENCE = 2
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 14.2215568862
MAX_ACCELERATION = 60.0
STEPGEN_MAXACCEL = 75.0
SCALE = 2000.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -120.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 5.000000
HOME_LATCH_VEL = -2.50000
HOME_SEQUENCE = 0
Please Log in or Create an account to join the conversation.
06 May 2019 11:18 #132947
by BigJohnT
Replied by BigJohnT on topic Question re Setting limits and Inverting direction
Yes that is the correct way to change the homing direction.
JT
JT
Please Log in or Create an account to join the conversation.
Time to create page: 0.123 seconds