feedback turns off heating element.

i am in need of a feedback loop that turns off a heating element when water reaches a certain temperature. therefor i would need a unit that would read a thermocouple then have two 12v outputs to control the heating element and some other 12v fans. one of the 12v outputs would need to be able to handle up to 25 amps.

basically the thermocouple reports back and if the water is to cold it turns off the heating element. if the water is too hot it turns on the fans.

is that something an arduino can do and if so can anyone point me in the right direction. once i have the unit getting it hooked up, coded and running shouldnt be an issue. i have someone who can help me on that part.

thanks in advance.

You might want to consider PID loop control for such a system, but a basic
if statement will do the basic job. You’ve already written the English version of
it! The C would be more like:

void loop ()
{
  float temp = readTemperature () ;
  if (temp > UPPER_LIMIT)
    fans_on () ;
  else
    fans_off () ;
  if (temp < LOWER_LIMIT)
    heat_on () ;
  else
    heat_off () ;
  delay (DELAY) ;
}

what unit would you recommend using? would the regular uno unit work? if so would it be able to handle the high current? choosing the parts to use is the part i need help with. thanks for the help so far though

No microcontroller handles high current directly. You use a switching device such as BJT, MOSFET, relay, SSR, or opto-triac for that. Depends on the voltages and currents involved. If mains is involved then you need to understand how to control it safely.

You also need to choose a temperature probe - a thermocouple seems unnecessary for just water, they are normally used for high temperature (upto 1000C), many semiconductor temperature sensors are available that work in the range 0..100C.

A thermocouple would be more robust (say the water boils away!), but you'd need a thermocouple amplifier shield, the output voltages are far too small to read without one.

MarkT: No microcontroller handles high current directly. You use a switching device such as BJT, MOSFET, relay, SSR, or opto-triac for that. Depends on the voltages and currents involved. If mains is involved then you need to understand how to control it safely.

You also need to choose a temperature probe - a thermocouple seems unnecessary for just water, they are normally used for high temperature (upto 1000C), many semiconductor temperature sensors are available that work in the range 0..100C.

A thermocouple would be more robust (say the water boils away!), but you'd need a thermocouple amplifier shield, the output voltages are far too small to read without one.

ok well i just got on here because my friend who has a Masters in ECE mentioned using an Arduino and me being a ME was hoping i could get a plug and play set up that would just require me to code it, hook up my input and two outputs and go to town.

in my limited electrical background it sounds like i need to use an arduino to modulate another unit to provide current to the element and fans?

sorry for being noobish with this. the most i have had in this type of thing is transfer function in a controls class. nothing practical.

If you want plug and play you can buy PID temperature controllers on Amazon, etc. starting around $20. You would need two of them, one controlling the heat and one controlling the fan.

Actual full details of the fans, power supply and heater element are needed to start designing control circuitry for them. It sounds like everything might be 12V at least which simplifies things. Is the heater 25A then?

Hi what are Masters in ECE and ME.

Not familiar with all the academic abbreviations.

Tom... :)

MarkT: Actual full details of the fans, power supply and heater element are needed to start designing control circuitry for them. It sounds like everything might be 12V at least which simplifies things. Is the heater 25A then?

http://api.ning.com/files/QIRFHufKVN*qHMnloo*rhqq07PrPhBxrcIvwysd6LM0ToAWrSCf9DOP5ibfK7jxxnzuSNdYUmlAUdvcae2qXsxdq*2Kwejs7/Peltierarduino.png

i think this would satisfy my needs to turn the heating element(peltier in my case) on or off. this leaves me without modulation though i believe? also i could just have my temp probe hook to an analog in channel and read it from there?

TomGeorge: Hi what are Masters in ECE and ME.

Not familiar with all the academic abbreviations.

Tom... :)

ECE = Electrical and Computer Engineering ME = Mechanical Engineering

I have an AUBER SYL controller, and I know, that it is used by people brewing beer to both control heating and cooling with a single controller.

Look here for a thread about it: http://www.homebrewtalk.com/f51/auber-syl-2362-need-heating-cooling-201526/

If you just want the job done quickly and with a minimum of problems (and at a reasonable price), buy a commercial controller.

If the purpose is playing and learning, and you have plenty of time, go for building your own.

Edit: you will still need some kind of "power electronics" to handle the power. The controller will only do the thinking, and supply you with a logic signal. And if you want a full answer, please give the full details of what you are doing. Do not let a lot of people waste time guessing.

cbrunnem: http://api.ning.com/file/QIRFHufKVN*qHMnloo*rhqq07PrPhBxrcIvwysd6LM0ToAWrSCf9DOP5ibfK7jxxnzuSNdYUmlAUdvcae2qXsxdq*2Kwejs7/Peltierarduino.png

i think this would satisfy my needs to turn the heating element(peltier in my case) on or off. this leaves me without modulation though i believe? also i could just have my temp probe hook to an analog in channel and read it from there?

A peltier device pumps heat (as well as dissipating quite a lot) - so you'll need a heat source. They do not work effciciently if the temperature difference across them is large.

But we need to know details of which peltier device, its datasheet, specifications, etc. And the temperature sensor.

BTW you cannot put large currents through a breadboard without melting it, large current connections need to be soldered or screw-terminals.

Modulation?

MarkT:

cbrunnem: http://api.ning.com/file/QIRFHufKVN*qHMnloo*rhqq07PrPhBxrcIvwysd6LM0ToAWrSCf9DOP5ibfK7jxxnzuSNdYUmlAUdvcae2qXsxdq*2Kwejs7/Peltierarduino.png

i think this would satisfy my needs to turn the heating element(peltier in my case) on or off. this leaves me without modulation though i believe? also i could just have my temp probe hook to an analog in channel and read it from there?

A peltier device pumps heat (as well as dissipating quite a lot) - so you'll need a heat source. They do not work effciciently if the temperature difference across them is large.

But we need to know details of which peltier device, its datasheet, specifications, etc. And the temperature sensor.

BTW you cannot put large currents through a breadboard without melting it, large current connections need to be soldered or screw-terminals.

Modulation?

this is the code i am using. i am using a breadboard right now and simulating the peltier with a 12v fan. that keeps the current under 1 amp and saves the breadboard. i will wire it up later with 14 gauge wire.

int peltier = 3; //The N-Channel MOSFET is on digital pin 3 int threshold = 4;

void setup(){ Serial.begin(9600);

//pinMode(peltier, OUTPUT); }

void loop(){ int sensorValue = analogRead(A0); float voltage = sensorValue * (5.0 / 1023.0); Serial.println(voltage);

if(voltage > threshold) { while(voltage > 2) { analogWrite(peltier, 255); //Write this new value out to the port delay(1000); sensorValue = analogRead(A0); voltage = sensorValue * (5.0 / 1023.0); Serial.println(voltage);

} analogWrite(peltier, 0); //Write this new value out to the port } }

the threshold is arbitrary at this point as i dont have a thermocouple yet plus i chose the threshold base on what the arduino would output(0v,3.3v, and 5v).

my question now is how can i pull a temperature from a temperature monitoring program like hwinfo or coretemp and send that to the arduino? we were thinking sending it by serial port and writing a windows program to do so. the idea is to turn on the peltier when the cpu goes above a certain temp then turn it back off when i goes below a certain temp. like turn on at 40*C then turn off at 35*c. there would be a delay between turning on then back off as to not cycle the peltier to much. the reverse would have the same ie off to on having a 10k delay. so the cpu temp would turn it on/off the temperature probe would turn the peltier off as well if the water temp goes below a certain temp to avoid condensation.

any thoughts?

cbrunnem: .......

any thoughts?

Yes, if you want a good answer, please give the full details of what you are doing. Do not let a lot of people waste time guessing.

Peter_I:

cbrunnem: .......

any thoughts?

Yes, if you want a good answer, please give the full details of what you are doing. Do not let a lot of people waste time guessing.

i already said what i am doing. i want a program that grabs the cpu temp from hwinfo or coretemp then send it to my arduino. i will then use that temp to turn on or off a peltier. that is my current problem and what i need help with. the unit will be 24/7 usb enabled as well.

other functions: when the water temp is below ambient the fans turn off: complete already when water temp going below a threshold(ie 10*C or 12*c) turn off peltier: completed already if incoming water is above ambient but peltier is still on turn on fans: completed already.

im using an arduino Uno r3 for those how dont know.