Jump to content
OMRON Forums

Motor requires different current to move in different direction


khalil-yazji

Recommended Posts

Hi

 

I was testing an AC brushless motor when I noticed that even when driving the motor unloaded one direction requires about 20-30% more current to move at the same speed.

I'm taking the current readings from IqCmd and IqMeas to compare.

According to the motor supplier this shouldn't happen, so I'm investigating if this could be caused by some setup elements.

The motor is driven using Voltage-Mode Direct-PWM Control.

Here are the motor settings I'm using, these live in a pmh file:

 

Sys.WpKey = $AAAAAAAA
Acc24E3[3].Chan[2].AdcOffset[0]=9699328
Acc24E3[3].Chan[2].AdcOffset[1]=-6225920
Acc24E3[3].Chan[2].InCtrl=$42043
Acc24E3[3].Chan[2].OutCtrl=$f200004
Acc24E3[3].Chan[2].AtanEna=1
Acc24E3[3].Chan[2].PackInData=0
Acc24E3[3].Chan[2].EncCtrl=3
Acc24E3[3].Chan[2].PackOutData=0
Acc24E3[3].Chan[2].PwmFreqMult=2
Sys.WpKey = $0

EncTable[19].index2=240
EncTable[19].pEnc=Acc24E3[3].Chan[2].AtanSumOfSqr.a
EncTable[19].ScaleFactor=0.0000152587890625


Motor[19].Servo.Kp=0.80000001
Motor[19].Servo.Kvfb=0
Motor[19].Servo.Kvff=10
Motor[19].Servo.Ki=8.0000001e-7
Motor[19].PhasePosSf=9.5367431640625e-7
Motor[19].ProgJogPos=3.16202013338397788e-322
Motor[19].IiGain=0
Motor[19].MotorTa=-2
Motor[19].MotorTs=5000
Motor[19].JogTa=0
Motor[19].JogTs=5000
Motor[19].MaxSpeed=3000
Motor[19].JogSpeed=3000
Motor[19].HomeOffset=5.5284086e9
Motor[19].FatalFeLimit=10000
Motor[19].WarnFeLimit=4000
Motor[19].MaxPos=262144
Motor[19].MinPos=-5.5190001e9
Motor[19].InPosBand=2000
Motor[19].I2tSet=4602.6406
Motor[19].I2tTrip=7.3581094e8
Motor[19].MaxDac=13369.574
Motor[19].pDac=Acc24E3[3].Chan[2].Pwm[0].a
Motor[19].pAdc=Acc24E3[3].Chan[2].AdcAmp[0].a
Motor[19].pPhaseEnc=Acc24E3[3].Chan[2].AtanSumOfSqr.a
Motor[19].pEncStatus=Sys.pushm
Motor[19].pEncCtrl=Sys.pushm
Motor[19].EncType=0
Motor[19].LimitBits=0
Motor[19].PhaseFindingTime=1
Motor[19].pAmpEnable=Acc24E3[3].Chan[2].OutCtrl.a
Motor[19].pAmpFault=Acc24E3[3].Chan[2].Status.a
Motor[19].pLimits=0
Motor[19].AbsPhasePosOffset=1191.8199
Motor[19].AbsPhasePosFormat=$1010
Motor[19].AbsPhasePosSf=0.0625
Motor[19].pAbsPhasePos=Acc24E3[3].Chan[2].AtanSumOfSqr.a
Motor[19].AbsPosFormat=$1002000
Motor[19].pAbsPos=Sys.pushm+$98
Motor[19].CaptControl=$13000000
Motor[19].pCaptFlag=Sys.pushm
Motor[19].pCaptPos=Sys.pushm
Motor[19].Control[0]=$14006080
Motor[19].ServoCtrl=1
Motor[19].PhaseCtrl=4
Motor[19].PowerOnMode=6
Motor[19].PhaseSplineCtrl=0
Motor[19].PhaseMode=8
Motor[19].CaptFlagBit=19
Motor[19].CaptPosRightShift=0
Motor[19].CaptPosLeftShift=0
Motor[19].CaptPosRound=0
Motor[19].pEncLoss = Acc24E3[3].Chan[2].Status.a
Motor[19].EncLossLevel=1
Motor[19].EncLossBit=31
Motor[19].FaultMode=1
Motor[19].Ctrl = Sys.ServoCtrl
Motor[19].ExtraMotors = 0
Motor[19].CmdMotor=0

 

Thanks in advance

Link to comment
Share on other sites

  • Replies 9
  • Created
  • Last Reply

Top Posters In This Topic

The torque experienced by your motor will match up with Motor.IqMeas/IqCmd in this situation. If PMAC applies more current it most likely means the motor experienced more friction/load.

 

If you turn the motor by hand, is one direction more difficult than the other?

Is gravity pushing on the motor in some way?

 

Is voltage mode being used for enhanced precision on small moved or some other purpose?

Do you experience the same issue with normal direct PWM current control?

Link to comment
Share on other sites

Thanks for your reply.

 

When turning the motor by hand I can't feel any difference between the two directions and the motor is just setting on a bench so gravity is not a factor.

The voltage mode is used because we have a very noisy current feedback that made it very hard to close the current loop, running the motor with normal direct PWM current control is really hard as we can't tune the current loop sufficiently.

Link to comment
Share on other sites

Can you try temporarily changing the positive direction of the motor? I am curious if it gets the same behavior.

 

  1. Swap any two Motor Leads
  2. Change Acc24E3[3].Chan[2].EncCtrl from 3 to 7 (make sure wpkey is set)
  3. Phase again with new setup
  4. Confirm Open Loop Test is the correct direction
  5. Jog Motors

 

If the same physical direction still needs more current, than the motor definitely needs more torque to move that direction.

Link to comment
Share on other sites

  • 1 month later...

I was testing an AC brushless motor when I noticed that even when driving the motor unloaded one direction requires about 20-30% more current to move at the same speed.

 

Was this referring to a closed loop move, like a jog move or motion program?

 

Yes this is using jog commands or motion programs.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...