Omron Forums Support Posted May 21, 2014 Share Posted May 21, 2014 For your reference, here is an example of setting up feedback for a single motor using a BiSS C Encoder with 26 bits of resolution with ACC-84E for ongoing position and absolute position (this example does not set phasing or commutation up): Acc84E[0].SerialEncCtrl=$63000B; Acc84E[0].Chan[0].SerialEncCmd=$21149A; #define NumberOfEncoderBits 26 EncTable[1].type=2; EncTable[1].pEnc=Acc84E[0].Chan[0].SerialEncDataA.a EncTable[1].pEnc1=Acc84E[0].Chan[0].SerialEncDataB.a EncTable[1].index1=32-NumberOfEncoderBits; // = 32 - # of bits of encoder EncTable[1].index2=0; EncTable[1].index3=0; EncTable[1].index4=0; EncTable[1].MaxDelta=0; EncTable[1].ScaleFactor=1/exp2(NumberOfEncoderBits); // =1/exp2(32 - # of bits of encoder) Motor[1].AbsPosFormat = $080008 + (NumberOfEncoderBits * 256); // =$00081A08 for 26-bits // unsigned numerical binary using bits 31:8 of DataA and 10:8 of DataB Motor[1].pAbsPos=Acc84E[0].Chan[0].SerialEncDataA.a Motor[1].AbsPosSF=1 Note that to retrieve the absolute position at will from the encoder, just issue a #nHMZ command, where "n" is the motor number. Link to comment Share on other sites More sharing options...
Recommended Posts