Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

2 Axis Linear Velocity Interpolated Move

When using the load velocity vi for a vector space, 2-axis, straight line move, I want the resulting linear velocity to be at a pre-defined speed (ie. 100 inches/min).  The load velocity vi asks for the velocity in steps or counts/second.  My 2-axis have a different resolution as far as steps per inch.  Lets say one has 100,000 steps/in and the other has 200,000 steps/in.  How do I get a linear velocity of 100 inches/min?
0 Kudos
Message 1 of 2
(3,219 Views)
Ok, that was a nice challengeSmiley Happy but here is the solution that we worked out:

|vc| = absolute value of the velocity in counts/sec
|v| = absolute value of the velocity in counts/sec in engineering units (e. g. 0.2 m/s)
d = (dx, dy) = distance of travel (e. g. 0.5 m, 0.4 m). This can be simply calculated by subtracting the target position from the current position
a = (ax, dx) = axis resolutions in engineering units (e. g. 200000 counts/m, 100000 counts/m).

Putting these parameters into a system of equations results finally in this equation:

|vc| = |v| * sqrt((ax^2*dx^2 + ay^2*dy^2) / (dx^2 + dy^2))

I hope this helps,

Jochen Klier
National Instruments Germany
Message 2 of 2
(3,212 Views)