LEDIZES Posted March 27, 2012 Share Posted March 27, 2012 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 More sharing options...
Sina.Sattari Posted March 27, 2012 Share Posted March 27, 2012 What type of feedback do you have on this axis? Is there an absolute feedback available or do we have to do a phase search move? Link to comment Share on other sites More sharing options...
LEDIZES Posted March 28, 2012 Author Share Posted March 28, 2012 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 More sharing options...
Sina.Sattari Posted March 28, 2012 Share Posted March 28, 2012 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. 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: 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 More sharing options...
Recommended Posts