Gantry Synchronization

benaiahhenry

Lifetime Supporting Member
Join Date
Sep 2011
Location
Corning, NY
Posts
265
Hi Everyone,

I'm wondering how you would go about synchronizing a gantry system that has two parallel driven axis that support the upper structure, in a way that avoids any torquing of the system as the two axis move. This is a CompactLogix system using Kinetix 350 drives.

How would you go about homing and aligning such a system? I've homed individual axis before, but never in a case where two axis must remain exactly even with each other during the process.

Thanks,

-Benaiah
 
You will probably have to set both drives up as slaves to a virtual axis and have interlocking code to stop everything if either axis faults or generates a following error great enough to cause damage.

Coming to a controlled stop in the event of a fault will be no easy undertaking as well depending on the span and mass of the system.

As far as homing and aligning you may have to write a routine that measures backlash and centers the positioning for each servo.

#1-Lock side A.
#2-Very slowly creep side B forward until torque rises above a certain level. Snapshot position.
#3-Very slowly creep side B in reverse until torque rises above a certain level. Snapshot position.
#4-Subract the differences in the Snapshots and div /2 and position side B at that point.
#5-Lock the axises together to the Virtual.

After that homing is done by homing the virtual to a home switch.
 
Last edited:
set one up for velocity and the other to follow use the encoder out from one (master)to the other(slave)
 
set one up for velocity and the other to follow use the encoder out from one (master)to the other(slave)

You have to be a little carefull doing that as the slave will lag behind the master a small amount.

If the system can handle the lag then great but if you have to be very very tight then I would slave them both to a virtual master and make sure the dynamics on the Kinetixs match so as not to generated a position differential during accel and decel.
 
this slave thing will not work as it looks at rotation of the wheel, not the position of the gantry.
You will have to use a measuring device on both sides and compare them. Or use some cables to keep it straight.
 
slave thing will not work as it looks at rotation of the wheel, not the position of the gantry.
Good point I just get used to the rack and pinon thing not much slippage that way
 
NEVER SLAVE ONE AXIS TO THE OTHER IF YOU ARE CONTROLLING BOTH!!!!
Do what baldone suggests. Use a virtual master or issue the same motion commands to both axes at the same time so the internal target generator will generate the same motion profile for both axes.

It would be best to use absolute encoders so homing routines are not required. I would suggest SSI encoders.
 
NEVER SLAVE ONE AXIS TO THE OTHER IF YOU ARE CONTROLLING BOTH
Did i not state this corectly? I thought if you control one in velocity mode and other is a slave that you are only controlling one and that one controls the other?
 
I don't know if this is a feature of your particular system but I would look through the Master-Slave combinations to see if there is a load sharing function, or set the second drive to be geared at 1:1 to the master. That way you effectively only have to control one drive.

Just did this using a SEW Eurodrive system (movidrives & moviplc). Works great. The two gantry drives are linked using the load distribution feature of the drives(one drive is master and the other slave letting the drives control the same load). Our gantry is a frame mounted on a pair of under-slung carriages running on a pair of I beams, each carriage is driven by it's own gear motor.

As this is a feature of the drives, once it's set up in the inverters, motion is controlled by sending the commands to the master, you don't need to do anything with the slave. All motion, homing, etc. is done as it would be with only one axis, easy.

Our particular system has an encoder on the master motor (none on the slave) and an external encoder (string pot) reading the position of the gantry to ensure actual positioning in case the drive wheels of the gantry slipped on the rails under heavy acceleration. This was easy to setup in the SEW drive system as well.

The SEW plc is Codesys. We are doing some fairly intensive positioning sequencing. If you're just doing a simple gantry with manual control or limited moves I think you can do this in the drives without the PLC, but check with your tech guys.

Cheers

Ken
 
Last edited:
If you're just doing a simple gantry with manual control or limited moves I think you can do this in the drives without the PLC
I am doing just this only my app uses rack and pinon the plc just handles the _10 to +10 for speed and direction using 2 ultra 3000 drives and and an analog output from the plc.and a joy stick, speed is set from the panelview but a pot could work. selection was based on parts that we had in stock
 
The problem with the master - slave gearing is that the slave always lags the master. If the slave stalls the master will not automatically slow down. I know it is relatively easy to check for one axis or the other slowing down but it must be done and it is one more thing to do.

It is hard for the slave to use feed forwards when its target position, velocity and acceleration are generated or derived from the master encoder.
 
With drives that are designed with the master-slave feature the motors can match each other so accurately that there is no effective difference between the speed & position at the shafts. Look at most large, high speed web lines. Additionally, errors of the slave are communicated to the master and the slave unit is transparent (but not hidden) to the user. With the right hardware, I find that the performance is far superior using master-slave and once the setup is done it eliminates a lot of extra programming that would need to be done if the axis were separate.


The errors are very small but the benefit is huge

Ken
 
Last edited:
With drives that are designed with the master-slave feature the motors can match each other so accurately that there is no effective difference between the speed & position at the shafts. Look at most large, high speed web lines. Additionally, errors of the slave are communicated to the master and the slave unit is transparent (but not hidden) to the user. With the right hardware, I find that the performance is far superior using master-slave and once the setup is done it eliminates a lot of extra programming that would need to be done if the axis were separate.


The errors are very small but the benefit is huge

Ken

Done this both ways with Web handling in particular and prefer the virtual drive to multiple drives. The reason is tension control during accel and decel. I also prefer everything closed loop. This allows the fastest response.

I think the key point here is you do not want one drive FOLLOWING the other. You want them to run together and stop together.
 
Done this both ways with Web handling in particular and prefer the virtual drive to multiple drives. The reason is tension control during accel and decel. I also prefer everything closed loop. This allows the fastest response.

I think the key point here is you do not want one drive FOLLOWING the other. You want them to run together and stop together.

My point, maybe not explained well, was roughly the same.

The master-slave relation in modern drives is very good and the error is small so the slave, while theoretically following the master, is effectively running identically to the master. I haven't found an application where it was worth the effort to do this at the program level instead of synchronizing the motors using the synchronization features in the drives or controller depending on the hardware. The motion can be linked by different parameters depending upon the application (speed, torque, position, load balancing, cam, ratio, etc.) and I believe this is processed at a lower level than the motion profile making this relationship as fast and accurate as the servo loop.


Cheers

Ken
 
Last edited:
Thanks for all the input everyone! If the job comes through I will play with the virtual master vs master/slave options and see what works for my application and let you know what ended up working for me.

Thanks again,

-Benaiah
 

Similar Topics

Hi, I am doing testing for a Gantry motion and its Power cable reel which is wound, unwound on a wheel. I have connected VFD for both motions...
Replies
0
Views
1,010
Hi, I have a project where one of the modules is a gantry type structure with 2 servo motor, one from each side of the gantry. The transmission...
Replies
8
Views
1,629
I plan to use a profile sensor or something like that measure the distances between the gantry’s Z height and the Z height of the conveyor...
Replies
19
Views
10,667
Hi, We are trying Hoist synchronization for 4 hoists which has same motor, gearbox and drive. In PLC(Schneider) there is a FB for synchronization...
Replies
7
Views
2,488
Hi, I am a senior mechanical engineering student working on a design project and I have to control a 3-axis gantry system powered by Sanyo Denki...
Replies
20
Views
4,551
Back
Top Bottom