# Seeking help for component selection. Arduino Heater Control : current 10A, system voltage 12V DC

#### MisterBill2

Joined Jan 23, 2018
10,582
Analog Devices company used to produce a number of thermocouple interface products, but I am not familiar with their present product line. Omega Instruments was primarily a thermocouple company and they did not do much else, so they would be another place to check for alternative methods of temperature measurement stuff.

#### KeepItSimpleStupid

Joined Mar 4, 2014
5,090
Signal conditioning: see https://www.analog.com/media/en/new...ions-bulletins-brochures/LTC2983_Ad_Final.pdf there are about 3 devices in the family.

For the temperature range, you would want to use a Type T thermocouple.

For accuracy, an RTD.
https://www.omega.com/prodinfo/rtd.html
You can hook them up in 3 wire or 4-wire mode depending on the signal conditioner. Wires must be the same gauge.

I used these. I used Sn96 solder for temperatures from -80 to 200 C.

Actually, what I did was pretty wierd. The environmental chamber had it's own temperature control, and we wanted the temperature of the DUT (Device Under Test), so I had made a moveable probe with height adjustment that was placed on the DUT.

I found out the PB of the chamber temperature control and used that for +-100% was 10 deg C. So, I had 10 deg C in 0.1 deg C increments for 0-100% insteps of 1%.

So, I modified the setpoint of the chamber using PID to actually control the temperature of the sample.

It turned out that the PB of the chamber was 10 deg C and max offset was 10 deg as well dependent on temperature.

I should have jumped in earlier.

Last edited:

#### djsfantasi

Joined Apr 11, 2010
8,079
I won't try and suggest a commercial controller but there are commercial PID controllers which can store profiles of temperature control as well as ramp and soak features which would be difficult to achieve with an Arduino.
Why do you think that storing multiple profiles would be difficult with an Arduino?

You can store large static tables in the Arduino’s flash memory, far in excess of what can be stored within SRAM. The Uno has 2K of variable space and 32K of flash (program) memory. A table of 512 integers uses 1K of variable space. But if that table is static, Arduino supports placing it in SRAM. Let’s say the sketch is 10k in size. And the boot loader used 0.5K. That leaves 11.5K for any curve profiles.

I’ve used this technique. I auto generated the code with an Excel spreadsheet (or a Basic program) on my laptop and included it into the sketch.

Joined Jan 15, 2015
6,324
Why do you think that storing multiple profiles would be difficult with an Arduino?
Depending on programming skills using an Arduino would be a viable solution. Again, it depends on the users programming skills. Were the project mine and allowed a budget I would likely lean towards a turn key solution using a controller designed for the application. That would just be how I would go about it. Especially if you want to change ramp and soak times but again an Arduino or similar uC would work fine.

As to data collection I like using an off the shelf solution like the Mini IPAQ-H a now discontinued unit but there are dozens like them from a host of manufacturers. I like units like this because they are easily programmed for range and scaling. There is also no shortage of software to do whatever one wants with collected data. Chart it, graph it and about anything else. There are also dozens of small compact data acquisition units available designed for a thermocouple (of your choosing) inputs.

Pretty much all comes down to budget and to what uncertainty one wants results I guess.

Ron

#### MisterBill2

Joined Jan 23, 2018
10,582
Check also at "Automation Direct", as they have a huge collection of electrical control products, and their delivery is as fast as they claim it to be, unless you have a payment in default.

#### nightcrawler218

Joined Dec 24, 2012
26
Signal conditioning: see https://www.analog.com/media/en/new...ions-bulletins-brochures/LTC2983_Ad_Final.pdf there are about 3 devices in the family.
Thanks Mr. Kiss for the insight. The product seems useful & reliable for the purpose that I am looking to fulfil. It has expansion boards & evaluation kits as well.
https://www.digikey.com/product-det...og-devices/DC2296A-KIT/DC2296A-KIT-ND/5031657
A big thumbs up.

For accuracy, an RTD.
https://www.omega.com/prodinfo/rtd.html
You can hook them up in 3 wire or 4-wire mode depending on the signal conditioner. Wires must be the same gauge.
I have doubts with this statement. The operating temp. is 30*C to 110*C max, usage: indoor (to be put under an Aluminium plate, temperature of which we are trying to monitor, yes! ground loop issue is there with TC). I am keen to know why do you prefer loop current over loop voltage when it comes to measure the temperature using a thermal probe. Isn't the loop current more susceptible to noise than loop voltage? Does RTDs completely remove the ground loop error? Please correct my understandings.

Actually, what I did was pretty wierd. The environmental chamber had it's own temperature control, and we wanted the temperature of the DUT (Device Under Test), so I had made a moveable probe with height adjustment that was placed on the DUT.
It must be a great hack that comes with experience.

I found out the PB of the chamber temperature control and used that for +-100% was 10 deg C. So, I had 10 deg C in 0.1 deg C increments for 0-100% insteps of 1%.
Honestly, I missed the wit and technicality behind this. I am new to this domain, can you please describe the terms that you've used here in brief or share some good resources on this topic. PB stands for what?

You can store large static tables in the Arduino’s flash memory, far in excess of what can be stored within SRAM. The Uno has 2K of variable space and 32K of flash (program) memory. A table of 512 integers uses 1K of variable space. But if that table is static, Arduino supports placing it in SRAM. Let’s say the sketch is 10k in size. And the boot loader used 0.5K. That leaves 11.5K for any curve profiles.
Thanks for the input. Arduino is used for implementing the control logics only. LCD touchscreen with built-in memory module is being used for registering inputs to the Arduino.

Depending on programming skills using an Arduino would be a viable solution. Again, it depends on the users programming skills. Were the project mine and allowed a budget I would likely lean towards a turn key solution using a controller designed for the application. That would just be how I would go about it. Especially if you want to change ramp and soak times but again an Arduino or similar uC would work fine.
Thanks for sharing your views Reloadron. Yes, we have budget constrains. Trying to strip down the cost of a $500 device without compromising with the performance & features to$200.
https://labscientific.com/Cytology/Tissue-Floating-Bath-and-Slides-Warmer/Slide-Warmers/
The operations are straightforward & relatively simpler than industrial automation requirements though.

As to data collection I like using an off the shelf solution like the Mini IPAQ-H a now discontinued unit but there are dozens like them from a host of manufacturers.
It seems that these devices are great for process control. Hope to use them in future projects. The HART protocol is something entirely new to me.
Thanks for such great resources.

Thanks to the entire AAC community for being a great place for learning & sharing experiences. As far as the budget & production quantity (annually 20-50 nos.) is concerned, what approach of temperature sensing would you go with?

Last edited:

#### KeepItSimpleStupid

Joined Mar 4, 2014
5,090
Accuracy of RTD vs Thermocouple

https://www.thermometricscorp.com/acstan.html

The RTD is measured in a bridge set-up. You have both current excitation and voltage measurement. Since there are 2 equal leads with the same current, you CAN use 2x the voltage drop of a single lead to measure the phantom voltage drop of the missing 4th lead.

There is a method of transmitting process signals called 0-20 mA and 4-20 mA. This allows you to get rid of ground loops. You can convert the current to a voltage with a small resistor at the unit it needed. Sometimes they have to be isolated. A power supplies setpoint is relative to the positive terminal. If you have 8 power supplies from 0-40 V, you need isolation.

So, when I controlled some power supplies, Isolated voltage input was used to measure current and voltage and isolated current was used to set the power supply output (0-5V). This avoids using force and sense.

You just took a PID algorithm and used it. I did it from scratch. I also had experience with Analog PID. I did not implement auto-tuning. The controller we used were Eurotherm 980, 984, 919 and 818 and one other 824 maybe. The config manual for the latter ones is many pages.

There are a bunch of terms for PID
P, I, D, Pout (the -100 to 100% output), e or error, integral of e, derivative of e

P can be though of as Gain. 1/P can be thought of the Proportional Band. During the PB range, the controller is acting in proportional mode. Pout = e*P+K. K is the integrated e term, so it;s effectively a constant. D is effectively 0 at this point in time.

I and D have units of repeats/minute.

As you turn up the gain, you get better control, but less stability.

==

The RTD is generally deposited in a thin ceramic substrate so it's inherently isolated.

You have to watch those terms like accuracy, repeatability and resolution.

Accuracy is how close it is to a real standard.

Thermocouples have to have another type of sensor to measure the temperature of the isothermal terminals. A solid state sensor generally does that. So, you need the voltage at that isothermal junction and the temperature there.

You need two lookup functions. temp to mV for the instrument ambient temp range and mV to temperature for the measurement range. You look at the temperature of the junction, convert to mV and add/subtract (forget which) to the measured value in mV. Now convert mV to temperature.

Useful info. Shorted thermocouples (a wire will do) read the minimum temperature or ambient. A 200 to 100 C thermometer will read 200. A 0 to 1200 C will read 25C at room temperature.

#### djsfantasi

Joined Apr 11, 2010
8,079
Look up PROGMEM on the Arduino Reference pages. It documents how to store static data in flash/program memory.

Joined Jan 15, 2015
6,324
Looking back at your post #40 you posted some really good images. Thanks for sharing those.

When heating a plate, any plate, there are a few basic concerns. Some of which may or may not be of importance to you. Something we generally look for is what I called temperature uniformity. How well or how uniform is the temperature uniformity? The only way to know how well the heat is distributed is to measure or monitor the temperature dispersion across the working surface. We won't get into alloys and thermal conduction

When heating a surface how well the thermal energy is dispersed is a function of a whole bunch of things. Using thermocouples is a good way to go as long as we can live with the inherent error of the thermocouple. Thermocouples have limits of allowable error just like any other measuring sensor. Typically things look like this:

Type T:
MAXIMUM TEMPERATURE RANGE
– 328 to 662°F
– 200 to 350°C
– 76 to 212°F
– 60 to 100°C
LIMITS OF ERROR
(Whichever is greater)
Standard: 1.0°C or 0.75% Above 0°C
1.0°C or 1.5% Below 0°C
Special: 0.5°C or 0.4%
Mild Oxidizing, Reducing Vacuum or Inert; Good
Where Moisture Is Present; Low Temperature
and Cryogenic Applications
TEMPERATURE IN DEGREES °C
REFERENCE JUNCTION AT 0°C

Type K:
MAXIMUM TEMPERATURE RANGE
– 328 to 2282°F
– 200 to 1250°C
32 to 392°F
0 to 200°C
LIMITS OF ERROR
(Whichever is greater)
Standard: 2.2°C or 0.75% Above 0°C
2.2°C or 2.0% Below 0°C
Special: 1.1°C or 0.4%
Clean Oxidizing and Inert; Limited Use in
Vacuum or Reducing; Wide Temperature
Range; Most Popular Calibration
TEMPERATURE IN DEGREES °F
REFERENCE JUNCTION AT 32°F

The above limits error are just a few examples of what a common out of the box thermocouple should meet. When more accuracy (better uncertainty) is wanted thermocouples can be calibrated and a chart provided for temperature cardinal points. Unless someone really needs better uncertainty a basic thermocouple will do fine.

The next step is your measurement plane is the indicator or controller device. Since the thermocouple has a very low milli-volt output corresponding to temperature the low signal level needs to be amplified and converted to engineering units like degrees C or F. That process will introduce more error to your measurement plane. The end result here is you algebraically add the allowable limits of error and see if the results are something you can live with. With a controller you want to maintain control within a small proportional band within your setpoint. I mentioned that in a previous post regarding under damped, over damped and critically damped.

Placing thermocouples in parallel should provide an average milli-volt output That will not give you any idea of where the hot or cold spots exits on a surface but if we assume eventually that surface will achieve thermal equilibrium eventually in time it matters not. Now if the surface temp does not achieve a good level of thermal equilibrium then the design needs work. Simply a matter of what is or what is not acceptable. My experience with placing thermocouples in parallel is I prefer to use un grounded type thermocouples using a sheath. Your thermocouples seem to be sheath type for use in ambient air using a spring loaded bayonet type coupling. Very common for surface probe measuring.

As to using an Arduino or similar uC? The Arduino is a 10 bit uC. That is if you convert a temperature span to 0 to 5 volts or 0 to 3.3 volts will the 10 bit resolution be adequate for what you want? If you want to measure temperature using an Arduino I would signal condition each cannel (thermocouple) and average in your code. I would also look at each channel and find your hot spots during heat and look at heater placement.

Ron

#### nightcrawler218

Joined Dec 24, 2012
26
Thanks for the detailed insight Ron.

#### ebeowulf17

Joined Aug 12, 2014
3,282
As to using an Arduino or similar uC? The Arduino is a 10 bit uC. That is if you convert a temperature span to 0 to 5 volts or 0 to 3.3 volts will the 10 bit resolution be adequate for what you want? If you want to measure temperature using an Arduino I would signal condition each cannel (thermocouple) and average in your code. I would also look at each channel and find your hot spots during heat and look at heater placement.
You've contributed tons of great information in this thread, but there is one small bit of misleading info here. Since the TS is using a MAX breakout for TC conditioning, the Arduino ADC resolution is irrelevant. The breakout uses 12 bit internal ADC to provide 0.25C resolution, up to a max of 1024C, over an SPI connection.

So, the Arduino itself shouldn't present any real limits, but the breakout might.

https://datasheets.maximintegrated.com/en/ds/MAX6675.pdf