Jump to content
OMRON Forums

Establishing a Phase Reference with a serial encoder


lnn365

Recommended Posts

Dear sir,

In page 104 of 84E's manual, there is a topic about "Absolute phase and power-up/reset position", and there is one word: "Set Ixx79=500 and Ixx29=-500

Increase these values by increments of 100 until motor movement is observed when O0 is issued."

What does that mean? increase ixx79 and ixx29 by 100? or add ixx79 by 100 and add ixx29 by -100? Because when I kept on increasing them by 100, the motor did not move.(I know there may have other configuration problems.)

 

Test these steps is sincerely slow, and our final goal is to get Ixx75, can these steps be replaced by automatic six-step offered by pewin32? If not, do we have to go through the "Fine-Phasing Test" described in page 117 of user manual after all?(our product is high precision machine tool, and this motor is a torque motor used as the spindle.)

 

And I have found another interesting thing, there is no such a topic about "Fine-Phasing Test" in Power PMAC's user manual, does that mean "Fine-Phasing Test" is not important? or "Four Guess" offered by power pmac is accurate enough?

 

 

Thank you very much!

 

Yours sincerely,

Ning

Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

Yes, ideally the manual should say: "Increase the magnitudes of these values by increments of 100..."

 

The idea behind this method is to force the motor to the zero point in its commutation cycle by temporarily running it like a stepper motor with equal and opposite values in the two phases. (This is very much like the "stepper motor" phasing search move that most people with only incremental encoders use every time they power up.) When it settles here, the sensor value can be read and used to compute the Ixx75 offset parameter.

 

This procedure only needs to be done once, on assembly of the machine.

 

In normal operation, with Ixx81 and Ixx91 set to read the absolute sensor on power-up, the sensor value will automatically be offset by the value you have in Ixx75 to get the commutation angle. This process is done with out any motion or subsequent correction.

 

In other types of systems, users want to do a correction after the initial phasing. Hall commutation sensors only tell you where you are within 1/6 of a cycle (60deg). Other users don't trust the "stepper motor" or "guess" methods of phasing search moves to be accurate enough for optimal operation, so they do corrections.

Link to comment
Share on other sites

Try looking at the brushless motor phasing section of the Geo Brick Manual. It should be helpful. There is no "fine" phasing with absolute serial encoders. The best (tightest) offset you could find with the manual phasing method is your "fine" phase position offset. This is why it is recommended to do this on a decoupled motor first.
Link to comment
Share on other sites

Thank you Curt, thank you Richard, thank you for spending so much time on this little question.

I have read through this topic across User manul, SRM, Geo Brick's HRM, and 84E's manual,and 84E's manual mostly close to my attention, because we have a high resolution encoder(more than 24 bits), and we have to construct this value to set Ixx75.

But I am still a little puzzled, after this line "Set Ixx29=0, wait for motor to stop moving", the motor should be settled in phase position zero, so Mxx71 should be set to 0, and the manual also do says this next line: "Set Mxx71 to zero (see suggested M-variables)". but the plc program computer another value for Mxx71, why? shouldn't it still be 0, and not to modify it?

And before the plc program, there is one word "Assuming that I175=3000", and in this program, there is one line "#define Phase_Offset 3000", doesn't our final goal is to computer Ixx75, why do we already have this value here?

Thank you very much!

Link to comment
Share on other sites

No, Mxx71 is whatever it is from 0 on power-up. It is not automatically set to 0 at the zero commutation cycle. This is what manual phasing is: you setting it to zero at this location. I am not sure what PLC program are you referring to. But Mxx71 must be set to zero at the phase B locked position in order for the motor to be considered properly phased. And at this location, you look at your serial encoder data to compute the offset which you then put in the expression described for Ixx75.
Link to comment
Share on other sites

Thank you Richard, thank you for your reply.

I know what you mean, it should be the user who set Mxx71's value to 0 when the motor settles down to phase 0 postion.

The PLC program I was referring is the one in page 104 of 84E's manual.

What I do not know is, follow these steps, when I have set Mxx71 to 0, I should not modify it again, and let it change freely as the motor runs, right? but why does the PLC program modify it again to another value?

And our final goal it to computer a value for Ixx75 to use, why there is one sentence says "Assuming that Ixx75=3000", and in the PLC program there is one line "#define phase offset 3000"?

 

You have recommended me to read Geo Brick's manual, yes, this manual is really good, from this manual, I guess there are some misleading points in 84E's manual, "Assuming that Ixx75=3000" should be "Assuming that phaseoffset=3000"? but there is nowhere told us how to get the first phaseoffset(let me say that Ixx75 is the final phase offset, or how to distinguish them?). And the last line in this PLC "M171= (M162+ Phase_Offset )%(I171/I170)" should be "Ixx75= (M162+ Phase_Offset )%(I171/I170)"?

 

And from Brick's manual to 84E's manual, they both have one point that are curious, such as in page 116 of Brick's manual:"I180=0 ; Absolute power-on read disabled", is it a typo?

 

Thank you very much!

2017-09-29_7-56-03.png.9b7504a9107eba1c8aa154f290b58dbf.png

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...