I am new to the world of Arduino and have never used one nor programmed one. I am interested in creating a controller based on an Arduino to control a 5500 watt heater element in my beer brewing boil kettle. I do not need full PID control. What I envision is a controller that uses a rotary encoder to tell the Arduino a value between 0 and 100 that would correspond to duty cycle for the heater element. The Arduino would control an SSR with an overall cycle time of 10 seconds. So 100% would be 10 seconds on and 0 off. 77% would be 7.7 seconds on and 2.3 seconds off. I would also like to include a digital dispaly that would show the duty cycle selected by the rotary encoder. Any help would be appreciated. I am comfortable working with hardware, soldering, and mains power but have zero programming experience.
You'd probably be best served by buying a ready made controller. An eBay or Google search for "PID temperature controller" will turn up lots of results at ~$30 and it's hard to compete with those prices when building from scratch. You would then just need a K type thermocouple (again, eBay etc.) and a hefty relay or SSR.
If you think you do not need a PID controller to drive a 5.5kW heater element in a brewing kettle then I respectfully suggest you are are going to be disappointed. That size of element suggests a fair size of kettle (like several hundred litres). That bulk of liquid will be extremely difficult to temperature control without derivative control (rate of rise/fall). Full PID is essential and as already suggested by Chagrin, a full PID controller with SSR output, an SSR and a thermocouple (all readily available of e-bay for very little) are all you need. These controllers come with a self-tune facility which, once set for the bulk you are heating will maintain the temperature within 1degree.
The attached example illustrates a complete kit : http://www.ebay.co.uk/itm/PID-Digital-Temperature-Controller-100-240VAC-input-OMRON-relay-25A-SSR-K-Sensor-/261029631793?pt=UK_BOI_Industrial_Automation_Control_ET&hash=item3cc6941731
I already have two Auber 1/16 DIN PID controllers for my HLT (water tank) and boil kettle. Both vessels are 15.5 gallons. I use the PID for fine temperature control in the HLT but the boil kettle does not need to be held at a specific temperature. It needs to be held at a constant boil rate and that is best done with duty cycle. The user interface with the PID is via the "up", "down" and "set" buttons. I find that as the wort approaches a boil there is a need to quickly adjust the duty cycle to the element from 100% down to 70% or so. The PID is not very user friendly for this kind of quick adjustment. The reason I want to be able to use a rotary encoder instead of a potentiometer is to have a tactile feed back from the knob. Cost is not really a problem either. I am more interested in having a system that works the way I want rather than save a few (hundred) dollars. Thanks for the help.
What you want to do is very straightforward to do with Arduino. First thing to decide is whether to use a character LCD display, a graphic LCD display, or two 7-segment LED displays:
Character LCD (e.g. 16 x 2 lines): easy to interface to the Arduino. Flexible, because you can additional functionality (e.g. add a temperature sensor and display the temperature on the LCD). The only extra component you need is a potentiometer to set the contrast, and possible a series resistor for the backlight. The characters are quite small.
Graphic LCD (e.g. 128x64 pixels): Nearly as easy to interface to the Arduino as the character LCD, however you can write characters of different sizes, so you can get bigger characters.
2-digit LED display: limited to displaying just 2 digits, but the digits are larger than on character LCDs and brighter, so easier to read in poor light. If you run them at 10mA per segment then you can drive them direct from Arduino pins using series resistors. Or save pins by running them 2:1 multiplexed at 20mA.
You'll probably want to enable the watchdog timer to guard against the processor locking up and ruining your beer.
Thanks for the responses everyone. I would like to use a graphic LCD for the display. What Arduino board do you recommend? The SSR that I will be using needs a 4.5v signal to switch.
Yes to all. However, the forward voltage of 1.9V quoted for the LED display on the Sparkfun page can't be right for a blue display. The figure on the datasheet (2.99 to 3.10V) is much more plausible.
Those LED displays are designed to be driven multiplexed. You can use four NPN transistors (BC337 or another type with low saturation voltage at medium current) as digit drivers. If you are looking for the best readability at a distance, go for the green or yellow version.