Jump to content

Temperature Controller


THN

Recommended Posts

Hi guys,

I'm using the LakeShore 325 Temperature Controller for some measures. And i got stucked with this problem: i need to divide the ramp by segments. Which means that the ramp will not start from 0 all time. My idea is to make 1 ramp divided at a maximum of 4 segments. For ex: 1st segment from 100K to 200K, 2nd ramp from 250K to 400K, etc..

The problem is that i can't find that option on the instrument driver. It only allows me to configure the ramp, which means, that i can insert it's rate and if i'm going to have a set point or not. And the other option that is on the instrument driver is the configuration of the setpoint, that only allows me to insert 1 setpoint. What should i do? I need 2 setpoints, 1 for the minimum temperature and 1 for max. temperature.

I can't use the PID control, and i'm attaching the drivers here with 1 sketch of my main VI.

Thanks in advance.

TN

Currently using LV 8.5

1º teste CRT.vi

lake_shore_325.zip

Link to comment

Just having a quick look at your code and the driver and off the top of my head my suggestion would be to check the status of the ramp using Ramp Status.vi. If ramp is done then load your next ramp using Configure Ramp.vi and then call Configure Setpoint.vi. If your rate is the same then you only need to call Configure Setpoint.vi

Link to comment

Thanks for your reply Kurtis,

But tell me, should it be something like this? What should i wire in the rate value of the Ramp Status.vi ? Because in my VI, i want the Ramp to start from a user defined Minimum and not from the Ramp default minimum. Still, how should i do it, if i want to add more ramps? How do i give temperature limits to it? Making it run from for ex. 10K to 20K, and in the end i make a delay and only after start another 1 from 30K to 40K.

Please help me out with this, i'm getting out of time with this..:S

Thanks for your support.

1º teste CRT.vi

Link to comment

Thanks for your reply Kurtis,

But tell me, should it be something like this? What should i wire in the rate value of the Ramp Status.vi ? Because in my VI, i want the Ramp to start from a user defined Minimum and not from the Ramp default minimum. Still, how should i do it, if i want to add more ramps? How do i give temperature limits to it? Making it run from for ex. 10K to 20K, and in the end i make a delay and only after start another 1 from 30K to 40K.

Please help me out with this, i'm getting out of time with this..:S

Thanks for your support.

I've knocked up a bit of a demo that I think will help you out. Its based on a Queue Driven State Machine architecture that executes a script.

I've written a simple script that will demonstrate how it works, shown below.

status:Test Start

wait:1

temp_ramp:0.5

temp_setpoint:10

status:Waiting for ramp 1 completion

temp_rampcheck

wait:60

temp_ramp:1

temp_setpoint:20

status:Waiting for ramp 2 completion

temp_rampcheck

wait:60

temp_ramp:1.5

temp_setpoint:30

status:Waiting for ramp 2 completion

temp_rampcheck

status:Test Complete

End

When executed the script tells the system to display the status "Test Start" then 1 second later it sets the ramp to 1 deg/min and the setpoint to 10 deg, updates the status to display "Waiting for ramp 1 completion" and then waits until the ramp has completed when it hits the "temp_rampcheck" command. Once the ramp is completed it waits 1 minute and then moves into the next ramp sequence, ie ramp up to 20 deg at 1.5 deg/min.

When all ramps are done it then displays to the user "Test Complete"

Have a play, this is only a demo but you can expand your other HW into it and build your system from it.

The demo implements OpenG library components which I have packaged. Use VI Package Manager to unpack the Packages.vipc file.

TempControllerDemo.zip

Hope this helps

  • Like 1
Link to comment

Thanks very much Kurt Friday.

Very nice reply, i have never worked with this, but i will try to adapt it to my situation and see if it works. Still, there's something that i wanted to ask you before, it will run that script but what if i want the user to fill those values? Because i have already done, 1 VI full with validations for the parameters introduced by the user.

Hope you understand me and that you keep in touch. Thanks once more for your wonderful support. =)

Link to comment

Thanks very much Kurt Friday.

Very nice reply, i have never worked with this, but i will try to adapt it to my situation and see if it works. Still, there's something that i wanted to ask you before, it will run that script but what if i want the user to fill those values? Because i have already done, 1 VI full with validations for the parameters introduced by the user.

Hope you understand me and that you keep in touch. Thanks once more for your wonderful support. =)

Hey, no problem, I enjoy tinkering with this stuff anyway.

I've modified the demo so that instead of reading a script from file it builds it directly from a sequence of ramps. Each ramp is built from a template script which has hotnames in it for rate, setpoint, wait and ramp number. As each ramp is built the hotnames are substituted for their actual values which come from the user defined list. After the script is built it gets sent to he consumer to be processed.

I've updated the Packages.vipc as I also implemented a read config from ini file as well.

TempControllerDemo_V2.zip

Link to comment
  • 2 weeks later...

Hi again Kurt,

I've been away from the project for little while, and now i'm back. And i need some help again, if you can of course.

I've tested the last attach you posted here, and it seems to work very good, except the fact that the ramp looked more like a step. I think the temp. controller isn't assuming its rate and its skiping from setpoints as quick as it can. Other question i have is about how to do the step mode on this controller? Is it by a similar process to this 1 that you've done?

For last, i'm having trouble configuring the VI Package Manager, since it is not communicating with the labview, it opens the labview but it always says time exceded. I have formated the laptop, and i'm doing it like i did the 1st time and it worked.

Thanks in advance for your help.

Link to comment

Hi again Kurt,

I've been away from the project for little while, and now i'm back. And i need some help again, if you can of course.

I've tested the last attach you posted here, and it seems to work very good, except the fact that the ramp looked more like a step. I think the temp. controller isn't assuming its rate and its skiping from setpoints as quick as it can. Other question i have is about how to do the step mode on this controller? Is it by a similar process to this 1 that you've done?

For last, i'm having trouble configuring the VI Package Manager, since it is not communicating with the labview, it opens the labview but it always says time exceded. I have formated the laptop, and i'm doing it like i did the 1st time and it worked.

Thanks in advance for your help.

Hi Mate

I've never played with this temp controller so I'm just working on assumptions and wrapped the driver in a script engine that will perform the series of operations that you need.

Sounds like its not implementing ramp so each setpoint change drives it as fast as it can to that temp. I'll have a forage around and see what I find. Also check that when it hits temp_rampcheck that it polls an checks if the ramp is done before the script moves on.

Link to comment
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.