Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Is Image processing likes this P or fuzzy logic control?

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?lqueue.jpg

0 Kudos
Message 1 of 14
(5,679 Views)

Hi,

 

Would you please mention the question exactly?

Vivek Nath
National Instruments
Applications Engineer
Machine Vision
0 Kudos
Message 2 of 14
(5,659 Views)

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. 

Vivek Nath
National Instruments
Applications Engineer
Machine Vision
Message 3 of 14
(5,654 Views)

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 

0 Kudos
Message 4 of 14
(5,642 Views)

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 

0 Kudos
Message 5 of 14
(5,642 Views)

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

0 Kudos
Message 6 of 14
(5,638 Views)

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

Vivek Nath
National Instruments
Applications Engineer
Machine Vision
Message 7 of 14
(5,611 Views)

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!  

0 Kudos
Message 8 of 14
(5,608 Views)

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. 

Vivek Nath
National Instruments
Applications Engineer
Machine Vision
0 Kudos
Message 9 of 14
(5,585 Views)

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

0 Kudos
Message 10 of 14
(5,573 Views)