LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using LabVIEW to control Lakeshore Model 330 Temperature Controller

Solved!
Go to solution

Hello

I am new to LabVIEW programming. I am using the driver set provided by NI to control a Lakeshore Model 330 Temperature Controller. The version of LabVIEW I am using is 8.2. I had a few questions regarding the experiment.

 

Let me explain the experiment. I have to use LabVIEW to control the temperature of a sample from 10-300K and record the data of a Cathodoluminescence experiment. I have two modes of experiment.

 

1) I start from 10K and then after every 5 or 10 K rise in temperature(this is to be provided by the user), when the temperature stabilizes, a signal has to be sent to a external trigger(Programmable Timing Generator) of a ST- 133 controller  which controls the CCD to record the spectrograph. After the reading is taken, a signal should be given to LabVIEW to increase the setpoint to the next step. This is to go on till 300K(room temperature).

 

2) In this procedure, the PID values are set up in such a way so that we get a linear variation in temperature from 10K-300K. I think this can be done using zone setting VI. (I dont know how to use it) . After starting the experiment, at every 5 or 10 K increment in temperature(again to be set by the user), a signal should be sent to the trigger to record the spectrograph but the temperature rise should not stop.

 

Here the overshoot in reaching the setpoint in both the experiment should be as low as possible. It would be very helpful if anyone can guide me in the right way.I have attached the driver set I have downloaded from NI website.

0 Kudos
Message 1 of 18
(11,200 Views)

RSGR,

 

I would recommend trying out the VIs in that library to see how they work.  It looks like you can set up a Ramp with one of the functions, which might accomplish your second goal.  The first goal may be accomplished with the LSCI 330 Application Temperature Controller.vi.  Without having a temperature controller to try this out on, there is no way for us to know how the controller responds to these commands.  

 

That said, if you need help with the PID control stuff, you can always check out http://en.wikipedia.org/wiki/PID_controller.  For tuning specifically, this table (http://en.wikipedia.org/wiki/PID_controller#Manual_tuning) indicates what effect changing each parameter will have.

 

For learning about the basics of LabVIEW programming, here are some great resources for getting started.

http://www.ni.com/gettingstarted/labviewbasics/

 

Hopefully this will get you started, but if you have any more specific questions, please feel free to post them!

Drew T.
Camber Ridge, LLC.
0 Kudos
Message 2 of 18
(11,181 Views)

Thank you for the reply. I have used the VIs in the Library and made a VI which I have attached. I had the idea that when the PID values are put into the zone table, depending upon the current temperature, the PID values would change. When I run the VI though, the system takes the last set of PID values and runs the whole experiment. I think there is an "if statement" missing in the VI, like if the temperature is so and so then the PID values to be used are these..... but I am not sure if thats how it works.

 

I will take your advise on the ramp feature to attain the linear variation in temperature. I had a question about that too. If I implement the ramp feature, the temperature rise should be constant so we tell the system how much temperature rise should be there every minute but will I have to tune different PID values to achieve this or should one set of PID values run the whole experiment from 10-300K?? If I have to use one set of PID values then I do not see the use of having a zone setting at all ???

 

Also how do we know the best values of PID setting to run the experiment.?? I know we have to manually tune it but is there any other method of doing it.

0 Kudos
Message 3 of 18
(11,155 Views)

@RSGR wrote:

Thank you for the reply. I have used the VIs in the Library and made a VI which I have attached. I had the idea that when the PID values are put into the zone table, depending upon the current temperature, the PID values would change. When I run the VI though, the system takes the last set of PID values and runs the whole experiment. I think there is an "if statement" missing in the VI, like if the temperature is so and so then the PID values to be used are these..... but I am not sure if thats how it works.

 

I will take your advise on the ramp feature to attain the linear variation in temperature. I had a question about that too. If I implement the ramp feature, the temperature rise should be constant so we tell the system how much temperature rise should be there every minute but will I have to tune different PID values to achieve this or should one set of PID values run the whole experiment from 10-300K?? If I have to use one set of PID values then I do not see the use of having a zone setting at all ???

 

Also how do we know the best values of PID setting to run the experiment.?? I know we have to manually tune it but is there any other method of doing it.


I'm actually working right now on a setup for thermoluminescence using a Lakeshore 336.  I haven't done any PID tuning or zone stuff yet, so I can't help that much, but I did notice that (at least with the 336) you have to do more than load the zone table, you also have to set the "mode" to "zone" rather than "closed-loop" in the "Configure Heater Output.vi".  Your 330 model may be different, of course.

 

BTW, if I were you I would try and get things working with a single PID setting.  You might find that the ramp is smooth enough without doing the extra effort (we're getting reasonable results without any fine PID tuning).

 

-- James

0 Kudos
Message 4 of 18
(11,149 Views)

Hello James

Thanks for the reply. My experiment is also thermoluminescence so I wanted a linear variation in temperature. So are you suggesting that just by setting a ramp function in the main VI I will be able to obtain the linear variation in temperature?? If that is the case still what would the single PID parameter be. Or are you running it on Autotune mode??? I am not sure how the 336 works too.....It would be a great help if you could clear my queries....

0 Kudos
Message 5 of 18
(11,123 Views)
Solution
Accepted by RSGR

Attached is a recent test measurement of Thermoluminescence of CsI(Tl) scintillator, ramping from 50 to 225 K.  PID settings are the default of the unit (no Autotune or Zone settings, and no manual tuning of any kind).  The upper graph shows the ramp (where the temperature stayed reasonably close to setpoint) and counts versus time, while the lower graph shows counts per degree K increase of temperature.  The ramp in temperature is not perfectly linear, but the slight non-linearity should be unimportant once you convert to counts/degK.

 

I would advise doing some experiments with the Ramp function and see how it goes.  Only put in the effort of complex PID settings if needed.

 

-- James

TL on CsI(Tl).png

0 Kudos
Message 6 of 18
(11,113 Views)

@RSGR wrote:

 My experiment is also thermoluminescence so I wanted a linear variation in temperature.


BTW, it doesn't sound (from your first post) like your doing Thermoluminescence.  TL data is collected continuously as the temperature increases; your description is that you are "triggering a spectrograph" at specific temperatures.  Can your spectrograph not collect continuously?

 

-- James 

0 Kudos
Message 7 of 18
(11,105 Views)


In the second part I have mentioned "After starting the experiment, at every 5 or 10 K increment in temperature(again to be set by the user), a signal should be sent to the trigger to record the spectrograph but the temperature rise should not stop."


 

I did not know that in thermoluminescence the data collection should be continuous. I am not sure if the spectrograph I have works continuously or not. Will find that out. Could you send me the screenshot of a labVIEW VI to see how to implement a ramp function and also I am not sure I understand abt the PID parameters you said. In the Model 330 we have to mention the mode we want to use. There are five modes : Autotune P, PI, PID and manual and zone. So which one should I choose to implement the ramp feature....??

 

0 Kudos
Message 8 of 18
(11,089 Views)

Continuous is better, but you could use an instrument that takes snapshots if you measure the temperature ramp rate at the moment the snapshot is taken (divide counts/sec by degK/count and you have counts/degK).  But you should probably want to take spectrograph measurements as fast as it can handle, rather than picking 5 to 10 K increments.  Gives you the best data.   Your first described mode, of 'stabilizing' the temperature before measurement, is useless for Thermoluminescence.

 

Of your modes, try PI at first, with whatever the controllers default values are.

 

The single VI used with the 336 is "Configure SetPoint and Ramp":

Ramp.png

 

-- James

0 Kudos
Message 9 of 18
(11,070 Views)

Hi everyone,

 

I am an new here and new to LabView. I would appreciate your advice. Quote

I`m a Ph.D student and I just received a LakeShore Temperature Controller 336. I tested it manually and it is working fine.Now, I want a computer interface to be able to operate it. In its manual it is specified something about the hyper terminal and I have some basic commands. I managed to install the hyper terminal and test those command. My supervisor told me I will need a LABView program in order to control it and I have no idea how to do it.

Let me tell you what I would need to to

1) Monitor a temperature as a function of time and display it as values on 2 columns and/or graph

2) set a temp, hold it for some time and monitor it

3) create a temp ramp from any particular temp. to another temp on a time scale (I guess I have to use the heater)

Well, there are not some many thing to be done but I have no ideas how to start.Has anybody experience with these things?

Please help me!

 

 

0 Kudos
Message 10 of 18
(10,551 Views)