This thread has been locked.

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.

TMS320F2806: Inline vs low side current sensing for FOC algorithms

Part Number: TMS320F2806
Other Parts Discussed in Thread: MOTORWARE, CONTROLSUITE

Hi,

I'm designing an high voltage motor controller, and am using TI's INSTASPIN tools for the first time.

Presently the application spins at 100kERPM (50kRPM with 2 pole pairs).  I presently have a smaller, lower voltage motor running using some C2000 dev kits while I work out the production hardware.

My questions are about current sensing for FOC algorithms:

1.)  Does using in-line phase current sensing provide any advantage over 3-shunt low-side current sensing?  When is it appropriate to use?

I understand that low side current shunts will require synchronizing the ADC readings with the PWM waveforms.  Is there an efficiency or computation speed advantage to using inline phase current sensing?  I've noticed higher end applications often use in-line sensing.  Can you refer me to a paper / algorithm / source code?

2.)  Do the INSTASPIN algorithms support in-line phase current sensing?  I know they support low-side shunts.  Where can I read more about this?

Thanks in advance,

Todd

  • The advantage of have inline current sensing is that you have continuous knowledge of the current feedback, while you only have feedback information using shunts when the low side shunt is on. This becomes problematic when driving the PWMs to high duty cycle, as the low side shunt ON time can effectively become 0.

    InstaSPIN will support inline current sensing, that is no issue. You will supply the current feedback information to the Clarke module as you would with low-side shunts

    Sean
  • Great. Thanks, Sean!

    So then, to use a continuous stream of current data, the algorithm must know that the current reading is always valid, right?

    IE, for low side shunts, you've got to sample when the switch is on. For inline, you don't. How do you specify in the code that the readings are always valid, and when do you trigger them? Can you point me at the code section in one of the example projects?

    Thanks again,
    Todd
  • The difference here is that, with low-side shunts, you need to set the ADC SoC (start of converstion) trigger in such a way that you know when the low-side shunt is on. We can do that by using the ePWM that drives the low-side shunt to trigger the ADC SoC. With in-line current sensing, you can instead trigger the ADC SoC with much more freedom, by using for instance the high-side ePWM or perhaps a timer to trigger the ADC SoC.

    The SoC trigger is how the software knows when to sample the current. The ADC has no information about the system, it only knows when to go based on the SoC trigger. This can also be an external signal if you desire.

    My suggestion would be to look at the ADC/ePWM initialization code for techniques like InstaSPIN-FOC (low-side shunt measurement) vs Fast Current Loop (FCL) (in-line or magnetically coupled current sensing). InstaSPIN-FOC code base can be found in Motorware; FCL code base can be found in Control Suite under ../libs/app_libs/motor_control/libs/FCL

    Sean
  • Great. Thanks again, Sean. I'll take a look at that code and get back to you. Appreciate the help.
  • Dear Sean,

    My current motor controller have also the in-line current sensing configuration. So that, please help me a sample code to interface with this type of current sensor in MotorWare firmware framework. 

    Thank you for you support!

  • Tran

    We do not have such an example for InstaSPIN that we can provide you

    You may refer to the IDDK servo code in ControlSUITE here: C:\ti\controlSUITE\development_kits\TMDSIDDK_v2.0\IDDK_PM_Servo_F2837x_v2_00_00_00

    This board and project uses 2x in-line current sensors via SDFM to provide current feedback. You may get a sense of how it is accomplished there. Overall, the process is similar to low-side shunt, but it also depends on your hardware configuration

    Sean