Jump to content
OMRON Forums

Phasing ThrustTube motor with Geo Brick


LEDIZES
 Share

Recommended Posts

I am trying to use a Geo Brick system to drive a ThrustTube 2506 motor, instead of a XENUS drive; the automatic phasing is not possible because the full electrical cycle is 51.2mm, but the real travel on the motor is only around 16mm (so only around 110° instead of 360°); so, is there a procedure to setup the ix91 parameter?

Thank you

Christian from NBS TECHNOLOGIES

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

We only have a Hall sensor status like:

Hall U always 1

Hall V we can see a 0 to 1 slope on the travel

Hall W always 0

 

We also have a Renishaw optical sensor which gives 5000counts per millimeter.

Thank you

Christian.

Link to comment
Share on other sites

Christian,

 

Unfortunately the Hall sensor doesn't give us much information since every motor manufacturer have their own hall sensor alignment convention, but we have to utilize it anyways since it provides an acceptable initial phase position.

 

Here are the steps which I suggest that you take in order to setup the system:

 

1. Make sure you have an acceptable current loop tuning on the motor.

2. Make sure you have downloaded the suggested M-variables.

3. Modify and download the following PLC into the Geo Brick.

// Manual Commutation of Brushless Motor
// Requires suggested M-Variables


#define MotorNumber    1
#define TestMagnitude  500
#define TestDirection  1

#define PhaseAngle     P100
#define TempIx29       P29
#define TempIx79       P79
#define Counter        P99
#define timer          I6612
#define msec           *8388608/I10WHILE(I6612>0)ENDWHILE

I5=2

CLOSE
END GAT
DEL GAT

OPEN PLC 10 CLEAR 
TempIx29=I(MotorNumber*100+29)
TempIx79=I(MotorNumber*100+79)
M(MotorNumber*100+38)=1      // motor status open loop mode : true
M(MotorNumber*100+39)=1      // motor status amplifier enabled: ture
M(MotorNumber*100+14)=1      // amplifier enable flag set to high
// Pulling Motor to 0 phase angle phase 0
Counter=0;
WHILE(Counter<1000)
Counter=Counter+1
I(MotorNumber*100+29)=TempIx29
I(MotorNumber*100+79)=TempIx79+TestMagnitude*(Counter/100)
timer = 10 msec
ENDWHILE
// Commutating the motor one full electrical cycle
CMD"ENDGAT"
CMD"DELGAT"
CMD"DEFGAT"
CMD"GAT"
M(MotorNumber*100+71)=0
PhaseAngle=0;
WHILE(PhaseAngle<360);
I(MotorNumber*100+29)=TempIx29+TestMagnitude*SIN(PhaseAngle*(TestDirection))
I(MotorNumber*100+79)=TempIx79+TestMagnitude*SIN(PhaseAngle*(TestDirection)+(I(MotorNumber*100+72)*360/2048))
PhaseAngle=PhaseAngle+1;
timer = 50 msec
ENDWHILE
// Setting all parameters back to original values
I(MotorNumber*100+29)=TempIx29
I(MotorNumber*100+79)=TempIx79
M(MotorNumber*100+38)=1      // motor status open loop mode : true
M(MotorNumber*100+39)=0      // motor status amplifier enabled: false
M(MotorNumber*100+14)=0      // amplifier enable flag set to low
CMD"ENDGAT"
DISABLE PLC 10
CLOSE

4. Set up your gather buffer using PMAC Plot PRO2 in detailed plot mode for the following parameters:

A. Hall sensor input (for example for motor 1 on Geo Brick X:$78000 with a mask word of $700000 and right justified)

B. Phase capture register (for example for channel 1 on Geo Brick X:78001)

C. Phase Angle variable in PLC (P100).

5. Make sure to start with a small TestMagnitude value and run the PLC.

6. Plot the Halls & Phase Capture vs. Phase Angle.

 

1388992866_PlotofyourSelectedItems_2012-03-28_10-06-00.png.f026aaf7ea697d70fa6b84a54173d828.png

 

7. The phase capture value can only change where the commutation is moving the motor and the motor is not resting on hard stops. You can also see the phase angle at which the hall sensor transition is happening.

(In my example, the transition is happening at 100 degree and it is between 1 to 3 states which translates to U low, W high and V transition ing from low to high while phase angle is increasing).

 

8. Convert the transition angle from hall states to Delta Tau convention on hall state angles as described in the following image:

 

1096096602_PowerPMACUsersManual(1).png.6ce466d6a2c53b6711018ec05952b459.png

 

In my example transition, the hall sensor commutation angle is 0 degrees. In your case of U:1, V: going from 0 to 1, W:0, the angle would be 180.

 

8. Calculate the Ix91 based upon the following formula (This is not a PMAC valid syntax formula and it is only for reference):

 

Ix91=$800000 + ( ((transition_angle_in_step_7+transition_angle_for_pmac_in_step8)%360) /360)*64*65536 + (ReverseDirectionOfTransition?$400000:0)

 

9. This should get you within ±30 degrees of the correct phase angle, which is good enough for initial movement, but we need to do a fine phasing.

 

Fine phasing:

 

10. Based upon the plot in step 7, find a phase angle at which the motor is free to move.

 

11. Calculate the Ix29 and Ix79 as it is calculated in the PLC based upon selected angle.

 

I(MotorNumber*100+29)=TempIx29+TestMagnitude*SIN(PhaseAngle*(TestDirection))
I(MotorNumber*100+79)=TempIx79+TestMagnitude*SIN(PhaseAngle*(TestDirection)+(I(MotorNumber*100+72)*360/2048))

 

12. set the Ix29 and Ix79 to the calculated value and issue a #nO0 command.

 

13. set the Mx71 to SelectedPhaseAngle*Ix71/(Ix70*360).

 

14. Home the motor exactly the same way the motor will be homed in the application, probably using a homing PLC.

 

15. In home position read the value of Mx71.

 

16. Modify your PLC to set the Mx71 to the read value in step 16 after the home search move completion.

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...