Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RESOLVED - Phasing Issues
#1
Hi, I am operating a PowerBrickLV with 5/15A axes. My problem is, that the phase searching with the stepper routine does not work reliably. How is it, that it works some times and not the other. My fix is too manually phase the motor. However then I experience another problem. The sense of direction for commutating changes randomly it seems. So I have to check if it runs, and if not I change the sign on the parameters Motor[x].Pwmsf and Motor[x].PhaseOffset. How is that possible? I would think that the direction sense for commutating is given by the hardware and could not change.... Is that correct or a bug?
Reply
#2
This could be the result of “insufficient” settings on the following:
Motor[x].PhaseFindingDac
Motor[x].PhaseFindingTime

See the section “Automatic Stepper Phasing” in the “Power Brick LV User Manual” for implementation details:
“http://forums.deltatau.com/filedepot/download.php?f=Power PMAC/Manuals/Hardware Reference Manual/Power Brick LV User Manual.pdf”
Reply
#3
In a recent posting you refer to (I assume same mechanism) needing more motor current, in part due to stiff bearings.
This can affect the success of the two step phase finding algorithm.
The algorithm looks at rotor (encoder) position and assumes magnetic alignment when a phase is excited, and then validates by checking if the motor moves an appropriate distance when a different phase is excited. If the delta is too big/small, the alignment cannot be trusted and the test fails.
Causes are generally twofold:
- physical obstruction, stiff mechanism, bias due to gravity.
- Magnetic pole irregularities in the motor. This is always present to some degree and can cause random pass/fail results depending on which pole/magnet happens to be in position at start-up.
Motor[x].PhasePosSf is used to determine the 'correct' movement of the rotor during phase finding. It may be possible to alter this value during phase finding to loosen up the pass/fail criteria but it must be returned to the proper value.
DT should be consulted.
Reply
#4
(11-22-2019, 12:23 PM)steve.milici Wrote: This could be the result of “insufficient” settings on the following:
Motor[x].PhaseFindingDac
Motor[x].PhaseFindingTime

See the section “Automatic Stepper Phasing” in the “Power Brick LV User Manual” for implementation details:
“http://forums.deltatau.com/filedepot/download.php?f=Power PMAC/Manuals/Hardware Reference Manual/Power Brick LV User Manual.pdf”

Ok-thx for the tip.
Reply
#5
(11-22-2019, 01:33 PM)mbalentine Wrote: In a recent posting you refer to (I assume same mechanism) needing more motor current, in part due to stiff bearings.
This can affect the success of the two step phase finding algorithm.
The algorithm looks at rotor (encoder) position and assumes magnetic alignment when a phase is excited, and then validates by checking if the motor moves an appropriate distance when a different phase is excited. If the delta is too big/small, the alignment cannot be trusted and the test fails.
Causes are generally twofold:
- physical obstruction, stiff mechanism, bias due to gravity.
- Magnetic pole irregularities in the motor. This is always present to some degree and can cause random pass/fail results depending on which pole/magnet happens to be in position at start-up.
Motor[x].PhasePosSf is used to determine the 'correct' movement of the rotor during phase finding. It may be possible to alter this value during phase finding to loosen up the pass/fail criteria but it must be returned to the proper value.
DT should be consulted.

That is correct, I encountered this issue especially with this motor. However, if I do the phasing manually I there is no algorithm present I would assume. Maybe the changes are made by the algorithm when I try an automatic phasing, do not succeed and then do the manual force phasing. Thx for the explanation.
Reply
#6
If phasing the motor manually works, you probably just need to increase the settings Motor[x].PhaseFindingDac and Motor[x].PhaseFindingTime.

I suppose it is possible Motor[x]. AbsPhasePosOffset is set incorrectly. This is checked against the distance between the two locations the motor locked to in units of PhasePos. It is typically set to 2048/5 and if it the motor does not move far enough the phasing attempt will be considered a failure.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)