PID temperature control through voltage, Amperes and thermocouple as sensor

here is the Hardware setup of mine.
 [IMG]http://i34.tinypic.com/daa8.jpg[/IMG]
Now, I already have such a VI which gives me the temperature of heater. But i want to control the temperature of the Heater from VI, in which when i give certian temperature, then power supply provide the current in such amount that the required temperature is gained and  stops when the temperature crosses the limit.
Message Edited by akhpal on 09-28-2009 10:06 AM

The problem is that you have basically created two completely different VI's and slapped them together.  One is your real world analog input and analog output.  The Inputs and Outputs are not connected to each other in any way.   The second VI is the PID simulation example.  It is an example to show you how a PID control algorithm is used.  As an example, they created the "Plant" simulator there.  That is simulating the real world for the purpose of the example and has nothing to do with your real world inputs and outputs.  And why do you have the Proportional Gain VI in the upper loop and its output goes to the while loop tunnel and is never used again?
What you need to do is only use the actual PID portion of the example and have it placed in your upper loop.  You have your DAQmx read.  The analog input from that is fed to the PID subVI.  The output of the subVI is fed to the Analog output DAQmx Write VI.
One thing you will have to do is modify the DAQmx Read.  You are reading an N channel N sample and getting a waveform.  Why the N channel version when you are actually only using 1 channel?  Also, youi need to get it to a single sample.  You can use multiple samples, but it should only be for the sake of averaging the data together into a single value to feed to the PV of the PID subVI.  As such, you should use either 1 channel 1 sample, or 1 channel N samples Array where the array is averaged to a single value.  The Waveform type doesn't do you any good because you can't do anything with its timing information.
Attachments:
TempControlMOD.vi ‏174 KB

Similar Messages

  • How to come true a constant temperature control through PCI 7344

    I have one PCI-7344 to control three motors.I also need to come true a constant temperature control through 7344.
    using "Analog Input"and "Analog Reference",is it possible to come true the control.
    To come true it, what others I need?
    Waiting for your answer!
    Thanks
    帖子被langtian在12-20-2005 08:58 PM时编辑过了

    Langtian,
    In general the PID control loop of the 7344 can be used for a wide
    variety of control applications. You can use the analog inputs to
    acquire the feedback signals and the analog outputs to control e. g.
    torque, flow rates and so on. For temperature control the board seems
    to be a bit oversized as temperatures typically change very slowly
    compared to the high control loop rates of the 7344 but this shouldn't
    result in a problem.
    Please note that the "Analog Reference" Output can't be used for
    control tasks as this is a static analog output fixed to 7.5 V which
    can't be changed.
    For more information about how to use NI motion control boards with analog feedback please refer to this link and to this document.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • How to use NIDAQmx to measure voltage, resistance and thermocoup​les

    I'm new to using NIDAQmx. I was looking for examples to measure multiple functions like voltage, resistance and thermocouple in the continuous mode at the same time.
    ben

    In order to do that you would need to build multiple Create Voltage Channel VIs into the same string. Attached is an image of what this would look like.
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments
    Attachments:
    675977 - Multiple AI Tasks.JPG ‏21 KB

  • When connected to my Ford Mondeo, my ipod nano can be controlled through interface.  But after while it comes up with message 'loading data' and then freezes.  Anyone else got the issue?

    When connected to my new Ford Mondeo, my ipod nano can be controlled through user interface in car.  This worksd most of the time, but after a while if I try to change the music or search, it comes up with message 'Loading Data'.  I then have to pull out USB and reinseert, at which point it works again.  Has anyone esle expereinced this/have a solution?

    Does not matter if anyone else has this issue.  You need to contact the Ford dealership.  It's their product you are having problems with. 
    If you really want to know if anyone else has this issue, post on Ford's Mondeo message boards.  It's where the Ford car owners hang out.

  • Please help me with my electrical engineering homework : temperature control and watering system for greenhouse using labview and arduino

    temperature control and watering system for greenhouse using labview and arduino
    spesification :
    1. max temp : 28 celcius (when temperature is more than 28 celcius, fan ON)
    2. min temp : 20 celcius (when temperature is under 20 celcius, heater ON)
    3. watering system : aquaponic (grow plant and fish in separate tank but connect each other). Plant roots help filter water for fish. Fish poop for plants fertilizer. So I need a pump to distribute water.
    Please help me create VI file simulation.. I'm sorry I'm not fluent in English. May God bless you all
    Attachments:
    YOOOSHH.vi ‏88 KB

    Duplicate thread.   Please keep the discussion in that thread where you already have a response. It is also the more appropriate thread for your question.
    Lynn

  • Temperature controlled cooling for K7N2G - making a cheap and quiet sy

    Hi!
    My CPU and IGP fan speed is temperature controlled. The two fans in my PSU are very quiet. Beside these i have two fans blowing air into the cabinet and two fans blowing air out. At the moment I have the option to let them stay turned off, to give them 7V or 12V (by some switches).
    Now I have decided to make these temperature controlled as well. If the temperature is below 25 degrees (or something) they are turned off after that they turn on at low speed and then their speed rises as temperature rises.
    My question is now - where should I put the temperature sensors to control these fans?
    I guess it should be somewhere on the motherboard but where? Perhaps close to the RAM or at the chipset? Perhaps on my harddisks or just under the PSU to give a good idea about the temperature in the cabinet?
    I am also going to make some tunnels to make sure that the air coming from the fans gets to the right places (one should definitely go to my harddrives as they get pretty hot :-) )
    Another idea I have is to use a CPU throttle program to make the CPU stay cooler when I don't need more than 50 percent of the CPU power. I don't know if this will help at all. I already have the idle bit set. I have just installed hmonitor which can do the trick with CPU throttling. If I set the CPU throttle to 50 percent and then loads the "Toast" program the CPU doesn't get much hotter but of course it is also only working at half its speed. If for instance playing demanding 3D shooters or doing other hard calculations I turn it off to get full speed - otherwise I could just as well have "down clocked" the CPU instead.  
    Does anyone else have experiense with CPU throttling?

    Doesn't anybody know where the three temperature sensor diodes on the motherboard are placed on the motherboard?
    Of course one of them is under the CPU but where are the two others placed?

  • There are certain albums and songs I don't want my children having access to in iTunes Match through their iPod and iPad.  Is there a way to control what songs are visible on different devices?

    There are certain albums and songs I don't want my children having access to in iTunes Match through their iPod and iPad.  Is there a way to control what songs are visible on different devices?

    No.

  • How do I control furnace temps (ramp and soak)? What hardware do I need?

    Please help me~~~~
    I use Labview version 8.2 and Compact Field Point.  I currently have a small Lindberg/Blue furnace (120V, 6.8A, 8KW) that has a mounted Lindberg/Blue UP150 programmable controller.  The temperature control is not currently connected to my PC (and that's a pain). 
    I would like to replace the present furnace controller with labview control through Compact Field Point.  I need to create a ramp and soak program in labview.  My
    program must be able to:
    Soak at 300C for 30 min
    ramp to 650C
    soak at 650C for 15 min
    ramp to 700C
    soak at 700C for 10 min
    cool to 300C
    repeat the above steps as many times as desired.   
    I am familar with labview but have never controlled any furnace temps.  I have figured out that I will need the PID control toolkit.  But I'm totally stumped about the hardware I will need.  I have searched everywhere but can't find an explanation.  I have Compact Field Point and the furnace.  What hardware goes inbetween?  Just what hardware does the PID toolkit (PID VI's) send a signal to?  It seems to me the PID would read a thermocouple and then send a signal to some sort of current regulator that sends a varying current to the furnace.  Am I way off?  How do I set this up.  Can anyone recommend a good book or web site that explains how to set up furnace control using labview?   
    I really appreciate your help.  I'm at the end of my road without it.  Thanks alot. 
    -Gerry Szachara
    Chemist
    BASF Catalysts LLC

    If you can, use a solid state relay as this will be the most reliable and noise free solution to switching. Switching 8kW loads with a relay can lead to arcing of the contacts after a while (and other issues), this is bad news for computers. For an 8kW device you will need to mount the device on some form of heatsink / dissapation surface. Solid state relays normally use an opto-isolated coupling which can usually be powered in the range 3 to 24v. This is connected to the control output of your selected controller.
    For control of this sort I personally I prefer a dedicated controller, I use a PC for data logging, program management and monitoring. This is for reliability more than anything else, an NI controller won't come with integrated display and controls to set the device and the foot print in the panel is considerably larger. They also take an age to boot in comparison. You should also consider that you could get an electrical engineer to fit a standard controller with suitable solid state relay etc. and that will help you meet any health and safety requirements easily and quickly! Don't forget than any modifications will need to meet local regulatory requirements such as CE and thus circuit diagrams must normally be produced etc.
    If I have the choice of selecting a controller, I like the Eurotherm range of temperature controllers, they are available with varying options just like the controller mentioned in the thread. There are drivers available in this forum and the NI web site for the devices.
    http://www.eurotherm.com/
    There is also OPC support and the diagnostic software available from Eurotherm is good.
    But if a device has a specific manufacturers controller on it I might select one from the same family. Often I look around the plant / factory and see what models are in use. Using a model / type that already in use makes it easy for support in the factory and reduces support calls!
    Hope these thoughts help out.

  • Using LabVIEW for temperature control with AMREL SPS200-50-A022 power supply

    Hi, I hope someone can help me out. I'm an ME undergrad with pretty much no knowledge of LabVIEW. I am working a project which requires a temperature controller. Previously, we were using an SPS120-10 power supply from AMREL and a grad student wrote a LabVIEW VI which performed feedback temperature control. The VI would acquire temperature from a Benchlink which acquire the temperature from a thermocouple. The VI also monitor the output voltage & current and determine the power output and heater resistance from those values. When a desired temperature is set, the VI compares the actual temperature to the set temperature and adjust the voltage/current setting to achieve the desired temperature. The VI was designed to keep temperature deviation to within +/-0.5 deg C. I'm not sure of the data refresh rate, but it's on the order of seconds since the system has a small thermal mass and we're operating in the 800+ deg C range. When we were using the SPS120-10, the device used GPIB for communication with the PC. Due to higher power output demand for the heater, we switched to an SPS200-50, which only has an RS-232 port. First of all, I was wondering if someone could help me modify the VI so that it could communicate with the SPS200-50 through the serial port? In addition, the drivers for the SPS120-10 and SPS200-50 might be different. If modifying the VI to communicate through the serial port isn't enough, I would need to figure out where to modify the VI with the SPS200-50 drivers, which is provided by AMREL. If anyone would like, I can send you the VI files so that you can take a look at the block diagram and tell me where to modify it. I'm still not 100% certain I understand how to read LabVIEW block diagrams.
    Please let me know if you need any additional information. Any help would be appreciated. Thanks in advance!

    I have looked over your vi. First of all you have to do some changes in the "ARSPS Initialize.vi" See picture.
    The best way to check instrument communication is to send the *IDN? Command. The instrument will indentify itself in response to this command. The vi I have included is a labview example. Use this Vi to test your communication. Do not progress before this is working. The VI is also an excellent example on how to set up and close down RS232 communication.
    The VI "Tfeedbackpowercontroller-nolvdt-Dinh.vi" looks OK so I guess it will work then your RS232 communication with the SPS200-50-A022 is working
    good luck
    PS as mentioned before you will find all the RS232 details in the instrument manual
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)
    Attachments:
    sample.PNG ‏38 KB
    Basic Serial Write and Read.vi ‏29 KB

  • PID position control : guide me

    Dear member
    I want to built a PID position control 
    i read the DC position through potentiometer with -128 to 127 [full 360 degree]
    so the input to the pid is voltage range between -128 to 127
    the input of dc motor is PWM and the motor rotate direction
    so the PID output will be PWM 
    what about direction bit ??? What will be it circuit
    also how to control the speed in same system ?? is thire another PID?? 
    best regards
    hi ?Q>
    Solved!
    Go to Solution.

    nathand wrote:
    mangood wrote:
    what about control the position and the speed at same time ???
    That's a complicated problem. A quick internet search turned up this paper which describes some possible approaches:
    http://www.idt.mdh.se/kurser/ct3340/ht09/ADMINISTRATION/IRCSE09-submissions/ircse09_submission_22.pd...
    okkkkkk
    terrific paper
    hi ?Q>

  • DC motor closed loop control through labview using usb 6008

    Hello
    i am doing a project in which i want to control the speed of a DC motor (PID control) through labVIEW 2010. I am having a DC motor, a drive unit that regulates the voltage to the motor by getting analog voltage from 0 to 3.3V ( it can be used for both directions) and i also have a NI usb 6008 board. The problem is that i can't feed the usb 6008 with the digital signal from my hall effect speed sensor. Is it posible with this setup to control the motor?? I can also try to use the pulse as analog input and trasform the frequency into rpm's. Then i am thinking of generating an analog signal to feed the motor drive. If you have any further suggestion of a probably better hardware setup would be more than helpfull to me.
    Sincerely
    Jason Chaloulos

    Hello Michael
    Thanks for the reply. I came across those topics before and all of them are trying to generate a PWM signal as output i want to use just an analog signal output so timing on the output is not that important i guess. i am struggling on getting the frequency from the digital input signal that my hall effect sensor generates. Since the maximum speed of the motor is 3000 rpm and with my tooth wheel the maximum  output frequency of the sensor will be 300Hz which i see its way less than the limitation of my ni board. Is there any tutorial documentation that might help me with this one ? Thank you in advance.
    Kind regards
    Jason

  • Temperatures corresponding to voltage ranges with the PXI-4351/TC-2190

    Using a PXI-4351 and TC-2190 with a K-type thermocouple, what temperature range do the voltages (+/- 625 mV, 1.25 V, 2.5 V, 3.75 V, 7.5 V, and 15 V) correspond to? How much accuracy does each different range of voltages have? All I could find was that to get improved accuracy, use a range of 2.5 volts or less (document #1X0F7L3E). Also, will using several channels at vasly different temperatures (ie. room temp. and several hundred degrees) affect which range I should select?

    The full temperature range of a K type thermocouple from -270C to 1370C represents a voltage range from -6.45mV to 54.8mV. If the only sensors you are using are thermocouples then you should choose the smallest range. The 4351 applies one gain setting to all channels, so the only reason you would want to use anything but the smallest range would be if you have other types of sensors with larger voltage swings. You can find voltages for any thermocouple at any temperature at the link below.
    Regards,
    Brent R.
    Applications Engineer
    National Instruments
    http://srdata.nist.gov/its90/menu/menu.html

  • Program Structure for PID temperature Controller

    Hi everybody,
    I built a PID temperature controller VI for a third party DAQ board, based on a very basic knowledge in programming.
    Now the VI works fine in both ends "i/ps & o/ps", the problem is that i cant get the response that I'm looking for from the PID controller. Since the system is time critical, I wounder if the structure of the VI is cosing this problem. please if you have any idea, hint or suggestion.
    Marwan
    http://www.geocities.com/marwan_m13/weemee8080.jpg
    Attachments:
    PIC Temperature Control(PID).vi ‏364 KB

    Marwan,
    You say that time is critical. The timeout is set to 1 second in the main loop. You will only get one update per second with this setting.
    Several comments:
    1. I have never seen the event structure used soley to control loop timing like this. No reason it should not work, but that is not its primary purpose. If you were to use the event structure to also handle user events (as it is designed to do), then things could get complicated. The Wait (ms) functions and Elapsed Time Express VIs can perform the timing for you without the risk of unintended consequences.
    2. Generally it is recommended to use only one event structure in a program, unless you have very specific reasons for using more than one. Since you are using them only as timers, the interaction potential is minimal.
    3. Right to left wiring and avoidance of wires hidden behind other objects make code much easier to read and to debug.
    4. Putting the user controls and displays and the write to file functions in independent loops allows the PID function to run at different rates from the user interface and file save functions. Look at examples of Producer/consumer architecture.
    5. Precalculating things which do not change from iteration to iteration can save time. For example multiply by 2.55 rather than multiply by 255 and divide by 100. Also make the datatypes consistent to avoid type coercion (indicated by little dots at the input connections such as the 255 input to the mutliply. Changing the datatype of the 255 constant to Double eliminates the coercion.
    Lynn

  • Pid pressure control implementation

    Hello guys,
    I am trying to implement a PID pressure control for a system but don't know exactly where and how to start. I have a pump and I want it to pump pressure to say 30bar at a ramp rate of 2bar/min to a tank, the pump is controlled via a 0-10V analogue module. I also have a pressure transducer (4-20mA also connceted to an analogue module) on my tank that reads the pressure in the tank, and I can potentially use the signal as feedback.
    I can directly run the pump from labview to any pressure by applying say 2V to the analogue module, which then controls the pump (but unfortunately this disregards the ramp rate), but I want to design a system such that when I put in the setpoint pressure (30bar) and specific ramp rate (2bar/min), the control system would behave as it should. How do I go about this? Does anyone have any ideas as I haven't done much on PID?

    In order to get control of both the rate of pressure change, and the absolute pressure, I would use a cascaded PID approach. You have an "inner" PID where the setpoint is the desired rate of pressure change, and the process variable is the measured rate of pressure change (the difference in pressure from one iteration to the next). The output from that PID is the voltage to send to the pump.
    Feeding that PID, you have a second PID block, where the process variable is the current pressure, and the setpoint is the desired pressure. The output is the rate of change, which feeds the inner PID. You limit the range of that output to the maximum desired rate of pressure change. As the pressure approaches the setpoint, the rate of changes decreases and approaches 0.
    Of course implementing this all at once is complicated, especially if you don't have much experience with PID. Start with the simplest case - a single PID loop with the desired pressure as the setpoint, the measured pressure as the process variable, and the pump voltage as the output. If that works, add in a setpoint ramp and see if it works well enough to get you the rate of pressure change you want - if so, that's simpler than cascaded PID.
    Do you have the PID toolkit? If so, setting up a simple PID loop is easy. It sounds like you already have the other key parts - you know how to write a voltage to the pump, and to read the pressure. Hooking up the inputs and outputs to the PID block is simple. You'll then need to tune the PID, and there are many explanations of how to do this both elsewhere on this forum and on the internet. I can't recommend a particular tuning method without seeing how your system responds, but most likely an open-loop method such as Cohen-Coon will be appropriate here.

  • PID Temperatur​e Autotuning

    Hi,
    Has anyone had much success with the 'Temperature' method of PID control and the autontuning of its parameters?  I have several temperature (and other slow-responding) systems that I'm trying to control.  But I'm not having much success getting adequate gains.  Is there a good guide to implementing this technique?
    Also, does the 'Tuning Complete' boolean even work?  It appears that the boolean only becomes true when the user stops autotuning manually?  Thanks.
    -Joe

    Joe,
    The "PID Temperature Autotuning" is used in system that have large time-delays. By large, the delay should be equal or bigger than the time constant. If that is not the case where the delay is just a fraction of the time constant, than the "PID Advanced Autotuning" probably would have a better response for you.
    The  "PID Temperature Autotuning" has a 'smith predictor' inside the algorithm that try to avoid the effects of the delay, but, if your system can't be model or differ too much from a first order model with large delay, then it is possible it can not work for you.
    The "Tuning Complete" problem was already reported and fixed in later versions. If you want to fix on your version, here is the code to patch your version and in attachment is the VI save in LabVIEW 2013:
    Barp - Control and Simulation Group - LabVIEW R&D - National Instruments
    Attachments:
    PID Autotuning (Temperature).vi ‏42 KB

Maybe you are looking for