bsr201283 Posted December 8, 2010 Share Posted December 8, 2010 I am new to turbo PMAC2. Can anyone help how to configure PMAC2 as velocity loop using PMAC PID. I am giving +/- 10V analog voltage from external supply as a velocity command signal. Link to comment Share on other sites More sharing options...
Sina.Sattari Posted December 8, 2010 Share Posted December 8, 2010 Can you give a little bit more information on the system? Link to comment Share on other sites More sharing options...
bsr201283 Posted December 9, 2010 Author Share Posted December 9, 2010 [quote='Sina' pid='917' dateline='1291828087'] Can you give a little bit more information on the system? [/quote] Thank you for your reply I am herewith attaching block diagram of test set up. I am giving 0 to +/- 10 V analog input from external supply. I am reading this analog input value in Turbo PMAC through M5063-> y:$78115,8,16. After getting this value how to close velocity loop through PMAC PID according to my block diagram? Link to comment Share on other sites More sharing options...
bsr201283 Posted December 9, 2010 Author Share Posted December 9, 2010 [attachment=1416:name][quote='Sina' pid='917' dateline='1291828087'] Can you give a little bit more information on the system? [/quote] Thank you for your reply I am herewith attaching block diagram of test set up. I am giving 0 to +/- 10 V analog input from external supply. I am reading this analog input value in Turbo PMAC through M5063-> y:$78115,8,16. After getting this value how to close velocity loop through PMAC PID according to my block diagram? Link to comment Share on other sites More sharing options...
Sina.Sattari Posted December 15, 2010 Share Posted December 15, 2010 Hi, The PMAC doesn't have a velocity only mode for its servo. So what you need to do is to get the analog input from the ADC in the encoder conversion table, integrate it and then feed it as a master position to the motors 1 and 2. Motors 1 and 2 are setup purely in position mode and since we are integrating the velocity command, we'll end up with position command which is sent to the motors. Regards, Link to comment Share on other sites More sharing options...
bsr201283 Posted December 17, 2010 Author Share Posted December 17, 2010 [quote='Sina' pid='942' dateline='1292432886'] Hi, The PMAC doesn't have a velocity only mode for its servo. So what you need to do is to get the analog input from the ADC in the encoder conversion table, integrate it and then feed it as a master position to the motors 1 and 2. Motors 1 and 2 are setup purely in position mode and since we are integrating the velocity command, we'll end up with position command which is sent to the motors. Regards, [/quote] HI Sina, Thanks for your prompt reply.I would like to clarify the following : The external +/- 10 volt is actually coming out of a position loop (digitally implemented by a 8086 CPU based system) closed using a Load encoder mounted on the 1:1 shaft. Therefore we already have a position loop which is a PI controller. We are using PMAC for Velocity loop to drive the amplifiers and brushless motors as we want to implement standard 3 loop servo system of position, velocity and current. The position loop output varies from a few millivolts to a maximum of 10 volt depending on how big the position command is ? regards srinivas Link to comment Share on other sites More sharing options...
bsr201283 Posted December 30, 2010 Author Share Posted December 30, 2010 [quote='bsr201283' pid='953' dateline='1292587053'] [quote='Sina' pid='942' dateline='1292432886'] Hi, The PMAC doesn't have a velocity only mode for its servo. So what you need to do is to get the analog input from the ADC in the encoder conversion table, integrate it and then feed it as a master position to the motors 1 and 2. Motors 1 and 2 are setup purely in position mode and since we are integrating the velocity command, we'll end up with position command which is sent to the motors. Regards, [/quote] Dear Sina I wish you a happy new year in advance. According your last reply, I am taking analog input from ADC in the encoder conversion table , integrating it and taking as a master position as follows..... I7106=$1FFFFF (ADC strobe word) I8009 = $578115 ( ADC value taking line no 10 in ECT which address is $350A) I505=$350A I506 = 1 (master position enable) i507 = 96 (master position scaling factor) I am taking M567 as present master position. Please reply , the above method is right or wrong. Thanks and regards Srinivas Link to comment Share on other sites More sharing options...
Sina.Sattari Posted January 3, 2011 Share Posted January 3, 2011 Srinivas, Your method is correct. However, you may want to try Ixx06=3 to be in offset mode. Usually this works better in an integrated velocity command follower system. Regards, Link to comment Share on other sites More sharing options...
bsr201283 Posted January 17, 2011 Author Share Posted January 17, 2011 Dear sina ........ Below process of making PMAC PID in velocity mode is right or wrong?Please give your valuable feedback on same. I am connecting PMAC #1 axis to Motor #1 through Servostar. 1. i7106 = $1FFFFF (ADC strobe word) I8009=$178115 2. i100=1 i103=$350D (position feedback address is assigned to 12 line of ECT) i104=$3501 (velocity feedback address motor #1 resolver feedbac) i105=$350A (master position address) i106=1 (master position enable) i107=1 (master position scale factor) i108=96 ( position loop scaling factor) i109=96 (velocity loop scaling factor) i111=0 ( fatal folowing error putting zero for making PIDas poor velocity control) i112=0 (warning following error zero) i130=XXXXXXXX ( proportional gain) i131=128 ( derivative gain i am using as scaling factor for velocity feedback) i132=0 i133=0 i134=0 3. After downloading this in PMAC2 through PEwin32 pro. In terimal window following command i am giving ......... #1o0(enabling #1 axis) #1j/(clsong loop) 4. After closing #1 loop , resolver feedback will go to i104 and positon feedback will go to ECT line 12. So position loop wont close and only velocity loop will close. 5. When analog input will change motor #1 speed will change. Thanks and regards Srinivas. Link to comment Share on other sites More sharing options...
Sina.Sattari Posted January 17, 2011 Share Posted January 17, 2011 Srinivas, This method may work, however, keep in mind that PMAC is designed to do a complete position and velocity PID loop and disabling fatal following error, is considered very dangerous. If you do have true feedback from the motor, I would suggest using it for both position and velocity of motor 1. Tune the motor 1 in position mode. Once you integrate your analog input in ECT and bring in the result as master position for motor 1, it would act as if it was velocity control, but with much better safety. Regards, Link to comment Share on other sites More sharing options...
bsr201283 Posted January 17, 2011 Author Share Posted January 17, 2011 [quote='Sina' pid='1102' dateline='1295285247'] Srinivas, This method may work, however, keep in mind that PMAC is designed to do a complete position and velocity PID loop and disabling fatal following error, is considered very dangerous. If you do have true feedback from the motor, I would suggest using it for both position and velocity of motor 1. Tune the motor 1 in position mode. Once you integrate your analog input in ECT and bring in the result as master position for motor 1, it would act as if it was velocity control, but with much better safety. Regards, [/quote] Dear sina Thanks for your valuable feedback........ Can you tell me what is the difference between Ixx67 and Ixx11 (and/or Ixx12) ? In Turbo PMAC SRM manual Ixx67 tells "If pure velocity control is desired for the motor, Ixx67 can be set to 0, effectively disabling the position loop " If I am putting this Zero and using Ixx11 and/or Ixx12 , loop is not working properly. Thanks and regards Srinivasa rao Link to comment Share on other sites More sharing options...
Sina.Sattari Posted January 17, 2011 Share Posted January 17, 2011 Srinivasa, The Ixx67 is limiting the error used for PID calculation. By lowering it, the result of the servo loop will be different. Ixx11 is comparing the actual position and commanded position and in case of exceeding the Ixx11, the motor gets killed. Ixx67 value will affect the output of PID but it will not kill the motor. Regards, Link to comment Share on other sites More sharing options...
jwkuehne Posted March 14, 2011 Share Posted March 14, 2011 I have posted a detailed reply to a similar problem in "Smooth transition from Open to Closed Loop while motor is moving: catch the egg." This tells you how to run in pure velocity mode and make a seamless transition when you want to close the position loop. -John Kuehne, Ph.D. McDonald Observatory, Texas Link to comment Share on other sites More sharing options...
Recommended Posts