I'm looking at basing something on "AN3206 PMSM vector control". Initially I'm going to prototype with that AN exactly with a single motor to get up to speed. However, in the end application I want to drive 3 PMSMs and 1 DC motor on a 132MHz MPC5554. When I worked through the timing we want my preliminary estimate is that doing this is borderline, limited by the quadrature decoder eTPU timing and the peak RPM desired.
In the 6-axis DC motor application I developed I use the eMIOS to track the quadrature decoders. I'm wondering If I can do this with the PMSMVC.
I want to run the PMSMVC in torque control mode. There will be a software position servo at 4KHz - this is similar to how I'm doing the 6 axis control. However, the PMSMVC needs both the position from the quadrature decoders (to know the rotor angle) and the rotational speed (to do the transform decoupling linearization).
I'm thinking that I can run the SC with Hall Detectors and chain a DMA request in somewhere to DMA the eMIOS quadrature position into eTPU Parameter RAM where the PMSMVC will find it.
Does this sound feasible? Would I link one of the eDMA RFIFO channels to an unused eDMA channel to do that? I assume there is a timing offset I can adjust to ensure the PMSMVC won't startup too early.
Any other good ideas?