Laurits S
Laurits S

Reputation: 19

Calculate acceleration from data points

I have a servo motor, and this servo motor I would like to make it follow a "motion pattern" as closely as possible, and use the same value for acceleration and deceleration.

The attach picture illustrates the "motion pattern" (Y = velocity, X = Time)

motion pattern:

  1. accelerates 0m/s to 0.100m/s.
  2. constant velocity 0.100m/s for 4 sec.
  3. decelerates to negative ?m/s.
  4. accelerates to 0m/s, and motor position = 0.

How can i calculate the acceleration and deceleration?

What i have tried so far is:

Time = (total time - constant velocity time) 10 - 4 = 6sec. Distances = (total distances - constant velocity distances ) 1 - 0.4 = 0.6meter. acceleration = (2 * distances / (time^2) 2 * 0.6 / sqr(6) = 0.0333m/s.

But with this acceleration it over shoots in the negative direction by 500mm.

motion pattern of servo motor, value Y = (velocity, value X = Time )

Upvotes: 0

Views: 695

Answers (1)

Filippo Boido
Filippo Boido

Reputation: 1206

Take a look at the PLC Open motion function blocks, for example the MC_MoveRelative and the MC_MoveContinuesRelative block:

(Beckhoff documentation)

As Sergey already stated you can use those blocks to create a motion profile by entering all the parameters you need and integrating the blocks in a step chain.

Upvotes: 0

Related Questions