AnsweredAssumed Answered

Could someone clarify 3 to 2 phase conversion in Analog Sensing for AC Motors eTPU function?

Question asked by Peter Dufault on Jun 30, 2014
Latest reply on Jul 1, 2014 by Peter Dufault

I'm still struggling to get AN3206 working on my own hardware.  Could someone clarify page 2 "Processes phase currents of a 3-phase motor." function description?

 

When I try to close the current loop on my motor it thinks it is generating torque (the D component is 0, the Q component is fixed) but the motor isn't turning.  There are four stationary locations where the motor will sit.  The first is at about -pi/5 from the 0 electrical position of the motor.   I can twist it by hand and get it spinning because it keeps falling into the next quadrant but it's obviously not working properly.

 

The alignment state now works fine.  I've also added a thread that sends a sine and cosine to the D and Q component in the align_start state and the motor will rotate and the three currents i_abc.{a,b,c} look OK - so it appears to be sensing the current OK.

 

If I see the {a,b,c} currents while it is rotating open-loop as above in the align_start state then do I have the ASAC function working OK?

 

I've tried FS_ETPU_ASAC_PHASE_CURR_USE_ALL, FS_ETPU_ASAC_PHASE_CURR_USE_AB_CALC_C, and FS_ETPU_ASAC_PHASE_CURR_USE SECTOR.  The final I use in conjunction with FS_ETPU_ASAC_CFIFO_UPDATE_ON.

 

I'm confused about when and how this UPDATE mode is used.  In my case there are shunt resistors for measuring all three legs of the current, and they swing both positive and negative, so I'm unclear as to why one needs the CFIFO slots changed.  I can understand wanting to use FS_ETPU_ASAC_PHASE_CURR_USE_AB_CALC_C to get a synchronous sample of {A, B, C}, but not what the "update" business is about.

 

I've attached a plot of what I'm seeing.   First is the alignment phase, and that looks correct.  Then there are what is going on at theta=0-pi/5 and other places.  The plot is the same for {0, 180} and {90, 270}.  Finally I've shown what happens if I force the motor to start to rotate when in this situation.

 

My setup works fine with BLDC commutation.  I've read back many of the signals, and the quadrature encoder, the angle calculation, the sector calculation, etc look fine.  It feels to me like some mess-up in calculating the third phase current, but the fact that I see all three phases OK when driving the motor open-loop by spinning the D-Q outputs is confusing.

 

Any help with explaining the ASAC Update mode or further suggestions on how to puzzle out what's up would be greatly appreciated.

Attachments

Outcomes