Author Topic: Temperature control system  (Read 2847 times)

0 Members and 2 Guests are viewing this topic.

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Temperature control system
« on: January 22, 2025, 07:52:21 pm »
I’m working on designing a control system to heat a small region of a metallic sample to 70°C and maintain that temperature for a few minutes. I’ve selected some 10x10mm microheaters from IST that can achieve this temperature. The heaters operate at 12V and have a resistance of 14Ω. For temperature measurement, I plan to use a PT100 sensor, also from IST, which is appropriately sized for the application.

My proposed setup involves connecting the microheater to a solid-state relay (SSR) capable of supplying 12V, with the relay controlled by a DAQ system. The temperature signal from the PT100 sensor will act as the control input for the system: if the temperature exceeds or falls below the target, the DAQ will toggle the relay to turn the heater off or on, respectively.

I’m not an expert in electronic systems, so I’d like your opinion on whether this approach is sound or if there’s a better way to interface the relay with the DAQ. Since these components are expensive, I want to ensure my design is reliable before proceeding. Thank you for your help!!
 

Offline ejeffrey

  • Super Contributor
  • ***
  • Posts: 4842
  • Country: us
Re: Temperature control system
« Reply #1 on: January 22, 2025, 08:16:29 pm »
This sounds fine   For a low voltage heater you don't really need an SSR, a simple mosfet would work.  Assuming your 12 volts is DC, if you do use an SSR make sure that it works for DC.  Many SSRs are opto-TRIACs and require zero crossings to work.
 

Offline LinuxGuy123

  • Regular Contributor
  • *
  • Posts: 83
  • Country: ca
Re: Temperature control system
« Reply #2 on: January 23, 2025, 12:54:30 am »

I'd use a MOSFET and drive it with PWM to vary the power delivered to the patch.   Wrap it (PWM duty cycle) in a PID loop and you should be good to go.

A SSR is fine if the mass you are heating has a slow enough response that on/off is sufficient.   If the mass is small and the heat is high you will risk overshooting with simple on/off control.
 

Offline rogerggbr

  • Regular Contributor
  • *
  • Posts: 72
  • Country: gb
Re: Temperature control system
« Reply #3 on: January 23, 2025, 10:04:55 am »
   If the mass is small and the heat is high you will risk overshooting with simple on/off control.
Exactly this, it's all about the time constant of the system. On/off control is best suited to slow acting stable systems which are also not too critical with regards to accuracy (like a domestic oven).
 

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Re: Temperature control system
« Reply #4 on: January 23, 2025, 11:05:28 am »
Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
 

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 22434
  • Country: gb
  • 0999
Re: Temperature control system
« Reply #5 on: January 23, 2025, 11:32:47 am »
Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
That sounds a bit overkill.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.
 

Offline AussieBruce

  • Regular Contributor
  • *
  • Posts: 80
  • Country: au
Re: Temperature control system
« Reply #6 on: January 23, 2025, 12:39:40 pm »
Hi, Closed loop control is an imprecise science, there's always some uncertainty in terms of your 'plant', but also the requirements. We don't have any idea of how precise your control needs to be, that's not a problem, I spent 4 decades designing control systems and very rarely came across a rigorous performance specification.

If as you say, your time constant is going to be small, then on-off control could be troublesome. PID (you may not need the D, and it's a lot easier without it) with PWM on your heater could give you better results but if this is new to you you'll find it quite an exercise. Maybe try on-off first, which can be implemented more easily. Just one more thing, on-off schemes often incorporate some hysteresis. Plenty of info on the web.

Enjoy
 

Offline Faranight

  • Supporter
  • ****
  • Posts: 256
  • Country: si
Re: Temperature control system
« Reply #7 on: January 23, 2025, 01:20:59 pm »
I'd use a MOSFET and drive it with PWM to vary the power delivered to the patch.   Wrap it (PWM duty cycle) in a PID loop and you should be good to go.
This is the proper way of doing it IMO. I would do it in the same manner, but you'll need to adjust the P and I constants (probably can forget the "D"ifferential constant) accordingly to prevent overshoot or oscillation.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.
I remember reading somewhere that a Pt100 element (remember, chemical symbol for platinum is "Pt" - capital P and lowercase t) was driven by a constant current source (i.e. 100uA), and then the voltage drop was measured across the element. This allowed for more accurate temperature measurement.

Also, remember to place some decent capacitance in parallel to the driving mosfets and heater to reduce voltage fluctuations in the circuit.
« Last Edit: January 23, 2025, 01:23:26 pm by Faranight »
Fara-day? Fara-night.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 11232
  • Country: fi
Re: Temperature control system
« Reply #8 on: January 23, 2025, 01:34:20 pm »
Missing the most important detail, what is desired control accuracy (how much is that 70degC allowed to be overshot and oscillate?) The best solution is quite different for maintaining 70degC within +/- 0.2 degC versus accepting variation between 65 and 75 degC.


Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
That sounds a bit overkill.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.

Definitely no overkill. "Simple" anything with PT100 is usually a colossally bad idea. Why would you get an expensive, accurate sensor and downgrade it to some crappy +/- 3degC accuracy which any NTC or cheap digital sensor can do?

PT100 is really difficult not only because resistance is so low but also the slope of resistance is not steep at all, so a tiny change in resistance signifies large change in temperature. Not only wire resistance but contact resistance matters. 2-wire solutions are out of question, and even 3-wire solutions questionable. Usually better idea is not to use PT100 at all if poor accuracy is acceptable and simplicity of solution preferred instead.

PT1000 is easier to deal with.

Then again, if one can choose an existing pre-engineered PT100 measurement unit with accuracy specifications, that's a win and it would offload the analog engineering task of PT100 frontend.
« Last Edit: January 23, 2025, 01:39:12 pm by Siwastaja »
 
The following users thanked this post: Someone

Offline Zero999

  • Super Contributor
  • ***
  • Posts: 22434
  • Country: gb
  • 0999
Re: Temperature control system
« Reply #9 on: January 23, 2025, 01:44:11 pm »
All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.
I remember reading somewhere that a Pt100 element (remember, chemical symbol for platinum is "Pt" - capital P and lowercase t) was driven by a constant current source (i.e. 100uA), and then the voltage drop was measured across the element. This allowed for more accurate temperature measurement.
Ah yes, it's capital P and lower case t.

A constant current source will work and it makes it easier to process the reading as the output is simply I*R. If the ADC is referenced to the supply, then a precision resistor will work just as well, because the voltage is ratiometric, but the downside is the calculations require more processing.

Missing the most important detail, what is desired control accuracy (how much is that 70degC allowed to be overshot and oscillate?)

Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
That sounds a bit overkill.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.

Definitely no overkill. "Simple" anything with PT100 is usually a colossally bad idea. Why would you get an expensive, accurate sensor and downgrade it to some crappy +/- 3degC accuracy which any NTC or cheap digital sensor can do?

PT100 is really difficult not only because resistance is so low but also the slope of resistance is not steep at all, so a tiny change in resistance signifies large change in temperature. Not only wire resistance but contact resistance matters. 2-wire solutions are out of question, and even 3-wire solutions questionable. Usually better idea is not to use PT100 at all if poor accuracy is acceptable and simplicity of solution preferred instead.

PT1000 is easier to deal with.

Then again, if one can choose an existing pre-engineered PT100 measurement unit with accuracy specifications, that's a win and it would offload the analog engineering task of PT100 frontend.
Have you seen the price of that NI module NI9219? That's what I meant by overkill.

It still really isn't that difficult. I've done it before with a current source, based on the cheap  LM334, a temperature compensating diode, a 0.01% ±5ppm/°C, instrumentation amplifier and a 16-bit ADC. One instrumentation amplifier measures the voltage across the precision resistor and another across the Pt100. The current can then be determined by measuring the voltage across the sense resistor and therefore the resistance of the Pt100 can be determined to within 0.01%
 

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Re: Temperature control system
« Reply #10 on: January 24, 2025, 03:31:17 pm »
Hi, Closed loop control is an imprecise science, there's always some uncertainty in terms of your 'plant', but also the requirements. We don't have any idea of how precise your control needs to be, that's not a problem, I spent 4 decades designing control systems and very rarely came across a rigorous performance specification.

If as you say, your time constant is going to be small, then on-off control could be troublesome. PID (you may not need the D, and it's a lot easier without it) with PWM on your heater could give you better results but if this is new to you you'll find it quite an exercise. Maybe try on-off first, which can be implemented more easily. Just one more thing, on-off schemes often incorporate some hysteresis. Plenty of info on the web.

Enjoy

Thank you for your considerations! I will definitely start with the simpler on-off control system and then try to implement the PWM control if necessary. I do not require a very high accuracy: +-2°C is acceptable for my application.

Missing the most important detail, what is desired control accuracy (how much is that 70degC allowed to be overshot and oscillate?) The best solution is quite different for maintaining 70degC within +/- 0.2 degC versus accepting variation between 65 and 75 degC.


Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
That sounds a bit overkill.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.

Definitely no overkill. "Simple" anything with PT100 is usually a colossally bad idea. Why would you get an expensive, accurate sensor and downgrade it to some crappy +/- 3degC accuracy which any NTC or cheap digital sensor can do?

PT100 is really difficult not only because resistance is so low but also the slope of resistance is not steep at all, so a tiny change in resistance signifies large change in temperature. Not only wire resistance but contact resistance matters. 2-wire solutions are out of question, and even 3-wire solutions questionable. Usually better idea is not to use PT100 at all if poor accuracy is acceptable and simplicity of solution preferred instead.

PT1000 is easier to deal with.

Then again, if one can choose an existing pre-engineered PT100 measurement unit with accuracy specifications, that's a win and it would offload the analog engineering task of PT100 frontend.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.
I remember reading somewhere that a Pt100 element (remember, chemical symbol for platinum is "Pt" - capital P and lowercase t) was driven by a constant current source (i.e. 100uA), and then the voltage drop was measured across the element. This allowed for more accurate temperature measurement.
Ah yes, it's capital P and lower case t.

A constant current source will work and it makes it easier to process the reading as the output is simply I*R. If the ADC is referenced to the supply, then a precision resistor will work just as well, because the voltage is ratiometric, but the downside is the calculations require more processing.

Missing the most important detail, what is desired control accuracy (how much is that 70degC allowed to be overshot and oscillate?)

Thank you for your suggestions!! The material I need to heat is very small, so the time constant would probably be too small for the first scheme. I am now thinking of using an RTD module (NI9219) to read the temperature of the PT100 sensor and an Arduino connected to the microheater with the MOSFET to produce a PWM signal. Do you think this solution can work?
That sounds a bit overkill.

All you need is a precision resistor in series with the PT100. You can then calculate the resistance of the PT100, therefore the temperature. If the resistance of the cable is significant, then go for a four wire connection.

Definitely no overkill. "Simple" anything with PT100 is usually a colossally bad idea. Why would you get an expensive, accurate sensor and downgrade it to some crappy +/- 3degC accuracy which any NTC or cheap digital sensor can do?

PT100 is really difficult not only because resistance is so low but also the slope of resistance is not steep at all, so a tiny change in resistance signifies large change in temperature. Not only wire resistance but contact resistance matters. 2-wire solutions are out of question, and even 3-wire solutions questionable. Usually better idea is not to use PT100 at all if poor accuracy is acceptable and simplicity of solution preferred instead.

PT1000 is easier to deal with.

Then again, if one can choose an existing pre-engineered PT100 measurement unit with accuracy specifications, that's a win and it would offload the analog engineering task of PT100 frontend.
Have you seen the price of that NI module NI9219? That's what I meant by overkill.

It still really isn't that difficult. I've done it before with a current source, based on the cheap  LM334, a temperature compensating diode, a 0.01% ±5ppm/°C, instrumentation amplifier and a 16-bit ADC. One instrumentation amplifier measures the voltage across the precision resistor and another across the Pt100. The current can then be determined by measuring the voltage across the sense resistor and therefore the resistance of the Pt100 can be determined to within 0.01%

A NI 9219 is overkill, but the lab already has one of them. I am a student student and I have to do some tensile tests on metallic samples heated at that temperature. I have selected the Pt100 (https://www.ist-ag.com/en/products/pt100-class-f03-insulated-wires) mostly because I need a very tiny sensor. Unfortunately, I am studying mechanical engineering and don't know much about electronic devices. Also, we have a license for LabView, so I believe that the temperature measurement will likely not be a problem. I am more worried about the control of the microheater.

 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 11232
  • Country: fi
Re: Temperature control system
« Reply #11 on: January 24, 2025, 06:39:21 pm »
Surely if your lab has Pt100 frontends, data acquisition systems and Labview stuff lying around some of those DAQ boxes should have at very least "general purpose output" pin. Just wire a N-channel MOSFET to such output and you are good to control the heater. I'm sure you can toggle it on/off a few dozen times per second from Labview?
 

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Re: Temperature control system
« Reply #12 on: January 27, 2025, 08:44:08 am »
Unfortunately, we have some modules to acquire data and not to generate some outputs, so I was thinking about the possibility of using Arduino with the mosfet to control the microheater.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 11232
  • Country: fi
Re: Temperature control system
« Reply #13 on: January 27, 2025, 08:50:30 am »
Sure, sounds like a typical job for Arduino. I'm certain Pt100 interface "shields" are available for Arduino and then you can write a PID controller.
 

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Re: Temperature control system
« Reply #14 on: January 27, 2025, 08:56:07 am »
Thanks for your interest! Actually, I was thinking of doing all the control and measurement in Labview.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 17249
  • Country: de
Re: Temperature control system
« Reply #15 on: January 27, 2025, 09:12:59 am »
For the sensor I would not use Pt100, but a higher resistance sensor that can get away without 4 wire connection. So more Pt1000 or a measurement type NTC (e.g. in a diode like glass case). The NTC gives more resistance change and can get away with less ADC resolution or simpler signal conditioning. For only +-2 C even the 10 Bit ADC inside a µC should be OK.

A simple on off regulator can also be build the analog way with a simple comparator.
A simple proportional regulator could also be build analog and can be feasible at low power.

The thermal design of the system and position of the sensor can make a big difference on how easy it is to regulate the system. One should avoid a large delay for the sensor - so good thermal contact of the sensor is a factor. Similar a large heater mass that is only loosely coupled is bad.
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 11232
  • Country: fi
Re: Temperature control system
« Reply #16 on: January 27, 2025, 09:26:02 am »
Also a little bit of thermal coupling from the heater into the sensor (so that the sensor is mostly reading the item-to-be-heated, but taking a bit of contact to the heater itself) is a good old way to build a electro-mechanical pulse width modulator + P controller. This sometimes happen even accidentally. The point is that if the heater itself cycles rapidly, it couples a thermal ramp to the sensor, such that the control starts reducing the duty cycle already a bit before hitting the target, reducing overshoot.

As such, NTC + comparator + MOSFET could do decently for an analog solution.
« Last Edit: January 27, 2025, 09:27:47 am by Siwastaja »
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3796
  • Country: gb
Re: Temperature control system
« Reply #17 on: January 27, 2025, 11:40:20 am »
TBH it seems like the OP just needs a decent hotplate with alloy plate as a thermal mass.

https://www.fishersci.co.uk/gb/en/browse/90088077/conventional-hotplates

 

Offline GadroTopic starter

  • Newbie
  • Posts: 6
  • Country: it
Re: Temperature control system
« Reply #18 on: January 28, 2025, 01:50:28 pm »
Also a little bit of thermal coupling from the heater into the sensor (so that the sensor is mostly reading the item-to-be-heated, but taking a bit of contact to the heater itself) is a good old way to build a electro-mechanical pulse width modulator + P controller. This sometimes happen even accidentally. The point is that if the heater itself cycles rapidly, it couples a thermal ramp to the sensor, such that the control starts reducing the duty cycle already a bit before hitting the target, reducing overshoot.

As such, NTC + comparator + MOSFET could do decently for an analog solution.

For the sensor I would not use Pt100, but a higher resistance sensor that can get away without 4 wire connection. So more Pt1000 or a measurement type NTC (e.g. in a diode like glass case). The NTC gives more resistance change and can get away with less ADC resolution or simpler signal conditioning. For only +-2 C even the 10 Bit ADC inside a µC should be OK.

A simple on off regulator can also be build the analog way with a simple comparator.
A simple proportional regulator could also be build analog and can be feasible at low power.

The thermal design of the system and position of the sensor can make a big difference on how easy it is to regulate the system. One should avoid a large delay for the sensor - so good thermal contact of the sensor is a factor. Similar a large heater mass that is only loosely coupled is bad.

Great ideas! I have attached a scheme of my project. There is a 0.4mm distance between the microheater and the temperature sensor. Otherwise, I was thinking of placing the sensor on the top surface of the specimen. Unfortunately, I have already bought the Pt100 sensors because I am going out of time.
« Last Edit: January 28, 2025, 01:52:11 pm by Gadro »
 

Offline voltsandjolts

  • Supporter
  • ****
  • Posts: 3796
  • Country: gb
Re: Temperature control system
« Reply #19 on: January 28, 2025, 02:31:28 pm »
Tensile machine jaws look like a nice heatsink, maybe it's better to heat them up to temperature.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 17249
  • Country: de
Re: Temperature control system
« Reply #20 on: January 28, 2025, 02:40:53 pm »
From the drawing it looks like a lot of heat would flow away from the sample to the clamps of the testing maching. The large heat flow through the critical zone could be a real issue. One may have to heat the clamps and can likely get away with not heating the sample directly.

The direct contact of the sensor and heater to the sample could also destroy them, if the sample breaks in a brittle way. I have seen quite violent damage to a sensor this way. It can still be OK with a ductile sample.

For the temperature control system, there are also commercial controlers that sometimes are surprisingly cheap. It can still be tricky to find one with a suitable output.

A small PT1000 sensor may still be easier to get than fiddeling with 4 wires on the Pt100. The measurement systems usually support both.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 15939
  • Country: ch
Re: Temperature control system
« Reply #21 on: January 28, 2025, 06:36:05 pm »
I would suggest running thermal simulations in your CAD software to make sure your sample actually has reasonably even heating: I concur with the others’ observation that the clamps will act as huge heatsinks. This may mean that only the very center of your sample actually reaches the desired temperature.
 

Offline tooki

  • Super Contributor
  • ***
  • Posts: 15939
  • Country: ch
Re: Temperature control system
« Reply #22 on: January 28, 2025, 06:39:20 pm »
For the temperature control system, there are also commercial controlers that sometimes are surprisingly cheap. It can still be tricky to find one with a suitable output.
Indeed. I’m actually right in the middle of building some temperature controllers for the practical lab courses (chemistry) using inexpensive temperature PID controllers. $40-50 (depending on display size) from DigiKey, Selec brand (made in India), Pt100 input. The self-tuning produced PID values that already, with no further manual tweaking, have kept the temperature extremely stable. It has a relay and an output for a SSR.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf

 

-->