Motor stucks and restarts very often in BEMF mode with TLE9877

Announcements

Webinar: Integrated solutions for smaller, simpler low-voltage motor control design.
Join the webinar to experience!

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hello,

I am using the BEMF example code to drive a brushless pump.

Without load the pump runs perfectly but with load it stucks and restarts very often, at some speeds more and at some less. I already tried various settings for the BEMF parameters but nothing helped.

I have the problem with my own board with the TLE9877 and with the EvalKit, too.

Has somebody an idea what I can check or had the same issue?

Thank you!

0 Likes
1 Solution
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

Hi @MD ,

Sorry for the delay in response. We understand that the pump is running perfectly with no load, but with load, it is behaving abnormally. So, for desired torque operation in the open and closed loop, the motor parameters have to be well-tuned. We believe that the best way to do that is to perform some experiments and explore the parameters in ConfigWizard. Please try to make the following changes/modifications and let us know about your observation.

  1. Let the motor run at a low frequency (around 10kHz).
  2. Disable the Synchronization to the already rotating rotor option.
  3. Make the switch on speed zero.
  4. Use a lower value for the ramp rate in an open loop.
  5. Increase the dc offset duty cycle.
  6. Increase the duty cycle at the end of the start-up ramp from the default value.

 

sk7211_1-1674112542703.png

Please refer to the image above to get an idea of possible configuration changes. There may be a need for repeated tests of the motor with multiple set of configurations to find out what is best for the particular motor.

Can you please provide us with more details about your motor parameters and what are your current ConfigWizard settings? We would like you to enlighten us on your hardware setup.

 

Best regards

Sahil Kumar.

View solution in original post

0 Likes
16 Replies
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

Hi @MD ,

1) Can you please let us know which EvalKit are you using? Are you using the TLE987X EVALB_VQFN board with TLE9877QXA40 IC?

2)Kindly let us know which BEMF example code you are using.

 

Best Regards

Sahil Kumar

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

1) I am using my own developed board with the TLE9877QXA40 and I have the TLE9879 EvaluationKit, too. With both boards I have the same problem.

2) I am using the "TLE9879QXA_BLDC_BEMF (TLE9879 EvalKit)" Example Software. I only modified it a little bit to control the speed continuously with an external PWM-Signal.

 

Best Regards

MD

0 Likes
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

Hi @MD ,

Sorry for the delay in response. We understand that the pump is running perfectly with no load, but with load, it is behaving abnormally. So, for desired torque operation in the open and closed loop, the motor parameters have to be well-tuned. We believe that the best way to do that is to perform some experiments and explore the parameters in ConfigWizard. Please try to make the following changes/modifications and let us know about your observation.

  1. Let the motor run at a low frequency (around 10kHz).
  2. Disable the Synchronization to the already rotating rotor option.
  3. Make the switch on speed zero.
  4. Use a lower value for the ramp rate in an open loop.
  5. Increase the dc offset duty cycle.
  6. Increase the duty cycle at the end of the start-up ramp from the default value.

 

sk7211_1-1674112542703.png

Please refer to the image above to get an idea of possible configuration changes. There may be a need for repeated tests of the motor with multiple set of configurations to find out what is best for the particular motor.

Can you please provide us with more details about your motor parameters and what are your current ConfigWizard settings? We would like you to enlighten us on your hardware setup.

 

Best regards

Sahil Kumar.

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

Thank you for your answer!

I tried to change those settings, but nothing helped. I have still the same problem.

Those are my settings, before I changed them:

Motor-parameter.png

Additionally I made a screenshot from the 3 phases when the error occurs (at 52ms):

SCR06.PNG

Maybe this helps...

Best regards

MD

0 Likes
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

HI @MDMD,

Please let us know the following details: -

1) We would like to know if you tried the above-mentioned changes at a low ramp rate (says 30-50rpm/s). And the above-mentioned changes are done on the Eval board without modification in the code for the motor?

2) Please provide the motor parameters details. What are the load current and speed requirements, please enlighten us on your hardware setup.

3) Also kindly let us know the modifications implemented in the software.

 

Best Regards

Sahil Kumar

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

1) Yes, I tried them but it does not help, tends to get worse. I didn't changed the code for the motor, only the parameters and the main.c file.

2) The motor is driven from about 2500 rpm to 16500 rpm. The problem mainly occurs in range from about 6000 to 7500rpm. At this stage the current is about 500 to 600 mA.

3) This is the main part from the program:

for (;;)
{
/* Service watchdog */
(void)WDT1_Service();
if (duty>14 && duty<93)
{
if (duty < 22) duty = 22;
if (duty > 85) duty = 85;
Emo_setspeedreferenz((4000*duty)/22);
if (bMotorRun == 0u)
{
/* Start motor to run up to the desired speed */
Main_lStartMotor();
bMotorRun = 1u;
}
if( Emo_Status.MotorState <= 1)
{
/* Stop motor */
Main_lStopMotor();
/* Reinitialise motor control parameters */
Emo_Init();
bMotorRun = 0u;
}
}
else
{
/* Stop motor */
Main_lStopMotor();
/* Reinitialise motor control parameters */
Emo_Init();
bMotorRun = 0u;
}
CheckCurrent();
}

The variable "duty" is permanently changed with an input capture and depends from the duty cycle of the input PWM-signal.

If you need any other information, please let me know.

Thank you and best regards

MD

0 Likes
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

Hi @MD ,

Please provide us with a datasheet of the motor you are using.

Best Regards

Sahil Kumar

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

The problem is that I don't have a datasheet for the motor and can't get one.

Best regards,

MD

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K,

which parameters do you need from the motor? Maybe it is possible that I measure them?

Best regards,

MD

0 Likes
Sahil_K
Moderator
Moderator
Moderator
First like given 100 solutions authored 250 sign-ins

Hi @MD ,

Could you please provide test results/observations on the TLE9879 Evalkit with waveform by changing the following parameters:-

1) Speed at the end of start-up ramp = 1000 rpm.

2) Start-up Acceleration = 200rmp/s.

3) Acceleration = 500rmp/s.

What are the rated voltage and rated speed of the motor?

Best Regards

Sahil Kumar

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

I changed the parameters to the mentioned values, but it is still not working.

The rated voltage for the motor should be 12-14V. The rated speed I don't know.

Best regards

MD

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Sahil_K ,

Do you have any other ideas what can be changed or where the problem is?

Best regards,

MD

0 Likes
Viswa
Moderator
Moderator
Moderator
10 likes received 50 solutions authored 100 replies posted

Hi

We worked with a couple of motors, but couldn't replicate the issue faced.

Is it possible to operate the unit with the following configuration and provide the information given below
Experiment 1

Please change the parameters as provided below
1) Speed at the end of start-up ramp = 5000 rpm.

2) Start-up Acceleration = 1000rpm/s.

3) closed loop Acceleration = 500rpm/s.

4) duty-cycle at the end of start-up ramp to 0.28 cnts

5) the close-loop minimum duty-cycle to 0.29 cnts

Once the above values are programmed, operate the unit and please provide the below information

1) Does the unit operate properly till 8000 rpm or stop in 5000-8000 range?

2) the back-emf waveforms when the unit stops.

Experiment 2

Please change the parameters as provided below

1) Speed at the end of start-up ramp = 2500 rpm.

2) Start-up Acceleration = 200rpm/s.

3) closed loop Acceleration = 200rpm/s.

4) duty-cycle at the end of start-up ramp to 0.15 cnts

5) the close-loop minimum duty-cycle to 0.16 cnts

Once the above values are programmed operate the unit and please provide the below information

1) Does the unit operate properly till 6000 rpm or stop in 1000-2000 range?

2) the back-emf waveforms when the unit stops.

Best Regards,

 

0 Likes
lock attach
Attachments are accessible only for community members.
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Viswa

Thanks for your help and sorry for the late answer.

I have tried both Experiments now. Both stopped directly after open-loop.

Please find attached the waveforms.

0 Likes
Raj_C
Moderator
Moderator
Moderator
250 solutions authored 500 replies posted 50 likes received

Hi @MD,

We have tried and we are able to run the motor with the BEMF code example. To test the functionality could you please try the FOC example for the TLE9879 Evalkit?

To measure the motor parameters please use the following document:

How to Measure Motor Parameters

 

Thank you

Best Regards

Raj Chaudhari

0 Likes
MD
Level 1
Level 1
First like given 10 replies posted 10 sign-ins

Hi @Raj_C ,

It seems to work with the FOC example. I will make some more tests with it and try to make it with my board.

Thanks for your help!

Best regards,

MD

0 Likes