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.


Part Number: TMDSRSLVR


I would like to determine the rotor position by an analog sine / cosine sensor and became aware of the resolver library.

Some specs:
Application should run on a F28027 fixed controller.
The expected maximum mechanical rotor speed is 500Hz.

There is a sample project found in " \ ti \ controlSUITE \ development_kits \ TMDSRSLVR_v1.0 \ Resolver_f28027" , for which I have some questions:

1. How do I determine the coefficients for the FIR table? Is there, for example, a Matlab simulation or similar?

2. I would like to use this library only to read the sensor and does not need to generate a sine carrier signal as indicated in the example. Which sampling rate should I choose for 500Hz rotor speed? In my own project, the current regulation takes place in a 20kHz ISR, is it enough to call the resolver library in this interval as well? In the example I referenced above, I am not quite sure in which interval the resolver function is actually called: Under Resolver-Settings.h the SAMPLING_FREQ is specified as 10kHz, in Resolver-Main.c "CONTROL FLOW SEQUENCE" is specified as 80kHz PWM. Can someone please make a statement about this?

Thank you very much.

  • 1. Matlab - digital filter toolbox - is used to get these coefficients.

    2. Using bandpass filter (BPF) will require oversampling the feedback at multiple of carrier frequency. In the example, the carrier frequency is 10KHz, and the decimation rate should correspond to 10KHz. Over sampling is 8 times and hence 80KHz. At this rate, the excitation sine wave is also updated. By passing the signal through BPF and then decimating it to one sample out of 8 corresponding to the peak of the excitation wave, a heavily noise suppressed sine and cosine are extracted. This does require some control bandwidth.

    Regardless of the rotor speed, the resolver signals must be sampled at least at the excitation frequency. If you oversample and use bandpass, the sine / cosine signals may have additional bits of accuracy, if not, it should be ok if your application is ok with it.