2024-12-08 07:40 PM
Currently, I am using FOC control in MCSDK for position control, and the speed graph appears as shown in the attached figure when the motor moves to its target position.
However, I want to achieve control where the motor maintains its maximum speed for as long as possible. No matter how much I adjust the PID coefficients for position control in MCSDK, the result seems limited to the attached graph.
Is there any way to achieve this?
The speed graph I want looks like this.
Thank you.
2024-12-18 06:08 AM
Hello @Danu_Park,
Could you share your command?
Is your motor loaded?
2024-12-18 10:26 PM
The graph attached in the initial question represents the case where the Target Position is set to 30 radians, while the graph I am attaching now represents the case where the Target Position is set to 150 radians.
When the Target Position is set to 150 radians, regardless of whether there is a load on the motor, it reaches maximum speed initially and then transitions to uniform motion at a reduced speed.
Increasing the D-value reduces the speed during the uniform motion phase (as shown in Image 2), while decreasing the D-value (as shown in Image 3) extends the duration of the uniform motion phase.
However, reducing the D-value causes vibration when the motor comes to a stop.
Is there any method to control the speed directly, rather than adjusting the D-value in position control?
What I am aiming for is a motion where the motor moves at a constant speed that I set and stops smoothly according to the D-value I configure.
Thank you.
2024-12-20 08:05 AM
Hello @Danu_Park,
Unfortunately, the position control algorithm relies solely on the target position and the time allocated for execution, without utilizing a speed command as an input.
It implements a trapezoidal target angular-velocity trajectory, which consists of three phases: acceleration, speed cruise, and deceleration, as illustrated in the figure below.
This approach appears to align with your expectations, as indicated by the red curve attached above.
To achieve this trapezoidal movement, please tune your PID controller using the experimental approach described in Chapter 9 of Application Note AN5464.
Additionally, you may need to adjust the time allowed to reach your target position.
Below is an example of movement with the associated command using a Shinano motor:
I hope this input will be helpful to you.
Best regards,
Fouad