• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

Stc-1000+

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
@BrianM: Sounds like you've had more problems that you should have. I've not heard of shaky connection with those before. But still. Fair point. The Arduino Nano clones are dirt cheap. I buy them (and the pro minis) by the dozen. So cheap, it is always good to have a few at hand, for various projects.
So, grab yourself a Nano and don't look back :)
 
Brewday yesterday with STC-1000+ OVBCS and STC-1000+ Dual Probe

Loving the automated pump control! Both heating and cooling relays active (2200w & 500w respectively), output set to -200 until hot break kicks in at 200*F then output is -150 with heating period interval set to 8.0 (so 500w element stays on and 2200w element cycles on for 4 seconds then off for 4 seconds)

2015-11-01-112135-66308.jpg


Nice rolling boil using only the heater relay (2200w element), output set to 100 (1000m above sea level so lower boiling temperature)

2015-11-01-113820-66309.jpg


Dual probe using 3.5mm stereo fitting (taped one is probe 2)

2015-10-30-161014-66310.jpg


Fermentation fridge (probe 2 in 100mm thermowell in lid that reads fermenter air temp, probe 1 in 9" thermowell to read liquid temp)

2015-11-01-152438-66311.jpg


Today all is happily bubbling away and temps are sitting stable 21 hours into 120 hours of step 1

Cheers,

Kal

Looks awesome!
 
Looks awesome!

Thanks, but all the credit goes to alphaomega!

I originally heard about the STC-1000+ in a dedicated Grainfather forum and bought a pre-flashed unit, but "you walk a mile - you see a mile", so then the modification frenzy began, and is still ongoing (insulation jacket is the next mod).

Ironically for my fermentation fridge I initially tried to upgrade to a KegKing programmable thermo controller but the supplier sent me an STC-1000 in a case instead. After finding out about the STC-1000+ a few weeks later I opened it up and discovered it was an A400_P so I flashed it and converted it into a dual probe (KegKing don't sell those).

This is a great project and I'm glad I discovered it even if it did have to read over 2,000 posts to get up to speed (better late than never).
 
@alphaomega I was looking through the data logging via the arduino.... since I plan on keeping it attached. Then my mind wandered.....

Now, I noticed you had the header for the display numbered and 8 was vcc, 9 heating relay and 10 cooling relay. Could I hook up a dual colour LED to these contact points to display red/blue? Common to the vcc and red to 9 and blue to 10?

I wanted this, as I have a 240V light come on when the sockets had power being delivered. Let's say a relay does something stupid and is supplying power when it shouldn't ... or is not supplying power when it should, the LED would serve as an immediate visual double check that everything is ok (or not)

This will supply me 5V. But the LEDs are like 3ish V, is this a problem? Should I chuck in a resistor on the vcc to common pin connection?

post-26873-14451232043176_thumb.jpg


post-26873-14451231909595_thumb.jpg
 
@mattrox: Regarding logging, you're on your own. The stuff I have on github is pretty much proof of concept stuff, not 'finished', but may be a good starting point to do your own hacking.
You probably could hook up LED's that way, but I think you'll need a common cathode one (common to ground). You always need a current limiting resistor for LEDs.
 
@mattrox: Regarding logging, you're on your own. The stuff I have on github is pretty much proof of concept stuff, not 'finished', but may be a good starting point to do your own hacking.
You probably could hook up LED's that way, but I think you'll need a common cathode one (common to ground). You always need a current limiting resistor for LEDs.

Yes, the logging is more of a long term thing I'll look into.

I'm really just getting my head back into basic electronics. I've forgotten most of what I used to know, and even that was pretty entry-level.

I figured I have already damaged this STC unit with that stupid 10 ohm SMD chip escapade that I might as well experiment with this one. I'll have a play and see what happens.

Oh, the eBay seller will send the correct part now. Anyone need 10 ohm SMD resistors? Lol
 
Five days in, and we've reached the next step - gentle ramp up from 68*F to 73*F over 24 hours:

2015-11-06-161449-66345.jpg


This brew is going to be our drinks for our staff Xmas party, I'll have one for you Mats!
 
alphaomega, I'm building a fermentation chamber using a window AC. Using the 1000+ with dual probe I see this working real well. Place probe 1 into the fermenter and the second probe is placed in between the first row of fins on the AC. Cooling output heats the AC temp probe, probably using self regulating heat wire. Setting SP 1 to fermentation temp and SP 2 just above freezing, 34* to keep the coils from freezing over. I.E. Coolbot controller. I can also do the same using 2 unmodified STCs and series the cool output to the AC.

Then I started thinking about the heating side.... I run a small portable heater. With the mass of the fermenter if the heat is on trying to heat the 5-10 gal the chamber could get way to hot before the first probe in fermenter gets to set point. I need a high limit of chamber temperature. Now for the question, the STC hysteresis is limited to .3-10c*. If this limit could be opened up to say 25f* I could do the following... Probe 1 and SP 1 still fermenter temp. Probe 2 in AC fins, if ac off the probe would read close to chamber temp. SP for probe 2 would be 60* with the hysteresis set to 25*. So the probe 2 would turn cooling off at 35* to keep AC coils from freezing and turn heater off at 85* to keep the chamber from over heating.

This can be done with 3 STC 1000. 2 STC 1000+ dual probe, 1 STC for cooling, one for heating. But can it be done with 1 STC 1000+ dual probe? Can the hysteresis limit be raised?

.

1a.jpg
 
Can the STC1000+ handle the amperage draw from the AC unit you're planning on using? I seems that most window AC units draw more than the STC can safely handle.
 
@alphaomega

If the look up table were in uneven increments, would that effect the calculations for the STC?

I was thinking, to make best use of the 32 data points, closer values in the 10-30 deg C range would be useful. This is something I'd like to toy with.

My thinking is that at very low temperatures the gradient of the curve is steep and linear modelling between 2 points looks a close approximation. Likewise at higher temperatures, it appears that the curve will allow data points with are further apart. The rate of change of the curve is greatest below 25 deg C in the temperature range of interest in fermentation.

I'll have a look at some curves.

It might not make much difference, given the thermistor looks to be ~+/-0.5 deg C and the model may be within this anyway.
 
alphaomega, I'm building a fermentation chamber using a window AC. Using the 1000+ with dual probe I see this working real well. Place probe 1 into the fermenter and the second probe is placed in between the first row of fins on the AC. Cooling output heats the AC temp probe, probably using self regulating heat wire. Setting SP 1 to fermentation temp and SP 2 just above freezing, 34* to keep the coils from freezing over. I.E. Coolbot controller. I can also do the same using 2 unmodified STCs and series the cool output to the AC.

Then I started thinking about the heating side.... I run a small portable heater. With the mass of the fermenter if the heat is on trying to heat the 5-10 gal the chamber could get way to hot before the first probe in fermenter gets to set point. I need a high limit of chamber temperature. Now for the question, the STC hysteresis is limited to .3-10c*. If this limit could be opened up to say 25f* I could do the following... Probe 1 and SP 1 still fermenter temp. Probe 2 in AC fins, if ac off the probe would read close to chamber temp. SP for probe 2 would be 60* with the hysteresis set to 25*. So the probe 2 would turn cooling off at 35* to keep AC coils from freezing and turn heater off at 85* to keep the chamber from over heating.

This can be done with 3 STC 1000. 2 STC 1000+ dual probe, 1 STC for cooling, one for heating. But can it be done with 1 STC 1000+ dual probe? Can the hysteresis limit be raised?

.

Firstly, yes the hysteresis limits could be changed. But, it would still be dependent on on setpoint, so you'd be limited to only 60'ish in this case.
I do think that the easy solution would be to use an extra STC-1000 for the AC to stop it from frosting up.
Look into getting a lower power heater. You do not need to raise temps quickly. In an enclosed space, a little heat goes a long way.
Also, what @stpug said, make sure the AC draws less than 15 amps.

@alphaomega

If the look up table were in uneven increments, would that effect the calculations for the STC?

I was thinking, to make best use of the 32 data points, closer values in the 10-30 deg C range would be useful. This is something I'd like to toy with.

My thinking is that at very low temperatures the gradient of the curve is steep and linear modelling between 2 points looks a close approximation. Likewise at higher temperatures, it appears that the curve will allow data points with are further apart. The rate of change of the curve is greatest below 25 deg C in the temperature range of interest in fermentation.

I'll have a look at some curves.

It might not make much difference, given the thermistor looks to be ~+/-0.5 deg C and the model may be within this anyway.

You are free to play around all you want! So, please do so if you like :)
But I really don't think there is much room for improvement here.
First off, we are really constrained by code space, so the implementation needs to be really efficient (not fast, but few instructions). This limits the freedom you have to get creative.
Secondly, I'm sure you have had a look at the characteristics of the NTC. Around 25C the curve is pretty linear and accuracy is pretty good. This already works for us. As we deviate further from 25C, yes, the curve will be more linear again, but by that point, accuracy is pretty much shot.
The 0.5C accuracy of the probe, I think is mainly manufacturing tolerances and will mostly be static error. You also have the 10k resistor for the voltage divider, that introduces a possible error.
Bottom line is, I don't think the current implementation is the bottleneck.

What might be done, is some better analysis of the lookup points around the 'knees' of the curve. There might be one or two lookup points, that could give better overall linearisation if they were 'nudged'. But these would probably just change 0.1 deg, and you'd need to make sure this improves the linearisation, and I'm not sure it would. Even this would be such a marginal improvement and probably outside the range of fermentation.

You'd probably be better off trimming the 10k resistor, and procuring a probe with low statical error if you want better accuracy.

But still, do play around! Who knows, right :) More eyes on the code never hurt!
 
Firstly, yes the hysteresis limits could be changed. But, it would still be dependent on on setpoint, so you'd be limited to only 60'ish in this case.
I do think that the easy solution would be to use an extra STC-1000 for the AC to stop it from frosting up.
Look into getting a lower power heater. You do not need to raise temps quickly. In an enclosed space, a little heat goes a long way.
Also, what @stpug said, make sure the AC draws less than 15 amps.



You are free to play around all you want! So, please do so if you like :)
But I really don't think there is much room for improvement here.
First off, we are really constrained by code space, so the implementation needs to be really efficient (not fast, but few instructions). This limits the freedom you have to get creative.
Secondly, I'm sure you have had a look at the characteristics of the NTC. Around 25C the curve is pretty linear and accuracy is pretty good. This already works for us. As we deviate further from 25C, yes, the curve will be more linear again, but by that point, accuracy is pretty much shot.
The 0.5C accuracy of the probe, I think is mainly manufacturing tolerances and will mostly be static error. You also have the 10k resistor for the voltage divider, that introduces a possible error.
Bottom line is, I don't think the current implementation is the bottleneck.

What might be done, is some better analysis of the lookup points around the 'knees' of the curve. There might be one or two lookup points, that could give better overall linearisation if they were 'nudged'. But these would probably just change 0.1 deg, and you'd need to make sure this improves the linearisation, and I'm not sure it would. Even this would be such a marginal improvement and probably outside the range of fermentation.

You'd probably be better off trimming the 10k resistor, and procuring a probe with low statical error if you want better accuracy.

But still, do play around! Who knows, right :) More eyes on the code never hurt!

The reason I asked was redfish sensors has data for 1 degree increments from -40 to 125 C.

They provide min med and max data for a 10k 3435 1% resistors. Ok they are SMD type but the specs are the same. So I used their median data. I chose the 15 and 20 degree data for the linear model then used the resistance data for 16, 17, 18 and 19 to calculate a temperature. It was 0.1 deg C out to 3 sig figs.

I had a hunch that any modelling error would be with the bounds of the expected error of the thermistor.

It seems industry standard to use 5 degree intervals. They aren't going to compromise accuracy too much are they?

Incidentally, the data for your look up table lies between the median and max of the redfish sensor data.

I'll have a close look at in between values but I don't think there will be anything ground breaking. Worth a look.

I have 7 thermistors that I can check the resistance at 0 and 100 C easily. Out of interest I want to compare to the LUT and the redfish data.

A difference of 1 deg might be the difference between yeast flocculating and might be important if fermenting at the lower end of the yeast's temperature range. But it looks like this is not too much of a concern.
 
Incidentally I found a 0.1% 10K resistor but it is $6.08 AUD ea. About 1/3 the cost of the STC in the 1st place. But without a thermistor to match, it's fairly pointless. And looking through readily available Spec Sheets I have not seen a thermistor that is rated less than 1%.
 
@mattrox : If you want to mess with this stuff, then have a look at the NTC LUT generator that I used to create the look up table (if you haven't already).
It uses an external project http://thermistor.sourceforge.net/ to calculate the Steinhart-Hart coefficients from a table of temperature-resistance data.
From this, I use my own program (lut.c) to calculate the temperature at each of the look up points and generate the lookup table (the data I used is here).

This makes it incredibly easy to use other data sets as input data.
10k beta 3435(25/85C) NTC's should have the same characteristics, regardless of being SMD or not. Note though that you need to be vary of what temperature range the beta value actually is calculated for.

I just used google to find a table of temperature-resistance data to use for the probe as input. I can't be sure this is the best dataset for the sensors for the STC-1000. But I would think it should be pretty close. And it would be hard to verify, unless you tested probably more than a handful sensors, using a well calibrated resistance meter and highly accurate thermometer, in a controlled environment (like a heated water bath).

It seems industry standard to use 5 degree intervals. They aren't going to compromise accuracy too much are they?
No, I don't think so either. I think that is pretty sane.

A difference of 1 deg might be the difference between yeast flocculating and might be important if fermenting at the lower end of the yeast's temperature range. But it looks like this is not too much of a concern.
That is why you can calibrate. You should calibrate around your working point. That is, if you typically ferment at around say 10C for a lager to 18C for an ale, then calibrate at 14C with a known good thermometer. The resulting error around 14C (say +-10C) should be negligible.
 
I have found this 10K 3977 0.75% NTC with data. $4.23 AUD on Ebay http://www.vishay.com/docs/29051/ntclesb.pdf

and this Betatherm 10K NTC 3976 NTC with data which claims 0.2 deg C between 0 and 70 Deg for $16.09 AUD
http://www.farnell.com/datasheets/69441.pdf

and this similar unit.
http://www.farnell.com/datasheets/1786656.pdf

The 1st one is more economical, but needs hacking to make suitable for brewery use, but easily do-able.

Given both brands have data, perhaps it is worthwhile to investigate, but the gains in precision do come at a cost. It's probably not worth it economically, but out of interest's sake it might be.
 
@mattrox: Well, I'm not really gonna try to talk you down if you want to try it. But personally, just calibrating is good enough for me.
The STC-1000 is what it is. It is good value for money, pretty well designed, but low cost. All the parts pretty much are to the same standard.

I guess, I just don't see this doing very much, it's still an NTC. Even with slightly better tolerances, the non-linearity does not go away. And accuracy still will be mostly dependent on calibration.
If you really want it to be as accurate as can be, I still think you'd have better luck just trying to calibrate/balance your NTC/resistor combo.

But I might be wrong.
 
@mattrox: Well, I'm not really gonna try to talk you down if you want to try it. But personally, just calibrating is good enough for me.
The STC-1000 is what it is. It is good value for money, pretty well designed, but low cost. All the parts pretty much are to the same standard.

I guess, I just don't see this doing very much, it's still an NTC. Even with slightly better tolerances, the non-linearity does not go away. And accuracy still will be mostly dependent on calibration.
If you really want it to be as accurate as can be, I still think you'd have better luck just trying to calibrate/balance your NTC/resistor combo.

But I might be wrong.

You are not wrong.

I was more looking at this as a learning exercise.

Getting the STC to this stage was fun but once it is built the fun is over. I don't want the fun to end. lol
 
You are not wrong.

I was more looking at this as a learning exercise.

Getting the STC to this stage was fun but once it is built the fun is over. I don't want the fun to end. lol

Not sure if this is of interest to you, but I made these two LUTs for the standard STC-1000 NTC while I was creating the LUTs for the Grainfather NTC:

This one is 0*C - 93*C with 3*C increments:

Code:
0.0 27340
3.0 23800
6.0 21200
9.0 18750
12.0    16600
15.0    14700
18.0    13100
21.0    11600
24.0    10400
27.0    9300.0
30.0    8300.0
33.0    7500.0
36.0    6700.0
39.0    6000.0
42.0    5450.0
45.0    4900.0
48.0    4450.0
51.0    4040.0
54.0    3660.0
57.0    3330.0
60.0    3015.0
63.0    2745.0
66.0    2505.0
69.0    2290.0
72.0    2100.0
75.0    1925.0
78.0    1770.0
81.0    1625.0
84.0    1500.0
87.0    1380.0
90.0    1280.0
93.0    1180.0

This one is 6*C to 37*C with 1*C increments:

Code:
6.0 21200
7.0 20300
8.0 19500
9.0 18750
10.0    18000
11.0    17300
12.0    16600
13.0    15900
14.0    15300
15.0    14700
16.0    14150
17.0    13600
18.0    13100
19.0    12600
20.0    12100
21.0    11600
22.0    11200
23.0    10800
24.0    10400
25.0    10000
26.0    9600.0
27.0    9300.0
28.0    9000.0
29.0    8650.0
30.0    8300.0
31.0    8050.0
32.0    7750.0
33.0    7500.0
34.0    7200.0
35.0    6950.0
36.0    6700.0
37.0    6500.0

I use the second one with my dual probe STC-1000+ on my fermenation fridge and tested it within those temps using water and a Thermopen.

Cheers,

Kal
 
Not sure if this is of interest to you, but I made these two LUTs for the standard STC-1000 NTC while I was creating the LUTs for the Grainfather NTC:

This one is 0*C - 93*C with 3*C increments:

Code:
0.0 27340
3.0 23800
6.0 21200
9.0 18750
12.0    16600
15.0    14700
18.0    13100
21.0    11600
24.0    10400
27.0    9300.0
30.0    8300.0
33.0    7500.0
36.0    6700.0
39.0    6000.0
42.0    5450.0
45.0    4900.0
48.0    4450.0
51.0    4040.0
54.0    3660.0
57.0    3330.0
60.0    3015.0
63.0    2745.0
66.0    2505.0
69.0    2290.0
72.0    2100.0
75.0    1925.0
78.0    1770.0
81.0    1625.0
84.0    1500.0
87.0    1380.0
90.0    1280.0
93.0    1180.0

This one is 6*C to 37*C with 1*C increments:

Code:
6.0 21200
7.0 20300
8.0 19500
9.0 18750
10.0    18000
11.0    17300
12.0    16600
13.0    15900
14.0    15300
15.0    14700
16.0    14150
17.0    13600
18.0    13100
19.0    12600
20.0    12100
21.0    11600
22.0    11200
23.0    10800
24.0    10400
25.0    10000
26.0    9600.0
27.0    9300.0
28.0    9000.0
29.0    8650.0
30.0    8300.0
31.0    8050.0
32.0    7750.0
33.0    7500.0
34.0    7200.0
35.0    6950.0
36.0    6700.0
37.0    6500.0

I use the second one with my dual probe STC-1000+ on my fermenation fridge and tested it within those temps using water and a Thermopen.

Cheers,

Kal

With your themistor dialed in like that you'll get very precise control.

I had a look between 0 and 5 degrees, and the error of approximation only increased by around 0.01 deg C for 5 degree increments.

I tested a handfull of ebay B(25/85) 3435 thermistors at as close to 0 as I could get. In the same temperature water, each was with 0.1K ohm. I don't have precise enough measuring equipment to draw solid conclusions or to reference the resistance to a particular temperature. But, from the small sample size, the 5 for $5 temperature probes are excellent value for money and do an awesome job.

I began collecting data to the curves for different thermistors. So far this is what I have found. The curve needs to be as flat as possible in the temperature range of interest to provide reliable results. The 3435 probe that is readily available has a curve that seems very good for the temperature range home brewers are interested in.

The other thermistor that seems readily available has a beta(25/50) of 3950. The ebay ones do not seem to quote the (25/50) part though, but it seems to be targeted at ardunio users. The adafruit branded probe has data, but it is not in a format I can readily rip out the data to look at.

I like curves.... can you tell?:fro:

thermistor.JPG
 
Just for completeness. There is zero point changing to a "more precise" 10K thermistor if the resistance value at -40 deg C is more than the 3435. This puts a bigger "bend" in the curve as it has to cross 10K at 25 degrees. This will mean less (very slightly) precision at cold crashing and lagering temperatures.

The error is more consistent with the 3435 and can almost entirely be compensated by calibration and this calibration will be good for 0 to 30 degrees, the error rounds off to 0.1 degree for all values I checked. The calibration drifts slightly with the 3976 and Adafruit type thermistor.... Not by much, but if you are a stickler the 3435 does a sterling job and the linear model introduces very little variation across all fermenting temperatures.

I didn't look at the mashing to boil range as the curves flatten right out and a linear model would probably not give very much error.

I was looking forward to playing with the lookup table code and getting back into dabbling with programming after forgetting everything I learned at Uni. But unless there is a different thermistor that is readily available and cheap.

I am glad I looked into this as I learned a hell of a lot about thermistors and temperature measurement.
 
I have uploaded this firmware to my stc and works like a charm. Is there a way of changing the script in order to support the use of the pt-100 temperature probe?
 
I have uploaded this firmware to my stc and works like a charm. Is there a way of changing the script in order to support the use of the pt-100 temperature probe?

Short answer: No.
Long answer: Pt100 and NTC 10k are completely different types of sensors. NTC is simple to interface to the MCU with just an extra resistor to form a voltage divider. All the MCU wants is an analog input signal in the 0-5v range. If you are willing to build a little extra hardware (i think a simple OP amp and a few resistors will do), that can give the MCU the 0-5v over the temperature range you are interested in, then yes, it can be done. You obviously need to change the lookup table to match your setup as well.
 
So I guess I'm sticking to the ntc probe then :)
and another thing, where in the code can i change the string of text displayed on the stc so that instead of pr0 it displays "ale"?
In other words, is it possible to change the name of the profiles?
 
So I guess I'm sticking to the ntc probe then :)
and another thing, where in the code can i change the string of text displayed on the stc so that instead of pr0 it displays "ale"?
In other words, is it possible to change the name of the profiles?

Short answer: You can't.
Long answer: The 'Pr' part is hardcoded and 0-5 is just an index. This is to save precious code space. As the firmware pretty much fills the available code space, you'd probably need to trim out some other functionality to fit this in and even then you'd need to hard code the names in. Also, as the display is 7 segment LED and only 3 digit, you are limited in what you actually can show.
I'd suggest a piece of paper with 'Pr0 - Ale, Pr1 - Lager, etc...'.
 
Guess who's got a shiny new jacket (just in time for Summer...?)?!

img_20151118_184535-66447.jpg

the insulation makes a huge difference in holding temps...
I have my stc 1000+ units controlling three of my conicals now using a dual contract relay to have them control individual cheap DC solenoid valves at the same time they turn on my ac driven chiller pump. It really does work damn well... especially the one i used the cheap discharge hose to make my chilling jacket out of..
PS sorry for the mess... I desperately need to reorganize and clean my brew room.

IMG_20151201_145305813[1].jpg


IMG_20151024_120616208[1].jpg


IMG_20151115_184014148[1].jpg
 
the insulation makes a huge difference in holding temps...
I have my stc 1000+ units controlling three of my conicals now using a dual contract relay to have them control individual cheap DC solenoid valves at the same time they turn on my ac driven chiller pump. It really does work damn well... especially the one i used the cheap discharge hose to make my chilling jacket out of..
PS sorry for the mess... I desperately need to reorganize and clean my brew room.

That's an "F"-ing awesome setup! I plan on upgrading to conicals once we move into a bigger place midway through next year, at the moment my fermentation chamber is in our dining room, next to the kegerator, so physically don't have the space right now, but you my friend are living the dream :)
 
Back
Top