PWM Heater Element Control

I've done a lot of searching and am learning a lot. I have my Uno in hand and can make the led blink.

What I want to do is PWM like but with longer intervals for a 500 watt 120vac heater element. Would switching on and off a SSR with a PWM cycle of 10 seconds be a good fit for this? So 1 second on and 9 seconds off is 10% and 5 seconds on and 5 seconds off would be 50% and so on.

Can you monitor the I/O of the Uno via the USB cable?

Thanks
John

Would switching on and off a SSR with a PWM cycle of 10 seconds be a good fit for this?

A suitably rated SSR, yes.

Look at the BlinkWithoutDelay example, since you will need to manually define the on/off activity.

Can you monitor the I/O of the Uno via the USB cable?

I/O from where? The USB cable is connected to the serial port of the Arduino. Only once device can be connected to that port at a time. If that is the PC, then the serial port can't be used for anything else.

If the serial port IS being used for something else, the PC can't also connect to it.

If the I/O you want to monitor is what the Arduino is reading from digital or analog input pins, that information can be sent to the serial port (using Serial.print). If the output you want monitor is what the Arduino is setting the output pins to, the Arduino can also write to the serial port when it makes a change. You have to program it to do these things, though.

What I was wondering is if there was some way to either watch the program run or see what the Arduino's I/O current state was while running a program on the PC via the USB cable. Like you would do with a PLC and the programming software where you can monitor the I/O while the PLC runs.

Ok, BlinkwithoutDelay seems pretty straight forward to do what I want.

This is going to be fun, I can tell...

Thanks
John

I was looking at the LCD on adafruit as a good local feedback.

Is it simple to change the setpoints via the USB once a sketch is downloaded?

Thanks
John

I could use local control to change the set point. I'm not exactly sure how I want to do this yet. It is a heater controller and part of the program would react to a second temperature probe to alter the set point of the heater. So what happens is I set the box temperature to 225F and the internal temperature of the item cooking to 135F. When the internal temperature reaches set point change the box temperature to internal temperature to not over cook the food. I have found an SSR that I plan on using for the heater control.

For the temperature sensors I'm using ET-73 replacement probes and they are thermistors.

I'm so very new to the Arduino that I don't know what it can and can't do...

Thanks for the help
John

Thanks for the tip but, I've been surfing Google for about 3 or 4 weeks now and sometimes you just need to know the proper keyword to search for...

Oh, and I found about 50 links to the same BBQ topic using ET-73's all over but none are complete sadly...

John

GOOGLE: ARDUINO PID KILN

Also yields good results that would apply to a heater control

Look for MOC30XX family from Fairchild or ONsemi if you want to dig deep into the hardware side of things.

Don't use just one type of temperature sensor or one temperature sensor. Use two sensors or more sensors so you can have a deviation finding algorithm in place. Otherwise the system can keep on heating if the sensor gets broken (this is experience talking...).

Depending on the heating element and the heating subject it may be better to use a setpoint +/- threshold (thermostat) instead of the PWM. But that's something you need to check when all the hardware is set.

You can send feedback to the PC or LCD and to regulate the setpoint you can use keys to increase/decrease (this has problems if the power goes down) or a potmeter connected to the analog pins.

Again... be very careful with your software and sensors used so you can avoid safety problems related with sensor failure.

pwillard, Thanks for the kiln tip. I never would have thought of that and it gave me some good info.

bubulindo, Thanks for the heads up on temperature sensor failure. I assume using a thermistor (no experience yet) once it is out of the circuit I could know this perhaps and stop heating? I'll have to do some experiments on that.

The ideal situation would be to be able to plug the USB cable in and set my set points and pick the program to run then unplug from the Arduino if I wanted to and it keep running the program (after the start button is pressed) and display the set points and actual temperature on the LCD screen. I'm thinking of using a Python UI on the PC. Does this sound plausible?

Thanks for the ideas
John

Richard,

Thanks for the heads up on the Arduino power, that thought never crossed my mind being so new to this. I'm using the Uno but I'll work on that last. That makes sense to get the basic functionality up and going then expand on that.

pwillard, Thanks again, I actually found a very good PWM example searching for KILN.

Thanks
John

I also have some of my own code and solutions since Kiln Control is one of my on-going projects...

Do you have a link to your code?

Thanks
John