DIY temp controller


 

mike66

New member
Has anyone built the controller that Bob Hruska showed in the (Has anyone tried to build a DIY Guru/Stoker) post.I have looked for an email to ask him but cant find one.
I tried to add the link but must not be smart enough to do it.
 
Mike,

I looked at that project and it looks doable. If anyone did this I'd like to hear about it as well. I have both a Stoker and a Guru so it's more of interest than anything else.

I had an idea to make a real dummed down version of an ATC. That is, without using a microprocessor and only linear circuits. Here's a kit for $25 that uses PWM to control the speed of a DC motor:

http://www.electronickits.com/kit/complete/motor/ck1400.htm

The speed control is done by varying the reference voltage on the second 555 timer. If this voltage was proportional to a difference in temp of a set point and an actual temp then this could work. The speed controlling circuit uses a POT and a transistor for the reference voltage but I think an op amp configured as a diff amp whose inputs are a meat probe in a voltage divider and a POT voltage divider on the other end would do the trick. The POT would set your desired temp. Maybe another POT could help control gain on it to ramp and dampen when you need to.

It's been 20 years since I played in the EE world - I've been in software since. I realize how easy this is to do with a controller but I'm thinking about how to do something simple for cheap. The kit itself is cheap so all you need is a DC blower and a probe.

Maybe I'll play around with this using a guru blower and a cheap probe.

-rob
 
Originally posted by RobM (YankeeRob):
The speed control is done by varying the reference voltage on the second 555 timer. If this voltage was proportional to a difference in temp of a set point and an actual temp then this could work. ... The POT would set your desired temp. Maybe another POT could help control gain on it to ramp and dampen when you need to.
Unless the latter means an adaptive filter, I don't think such a unit would perform well.

The issue is one of oscillation and lack of hysteresis. You turn on the fan, the flame blows sky high, you immediately turn down the fan, the fire slows and temp drops. You then increase the fan RPM, the flame goes sky high, you turn it off, and the oscillation keeps going. So you need to filter these. How you filter then becomes important. Both Guru and Stoker have adaptive filters to adjust to the characteristics of your smoker/blower. Some combinations will have fast response, others slow. So ideally, you would have a system where the filter coefficients could be adjusted.

Can you do all of this using analog components? Probably but a digital system makes it much easier.

I would have liked to be able to adjust the stoker filter parameters externally. Using PC software, one can do a lot more than the algorithm hardwired in the box. Stoker also uses an On/Off system rather than proportional control. In that respect, your solution is superior to it.

Another rusty electrical engineer
icon_smile.gif
,
 
The issue is one of oscillation and lack of hysteresis. You turn on the fan, the flame blows sky high, you immediately turn down the fan, the fire slows and temp drops.


LOL! I had this same problem in college in a industrial electronics class. Me and another guy designed a motor control circuit that had solor panels on a plane whose angle was controlled by a DC motor and 2 photo optical cells placed on the plane. Start it up and it would easily find the sun then it would sit there and keep on adjusting itself or oscillate, if you prefer, infinitely. I think we adjusted the gain to control it.

When it comes down to it, this circuit is not much different. My thought was that you could start controlling the gain manually once you hit a sweet spot.

The guru unit toggles on and off just like this. I've not used or monitored my stoker unit that much but from what I've read it can learn your pit after a few smokes though I'm not sure how it does this after controlling multiple pits. It's only been used to program against pretty much.

I agree that using a programmable device would be easier to implement. I've seen controllers out there with analog inputs and pulse outputs that could easily PWM a DC fan in the order of $100 or less but when you start talking that kind of money you can get a pit minder from Guru for around the same cost.

It's all fun though.

BTW - I ordered the motor control kit as a back up. Needed something I could strap on as a last resort. I've had both units fail in the field before during hard rains and they were covered as best i could. One of the smokers requires an auto drafter and the other is a WSM which doesn't really need a ATC in the first place. We finished our last contest with all meats cooked manually on the WSM and got a 5th in brisket and 6th in pork in a KCBS contest in Long Island NY.

If you are ever in the Northeast come check us out: Green Mountain Smokeshack out of Vermont.

-rob
 
icon_smile.gif


Thanks for the invitation. One of my other hobbies is photography: both landscape and wildlife. I would love to come to Vermont one day and shoot the scenery and visit you all. I trust fall colors is the best time?
 
This is very interesting to me. I understand a bit about hysteresis, gain and what not but I'd like to hear more about how it works in this application. I've dealt with it in DC motor control over mechanical opposition, where mirror positioning is paramount (missile control) but I'd love to hear more about how this is controlled when you only have control of the fan feeding the fire and rely on snuffing the fire to cool it. I'm not a programmer, just into the electronic, and somewhat, mechanical end of it.
icon_smile.gif


Bill
 
Originally posted by Bill Hays:
This is very interesting to me. I understand a bit about hysteresis, gain and what not but I'd like to hear more about how it works in this application. I've dealt with it in DC motor control over mechanical opposition, where mirror positioning is paramount (missile control) but I'd love to hear more about how this is controlled when you only have control of the fan feeding the fire and rely on snuffing the fire to cool it. I'm not a programmer, just into the electronic, and somewhat, mechanical end of it.
icon_smile.gif


Bill
I can try to expand a bit.

First the basics for the benefit of others. The system here is "closed loop" meaning there is a feedback loop from output to input. The output is temp of the fire, measured, and fed to the input, the fan speed. As with the microphone and speakers being too close causing a whistle in a PA system, we can get into the same tight loop causing oscillations. The oscillations cause temperature variations which is undesirable.

The solutions are twofold:

1. Watch the loop gain. This reduces the oscillation rate as reduction of loop gain also reduces the chances for positive feedback. The down side may be that the system will then recover slowly. If for example the temp is way below target, you want to ramp up to maximum RPM quickly as not doing so, may cause the fire to die or as take too long to recover.

2. Deploy a filter. This is used in PA systems for example where the oscillation frequency is filtered, reducing its gain below 1. By doing so, you can still have very high gain in other frequencies (i.e. the person talking) without causing whistling noise.

Problem with both of these solutions is that this system is anything but “linear.” Unlike a motor actuator/servo, we cannot predict how much blower power will increase the fire temp. Charcoal is an unpredictable animal. It is possible that when the blower comes on, we only have a tiny bit of lit, requiring a ton of air to get going again. Or having it be fully lit but smoldering. Put the physics of the smoker on top of this with air leaks, vent size, etc. and you have something that simply will not lend itself to a linear prediction. The system can go from being linear, to being non-linear to totally random (gust of wind coming in). So no set system will work optimally in all cases.

The ideal solution therefore has fully adaption filter coefficients and gain. When the system starts, it starts with a default set of parameters and the adjusts them. For example, if the blower gets us to temp at 10% RPM, then we know the gain has to be low. Likewise, if the smoker temp is highly stable, then we don’t need to filter variations much. On the other hand, if it takes swings from 10% to 50% just to get the fire temp to move appreciably, then you need to increase gain. And if as soon as you stop the blower, the temp drops 4 degrees, then you need to ignore such drops as to avoid oscillations due to that.
You can see much of this in action with the stoker. You see it get in oscillation (filter coefficients wrong for that instant), you see it waiting a bit before turning on the fan or off (hysteresis/filter).
 
Most of the work I've done involving motor control and embedded systems was in college many years ago so I'm winging it on the linear circuit. I'm a business programmer for the most part. That said, I think the mods on that circuit could work but it wouldn't be an automated system - you'd have to control the gain/oscillation manually. I think there's quite a delay in time when the circuit wanted more heat and the feedback could deliver it. The circuit uses PWM to more precisely control the blower speed so it's not a hard on/off that the guru/stoker systems use. This is what makes me think that controlling the gain at the sweet spot with full fuel loaded would work. It would be a fun experiment. I did order the circuit - just need to come up with the mod.

-rob
 
Nice explanation Amir. That's kind of what I thought. One thing about building the manual (or linear/analog) circuit is that you would learn this pretty quick it seemed. I wonder how much attention you would need to give it though. Maybe basically let the fan tear on it until you get to 225 then turn on the control loop at a low gain. Open the smoker, then manually intervene once again. Perhaps a 3 way switch on the fan:

1 = on
2 = off
3 = feedback loop

If you can then automate what you are doing manually you could codefy that and have a stoker/guru unit - but then again you're talking microprocessor of sorts.

rob
 
Yeh, I could be convinced that you could somehow make this work. There is more to do though. You have to get the appropriate temp probe. Depending on the design of that probe, you need to have a way or calibrating it/making it linear. I am sure there is a circuit out there which would do that.
 
Originally posted by Amir:
icon_smile.gif


Thanks for the invitation. One of my other hobbies is photography: both landscape and wildlife. I would love to come to Vermont one day and shoot the scenery and visit you all. I trust fall colors is the best time?

You will appreciate this then:
http://www.hazecam.net/burlington.html

It's a web cam that sits atop a tall UVM building at the top of Main Street facing west. I'm about 3 miles north of the point you see on the far right.

Fall is the time for foliage and this town gets swamped when it's peak.

I am trying to organize a KCBS contest in southern Vermont for fall '09 near Rutland (ski areas) Hopefully it will be declared a state championship and thus a qualifier. I'll let everyone know what becomes of this.

-rob
 
Wow, what setting! Can't wait to come and see it one day in person....

Best of luck in getting KCBS interest.
 
Originally posted by RobM (YankeeRob):
Most of the work I've done involving motor control and embedded systems was in college many years ago so I'm winging it on the linear circuit. I'm a business programmer for the most part. That said, I think the mods on that circuit could work but it wouldn't be an automated system - you'd have to control the gain/oscillation manually. I think there's quite a delay in time when the circuit wanted more heat and the feedback could deliver it. The circuit uses PWM to more precisely control the blower speed so it's not a hard on/off that the guru/stoker systems use. This is what makes me think that controlling the gain at the sweet spot with full fuel loaded would work. It would be a fun experiment. I did order the circuit - just need to come up with the mod.

-rob

I've enjoyed your all's conversation; this is neat stuff. I have been working on a DIY controller for a couple of years that uses either a fan or a servo damper. Mine uses a PID loop, so it doesn't suffer from the oscillation that you guys are talking about. Unfortunately, mine requires a computer to control it, to handle the complex algorithms and user interface. This isn't a commericial interest I have, I'm just playing. But I'd be interested in comments if you guys have time to look:
http://www.geekwithfire.com

Keep the geek talk going, I really enjoy it!
 
Josh,

I'll check out your stuff. Seems from your posts here and on SMF you know a lot about probes and thermistors. I've been playing with a regular old kitchen probe like the wireless king you can pick up at WalMart. Do you have any idea on how to get a more linear response from these things? Is there an IC that can do this? It would seem so because these things are pretty at WalMart/Lowes.

-rob
 
Originally posted by RobM (YankeeRob):
Josh,

I'll check out your stuff. Seems from your posts here and on SMF you know a lot about probes and thermistors. I've been playing with a regular old kitchen probe like the wireless king you can pick up at WalMart. Do you have any idea on how to get a more linear response from these things? Is there an IC that can do this? It would seem so because these things are pretty at WalMart/Lowes.

-rob

I totally gave up on trying to calibrate them based off of the non-linear coefficients. Since I already required the horsepower of a computer to run the program, I just create a xref database record for each probe. I have a program that captures the probe reading (collecting voltage drop) and converts that to the actual known temperature; thus sayeth the expensive thermocouple probes. I store the measurement every 5 degrees throughout the range of temperatures I plan on reading. During the cook, the program calculates the actual temperature by looking up the xref numbers that are smaller and larger than the measured number. The final temperature is then an average somewhere between.

While the response times of thermistors are much slower than TC's, by using this method, the accuracy for each probe is significanly increased.
 
Your calibration method gave me an idea for the linear circuit:

Use 2 thermometers! The first measures actual and is not in the feedback loop - simply an external therm to measure pit temp. You then take the probe that is in the feedback loop and wrap it up in foil along with the other probe.

The cheap pit minder device would then work like this:

Get your pit started - minion method with all fuel loaded.

Put your probes in and mount the blower.

Turn the blower switch ON and get it to the temp you are cooking at.

Here's how the circuit would work: 2 knobs that set gain and a set point plus a 3 way switch that turns on the blower as I mentioned (1=on,2=off, 3=feedback)

OK so what the circuit is doing is monitoring a difference in temp between what you set it at and what it needs to be. Basically you are manually bringing it up to your sweet spot then turning the feedback loop on. Adjust the gain to medium and the set point until the fan turns off. Listen for a 50/50 duty cycle and keep adjusting for that. The PWM should take up some slack.

You'd still be monitoring manually but the setup should run itself once in the sweet spot with a few tweaks on the gain to control oscillation.

BTW - I got that $25 PWM motor control circuit today and am going to play with it in it's default setup with a Guru fan and 12v supply. After that I need to come up with the diff amp feedback motor control op-amp circuit. (Gotta go through my old text books)

Should be a fun little project. Maybe I'll get some ribs this weekend to play around with.

-rob
 
How do you know you have reached your target the temp at the start? Use another thermometer?

In other words, I can't tell by eye that I am at 230, nor is my smoker thermometer accurate enough to tell me that.
 
You have to trust the first therm for the real temp. Cheap kitchen and wireless temps will work for this. I can control a WSM or BGE with just a single pit therm that is accurate and manually adjusting the vents. Same thing but a tad bit smarter with auto drafting.

-rob
 

 

Back
Top