03-22-2010 11:53 AM
Devices:
cDAQ 9178 Chassis
NI 9213 - Thermocouple input module
NI 9264 - +/-10V Analog output module
Software: Labview 8.5
addon: PID toolkit
Hi,
I am having trouble finding the PID values for ramping and sinking for my application.
I have 4 peltier elements that I need to set at diff temperatures. I can get the peltier elements to reach a steady state using the PID vis. I am not a PID expert so I need some advice.
I am displaying both the set point temperature, and aquired teperature in the graph above, so it maybe hard to see the actual temperature line.
Next is the ramping which I need some tips on for finding the ideal PID. I am using the Setpoint VI found in the PID toolkit for making the ramp setpoints. But with the current PID values, ramping is not smooth.
As you can see, it sways and overshoots (not that bad, but for higher ramp rates it's worse). This is at 0.5degree/sec ramp rate. At 1 degree/second, it is worse.
Ramping at 1 degree / sec
All sinking from 40- 20 degrees at 1 degree/sec
As you can see in the above pic, there is considerable lag, which I am trying to eliminate. Any tips would be helpful.
Is there any tool that helps with tuning the PID for ramping/sinking?
Thanks
03-23-2010 09:57 AM
Hey KSagarN,
It appears that you have a decent PID controller. Now, you need to work on tuning your P, I, and D gains. There is a tool that can help in the PID Autotuning VI. Another thing to try would be to us the Ziegle-Nichols method to tune your PID controller. Here are some more links that might help:
05-16-2010 08:24 AM
Hi KSagarN,
I am running a similar set-up, where I have a PT100 element to record the temperature (I get an output voltage) and a 10W heater. I'm using PCI6221. I am supposed to control the temperature in a box for an experiment I am running using PID. The temperature just has to stay constant for several hours while the experiment runs.
I have been following your threads and realized that you have been doing pretty much exactly the same work (at least in the past). I want to use a PWM output to control the heater depending on what the PT100 voltage is telling me. I have been toiling away for weeks trying to figure out how to put all this information together, and the closest I have gotten was a vi which was posted on one of your threads which uses the PWM-Analog output.vi. I don't even know where I would put a graph like in your posting above to see how my signal is comparing with the set-point I want.
At the risk of sounding a bit desperate, I was wondering if you could perhaps post your vi to do the temperature control using PID/PWM etc. I would appreciate it, you would be helping a PhD student in need...
Any help from other people on the forum is of course welcome!
Thanks
05-17-2010 06:24 PM - edited 05-17-2010 06:29 PM
Hi,
Your PID controller seems to be working nice in my humble opinion. Its almost impossible for a PID-controller to follow a setpointtrajectory precisely, because its a feedback system. With a feedforward controller its possible to precisly follow your setpoint trajectory, if the outgoing signal doesnt saturate and your model is accurate. You can try to increase your gain or K value of the PID for a faster response aka better setpoint tracking, but its possible you make it more unstable then. The delay can have 2 causes, or you have a time delay in your system, then you are stuck with this delay or the error needs time to build up for the controller to take action, in this case trying to increase your integral action (that is lowering your Ti value) and/or proportional action could help.Having an overshoot usually means your proportional action is to agressive.