Category Archives: Temperature Control

Posts about home brewery temperature control

Mini-BIAB Electric Turkey Fryer Mod–Part 2

It’s been a while since I started modding out the Electric Turkey Fryer to build out an Electric Brew In A Bag System. Between work, brewing for competitions and several other activities I finally got to spend the last couple of weeks finishing up the research to get the system up and running.

My major goal for this project was to use as much of the existing components from the Turkey Fryer, yet increase the precision of the temperature monitoring and control of the heating element to make the system as accurate as possible to handle a multi-step mash profile required for brewing good beer. To do this I needed to figure out what kind of thermistor the existing heating element had and build out the appropriate circuits to monitor the temperature and drive the existing relay and heating element.

Cracking the Thermistor

There are a lot of links on the internet for the Fryer unit, but all of them are mostly basic usage documentation about the unit, I couldn’t find anything that told me what type of thermistor was being used by the system. So I had to reverse engineer the unit so I could get some type of idea what I was dealing with.

For those of you who are new to electronics or sensors, there are two types of thermistors generally available, Positive Temperature Coefficient (PTC) and Negative Temperature Coefficient (NTC). You can identify the type of thermistor by it’s resistance curve as you heat it up, if the resistance rises with heat, it’s a PTC thermistor, if the resistance drops with heat, you have a NTC thermistor. So I hooked up my multi-meter and held my SMD hot air gun to the probe and watched as the resistance dropped with the rise in temperature. Great! that meant I had a NTC thermistor, next I needed to come up with the proper coefficients so I could calculate the temperature based on the resistance.

Now this is easy to find if you know the manufacturer and model of the thermistor, but for me that information could not be found, so I had to come up with another way to get them. This involved hooking up the thermistor to my Netduino along with a second temperature probe that I knew how to read and then record the resistance values and the temperature values so I could calculate the coefficients using the tools from the Thermistor Library on sourceforge.net.

Once I had a set coefficients, I used the code over at Arduino Playground as a basis to read the thermistor using the analog input of the Netduino and repeated the process of capturing resistance and temperature values until I got a set of coefficients that gave me temperature readings that matched my other probe.

My circuit ended up being a voltage divider using two resistors in series with the thermistor and taking the analog reading from the middle of the ladder. The resistance I ended up using for the second half of the ladder was 1.47M ohms. This needed to be as close to the 1.5M ohms that the thermistor reads at 25C/75F which is considered the base resistance for the thermistor. This way both resistances should provide equal values at the base temperature which is needed by the Stein-Hart quadratic polynomial equation used to calculate the temperature at a given resistance.

You can see the schematic for the circuit later in this article. Look for the Fryer Connector in the lower left of the schematic.

Driving the Relay

Next I needed to drive the relay which in turn would switch power to the heating element. The existing Fryer Control Unit used the 12V AC from the transformer and converted it to 12V DC to switch the relay on and off. I figured this would be perfect for me as well.

One thing you can’t easily do is use voltages greater than 3.3V with the Netduino controller, so I need to use a transistor to switch the 12V DC on and off to power the relay. This way I could safely drive the relay with a higher voltage without worrying about the Netduino.

I also needed to convert the 12V AC to 12V DC so I didn’t have to have yet another power source to drive the relay. Well this was pretty simple, all I needed was a bridge rectifier built from 4 diodes, a couple of capacitors to filter out the resulting wave and then run it through a power regulator to get a nice 12V DC output.

After a little research I came up with the circuit below on the right:

Main_Board_Schematic

As you can see I apply the 12V AC signal to the bridge created by the diodes and then filter the resulting signal through a 100uF polarized capacitor and then with a .33uF capacitor before it connects to the the LM7812 voltage regulator. The output is then filtered with a .1uF capacitor along with a second 100uF polarized capacitor. The .33uF and .1uF capacitance values come straight from the LM7812 datasheet. The other two came from some rough calculations to ensure I had enough voltage stored to smooth out the voltage dips between the peaks in the modified output created by the bridge rectifier. I also cheated a little and pulled the values of the capacitors from the original control board when it looked like my calculations of 400uF was going to be a little too much.

The connection to the relay is then taken from the positive and negative leads of the filtered output. I then use a diode to prevent a reverse voltage on the circuit when the relay shuts down and the NPN transistor is used as a switch to allow the voltage to flow to the 12V relay when the Netduino raises Pin 9 high.

I also put a switch in series between Pin 9 of the Netduino and the transistor to provide a safety measure to make sure the system does not power up the heating element unintentionally. This was needed since the pins on the Netduino are all raised high when the unit powers up. Without it the relay could get power when the Netduino is powered on causing a dry fire burning the element out.

Connecting the Old to the New

With the circuit to drive the  relay and heating element and the circuit to read the thermistor complete, I needed a simple way that I could run the old connections to the Netduino.

Temp_Controller_Connections

You might remember the picture above from my last post. Here you can clearly see that I needed to take 3 short leads and extend them to about 6 feet where the Netduino would be. To accomplish this I spliced the connections to the end of a Cat6 Ethernet cable. I used the following connections:

  1. 12V AC connections – Blue and Blue/White
  2. 12V DC connections – Orange and Orange/White
  3. Thermistor connections – Green and Green/White

The Ethernet cable is then connected to the breadboard via a RJ45 wall jack that connects to a series of screw terminals on the breadboard. You can see these connections in the schematic above in the lower left of the schematic labeled as Fryer Connector.

Here is a picture of the entire control circuit laid out on a breadboard connected to the Fryer:

WP_000089

You can see the RJ45 Connector coming into the screw terminals at the top along with the connections to the bridge rectifier and the return from the AC/DC Convertor on the right.

That’s about it for interfacing with the old Fryer Control Unit, In my next post I’ll discuss the Human Interface connections for the Temperature Controller as well as the LCD Display.

Till next time, stay sanitized and keep an eye on those fermentation temps and I’ll catch you for a pint around the keg.

Jim Lavin – Otaku Brewer

Mini-BIAB Electric Turkey Fryer Mod–Part 1

So, in my last couple of posts I was doing some research around coming up with the perfect Electric Counter-Top Brewing System. I found what I thought would be a perfect Mini-Brew-in-a-Bag Electric System with the Cajun Injector Electric Fryer, however the Temperature Controller that comes with it could not maintain the temperature accuracy nor the range needed to brew the variety of beers I wanted to make.

So as any industrious DIYer would do, I took apart the Temperature Controller to see if I could modify it. There are six screws in the back of the unit along with two under the face plate that hold the housing together, once removed the housing can be snapped apart to get to the components inside.

Temp_Controller

As you can see in the diagram, there are several components that can be reused to drive the heating element from an external controller, all I needed to do is figure out what connects to what and build out a schematic that I can use to build a controller interface that I can drive with a Microcontroller.

The Safety Switch acts as a master switch for the incoming power, If the unit is not seated in the Cajun Injector slots for it, no power will flow to the unit. Now this is a pretty nice feature that cuts power to the heating element should you pull it out of the pot and set it to the side. You also don’t have to worry about dry firing the unit if it is not seated in the pot. However, you still have the dry fire issue when the unit is properly seated in the pot.

The Unit also contains what looks to be a GFCI Breaker that is wired to a probe that runs along side the heating element.

There is also a 12VDC Relay that controls turning the heating element on and off based on the control signal from the control panel.

Finally to power the control panel there is what looks like a reduction transformer that should provide the 12V power needed to drive the relay.

The control panel has an LCD mounted on it and what looks like a microcontroller or Programmable Logic Array which is the brains of the Temperature Controller. From a quick inspection it really doesn’t look like it contains  anything of use.

There were three connections from the control panel to the components in the housing. These look to be an input voltage, the Thermistor input connections and the Relay control outputs. I should be able to extend these to an external controller and drive the heating element.

Temp_Controller_Connections

I also performed a little research by hooking up the Thermistor to my Multi-meter and measured the resistance at several temperatures. What I got was a pretty broad range of resistance; 3.58 M ohms at 40 degrees F down to 80 K ohms at a rolling boil. Now without knowing the actual part number of the Thermistor I really didn’t think I could come up with a temperature curve that I could use to figure out the temperature based on the resistance. Luckily after a little searching on the Internets I came up with a program that would generate a set of temperature coefficients based on a couple of readings at known temperatures. With this, I plan on reverse engineering the temperature coefficients of the Thermistor so I can come up with a resistance curve that I can use to determine the temperature by using the Thermistor in a voltage divider and then calculating the temperature value based on a known voltage.

So my next steps are to do a little more poking around the components and determine the transformer’s output voltage is and start coming up with a plan to build out a controller board that I can use with a Netduino to drive the unit.

So stay sanitized and keep an eye on those fermentation temps and I’ll catch you for a pint around the keg.

Jim Lavin – Otaku Brewer

The DIY Brewery Temperature Logger Project

One of the most important things in brewing beer is temperature control. Matter of fact, one of my fellow club members is very fond of saying, “Come back and talk to me about brewing great beer after you have temperature control in place, because If you don’t have temperature control, there is no way you can brew great beer.” And I have to agree he is right, temperature control plays an important part of the entire brewing process. Not only do you need temperature control during the mashing process, you also need it during the fermentation, lagering and storage processes.

As part of building my Electric Brew System I’m going to need to control the temperature of my mash and I want to be able to program a mash profile and let the system notify me of significant steps in the process. To manage temperature you have to monitor it, so I started out building my controller with baby steps.

First I wrote the simple things like the control interface and services and then I broke the various parts of the automation control into separate circuits that could be built and tested by themselves.

I started off with the temperature monitoring circuit. What I wanted to be able to do, was set the interval that the microcontroller would read the temperature sensor and then log that to a file on a SD Card that I could then use to display a graph of the temperature over time. The DIY Brewery Temperature Logger project is the result of that first phase of development. It is a Netduino Plus Project that provides a web-based temperature monitor.

This project has several parts:

CodingSmackdown.ControlInterface – A jQuery based website that is hosted on the Netduino Plus’ SD Card and served using the NeonMika.NETMF.Webserver. It provides a self updating view of the temperature history as well as a settings tab that allows you to change the logger’s settings as well as the Netduino’s Network settings.

CodingSmackdown.Services – A C# .NETMF Library that contains the various threading libraries to handle the NETBIOS Name Resolution, NTP Time Client and Temperature Logging. It also includes classes to handle accessing the various GPIO and Analog pins on the Netduino and other various base and support classes used by the project.

CodingSmackdown.TemperatureMonitor – A C# .NETMF Application that is responsible for loading up the various services at start time and provides classes that are used by the NeonMika.NETMF.Webserver to process jQuery requests sent by the web client.

JSONLib – A C# .NETMF Library used to format the various responses in JSON format for use by the web client. The original code was written by Wouter Huysentruit and can be found over at http://code.tinyclr.com

NeonMika.NETMF.Webserver – A C# .NETMF Library that provides the entire web server for the project. The original code was taken from the NeonMika.NETMF.Webserver project here on codeplex over at http://neonmikawebserver.codeplex.com This version was paired down specifically for this project and to meet the memory constraints of the Netduino platform. For the latest version please reference the original project.

Below are pictures of the user interface and schematics of the temperature sensor circuit, so you can build it yourself.

The main page retrieved by navigating to http://netduinoplus/index.html

TempLogger_Index_Page

The Settings Tab that can be used to change the Temperature Logger’s behavior and network settings

TempLogger_Settings

The breadboard layout of the temperature sensor circuit

TempLogger_breadboard

The schematic of the temperature sensor circuit

TempLogger_schematic

Images of the prototype Netduino Shield that holds the temperature sensor circuitry

TempLogger_Shield1

 

TempLogger_shield2

You can find the source code and updates to the project at http://diybrewerytemplogger.codeplex.com/

Till next time, stay sanitized and keep an eye on those fermentation temps and I’ll catch you for a pint around the keg.

Jim Lavin – Otaku Brewer