Jump to content
OMRON Forums

Cross Coupled Gantry Homing


JohnR

Recommended Posts

I am using the cross coupled gantry drive as describe in the app notes. Currently when I home the system I am forced to de-servo the motors so that I can re-configure them to/from cross coupled mode. 1) What I want to do is startup my gantry and execute a HMZ on all cross coupled motors. 2) Close loop motors. 3) Move them into my home switch(s) and stop. 4) Move to my index position for both motors and record the index position for both motors. 5) Set both motor zero positions using this information WITHOUT de-servoing the motors. John
Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Good Morning John, I have done a similar application very well using Motion Program for Homing. -setup motors in a CS, one as X and one as Y for example, enable motors -run the motion program... HMZ each motor -in the motion program you will command each axis at the same time in a while loop -each command move can be a very small step, even one encoder count -as the move thru each step together but independent you can watch for home sensors and z flags -when see needed home sensors for each can note positions -when both see needed home sensors break out of the while loop -now set each motor as at its home pos and break out of motion program -now they have each been homed while moving together but independent to find individual sensors ;setup motors in CS $1#1->X ;no scale factor make moves based on encoder counts $1#2->Y Motion program section might look like this... obviously need more logic than here: while(gantryPreHome = 0) cmdPosition = cmdPosition + 1 ;make move, perhaps need to be -1 for other homing direction X(cmdPosition)Y(cmdPosition) ;make move ;here logic to chk and see if either has hit home sensor if yes note that axis position ;here see if BOTH axes are homed - if yes set gantryPreHome = 1 endw ---feel free to call me for more details 919.372.3002 Mike Esposito ---perhaps the other factory experts have a better way ? ---note that when it is moving if you do very small steps such as 1 count at a time it will sound like the motors are grinding a bit... such should moves rapidly sounds a bit rough but is fine... ---note the new PowerPMAC handles this type of homing for gantrys automatically... not sure exactly how but it is very cool and coming with next gen PMAC regards, mike
Link to comment
Share on other sites

[quote='Unit101' pid='280' dateline='1262871138'] Good Morning John, I have done a similar application very well using Motion Program for Homing. -setup motors in a CS, one as X and one as Y for example, enable motors -run the motion program... HMZ each motor -in the motion program you will command each axis at the same time in a while loop -each command move can be a very small step, even one encoder count -as the move thru each step together but independent you can watch for home sensors and z flags -when see needed home sensors for each can note positions -when both see needed home sensors break out of the while loop -now set each motor as at its home pos and break out of motion program -now they have each been homed while moving together but independent to find individual sensors ;setup motors in CS $1#1->X ;no scale factor make moves based on encoder counts $1#2->Y Motion program section might look like this... obviously need more logic than here: while(gantryPreHome = 0) cmdPosition = cmdPosition + 1 ;make move, perhaps need to be -1 for other homing direction X(cmdPosition)Y(cmdPosition) ;make move ;here logic to chk and see if either has hit home sensor if yes note that axis position ;here see if BOTH axes are homed - if yes set gantryPreHome = 1 endw ---feel free to call me for more details 919.372.3002 Mike Esposito ---perhaps the other factory experts have a better way ? ---note that when it is moving if you do very small steps such as 1 count at a time it will sound like the motors are grinding a bit... such should moves rapidly sounds a bit rough but is fine... ---note the new PowerPMAC handles this type of homing for gantrys automatically... not sure exactly how but it is very cool and coming with next gen PMAC regards, mike [/quote] Thanks Mike, Unfortunately I can not break out the motors into seperate axes because of the cross coupling. However I could use this method to find my index positions and then zero out my motor home offsets. Still working on it.... John
Link to comment
Share on other sites

Here is another method for homing a CCG system: The idea here is to decouple the CCG (Cross Coupled Gantry) and twice use master/slave of the two real motors #3 and #4 (assume we move in positive direction): 1. Set up master (#3) and slave (#4). 2. Home the master (#3), the slave (#4) will follow with skew (+ or – we don’t know) – this motor (#3) is now at zero. 3. Back the master off (jog motor #3 do NOT use the I326 for it) by an amount greater than the total absolute skew (since we don’t know if + or -) #3j=-{total absolute skew}. 4. Reverse the maser/slave; home this master (#4), the slave (#3) will follow with skew – this motor (#4) is now at zero. Note that motor #3 is not at zero. 5. Remove master/slave and jog motor #3 back to zero #3j=0 6. Re-couple the CCG and go. *************************************************** [quote='JohnR' pid='281' dateline='1262875484'] [quote='Unit101' pid='280' dateline='1262871138'] Good Morning John, I have done a similar application very well using Motion Program for Homing. -setup motors in a CS, one as X and one as Y for example, enable motors -run the motion program... HMZ each motor -in the motion program you will command each axis at the same time in a while loop -each command move can be a very small step, even one encoder count -as the move thru each step together but independent you can watch for home sensors and z flags -when see needed home sensors for each can note positions -when both see needed home sensors break out of the while loop -now set each motor as at its home pos and break out of motion program -now they have each been homed while moving together but independent to find individual sensors ;setup motors in CS $1#1->X ;no scale factor make moves based on encoder counts $1#2->Y Motion program section might look like this... obviously need more logic than here: while(gantryPreHome = 0) cmdPosition = cmdPosition + 1 ;make move, perhaps need to be -1 for other homing direction X(cmdPosition)Y(cmdPosition) ;make move ;here logic to chk and see if either has hit home sensor if yes note that axis position ;here see if BOTH axes are homed - if yes set gantryPreHome = 1 endw ---feel free to call me for more details 919.372.3002 Mike Esposito ---perhaps the other factory experts have a better way ? ---note that when it is moving if you do very small steps such as 1 count at a time it will sound like the motors are grinding a bit... such should moves rapidly sounds a bit rough but is fine... ---note the new PowerPMAC handles this type of homing for gantrys automatically... not sure exactly how but it is very cool and coming with next gen PMAC regards, mike [/quote] Thanks Mike, Unfortunately I can not break out the motors into seperate axes because of the cross coupling. However I could use this method to find my index positions and then zero out my motor home offsets. Still working on it.... John [/quote]
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...