cancel
Showing results for 
Search instead for 
Did you mean: 

Start up motor in STC_SPEED_MODE issue

Roberto Giovinetti
Associate III

Hello everyone

I'm trying to control a motor using STC_SPEED_MODE. There's a problem at startup: I program a ramp (for example i would like to obtain 6000RPM), motor start to rotate and accelerate, but speed reach maximum speed for the motor (for example 9000RPM) then decrease slowly to desired speed.

Once speed is reached, if I try to change speed with a new ramp from 6000 to 7500 RPM, it works quite well (system is not fast to change, but much better than at startup).

I thought it could be for PID parameters that are no so fine tuned, so I tried to play with this values, but at the startup I've not otained any changes.

Here the code at startup, where hDesiredMechSpeed is 6000 :

MC_StopSpeedRampMotor1(); MC_ProgramSpeedRampMotor1((int16_t)((hDesiredMechSpeed)/6), 1000);

MC_StartMotor1();

When motor is in RUN state a speed variation request is covered by the next snippet, where hDesiredMechSpeed is the new desired value:

if (bDesideredSpeedChanged){

bDesideredSpeedChanged = FALSE;

MC_StopSpeedRampMotor1();

MC_ProgramSpeedRampMotor1((int16_t)((hDesiredMechSpeed)/6), 1000);

}

I don't know what I'm doing wrong. Motor data obtained from MotorProfiler.

Could be some Motor parameter as Inductance, Friction, MOTOR_VOLTAGE_CONSTANT that are not tuned?

Any idea?

Many Thanks

Roberto

1 REPLY 1
GMA
ST Employee

Dear Roberto Giovinetti,

Firstly, we would like to sincerely apologize for the delay in replying to your post.
If your point is still pertinent, in non-sensored mode, the start-up is fully described in "Sensorless start-up parameters" tab, with several steps (timing+targeted speed for each step).
When this startup period will end, your targeted speed will be then taken on account.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA