TLE9879 Eval Kit Hall Sensor cannot reach motor maximum speed

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
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Dear Engineers,

I'm using own application based on TLE9879 Eval Kit Hall Sensor example. Everything is working flawlessly but I'm unable to reach declared motor maximum speed unloaded and loaded.

Rated loaded speed : 18000rpm

Rated unloaded speed: 22-25000rpm.

Actual unloaded speed with eval kit is 17220rpm.

 

Below are wizard parameters. Most change was achieved by maximum Ki Kp duty cycles which make sense, but now I'm unable to increase speed even further. Voltage is as per motor datasheet. Current also.

Any hint where to look now? Thank you

 

22 Replies
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

Hello @Georges_Lab ,

    Apologies for the delay in response and thanks for reaching out to us. 

    We would like to know a few things 

    1. How did you control the speed and up to what speed the actual speed was following the reference. 

    2, Were the Kp and Ki values constant always ?

    3. For the given condition can you please share the hall sensor feedback and also the voltages to the machine (for the exact same duration) ?

     4. Hall sensor offset might cause wrong excitation which might result in steady state error. Can you please share the hall sensor feedback data and also the motor input voltages (for the exact same duration) at another instance when the reference and the actual speed are the same ?

Thanks,
Sai

Best Regards,
Sai
0 Likes
lock attach
Attachments are accessible only for community members.

Dear Sai,

thank you very much for reply.

1. code to start motor is below. At moment set 25 000 rpm. I will test at which point it will stop following reference.

2. Ki Kp was adjusted by wizard in keil IDE. If they are not changed silently in your example code, then they are constant.

3. I will do measurement and send it to you.

4. will measure also and send it to you. Looks as reasonable idea. 

I attached motor hall possition vs coil. I have no idea where to put this parameter in wizard, there is only check box 60degree offset. If you can give me hint I will be grateful .

 

Thank  you.

 

0 Likes
lock attach
Attachments are accessible only for community members.

I just made requested measurement, as I have only 4ch oscilloscope I made hall measurement and phase measurement as 2 separate graphs, each have at least 1 signal common to make reference between them.

Motor reference speed is followed up to 16k rpm. (fluctuates between 16 and 17k rpm depend on battery voltage, 19-21V.

3. graphs with 16k name prefix. Are for referenced speed of 16 000rpm.

4. graphs with 20k prefix are not referenced. speed was set to 20 000rpm but only 16200rpm was actually reached. File 20k merge is manually merged two files to make all channels visible.

Below is code which set speeed and run motor. All control routines are without any modification from your hall example for dev board.

Emo_SetRefSpeed(-20000);
Main_lStartMotor();

 

Thank you.

 

0 Likes
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Problem starts to be blocker, Can you please send me update? Thank you.

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

Hello @Georges_Lab ,

     Thanks for sharing over the data. Please deselect the hall angle offset enable option and also decrease the value of Ki, higher value of integral function causes the PI loop to saturate, which might be causing the output speed to remain at 16k rpm after certain stage. A better way to tune the PI controller would be to maintain the ratio of Kp/Ki same as the L/R of the motor.

From the image of the hall sensor shared, there is a misalignment between the stator magnetic axis and the hall sensor, this induces slight offset in the measurement, wrong commutation timing and incorrect speed feedback. Ref : http://pep.ijieee.org.in/journal_pdf/11-63-140309172401-04.pdf. This can be accounted for in the hall angle delay section. 

Sai

Best Regards,
Sai
0 Likes
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Dear Sai, thank you I will make tests today according to your recommendations. I'm not sure about hall angle delay.  There is a min speed for angle delay parameter, what speed I should enter here? see attached screen.

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

Enter either 0 rpm or the speed from which the output is deviating from the reference.

Best Regards,
Sai
0 Likes

ok, thank you, I will update you with result.  I suppose that delay should be 15degree as per drawing of motor, right?

 

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

@Georges_Lab , the angle to be entered is in electrical degrees, which is 2*mechanical angle in your case, and the three hall sensors are also placed 120 degrees electrically apart (60 degrees mechanically apart) I hope.

Sai

Best Regards,
Sai
0 Likes

understood, thank you. Yes, all three halls looks like they are 60degrees mechanically apart.

I will send you result of tests later.

 

Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Dear Sai,

I just made few trials.
1. When 60 degree offset is disabled then motor is not moving, just buzzing. Switch of windings to change order had no result

2. when changing angle delay while offset was enabled had no effect till 20 degrees. from 20 to 30 degrees speed was decreasing. Larger angle delay was not tried.

3. Tried Kp= 4 Ki=3 (also other ratio as 2/1 3/4 1/2...) without any change. Just startup ramp changed with smaller coeficients which was expected.

On Monday I can do waveform measurement and also L/R ratio measurement to setup Kp/Ki . But I was really hoping for some exciting change when delay angle was entered.

 

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

@Georges_Lab , 

   It is definitely not pleasant to hear this. Looks like the 60 degree offset enable is matching the way hall sensors have been connected. 
  I'd suggest to first try changing the Kp and Ki parameters accordingly by keeping all the other parameters same as original. 
Hall angle delay option is used in case one might need to compensate misalignments between the motor phases and the Hall sensors. The software takes into account this misalignments to generate a better synched pattern. This was expected to work in case misalignments were present. At my end, I'll go through the code and see what can work better. 

Thanks,
Sai

Best Regards,
Sai
0 Likes
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Thank you very much for effort, really appreciate it as this project is for product which will be released in few months so fine tuning is mandatory now. On Monday I will do all measurement with oscilloscope to see what is actually happening and update you.

 

0 Likes
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Dear Sai,

I just made some tests with oscilloscope:

When I adjusted startup currents then motor start up even with offset disabled, not every time but at least I was able to make measurement.

When offset is enabled and I increased angle delay it looks like it goes to opposite way, in another words I need negative delay. Is possible to put -10degrees delay somehow in code?

When I tried to simulate hall input without motor to see how output will react It ended with blown mosfets as they obviously was not able to close as fast without load. I have second board for future tests.

Then I edited hall table to make -60degree offset. But I was surprised as -60 looks like +120. Code for -60 and scope waveforms with comments on screen are enclosed. I also enclosed general bldc pattern, why looks waveforms inverted on scope? I would expect full voltage on excitation and then zero when phase is off.

Waiting for your input as customer is getting upset . Thank you.

 

/* HallOutPtns[16] - Hall and output patterns
* Value = f(current Hall pattern, expected Hall pattern, output pattern)
*/

(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, forward direction (error) */
(uint16)Ccu6_SetPtns(1, 3, 0x1C), /* Hall pattern=1, forward direction */
(uint16)Ccu6_SetPtns(2, 6, 0x31), /* Hall pattern=2, forward direction */
(uint16)Ccu6_SetPtns(3, 2, 0x0D), /* Hall pattern=3, forward direction */
(uint16)Ccu6_SetPtns(4, 5, 0x07), /* Hall pattern=4, forward direction */
(uint16)Ccu6_SetPtns(5, 1, 0x13), /* Hall pattern=5, forward direction */
(uint16)Ccu6_SetPtns(6, 4, 0x34), /* Hall pattern=6, forward direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=7, forward direction (error) */

 

/* T12Moden - T12 modulation enable patterns
* Table value = 0x80(MCMEN) + pattern for T12MODEN
* Pattern = COUT62*32 + CC62*16 + COUT61*8 + CC61*4 + COUT60*2 + CC60 */

(uint8)(0x00), /* Hall pattern=0, forward direction (error) */
(uint8)(0x80 + 0x0C), /* Hall pattern=1, forward direction */
(uint8)(0x80 + 0x30), /* Hall pattern=2, forward direction */
(uint8)(0x80 + 0x3C), /* Hall pattern=3, forward direction */
(uint8)(0x80 + 0x03), /* Hall pattern=4, forward direction */
(uint8)(0x80 + 0x0F), /* Hall pattern=5, forward direction */
(uint8)(0x80 + 0x33), /* Hall pattern=6, forward direction */
(uint8)(0x00), /* Hall pattern=7, forward direction (error) */

0 Likes
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

I observed that when driver is stopped I can see nice smooth waveform as expected until motor stops. What is causing that smoothing when driver is stopped and motor is still moving is induction what I see?

You can see this on screens below. Also you can clearly see I need 30 degrees shift to the left.  But everything I tried is moving phase to the right.

0 Likes
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Dear Sai, any news regarding problem? Thank you.

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

Hello @Georges_Lab ,

   Apologies for the delay in response. Did you try by tuning the Kp and Ki parameters according to the L/R value of the motor and required rise time, etc ?
Give me a days time, will get back to you. 

Best Regards,
Sai
0 Likes
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Hi, I'm sorry that I'm pushing you as I'm sure you have more work to do than just take care about me. But we are already behind deadline because of this tricky problem. Today I should receive some chinese drivers which was used with motor from same company. So I can compare waveforms.
Yes I tried to fiddle with Kp Ki, but except different speed up ramp was final speed still same.

0 Likes
psb
Moderator
Moderator
Moderator
250 sign-ins 25 solutions authored 100 replies posted

@Georges_Lab ,

    Can you please share the motor datasheet ?

Thanks,
Sai

Best Regards,
Sai
0 Likes
lock attach
Attachments are accessible only for community members.

Dear Sai,

info from manufacturer:

1、The pole pairs of 4221 is  2 pole pairs.

2、The attached picture is  the angle between hall sensor and slot.

3、The attached please find the OD of  motor that identify pinout of hall sensors.

datasheet enclosed.

0 Likes
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

Hello, any update on your side?

I acquired eval boart from ST STEVAL_SPIN3201 . I'm able to run discussed motor with this board on full speed 23600RPM.   Kp is 1000 Ki is 100 by default, rest of parameters are in attached images. How to achieve same parameters on infineon board? PWM speed is 50khz by default.

0 Likes
lock attach
Attachments are accessible only for community members.
Georges_Lab
Level 2
Level 2
10 replies posted 10 sign-ins 5 replies posted

I compared ST eval output with infineon eval output and I can see different ouptut signal, ST which can reach motor max speed is more steepy, rise and fall edge is nice and sharp, but infineon is somehow disorted. I tried every parameter including BDRV charge/discharge current to max but edge is same. How can I adjust it to be same as ST one?

bldc st out.jpg

 

bldc inf out.jpg

 

Already gate voltage looks odd, how to make it more rectangular?

bldc inf gate.jpg

0 Likes