TLE9879 BLDC Hall patterns / Commutation table / Electric angle

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
User19528
Level 2
Level 2
First like received
Hello,

Could you please tell me how i can determine the electric angle "teta 0° to 360°) of the BLDC motor which correspond to each Hall pattern (please refer to the following code from the BLDC Hall block commutation example)
2nd question:
What is the meaning of the values : 0x00, 0x31, 0x07....etc)?
Thanks in advance for your support
/* HallOutPtns[16] - Hall and output patterns
* Value = f(current Hall pattern, expected Hall pattern, output pattern)
*/
#if (BCHALL_OFFSET_60DEGREE_EN == 0)
{
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, forward direction (error) */
(uint16)Ccu6_SetPtns(1, 3, 0x31), /* Hall pattern=1, forward direction */
(uint16)Ccu6_SetPtns(2, 6, 0x07), /* Hall pattern=2, forward direction */
(uint16)Ccu6_SetPtns(3, 2, 0x34), /* Hall pattern=3, forward direction */
(uint16)Ccu6_SetPtns(4, 5, 0x1C), /* Hall pattern=4, forward direction */
(uint16)Ccu6_SetPtns(5, 1, 0x0D), /* Hall pattern=5, forward direction */
(uint16)Ccu6_SetPtns(6, 4, 0x13), /* Hall pattern=6, forward direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=7, forward direction (error) */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, reverse direction (error) */
(uint16)Ccu6_SetPtns(1, 5, 0x13), /* Hall pattern=1, reverse direction */
(uint16)Ccu6_SetPtns(2, 3, 0x0D), /* Hall pattern=2, reverse direction */
(uint16)Ccu6_SetPtns(3, 1, 0x1C), /* Hall pattern=3, reverse direction */
(uint16)Ccu6_SetPtns(4, 6, 0x34), /* Hall pattern=4, reverse direction */
(uint16)Ccu6_SetPtns(5, 4, 0x07), /* Hall pattern=5, reverse direction */
(uint16)Ccu6_SetPtns(6, 2, 0x31), /* Hall pattern=6, reverse direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00) /* Hall pattern=7, reverse direction (error) */
},
#else /* (BCHALL_OFFSET_60DEGREE_EN == 1) */
{
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, forward direction (error) */
(uint16)Ccu6_SetPtns(1, 3, 0x0D), /* Hall pattern=1, forward direction */
(uint16)Ccu6_SetPtns(2, 6, 0x34), /* Hall pattern=2, forward direction */
(uint16)Ccu6_SetPtns(3, 2, 0x31), /* Hall pattern=3, forward direction */
(uint16)Ccu6_SetPtns(4, 5, 0x13), /* Hall pattern=4, forward direction */
(uint16)Ccu6_SetPtns(5, 1, 0x1C), /* Hall pattern=5, forward direction */
(uint16)Ccu6_SetPtns(6, 4, 0x07), /* Hall pattern=6, forward direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=7, forward direction (error) */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, reverse direction (error) */
(uint16)Ccu6_SetPtns(1, 5, 0x07), /* Hall pattern=1, reverse direction */
(uint16)Ccu6_SetPtns(2, 3, 0x1C), /* Hall pattern=2, reverse direction */
(uint16)Ccu6_SetPtns(3, 1, 0x13), /* Hall pattern=3, reverse direction */
(uint16)Ccu6_SetPtns(4, 6, 0x31), /* Hall pattern=4, reverse direction */
(uint16)Ccu6_SetPtns(5, 4, 0x34), /* Hall pattern=5, reverse direction */
(uint16)Ccu6_SetPtns(6, 2, 0x0D), /* Hall pattern=6, reverse direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00) /* Hall pattern=7, reverse direction (error) */
},
#endif /* (BCHALL_OFFSET_60DEGREE_EN == 1) */
0 Likes
4 Replies
User17952
Level 3
Level 3
Hi,
These values will be written to the MCMOUTS register to control the output of CCU6x and COUT6x.
0 Likes
User19528
Level 2
Level 2
First like received
Hi,
Thanks for the feedback.
I'am looking for the values of the electric angle (from 0° to 360°) for each hall pattern:
For forward direction for example :
Hall pattern=1 => 3 => what is the corresponding angle ?
Hall pattern=2,=> 6 => what is the corresponding angle ?
Hall pattern=3, => 2 => what is the corresponding angle ?
Hall pattern=4,=> 5 => what is the corresponding angle ?
Hall pattern=5,=> 1 => what is the corresponding angle ?
Hall pattern=6, => 4 => what is the corresponding angle ?
same question for reverse direction
0 Likes
User19528
Level 2
Level 2
First like received
Hi,

Could please help me to identify the Hall patterns according to the following diagram for CW and CCW direction
Is it possible to complete with the corresponding Electric angle
For your information, my bldc have 6 poles
4521.attach
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, forward direction (error) */
(uint16)Ccu6_SetPtns(1, ?, 0x31), /* Hall pattern=1, forward direction */
(uint16)Ccu6_SetPtns(2, ?, 0x07), /* Hall pattern=2, forward direction */
(uint16)Ccu6_SetPtns(3, ?, 0x34), /* Hall pattern=3, forward direction */
(uint16)Ccu6_SetPtns(4, ?, 0x1C), /* Hall pattern=4, forward direction */
(uint16)Ccu6_SetPtns(5, ?, 0x0D), /* Hall pattern=5, forward direction */
(uint16)Ccu6_SetPtns(6, ?, 0x13), /* Hall pattern=6, forward direction */
(uint16)Ccu6_SetPtns(0, ?, 0x00), /* Hall pattern=7, forward direction (error) */
(uint16)Ccu6_SetPtns(0, 0, 0x00), /* Hall pattern=0, reverse direction (error) */
(uint16)Ccu6_SetPtns(1, ?, 0x13), /* Hall pattern=1, reverse direction */
(uint16)Ccu6_SetPtns(2, ?, 0x0D), /* Hall pattern=2, reverse direction */
(uint16)Ccu6_SetPtns(3, ?, 0x1C), /* Hall pattern=3, reverse direction */
(uint16)Ccu6_SetPtns(4, ?, 0x34), /* Hall pattern=4, reverse direction */
(uint16)Ccu6_SetPtns(5, ?, 0x07), /* Hall pattern=5, reverse direction */
(uint16)Ccu6_SetPtns(6, ?, 0x31), /* Hall pattern=6, reverse direction */
(uint16)Ccu6_SetPtns(0, 0, 0x00) /* Hall pattern=7, reverse direction (error) */
0 Likes