This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCT8329EVM: I2C registers show wrong values

Part Number: MCT8329EVM
Other Parts Discussed in Thread: MCT8329A

We use MCT8329EVM to drive an eBike BLDC motor.

The motor specification is: 36V, max 580W. no loading.

We try to startup motor by align, double align, IPD and slow first.

Only slow first can work. All other methods are fail.

However, we turn the parameters and set various duty cycle as below:

eBike motor 36V batt.

duty %

=

10

20

30

40

50

60

70

ISD_CONFIG

(0x0080)

=

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

MOTOR_STARTUP1

(0x0082)

=

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

MOTOR_STARTUP2

(0x0084)

=

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

CLOSED_LOOP1

(0x0086)

=

0x1025E600

0x1025E600

0x1025E600

0x1025E600

0x1025E600

0x1025E600

0x1025E600

CLOSED_LOOP2

(0x0088)

=

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

CLOSED_LOOP3

(0x008A)

=

0x34C92001

0x34C92001

0x34C92001

0x34C92001

0x34C92001

0x34C92001

0x34C92001

CLOSED_LOOP4

(0x008C)

=

0x001AC953

0x001AC953

0x001AC953

0x001AC953

0x001AC953

0x001AC953

0x001AC953

CONST_SPEED

(0x008E)

=

0x30010000

0x30010000

0x30010000

0x30010000

0x30010000

0x30010000

0x30010000

CONST_PWR

(0x0090)

=

0x1F400640

0x1F400640

0x1F400640

0x1F400640

0x1F400640

0x1F400640

0x1F400640

FAULT_CONFIG1

(0x0092)

=

0x71783624

0x71783624

0x71783624

0x71783624

0x71783624

0x71783624

0x71783624

FAULT_CONFIG2

(0x0094)

=

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

150_DEG_TWO_PH_PROFILE

(0x0096)

=

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

150_DEG_THREE_PH_PROFILE

(0x0098)

=

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

REF_PROFILES1

(0x009A)

=

0x032184A6

0x032184A6

0x032184A6

0x032184A6

0x032184A6

0x032184A6

0x032184A6

REF_PROFILES2

(0x009C)

=

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

REF_PROFILES3

(0x009E)

=

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

REF_PROFILES4

(0x00A0)

=

0x000C9932

0x000C9932

0x000C9932

0x000C9932

0x000C9932

0x000C9932

0x000C9932

REF_PROFILES5

(0x00A2)

=

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

REF_PROFILES6

(0x00A4)

=

0x00708000

0x00708000

0x00708000

0x00708000

0x00708000

0x00708000

0x00708000

PIN_CONFIG1

(0x00A6)

=

0x20600002

0x20600002

0x20600002

0x20600002

0x20600002

0x20600002

0x20600002

PIN_CONFIG2

(0x00A8)

=

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

DEVICE_CONFIG

(0x00AA)

=

0x27100008

0x27100008

0x27100008

0x27100008

0x27100008

0x27100008

0x27100008

GD_CONFIG1

(0x00AC)

=

0x000200FC

0x000200FC

0x000200FC

0x000200FC

0x000200FC

0x000200FC

0x000200FC

GD_CONFIG2

(0x00AE)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

GATE_DRIVER_FAULT_STATUS

(0x00E0)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

CONTROLLER_FAULT_STATUS

(0x00E2)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

SYS_STATUS1

(0x00E4)

=

0x00EF18F2

0x00F53344

0x00F54D24

0x00F56682

0x00F58028

0x00F59928

0x00F5B3B6

ALGO_CTRL1

(0x00E6)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

DEVICE_CTRL

(0x00E8)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

SYS_STATUS2

(0x00EA)

=

0x20010151

0x20010292

0x200103E3

0x200104DD

0x20010587

0x2001073D

0x200107B2

SYS_STATUS3

(0x00EC)

=

0xFFFFF829

0xFFFFE48E

0xFFFFD6BE

0xFFFFC90B

0xFFFFBC8C

0xFFFFAD9F

0xFFFFA548

INPUT_DUTY

(0x040C)

=

0x06470000

0x0CC78000

0x13460000

0x19B38000

0x200A0000

0x264C8000

0x2CF20000

CURRENT_DUTY

(0x0512)

=

0x067E5138

0x0CC78000

0x134FB156

0x19AB38C3

0x200209E0

0x267C0000

0x2CE9B639

SET_DUTY

(0x0522)

=

0x06928000

0x0CD90000

0x133F8000

0x19BA0000

0x200A0000

0x264A0000

0x2CED8000

MOTOR_SPEED_PU

(0x05CE)

=

0x02282BB3

0x0436AC70

0x0661B778

0x0860AC63

0x0A6FDA3F

0x0C3BCAF3

0x0E2168C3

DC_BUS_POWER_PU

(0x0714)

=

0xEB5FC000

0xB9618000

0x967DC000

0x80000000

0x80000000

0x80000000

0x80000000

the questions:

1. sometimes the startup process may fail.

2. 0x417 seems be a negative value and it keeps 0x80000000 if duty >40%

3. if we set startup frequency < 40Hz, it will short circuit.

4. 0xEC current is always 0xffff, battery power is wrong value

After that, we try another parameters, the tables show below:

 

0x90 max_spd=64000,
max_pwr=1600

PWM duty

=

100%

80%

60%

30%

10%

ISD_CONFIG

(0x0080)

=

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

0x7F404D06

MOTOR_STARTUP1

(0x0082)

=

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

0x6C9265B8

MOTOR_STARTUP2

(0x0084)

=

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

0x5A18B295

CLOSED_LOOP1

(0x0086)

=

0x3025E600

0x3025E600

0x3025E600

0x3025E600

0x3025E600

CLOSED_LOOP2

(0x0088)

=

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

0x02A1A428

CLOSED_LOOP3

(0x008A)

=

0x34C92001

0x34C92001

0x34C92001

0x34C92001

0x34C92001

CLOSED_LOOP4

(0x008C)

=

0x001AC953

0x001AC953

0x001AC953

0x001AC953

0x001AC953

CONST_SPEED

(0x008E)

=

0x30010000

0x30010000

0x30010000

0x30010000

0x30010000

CONST_PWR

(0x0090)

=

0x7D006400

0x7D006400

0x7D006400

0x7D006400

0x7D006400

FAULT_CONFIG1

(0x0092)

=

0x71783624

0x71783624

0x71783624

0x71783624

0x71783624

FAULT_CONFIG2

(0x0094)

=

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

0x7C85C00A

150_DEG_TWO_PH_PROFILE

(0x0096)

=

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

0x24DB7200

150_DEG_THREE_PH_PROFILE

(0x0098)

=

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

0x48DB6946

REF_PROFILES1

(0x009A)

=

0x032184A6

0x032184A6

0x032184A6

0x032184A6

0x032184A6

REF_PROFILES2

(0x009C)

=

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

0x34C80AFC

REF_PROFILES3

(0x009E)

=

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

0x4787D70C

REF_PROFILES4

(0x00A0)

=

0x000C9932

0x000C9932

0x000C9932

0x000C9932

0x000C9932

REF_PROFILES5

(0x00A2)

=

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

0x1F6BF200

REF_PROFILES6

(0x00A4)

=

0x00708000

0x00708000

0x00708000

0x00708000

0x00708000

PIN_CONFIG1

(0x00A6)

=

0x20600002

0x20600002

0x20600002

0x20600002

0x20600002

PIN_CONFIG2

(0x00A8)

=

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

0x3E0020AA

DEVICE_CONFIG

(0x00AA)

=

0x27100008

0x27100008

0x27100008

0x27100008

0x27100008

GD_CONFIG1

(0x00AC)

=

0x000200FC

0x000200FC

0x000200FC

0x000200FC

0x000200FC

GD_CONFIG2

(0x00AE)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

GATE_DRIVER_FAULT_STATUS

(0x00E0)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

CONTROLLER_FAULT_STATUS

(0x00E2)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

SYS_STATUS1

(0x00E4)

=

0x00F2FFFE

0x00F3CD0E

0x00F69920

0x00F34D18

0x00ED19B8

ALGO_CTRL1

(0x00E6)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

DEVICE_CTRL

(0x00E8)

=

0x00000000

0x00000000

0x00000000

0x00000000

0x00000000

SYS_STATUS2

(0x00EA)

=

0x20010BCB

0x200109A1

0x20010751

0x200103AF

0x20010140

SYS_STATUS3

(0x00EC)

=

0xFFFF78C9

0xFFFF931A

0xFFFFAD43

0xFFFFD742

0xFFFFF8A1

INPUT_DUTY

(0x040C)

=

0x3FFF8000

0x333F0000

0x26738000

0x13360000

0x06740000

CURRENT_DUTY

(0x0512)

=

0x3FFF8000

0x333ED4B2

0x2677538B

0x133F0000

0x0677B608

SET_DUTY

(0x0522)

=

0x3FFF8000

0x33320000

0x26738000

0x13360000

0x06488000

MOTOR_SPEED_PU

(0x05CE)

=

0x04D95B38

0x03EF4EDD

0x02FFEACE

0x01811CC1

0x00834C1F

DC_BUS_POWER_PU

(0x0714)

=

0xF0128000

0xF3320000

0xF66D4000

0xFB33C000

0xFF204000

 

 

[motor 100+ok]

[8329_dump+ok]

[517379] ISD_CONFIG (0x0080) = 0x7F404D06

[517383] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[517388] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[517392] CLOSED_LOOP1 (0x0086) = 0x3025E600

[517397] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[517401] CLOSED_LOOP3 (0x008A) = 0x34C92001

[517405] CLOSED_LOOP4 (0x008C) = 0x001AC953

[517410] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[517418] CONST_PWR (0x0090) = 0x7D006400  M_spd=64000, M_pwr=1600

[517424] FAULT_CONFIG1 (0x0092) = 0x71783624

[517429] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[517433] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[517438] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[517444] REF_PROFILES1 (0x009A) = 0x032184A6

[517448] REF_PROFILES2 (0x009C) = 0x34C80AFC

[517453] REF_PROFILES3 (0x009E) = 0x4787D70C

[517457] REF_PROFILES4 (0x00A0) = 0x000C9932

[517462] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[517466] REF_PROFILES6 (0x00A4) = 0x00708000

[517471] PIN_CONFIG1 (0x00A6) = 0x20600002

[517475] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[517479] DEVICE_CONFIG (0x00AA) = 0x27100008

[517483] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[517489] GD_CONFIG2 (0x00AE) = 0x00000000

[517493] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[517498] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[517503] SYS_STATUS1 (0x00E4) = 0x00F2FFFE  Volt_mag=24.200, Motor_Spd(eHz)=100.000%

[517511] ALGO_CTRL1 (0x00E6) = 0x00000000

[517515] DEVICE_CTRL (0x00E8) = 0x00000000

[517519] SYS_STATUS2 (0x00EA) = 0x20010BCB  State=0x2, Motor_Spd(eHz)=301.900

[517526] SYS_STATUS3 (0x00EC) = 0xFFFF78C9  (BUS_Curr=0xffff)

[517533] INPUT_DUTY (0x040C) = 0x3FFF8000  In_duty=99.997%

[517539] CURRENT_DUTY (0x0512) = 0x3FFF8000  Curr_duty=99.997%

[517545] SET_DUTY (0x0522) = 0x3FFF8000  Set_duty=99.997%

[517550] MOTOR_SPEED_PU (0x05CE) = 0x04D95B38  Motor_Spd=4849.048

[517556] DC_BUS_POWER_PU (0x0714) = 0xF0128000  Motor_Pwr=6001.807

[motor 80+ok]

[8329_dump+ok]

[529834] ISD_CONFIG (0x0080) = 0x7F404D06

[529838] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[529842] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[529847] CLOSED_LOOP1 (0x0086) = 0x3025E600

[529851] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[529855] CLOSED_LOOP3 (0x008A) = 0x34C92001

[529860] CLOSED_LOOP4 (0x008C) = 0x001AC953

[529864] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[529872] CONST_PWR (0x0090) = 0x7D006400  M_spd=64000, M_pwr=1600

[529878] FAULT_CONFIG1 (0x0092) = 0x71783624

[529883] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[529887] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[529892] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[529898] REF_PROFILES1 (0x009A) = 0x032184A6

[529902] REF_PROFILES2 (0x009C) = 0x34C80AFC

[529907] REF_PROFILES3 (0x009E) = 0x4787D70C

[529911] REF_PROFILES4 (0x00A0) = 0x000C9932

[529916] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[529920] REF_PROFILES6 (0x00A4) = 0x00708000

[529925] PIN_CONFIG1 (0x00A6) = 0x20600002

[529929] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[529933] DEVICE_CONFIG (0x00AA) = 0x27100008

[529937] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[529943] GD_CONFIG2 (0x00AE) = 0x00000000

[529947] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[529952] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[529957] SYS_STATUS1 (0x00E4) = 0x00F3CD0E  Volt_mag=24.300, Motor_Spd(eHz)=80.102%

[529965] ALGO_CTRL1 (0x00E6) = 0x00000000

[529969] DEVICE_CTRL (0x00E8) = 0x00000000

[529973] SYS_STATUS2 (0x00EA) = 0x200109A1  State=0x2, Motor_Spd(eHz)=246.500

[529980] SYS_STATUS3 (0x00EC) = 0xFFFF931A 

[529987] INPUT_DUTY (0x040C) = 0x333F0000  In_duty=80.072%

[529993] CURRENT_DUTY (0x0512) = 0x333ED4B2  Curr_duty=80.071%

[529999] SET_DUTY (0x0522) = 0x33320000  Set_duty=79.993%

[530004] MOTOR_SPEED_PU (0x05CE) = 0x03EF4EDD  Motor_Spd=3934.797

[530010] DC_BUS_POWER_PU (0x0714) = 0xF3320000  Motor_Pwr=6079.883

[motor 60+ok]

[8329_dump+ok]

[535988] ISD_CONFIG (0x0080) = 0x7F404D06

[535992] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[535996] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[536001] CLOSED_LOOP1 (0x0086) = 0x3025E600

[536005] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[536009] CLOSED_LOOP3 (0x008A) = 0x34C92001

[536014] CLOSED_LOOP4 (0x008C) = 0x001AC953

[536018] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[536026] CONST_PWR (0x0090) = 0x7D006400  M_spd=64000, M_pwr=1600

[536032] FAULT_CONFIG1 (0x0092) = 0x71783624

[536037] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[536041] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[536046] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[536052] REF_PROFILES1 (0x009A) = 0x032184A6

[536056] REF_PROFILES2 (0x009C) = 0x34C80AFC

[536061] REF_PROFILES3 (0x009E) = 0x4787D70C

[536065] REF_PROFILES4 (0x00A0) = 0x000C9932

[536070] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[536074] REF_PROFILES6 (0x00A4) = 0x00708000

[536079] PIN_CONFIG1 (0x00A6) = 0x20600002

[536083] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[536087] DEVICE_CONFIG (0x00AA) = 0x27100008

[536091] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[536097] GD_CONFIG2 (0x00AE) = 0x00000000

[536101] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[536106] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[536111] SYS_STATUS1 (0x00E4) = 0x00F69920  Volt_mag=24.600, Motor_Spd(eHz)=59.816%

[536119] ALGO_CTRL1 (0x00E6) = 0x00000000

[536123] DEVICE_CTRL (0x00E8) = 0x00000000

[536127] SYS_STATUS2 (0x00EA) = 0x20010751  State=0x2, Motor_Spd(eHz)=187.300

[536134] SYS_STATUS3 (0x00EC) = 0xFFFFAD43 

[536141] INPUT_DUTY (0x040C) = 0x26738000  In_duty=60.080%

[536147] CURRENT_DUTY (0x0512) = 0x2677538B  Curr_duty=60.103%

[536153] SET_DUTY (0x0522) = 0x26738000  Set_duty=60.080%

[536158] MOTOR_SPEED_PU (0x05CE) = 0x02FFEACE  Motor_Spd=2999.677

[536164] DC_BUS_POWER_PU (0x0714) = 0xF66D4000  Motor_Pwr=6160.669

[motor 30+ok]

[8329_dump+ok]

[542702] ISD_CONFIG (0x0080) = 0x7F404D06

[542706] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[542714] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[542718] CLOSED_LOOP1 (0x0086) = 0x3025E600

[542723] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[542727] CLOSED_LOOP3 (0x008A) = 0x34C92001

[542731] CLOSED_LOOP4 (0x008C) = 0x001AC953

[542736] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[542744] CONST_PWR (0x0090) = 0x7D006400  M_spd=64000, M_pwr=1600

[542750] FAULT_CONFIG1 (0x0092) = 0x71783624

[542755] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[542759] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[542764] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[542770] REF_PROFILES1 (0x009A) = 0x032184A6

[542774] REF_PROFILES2 (0x009C) = 0x34C80AFC

[542779] REF_PROFILES3 (0x009E) = 0x4787D70C

[542783] REF_PROFILES4 (0x00A0) = 0x000C9932

[542788] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[542792] REF_PROFILES6 (0x00A4) = 0x00708000

[542797] PIN_CONFIG1 (0x00A6) = 0x20600002

[542801] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[542805] DEVICE_CONFIG (0x00AA) = 0x27100008

[542809] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[542815] GD_CONFIG2 (0x00AE) = 0x00000000

[542819] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[542824] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[542829] SYS_STATUS1 (0x00E4) = 0x00F34D18  Volt_mag=24.300, Motor_Spd(eHz)=30.116%

[542837] ALGO_CTRL1 (0x00E6) = 0x00000000

[542841] DEVICE_CTRL (0x00E8) = 0x00000000

[542845] SYS_STATUS2 (0x00EA) = 0x200103AF  State=0x2, Motor_Spd(eHz)=94.300

[542852] SYS_STATUS3 (0x00EC) = 0xFFFFD742 

[542859] INPUT_DUTY (0x040C) = 0x13360000  In_duty=30.017%

[542865] CURRENT_DUTY (0x0512) = 0x133F0000  Curr_duty=30.072%

[542871] SET_DUTY (0x0522) = 0x13360000  Set_duty=30.017%

[542876] MOTOR_SPEED_PU (0x05CE) = 0x01811CC1  Motor_Spd=1504.345

[542882] DC_BUS_POWER_PU (0x0714) = 0xFB33C000  Motor_Pwr=6280.054

[motor 10+ok]

[8329_dump+ok]

[551085] ISD_CONFIG (0x0080) = 0x7F404D06

[551089] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[551093] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[551098] CLOSED_LOOP1 (0x0086) = 0x3025E600

[551102] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[551106] CLOSED_LOOP3 (0x008A) = 0x34C92001

[551111] CLOSED_LOOP4 (0x008C) = 0x001AC953

[551115] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[551123] CONST_PWR (0x0090) = 0x7D006400  M_spd=64000, M_pwr=1600

[551129] FAULT_CONFIG1 (0x0092) = 0x71783624

[551134] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[551138] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[551143] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[551149] REF_PROFILES1 (0x009A) = 0x032184A6

[551153] REF_PROFILES2 (0x009C) = 0x34C80AFC

[551158] REF_PROFILES3 (0x009E) = 0x4787D70C

[551162] REF_PROFILES4 (0x00A0) = 0x000C9932

[551167] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[551171] REF_PROFILES6 (0x00A4) = 0x00708000

[551176] PIN_CONFIG1 (0x00A6) = 0x20600002

[551180] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[551184] DEVICE_CONFIG (0x00AA) = 0x27100008

[551188] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[551194] GD_CONFIG2 (0x00AE) = 0x00000000

[551198] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[551203] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[551208] SYS_STATUS1 (0x00E4) = 0x00ED19B8  Volt_mag=23.700, Motor_Spd(eHz)=10.047%

[551216] ALGO_CTRL1 (0x00E6) = 0x00000000

[551220] DEVICE_CTRL (0x00E8) = 0x00000000

[551224] SYS_STATUS2 (0x00EA) = 0x20010140  State=0x2, Motor_Spd(eHz)=32.000

[551231] SYS_STATUS3 (0x00EC) = 0xFFFFF8A1 

[551238] INPUT_DUTY (0x040C) = 0x06740000  In_duty=10.083%

[551244] CURRENT_DUTY (0x0512) = 0x0677B608  Curr_duty=10.106%

[551250] SET_DUTY (0x0522) = 0x06488000  Set_duty=9.818%

[551255] MOTOR_SPEED_PU (0x05CE) = 0x00834C1F  Motor_Spd=512.880

[551261] DC_BUS_POWER_PU (0x0714) = 0xFF204000  Motor_Pwr=6378.149

 

 

[28533] ISD_CONFIG (0x0080) = 0x7F404D06

[28537] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8

[28542] MOTOR_STARTUP2 (0x0084) = 0x5A18B295

[28546] CLOSED_LOOP1 (0x0086) = 0x3025E600

[28550] CLOSED_LOOP2 (0x0088) = 0x02A1A428

[28554] CLOSED_LOOP3 (0x008A) = 0x34C92001

[28559] CLOSED_LOOP4 (0x008C) = 0x001AC953

[28563] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr

[28571] CONST_PWR (0x0090) = 0x01900C80  M_spd=800, M_pwr=200

[28577] FAULT_CONFIG1 (0x0092) = 0x71783624

[28581] FAULT_CONFIG2 (0x0094) = 0x7C85C00A

[28585] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200

[28590] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946

[28595] REF_PROFILES1 (0x009A) = 0x032184A6

[28600] REF_PROFILES2 (0x009C) = 0x34C80AFC

[28604] REF_PROFILES3 (0x009E) = 0x4787D70C

[28608] REF_PROFILES4 (0x00A0) = 0x000C9932

[28613] REF_PROFILES5 (0x00A2) = 0x1F6BF200

[28617] REF_PROFILES6 (0x00A4) = 0x00708000

[28621] PIN_CONFIG1 (0x00A6) = 0x20600002

[28625] PIN_CONFIG2 (0x00A8) = 0x3E0020AA

[28629] DEVICE_CONFIG (0x00AA) = 0x27100008

[28634] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0

[28639] GD_CONFIG2 (0x00AE) = 0x00000000

[28643] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000

[28648] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000

[28653] SYS_STATUS1 (0x00E4) = 0x00F0198A  Volt_mag=24.000, Motor_Spd(eHz)=9.977%

[28661] ALGO_CTRL1 (0x00E6) = 0x00000000

[28665] DEVICE_CTRL (0x00E8) = 0x00000000

[28669] SYS_STATUS2 (0x00EA) = 0x20010140  State=0x2, Motor_Spd(eHz)=32.000

[28676] SYS_STATUS3 (0x00EC) = 0xFFFFF880 

[28683] INPUT_DUTY (0x040C) = 0x06578000  In_duty=9.909%

[28688] CURRENT_DUTY (0x0512) = 0x067F48C5  Curr_duty=10.152%

[28694] SET_DUTY (0x0522) = 0x06630000  Set_duty=9.979%

[28699] MOTOR_SPEED_PU (0x05CE) = 0x28FFCA8B  Motor_Spd=512.490

[28705] DC_BUS_POWER_PU (0x0714) = 0xF6828000  Motor_Pwr=770.343

 

 

  • Hi Realman,

    1. When you see startup failures does the nfault pin go low and could you describe that the motor does when the failure occurs?
    2. What is the value of the measured current and voltage values when at 50% duty?
    3. Could you tell me where the short circuit occurs when startup frequency is <40 Hz?
    4. Do these issues continue to occur if the MCT8329A chip is replaced with a known good one?

    Regards,

    Joshua

  • Hi Joshua,

    Thanks for your answer.

    1. We try to use IPD to startup, the motor shakes for 1~2 seconds and then 0xE2 reports 0xA0000000: IPD frequency fault.
    We change IPD_CLK_FREQ from 50Hz to 2000Hz.
    All of them can't work.

    2. I: ~506mA, V: 40.8V

    [duty=50%]
    [8329_dump+ok]
    [41725] ISD_CONFIG (0x0080) = 0x7F404D06
    [41729] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8
    [41733] MOTOR_STARTUP2 (0x0084) = 0x5A18B294
    [41738] CLOSED_LOOP1 (0x0086) = 0x3025E600
    [41742] CLOSED_LOOP2 (0x0088) = 0x02A1A428
    [41746] CLOSED_LOOP3 (0x008A) = 0x34C92001
    [41750] CLOSED_LOOP4 (0x008C) = 0x001AC953
    [41754] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr
    [41763] CONST_PWR (0x0090) = 0x1F403E80  M_spd=16000, M_pwr=1000
    [41769] FAULT_CONFIG1 (0x0092) = 0x71783624
    [41773] FAULT_CONFIG2 (0x0094) = 0x7C85C00A
    [41777] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200
    [41782] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946
    [41787] REF_PROFILES1 (0x009A) = 0x032184A6
    [41792] REF_PROFILES2 (0x009C) = 0x34C80AFC
    [41796] REF_PROFILES3 (0x009E) = 0x4787D70C
    [41800] REF_PROFILES4 (0x00A0) = 0x000C9932
    [41805] REF_PROFILES5 (0x00A2) = 0x1F6BF200
    [41809] REF_PROFILES6 (0x00A4) = 0x00708000
    [41813] PIN_CONFIG1 (0x00A6) = 0x20600002
    [41817] PIN_CONFIG2 (0x00A8) = 0x3E0020AA
    [41821] DEVICE_CONFIG (0x00AA) = 0x27100008
    [41826] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0
    [41831] GD_CONFIG2 (0x00AE) = 0x00000000
    [41835] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000  Fault:
    [41841] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000  Fault:
    [41847] SYS_STATUS1 (0x00E4) = 0x01978042  Volt_mag=40.700, Motor_Spd(eHz)=50.102%
    [41855] ALGO_CTRL1 (0x00E6) = 0x00000000
    [41859] DEVICE_CTRL (0x00E8) = 0x00000000
    [41863] SYS_STATUS2 (0x00EA) = 0x20010624  motor_run     State=0x2, Motor_Spd(eHz)=157.200
    [41871] SYS_STATUS3 (0x00EC) = 0xFFFF8E37  BUS_Curr=255.996A, BATT_POW=455.141W
    [41878] INPUT_DUTY (0x040C) = 0x201E0000  In_duty=50.183%
    [41884] CURRENT_DUTY (0x0512) = 0x201E0000  Curr_duty=50.183%
    [41890] SET_DUTY (0x0522) = 0x20028000  Set_duty=50.015%
    [41895] MOTOR_SPEED_PU (0x05CE) = 0x0A0D085E  Motor_Spd=2512.727, Max_speed=16000
    [41903] DC_BUS_POWER_PU (0x0714) = 0xE3384000  Motor_Pwr=449.692, Max_power=1000

    3. We connect eBike battery power to the 8329 EVM.
    When the motor fault occurs, it trigger the short circuit protect light signal on the battery.
    And the battery cut off the power immediately.

    4. We have mounted the MCT8329 on our EVB, and the situation is same.

    one more thing:
    In slow first mode:
    a. We can startup from 0% to 10%~100% step 10%, they are almost successful.
    However, we run on 10% then speed up to 80% or 90% or 100%, it short circuits immediately.
    run on 20% and speetup to 90%, 100%: short circuits
    run on 30% or above to any duty: safe

    b. We found the deceleration to be very slow. However, when I set FAST_DECEL_EN=1, the deceleration is very fast, but it short circuits immediately.

    below are the parameters for duty=0%

    [motor 0+ok]
    [8329_dump+ok]
    [1964992] ISD_CONFIG (0x0080) = 0x7F404D06
    [1964996] MOTOR_STARTUP1 (0x0082) = 0x6C9265B8
    [1965001] MOTOR_STARTUP2 (0x0084) = 0x5A18B294
    [1965006] CLOSED_LOOP1 (0x0086) = 0x3025E600
    [1965010] CLOSED_LOOP2 (0x0088) = 0x02A1A428
    [1965015] CLOSED_LOOP3 (0x008A) = 0x34C92001
    [1965019] CLOSED_LOOP4 (0x008C) = 0x001AC953
    [1965024] CONST_SPEED (0x008E) = 0x30010000  KP=768/10000, KI=256/1M, Loop_mode=0 1:spd,2:pwr
    [1965033] CONST_PWR (0x0090) = 0x1F403E80  M_spd=16000, M_pwr=1000
    [1965039] FAULT_CONFIG1 (0x0092) = 0x71783624
    [1965044] FAULT_CONFIG2 (0x0094) = 0x7C85C00A
    [1965048] 150_DEG_TWO_PH_PROFILE (0x0096) = 0x24DB7200
    [1965054] 150_DEG_THREE_PH_PROFILE (0x0098) = 0x48DB6946
    [1965059] REF_PROFILES1 (0x009A) = 0x032184A6
    [1965064] REF_PROFILES2 (0x009C) = 0x34C80AFC
    [1965068] REF_PROFILES3 (0x009E) = 0x4787D70C
    [1965073] REF_PROFILES4 (0x00A0) = 0x000C9932
    [1965077] REF_PROFILES5 (0x00A2) = 0x1F6BF200
    [1965082] REF_PROFILES6 (0x00A4) = 0x00708000
    [1965086] PIN_CONFIG1 (0x00A6) = 0x20600002
    [1965091] PIN_CONFIG2 (0x00A8) = 0x3E0020AA
    [1965095] DEVICE_CONFIG (0x00AA) = 0x27100008
    [1965100] GD_CONFIG1 (0x00AC) = 0x000200FC  Dir= Uni, CSA=0
    [1965105] GD_CONFIG2 (0x00AE) = 0x00000000
    [1965110] GATE_DRIVER_FAULT_STATUS (0x00E0) = 0x00000000  Fault:
    [1965116] CONTROLLER_FAULT_STATUS (0x00E2) = 0x00000000  Fault:
    [1965122] SYS_STATUS1 (0x00E4) = 0x01980000  Volt_mag=40.800, Motor_Spd(eHz)=0.000%
    [1965130] ALGO_CTRL1 (0x00E6) = 0x00000000
    [1965134] DEVICE_CTRL (0x00E8) = 0x00000000
    [1965138] SYS_STATUS2 (0x00EA) = 0x60010000  motor_idle    State=0x6, Motor_Spd(eHz)=0.000
    [1965146] SYS_STATUS3 (0x00EC) = 0x00000000  BUS_Curr=0.000A, BATT_POW=0.000W
    [1965153] INPUT_DUTY (0x040C) = 0x00000000  In_duty=0.000%
    [1965159] CURRENT_DUTY (0x0512) = 0x00000000  Curr_duty=0.000%
    [1965165] SET_DUTY (0x0522) = 0x00000000  Set_duty=0.000%
    [1965170] MOTOR_SPEED_PU (0x05CE) = 0x00000000  Motor_Spd=0.000, Max_speed=16000
    [1965178] DC_BUS_POWER_PU (0x0714) = 0xEEB54000  Motor_Pwr=270.187, Max_power=1000

  • Hi Realman,

    I will aim to get back to you by next Thursday at the latest,

    Regards,

    Joshua

  • Hi Realman,

    I am still looking into this issue. Thank you for your patience.

    Regards,

    Joshua

  • It's been two weeks, any solutions?

  • Hi Realman,

    We try to use IPD to startup, the motor shakes for 1~2 seconds and then 0xE2 reports 0xA0000000: IPD frequency fault.

    Please try adjusting the IPD current limit alongside the IPD frequency. If the motor inductance is too high for the IPD current limit or frequency or if the IPD frequency is to high for the current limit this could lead to a IPD frequency fault. Please see section 7.3.20.12 of the datasheet for more information.

    4. 0xEC current is always 0xffff, battery power is wrong value
    2. 0x417 seems be a negative value and it keeps 0x80000000 if duty >40%

    I assume you meant to refer to register 0x714? Please see the latest recommendation in this post: https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1276831/mct8329evm-why-are-the-values-of-current-and-power-weird.

    We found the deceleration to be very slow.

    To increase deceleration please increase the CL_DEC value if CL_DEC_CONIF is set to 0b otherwise the closed loop deceleration rate is determined by the value in CL_ACC.

    For the short circuit issues you are seeing, please try increasing the deadtime insertion by adjusting the DIG_DEAD_TIME register. Please see section 7.3.2.1 of the datasheet for more information.

    If this does not help please capture GHx, GLx, and SHx and see if cross conduction is occurring.

    Regards,

    Joshua