• 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.
Best way to take care of those swings is to keep your hysteresis setting as low as you're comfortable keeping it. This will assure that it doesn't swing far from the setpoint before kicking in, which in turn will keep in from swinging well past when it hits the setpoint.

This of course is an exercise in balancing frequency vs longevity of your equipment. However, your freezer shouldn't be kicking on every 15 mins. It should easily take 20-30 minutes, if not 1-2 hrs, before it would kick on, if you're measuring the temp of a multi-gallon batch correctly. A thermowell is of course the best solution.

Disney, you make a great point though. If at all possible, and this is really pushing it on space --- add 1 more variable/setting that essentially allows you to define just how far from the setpoint to have the freezer cut off. So, let's say you need to go down 1F to get to setpoint. You set your swing cutoff variable to, say, 0.4. This means, after lowering the temp 0.6 degrees, the compressor cuts off, and the swing itself takes care of the rest.

It's not that complicated, but it's all about space on the chip to store that routine.
 
But, I think a 1*F total swing that averages around your set point is plenty stable for fermenting. I doubt pro breweries have much better control.

1F isnt that bad no, you do just have to realize the STC probe itself has a +-1C accuracy on top of that.

If you properly calibrate your probe it will help you offset this by setting your temperatures properly higher or lower..if your probe is at the extreme and +1C off your fermentation is now swinging 3F too high not 1F...
 
1F isnt that bad no, you do just have to realize the STC probe itself has a +-1C accuracy on top of that.

If you properly calibrate your probe it will help you offset this by setting your temperatures properly higher or lower..if your probe is at the extreme and +1C off your fermentation is now swinging 3F too high not 1F...

This is correct, but still wrong. Accuracy, yes but resolution is higher, and you can (and really should) calibrate around your working point. The fluctuations in temperature are easy to measure, and the difference is still correct. I can live with being 1 or 2F off actual absolute temperature, if I still can keep THAT temperature somewhat steady.
After all this is fermenting beer...
 
This is awesome alpha. Thank you for all of your efforts. I'm not familiar with the Arduino Uno, and don't really know any programming, but it sounds like you've made this simple enough for me to figure out.

Been looking into the Arduino Uno and found one for $15.00USD shipped... but it may not be the latest R3 version. Will R2 version work for this?

There's also some knockoffs that claim the same functionality for cheap, such as the "Funduino Uno." Just want to make sure I get the right thing here, but I also don't want to spend $30 on something I won't likely ever use again.

Thanks!
 
This is awesome alpha. Thank you for all of your efforts. I'm not familiar with the Arduino Uno, and don't really know any programming, but it sounds like you've made this simple enough for me to figure out.

Been looking into the Arduino Uno and found one for $15.00USD shipped... but it may not be the latest R3 version. Will R2 version work for this?

There's also some knockoffs that claim the same functionality for cheap, such as the "Funduino Uno." Just want to make sure I get the right thing here, but I also don't want to spend $30 on something I won't likely ever use again.

Thanks!

First off don't buy the knockoff. Second, I think the R2 should work, as long as it has the same pin configuaration. You need access to pinholes 3, 8, 9, 5V, and GND.
 
After looking back at alpha's photos on github I see he's wired to the original Arduino Uno. It appears the pin configuration hasn't changed, so I imaging newer versions will work just fine.

Thanks for the quick response nickmv.
 
I'm using an R3 from a starter combo kit off Amazon and it of course works fine

Sent from my Nexus 5 using Home Brew mobile app
 
First off don't buy the knockoff. Second, I think the R2 should work, as long as it has the same pin configuaration. You need access to pinholes 3, 8, 9, 5V, and GND.

Why not a knockoff? The Arduino isnt some complex piece of circuitry, its a Microcontroller broken out to pins...

I bought an Uno off DX.com a chinese site, because lets be honest that's where pretty much all Uno's are being made anyways.

Ive had it for well over a year now with no issues.
 
I have had some good experiences as well with cheap knockoffs. I've only bought a couple of pro mini knockoffs though, but they have been absolutely fine.
It is a bit of a gamble, but I think the odds are in your favor.
 
Thanks Mat for sharing this project.
I have been controlling my mash with a custom written node.js app on a raspberry pi.
I was wondering how much space you had left in the stc-1000+ memory.
Would there be enough space to support using the serial out as a Data logger? And perhaps take serial input to set parameters?
 
Thanks Mat for sharing this project.
I have been controlling my mash with a custom written node.js app on a raspberry pi.
I was wondering how much space you had left in the stc-1000+ memory.
Would there be enough space to support using the serial out as a Data logger? And perhaps take serial input to set parameters?

Thanks!
No, that will almost certainly not be possible with the current firmware. I am pretty close to the limit as is, and the only pins available to possibly use for communication are the ones broken out to the programming header. Unfortunately those are not connected to EUSART, so I think any communication would need to be bitbanged and there is no way that will anywhere near fit.
 
Why not a knockoff? The Arduino isnt some complex piece of circuitry, its a Microcontroller broken out to pins...
.

I said don't because he said he could get a legit one for 15 bucks. Seems like a pretty good deal.

But then he goes on later and references 30 bucks, so maybe he made a typo. I just figure at 15 bucks, don't take the risk. If we were talking many more dollars, then perhaps.
 
I dont have an original.... :)

dx.com eh?

Its good for almost everything, but be warned it takes FOREVER in shipping...so order everything you want...expect a minimum of 3 weeks to reach the West Coast US then more from there. But they have tons of crap there, i also bought a Wireless IP Security cam from them for $60 bucks which is working pretty damn well.

That said for Arduino's you can get one from Amazon called a Sainsmart Uno for $18 and eligible for prime if you have it...which is only like 3-4 dollars more than on DX at this point...when i first bought mine many months ago there were no offshoot brands here in the US only in China..
 
It occurred to me that you could repurpose and STC1000 to do just about any single job that required one input and two outputs. Connect a hall effect flowmeter up to where the thermistor connects to and program the pic to watch the flow rate and alarm if it goes too high or too low. Instead of an alarm light/buzzer hooked to one of the relay outputs, you could hook a solenoid valve up and use the flow meter to automatically measure water into your HLT.

Hmmm.. There has got to me a lot of other uses besides temperature control..
 
It occurred to me that you could repurpose and STC1000 to do just about any single job that required one input and two outputs. Connect a hall effect flowmeter up to where the thermistor connects to and program the pic to watch the flow rate and alarm if it goes too high or too low. Instead of an alarm light/buzzer hooked to one of the relay outputs, you could hook a solenoid valve up and use the flow meter to automatically measure water into your HLT.

Hmmm.. There has got to me a lot of other uses besides temperature control..

You probably could do a lot of other things yes, but you'd need to remember that the thermistor is not directly connected to a pin on the MCU, it is part of a voltage divider. You probably could connect other things, but you might have to make some minor modifications, or still use the A/D.
If you are decent at embedded programming and electronics, there are a lot of possibilities though.
 
I said don't because he said he could get a legit one for 15 bucks. Seems like a pretty good deal.

But then he goes on later and references 30 bucks, so maybe he made a typo. I just figure at 15 bucks, don't take the risk. If we were talking many more dollars, then perhaps.

Not a typo. Most places I looked, the latest R3 version's are close to $30. The one I found for $15 was and older R2 version... but turns out it's just a knockoff they are trying to pass off as the real deal.

Glad to see some people are having success with the cheaper brands. I like the idea of keeping this a cheap project, so I might take my chances.
 
You probably could do a lot of other things yes, but you'd need to remember that the thermistor is not directly connected to a pin on the MCU, it is part of a voltage divider. You probably could connect other things, but you might have to make some minor modifications, or still use the A/D.
If you are decent at embedded programming and electronics, there are a lot of possibilities though.


I thought about that - so you have a voltage divider with the thermistor as one of the resistors, and a fixed value resistor on the other side. The ends are connects to VDD and GND while the middle in between the two resistors is connected to AN2 pin on the PIC. So you would either have a pullup resistor or a pulldown resistor on the pin of the PIC - no a really big deal... but I'm making a lot of assumptions... How does the circuit really look? I'll have to get a voltmeter out and check my spare.

The reason I brought this up is I'd really like to have a flow alarm on my RIMS tube and I bet this would work.

(My training is in Electronics, my career was centered on industrial process control and CNC Maintenance, so a little programming came with all that, but I'm no expert..)
 
Yes that is correct. I think that there's a 10k resistor to GND, and the thermistor to Vcc.
So, you'd have a pulldown on the pin.
I guess it could be done, but you'll need to read up on the datasheet for the PIC and get your hands dirty coding :)
 
Is there anything wrong with changing the pin assignments in the initial #DEFINE lines to use physically closer-together pins? I'd like to make a quick-connect cable and I could use fewer header pins that way.
 
It occurred to me that you could repurpose and STC1000 to do just about any single job that required one input and two outputs. Connect a hall effect flowmeter up to where the thermistor connects to and program the pic to watch the flow rate and alarm if it goes too high or too low. Instead of an alarm light/buzzer hooked to one of the relay outputs, you could hook a solenoid valve up and use the flow meter to automatically measure water into your HLT.

Hmmm.. There has got to me a lot of other uses besides temperature control..


At that point id just use the arduino to do all that.


Sent from my iPhone using Home Brew
 
get your hands dirty coding :)

I'm working on it... ;)

SDCC and GPUTILS loaded on my Linux partition. Did you use Code::Blocks or another IDE?

I've also got MPLAB loaded on the windoze partition but MPLAB is a hard piece of software for my non-programmer mind to understand...
 
Is there anything wrong with changing the pin assignments in the initial #DEFINE lines to use physically closer-together pins? I'd like to make a quick-connect cable and I could use fewer header pins that way.

You probably could. But I don't think I'll change

I'm working on it... ;)

SDCC and GPUTILS loaded on my Linux partition. Did you use Code::Blocks or another IDE?

I've also got MPLAB loaded on the windoze partition but MPLAB is a hard piece of software for my non-programmer mind to understand...

Make sure to get most recent versions of SDCC and GPUTILS, the ones included in your distribution might be too old.
I use eclipse, but I think you could use just about any editor.
 
You probably could. But I don't think I'll change



Make sure to get most recent versions of SDCC and GPUTILS, the ones included in your distribution might be too old.
I use eclipse, but I think you could use just about any editor.

I built both direct from source - they're the latest :)
 
And another update.

Ok, so true ramping between setpoints is just not possible. But I think I have been able to add an approximative ramping solution.
It adds up to 7 intermediate steps by dividing the duration of a step into 8 pieces and interpolate between the setpoints (much like how the interpolation of A/D lookup values work) when the current duration reaches one of those points.
The ramping should work 'good enough' no matter what the duration between the setpoints is, but will work best when when duration is a multiple of 8 (i.e. 8, 16, 24... hours)
For example, say that sp0 is 4.0 degrees (excuse me here, I'm thinking in C but it really doesn't matter) and sp1 is 8.0 degrees and dh0 is 24 hours. If ramping is enabled, then starting the profile, sp will be set to 4.0, after 3 hours (since 24/8=3), sp will be set to 4.5. After 6 hours 5.0 and so on.

The implication of this is that if you want to use pseudo ramping, but still still keep a constant temperature over some part of the profile, you'd need an extra setpoint that has the same value (i.e it really will try to ramp between two points with the same value).

Even though it is not true ramping, I think this will help with gradually lowering temperatures for lagering for example.

I have added a new config value under the 'set' menu, 'rP' (ramping), that can enable (set to 1) or disable (set to 0) the use of ramping. Ramping will be disabled by default.

I have just tested the code on my computer + I left my STC running ramping over night, and it seems to work, but it not really all that well tested yet.

I've pushed the change to the work branch if anyone is interested in trying it out.

Edit: I'll add a picture to maybe better illustrate how it works.

dfhkzc.png


This shows a profile where sp0 = 4.0, dh0 = 24, sp1 = 8.0, dh1 = 24, sp2 = 8.0, dh2 = 4, sp3 = 4.0
The blue dots indicate where sp is updated (each hour).
 
I *FINALLY* got the STC & Arduino, quickly tested both to ensure no DOA, and will flash tonight to start testing, but nickmv and atoughram are way ahead of me. :mug:
 
Alpha, I haven't had a chance to play with the STC since you added button acceleration. I just dropped the latest work commit on one.

The button acceleration is awesome. Perfect.

The ramping sounds great too. I should have time this afternoon to get 5 gallons of water into the dorm fridge and start a three day program with a few ramping tests in there.

Thanks again for all the hard work. The STC+ is pretty sweet.
 
Some questions for you Alpha:

1) If you are running a program, what happens if you go into the setup for that program (say Pr0) and look at the settings, but don't change them? It doesn't restart the program or anything like that does it?

2) Same scenario as above, but you make changes to Pr0. Does it restart the program or just incorporate the changes if it hasn't made it to the step you changed yet? What if you change the step it is currently on?

3) Regarding ramping, it can only change the set point once per hour correct? So a step from 60 to 70 in 1 hour wouldn't increment every 7.5 minutes, you'd just get a regular step from 60 to 70 on the hour?

4) If I ramp from 60 to 70 in 2 hours, I should get a set point change to 65 after one hour, right?

Edited to add: I guess the question in #4 is, how does it handle small increments not divisible by 8? I'm just curious, I do realize that people will probably not be ramping in increments of less than 12 or 24 hours when actually fermenting something.
 
Back
Top