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.

• Resolved

# How to know the motor current?

Dear

As you know we have "gMotorVars.VdcBus_kV " to get the DC bus voltage ,so Do we have any variable for total Current to see the motor current ?

thanks for attention

Dave.

• You might get the Id and Iq vectors in amps as below
gMotorVars.Id_A = _IQmpy(CTRL_getId_in_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A));
gMotorVars.Iq_A = _IQmpy(CTRL_getIq_in_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A));

To get the phase curent in amps as below
• In reply to Yanming Luo:

Thanks dear Yanming Luo.
yes you are right but I need the total Motor current ,so would it be possible to do this equation?

TotalCurrent =sqrt((gMotorVars.Id_A*gMotorVars.Id_A)+(gMotorVars.Iq_A*gMotorVars.Iq_A));

is that right to get the total current value?

Thanks for attention

Regards.
Dave
• In reply to Dave Hunson:

You can, it's the total vector current to the motor, not the dc bus current from power supply to the drive inverter.
• In reply to Yanming Luo:

HI dear

I got a bit confuse ..

i thought the current vector is equal with the dc_bus current ,isn't it ?Why?

I would be happy if you explain about it.

I think what I need is DC Bus current .

thanks for attention

Dave.

• In reply to Dave Hunson:

The vector current is from the output of both Id and Iq regulators and depends on the motor speed and its added load, it doesn't have a direct relationship with dc bus current since the output vector voltage is not equal to dc bus voltage also. Maybe, you could find more detailed information in a motor drive books, like "Modern Power Electronics and AC Drives" or other.
• In reply to Yanming Luo:

Dear .

Happy new year !

1.my question is simple ,and  that is would it be possible to get DC current bus from any variable (sort of like VDC bus which is in gMotorvar) if so,which one?

2. the other way would be to get it from Ifb_Sum (and write my own code for it),is that right ?

Thanks for attention .

Dave.

• In reply to Yanming Luo:

Dear ,

Happy new year!

TotalCurrent =sqrt((gMotorVars.Id_A*gMotorVars.Id_A)+(gMotorVars.Iq_A*gMotorVars.Iq_A));

take a look at this picture which has 2 leg shunt resistor .

Ia,Ib,Ic is the value of the current when PWM is ON which turned in to Id and Iq

in short, TotalCurrent  is the amount of current which pass from IGBT/Mosfet Module when PWM is ON .Is that right?

in addition ,this current TotalCurrent =sqrt((gMotorVars.Id_A*gMotorVars.Id_A)+(gMotorVars.Iq_A*gMotorVars.Iq_A));

is  like a pulse and depends on PWM carrier freq (15khz)  we can not say this is the DC Current bus .am I right?

I would be happy if you answer these 2 questions .

Thanks for attention.

Regards.

Dave.

• In reply to Dave Hunson:

1. In this case, using the shunt resistor on the low side, the current is sampling during the MOSFETs of the low side are ON, but all high side MOSFETs are OFF. The TotalCurrent you mentioned is the vector current from FOC side, not real current on h/w board or motor lines.
2. The current is a sinusoidal shape and is sampled using a shunt resistor on the low side, not dc-bus current, it's totally differenet.

You might have a look at Chapter 17 of instaSPIN user's guide (SPRUHJ1G ) which has a detailed description of this.