I am trying to control a Industrial AC Servo motor using my XE166 device.
The controller interfaces with the servo controller using the PULSE and DIRECTION control.
To achieve a jerk-free motion I have been trying to create a S Curve motion profile (motor speed v/s time).
Calculating instantaneous speed is no problem as I know the distance moved by the motor per pulse, and the pulse duration.
I need to understand how to arrive at a mathematical equation that I could use, that would tell me what should be the nth pulses duration to have the speed profile as an S-Curve.
Since these must be a common requirement in any domain requiring motion control (Robotics, CNC, industrial) there must be some standard reference to do it.
With anticipation
I have just answered a similar question over on robotics.
The standard solution would be to use a low level velocity PID controller to generate the PULSE and DIRECTION signals given a velocity demand, and then have an outer supervisory controller, which would ramp the velocity demand (mm/s) up or down in accordance with your required acceleration (mm/s/s) and jolt (mm/s/s/s) control parameters.
Initially, I would suggest that you try a trapezoidal velocity profile (instantaneous change in acceleration), as I suggested in Control both Velocity and Position (Linear actuator) and then extend it to add the jolt/jerk term later.