I am trying to implement F.O.C for a PMSM machine with a custom made inverter board. The H-bridges are from Infineon (IFX007T) and they provide current sensing capabilities. The problem is, i need the current information from all three phases and the H-bridges provide this information only when the High side is active - so no negative/return current info.

If two of the H-bridges are High-Side active, then it is easy to calculate the third since the sum of their magnitude must be 0.

My question is: Is there a viable way to calculate/estimate other 2 phase currents when i can only measure 1 phase current. This can be a mathematical transformation exploiting the fact that its a 3 phase balanced system. Any other shunt-resistance like solution is also appreciated.

PS: I need the current info to compare it with the rotor flux angle provided from the rotary encoder to do a feedback control.


Remember how Space Vector Modulation works. Every PWM cycle inverter switches between two active voltage vectors (\$v_1\$ and \$v_3\$ in this particular case) to synthesize the reference vector \$v_{ref}\$. The two zero vectors \$v_0\$ and \$v_7\$ are also used to add dead time to the switching pattern. This dead time reduces the voltage magnitude and is necessary when the voltage reference magnitude is less then 100%.


The zero vector \$v_0\$ corresponds to a configuration when all low-side switches are ON and all high-side switches are OFF. The \$v_7\$ vector is the opposite of \$v_0\$ and corresponds to a configuration when all low-side switches are OFF and all high-side switches are ON. Since you said that your H-bridges have their current sensor at the high-side, you should measure the currents when the \$v_7\$ vector is active.

Honestly, I have never tried this scheme, but it sounds pretty reasonable. The only thing is that you should carefully synchronize your ADC and PWM hardware. Hook up an oscilloscope and look at the current transients when switching between vectors. Most likely, the best time to take the measurement will be at the middle of the \$v_7\$ vector.

For more information you may google for the "Three-Phase Current Measurement" PDF from Freescale (now NXP). They do the same thing except that they have their sensors on the low side. Hope it will help.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.