current loop

cancel
Showing results for 
Search instead for 
Did you mean: 

current loop

1,293 Views
peter_shi
Contributor I

hello,

 

could you please help to check why Iq current has so big oscillation? 

d5fd83b4356063f5738f69f90e6439b.png

0 Kudos
7 Replies

1,264 Views
HuabiaoTang
NXP Employee
NXP Employee

What's your motor parameters and your MCAT configuration?  

Is it a small Inductance motor?  if yes, you may need increase the foc frequency. for example, from 20kHz to 25kHz.

if not, general speaking, you can decrease the current loop frequency, for example, 150Hz. if it still not optimized, 

the another cause may related with your current sampling hardware. 

you can verify the current sampling quality by monitor the phase current  ABC when motor is stopped. 

hope helps,

 

regards,

Raymond

0 Kudos

1,255 Views
peter_shi
Contributor I

I used S12ZVML128, the single shut resistance sampling. I could run motor in open loop.

I checked the Iq has big oscillation, it couldn’t switch to close loop.

Resistance and induction are very small.

Rs = 0.05ohm

Ld = 40uH

Lq = 60uH

BEMF = 3V@1000RPM

 

0 Kudos

1,250 Views
HuabiaoTang
NXP Employee
NXP Employee

the inductance is small, but L/R is still in normal range.

What's your current loop F0 and your FOC frequency?

would you paste the angle scope of FreeMASTER in tracking mode? 

or would you upload your motor parameter file?

you can do current loop diagnose, set a step current command, for example 2A, and then monitor the current response to check whether the loop F0 is suitable or not. If the real current response is lag the command obviously, you can increase the F0, if it response will overshot the command, you can decrease the F0.

 

hope it helps,

Raymond

0 Kudos

1,227 Views
peter_shi
Contributor I

Please refer attachment, and no estimated angle in tracking mode.

0 Kudos

1,223 Views
HuabiaoTang
NXP Employee
NXP Employee

Are you using the external bus votlage divide circuit?  the Umax is 36.0F, not default 25V.

for the following parameter:

#define MERG_SPEED_1_TRH FRAC16(0.2500000000)
#define MERG_SPEED_2_TRH FRAC16(0.2666666667)

the merge speed 1 should be around 5% of rated speed, and speed 2 can be 7% ro 10% rated speed. after reach the speed1, observer will work and track the rotor position, but the FOC not use the observer angle, after the speed2, it will use the observer output.

keep a gap for speed1 and speed2.

Best regards,

Raymond

 

0 Kudos

1,215 Views
peter_shi
Contributor I

I used the external bus votlage divide circuit.

for the following parameter:

#define MERG_SPEED_1_TRH 500RPM
#define MERG_SPEED_2_TRH 800RPM

Attach is 800RPM's test data and current.

0 Kudos

1,282 Views
StanoA
NXP Employee
NXP Employee

Hello Peter,

please provide much more details.

Best Regards,

Stano.

0 Kudos