Matsuzawa Makoto Posted July 12, 2019 Posted July 12, 2019 I have a Power-PMAC DEMO-box there is two PWM motor #3 and #4. I set up motors and can move but it move to ccw. I want to move to cw and I write change for 7 to 3 in Gate3[0].chan[2].EncCtrl but vibration only no move. why?Is my way of thinking wrong?
mbalentine Posted July 15, 2019 Posted July 15, 2019 I have a Power-PMAC DEMO-box there is two PWM motor #3 and #4. I set up motors and can move but it move to ccw. I want to move to cw and I write change for 7 to 3 in Gate3[0].chan[2].EncCtrl but vibration only no move. why?Is my way of thinking wrong? Please recall when using the setup software to commission the motor there was a test (Open Loop test) to confirm that the direction sense of feedback matched the physical rotation of the motor. This is very important because if the sense of direction for feedback and motor do not match, your system will be unstable. A stable system uses 'negative' feedback. If the direction sense of either motor or feedback is changed, then the system has 'positive' feedback and becomes unstable. This is why your motor is vibrating - also very possible is a dangerous runaway condition. To change whether you consider cw or ccw as forward (mechanically speaking), you must do two things: 1) Change the physical direction of motor rotation 2) Tell the feedback mathematics that you have done this, so that stability is preserved. To effect #1, swap two of the 3 phase motor wire connections. ABC -> ACB To effect #2, change the value in Gate3[0].chan[2].EncCtrl, as you have already done. Once the correct relationship is established (Open Loop test), never change just one, always change both together. .OR. You can leave the motor wiring and encoder direction definition alone and change the way your software defines forward & reverse. This can be a little confusing because you would be using a negative software command (X-2.34) to move mechanically forward. Same result, but probably better to do it the way you have begun.
Omron Forums Support Posted July 15, 2019 Posted July 15, 2019 The current Power Brick manuals have a section called "Reversing Motor Jogging Direction" that shows how to take a working (able to jog) motor with a direction sense opposite of what you want and flip it. For a brushless motor with a quadrature encoder: Motor[].PhaseOffset = – present value Motor[].PwmSf = – present value Gate3[].Chan[].EncCtrl = the opposite decode of the present value (e.g. 7 or 3) If using halls: Motor[].AbsPhasePosSf = – present value Motor[].AbsPhasePosOffset = 2048 – present value You will still need to worry about Motor[x].HomeOffset
Recommended Posts