02-13-2010 09:06 PM
Hi, Guys,
I got another question. I let my experiment works, now. I'm wondering which control mode it is. Please check out the screenshot. I use IMAQ USB cam to get the position (e.g. every 100ms), which is feed-backed to motion loop. At first, I will compare this position with set point,160. If this position is greater than 160, it will tell motor run by ten*(x-160) times of original velocity. If less than 160, motor will run by (160-x)l/10 of original velocity. I think it is fuzzy logic and P control, right?l
02-16-2010 12:05 AM
Hi,
Would you please mention the question exactly?
02-16-2010 06:54 AM
Sorry I missed the last sentence in your post! It looks like you are doing P control which varies between two cases depending on the feedback. For control terminology, you could take a look at the following article: http://zone.ni.com/devzone/cda/tut/p/id/8156#toc4 .
If you have any questions on implementing your control algorithm with our software, please post on our forums or contact technical support at http://www.ni.com/support.
02-16-2010 12:08 PM
hi, Vivek_N,
Thank you for your reply.
Is this wrong zone I posted? I didn't know which one is right.
You know, LV MAX has Servo tune. I use it to tune the servo motor first and initialize it. And I run this program I posted. I had some P.I.D gains(e.g. Kp=100, Ki=200) in MAX and P gains(Kp1=10) in program. Do you know how I calculate the final gains of the system? If not, where should I ask for?
Thank you very much!
Guangli
02-16-2010 12:09 PM
hi, Vivek_N,
Thank you for your reply.
Is this wrong zone I posted? I didn't know which one is right.
You know, LV MAX has Servo tune. I use it to tune the servo motor first and initialize it. And I run this program I posted. I had some P.I.D gains(e.g. Kp=100, Ki=200) in MAX and P gains(Kp1=10) in program. Do you know how I calculate the final gains of the system? If not, where should I ask for?
Thank you very much!
Guangli
02-16-2010 12:23 PM
hi, Vivek_N,
Thank you for your reply.Is this wrong zone I posted? I didn't know which one is right.You know, LV MAX has Servo tune. I use it to tune the servo motor first and initialize it. And I run this program I posted. I had some P.I.D gains(e.g. Kp=100, Ki=200) in MAX and P gains(Kp1=10) in program. Do you know how I calculate the final gains of the system? If not, where should I ask for?
Thank you very much!
Guangli
02-19-2010 05:02 PM
Hi Guangli,
The process of finding the right Kp, Ki and Kd gains for your control system is one of trial and error. This knowlegdebase article describes the process in sufficient detail: http://digital.ni.com/public.nsf/allkb/806F6F0B775FAF32862572FA0052F2AB?OpenDocument .
02-19-2010 07:17 PM
Thank you!
yes, I'm able to tune the motor well using MAX.
you can see my screenshot. Like you said I put position feedback, that means it only has Kp2.
For my project, I use PCI 7344, UMI7764 controlling servo motor. If I use MAX to tune motor by Kp1=100, Ki1=200, that means it will feedback motor position and velocity, right? Meanwhile, I have program(which is shown in previous screenshot) to feedback project position to motion loop. the project position is not same kind of position with motor position.
Like this case, how can I calculate the final gains? is that Kp=Kp1*Kp2, Ki=Ki1*Kp?
Thank you very much!
02-22-2010 06:03 PM
I am not sure I understood your question. There is a PID loop inherently running on the PCI-7344 itself for motion control. This is to ensure the motor moves to the desired position in the manner that you want.
I do not know what other position value is being monitored in your program. In your screenshot, it looks like you change the desired velocity depending on some parameter. I am not sure what gain values you want here. There is no synchronization between your case structure and the actual PID loop running on the 7344.
Please specify what exactly you are looking to calculate here and what you are trying to achieve programmatically in your VI.
02-23-2010 10:00 AM
Hi, Vivek_N
Yes, like you said. I have PID loop on PCI -7344. You also can the queue control in my screenshot. I acquire the position of one point. if the point offset from the setpoint, it will change the velocity by 10 times. you can see the case structure on the top. that's calculation to control the velocity of motor.
How can I deal with the 10 time and PID control gains.
I'm not if it is clear or not. Thank you!
Guangli