- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
Solved! Go to Solution.
- Labels:
-
MOTIX™ MCU
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Let the motor run at a low frequency (around 10kHz).
- Disable the Synchronization to the already rotating rotor option.
- Make the switch on speed zero.
- Use a lower value for the ramp rate in an open loop.
- Increase the dc offset duty cycle.
- Increase the duty cycle at the end of the start-up ramp from the default value.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Let the motor run at a low frequency (around 10kHz).
- Disable the Synchronization to the already rotating rotor option.
- Make the switch on speed zero.
- Use a lower value for the ramp rate in an open loop.
- Increase the dc offset duty cycle.
- Increase the duty cycle at the end of the start-up ramp from the default value.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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:
Additionally I made a screenshot from the 3 phases when the error occurs (at 52ms):
Maybe this helps...
Best regards
MD
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Sahil_K ,
The problem is that I don't have a datasheet for the motor and can't get one.
Best regards,
MD
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Sahil_K,
which parameters do you need from the motor? Maybe it is possible that I measure them?
Best regards,
MD
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Sahil_K ,
Do you have any other ideas what can be changed or where the problem is?
Best regards,
MD
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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