BLDC_SHIELD_TLE9879 Invert hall sensor signal

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
Mielos
Level 1
Level 1
5 sign-ins First like received First reply posted

Hi again,

I'm working with a BLDC motor from Maxon and a BLDC_SHIELD_TLE9879 on an arduino uno. I found out that my motor only spins ccw and only if I give it a little push. The other way it gets stuck. I thought it might have something to do with the hall sensors (I tested them and they work properly). I have contacted the manufacturer of the motor and he confirmed that everything is connected properly, but the hall sensor output is probably different from what the board is expecting. 

Untitled.png

Here is an image of the output of the sensors. From what i've seen, hall sensor 2 and 3 are inverted from what the board is expecting and according to the manufacturer the phase 2-3 is also inverted. Now my question: How/where can I change it so that it works? Can I change it somewhere in the program so that the signals are inverted? Or another way to make it work?

Let me know if you need more information.

thank you! 

0 Likes
8 Replies
Pablo_EG
Moderator
Moderator
Moderator
First question asked 250 sign-ins 250 replies posted

Hello Mielos,

Thank you for posting on Infineon Community.

I apologize for the late reply.
We understand that you are facing issues with the hall sensor setup.

Let us clarify the information you have given us:
1)The image you shared is from the motor manufacture's site, not the actual measured output.
Is this right?

2)When you mention the hall signals and phase voltage being inverted, do you mean that this motor uses non-standard sensing and thus the signals are not what the board expects?

3)Did you measure the hall sensor output while turning the motor rotor?
Please provide us with the waveforms of the actual measured output, not the advertised one.

4)Voltage waveforms with the hall sensor output waveforms (in the same shot) would be most helpful.
Could you provide them to us?

Once we have enough information, we can start debugging.
Unless this motor uses a non-standard hall sensing output waveform, no software workaround should be necessary.

Best regards,
Pablo

0 Likes

Hello Pablo,

Thank you for the reply!

  1. Yes.
  2. As far as I know it uses a standard sensing.
  3. Yes, I will provide a picture of the measurements.
  4. I used an oscilloscope to measure the hall sensors. I’m not sure how to measure the voltage waveforms and as I am the only one on site at the company today, I can’t ask for help with that right now. Hopefully what I provide will be enough, and else I have to get back to you with more information the 3rd of January.

Below are two pictures. One with the motor going clockwise and one counter clockwise. 

Color to pin:
Red: hall 0
Blue: Hall 1
Green: Hall 2

 

Counter clockwiseCounter clockwiseClockwiseClockwise

 

Let me know if you need anything else. 

Best regards,

Miel

0 Likes
Pablo_EG
Moderator
Moderator
Moderator
First question asked 250 sign-ins 250 replies posted

Hello Mielos,

Thank you very much for your feedback.
The waveforms are very appreciated.

We are still not very sure of what the issue here is.
However, from the waveforms, we can see that when clockwise rotation is performed, the hall sensor sequence is:
C->B->A

And with counter-clockwise:
A->B->C

If the counter/clockwise direction takes the A, B, C voltages phases as a reference, then the hall signal is reversed.
There are different combinations we could try to fix this.
For now, could you try the following, in the same order:
1)Switch hall A and B signals physically.
Try applying power by using MOTIX.
If it does not spin correctly, return hall signals to the previous state.
2)Switch hall B and C signals physically.
Try applying power by using MOTIX.
If it does not spin correctly, return hall signals to the previous state.
3)Switch hall A and C signals physically.
Try applying power by using MOTIX.
If it does not spin correctly, return hall signals to the previous state.

Let us know if any of these combinations helped.

Best regards,
Pablo

0 Likes

Hello Pablo,

Thanks again for the reply. My vacation just started so I will test this on the 3rd of January. I will get back to you when I figure out if it works or not.

Happy holidays! 🙂

Hello Pablo,

I tried what you told me to and I haven't figured out a combination that works. In my first post I may have had the cables wrong, so I'll give you a original and all the configurations that I tried.

(Hall 1, 2 and 3 refer to the hall pins on the motor.)

Original
Behavior: CW gets stuck, CCW does work.

Color to pin:
Red: hall 1
Blue: Hall 2
Green: Hall 3

When I spin it by hand:
CW:

Mielos_8-1641207921020.png

CCW:

Mielos_9-1641207943360.png

 

A and B switched
Behavior: both ways get stuck immediately.

Color to pin:
Red: hall 2
Blue: Hall 1
Green: Hall 3

Spun by hand:
CW:

Mielos_10-1641207964650.png

CCW:

Mielos_11-1641207970289.png

 

B and C switched
Behavior: both ways get stuck immediately.

Color to pin:
Red: hall 1
Blue: Hall 3
Green: Hall 2

Spun by hand:
CW:

Mielos_12-1641208428795.png

CCW:

Mielos_13-1641208435712.png

 

A and C switched
Behavior: both ways get stuck immediately.

Color to pin:
Red: hall 3
Blue: Hall 2
Green: Hall 1

Spun by hand:
CW:

Mielos_14-1641208454600.png

CCW:

Mielos_15-1641208459994.png

 

Hope you can make any sense of this.

greetings,

Miel

0 Likes
Pablo_EG
Moderator
Moderator
Moderator
First question asked 250 sign-ins 250 replies posted

Hello Miel,

Thank you very much for sharing the results of the experiments.

We understand that there was no improvement in the performace.

Going back to your original post, we would like so clarification regarding these estatements:
1)From what i've seen, hall sensor 2 and 3 are inverted from what the board is expecting
-Please let us know what this understanding is based on. Is it based on the oscilloscope waveforms VS the block commutation diagram you shared?
2)According to the manufacturer the phase 2-3 is also inverted.
-Could you elaborate on this point? Are the voltage phases inverted relative to the hall sensor signal?

In addition, have you tried driving a different motor?
Are phases A-B-C and Hall sensors 1-2-3 labeled on the motor?

Let us know about the above to continue debugging.

Best regards,
Pablo

0 Likes

Hello Pablo,

I'm just reciting what the manufacturer said, as I don't really know much about motors. He sent me an email stating the following (translated to English): 

" I've searched on the web and came across a document of Infineon. In that document I saw the following image (on page 49). If I look at the signals and compare it to the block diagram of our motor it looks like phase 2-3 and hall sensor 2-3 have to be reversed. 

Mielos_0-1641467859749.png

Link to the document: 

https://www.infineon.com/dgdl/Infineon-motorcontrol_handbook-AdditionalTechnicalInformation-v01_00-E...

That is where I came up with my statement in the original post. 

For your other questions: We have two of the same motors and both don't work, so it's not a motor issue. Unfortunately I don't have any other BLDC motors to test it on. 

Regarding the labeling of the phases and hall sensors, the motor is attached to an encoder. This encoder has the following labeling of the phases and sensors:

Mielos_1-1641468140110.png

We use V1.

 

Hope this information helps! Let me know if you need anything else.

Kind regards,

Miel

0 Likes
Pablo_EG
Moderator
Moderator
Moderator
First question asked 250 sign-ins 250 replies posted

Hello Mielos,

Thank you very much for your explanation.

We understood about the questions we made on last post.
Regarding the Infineon document attached, it does look different from the first image you posted.

Now that we know that you have a clear pinout, a pinout problem is out of the way.

The fact that the motor turns in one way but not the other, could be due to an offset in the hall sensors relative to the voltage phases.
In the user manual of the Arduino shield, there is a section about how to change the hall sensor processing.
Page 24:
https://www.infineon.com/dgdl/Infineon-BLDC_shield-UserManual-v01_02-EN.pdf?fileId=5546d462696dbf120...
Use the following API
shields->setParameter("the parameter to change","value",BOARD1)
To change the offset by 60 degrees, change the HALL_OFFSET_60DEGREE_EN to 1.
If your hall has more than one pole pair, change the HALL_POLE_PAIRS parameter.
You can try other parameters and see if there is any positive change.

Bets regards,
Pablo

0 Likes