iclim Posted March 24, 2014 Posted March 24, 2014 Does anyone know the address of the filtered encoder position register? For example EncTable[x].pEnc point to Acc5E3[0].MacroIn[0].a However if we apply a first order low pass filter to this register i.e. EncTable[x].index1 = 0 EncTable[x].index2 = 250 Where is the filtered result stored? And what is the structure of this register. I ask this question as our Motor[x].pPhaseEnc = Acc5E3[0].MacroIn[0].a Hence I believe the commutation is using a non filtered version of the resolver feedback Ideally I would like Motor[x].pPhaseEnc = FilteredValueofRotorPosition.a Thanks
steve.milici Posted March 25, 2014 Posted March 25, 2014 You would set Motor[x].pPhaseEnc = EncTable[n].PrevEnc.a. Keep in mind the ECT is processed at the servo rate and not the phase rate. I don't think this will be a problem as the error would usually be too small to cause any noticeable phasing issues. The "Power PMAC Users Manual" has a good description of all the ECT registers and their "structure" in the section "SETTING UP THE ENCODER CONVERSION TABLE" starting on page 142.
iclim Posted March 27, 2014 Author Posted March 27, 2014 Thanks Steve. Since my last post I have written my own user phase routine and implemented a low pass filter to filter the phase position at the phase frequency as I was concern with using a signal which is created at a slower rate than the frequency of control.
Recommended Posts