05-03-2021 10:43 AM
Hi All
I am working with a PID controller and am having some difficulty with working it.
How does one go about tuning the PID to find its best operational values and how do I know when I have these values?
Best wishes
Andrew
Solved! Go to Solution.
05-03-2021 11:27 AM
you can start to google search about Matlab simulation... on this you can try on this link link
05-03-2021 12:04 PM - edited 05-03-2021 12:07 PM
Since you posted in the LabVIEW forum, I assume this is not a matlab question. I am not even sure if it has anything to do with programming.
Is this a black-box PID controller? As a first thing, read the manual. Many have an auto-tune feature to find the best PID settings. What are you trying to control? Systems can differ by many orders of magnitude in the way the respond to input changes. (compare a temperature controller for a jacuzzi to a controller that keeps a maglev train at the correct height!).
You have the correct values of it responds quickly, smoothly and accurately to new settings (no oscillations, no significant overshoot, not excessively slow, no final offset, etc.)
05-03-2021 12:17 PM
Hi altenbach
Thank you so much for the reply.
Yes this not a Matlab problem.
I am working on a beam pointing Stabilisation project and am using the PID to calculate a manipulated variable which is rhen fed into some picomotors to correct the beams position.
I don't think that this is a black box PID controller, is is built into the labview code.
From memory thus one does not have an auto tune feature.
Thank you for the advice on getting the correct settings. When I next get to my PC I will keep trying.
Are there any LabVIEW PID controllers that have this autotune feature?
05-03-2021 12:26 PM
LabVIEW has auto-tuning as part of the PID tools (example).
05-03-2021 12:44 PM
Hi Altenbach
Wow thank you so much I will try this as soon as possible.
I apologise if this is a silly question but will this work with a 1D array input too?
05-03-2021 01:09 PM
As altenbach mentioned, auto-tuning PIDs are an option. There are some drawbacks to these and sometimes you need to manually tune. So, here is (in a very generic sense) the process I personally go through for tuning a PID.
05-03-2021 04:39 PM
I'm sorry about misunderstanding, I don't say that here in a LabVIEW forum are a Matlab question, I say that the man need to be open mind and and read / look / search all that is connected with "PID Tuning". as I know from here, it have an 100 years of history. well from what I know until now NOBODY IN THIS WORLD can do a perfect tuning for a PID. from what I know most of successful story are "manual tuned". the "automatic" manner of PID tuning are a good approach but not the best.
with my advise I try to "open mind" at a person with "visual examples", same person that are incredible satisfier to discover... this... https://zone.ni.com/reference/en-XX/help/371361R-01/lvpid/pid_with_autotuning/
let's be serious... we try to help here... on this forum ? or... only make homework's ?!
05-04-2021 06:19 AM
Hi
Ok i will try manual tuning of my PID controller. I unfortunately have come across another problem.
I am trying yo pass data through a state machine (IMAQdx session) but unfortunately it passes through once, when when it is sent back to the previous state I get the following:
Error -1074360311 occurred at IMAQdx Open Camera.vi
Possible reason(s):
Camera not found
I have been using the camera for the rest of the code, this only occurs in one section.
05-04-2021 06:36 AM
Could it be that you use a shift register to pass the name of the camera device between iterations and in one of your states, your tunnel on the case structure that passes this through is not properly connected, clearing the name you stored in that shift register?