about sensorless BLDC 6-step control by using MTRCKTSBNZVM128

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

about sensorless BLDC 6-step control by using MTRCKTSBNZVM128

710 Views
subinkim
Contributor II

Hi, I want to control my 6-poles(3 pole pairs) BLDC motor using MTRCKTSBNZVM128 SW(BLDC sensorless 6-step app).

MOTOR SPEC : 50W, 6-poles, 9 slots

The problem is that we want to control our motor to maximum upper 6000rpm, but it just rotating 3100rpm now.

I checked the MCU(S12ZVML128) using maximum voltage duty(95%) but the current(max 3.2A) is too low for maximum rpm. So we estimate the current is the main point of this situation. 

I understand that this app SW is designed for EVB board and motor, so it's not optimized for our application now.

Then How can I bring more current for ours? or Do you have any other point of view to solve our problem? 

Please give me your opinions.

Tags (1)
0 Kudos
1 Reply

405 Views
pachamatej
NXP Employee
NXP Employee

Hi,

If the duty cycle is at its maximum and the commutation works well, the max speed is given by the terminal voltage, unless a field weakening is used.

In many cases, BLDC motor manufacturers determine two speeds:

- nominal speed @ nominal voltage

- no-load speed @ nominal voltage

Many motors have specified the nominal voltage to be e.g. 24 VDC or 17 VDC. For the Linix 45ZWN24-90-B motor, the nominal speed is 9350 RPM @ 24 VDC, but this would mean approx. 5000 RPM @ 12 VDC (nominal point means at nominal current 5.8 Amps), although you can reach up to ~9000 RPM. The duty cycle limit also affects the terminal voltage, thus 95% limits means 11.4 VDC equivalent. This fact has to be respected at the system design phase.

In the SW, you can adjust the speed limit by changing the MAX_SPEED constant.

NOTE: we don't recommend to run the Linix motor at speeds higher than 5000 RPM due to possible overheating.

Field weakening with BLDC is an advanced technique, which requires the commutation point to occur in a different time than with the standard one (similar to the d-axis current adjustment in PMSM FOC control). This can be done by modifying the advanceAngle according to the speed.

Up to the nominal speed, the advanceAngle shall be higher than 0.38 (approx.), while for higher speeds it needs to be lowered down to approx. 0.25. Please keep in mind that these values are related to the Linix motor delivered with the devKit. For the Linix motor, this way you can get approx. 300 RPM more at no-load condition.

Hope it helps.

BR

Matej

0 Kudos