Tool/software:
Hi Support,
I'm tuning a BLDC motor using MCF8329EVM. The max speed in our application is about 250 Hz. But after running the motor with the configration attached below, the MAX speed can be reached is about 150 Hz only (from SPEED_FDBK) with SPEED/CURRENT LOOP SATURATION flags set at the same time when hitting this MAX speed.
I've seen another thread in which you said these flags are set when the modulation is full and more voltage is needed. As I increased the supply voltage, the speed indeed increased simultaneously, and finally reached the set MAX SPEED of 250Hz at over 22V (SPEED/CURRENT LOOP SATURATION also disappeared). But the supply voltage of our system is 12V, and we'd prefer not to add additional transformer. So are there any ways the achieve my target speed except increasing the voltage?
I've tried flux weakening function with different Kp/Ki, but the max speed only increased from 150hz to 160hz. The motor draws only 2.x A from the supply which is far below the ILIMIT (37.5 A * 60% = 22.5 A).
And here's the parameters of the motor:
Pole Pairs: 4
Max Speed: 6000 rpm
Rated Current: 100A Peak Max
Phase Res: 31.7 mOhm (manually measured)
Phase Ind: 56.65 uH (manually measured)
MOTOR_BEMF_CONST: 0x7b (from MPET, and current/speed loop kp/ki also from MPET)
{
"signature":"oneui-register-data",
"data":[
[
{
"idx":0,
"id":"ISD_CONFIG",
"value":"0xA0A0D4A1",
"addr":"0x00000080"
},
{
"idx":1,
"id":"REV_DRIVE_CONFIG",
"value":"0x48300000",
"addr":"0x00000082"
},
{
"idx":2,
"id":"MOTOR_STARTUP1",
"value":"0x26CC4CC4",
"addr":"0x00000084"
},
{
"idx":3,
"id":"MOTOR_STARTUP2",
"value":"0x9AAF2007",
"addr":"0x00000086"
},
{
"idx":4,
"id":"CLOSED_LOOP1",
"value":"0x127A013C",
"addr":"0x00000088"
},
{
"idx":5,
"id":"CLOSED_LOOP2",
"value":"0x8AAD1521",
"addr":"0x0000008A"
},
{
"idx":6,
"id":"CLOSED_LOOP3",
"value":"0x3DC690E9",
"addr":"0x0000008C"
},
{
"idx":7,
"id":"CLOSED_LOOP4",
"value":"0x096245DC",
"addr":"0x0000008E"
},
{
"idx":8,
"id":"REF_PROFILES1",
"value":"0x00000000",
"addr":"0x00000094"
},
{
"idx":9,
"id":"REF_PROFILES2",
"value":"0x00000000",
"addr":"0x00000096"
},
{
"idx":10,
"id":"REF_PROFILES3",
"value":"0x80000004",
"addr":"0x00000098"
},
{
"idx":11,
"id":"REF_PROFILES4",
"value":"0x00000000",
"addr":"0x0000009A"
},
{
"idx":12,
"id":"REF_PROFILES5",
"value":"0x00000000",
"addr":"0x0000009C"
},
{
"idx":13,
"id":"REF_PROFILES6",
"value":"0x00000000",
"addr":"0x0000009E"
}
],
[
{
"idx":0,
"id":"FAULT_CONFIG1",
"value":"0x46583187",
"addr":"0x00000090"
},
{
"idx":1,
"id":"FAULT_CONFIG2",
"value":"0x31404888",
"addr":"0x00000092"
}
],
[
{
"idx":0,
"id":"INT_ALGO_1",
"value":"0x094202FD",
"addr":"0x000000A0"
},
{
"idx":1,
"id":"INT_ALGO_2",
"value":"0x02008161",
"addr":"0x000000A2"
}
],
[
{
"idx":0,
"id":"PIN_CONFIG",
"value":"0x000AF302",
"addr":"0x000000A4"
},
{
"idx":1,
"id":"DEVICE_CONFIG1",
"value":"0x10100001",
"addr":"0x000000A6"
},
{
"idx":2,
"id":"DEVICE_CONFIG2",
"value":"0x03E8C00C",
"addr":"0x000000A8"
},
{
"idx":3,
"id":"PERI_CONFIG1",
"value":"0x69805CC0",
"addr":"0x000000AA"
},
{
"idx":4,
"id":"GD_CONFIG1",
"value":"0x8000007B",
"addr":"0x000000AC"
},
{
"idx":5,
"id":"GD_CONFIG2",
"value":"0x80000400",
"addr":"0x000000AE"
}
],
[
{
"idx":0,
"id":"GATE_DRIVER_FAULT_STATUS",
"value":"0x00000000",
"addr":"0x000000E0"
},
{
"idx":1,
"id":"CONTROLLER_FAULT_STATUS",
"value":"0x00000000",
"addr":"0x000000E2"
}
],
[
{
"idx":0,
"id":"ALGO_STATUS",
"value":"0x00000004",
"addr":"0x000000E4"
},
{
"idx":1,
"id":"MTR_PARAMS",
"value":"0x00000000",
"addr":"0x000000E6"
},
{
"idx":2,
"id":"ALGO_STATUS_MPET",
"value":"0x0A000000",
"addr":"0x000000E8"
}
],
[
{
"idx":0,
"id":"ALGO_CTRL1",
"value":"0x20000000",
"addr":"0x000000EA"
}
],
[
{
"idx":0,
"id":"ALGO_DEBUG1",
"value":"0x00000000",
"addr":"0x000000EC"
},
{
"idx":1,
"id":"ALGO_DEBUG2",
"value":"0x00000026",
"addr":"0x000000EE"
},
{
"idx":2,
"id":"CURRENT_PI",
"value":"0x030503A0",
"addr":"0x000000F0"
},
{
"idx":3,
"id":"SPEED_PI",
"value":"0x00000000",
"addr":"0x000000F2"
},
{
"idx":4,
"id":"DAC_1",
"value":"0x00000000",
"addr":"0x000000F4"
}
],
[
{
"idx":0,
"id":"ALGORITHM_STATE",
"value":"0x00000000",
"addr":"0x00000196"
},
{
"idx":1,
"id":"FG_SPEED_FDBK",
"value":"0x7FFFFFFF",
"addr":"0x0000019C"
},
{
"idx":2,
"id":"BUS_CURRENT",
"value":"0x00000000",
"addr":"0x0000040E"
},
{
"idx":3,
"id":"PHASE_CURRENT_A",
"value":"0x00000000",
"addr":"0x0000043C"
},
{
"idx":4,
"id":"PHASE_CURRENT_B",
"value":"0x00000000",
"addr":"0x0000043E"
},
{
"idx":5,
"id":"PHASE_CURRENT_C",
"value":"0x00000000",
"addr":"0x00000440"
},
{
"idx":6,
"id":"CSA_GAIN_FEEDBACK",
"value":"0x00000000",
"addr":"0x00000450"
},
{
"idx":7,
"id":"VOLTAGE_GAIN_FEEDBACK",
"value":"0x00000000",
"addr":"0x00000458"
},
{
"idx":8,
"id":"VM_VOLTAGE",
"value":"0x02070000",
"addr":"0x0000045C"
},
{
"idx":9,
"id":"PHASE_VOLTAGE_VA",
"value":"0x023D4F0D",
"addr":"0x00000460"
},
{
"idx":10,
"id":"PHASE_VOLTAGE_VB",
"value":"0x023D4F0D",
"addr":"0x00000462"
},
{
"idx":11,
"id":"PHASE_VOLTAGE_VC",
"value":"0x023FE829",
"addr":"0x00000464"
},
{
"idx":12,
"id":"SIN_COMMUTATION_ANGLE",
"value":"0x00000000",
"addr":"0x000004AA"
},
{
"idx":13,
"id":"COS_COMMUTATION_ANGLE",
"value":"0x00000000",
"addr":"0x000004AC"
},
{
"idx":14,
"id":"IALPHA",
"value":"0x00000000",
"addr":"0x000004CC"
},
{
"idx":15,
"id":"IBETA",
"value":"0x00000000",
"addr":"0x000004CE"
},
{
"idx":16,
"id":"VALPHA",
"value":"0x00000000",
"addr":"0x000004D0"
},
{
"idx":17,
"id":"VBETA",
"value":"0x00000000",
"addr":"0x000004D2"
},
{
"idx":18,
"id":"ID",
"value":"0x00000000",
"addr":"0x000004DC"
},
{
"idx":19,
"id":"IQ",
"value":"0x00000000",
"addr":"0x000004DE"
},
{
"idx":20,
"id":"VD",
"value":"0x00000000",
"addr":"0x000004E0"
},
{
"idx":21,
"id":"VQ",
"value":"0x00000000",
"addr":"0x000004E2"
},
{
"idx":22,
"id":"IQ_REF_ROTOR_ALIGN",
"value":"0x00000000",
"addr":"0x0000051A"
},
{
"idx":23,
"id":"SPEED_REF_OPEN_LOOP",
"value":"0x00000000",
"addr":"0x00000532"
},
{
"idx":24,
"id":"IQ_REF_OPEN_LOOP",
"value":"0x00000000",
"addr":"0x00000542"
},
{
"idx":25,
"id":"SPEED_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x000005D0"
},
{
"idx":26,
"id":"ID_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x0000060A"
},
{
"idx":27,
"id":"IQ_REF_CLOSED_LOOP",
"value":"0x00000000",
"addr":"0x0000060C"
},
{
"idx":28,
"id":"ISD_STATE",
"value":"0x00000000",
"addr":"0x000006B0"
},
{
"idx":29,
"id":"ISD_SPEED",
"value":"0x00000000",
"addr":"0x000006BA"
},
{
"idx":30,
"id":"IPD_STATE",
"value":"0x00000000",
"addr":"0x000006E4"
},
{
"idx":31,
"id":"IPD_ANGLE",
"value":"0x00000000",
"addr":"0x0000071A"
},
{
"idx":32,
"id":"ED",
"value":"0x00000000",
"addr":"0x0000075C"
},
{
"idx":33,
"id":"EQ",
"value":"0x00000000",
"addr":"0x0000075E"
},
{
"idx":34,
"id":"SPEED_FDBK",
"value":"0x00000000",
"addr":"0x0000076E"
},
{
"idx":35,
"id":"THETA_EST",
"value":"0x00000000",
"addr":"0x00000774"
}
]
]
}
Best regards,
Kel