iclim Posted March 24, 2014 Share 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 Link to comment Share on other sites More sharing options...
steve.milici Posted March 25, 2014 Share 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. Link to comment Share on other sites More sharing options...
iclim Posted March 27, 2014 Author Share 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. Link to comment Share on other sites More sharing options...
Recommended Posts