Jump to content
OMRON Forums

Power Clipper+Acc8AS commutation setting


aims

Recommended Posts

Halo,

 

I have linear air bearing servo motor:

1. Number of commutation cycle = 1

2. Count/N Commutation cycle = 609600

3. 1mm : 100000 counts (incremental encoder)

 

you may refer to the attachment photo for the commutation setting of the motor.

 

Now, I have an amplifier card that need Dual DAC analog signal to drive this motor using ACC-8AS.

 

How to calculate setting of commutation based on the Power Clipper???

I have tried:

motor[1].phasepossf = 2048/609600/256 ===failed

motor[1].phasepossf = 256/609600 ===failed

 

 

The below is my setting and you may refer to the attachment file for full setting:

Sys.WpKey=$AAAAAAAA

 

Clipper[0].PhaseFreq= 9036.000 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].PhaseClockDiv = 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].PhaseClockMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].ServoClockDiv= 3 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[0].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[1].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[2].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[3].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Sys.ServoPeriod = 0.442673749446658 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Sys.PhaseOverServoPeriod=0.25 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

 

EncTable[1].type = 1; // Single 32-bit read

EncTable[1].pEnc = Clipper[0].Chan[0].ServoCapt.a; // Primary source, ch 1 Servo Capture

EncTable[1].pEnc1 = Sys.Pushm; // Secondary source, none

EncTable[1].index1 = 0; // left shift, none

EncTable[1].index2 = 0; // right shift, none

EncTable[1].index3 = 0; //

EncTable[1].index4 = 0; //

EncTable[1].ScaleFactor = 1/256

Clipper[0].Chan[0].EncCtrl = 7 //encoder direction

 

 

//Hardware Setup

Motor[1].PhaseCtrl = 1

Motor[1].pAdc = 0

Motor[1].pPhaseEnc = Clipper[0].Chan[0].PhaseCapt.a

Motor[1].PhaseEncRightShift = 0

Motor[1].PhaseEncLeftShift = 0

Motor[1].PhasePosSf = 2048/609600/256

Clipper[0].DacClockDiv = 5

Clipper[0].DacStrobe = $FFFF0000

Clipper[0].Chan[0].OutputMode = 1

Motor[1].PhaseFindingTime=15 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].PhaseFindingDac=800

Gate3[0].Chan[0].PackOut = 1

Gate3[0].Chan[0].PackIn = 1

 

//Motor Setup

Motor[1].pDac = Gate3[0].Chan[0].Dac[0].a

Motor[1].DacShift = 0

Motor[1].PwmSf = 32767

Motor[1].PhaseOffset = 171

Motor[1].IaBias = 0

Motor[1].IbBias = 0

Motor[1].MaxDac = 2000

Motor[1].I2tSet = 0

Motor[1].I2tTrip = 0

Motor[1].ServoCtrl = 1

Motor[1].EncType = 5

Motor[1].FatalFeLimit = 0

Motor[1].WarnFeLimit = 0

Motor[1].MaxPos = 0

Motor[1].MinPos = 0

Motor[1].pEnc = EncTable[1].a

Motor[1].pEnc2 = EncTable[1].a

Motor[1].pLimits = Clipper[0].Chan[0].Status.a

Motor[1].pAmpFault = Clipper[0].Chan[0].Status.a

Motor[1].AmpFaultLevel = 1

 

 

Assuming the encoder direction is correct. Why I am fail to phasing and commutate the motor?

Anyone has experience setting up this kind of amplifier???

Anyone hv any idea???PLease help me.

Link to comment
Share on other sites

  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

How did you generate these settings? Gate3 [].Chan [].PackIn/PackOut are not the correct syntax. It's PackInData, and PackOutData.

 

Motor [].PhasePosSf = 2048 * 0.00001 / (60.96 * 256)

 

You are using 2 DAC outputs to perform sinewave commutation so your OutputMode setting should be at least  $3.

 

Also, the MaxDac is somewhat low. Did you calculate that or were you just being conservative? I think you meant to set it to 32767 instead of the PwmSf.

 

Note that you can test the voltage outputs with a digital multimeter.

Link to comment
Share on other sites

Hi Richard,

 

I have change PackInData, and PackOutData correctly. (Anyway, it in the power pmac manual page 233).

I use Motor [].PhasePosSf = 2048 * 0.00001 / (60.96 * 256).

I set output mode to 3.

 

Now, I only notice that i need to do phasing first. My apologize that I read through the manual but still phasing is failed.

I use stepper mode.

Motor[1].PhaseFindingTime=300 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].PhaseFindingDac=500

 

This is my new setting.

Sys.WpKey=$AAAAAAAA

 

Clipper[0].PhaseFreq= 9036.000 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].PhaseClockDiv = 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].PhaseClockMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].ServoClockDiv= 3 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[0].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[1].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[2].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Clipper[0].Chan[3].PwmFreqMult= 0 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Sys.ServoPeriod = 0.442673749446658 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

Sys.PhaseOverServoPeriod=0.25 // Global Clock //15-Dec-15 :1:13 PM - 192.168.0.200

 

EncTable[1].type = 1; // Single 32-bit read

EncTable[1].pEnc = Clipper[0].Chan[0].ServoCapt.a; // Primary source, ch 1 Servo Capture

EncTable[1].pEnc1 = Sys.Pushm; // Secondary source, none

EncTable[1].index1 = 0; // left shift, none

EncTable[1].index2 = 0; // right shift, none

EncTable[1].index3 = 0; //

EncTable[1].index4 = 0; //

EncTable[1].ScaleFactor = 1/256

Clipper[0].Chan[0].EncCtrl = 7 //encoder direction

 

 

//Hardware Setup

Motor[1].PhaseCtrl = 1

Motor[1].pAdc = 0

Motor[1].pPhaseEnc = Clipper[0].Chan[0].PhaseCapt.a

Motor[1].PhaseEncRightShift = 0

Motor[1].PhaseEncLeftShift = 0

Motor[1].PhasePosSf = 204800000 / 15605.76

Clipper[0].DacClockDiv = 5

Clipper[0].DacStrobe = $FFFF0000

Clipper[0].Chan[0].OutputMode = 3

Motor[1].PhaseFindingTime=300 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].PhaseFindingDac=500

Gate3[0].Chan[0].PackOutData = 1

Gate3[0].Chan[0].PackInData = 1

 

//Motor Setup

Motor[1].pDac = Gate3[0].Chan[0].Dac[0].a

Motor[1].DacShift = 0

Motor[1].PwmSf = 32767

Motor[1].PhaseOffset = 171

Motor[1].IaBias = 0

Motor[1].IbBias = 0

Motor[1].MaxDac = 32767

Motor[1].I2tSet = 0

Motor[1].I2tTrip = 0

Motor[1].ServoCtrl = 1

Motor[1].EncType = 5

Motor[1].FatalFeLimit = 0

Motor[1].WarnFeLimit = 0

Motor[1].MaxPos = 0

Motor[1].MinPos = 0

Motor[1].pEnc = EncTable[1].a

Motor[1].pEnc2 = EncTable[1].a

Motor[1].pLimits = Clipper[0].Chan[0].Status.a

Motor[1].pAmpFault = Clipper[0].Chan[0].Status.a

Motor[1].AmpFaultLevel = 1

 

Motor[1].pAbsPhasePos=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosFormat=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosSf=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosOffset=0

 

 

How do I phase this motor properly???

Link to comment
Share on other sites

hi Steve,

 

I am sorry that I couldn't get the 0.5 vdv. What is get is 0.05 vdc only.

I do motor[1].servoctrl = 0, I use multimeter to tap the Acc-8as pin 1 and pin 6.

I try to change Gate3[0].Chan[0].Dac[0] = 100000000 to 200000000 and no change on the voltage.

Link to comment
Share on other sites

Hi,

 

I read in the manual on the below command and i am confuse. How do this setting related to the phasing?

 

Motor[1].pAbsPhasePos=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosFormat=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosSf=0 // Encoder //15-Dec-15 :1:19 PM - 192.168.0.200

Motor[1].AbsPhasePosOffset=0

 

thank you.

Link to comment
Share on other sites

Can you read back the value written to Gate3[0].Chan[0].Dac[0]? Make sure Sys.WpKey = $AAAAAAAA. No voltage is an indication something is still not setup properly. As this is a technical support issue, please send an email to support with your current saved configuration pp_save.cfg from the configuration folder.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...